packages feed

vulkan-api 0.1.0.1 → 1.1.0.0

raw patch · 692 files changed

+75554/−99369 lines, 692 files

This diff is very large; some files are shown as “too large to diff”. Download the raw patch for the complete diff.

Files

include/vulkan/vk_platform.h view
@@ -89,32 +89,4 @@ } // extern "C" #endif // __cplusplus -// Platform-specific headers required by platform window system extensions.-// These are enabled prior to #including "vulkan.h". The same enable then-// controls inclusion of the extension interfaces in vulkan.h.--#ifdef VK_USE_PLATFORM_ANDROID_KHR-#include <android/native_window.h>-#endif--#ifdef VK_USE_PLATFORM_MIR_KHR-#include <mir_toolkit/client_types.h>-#endif--#ifdef VK_USE_PLATFORM_WAYLAND_KHR-#include <wayland-client.h>-#endif--#ifdef VK_USE_PLATFORM_WIN32_KHR-#include <windows.h>-#endif--#ifdef VK_USE_PLATFORM_XLIB_KHR-#include <X11/Xlib.h>-#endif--#ifdef VK_USE_PLATFORM_XCB_KHR-#include <xcb/xcb.h>-#endif- #endif
include/vulkan/vulkan.h view
@@ -1,7047 +1,79 @@ #ifndef VULKAN_H_ #define VULKAN_H_ 1 -#ifdef __cplusplus-extern "C" {-#endif--/*-** Copyright (c) 2015-2018 The Khronos Group 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.-*/--/*-** This header is generated from the Khronos Vulkan XML API Registry.-**-*/---#define VK_VERSION_1_0 1-#include "vulkan/vk_platform.h"--#define VK_MAKE_VERSION(major, minor, patch) \-    (((major) << 22) | ((minor) << 12) | (patch))--// DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead.-//#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0--// Vulkan 1.0 version number-#define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)// Patch version should always be set to 0--#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)-#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)-#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)-// Version of this file-#define VK_HEADER_VERSION 69---#define VK_NULL_HANDLE 0-        ---#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;---#if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)-#if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)-        #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;-#else-        #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;-#endif-#endif-        ---typedef uint32_t VkFlags;-typedef uint32_t VkBool32;-typedef uint64_t VkDeviceSize;-typedef uint32_t VkSampleMask;--VK_DEFINE_HANDLE(VkInstance)-VK_DEFINE_HANDLE(VkPhysicalDevice)-VK_DEFINE_HANDLE(VkDevice)-VK_DEFINE_HANDLE(VkQueue)-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)-VK_DEFINE_HANDLE(VkCommandBuffer)-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)--#define VK_LOD_CLAMP_NONE                 1000.0f-#define VK_REMAINING_MIP_LEVELS           (~0U)-#define VK_REMAINING_ARRAY_LAYERS         (~0U)-#define VK_WHOLE_SIZE                     (~0ULL)-#define VK_ATTACHMENT_UNUSED              (~0U)-#define VK_TRUE                           1-#define VK_FALSE                          0-#define VK_QUEUE_FAMILY_IGNORED           (~0U)-#define VK_SUBPASS_EXTERNAL               (~0U)-#define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE  256-#define VK_UUID_SIZE                      16-#define VK_MAX_MEMORY_TYPES               32-#define VK_MAX_MEMORY_HEAPS               16-#define VK_MAX_EXTENSION_NAME_SIZE        256-#define VK_MAX_DESCRIPTION_SIZE           256---typedef enum VkPipelineCacheHeaderVersion {-    VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,-    VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,-    VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,-    VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE = (VK_PIPELINE_CACHE_HEADER_VERSION_ONE - VK_PIPELINE_CACHE_HEADER_VERSION_ONE + 1),-    VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF-} VkPipelineCacheHeaderVersion;--typedef enum VkResult {-    VK_SUCCESS = 0,-    VK_NOT_READY = 1,-    VK_TIMEOUT = 2,-    VK_EVENT_SET = 3,-    VK_EVENT_RESET = 4,-    VK_INCOMPLETE = 5,-    VK_ERROR_OUT_OF_HOST_MEMORY = -1,-    VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,-    VK_ERROR_INITIALIZATION_FAILED = -3,-    VK_ERROR_DEVICE_LOST = -4,-    VK_ERROR_MEMORY_MAP_FAILED = -5,-    VK_ERROR_LAYER_NOT_PRESENT = -6,-    VK_ERROR_EXTENSION_NOT_PRESENT = -7,-    VK_ERROR_FEATURE_NOT_PRESENT = -8,-    VK_ERROR_INCOMPATIBLE_DRIVER = -9,-    VK_ERROR_TOO_MANY_OBJECTS = -10,-    VK_ERROR_FORMAT_NOT_SUPPORTED = -11,-    VK_ERROR_FRAGMENTED_POOL = -12,-    VK_ERROR_SURFACE_LOST_KHR = -1000000000,-    VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,-    VK_SUBOPTIMAL_KHR = 1000001003,-    VK_ERROR_OUT_OF_DATE_KHR = -1000001004,-    VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,-    VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,-    VK_ERROR_INVALID_SHADER_NV = -1000012000,-    VK_ERROR_OUT_OF_POOL_MEMORY_KHR = -1000069000,-    VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = -1000072003,-    VK_ERROR_NOT_PERMITTED_EXT = -1000174001,-    VK_RESULT_BEGIN_RANGE = VK_ERROR_FRAGMENTED_POOL,-    VK_RESULT_END_RANGE = VK_INCOMPLETE,-    VK_RESULT_RANGE_SIZE = (VK_INCOMPLETE - VK_ERROR_FRAGMENTED_POOL + 1),-    VK_RESULT_MAX_ENUM = 0x7FFFFFFF-} VkResult;--typedef enum VkStructureType {-    VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,-    VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,-    VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,-    VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,-    VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,-    VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,-    VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,-    VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,-    VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,-    VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,-    VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,-    VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,-    VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,-    VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,-    VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,-    VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,-    VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,-    VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,-    VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,-    VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,-    VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,-    VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,-    VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,-    VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,-    VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,-    VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,-    VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,-    VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,-    VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,-    VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,-    VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,-    VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,-    VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,-    VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,-    VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,-    VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,-    VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,-    VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,-    VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,-    VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,-    VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,-    VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,-    VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,-    VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,-    VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,-    VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,-    VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,-    VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,-    VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,-    VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,-    VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,-    VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,-    VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,-    VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,-    VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,-    VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,-    VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,-    VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR = 1000007000,-    VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,-    VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,-    VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,-    VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,-    VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,-    VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,-    VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,-    VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,-    VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,-    VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,-    VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,-    VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHX = 1000053000,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHX = 1000053001,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHX = 1000053002,-    VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,-    VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,-    VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,-    VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,-    VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = 1000059000,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = 1000059001,-    VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = 1000059002,-    VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = 1000059003,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = 1000059004,-    VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = 1000059005,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = 1000059006,-    VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = 1000059007,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = 1000059008,-    VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHX = 1000060000,-    VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHX = 1000060003,-    VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHX = 1000060004,-    VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHX = 1000060005,-    VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHX = 1000060006,-    VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHX = 1000060010,-    VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHX = 1000060013,-    VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHX = 1000060014,-    VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHX = 1000060007,-    VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHX = 1000060008,-    VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHX = 1000060009,-    VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHX = 1000060011,-    VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHX = 1000060012,-    VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,-    VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHX = 1000070000,-    VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHX = 1000070001,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = 1000071000,-    VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = 1000071001,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = 1000071002,-    VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = 1000071003,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = 1000071004,-    VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = 1000072000,-    VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = 1000072001,-    VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = 1000072002,-    VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,-    VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,-    VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,-    VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,-    VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,-    VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,-    VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,-    VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = 1000076000,-    VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = 1000076001,-    VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = 1000077000,-    VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,-    VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,-    VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,-    VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,-    VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,-    VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = 1000083000,-    VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,-    VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = 1000085000,-    VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX = 1000086000,-    VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX = 1000086001,-    VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX = 1000086002,-    VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX = 1000086003,-    VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX = 1000086004,-    VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX = 1000086005,-    VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,-    VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,-    VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,-    VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,-    VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,-    VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,-    VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,-    VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,-    VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,-    VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,-    VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,-    VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = 1000112000,-    VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = 1000112001,-    VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = 1000113000,-    VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,-    VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,-    VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,-    VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,-    VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = 1000117000,-    VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = 1000117001,-    VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = 1000117002,-    VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = 1000117003,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,-    VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,-    VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = 1000120000,-    VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,-    VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,-    VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = 1000127000,-    VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = 1000127001,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000,-    VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001,-    VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,-    VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,-    VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,-    VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,-    VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146000,-    VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146001,-    VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146002,-    VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = 1000146003,-    VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = 1000146004,-    VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = 1000147000,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,-    VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,-    VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,-    VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,-    VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = 1000156000,-    VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = 1000156001,-    VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = 1000156002,-    VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = 1000156003,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = 1000156004,-    VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = 1000156005,-    VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = 1000157000,-    VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = 1000157001,-    VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,-    VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,-    VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,-    VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,-    VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,-    VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO,-    VK_STRUCTURE_TYPE_END_RANGE = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO,-    VK_STRUCTURE_TYPE_RANGE_SIZE = (VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1),-    VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF-} VkStructureType;--typedef enum VkSystemAllocationScope {-    VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,-    VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,-    VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,-    VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,-    VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,-    VK_SYSTEM_ALLOCATION_SCOPE_BEGIN_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_COMMAND,-    VK_SYSTEM_ALLOCATION_SCOPE_END_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE,-    VK_SYSTEM_ALLOCATION_SCOPE_RANGE_SIZE = (VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE - VK_SYSTEM_ALLOCATION_SCOPE_COMMAND + 1),-    VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF-} VkSystemAllocationScope;--typedef enum VkInternalAllocationType {-    VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,-    VK_INTERNAL_ALLOCATION_TYPE_BEGIN_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE,-    VK_INTERNAL_ALLOCATION_TYPE_END_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE,-    VK_INTERNAL_ALLOCATION_TYPE_RANGE_SIZE = (VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE - VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE + 1),-    VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF-} VkInternalAllocationType;--typedef enum VkFormat {-    VK_FORMAT_UNDEFINED = 0,-    VK_FORMAT_R4G4_UNORM_PACK8 = 1,-    VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,-    VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,-    VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,-    VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,-    VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,-    VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,-    VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,-    VK_FORMAT_R8_UNORM = 9,-    VK_FORMAT_R8_SNORM = 10,-    VK_FORMAT_R8_USCALED = 11,-    VK_FORMAT_R8_SSCALED = 12,-    VK_FORMAT_R8_UINT = 13,-    VK_FORMAT_R8_SINT = 14,-    VK_FORMAT_R8_SRGB = 15,-    VK_FORMAT_R8G8_UNORM = 16,-    VK_FORMAT_R8G8_SNORM = 17,-    VK_FORMAT_R8G8_USCALED = 18,-    VK_FORMAT_R8G8_SSCALED = 19,-    VK_FORMAT_R8G8_UINT = 20,-    VK_FORMAT_R8G8_SINT = 21,-    VK_FORMAT_R8G8_SRGB = 22,-    VK_FORMAT_R8G8B8_UNORM = 23,-    VK_FORMAT_R8G8B8_SNORM = 24,-    VK_FORMAT_R8G8B8_USCALED = 25,-    VK_FORMAT_R8G8B8_SSCALED = 26,-    VK_FORMAT_R8G8B8_UINT = 27,-    VK_FORMAT_R8G8B8_SINT = 28,-    VK_FORMAT_R8G8B8_SRGB = 29,-    VK_FORMAT_B8G8R8_UNORM = 30,-    VK_FORMAT_B8G8R8_SNORM = 31,-    VK_FORMAT_B8G8R8_USCALED = 32,-    VK_FORMAT_B8G8R8_SSCALED = 33,-    VK_FORMAT_B8G8R8_UINT = 34,-    VK_FORMAT_B8G8R8_SINT = 35,-    VK_FORMAT_B8G8R8_SRGB = 36,-    VK_FORMAT_R8G8B8A8_UNORM = 37,-    VK_FORMAT_R8G8B8A8_SNORM = 38,-    VK_FORMAT_R8G8B8A8_USCALED = 39,-    VK_FORMAT_R8G8B8A8_SSCALED = 40,-    VK_FORMAT_R8G8B8A8_UINT = 41,-    VK_FORMAT_R8G8B8A8_SINT = 42,-    VK_FORMAT_R8G8B8A8_SRGB = 43,-    VK_FORMAT_B8G8R8A8_UNORM = 44,-    VK_FORMAT_B8G8R8A8_SNORM = 45,-    VK_FORMAT_B8G8R8A8_USCALED = 46,-    VK_FORMAT_B8G8R8A8_SSCALED = 47,-    VK_FORMAT_B8G8R8A8_UINT = 48,-    VK_FORMAT_B8G8R8A8_SINT = 49,-    VK_FORMAT_B8G8R8A8_SRGB = 50,-    VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,-    VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,-    VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,-    VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,-    VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,-    VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,-    VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,-    VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,-    VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,-    VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,-    VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,-    VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,-    VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,-    VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,-    VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,-    VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,-    VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,-    VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,-    VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,-    VK_FORMAT_R16_UNORM = 70,-    VK_FORMAT_R16_SNORM = 71,-    VK_FORMAT_R16_USCALED = 72,-    VK_FORMAT_R16_SSCALED = 73,-    VK_FORMAT_R16_UINT = 74,-    VK_FORMAT_R16_SINT = 75,-    VK_FORMAT_R16_SFLOAT = 76,-    VK_FORMAT_R16G16_UNORM = 77,-    VK_FORMAT_R16G16_SNORM = 78,-    VK_FORMAT_R16G16_USCALED = 79,-    VK_FORMAT_R16G16_SSCALED = 80,-    VK_FORMAT_R16G16_UINT = 81,-    VK_FORMAT_R16G16_SINT = 82,-    VK_FORMAT_R16G16_SFLOAT = 83,-    VK_FORMAT_R16G16B16_UNORM = 84,-    VK_FORMAT_R16G16B16_SNORM = 85,-    VK_FORMAT_R16G16B16_USCALED = 86,-    VK_FORMAT_R16G16B16_SSCALED = 87,-    VK_FORMAT_R16G16B16_UINT = 88,-    VK_FORMAT_R16G16B16_SINT = 89,-    VK_FORMAT_R16G16B16_SFLOAT = 90,-    VK_FORMAT_R16G16B16A16_UNORM = 91,-    VK_FORMAT_R16G16B16A16_SNORM = 92,-    VK_FORMAT_R16G16B16A16_USCALED = 93,-    VK_FORMAT_R16G16B16A16_SSCALED = 94,-    VK_FORMAT_R16G16B16A16_UINT = 95,-    VK_FORMAT_R16G16B16A16_SINT = 96,-    VK_FORMAT_R16G16B16A16_SFLOAT = 97,-    VK_FORMAT_R32_UINT = 98,-    VK_FORMAT_R32_SINT = 99,-    VK_FORMAT_R32_SFLOAT = 100,-    VK_FORMAT_R32G32_UINT = 101,-    VK_FORMAT_R32G32_SINT = 102,-    VK_FORMAT_R32G32_SFLOAT = 103,-    VK_FORMAT_R32G32B32_UINT = 104,-    VK_FORMAT_R32G32B32_SINT = 105,-    VK_FORMAT_R32G32B32_SFLOAT = 106,-    VK_FORMAT_R32G32B32A32_UINT = 107,-    VK_FORMAT_R32G32B32A32_SINT = 108,-    VK_FORMAT_R32G32B32A32_SFLOAT = 109,-    VK_FORMAT_R64_UINT = 110,-    VK_FORMAT_R64_SINT = 111,-    VK_FORMAT_R64_SFLOAT = 112,-    VK_FORMAT_R64G64_UINT = 113,-    VK_FORMAT_R64G64_SINT = 114,-    VK_FORMAT_R64G64_SFLOAT = 115,-    VK_FORMAT_R64G64B64_UINT = 116,-    VK_FORMAT_R64G64B64_SINT = 117,-    VK_FORMAT_R64G64B64_SFLOAT = 118,-    VK_FORMAT_R64G64B64A64_UINT = 119,-    VK_FORMAT_R64G64B64A64_SINT = 120,-    VK_FORMAT_R64G64B64A64_SFLOAT = 121,-    VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,-    VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,-    VK_FORMAT_D16_UNORM = 124,-    VK_FORMAT_X8_D24_UNORM_PACK32 = 125,-    VK_FORMAT_D32_SFLOAT = 126,-    VK_FORMAT_S8_UINT = 127,-    VK_FORMAT_D16_UNORM_S8_UINT = 128,-    VK_FORMAT_D24_UNORM_S8_UINT = 129,-    VK_FORMAT_D32_SFLOAT_S8_UINT = 130,-    VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,-    VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,-    VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,-    VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,-    VK_FORMAT_BC2_UNORM_BLOCK = 135,-    VK_FORMAT_BC2_SRGB_BLOCK = 136,-    VK_FORMAT_BC3_UNORM_BLOCK = 137,-    VK_FORMAT_BC3_SRGB_BLOCK = 138,-    VK_FORMAT_BC4_UNORM_BLOCK = 139,-    VK_FORMAT_BC4_SNORM_BLOCK = 140,-    VK_FORMAT_BC5_UNORM_BLOCK = 141,-    VK_FORMAT_BC5_SNORM_BLOCK = 142,-    VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,-    VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,-    VK_FORMAT_BC7_UNORM_BLOCK = 145,-    VK_FORMAT_BC7_SRGB_BLOCK = 146,-    VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,-    VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,-    VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,-    VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,-    VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,-    VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,-    VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,-    VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,-    VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,-    VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,-    VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,-    VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,-    VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,-    VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,-    VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,-    VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,-    VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,-    VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,-    VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,-    VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,-    VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,-    VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,-    VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,-    VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,-    VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,-    VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,-    VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,-    VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,-    VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,-    VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,-    VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,-    VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,-    VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,-    VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,-    VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,-    VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,-    VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,-    VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,-    VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,-    VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,-    VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,-    VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,-    VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,-    VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,-    VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,-    VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,-    VK_FORMAT_G8B8G8R8_422_UNORM_KHR = 1000156000,-    VK_FORMAT_B8G8R8G8_422_UNORM_KHR = 1000156001,-    VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = 1000156002,-    VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = 1000156003,-    VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = 1000156004,-    VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = 1000156005,-    VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = 1000156006,-    VK_FORMAT_R10X6_UNORM_PACK16_KHR = 1000156007,-    VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = 1000156008,-    VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = 1000156009,-    VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = 1000156010,-    VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = 1000156011,-    VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = 1000156012,-    VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = 1000156013,-    VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = 1000156014,-    VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = 1000156015,-    VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = 1000156016,-    VK_FORMAT_R12X4_UNORM_PACK16_KHR = 1000156017,-    VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = 1000156018,-    VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = 1000156019,-    VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = 1000156020,-    VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = 1000156021,-    VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = 1000156022,-    VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = 1000156023,-    VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = 1000156024,-    VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = 1000156025,-    VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = 1000156026,-    VK_FORMAT_G16B16G16R16_422_UNORM_KHR = 1000156027,-    VK_FORMAT_B16G16R16G16_422_UNORM_KHR = 1000156028,-    VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = 1000156029,-    VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = 1000156030,-    VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = 1000156031,-    VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = 1000156032,-    VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = 1000156033,-    VK_FORMAT_BEGIN_RANGE = VK_FORMAT_UNDEFINED,-    VK_FORMAT_END_RANGE = VK_FORMAT_ASTC_12x12_SRGB_BLOCK,-    VK_FORMAT_RANGE_SIZE = (VK_FORMAT_ASTC_12x12_SRGB_BLOCK - VK_FORMAT_UNDEFINED + 1),-    VK_FORMAT_MAX_ENUM = 0x7FFFFFFF-} VkFormat;--typedef enum VkImageType {-    VK_IMAGE_TYPE_1D = 0,-    VK_IMAGE_TYPE_2D = 1,-    VK_IMAGE_TYPE_3D = 2,-    VK_IMAGE_TYPE_BEGIN_RANGE = VK_IMAGE_TYPE_1D,-    VK_IMAGE_TYPE_END_RANGE = VK_IMAGE_TYPE_3D,-    VK_IMAGE_TYPE_RANGE_SIZE = (VK_IMAGE_TYPE_3D - VK_IMAGE_TYPE_1D + 1),-    VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF-} VkImageType;--typedef enum VkImageTiling {-    VK_IMAGE_TILING_OPTIMAL = 0,-    VK_IMAGE_TILING_LINEAR = 1,-    VK_IMAGE_TILING_BEGIN_RANGE = VK_IMAGE_TILING_OPTIMAL,-    VK_IMAGE_TILING_END_RANGE = VK_IMAGE_TILING_LINEAR,-    VK_IMAGE_TILING_RANGE_SIZE = (VK_IMAGE_TILING_LINEAR - VK_IMAGE_TILING_OPTIMAL + 1),-    VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF-} VkImageTiling;--typedef enum VkPhysicalDeviceType {-    VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,-    VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,-    VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,-    VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,-    VK_PHYSICAL_DEVICE_TYPE_CPU = 4,-    VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE = VK_PHYSICAL_DEVICE_TYPE_OTHER,-    VK_PHYSICAL_DEVICE_TYPE_END_RANGE = VK_PHYSICAL_DEVICE_TYPE_CPU,-    VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE = (VK_PHYSICAL_DEVICE_TYPE_CPU - VK_PHYSICAL_DEVICE_TYPE_OTHER + 1),-    VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF-} VkPhysicalDeviceType;--typedef enum VkQueryType {-    VK_QUERY_TYPE_OCCLUSION = 0,-    VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,-    VK_QUERY_TYPE_TIMESTAMP = 2,-    VK_QUERY_TYPE_BEGIN_RANGE = VK_QUERY_TYPE_OCCLUSION,-    VK_QUERY_TYPE_END_RANGE = VK_QUERY_TYPE_TIMESTAMP,-    VK_QUERY_TYPE_RANGE_SIZE = (VK_QUERY_TYPE_TIMESTAMP - VK_QUERY_TYPE_OCCLUSION + 1),-    VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF-} VkQueryType;--typedef enum VkSharingMode {-    VK_SHARING_MODE_EXCLUSIVE = 0,-    VK_SHARING_MODE_CONCURRENT = 1,-    VK_SHARING_MODE_BEGIN_RANGE = VK_SHARING_MODE_EXCLUSIVE,-    VK_SHARING_MODE_END_RANGE = VK_SHARING_MODE_CONCURRENT,-    VK_SHARING_MODE_RANGE_SIZE = (VK_SHARING_MODE_CONCURRENT - VK_SHARING_MODE_EXCLUSIVE + 1),-    VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF-} VkSharingMode;--typedef enum VkImageLayout {-    VK_IMAGE_LAYOUT_UNDEFINED = 0,-    VK_IMAGE_LAYOUT_GENERAL = 1,-    VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,-    VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,-    VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,-    VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,-    VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,-    VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,-    VK_IMAGE_LAYOUT_PREINITIALIZED = 8,-    VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,-    VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,-    VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000117000,-    VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000117001,-    VK_IMAGE_LAYOUT_BEGIN_RANGE = VK_IMAGE_LAYOUT_UNDEFINED,-    VK_IMAGE_LAYOUT_END_RANGE = VK_IMAGE_LAYOUT_PREINITIALIZED,-    VK_IMAGE_LAYOUT_RANGE_SIZE = (VK_IMAGE_LAYOUT_PREINITIALIZED - VK_IMAGE_LAYOUT_UNDEFINED + 1),-    VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF-} VkImageLayout;--typedef enum VkImageViewType {-    VK_IMAGE_VIEW_TYPE_1D = 0,-    VK_IMAGE_VIEW_TYPE_2D = 1,-    VK_IMAGE_VIEW_TYPE_3D = 2,-    VK_IMAGE_VIEW_TYPE_CUBE = 3,-    VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,-    VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,-    VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,-    VK_IMAGE_VIEW_TYPE_BEGIN_RANGE = VK_IMAGE_VIEW_TYPE_1D,-    VK_IMAGE_VIEW_TYPE_END_RANGE = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY,-    VK_IMAGE_VIEW_TYPE_RANGE_SIZE = (VK_IMAGE_VIEW_TYPE_CUBE_ARRAY - VK_IMAGE_VIEW_TYPE_1D + 1),-    VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF-} VkImageViewType;--typedef enum VkComponentSwizzle {-    VK_COMPONENT_SWIZZLE_IDENTITY = 0,-    VK_COMPONENT_SWIZZLE_ZERO = 1,-    VK_COMPONENT_SWIZZLE_ONE = 2,-    VK_COMPONENT_SWIZZLE_R = 3,-    VK_COMPONENT_SWIZZLE_G = 4,-    VK_COMPONENT_SWIZZLE_B = 5,-    VK_COMPONENT_SWIZZLE_A = 6,-    VK_COMPONENT_SWIZZLE_BEGIN_RANGE = VK_COMPONENT_SWIZZLE_IDENTITY,-    VK_COMPONENT_SWIZZLE_END_RANGE = VK_COMPONENT_SWIZZLE_A,-    VK_COMPONENT_SWIZZLE_RANGE_SIZE = (VK_COMPONENT_SWIZZLE_A - VK_COMPONENT_SWIZZLE_IDENTITY + 1),-    VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF-} VkComponentSwizzle;--typedef enum VkVertexInputRate {-    VK_VERTEX_INPUT_RATE_VERTEX = 0,-    VK_VERTEX_INPUT_RATE_INSTANCE = 1,-    VK_VERTEX_INPUT_RATE_BEGIN_RANGE = VK_VERTEX_INPUT_RATE_VERTEX,-    VK_VERTEX_INPUT_RATE_END_RANGE = VK_VERTEX_INPUT_RATE_INSTANCE,-    VK_VERTEX_INPUT_RATE_RANGE_SIZE = (VK_VERTEX_INPUT_RATE_INSTANCE - VK_VERTEX_INPUT_RATE_VERTEX + 1),-    VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF-} VkVertexInputRate;--typedef enum VkPrimitiveTopology {-    VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,-    VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,-    VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,-    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,-    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,-    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,-    VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,-    VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,-    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,-    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,-    VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,-    VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE = VK_PRIMITIVE_TOPOLOGY_POINT_LIST,-    VK_PRIMITIVE_TOPOLOGY_END_RANGE = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST,-    VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE = (VK_PRIMITIVE_TOPOLOGY_PATCH_LIST - VK_PRIMITIVE_TOPOLOGY_POINT_LIST + 1),-    VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF-} VkPrimitiveTopology;--typedef enum VkPolygonMode {-    VK_POLYGON_MODE_FILL = 0,-    VK_POLYGON_MODE_LINE = 1,-    VK_POLYGON_MODE_POINT = 2,-    VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,-    VK_POLYGON_MODE_BEGIN_RANGE = VK_POLYGON_MODE_FILL,-    VK_POLYGON_MODE_END_RANGE = VK_POLYGON_MODE_POINT,-    VK_POLYGON_MODE_RANGE_SIZE = (VK_POLYGON_MODE_POINT - VK_POLYGON_MODE_FILL + 1),-    VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF-} VkPolygonMode;--typedef enum VkFrontFace {-    VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,-    VK_FRONT_FACE_CLOCKWISE = 1,-    VK_FRONT_FACE_BEGIN_RANGE = VK_FRONT_FACE_COUNTER_CLOCKWISE,-    VK_FRONT_FACE_END_RANGE = VK_FRONT_FACE_CLOCKWISE,-    VK_FRONT_FACE_RANGE_SIZE = (VK_FRONT_FACE_CLOCKWISE - VK_FRONT_FACE_COUNTER_CLOCKWISE + 1),-    VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF-} VkFrontFace;--typedef enum VkCompareOp {-    VK_COMPARE_OP_NEVER = 0,-    VK_COMPARE_OP_LESS = 1,-    VK_COMPARE_OP_EQUAL = 2,-    VK_COMPARE_OP_LESS_OR_EQUAL = 3,-    VK_COMPARE_OP_GREATER = 4,-    VK_COMPARE_OP_NOT_EQUAL = 5,-    VK_COMPARE_OP_GREATER_OR_EQUAL = 6,-    VK_COMPARE_OP_ALWAYS = 7,-    VK_COMPARE_OP_BEGIN_RANGE = VK_COMPARE_OP_NEVER,-    VK_COMPARE_OP_END_RANGE = VK_COMPARE_OP_ALWAYS,-    VK_COMPARE_OP_RANGE_SIZE = (VK_COMPARE_OP_ALWAYS - VK_COMPARE_OP_NEVER + 1),-    VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF-} VkCompareOp;--typedef enum VkStencilOp {-    VK_STENCIL_OP_KEEP = 0,-    VK_STENCIL_OP_ZERO = 1,-    VK_STENCIL_OP_REPLACE = 2,-    VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,-    VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,-    VK_STENCIL_OP_INVERT = 5,-    VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,-    VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,-    VK_STENCIL_OP_BEGIN_RANGE = VK_STENCIL_OP_KEEP,-    VK_STENCIL_OP_END_RANGE = VK_STENCIL_OP_DECREMENT_AND_WRAP,-    VK_STENCIL_OP_RANGE_SIZE = (VK_STENCIL_OP_DECREMENT_AND_WRAP - VK_STENCIL_OP_KEEP + 1),-    VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF-} VkStencilOp;--typedef enum VkLogicOp {-    VK_LOGIC_OP_CLEAR = 0,-    VK_LOGIC_OP_AND = 1,-    VK_LOGIC_OP_AND_REVERSE = 2,-    VK_LOGIC_OP_COPY = 3,-    VK_LOGIC_OP_AND_INVERTED = 4,-    VK_LOGIC_OP_NO_OP = 5,-    VK_LOGIC_OP_XOR = 6,-    VK_LOGIC_OP_OR = 7,-    VK_LOGIC_OP_NOR = 8,-    VK_LOGIC_OP_EQUIVALENT = 9,-    VK_LOGIC_OP_INVERT = 10,-    VK_LOGIC_OP_OR_REVERSE = 11,-    VK_LOGIC_OP_COPY_INVERTED = 12,-    VK_LOGIC_OP_OR_INVERTED = 13,-    VK_LOGIC_OP_NAND = 14,-    VK_LOGIC_OP_SET = 15,-    VK_LOGIC_OP_BEGIN_RANGE = VK_LOGIC_OP_CLEAR,-    VK_LOGIC_OP_END_RANGE = VK_LOGIC_OP_SET,-    VK_LOGIC_OP_RANGE_SIZE = (VK_LOGIC_OP_SET - VK_LOGIC_OP_CLEAR + 1),-    VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF-} VkLogicOp;--typedef enum VkBlendFactor {-    VK_BLEND_FACTOR_ZERO = 0,-    VK_BLEND_FACTOR_ONE = 1,-    VK_BLEND_FACTOR_SRC_COLOR = 2,-    VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,-    VK_BLEND_FACTOR_DST_COLOR = 4,-    VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,-    VK_BLEND_FACTOR_SRC_ALPHA = 6,-    VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,-    VK_BLEND_FACTOR_DST_ALPHA = 8,-    VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,-    VK_BLEND_FACTOR_CONSTANT_COLOR = 10,-    VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,-    VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,-    VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,-    VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,-    VK_BLEND_FACTOR_SRC1_COLOR = 15,-    VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,-    VK_BLEND_FACTOR_SRC1_ALPHA = 17,-    VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,-    VK_BLEND_FACTOR_BEGIN_RANGE = VK_BLEND_FACTOR_ZERO,-    VK_BLEND_FACTOR_END_RANGE = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA,-    VK_BLEND_FACTOR_RANGE_SIZE = (VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA - VK_BLEND_FACTOR_ZERO + 1),-    VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF-} VkBlendFactor;--typedef enum VkBlendOp {-    VK_BLEND_OP_ADD = 0,-    VK_BLEND_OP_SUBTRACT = 1,-    VK_BLEND_OP_REVERSE_SUBTRACT = 2,-    VK_BLEND_OP_MIN = 3,-    VK_BLEND_OP_MAX = 4,-    VK_BLEND_OP_ZERO_EXT = 1000148000,-    VK_BLEND_OP_SRC_EXT = 1000148001,-    VK_BLEND_OP_DST_EXT = 1000148002,-    VK_BLEND_OP_SRC_OVER_EXT = 1000148003,-    VK_BLEND_OP_DST_OVER_EXT = 1000148004,-    VK_BLEND_OP_SRC_IN_EXT = 1000148005,-    VK_BLEND_OP_DST_IN_EXT = 1000148006,-    VK_BLEND_OP_SRC_OUT_EXT = 1000148007,-    VK_BLEND_OP_DST_OUT_EXT = 1000148008,-    VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,-    VK_BLEND_OP_DST_ATOP_EXT = 1000148010,-    VK_BLEND_OP_XOR_EXT = 1000148011,-    VK_BLEND_OP_MULTIPLY_EXT = 1000148012,-    VK_BLEND_OP_SCREEN_EXT = 1000148013,-    VK_BLEND_OP_OVERLAY_EXT = 1000148014,-    VK_BLEND_OP_DARKEN_EXT = 1000148015,-    VK_BLEND_OP_LIGHTEN_EXT = 1000148016,-    VK_BLEND_OP_COLORDODGE_EXT = 1000148017,-    VK_BLEND_OP_COLORBURN_EXT = 1000148018,-    VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,-    VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,-    VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,-    VK_BLEND_OP_EXCLUSION_EXT = 1000148022,-    VK_BLEND_OP_INVERT_EXT = 1000148023,-    VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,-    VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,-    VK_BLEND_OP_LINEARBURN_EXT = 1000148026,-    VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,-    VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,-    VK_BLEND_OP_PINLIGHT_EXT = 1000148029,-    VK_BLEND_OP_HARDMIX_EXT = 1000148030,-    VK_BLEND_OP_HSL_HUE_EXT = 1000148031,-    VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,-    VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,-    VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,-    VK_BLEND_OP_PLUS_EXT = 1000148035,-    VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,-    VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,-    VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,-    VK_BLEND_OP_MINUS_EXT = 1000148039,-    VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,-    VK_BLEND_OP_CONTRAST_EXT = 1000148041,-    VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,-    VK_BLEND_OP_RED_EXT = 1000148043,-    VK_BLEND_OP_GREEN_EXT = 1000148044,-    VK_BLEND_OP_BLUE_EXT = 1000148045,-    VK_BLEND_OP_BEGIN_RANGE = VK_BLEND_OP_ADD,-    VK_BLEND_OP_END_RANGE = VK_BLEND_OP_MAX,-    VK_BLEND_OP_RANGE_SIZE = (VK_BLEND_OP_MAX - VK_BLEND_OP_ADD + 1),-    VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF-} VkBlendOp;--typedef enum VkDynamicState {-    VK_DYNAMIC_STATE_VIEWPORT = 0,-    VK_DYNAMIC_STATE_SCISSOR = 1,-    VK_DYNAMIC_STATE_LINE_WIDTH = 2,-    VK_DYNAMIC_STATE_DEPTH_BIAS = 3,-    VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,-    VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,-    VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,-    VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,-    VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,-    VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,-    VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,-    VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,-    VK_DYNAMIC_STATE_BEGIN_RANGE = VK_DYNAMIC_STATE_VIEWPORT,-    VK_DYNAMIC_STATE_END_RANGE = VK_DYNAMIC_STATE_STENCIL_REFERENCE,-    VK_DYNAMIC_STATE_RANGE_SIZE = (VK_DYNAMIC_STATE_STENCIL_REFERENCE - VK_DYNAMIC_STATE_VIEWPORT + 1),-    VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF-} VkDynamicState;--typedef enum VkFilter {-    VK_FILTER_NEAREST = 0,-    VK_FILTER_LINEAR = 1,-    VK_FILTER_CUBIC_IMG = 1000015000,-    VK_FILTER_BEGIN_RANGE = VK_FILTER_NEAREST,-    VK_FILTER_END_RANGE = VK_FILTER_LINEAR,-    VK_FILTER_RANGE_SIZE = (VK_FILTER_LINEAR - VK_FILTER_NEAREST + 1),-    VK_FILTER_MAX_ENUM = 0x7FFFFFFF-} VkFilter;--typedef enum VkSamplerMipmapMode {-    VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,-    VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,-    VK_SAMPLER_MIPMAP_MODE_BEGIN_RANGE = VK_SAMPLER_MIPMAP_MODE_NEAREST,-    VK_SAMPLER_MIPMAP_MODE_END_RANGE = VK_SAMPLER_MIPMAP_MODE_LINEAR,-    VK_SAMPLER_MIPMAP_MODE_RANGE_SIZE = (VK_SAMPLER_MIPMAP_MODE_LINEAR - VK_SAMPLER_MIPMAP_MODE_NEAREST + 1),-    VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF-} VkSamplerMipmapMode;--typedef enum VkSamplerAddressMode {-    VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,-    VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,-    VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,-    VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,-    VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,-    VK_SAMPLER_ADDRESS_MODE_BEGIN_RANGE = VK_SAMPLER_ADDRESS_MODE_REPEAT,-    VK_SAMPLER_ADDRESS_MODE_END_RANGE = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER,-    VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE = (VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER - VK_SAMPLER_ADDRESS_MODE_REPEAT + 1),-    VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF-} VkSamplerAddressMode;--typedef enum VkBorderColor {-    VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,-    VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,-    VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,-    VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,-    VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,-    VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,-    VK_BORDER_COLOR_BEGIN_RANGE = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,-    VK_BORDER_COLOR_END_RANGE = VK_BORDER_COLOR_INT_OPAQUE_WHITE,-    VK_BORDER_COLOR_RANGE_SIZE = (VK_BORDER_COLOR_INT_OPAQUE_WHITE - VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK + 1),-    VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF-} VkBorderColor;--typedef enum VkDescriptorType {-    VK_DESCRIPTOR_TYPE_SAMPLER = 0,-    VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,-    VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,-    VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,-    VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,-    VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,-    VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,-    VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,-    VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,-    VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,-    VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,-    VK_DESCRIPTOR_TYPE_BEGIN_RANGE = VK_DESCRIPTOR_TYPE_SAMPLER,-    VK_DESCRIPTOR_TYPE_END_RANGE = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,-    VK_DESCRIPTOR_TYPE_RANGE_SIZE = (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT - VK_DESCRIPTOR_TYPE_SAMPLER + 1),-    VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF-} VkDescriptorType;--typedef enum VkAttachmentLoadOp {-    VK_ATTACHMENT_LOAD_OP_LOAD = 0,-    VK_ATTACHMENT_LOAD_OP_CLEAR = 1,-    VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,-    VK_ATTACHMENT_LOAD_OP_BEGIN_RANGE = VK_ATTACHMENT_LOAD_OP_LOAD,-    VK_ATTACHMENT_LOAD_OP_END_RANGE = VK_ATTACHMENT_LOAD_OP_DONT_CARE,-    VK_ATTACHMENT_LOAD_OP_RANGE_SIZE = (VK_ATTACHMENT_LOAD_OP_DONT_CARE - VK_ATTACHMENT_LOAD_OP_LOAD + 1),-    VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF-} VkAttachmentLoadOp;--typedef enum VkAttachmentStoreOp {-    VK_ATTACHMENT_STORE_OP_STORE = 0,-    VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,-    VK_ATTACHMENT_STORE_OP_BEGIN_RANGE = VK_ATTACHMENT_STORE_OP_STORE,-    VK_ATTACHMENT_STORE_OP_END_RANGE = VK_ATTACHMENT_STORE_OP_DONT_CARE,-    VK_ATTACHMENT_STORE_OP_RANGE_SIZE = (VK_ATTACHMENT_STORE_OP_DONT_CARE - VK_ATTACHMENT_STORE_OP_STORE + 1),-    VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF-} VkAttachmentStoreOp;--typedef enum VkPipelineBindPoint {-    VK_PIPELINE_BIND_POINT_GRAPHICS = 0,-    VK_PIPELINE_BIND_POINT_COMPUTE = 1,-    VK_PIPELINE_BIND_POINT_BEGIN_RANGE = VK_PIPELINE_BIND_POINT_GRAPHICS,-    VK_PIPELINE_BIND_POINT_END_RANGE = VK_PIPELINE_BIND_POINT_COMPUTE,-    VK_PIPELINE_BIND_POINT_RANGE_SIZE = (VK_PIPELINE_BIND_POINT_COMPUTE - VK_PIPELINE_BIND_POINT_GRAPHICS + 1),-    VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF-} VkPipelineBindPoint;--typedef enum VkCommandBufferLevel {-    VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,-    VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,-    VK_COMMAND_BUFFER_LEVEL_BEGIN_RANGE = VK_COMMAND_BUFFER_LEVEL_PRIMARY,-    VK_COMMAND_BUFFER_LEVEL_END_RANGE = VK_COMMAND_BUFFER_LEVEL_SECONDARY,-    VK_COMMAND_BUFFER_LEVEL_RANGE_SIZE = (VK_COMMAND_BUFFER_LEVEL_SECONDARY - VK_COMMAND_BUFFER_LEVEL_PRIMARY + 1),-    VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF-} VkCommandBufferLevel;--typedef enum VkIndexType {-    VK_INDEX_TYPE_UINT16 = 0,-    VK_INDEX_TYPE_UINT32 = 1,-    VK_INDEX_TYPE_BEGIN_RANGE = VK_INDEX_TYPE_UINT16,-    VK_INDEX_TYPE_END_RANGE = VK_INDEX_TYPE_UINT32,-    VK_INDEX_TYPE_RANGE_SIZE = (VK_INDEX_TYPE_UINT32 - VK_INDEX_TYPE_UINT16 + 1),-    VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF-} VkIndexType;--typedef enum VkSubpassContents {-    VK_SUBPASS_CONTENTS_INLINE = 0,-    VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,-    VK_SUBPASS_CONTENTS_BEGIN_RANGE = VK_SUBPASS_CONTENTS_INLINE,-    VK_SUBPASS_CONTENTS_END_RANGE = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS,-    VK_SUBPASS_CONTENTS_RANGE_SIZE = (VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS - VK_SUBPASS_CONTENTS_INLINE + 1),-    VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF-} VkSubpassContents;--typedef enum VkObjectType {-    VK_OBJECT_TYPE_UNKNOWN = 0,-    VK_OBJECT_TYPE_INSTANCE = 1,-    VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,-    VK_OBJECT_TYPE_DEVICE = 3,-    VK_OBJECT_TYPE_QUEUE = 4,-    VK_OBJECT_TYPE_SEMAPHORE = 5,-    VK_OBJECT_TYPE_COMMAND_BUFFER = 6,-    VK_OBJECT_TYPE_FENCE = 7,-    VK_OBJECT_TYPE_DEVICE_MEMORY = 8,-    VK_OBJECT_TYPE_BUFFER = 9,-    VK_OBJECT_TYPE_IMAGE = 10,-    VK_OBJECT_TYPE_EVENT = 11,-    VK_OBJECT_TYPE_QUERY_POOL = 12,-    VK_OBJECT_TYPE_BUFFER_VIEW = 13,-    VK_OBJECT_TYPE_IMAGE_VIEW = 14,-    VK_OBJECT_TYPE_SHADER_MODULE = 15,-    VK_OBJECT_TYPE_PIPELINE_CACHE = 16,-    VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,-    VK_OBJECT_TYPE_RENDER_PASS = 18,-    VK_OBJECT_TYPE_PIPELINE = 19,-    VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,-    VK_OBJECT_TYPE_SAMPLER = 21,-    VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,-    VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,-    VK_OBJECT_TYPE_FRAMEBUFFER = 24,-    VK_OBJECT_TYPE_COMMAND_POOL = 25,-    VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,-    VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,-    VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,-    VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,-    VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,-    VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = 1000085000,-    VK_OBJECT_TYPE_OBJECT_TABLE_NVX = 1000086000,-    VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX = 1000086001,-    VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = 1000156000,-    VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,-    VK_OBJECT_TYPE_BEGIN_RANGE = VK_OBJECT_TYPE_UNKNOWN,-    VK_OBJECT_TYPE_END_RANGE = VK_OBJECT_TYPE_COMMAND_POOL,-    VK_OBJECT_TYPE_RANGE_SIZE = (VK_OBJECT_TYPE_COMMAND_POOL - VK_OBJECT_TYPE_UNKNOWN + 1),-    VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF-} VkObjectType;--typedef VkFlags VkInstanceCreateFlags;--typedef enum VkFormatFeatureFlagBits {-    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,-    VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,-    VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,-    VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,-    VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,-    VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,-    VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,-    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,-    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,-    VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,-    VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,-    VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,-    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,-    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,-    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = 0x00004000,-    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = 0x00008000,-    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = 0x00010000,-    VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000,-    VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000,-    VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000,-    VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000,-    VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000,-    VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = 0x00400000,-    VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000,-    VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkFormatFeatureFlagBits;-typedef VkFlags VkFormatFeatureFlags;--typedef enum VkImageUsageFlagBits {-    VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,-    VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,-    VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,-    VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,-    VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,-    VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,-    VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,-    VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,-    VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkImageUsageFlagBits;-typedef VkFlags VkImageUsageFlags;--typedef enum VkImageCreateFlagBits {-    VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,-    VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,-    VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,-    VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,-    VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,-    VK_IMAGE_CREATE_BIND_SFR_BIT_KHX = 0x00000040,-    VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = 0x00000020,-    VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = 0x00000080,-    VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = 0x00000100,-    VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,-    VK_IMAGE_CREATE_DISJOINT_BIT_KHR = 0x00000200,-    VK_IMAGE_CREATE_ALIAS_BIT_KHR = 0x00000400,-    VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkImageCreateFlagBits;-typedef VkFlags VkImageCreateFlags;--typedef enum VkSampleCountFlagBits {-    VK_SAMPLE_COUNT_1_BIT = 0x00000001,-    VK_SAMPLE_COUNT_2_BIT = 0x00000002,-    VK_SAMPLE_COUNT_4_BIT = 0x00000004,-    VK_SAMPLE_COUNT_8_BIT = 0x00000008,-    VK_SAMPLE_COUNT_16_BIT = 0x00000010,-    VK_SAMPLE_COUNT_32_BIT = 0x00000020,-    VK_SAMPLE_COUNT_64_BIT = 0x00000040,-    VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkSampleCountFlagBits;-typedef VkFlags VkSampleCountFlags;--typedef enum VkQueueFlagBits {-    VK_QUEUE_GRAPHICS_BIT = 0x00000001,-    VK_QUEUE_COMPUTE_BIT = 0x00000002,-    VK_QUEUE_TRANSFER_BIT = 0x00000004,-    VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,-    VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkQueueFlagBits;-typedef VkFlags VkQueueFlags;--typedef enum VkMemoryPropertyFlagBits {-    VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,-    VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,-    VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,-    VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,-    VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,-    VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkMemoryPropertyFlagBits;-typedef VkFlags VkMemoryPropertyFlags;--typedef enum VkMemoryHeapFlagBits {-    VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,-    VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHX = 0x00000002,-    VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkMemoryHeapFlagBits;-typedef VkFlags VkMemoryHeapFlags;-typedef VkFlags VkDeviceCreateFlags;-typedef VkFlags VkDeviceQueueCreateFlags;--typedef enum VkPipelineStageFlagBits {-    VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,-    VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,-    VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,-    VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,-    VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,-    VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,-    VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,-    VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,-    VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,-    VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,-    VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,-    VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,-    VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,-    VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,-    VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,-    VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,-    VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,-    VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX = 0x00020000,-    VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkPipelineStageFlagBits;-typedef VkFlags VkPipelineStageFlags;-typedef VkFlags VkMemoryMapFlags;--typedef enum VkImageAspectFlagBits {-    VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,-    VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,-    VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,-    VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,-    VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = 0x00000010,-    VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = 0x00000020,-    VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = 0x00000040,-    VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkImageAspectFlagBits;-typedef VkFlags VkImageAspectFlags;--typedef enum VkSparseImageFormatFlagBits {-    VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,-    VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,-    VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,-    VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkSparseImageFormatFlagBits;-typedef VkFlags VkSparseImageFormatFlags;--typedef enum VkSparseMemoryBindFlagBits {-    VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,-    VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkSparseMemoryBindFlagBits;-typedef VkFlags VkSparseMemoryBindFlags;--typedef enum VkFenceCreateFlagBits {-    VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,-    VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkFenceCreateFlagBits;-typedef VkFlags VkFenceCreateFlags;-typedef VkFlags VkSemaphoreCreateFlags;-typedef VkFlags VkEventCreateFlags;-typedef VkFlags VkQueryPoolCreateFlags;--typedef enum VkQueryPipelineStatisticFlagBits {-    VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,-    VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,-    VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,-    VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,-    VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,-    VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,-    VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,-    VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,-    VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,-    VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,-    VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,-    VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkQueryPipelineStatisticFlagBits;-typedef VkFlags VkQueryPipelineStatisticFlags;--typedef enum VkQueryResultFlagBits {-    VK_QUERY_RESULT_64_BIT = 0x00000001,-    VK_QUERY_RESULT_WAIT_BIT = 0x00000002,-    VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,-    VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,-    VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkQueryResultFlagBits;-typedef VkFlags VkQueryResultFlags;--typedef enum VkBufferCreateFlagBits {-    VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,-    VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,-    VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,-    VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkBufferCreateFlagBits;-typedef VkFlags VkBufferCreateFlags;--typedef enum VkBufferUsageFlagBits {-    VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,-    VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,-    VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,-    VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,-    VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,-    VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,-    VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,-    VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,-    VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,-    VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkBufferUsageFlagBits;-typedef VkFlags VkBufferUsageFlags;-typedef VkFlags VkBufferViewCreateFlags;-typedef VkFlags VkImageViewCreateFlags;-typedef VkFlags VkShaderModuleCreateFlags;-typedef VkFlags VkPipelineCacheCreateFlags;--typedef enum VkPipelineCreateFlagBits {-    VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,-    VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,-    VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,-    VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHX = 0x00000008,-    VK_PIPELINE_CREATE_DISPATCH_BASE_KHX = 0x00000010,-    VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkPipelineCreateFlagBits;-typedef VkFlags VkPipelineCreateFlags;-typedef VkFlags VkPipelineShaderStageCreateFlags;--typedef enum VkShaderStageFlagBits {-    VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,-    VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,-    VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,-    VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,-    VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,-    VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,-    VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,-    VK_SHADER_STAGE_ALL = 0x7FFFFFFF,-    VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkShaderStageFlagBits;-typedef VkFlags VkPipelineVertexInputStateCreateFlags;-typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;-typedef VkFlags VkPipelineTessellationStateCreateFlags;-typedef VkFlags VkPipelineViewportStateCreateFlags;-typedef VkFlags VkPipelineRasterizationStateCreateFlags;--typedef enum VkCullModeFlagBits {-    VK_CULL_MODE_NONE = 0,-    VK_CULL_MODE_FRONT_BIT = 0x00000001,-    VK_CULL_MODE_BACK_BIT = 0x00000002,-    VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,-    VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkCullModeFlagBits;-typedef VkFlags VkCullModeFlags;-typedef VkFlags VkPipelineMultisampleStateCreateFlags;-typedef VkFlags VkPipelineDepthStencilStateCreateFlags;-typedef VkFlags VkPipelineColorBlendStateCreateFlags;--typedef enum VkColorComponentFlagBits {-    VK_COLOR_COMPONENT_R_BIT = 0x00000001,-    VK_COLOR_COMPONENT_G_BIT = 0x00000002,-    VK_COLOR_COMPONENT_B_BIT = 0x00000004,-    VK_COLOR_COMPONENT_A_BIT = 0x00000008,-    VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkColorComponentFlagBits;-typedef VkFlags VkColorComponentFlags;-typedef VkFlags VkPipelineDynamicStateCreateFlags;-typedef VkFlags VkPipelineLayoutCreateFlags;-typedef VkFlags VkShaderStageFlags;-typedef VkFlags VkSamplerCreateFlags;--typedef enum VkDescriptorSetLayoutCreateFlagBits {-    VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,-    VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkDescriptorSetLayoutCreateFlagBits;-typedef VkFlags VkDescriptorSetLayoutCreateFlags;--typedef enum VkDescriptorPoolCreateFlagBits {-    VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,-    VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkDescriptorPoolCreateFlagBits;-typedef VkFlags VkDescriptorPoolCreateFlags;-typedef VkFlags VkDescriptorPoolResetFlags;-typedef VkFlags VkFramebufferCreateFlags;-typedef VkFlags VkRenderPassCreateFlags;--typedef enum VkAttachmentDescriptionFlagBits {-    VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,-    VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkAttachmentDescriptionFlagBits;-typedef VkFlags VkAttachmentDescriptionFlags;--typedef enum VkSubpassDescriptionFlagBits {-    VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,-    VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,-    VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkSubpassDescriptionFlagBits;-typedef VkFlags VkSubpassDescriptionFlags;--typedef enum VkAccessFlagBits {-    VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,-    VK_ACCESS_INDEX_READ_BIT = 0x00000002,-    VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,-    VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,-    VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,-    VK_ACCESS_SHADER_READ_BIT = 0x00000020,-    VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,-    VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,-    VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,-    VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,-    VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,-    VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,-    VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,-    VK_ACCESS_HOST_READ_BIT = 0x00002000,-    VK_ACCESS_HOST_WRITE_BIT = 0x00004000,-    VK_ACCESS_MEMORY_READ_BIT = 0x00008000,-    VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,-    VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX = 0x00020000,-    VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX = 0x00040000,-    VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,-    VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkAccessFlagBits;-typedef VkFlags VkAccessFlags;--typedef enum VkDependencyFlagBits {-    VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,-    VK_DEPENDENCY_VIEW_LOCAL_BIT_KHX = 0x00000002,-    VK_DEPENDENCY_DEVICE_GROUP_BIT_KHX = 0x00000004,-    VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkDependencyFlagBits;-typedef VkFlags VkDependencyFlags;--typedef enum VkCommandPoolCreateFlagBits {-    VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,-    VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,-    VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkCommandPoolCreateFlagBits;-typedef VkFlags VkCommandPoolCreateFlags;--typedef enum VkCommandPoolResetFlagBits {-    VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,-    VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkCommandPoolResetFlagBits;-typedef VkFlags VkCommandPoolResetFlags;--typedef enum VkCommandBufferUsageFlagBits {-    VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,-    VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,-    VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,-    VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkCommandBufferUsageFlagBits;-typedef VkFlags VkCommandBufferUsageFlags;--typedef enum VkQueryControlFlagBits {-    VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,-    VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkQueryControlFlagBits;-typedef VkFlags VkQueryControlFlags;--typedef enum VkCommandBufferResetFlagBits {-    VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,-    VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkCommandBufferResetFlagBits;-typedef VkFlags VkCommandBufferResetFlags;--typedef enum VkStencilFaceFlagBits {-    VK_STENCIL_FACE_FRONT_BIT = 0x00000001,-    VK_STENCIL_FACE_BACK_BIT = 0x00000002,-    VK_STENCIL_FRONT_AND_BACK = 0x00000003,-    VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF-} VkStencilFaceFlagBits;-typedef VkFlags VkStencilFaceFlags;--typedef struct VkApplicationInfo {-    VkStructureType    sType;-    const void*        pNext;-    const char*        pApplicationName;-    uint32_t           applicationVersion;-    const char*        pEngineName;-    uint32_t           engineVersion;-    uint32_t           apiVersion;-} VkApplicationInfo;--typedef struct VkInstanceCreateInfo {-    VkStructureType             sType;-    const void*                 pNext;-    VkInstanceCreateFlags       flags;-    const VkApplicationInfo*    pApplicationInfo;-    uint32_t                    enabledLayerCount;-    const char* const*          ppEnabledLayerNames;-    uint32_t                    enabledExtensionCount;-    const char* const*          ppEnabledExtensionNames;-} VkInstanceCreateInfo;--typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(-    void*                                       pUserData,-    size_t                                      size,-    size_t                                      alignment,-    VkSystemAllocationScope                     allocationScope);--typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(-    void*                                       pUserData,-    void*                                       pOriginal,-    size_t                                      size,-    size_t                                      alignment,-    VkSystemAllocationScope                     allocationScope);--typedef void (VKAPI_PTR *PFN_vkFreeFunction)(-    void*                                       pUserData,-    void*                                       pMemory);--typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(-    void*                                       pUserData,-    size_t                                      size,-    VkInternalAllocationType                    allocationType,-    VkSystemAllocationScope                     allocationScope);--typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(-    void*                                       pUserData,-    size_t                                      size,-    VkInternalAllocationType                    allocationType,-    VkSystemAllocationScope                     allocationScope);--typedef struct VkAllocationCallbacks {-    void*                                   pUserData;-    PFN_vkAllocationFunction                pfnAllocation;-    PFN_vkReallocationFunction              pfnReallocation;-    PFN_vkFreeFunction                      pfnFree;-    PFN_vkInternalAllocationNotification    pfnInternalAllocation;-    PFN_vkInternalFreeNotification          pfnInternalFree;-} VkAllocationCallbacks;--typedef struct VkPhysicalDeviceFeatures {-    VkBool32    robustBufferAccess;-    VkBool32    fullDrawIndexUint32;-    VkBool32    imageCubeArray;-    VkBool32    independentBlend;-    VkBool32    geometryShader;-    VkBool32    tessellationShader;-    VkBool32    sampleRateShading;-    VkBool32    dualSrcBlend;-    VkBool32    logicOp;-    VkBool32    multiDrawIndirect;-    VkBool32    drawIndirectFirstInstance;-    VkBool32    depthClamp;-    VkBool32    depthBiasClamp;-    VkBool32    fillModeNonSolid;-    VkBool32    depthBounds;-    VkBool32    wideLines;-    VkBool32    largePoints;-    VkBool32    alphaToOne;-    VkBool32    multiViewport;-    VkBool32    samplerAnisotropy;-    VkBool32    textureCompressionETC2;-    VkBool32    textureCompressionASTC_LDR;-    VkBool32    textureCompressionBC;-    VkBool32    occlusionQueryPrecise;-    VkBool32    pipelineStatisticsQuery;-    VkBool32    vertexPipelineStoresAndAtomics;-    VkBool32    fragmentStoresAndAtomics;-    VkBool32    shaderTessellationAndGeometryPointSize;-    VkBool32    shaderImageGatherExtended;-    VkBool32    shaderStorageImageExtendedFormats;-    VkBool32    shaderStorageImageMultisample;-    VkBool32    shaderStorageImageReadWithoutFormat;-    VkBool32    shaderStorageImageWriteWithoutFormat;-    VkBool32    shaderUniformBufferArrayDynamicIndexing;-    VkBool32    shaderSampledImageArrayDynamicIndexing;-    VkBool32    shaderStorageBufferArrayDynamicIndexing;-    VkBool32    shaderStorageImageArrayDynamicIndexing;-    VkBool32    shaderClipDistance;-    VkBool32    shaderCullDistance;-    VkBool32    shaderFloat64;-    VkBool32    shaderInt64;-    VkBool32    shaderInt16;-    VkBool32    shaderResourceResidency;-    VkBool32    shaderResourceMinLod;-    VkBool32    sparseBinding;-    VkBool32    sparseResidencyBuffer;-    VkBool32    sparseResidencyImage2D;-    VkBool32    sparseResidencyImage3D;-    VkBool32    sparseResidency2Samples;-    VkBool32    sparseResidency4Samples;-    VkBool32    sparseResidency8Samples;-    VkBool32    sparseResidency16Samples;-    VkBool32    sparseResidencyAliased;-    VkBool32    variableMultisampleRate;-    VkBool32    inheritedQueries;-} VkPhysicalDeviceFeatures;--typedef struct VkFormatProperties {-    VkFormatFeatureFlags    linearTilingFeatures;-    VkFormatFeatureFlags    optimalTilingFeatures;-    VkFormatFeatureFlags    bufferFeatures;-} VkFormatProperties;--typedef struct VkExtent3D {-    uint32_t    width;-    uint32_t    height;-    uint32_t    depth;-} VkExtent3D;--typedef struct VkImageFormatProperties {-    VkExtent3D            maxExtent;-    uint32_t              maxMipLevels;-    uint32_t              maxArrayLayers;-    VkSampleCountFlags    sampleCounts;-    VkDeviceSize          maxResourceSize;-} VkImageFormatProperties;--typedef struct VkPhysicalDeviceLimits {-    uint32_t              maxImageDimension1D;-    uint32_t              maxImageDimension2D;-    uint32_t              maxImageDimension3D;-    uint32_t              maxImageDimensionCube;-    uint32_t              maxImageArrayLayers;-    uint32_t              maxTexelBufferElements;-    uint32_t              maxUniformBufferRange;-    uint32_t              maxStorageBufferRange;-    uint32_t              maxPushConstantsSize;-    uint32_t              maxMemoryAllocationCount;-    uint32_t              maxSamplerAllocationCount;-    VkDeviceSize          bufferImageGranularity;-    VkDeviceSize          sparseAddressSpaceSize;-    uint32_t              maxBoundDescriptorSets;-    uint32_t              maxPerStageDescriptorSamplers;-    uint32_t              maxPerStageDescriptorUniformBuffers;-    uint32_t              maxPerStageDescriptorStorageBuffers;-    uint32_t              maxPerStageDescriptorSampledImages;-    uint32_t              maxPerStageDescriptorStorageImages;-    uint32_t              maxPerStageDescriptorInputAttachments;-    uint32_t              maxPerStageResources;-    uint32_t              maxDescriptorSetSamplers;-    uint32_t              maxDescriptorSetUniformBuffers;-    uint32_t              maxDescriptorSetUniformBuffersDynamic;-    uint32_t              maxDescriptorSetStorageBuffers;-    uint32_t              maxDescriptorSetStorageBuffersDynamic;-    uint32_t              maxDescriptorSetSampledImages;-    uint32_t              maxDescriptorSetStorageImages;-    uint32_t              maxDescriptorSetInputAttachments;-    uint32_t              maxVertexInputAttributes;-    uint32_t              maxVertexInputBindings;-    uint32_t              maxVertexInputAttributeOffset;-    uint32_t              maxVertexInputBindingStride;-    uint32_t              maxVertexOutputComponents;-    uint32_t              maxTessellationGenerationLevel;-    uint32_t              maxTessellationPatchSize;-    uint32_t              maxTessellationControlPerVertexInputComponents;-    uint32_t              maxTessellationControlPerVertexOutputComponents;-    uint32_t              maxTessellationControlPerPatchOutputComponents;-    uint32_t              maxTessellationControlTotalOutputComponents;-    uint32_t              maxTessellationEvaluationInputComponents;-    uint32_t              maxTessellationEvaluationOutputComponents;-    uint32_t              maxGeometryShaderInvocations;-    uint32_t              maxGeometryInputComponents;-    uint32_t              maxGeometryOutputComponents;-    uint32_t              maxGeometryOutputVertices;-    uint32_t              maxGeometryTotalOutputComponents;-    uint32_t              maxFragmentInputComponents;-    uint32_t              maxFragmentOutputAttachments;-    uint32_t              maxFragmentDualSrcAttachments;-    uint32_t              maxFragmentCombinedOutputResources;-    uint32_t              maxComputeSharedMemorySize;-    uint32_t              maxComputeWorkGroupCount[3];-    uint32_t              maxComputeWorkGroupInvocations;-    uint32_t              maxComputeWorkGroupSize[3];-    uint32_t              subPixelPrecisionBits;-    uint32_t              subTexelPrecisionBits;-    uint32_t              mipmapPrecisionBits;-    uint32_t              maxDrawIndexedIndexValue;-    uint32_t              maxDrawIndirectCount;-    float                 maxSamplerLodBias;-    float                 maxSamplerAnisotropy;-    uint32_t              maxViewports;-    uint32_t              maxViewportDimensions[2];-    float                 viewportBoundsRange[2];-    uint32_t              viewportSubPixelBits;-    size_t                minMemoryMapAlignment;-    VkDeviceSize          minTexelBufferOffsetAlignment;-    VkDeviceSize          minUniformBufferOffsetAlignment;-    VkDeviceSize          minStorageBufferOffsetAlignment;-    int32_t               minTexelOffset;-    uint32_t              maxTexelOffset;-    int32_t               minTexelGatherOffset;-    uint32_t              maxTexelGatherOffset;-    float                 minInterpolationOffset;-    float                 maxInterpolationOffset;-    uint32_t              subPixelInterpolationOffsetBits;-    uint32_t              maxFramebufferWidth;-    uint32_t              maxFramebufferHeight;-    uint32_t              maxFramebufferLayers;-    VkSampleCountFlags    framebufferColorSampleCounts;-    VkSampleCountFlags    framebufferDepthSampleCounts;-    VkSampleCountFlags    framebufferStencilSampleCounts;-    VkSampleCountFlags    framebufferNoAttachmentsSampleCounts;-    uint32_t              maxColorAttachments;-    VkSampleCountFlags    sampledImageColorSampleCounts;-    VkSampleCountFlags    sampledImageIntegerSampleCounts;-    VkSampleCountFlags    sampledImageDepthSampleCounts;-    VkSampleCountFlags    sampledImageStencilSampleCounts;-    VkSampleCountFlags    storageImageSampleCounts;-    uint32_t              maxSampleMaskWords;-    VkBool32              timestampComputeAndGraphics;-    float                 timestampPeriod;-    uint32_t              maxClipDistances;-    uint32_t              maxCullDistances;-    uint32_t              maxCombinedClipAndCullDistances;-    uint32_t              discreteQueuePriorities;-    float                 pointSizeRange[2];-    float                 lineWidthRange[2];-    float                 pointSizeGranularity;-    float                 lineWidthGranularity;-    VkBool32              strictLines;-    VkBool32              standardSampleLocations;-    VkDeviceSize          optimalBufferCopyOffsetAlignment;-    VkDeviceSize          optimalBufferCopyRowPitchAlignment;-    VkDeviceSize          nonCoherentAtomSize;-} VkPhysicalDeviceLimits;--typedef struct VkPhysicalDeviceSparseProperties {-    VkBool32    residencyStandard2DBlockShape;-    VkBool32    residencyStandard2DMultisampleBlockShape;-    VkBool32    residencyStandard3DBlockShape;-    VkBool32    residencyAlignedMipSize;-    VkBool32    residencyNonResidentStrict;-} VkPhysicalDeviceSparseProperties;--typedef struct VkPhysicalDeviceProperties {-    uint32_t                            apiVersion;-    uint32_t                            driverVersion;-    uint32_t                            vendorID;-    uint32_t                            deviceID;-    VkPhysicalDeviceType                deviceType;-    char                                deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];-    uint8_t                             pipelineCacheUUID[VK_UUID_SIZE];-    VkPhysicalDeviceLimits              limits;-    VkPhysicalDeviceSparseProperties    sparseProperties;-} VkPhysicalDeviceProperties;--typedef struct VkQueueFamilyProperties {-    VkQueueFlags    queueFlags;-    uint32_t        queueCount;-    uint32_t        timestampValidBits;-    VkExtent3D      minImageTransferGranularity;-} VkQueueFamilyProperties;--typedef struct VkMemoryType {-    VkMemoryPropertyFlags    propertyFlags;-    uint32_t                 heapIndex;-} VkMemoryType;--typedef struct VkMemoryHeap {-    VkDeviceSize         size;-    VkMemoryHeapFlags    flags;-} VkMemoryHeap;--typedef struct VkPhysicalDeviceMemoryProperties {-    uint32_t        memoryTypeCount;-    VkMemoryType    memoryTypes[VK_MAX_MEMORY_TYPES];-    uint32_t        memoryHeapCount;-    VkMemoryHeap    memoryHeaps[VK_MAX_MEMORY_HEAPS];-} VkPhysicalDeviceMemoryProperties;--typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);-typedef struct VkDeviceQueueCreateInfo {-    VkStructureType             sType;-    const void*                 pNext;-    VkDeviceQueueCreateFlags    flags;-    uint32_t                    queueFamilyIndex;-    uint32_t                    queueCount;-    const float*                pQueuePriorities;-} VkDeviceQueueCreateInfo;--typedef struct VkDeviceCreateInfo {-    VkStructureType                    sType;-    const void*                        pNext;-    VkDeviceCreateFlags                flags;-    uint32_t                           queueCreateInfoCount;-    const VkDeviceQueueCreateInfo*     pQueueCreateInfos;-    uint32_t                           enabledLayerCount;-    const char* const*                 ppEnabledLayerNames;-    uint32_t                           enabledExtensionCount;-    const char* const*                 ppEnabledExtensionNames;-    const VkPhysicalDeviceFeatures*    pEnabledFeatures;-} VkDeviceCreateInfo;--typedef struct VkExtensionProperties {-    char        extensionName[VK_MAX_EXTENSION_NAME_SIZE];-    uint32_t    specVersion;-} VkExtensionProperties;--typedef struct VkLayerProperties {-    char        layerName[VK_MAX_EXTENSION_NAME_SIZE];-    uint32_t    specVersion;-    uint32_t    implementationVersion;-    char        description[VK_MAX_DESCRIPTION_SIZE];-} VkLayerProperties;--typedef struct VkSubmitInfo {-    VkStructureType                sType;-    const void*                    pNext;-    uint32_t                       waitSemaphoreCount;-    const VkSemaphore*             pWaitSemaphores;-    const VkPipelineStageFlags*    pWaitDstStageMask;-    uint32_t                       commandBufferCount;-    const VkCommandBuffer*         pCommandBuffers;-    uint32_t                       signalSemaphoreCount;-    const VkSemaphore*             pSignalSemaphores;-} VkSubmitInfo;--typedef struct VkMemoryAllocateInfo {-    VkStructureType    sType;-    const void*        pNext;-    VkDeviceSize       allocationSize;-    uint32_t           memoryTypeIndex;-} VkMemoryAllocateInfo;--typedef struct VkMappedMemoryRange {-    VkStructureType    sType;-    const void*        pNext;-    VkDeviceMemory     memory;-    VkDeviceSize       offset;-    VkDeviceSize       size;-} VkMappedMemoryRange;--typedef struct VkMemoryRequirements {-    VkDeviceSize    size;-    VkDeviceSize    alignment;-    uint32_t        memoryTypeBits;-} VkMemoryRequirements;--typedef struct VkSparseImageFormatProperties {-    VkImageAspectFlags          aspectMask;-    VkExtent3D                  imageGranularity;-    VkSparseImageFormatFlags    flags;-} VkSparseImageFormatProperties;--typedef struct VkSparseImageMemoryRequirements {-    VkSparseImageFormatProperties    formatProperties;-    uint32_t                         imageMipTailFirstLod;-    VkDeviceSize                     imageMipTailSize;-    VkDeviceSize                     imageMipTailOffset;-    VkDeviceSize                     imageMipTailStride;-} VkSparseImageMemoryRequirements;--typedef struct VkSparseMemoryBind {-    VkDeviceSize               resourceOffset;-    VkDeviceSize               size;-    VkDeviceMemory             memory;-    VkDeviceSize               memoryOffset;-    VkSparseMemoryBindFlags    flags;-} VkSparseMemoryBind;--typedef struct VkSparseBufferMemoryBindInfo {-    VkBuffer                     buffer;-    uint32_t                     bindCount;-    const VkSparseMemoryBind*    pBinds;-} VkSparseBufferMemoryBindInfo;--typedef struct VkSparseImageOpaqueMemoryBindInfo {-    VkImage                      image;-    uint32_t                     bindCount;-    const VkSparseMemoryBind*    pBinds;-} VkSparseImageOpaqueMemoryBindInfo;--typedef struct VkImageSubresource {-    VkImageAspectFlags    aspectMask;-    uint32_t              mipLevel;-    uint32_t              arrayLayer;-} VkImageSubresource;--typedef struct VkOffset3D {-    int32_t    x;-    int32_t    y;-    int32_t    z;-} VkOffset3D;--typedef struct VkSparseImageMemoryBind {-    VkImageSubresource         subresource;-    VkOffset3D                 offset;-    VkExtent3D                 extent;-    VkDeviceMemory             memory;-    VkDeviceSize               memoryOffset;-    VkSparseMemoryBindFlags    flags;-} VkSparseImageMemoryBind;--typedef struct VkSparseImageMemoryBindInfo {-    VkImage                           image;-    uint32_t                          bindCount;-    const VkSparseImageMemoryBind*    pBinds;-} VkSparseImageMemoryBindInfo;--typedef struct VkBindSparseInfo {-    VkStructureType                             sType;-    const void*                                 pNext;-    uint32_t                                    waitSemaphoreCount;-    const VkSemaphore*                          pWaitSemaphores;-    uint32_t                                    bufferBindCount;-    const VkSparseBufferMemoryBindInfo*         pBufferBinds;-    uint32_t                                    imageOpaqueBindCount;-    const VkSparseImageOpaqueMemoryBindInfo*    pImageOpaqueBinds;-    uint32_t                                    imageBindCount;-    const VkSparseImageMemoryBindInfo*          pImageBinds;-    uint32_t                                    signalSemaphoreCount;-    const VkSemaphore*                          pSignalSemaphores;-} VkBindSparseInfo;--typedef struct VkFenceCreateInfo {-    VkStructureType       sType;-    const void*           pNext;-    VkFenceCreateFlags    flags;-} VkFenceCreateInfo;--typedef struct VkSemaphoreCreateInfo {-    VkStructureType           sType;-    const void*               pNext;-    VkSemaphoreCreateFlags    flags;-} VkSemaphoreCreateInfo;--typedef struct VkEventCreateInfo {-    VkStructureType       sType;-    const void*           pNext;-    VkEventCreateFlags    flags;-} VkEventCreateInfo;--typedef struct VkQueryPoolCreateInfo {-    VkStructureType                  sType;-    const void*                      pNext;-    VkQueryPoolCreateFlags           flags;-    VkQueryType                      queryType;-    uint32_t                         queryCount;-    VkQueryPipelineStatisticFlags    pipelineStatistics;-} VkQueryPoolCreateInfo;--typedef struct VkBufferCreateInfo {-    VkStructureType        sType;-    const void*            pNext;-    VkBufferCreateFlags    flags;-    VkDeviceSize           size;-    VkBufferUsageFlags     usage;-    VkSharingMode          sharingMode;-    uint32_t               queueFamilyIndexCount;-    const uint32_t*        pQueueFamilyIndices;-} VkBufferCreateInfo;--typedef struct VkBufferViewCreateInfo {-    VkStructureType            sType;-    const void*                pNext;-    VkBufferViewCreateFlags    flags;-    VkBuffer                   buffer;-    VkFormat                   format;-    VkDeviceSize               offset;-    VkDeviceSize               range;-} VkBufferViewCreateInfo;--typedef struct VkImageCreateInfo {-    VkStructureType          sType;-    const void*              pNext;-    VkImageCreateFlags       flags;-    VkImageType              imageType;-    VkFormat                 format;-    VkExtent3D               extent;-    uint32_t                 mipLevels;-    uint32_t                 arrayLayers;-    VkSampleCountFlagBits    samples;-    VkImageTiling            tiling;-    VkImageUsageFlags        usage;-    VkSharingMode            sharingMode;-    uint32_t                 queueFamilyIndexCount;-    const uint32_t*          pQueueFamilyIndices;-    VkImageLayout            initialLayout;-} VkImageCreateInfo;--typedef struct VkSubresourceLayout {-    VkDeviceSize    offset;-    VkDeviceSize    size;-    VkDeviceSize    rowPitch;-    VkDeviceSize    arrayPitch;-    VkDeviceSize    depthPitch;-} VkSubresourceLayout;--typedef struct VkComponentMapping {-    VkComponentSwizzle    r;-    VkComponentSwizzle    g;-    VkComponentSwizzle    b;-    VkComponentSwizzle    a;-} VkComponentMapping;--typedef struct VkImageSubresourceRange {-    VkImageAspectFlags    aspectMask;-    uint32_t              baseMipLevel;-    uint32_t              levelCount;-    uint32_t              baseArrayLayer;-    uint32_t              layerCount;-} VkImageSubresourceRange;--typedef struct VkImageViewCreateInfo {-    VkStructureType            sType;-    const void*                pNext;-    VkImageViewCreateFlags     flags;-    VkImage                    image;-    VkImageViewType            viewType;-    VkFormat                   format;-    VkComponentMapping         components;-    VkImageSubresourceRange    subresourceRange;-} VkImageViewCreateInfo;--typedef struct VkShaderModuleCreateInfo {-    VkStructureType              sType;-    const void*                  pNext;-    VkShaderModuleCreateFlags    flags;-    size_t                       codeSize;-    const uint32_t*              pCode;-} VkShaderModuleCreateInfo;--typedef struct VkPipelineCacheCreateInfo {-    VkStructureType               sType;-    const void*                   pNext;-    VkPipelineCacheCreateFlags    flags;-    size_t                        initialDataSize;-    const void*                   pInitialData;-} VkPipelineCacheCreateInfo;--typedef struct VkSpecializationMapEntry {-    uint32_t    constantID;-    uint32_t    offset;-    size_t      size;-} VkSpecializationMapEntry;--typedef struct VkSpecializationInfo {-    uint32_t                           mapEntryCount;-    const VkSpecializationMapEntry*    pMapEntries;-    size_t                             dataSize;-    const void*                        pData;-} VkSpecializationInfo;--typedef struct VkPipelineShaderStageCreateInfo {-    VkStructureType                     sType;-    const void*                         pNext;-    VkPipelineShaderStageCreateFlags    flags;-    VkShaderStageFlagBits               stage;-    VkShaderModule                      module;-    const char*                         pName;-    const VkSpecializationInfo*         pSpecializationInfo;-} VkPipelineShaderStageCreateInfo;--typedef struct VkVertexInputBindingDescription {-    uint32_t             binding;-    uint32_t             stride;-    VkVertexInputRate    inputRate;-} VkVertexInputBindingDescription;--typedef struct VkVertexInputAttributeDescription {-    uint32_t    location;-    uint32_t    binding;-    VkFormat    format;-    uint32_t    offset;-} VkVertexInputAttributeDescription;--typedef struct VkPipelineVertexInputStateCreateInfo {-    VkStructureType                             sType;-    const void*                                 pNext;-    VkPipelineVertexInputStateCreateFlags       flags;-    uint32_t                                    vertexBindingDescriptionCount;-    const VkVertexInputBindingDescription*      pVertexBindingDescriptions;-    uint32_t                                    vertexAttributeDescriptionCount;-    const VkVertexInputAttributeDescription*    pVertexAttributeDescriptions;-} VkPipelineVertexInputStateCreateInfo;--typedef struct VkPipelineInputAssemblyStateCreateInfo {-    VkStructureType                            sType;-    const void*                                pNext;-    VkPipelineInputAssemblyStateCreateFlags    flags;-    VkPrimitiveTopology                        topology;-    VkBool32                                   primitiveRestartEnable;-} VkPipelineInputAssemblyStateCreateInfo;--typedef struct VkPipelineTessellationStateCreateInfo {-    VkStructureType                           sType;-    const void*                               pNext;-    VkPipelineTessellationStateCreateFlags    flags;-    uint32_t                                  patchControlPoints;-} VkPipelineTessellationStateCreateInfo;--typedef struct VkViewport {-    float    x;-    float    y;-    float    width;-    float    height;-    float    minDepth;-    float    maxDepth;-} VkViewport;--typedef struct VkOffset2D {-    int32_t    x;-    int32_t    y;-} VkOffset2D;--typedef struct VkExtent2D {-    uint32_t    width;-    uint32_t    height;-} VkExtent2D;--typedef struct VkRect2D {-    VkOffset2D    offset;-    VkExtent2D    extent;-} VkRect2D;--typedef struct VkPipelineViewportStateCreateInfo {-    VkStructureType                       sType;-    const void*                           pNext;-    VkPipelineViewportStateCreateFlags    flags;-    uint32_t                              viewportCount;-    const VkViewport*                     pViewports;-    uint32_t                              scissorCount;-    const VkRect2D*                       pScissors;-} VkPipelineViewportStateCreateInfo;--typedef struct VkPipelineRasterizationStateCreateInfo {-    VkStructureType                            sType;-    const void*                                pNext;-    VkPipelineRasterizationStateCreateFlags    flags;-    VkBool32                                   depthClampEnable;-    VkBool32                                   rasterizerDiscardEnable;-    VkPolygonMode                              polygonMode;-    VkCullModeFlags                            cullMode;-    VkFrontFace                                frontFace;-    VkBool32                                   depthBiasEnable;-    float                                      depthBiasConstantFactor;-    float                                      depthBiasClamp;-    float                                      depthBiasSlopeFactor;-    float                                      lineWidth;-} VkPipelineRasterizationStateCreateInfo;--typedef struct VkPipelineMultisampleStateCreateInfo {-    VkStructureType                          sType;-    const void*                              pNext;-    VkPipelineMultisampleStateCreateFlags    flags;-    VkSampleCountFlagBits                    rasterizationSamples;-    VkBool32                                 sampleShadingEnable;-    float                                    minSampleShading;-    const VkSampleMask*                      pSampleMask;-    VkBool32                                 alphaToCoverageEnable;-    VkBool32                                 alphaToOneEnable;-} VkPipelineMultisampleStateCreateInfo;--typedef struct VkStencilOpState {-    VkStencilOp    failOp;-    VkStencilOp    passOp;-    VkStencilOp    depthFailOp;-    VkCompareOp    compareOp;-    uint32_t       compareMask;-    uint32_t       writeMask;-    uint32_t       reference;-} VkStencilOpState;--typedef struct VkPipelineDepthStencilStateCreateInfo {-    VkStructureType                           sType;-    const void*                               pNext;-    VkPipelineDepthStencilStateCreateFlags    flags;-    VkBool32                                  depthTestEnable;-    VkBool32                                  depthWriteEnable;-    VkCompareOp                               depthCompareOp;-    VkBool32                                  depthBoundsTestEnable;-    VkBool32                                  stencilTestEnable;-    VkStencilOpState                          front;-    VkStencilOpState                          back;-    float                                     minDepthBounds;-    float                                     maxDepthBounds;-} VkPipelineDepthStencilStateCreateInfo;--typedef struct VkPipelineColorBlendAttachmentState {-    VkBool32                 blendEnable;-    VkBlendFactor            srcColorBlendFactor;-    VkBlendFactor            dstColorBlendFactor;-    VkBlendOp                colorBlendOp;-    VkBlendFactor            srcAlphaBlendFactor;-    VkBlendFactor            dstAlphaBlendFactor;-    VkBlendOp                alphaBlendOp;-    VkColorComponentFlags    colorWriteMask;-} VkPipelineColorBlendAttachmentState;--typedef struct VkPipelineColorBlendStateCreateInfo {-    VkStructureType                               sType;-    const void*                                   pNext;-    VkPipelineColorBlendStateCreateFlags          flags;-    VkBool32                                      logicOpEnable;-    VkLogicOp                                     logicOp;-    uint32_t                                      attachmentCount;-    const VkPipelineColorBlendAttachmentState*    pAttachments;-    float                                         blendConstants[4];-} VkPipelineColorBlendStateCreateInfo;--typedef struct VkPipelineDynamicStateCreateInfo {-    VkStructureType                      sType;-    const void*                          pNext;-    VkPipelineDynamicStateCreateFlags    flags;-    uint32_t                             dynamicStateCount;-    const VkDynamicState*                pDynamicStates;-} VkPipelineDynamicStateCreateInfo;--typedef struct VkGraphicsPipelineCreateInfo {-    VkStructureType                                  sType;-    const void*                                      pNext;-    VkPipelineCreateFlags                            flags;-    uint32_t                                         stageCount;-    const VkPipelineShaderStageCreateInfo*           pStages;-    const VkPipelineVertexInputStateCreateInfo*      pVertexInputState;-    const VkPipelineInputAssemblyStateCreateInfo*    pInputAssemblyState;-    const VkPipelineTessellationStateCreateInfo*     pTessellationState;-    const VkPipelineViewportStateCreateInfo*         pViewportState;-    const VkPipelineRasterizationStateCreateInfo*    pRasterizationState;-    const VkPipelineMultisampleStateCreateInfo*      pMultisampleState;-    const VkPipelineDepthStencilStateCreateInfo*     pDepthStencilState;-    const VkPipelineColorBlendStateCreateInfo*       pColorBlendState;-    const VkPipelineDynamicStateCreateInfo*          pDynamicState;-    VkPipelineLayout                                 layout;-    VkRenderPass                                     renderPass;-    uint32_t                                         subpass;-    VkPipeline                                       basePipelineHandle;-    int32_t                                          basePipelineIndex;-} VkGraphicsPipelineCreateInfo;--typedef struct VkComputePipelineCreateInfo {-    VkStructureType                    sType;-    const void*                        pNext;-    VkPipelineCreateFlags              flags;-    VkPipelineShaderStageCreateInfo    stage;-    VkPipelineLayout                   layout;-    VkPipeline                         basePipelineHandle;-    int32_t                            basePipelineIndex;-} VkComputePipelineCreateInfo;--typedef struct VkPushConstantRange {-    VkShaderStageFlags    stageFlags;-    uint32_t              offset;-    uint32_t              size;-} VkPushConstantRange;--typedef struct VkPipelineLayoutCreateInfo {-    VkStructureType                 sType;-    const void*                     pNext;-    VkPipelineLayoutCreateFlags     flags;-    uint32_t                        setLayoutCount;-    const VkDescriptorSetLayout*    pSetLayouts;-    uint32_t                        pushConstantRangeCount;-    const VkPushConstantRange*      pPushConstantRanges;-} VkPipelineLayoutCreateInfo;--typedef struct VkSamplerCreateInfo {-    VkStructureType         sType;-    const void*             pNext;-    VkSamplerCreateFlags    flags;-    VkFilter                magFilter;-    VkFilter                minFilter;-    VkSamplerMipmapMode     mipmapMode;-    VkSamplerAddressMode    addressModeU;-    VkSamplerAddressMode    addressModeV;-    VkSamplerAddressMode    addressModeW;-    float                   mipLodBias;-    VkBool32                anisotropyEnable;-    float                   maxAnisotropy;-    VkBool32                compareEnable;-    VkCompareOp             compareOp;-    float                   minLod;-    float                   maxLod;-    VkBorderColor           borderColor;-    VkBool32                unnormalizedCoordinates;-} VkSamplerCreateInfo;--typedef struct VkDescriptorSetLayoutBinding {-    uint32_t              binding;-    VkDescriptorType      descriptorType;-    uint32_t              descriptorCount;-    VkShaderStageFlags    stageFlags;-    const VkSampler*      pImmutableSamplers;-} VkDescriptorSetLayoutBinding;--typedef struct VkDescriptorSetLayoutCreateInfo {-    VkStructureType                        sType;-    const void*                            pNext;-    VkDescriptorSetLayoutCreateFlags       flags;-    uint32_t                               bindingCount;-    const VkDescriptorSetLayoutBinding*    pBindings;-} VkDescriptorSetLayoutCreateInfo;--typedef struct VkDescriptorPoolSize {-    VkDescriptorType    type;-    uint32_t            descriptorCount;-} VkDescriptorPoolSize;--typedef struct VkDescriptorPoolCreateInfo {-    VkStructureType                sType;-    const void*                    pNext;-    VkDescriptorPoolCreateFlags    flags;-    uint32_t                       maxSets;-    uint32_t                       poolSizeCount;-    const VkDescriptorPoolSize*    pPoolSizes;-} VkDescriptorPoolCreateInfo;--typedef struct VkDescriptorSetAllocateInfo {-    VkStructureType                 sType;-    const void*                     pNext;-    VkDescriptorPool                descriptorPool;-    uint32_t                        descriptorSetCount;-    const VkDescriptorSetLayout*    pSetLayouts;-} VkDescriptorSetAllocateInfo;--typedef struct VkDescriptorImageInfo {-    VkSampler        sampler;-    VkImageView      imageView;-    VkImageLayout    imageLayout;-} VkDescriptorImageInfo;--typedef struct VkDescriptorBufferInfo {-    VkBuffer        buffer;-    VkDeviceSize    offset;-    VkDeviceSize    range;-} VkDescriptorBufferInfo;--typedef struct VkWriteDescriptorSet {-    VkStructureType                  sType;-    const void*                      pNext;-    VkDescriptorSet                  dstSet;-    uint32_t                         dstBinding;-    uint32_t                         dstArrayElement;-    uint32_t                         descriptorCount;-    VkDescriptorType                 descriptorType;-    const VkDescriptorImageInfo*     pImageInfo;-    const VkDescriptorBufferInfo*    pBufferInfo;-    const VkBufferView*              pTexelBufferView;-} VkWriteDescriptorSet;--typedef struct VkCopyDescriptorSet {-    VkStructureType    sType;-    const void*        pNext;-    VkDescriptorSet    srcSet;-    uint32_t           srcBinding;-    uint32_t           srcArrayElement;-    VkDescriptorSet    dstSet;-    uint32_t           dstBinding;-    uint32_t           dstArrayElement;-    uint32_t           descriptorCount;-} VkCopyDescriptorSet;--typedef struct VkFramebufferCreateInfo {-    VkStructureType             sType;-    const void*                 pNext;-    VkFramebufferCreateFlags    flags;-    VkRenderPass                renderPass;-    uint32_t                    attachmentCount;-    const VkImageView*          pAttachments;-    uint32_t                    width;-    uint32_t                    height;-    uint32_t                    layers;-} VkFramebufferCreateInfo;--typedef struct VkAttachmentDescription {-    VkAttachmentDescriptionFlags    flags;-    VkFormat                        format;-    VkSampleCountFlagBits           samples;-    VkAttachmentLoadOp              loadOp;-    VkAttachmentStoreOp             storeOp;-    VkAttachmentLoadOp              stencilLoadOp;-    VkAttachmentStoreOp             stencilStoreOp;-    VkImageLayout                   initialLayout;-    VkImageLayout                   finalLayout;-} VkAttachmentDescription;--typedef struct VkAttachmentReference {-    uint32_t         attachment;-    VkImageLayout    layout;-} VkAttachmentReference;--typedef struct VkSubpassDescription {-    VkSubpassDescriptionFlags       flags;-    VkPipelineBindPoint             pipelineBindPoint;-    uint32_t                        inputAttachmentCount;-    const VkAttachmentReference*    pInputAttachments;-    uint32_t                        colorAttachmentCount;-    const VkAttachmentReference*    pColorAttachments;-    const VkAttachmentReference*    pResolveAttachments;-    const VkAttachmentReference*    pDepthStencilAttachment;-    uint32_t                        preserveAttachmentCount;-    const uint32_t*                 pPreserveAttachments;-} VkSubpassDescription;--typedef struct VkSubpassDependency {-    uint32_t                srcSubpass;-    uint32_t                dstSubpass;-    VkPipelineStageFlags    srcStageMask;-    VkPipelineStageFlags    dstStageMask;-    VkAccessFlags           srcAccessMask;-    VkAccessFlags           dstAccessMask;-    VkDependencyFlags       dependencyFlags;-} VkSubpassDependency;--typedef struct VkRenderPassCreateInfo {-    VkStructureType                   sType;-    const void*                       pNext;-    VkRenderPassCreateFlags           flags;-    uint32_t                          attachmentCount;-    const VkAttachmentDescription*    pAttachments;-    uint32_t                          subpassCount;-    const VkSubpassDescription*       pSubpasses;-    uint32_t                          dependencyCount;-    const VkSubpassDependency*        pDependencies;-} VkRenderPassCreateInfo;--typedef struct VkCommandPoolCreateInfo {-    VkStructureType             sType;-    const void*                 pNext;-    VkCommandPoolCreateFlags    flags;-    uint32_t                    queueFamilyIndex;-} VkCommandPoolCreateInfo;--typedef struct VkCommandBufferAllocateInfo {-    VkStructureType         sType;-    const void*             pNext;-    VkCommandPool           commandPool;-    VkCommandBufferLevel    level;-    uint32_t                commandBufferCount;-} VkCommandBufferAllocateInfo;--typedef struct VkCommandBufferInheritanceInfo {-    VkStructureType                  sType;-    const void*                      pNext;-    VkRenderPass                     renderPass;-    uint32_t                         subpass;-    VkFramebuffer                    framebuffer;-    VkBool32                         occlusionQueryEnable;-    VkQueryControlFlags              queryFlags;-    VkQueryPipelineStatisticFlags    pipelineStatistics;-} VkCommandBufferInheritanceInfo;--typedef struct VkCommandBufferBeginInfo {-    VkStructureType                          sType;-    const void*                              pNext;-    VkCommandBufferUsageFlags                flags;-    const VkCommandBufferInheritanceInfo*    pInheritanceInfo;-} VkCommandBufferBeginInfo;--typedef struct VkBufferCopy {-    VkDeviceSize    srcOffset;-    VkDeviceSize    dstOffset;-    VkDeviceSize    size;-} VkBufferCopy;--typedef struct VkImageSubresourceLayers {-    VkImageAspectFlags    aspectMask;-    uint32_t              mipLevel;-    uint32_t              baseArrayLayer;-    uint32_t              layerCount;-} VkImageSubresourceLayers;--typedef struct VkImageCopy {-    VkImageSubresourceLayers    srcSubresource;-    VkOffset3D                  srcOffset;-    VkImageSubresourceLayers    dstSubresource;-    VkOffset3D                  dstOffset;-    VkExtent3D                  extent;-} VkImageCopy;--typedef struct VkImageBlit {-    VkImageSubresourceLayers    srcSubresource;-    VkOffset3D                  srcOffsets[2];-    VkImageSubresourceLayers    dstSubresource;-    VkOffset3D                  dstOffsets[2];-} VkImageBlit;--typedef struct VkBufferImageCopy {-    VkDeviceSize                bufferOffset;-    uint32_t                    bufferRowLength;-    uint32_t                    bufferImageHeight;-    VkImageSubresourceLayers    imageSubresource;-    VkOffset3D                  imageOffset;-    VkExtent3D                  imageExtent;-} VkBufferImageCopy;--typedef union VkClearColorValue {-    float       float32[4];-    int32_t     int32[4];-    uint32_t    uint32[4];-} VkClearColorValue;--typedef struct VkClearDepthStencilValue {-    float       depth;-    uint32_t    stencil;-} VkClearDepthStencilValue;--typedef union VkClearValue {-    VkClearColorValue           color;-    VkClearDepthStencilValue    depthStencil;-} VkClearValue;--typedef struct VkClearAttachment {-    VkImageAspectFlags    aspectMask;-    uint32_t              colorAttachment;-    VkClearValue          clearValue;-} VkClearAttachment;--typedef struct VkClearRect {-    VkRect2D    rect;-    uint32_t    baseArrayLayer;-    uint32_t    layerCount;-} VkClearRect;--typedef struct VkImageResolve {-    VkImageSubresourceLayers    srcSubresource;-    VkOffset3D                  srcOffset;-    VkImageSubresourceLayers    dstSubresource;-    VkOffset3D                  dstOffset;-    VkExtent3D                  extent;-} VkImageResolve;--typedef struct VkMemoryBarrier {-    VkStructureType    sType;-    const void*        pNext;-    VkAccessFlags      srcAccessMask;-    VkAccessFlags      dstAccessMask;-} VkMemoryBarrier;--typedef struct VkBufferMemoryBarrier {-    VkStructureType    sType;-    const void*        pNext;-    VkAccessFlags      srcAccessMask;-    VkAccessFlags      dstAccessMask;-    uint32_t           srcQueueFamilyIndex;-    uint32_t           dstQueueFamilyIndex;-    VkBuffer           buffer;-    VkDeviceSize       offset;-    VkDeviceSize       size;-} VkBufferMemoryBarrier;--typedef struct VkImageMemoryBarrier {-    VkStructureType            sType;-    const void*                pNext;-    VkAccessFlags              srcAccessMask;-    VkAccessFlags              dstAccessMask;-    VkImageLayout              oldLayout;-    VkImageLayout              newLayout;-    uint32_t                   srcQueueFamilyIndex;-    uint32_t                   dstQueueFamilyIndex;-    VkImage                    image;-    VkImageSubresourceRange    subresourceRange;-} VkImageMemoryBarrier;--typedef struct VkRenderPassBeginInfo {-    VkStructureType        sType;-    const void*            pNext;-    VkRenderPass           renderPass;-    VkFramebuffer          framebuffer;-    VkRect2D               renderArea;-    uint32_t               clearValueCount;-    const VkClearValue*    pClearValues;-} VkRenderPassBeginInfo;--typedef struct VkDispatchIndirectCommand {-    uint32_t    x;-    uint32_t    y;-    uint32_t    z;-} VkDispatchIndirectCommand;--typedef struct VkDrawIndexedIndirectCommand {-    uint32_t    indexCount;-    uint32_t    instanceCount;-    uint32_t    firstIndex;-    int32_t     vertexOffset;-    uint32_t    firstInstance;-} VkDrawIndexedIndirectCommand;--typedef struct VkDrawIndirectCommand {-    uint32_t    vertexCount;-    uint32_t    instanceCount;-    uint32_t    firstVertex;-    uint32_t    firstInstance;-} VkDrawIndirectCommand;---typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);-typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);-typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);-typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);-typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);-typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);-typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);-typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);-typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);-typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);-typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);-typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);-typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);-typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties);-typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties);-typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue);-typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence);-typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);-typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);-typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);-typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);-typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);-typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);-typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);-typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);-typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);-typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);-typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);-typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);-typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);-typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties);-typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);-typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);-typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences);-typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);-typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout);-typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);-typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);-typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);-typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);-typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);-typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);-typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);-typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);-typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);-typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);-typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);-typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);-typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);-typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);-typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);-typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData);-typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches);-typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);-typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);-typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);-typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);-typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);-typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);-typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);-typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);-typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets);-typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);-typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);-typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);-typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);-typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);-typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);-typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);-typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);-typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);-typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);-typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);-typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);-typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);-typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports);-typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors);-typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);-typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);-typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);-typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);-typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);-typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask);-typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);-typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets);-typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);-typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);-typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);-typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);-typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);-typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);-typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);-typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);-typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions);-typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions);-typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter);-typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions);-typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions);-typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);-typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);-typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);-typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);-typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects);-typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions);-typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);-typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);-typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers);-typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers);-typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);-typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);-typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);-typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query);-typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);-typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues);-typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);-typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);-typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);-typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(-    const VkInstanceCreateInfo*                 pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkInstance*                                 pInstance);--VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(-    VkInstance                                  instance,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(-    VkInstance                                  instance,-    uint32_t*                                   pPhysicalDeviceCount,-    VkPhysicalDevice*                           pPhysicalDevices);--VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(-    VkPhysicalDevice                            physicalDevice,-    VkPhysicalDeviceFeatures*                   pFeatures);--VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(-    VkPhysicalDevice                            physicalDevice,-    VkFormat                                    format,-    VkFormatProperties*                         pFormatProperties);--VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(-    VkPhysicalDevice                            physicalDevice,-    VkFormat                                    format,-    VkImageType                                 type,-    VkImageTiling                               tiling,-    VkImageUsageFlags                           usage,-    VkImageCreateFlags                          flags,-    VkImageFormatProperties*                    pImageFormatProperties);--VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(-    VkPhysicalDevice                            physicalDevice,-    VkPhysicalDeviceProperties*                 pProperties);--VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(-    VkPhysicalDevice                            physicalDevice,-    uint32_t*                                   pQueueFamilyPropertyCount,-    VkQueueFamilyProperties*                    pQueueFamilyProperties);--VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(-    VkPhysicalDevice                            physicalDevice,-    VkPhysicalDeviceMemoryProperties*           pMemoryProperties);--VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(-    VkInstance                                  instance,-    const char*                                 pName);--VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(-    VkDevice                                    device,-    const char*                                 pName);--VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(-    VkPhysicalDevice                            physicalDevice,-    const VkDeviceCreateInfo*                   pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkDevice*                                   pDevice);--VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(-    VkDevice                                    device,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(-    const char*                                 pLayerName,-    uint32_t*                                   pPropertyCount,-    VkExtensionProperties*                      pProperties);--VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(-    VkPhysicalDevice                            physicalDevice,-    const char*                                 pLayerName,-    uint32_t*                                   pPropertyCount,-    VkExtensionProperties*                      pProperties);--VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(-    uint32_t*                                   pPropertyCount,-    VkLayerProperties*                          pProperties);--VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(-    VkPhysicalDevice                            physicalDevice,-    uint32_t*                                   pPropertyCount,-    VkLayerProperties*                          pProperties);--VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(-    VkDevice                                    device,-    uint32_t                                    queueFamilyIndex,-    uint32_t                                    queueIndex,-    VkQueue*                                    pQueue);--VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(-    VkQueue                                     queue,-    uint32_t                                    submitCount,-    const VkSubmitInfo*                         pSubmits,-    VkFence                                     fence);--VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(-    VkQueue                                     queue);--VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(-    VkDevice                                    device);--VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(-    VkDevice                                    device,-    const VkMemoryAllocateInfo*                 pAllocateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkDeviceMemory*                             pMemory);--VKAPI_ATTR void VKAPI_CALL vkFreeMemory(-    VkDevice                                    device,-    VkDeviceMemory                              memory,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(-    VkDevice                                    device,-    VkDeviceMemory                              memory,-    VkDeviceSize                                offset,-    VkDeviceSize                                size,-    VkMemoryMapFlags                            flags,-    void**                                      ppData);--VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(-    VkDevice                                    device,-    VkDeviceMemory                              memory);--VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(-    VkDevice                                    device,-    uint32_t                                    memoryRangeCount,-    const VkMappedMemoryRange*                  pMemoryRanges);--VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(-    VkDevice                                    device,-    uint32_t                                    memoryRangeCount,-    const VkMappedMemoryRange*                  pMemoryRanges);--VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(-    VkDevice                                    device,-    VkDeviceMemory                              memory,-    VkDeviceSize*                               pCommittedMemoryInBytes);--VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(-    VkDevice                                    device,-    VkBuffer                                    buffer,-    VkDeviceMemory                              memory,-    VkDeviceSize                                memoryOffset);--VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(-    VkDevice                                    device,-    VkImage                                     image,-    VkDeviceMemory                              memory,-    VkDeviceSize                                memoryOffset);--VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(-    VkDevice                                    device,-    VkBuffer                                    buffer,-    VkMemoryRequirements*                       pMemoryRequirements);--VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(-    VkDevice                                    device,-    VkImage                                     image,-    VkMemoryRequirements*                       pMemoryRequirements);--VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(-    VkDevice                                    device,-    VkImage                                     image,-    uint32_t*                                   pSparseMemoryRequirementCount,-    VkSparseImageMemoryRequirements*            pSparseMemoryRequirements);--VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(-    VkPhysicalDevice                            physicalDevice,-    VkFormat                                    format,-    VkImageType                                 type,-    VkSampleCountFlagBits                       samples,-    VkImageUsageFlags                           usage,-    VkImageTiling                               tiling,-    uint32_t*                                   pPropertyCount,-    VkSparseImageFormatProperties*              pProperties);--VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(-    VkQueue                                     queue,-    uint32_t                                    bindInfoCount,-    const VkBindSparseInfo*                     pBindInfo,-    VkFence                                     fence);--VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(-    VkDevice                                    device,-    const VkFenceCreateInfo*                    pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkFence*                                    pFence);--VKAPI_ATTR void VKAPI_CALL vkDestroyFence(-    VkDevice                                    device,-    VkFence                                     fence,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(-    VkDevice                                    device,-    uint32_t                                    fenceCount,-    const VkFence*                              pFences);--VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(-    VkDevice                                    device,-    VkFence                                     fence);--VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(-    VkDevice                                    device,-    uint32_t                                    fenceCount,-    const VkFence*                              pFences,-    VkBool32                                    waitAll,-    uint64_t                                    timeout);--VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(-    VkDevice                                    device,-    const VkSemaphoreCreateInfo*                pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkSemaphore*                                pSemaphore);--VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(-    VkDevice                                    device,-    VkSemaphore                                 semaphore,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(-    VkDevice                                    device,-    const VkEventCreateInfo*                    pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkEvent*                                    pEvent);--VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(-    VkDevice                                    device,-    VkEvent                                     event,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(-    VkDevice                                    device,-    VkEvent                                     event);--VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(-    VkDevice                                    device,-    VkEvent                                     event);--VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(-    VkDevice                                    device,-    VkEvent                                     event);--VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(-    VkDevice                                    device,-    const VkQueryPoolCreateInfo*                pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkQueryPool*                                pQueryPool);--VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(-    VkDevice                                    device,-    VkQueryPool                                 queryPool,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(-    VkDevice                                    device,-    VkQueryPool                                 queryPool,-    uint32_t                                    firstQuery,-    uint32_t                                    queryCount,-    size_t                                      dataSize,-    void*                                       pData,-    VkDeviceSize                                stride,-    VkQueryResultFlags                          flags);--VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(-    VkDevice                                    device,-    const VkBufferCreateInfo*                   pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkBuffer*                                   pBuffer);--VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(-    VkDevice                                    device,-    VkBuffer                                    buffer,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(-    VkDevice                                    device,-    const VkBufferViewCreateInfo*               pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkBufferView*                               pView);--VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(-    VkDevice                                    device,-    VkBufferView                                bufferView,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(-    VkDevice                                    device,-    const VkImageCreateInfo*                    pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkImage*                                    pImage);--VKAPI_ATTR void VKAPI_CALL vkDestroyImage(-    VkDevice                                    device,-    VkImage                                     image,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(-    VkDevice                                    device,-    VkImage                                     image,-    const VkImageSubresource*                   pSubresource,-    VkSubresourceLayout*                        pLayout);--VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(-    VkDevice                                    device,-    const VkImageViewCreateInfo*                pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkImageView*                                pView);--VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(-    VkDevice                                    device,-    VkImageView                                 imageView,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(-    VkDevice                                    device,-    const VkShaderModuleCreateInfo*             pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkShaderModule*                             pShaderModule);--VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(-    VkDevice                                    device,-    VkShaderModule                              shaderModule,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(-    VkDevice                                    device,-    const VkPipelineCacheCreateInfo*            pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkPipelineCache*                            pPipelineCache);--VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(-    VkDevice                                    device,-    VkPipelineCache                             pipelineCache,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(-    VkDevice                                    device,-    VkPipelineCache                             pipelineCache,-    size_t*                                     pDataSize,-    void*                                       pData);--VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(-    VkDevice                                    device,-    VkPipelineCache                             dstCache,-    uint32_t                                    srcCacheCount,-    const VkPipelineCache*                      pSrcCaches);--VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(-    VkDevice                                    device,-    VkPipelineCache                             pipelineCache,-    uint32_t                                    createInfoCount,-    const VkGraphicsPipelineCreateInfo*         pCreateInfos,-    const VkAllocationCallbacks*                pAllocator,-    VkPipeline*                                 pPipelines);--VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(-    VkDevice                                    device,-    VkPipelineCache                             pipelineCache,-    uint32_t                                    createInfoCount,-    const VkComputePipelineCreateInfo*          pCreateInfos,-    const VkAllocationCallbacks*                pAllocator,-    VkPipeline*                                 pPipelines);--VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(-    VkDevice                                    device,-    VkPipeline                                  pipeline,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(-    VkDevice                                    device,-    const VkPipelineLayoutCreateInfo*           pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkPipelineLayout*                           pPipelineLayout);--VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(-    VkDevice                                    device,-    VkPipelineLayout                            pipelineLayout,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(-    VkDevice                                    device,-    const VkSamplerCreateInfo*                  pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkSampler*                                  pSampler);--VKAPI_ATTR void VKAPI_CALL vkDestroySampler(-    VkDevice                                    device,-    VkSampler                                   sampler,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(-    VkDevice                                    device,-    const VkDescriptorSetLayoutCreateInfo*      pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkDescriptorSetLayout*                      pSetLayout);--VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(-    VkDevice                                    device,-    VkDescriptorSetLayout                       descriptorSetLayout,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(-    VkDevice                                    device,-    const VkDescriptorPoolCreateInfo*           pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkDescriptorPool*                           pDescriptorPool);--VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(-    VkDevice                                    device,-    VkDescriptorPool                            descriptorPool,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(-    VkDevice                                    device,-    VkDescriptorPool                            descriptorPool,-    VkDescriptorPoolResetFlags                  flags);--VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(-    VkDevice                                    device,-    const VkDescriptorSetAllocateInfo*          pAllocateInfo,-    VkDescriptorSet*                            pDescriptorSets);--VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(-    VkDevice                                    device,-    VkDescriptorPool                            descriptorPool,-    uint32_t                                    descriptorSetCount,-    const VkDescriptorSet*                      pDescriptorSets);--VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(-    VkDevice                                    device,-    uint32_t                                    descriptorWriteCount,-    const VkWriteDescriptorSet*                 pDescriptorWrites,-    uint32_t                                    descriptorCopyCount,-    const VkCopyDescriptorSet*                  pDescriptorCopies);--VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(-    VkDevice                                    device,-    const VkFramebufferCreateInfo*              pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkFramebuffer*                              pFramebuffer);--VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(-    VkDevice                                    device,-    VkFramebuffer                               framebuffer,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(-    VkDevice                                    device,-    const VkRenderPassCreateInfo*               pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkRenderPass*                               pRenderPass);--VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(-    VkDevice                                    device,-    VkRenderPass                                renderPass,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(-    VkDevice                                    device,-    VkRenderPass                                renderPass,-    VkExtent2D*                                 pGranularity);--VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(-    VkDevice                                    device,-    const VkCommandPoolCreateInfo*              pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkCommandPool*                              pCommandPool);--VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(-    VkDevice                                    device,-    VkCommandPool                               commandPool,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(-    VkDevice                                    device,-    VkCommandPool                               commandPool,-    VkCommandPoolResetFlags                     flags);--VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(-    VkDevice                                    device,-    const VkCommandBufferAllocateInfo*          pAllocateInfo,-    VkCommandBuffer*                            pCommandBuffers);--VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(-    VkDevice                                    device,-    VkCommandPool                               commandPool,-    uint32_t                                    commandBufferCount,-    const VkCommandBuffer*                      pCommandBuffers);--VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(-    VkCommandBuffer                             commandBuffer,-    const VkCommandBufferBeginInfo*             pBeginInfo);--VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(-    VkCommandBuffer                             commandBuffer);--VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(-    VkCommandBuffer                             commandBuffer,-    VkCommandBufferResetFlags                   flags);--VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(-    VkCommandBuffer                             commandBuffer,-    VkPipelineBindPoint                         pipelineBindPoint,-    VkPipeline                                  pipeline);--VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(-    VkCommandBuffer                             commandBuffer,-    uint32_t                                    firstViewport,-    uint32_t                                    viewportCount,-    const VkViewport*                           pViewports);--VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(-    VkCommandBuffer                             commandBuffer,-    uint32_t                                    firstScissor,-    uint32_t                                    scissorCount,-    const VkRect2D*                             pScissors);--VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(-    VkCommandBuffer                             commandBuffer,-    float                                       lineWidth);--VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(-    VkCommandBuffer                             commandBuffer,-    float                                       depthBiasConstantFactor,-    float                                       depthBiasClamp,-    float                                       depthBiasSlopeFactor);--VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(-    VkCommandBuffer                             commandBuffer,-    const float                                 blendConstants[4]);--VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(-    VkCommandBuffer                             commandBuffer,-    float                                       minDepthBounds,-    float                                       maxDepthBounds);--VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(-    VkCommandBuffer                             commandBuffer,-    VkStencilFaceFlags                          faceMask,-    uint32_t                                    compareMask);--VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(-    VkCommandBuffer                             commandBuffer,-    VkStencilFaceFlags                          faceMask,-    uint32_t                                    writeMask);--VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(-    VkCommandBuffer                             commandBuffer,-    VkStencilFaceFlags                          faceMask,-    uint32_t                                    reference);--VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(-    VkCommandBuffer                             commandBuffer,-    VkPipelineBindPoint                         pipelineBindPoint,-    VkPipelineLayout                            layout,-    uint32_t                                    firstSet,-    uint32_t                                    descriptorSetCount,-    const VkDescriptorSet*                      pDescriptorSets,-    uint32_t                                    dynamicOffsetCount,-    const uint32_t*                             pDynamicOffsets);--VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(-    VkCommandBuffer                             commandBuffer,-    VkBuffer                                    buffer,-    VkDeviceSize                                offset,-    VkIndexType                                 indexType);--VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(-    VkCommandBuffer                             commandBuffer,-    uint32_t                                    firstBinding,-    uint32_t                                    bindingCount,-    const VkBuffer*                             pBuffers,-    const VkDeviceSize*                         pOffsets);--VKAPI_ATTR void VKAPI_CALL vkCmdDraw(-    VkCommandBuffer                             commandBuffer,-    uint32_t                                    vertexCount,-    uint32_t                                    instanceCount,-    uint32_t                                    firstVertex,-    uint32_t                                    firstInstance);--VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(-    VkCommandBuffer                             commandBuffer,-    uint32_t                                    indexCount,-    uint32_t                                    instanceCount,-    uint32_t                                    firstIndex,-    int32_t                                     vertexOffset,-    uint32_t                                    firstInstance);--VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(-    VkCommandBuffer                             commandBuffer,-    VkBuffer                                    buffer,-    VkDeviceSize                                offset,-    uint32_t                                    drawCount,-    uint32_t                                    stride);--VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(-    VkCommandBuffer                             commandBuffer,-    VkBuffer                                    buffer,-    VkDeviceSize                                offset,-    uint32_t                                    drawCount,-    uint32_t                                    stride);--VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(-    VkCommandBuffer                             commandBuffer,-    uint32_t                                    groupCountX,-    uint32_t                                    groupCountY,-    uint32_t                                    groupCountZ);--VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(-    VkCommandBuffer                             commandBuffer,-    VkBuffer                                    buffer,-    VkDeviceSize                                offset);--VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(-    VkCommandBuffer                             commandBuffer,-    VkBuffer                                    srcBuffer,-    VkBuffer                                    dstBuffer,-    uint32_t                                    regionCount,-    const VkBufferCopy*                         pRegions);--VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(-    VkCommandBuffer                             commandBuffer,-    VkImage                                     srcImage,-    VkImageLayout                               srcImageLayout,-    VkImage                                     dstImage,-    VkImageLayout                               dstImageLayout,-    uint32_t                                    regionCount,-    const VkImageCopy*                          pRegions);--VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(-    VkCommandBuffer                             commandBuffer,-    VkImage                                     srcImage,-    VkImageLayout                               srcImageLayout,-    VkImage                                     dstImage,-    VkImageLayout                               dstImageLayout,-    uint32_t                                    regionCount,-    const VkImageBlit*                          pRegions,-    VkFilter                                    filter);--VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(-    VkCommandBuffer                             commandBuffer,-    VkBuffer                                    srcBuffer,-    VkImage                                     dstImage,-    VkImageLayout                               dstImageLayout,-    uint32_t                                    regionCount,-    const VkBufferImageCopy*                    pRegions);--VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(-    VkCommandBuffer                             commandBuffer,-    VkImage                                     srcImage,-    VkImageLayout                               srcImageLayout,-    VkBuffer                                    dstBuffer,-    uint32_t                                    regionCount,-    const VkBufferImageCopy*                    pRegions);--VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(-    VkCommandBuffer                             commandBuffer,-    VkBuffer                                    dstBuffer,-    VkDeviceSize                                dstOffset,-    VkDeviceSize                                dataSize,-    const void*                                 pData);--VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(-    VkCommandBuffer                             commandBuffer,-    VkBuffer                                    dstBuffer,-    VkDeviceSize                                dstOffset,-    VkDeviceSize                                size,-    uint32_t                                    data);--VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(-    VkCommandBuffer                             commandBuffer,-    VkImage                                     image,-    VkImageLayout                               imageLayout,-    const VkClearColorValue*                    pColor,-    uint32_t                                    rangeCount,-    const VkImageSubresourceRange*              pRanges);--VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(-    VkCommandBuffer                             commandBuffer,-    VkImage                                     image,-    VkImageLayout                               imageLayout,-    const VkClearDepthStencilValue*             pDepthStencil,-    uint32_t                                    rangeCount,-    const VkImageSubresourceRange*              pRanges);--VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(-    VkCommandBuffer                             commandBuffer,-    uint32_t                                    attachmentCount,-    const VkClearAttachment*                    pAttachments,-    uint32_t                                    rectCount,-    const VkClearRect*                          pRects);--VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(-    VkCommandBuffer                             commandBuffer,-    VkImage                                     srcImage,-    VkImageLayout                               srcImageLayout,-    VkImage                                     dstImage,-    VkImageLayout                               dstImageLayout,-    uint32_t                                    regionCount,-    const VkImageResolve*                       pRegions);--VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(-    VkCommandBuffer                             commandBuffer,-    VkEvent                                     event,-    VkPipelineStageFlags                        stageMask);--VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(-    VkCommandBuffer                             commandBuffer,-    VkEvent                                     event,-    VkPipelineStageFlags                        stageMask);--VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(-    VkCommandBuffer                             commandBuffer,-    uint32_t                                    eventCount,-    const VkEvent*                              pEvents,-    VkPipelineStageFlags                        srcStageMask,-    VkPipelineStageFlags                        dstStageMask,-    uint32_t                                    memoryBarrierCount,-    const VkMemoryBarrier*                      pMemoryBarriers,-    uint32_t                                    bufferMemoryBarrierCount,-    const VkBufferMemoryBarrier*                pBufferMemoryBarriers,-    uint32_t                                    imageMemoryBarrierCount,-    const VkImageMemoryBarrier*                 pImageMemoryBarriers);--VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(-    VkCommandBuffer                             commandBuffer,-    VkPipelineStageFlags                        srcStageMask,-    VkPipelineStageFlags                        dstStageMask,-    VkDependencyFlags                           dependencyFlags,-    uint32_t                                    memoryBarrierCount,-    const VkMemoryBarrier*                      pMemoryBarriers,-    uint32_t                                    bufferMemoryBarrierCount,-    const VkBufferMemoryBarrier*                pBufferMemoryBarriers,-    uint32_t                                    imageMemoryBarrierCount,-    const VkImageMemoryBarrier*                 pImageMemoryBarriers);--VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(-    VkCommandBuffer                             commandBuffer,-    VkQueryPool                                 queryPool,-    uint32_t                                    query,-    VkQueryControlFlags                         flags);--VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(-    VkCommandBuffer                             commandBuffer,-    VkQueryPool                                 queryPool,-    uint32_t                                    query);--VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(-    VkCommandBuffer                             commandBuffer,-    VkQueryPool                                 queryPool,-    uint32_t                                    firstQuery,-    uint32_t                                    queryCount);--VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(-    VkCommandBuffer                             commandBuffer,-    VkPipelineStageFlagBits                     pipelineStage,-    VkQueryPool                                 queryPool,-    uint32_t                                    query);--VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(-    VkCommandBuffer                             commandBuffer,-    VkQueryPool                                 queryPool,-    uint32_t                                    firstQuery,-    uint32_t                                    queryCount,-    VkBuffer                                    dstBuffer,-    VkDeviceSize                                dstOffset,-    VkDeviceSize                                stride,-    VkQueryResultFlags                          flags);--VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(-    VkCommandBuffer                             commandBuffer,-    VkPipelineLayout                            layout,-    VkShaderStageFlags                          stageFlags,-    uint32_t                                    offset,-    uint32_t                                    size,-    const void*                                 pValues);--VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(-    VkCommandBuffer                             commandBuffer,-    const VkRenderPassBeginInfo*                pRenderPassBegin,-    VkSubpassContents                           contents);--VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(-    VkCommandBuffer                             commandBuffer,-    VkSubpassContents                           contents);--VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(-    VkCommandBuffer                             commandBuffer);--VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(-    VkCommandBuffer                             commandBuffer,-    uint32_t                                    commandBufferCount,-    const VkCommandBuffer*                      pCommandBuffers);-#endif--#define VK_KHR_surface 1-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)--#define VK_KHR_SURFACE_SPEC_VERSION       25-#define VK_KHR_SURFACE_EXTENSION_NAME     "VK_KHR_surface"-#define VK_COLORSPACE_SRGB_NONLINEAR_KHR  VK_COLOR_SPACE_SRGB_NONLINEAR_KHR---typedef enum VkColorSpaceKHR {-    VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,-    VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,-    VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,-    VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003,-    VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,-    VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,-    VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,-    VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,-    VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,-    VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,-    VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,-    VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,-    VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,-    VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,-    VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,-    VK_COLOR_SPACE_BEGIN_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,-    VK_COLOR_SPACE_END_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,-    VK_COLOR_SPACE_RANGE_SIZE_KHR = (VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - VK_COLOR_SPACE_SRGB_NONLINEAR_KHR + 1),-    VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF-} VkColorSpaceKHR;--typedef enum VkPresentModeKHR {-    VK_PRESENT_MODE_IMMEDIATE_KHR = 0,-    VK_PRESENT_MODE_MAILBOX_KHR = 1,-    VK_PRESENT_MODE_FIFO_KHR = 2,-    VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,-    VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,-    VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,-    VK_PRESENT_MODE_BEGIN_RANGE_KHR = VK_PRESENT_MODE_IMMEDIATE_KHR,-    VK_PRESENT_MODE_END_RANGE_KHR = VK_PRESENT_MODE_FIFO_RELAXED_KHR,-    VK_PRESENT_MODE_RANGE_SIZE_KHR = (VK_PRESENT_MODE_FIFO_RELAXED_KHR - VK_PRESENT_MODE_IMMEDIATE_KHR + 1),-    VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF-} VkPresentModeKHR;---typedef enum VkSurfaceTransformFlagBitsKHR {-    VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,-    VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,-    VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,-    VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,-    VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,-    VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,-    VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,-    VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,-    VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,-    VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF-} VkSurfaceTransformFlagBitsKHR;-typedef VkFlags VkSurfaceTransformFlagsKHR;--typedef enum VkCompositeAlphaFlagBitsKHR {-    VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,-    VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,-    VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,-    VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,-    VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF-} VkCompositeAlphaFlagBitsKHR;-typedef VkFlags VkCompositeAlphaFlagsKHR;--typedef struct VkSurfaceCapabilitiesKHR {-    uint32_t                         minImageCount;-    uint32_t                         maxImageCount;-    VkExtent2D                       currentExtent;-    VkExtent2D                       minImageExtent;-    VkExtent2D                       maxImageExtent;-    uint32_t                         maxImageArrayLayers;-    VkSurfaceTransformFlagsKHR       supportedTransforms;-    VkSurfaceTransformFlagBitsKHR    currentTransform;-    VkCompositeAlphaFlagsKHR         supportedCompositeAlpha;-    VkImageUsageFlags                supportedUsageFlags;-} VkSurfaceCapabilitiesKHR;--typedef struct VkSurfaceFormatKHR {-    VkFormat           format;-    VkColorSpaceKHR    colorSpace;-} VkSurfaceFormatKHR;---typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);-typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);-typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);-typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(-    VkInstance                                  instance,-    VkSurfaceKHR                                surface,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(-    VkPhysicalDevice                            physicalDevice,-    uint32_t                                    queueFamilyIndex,-    VkSurfaceKHR                                surface,-    VkBool32*                                   pSupported);--VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(-    VkPhysicalDevice                            physicalDevice,-    VkSurfaceKHR                                surface,-    VkSurfaceCapabilitiesKHR*                   pSurfaceCapabilities);--VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(-    VkPhysicalDevice                            physicalDevice,-    VkSurfaceKHR                                surface,-    uint32_t*                                   pSurfaceFormatCount,-    VkSurfaceFormatKHR*                         pSurfaceFormats);--VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(-    VkPhysicalDevice                            physicalDevice,-    VkSurfaceKHR                                surface,-    uint32_t*                                   pPresentModeCount,-    VkPresentModeKHR*                           pPresentModes);-#endif--#define VK_KHR_swapchain 1-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)--#define VK_KHR_SWAPCHAIN_SPEC_VERSION     68-#define VK_KHR_SWAPCHAIN_EXTENSION_NAME   "VK_KHR_swapchain"---typedef enum VkSwapchainCreateFlagBitsKHR {-    VK_SWAPCHAIN_CREATE_BIND_SFR_BIT_KHX = 0x00000001,-    VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF-} VkSwapchainCreateFlagBitsKHR;-typedef VkFlags VkSwapchainCreateFlagsKHR;--typedef struct VkSwapchainCreateInfoKHR {-    VkStructureType                  sType;-    const void*                      pNext;-    VkSwapchainCreateFlagsKHR        flags;-    VkSurfaceKHR                     surface;-    uint32_t                         minImageCount;-    VkFormat                         imageFormat;-    VkColorSpaceKHR                  imageColorSpace;-    VkExtent2D                       imageExtent;-    uint32_t                         imageArrayLayers;-    VkImageUsageFlags                imageUsage;-    VkSharingMode                    imageSharingMode;-    uint32_t                         queueFamilyIndexCount;-    const uint32_t*                  pQueueFamilyIndices;-    VkSurfaceTransformFlagBitsKHR    preTransform;-    VkCompositeAlphaFlagBitsKHR      compositeAlpha;-    VkPresentModeKHR                 presentMode;-    VkBool32                         clipped;-    VkSwapchainKHR                   oldSwapchain;-} VkSwapchainCreateInfoKHR;--typedef struct VkPresentInfoKHR {-    VkStructureType          sType;-    const void*              pNext;-    uint32_t                 waitSemaphoreCount;-    const VkSemaphore*       pWaitSemaphores;-    uint32_t                 swapchainCount;-    const VkSwapchainKHR*    pSwapchains;-    const uint32_t*          pImageIndices;-    VkResult*                pResults;-} VkPresentInfoKHR;---typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);-typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages);-typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex);-typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(-    VkDevice                                    device,-    const VkSwapchainCreateInfoKHR*             pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkSwapchainKHR*                             pSwapchain);--VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(-    VkDevice                                    device,-    VkSwapchainKHR                              swapchain,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(-    VkDevice                                    device,-    VkSwapchainKHR                              swapchain,-    uint32_t*                                   pSwapchainImageCount,-    VkImage*                                    pSwapchainImages);--VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(-    VkDevice                                    device,-    VkSwapchainKHR                              swapchain,-    uint64_t                                    timeout,-    VkSemaphore                                 semaphore,-    VkFence                                     fence,-    uint32_t*                                   pImageIndex);--VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(-    VkQueue                                     queue,-    const VkPresentInfoKHR*                     pPresentInfo);-#endif--#define VK_KHR_display 1-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)--#define VK_KHR_DISPLAY_SPEC_VERSION       21-#define VK_KHR_DISPLAY_EXTENSION_NAME     "VK_KHR_display"---typedef enum VkDisplayPlaneAlphaFlagBitsKHR {-    VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,-    VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,-    VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,-    VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,-    VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF-} VkDisplayPlaneAlphaFlagBitsKHR;-typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;-typedef VkFlags VkDisplayModeCreateFlagsKHR;-typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;--typedef struct VkDisplayPropertiesKHR {-    VkDisplayKHR                  display;-    const char*                   displayName;-    VkExtent2D                    physicalDimensions;-    VkExtent2D                    physicalResolution;-    VkSurfaceTransformFlagsKHR    supportedTransforms;-    VkBool32                      planeReorderPossible;-    VkBool32                      persistentContent;-} VkDisplayPropertiesKHR;--typedef struct VkDisplayModeParametersKHR {-    VkExtent2D    visibleRegion;-    uint32_t      refreshRate;-} VkDisplayModeParametersKHR;--typedef struct VkDisplayModePropertiesKHR {-    VkDisplayModeKHR              displayMode;-    VkDisplayModeParametersKHR    parameters;-} VkDisplayModePropertiesKHR;--typedef struct VkDisplayModeCreateInfoKHR {-    VkStructureType                sType;-    const void*                    pNext;-    VkDisplayModeCreateFlagsKHR    flags;-    VkDisplayModeParametersKHR     parameters;-} VkDisplayModeCreateInfoKHR;--typedef struct VkDisplayPlaneCapabilitiesKHR {-    VkDisplayPlaneAlphaFlagsKHR    supportedAlpha;-    VkOffset2D                     minSrcPosition;-    VkOffset2D                     maxSrcPosition;-    VkExtent2D                     minSrcExtent;-    VkExtent2D                     maxSrcExtent;-    VkOffset2D                     minDstPosition;-    VkOffset2D                     maxDstPosition;-    VkExtent2D                     minDstExtent;-    VkExtent2D                     maxDstExtent;-} VkDisplayPlaneCapabilitiesKHR;--typedef struct VkDisplayPlanePropertiesKHR {-    VkDisplayKHR    currentDisplay;-    uint32_t        currentStackIndex;-} VkDisplayPlanePropertiesKHR;--typedef struct VkDisplaySurfaceCreateInfoKHR {-    VkStructureType                   sType;-    const void*                       pNext;-    VkDisplaySurfaceCreateFlagsKHR    flags;-    VkDisplayModeKHR                  displayMode;-    uint32_t                          planeIndex;-    uint32_t                          planeStackIndex;-    VkSurfaceTransformFlagBitsKHR     transform;-    float                             globalAlpha;-    VkDisplayPlaneAlphaFlagBitsKHR    alphaMode;-    VkExtent2D                        imageExtent;-} VkDisplaySurfaceCreateInfoKHR;---typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties);-typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);-typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays);-typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);-typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);-typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);-typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(-    VkPhysicalDevice                            physicalDevice,-    uint32_t*                                   pPropertyCount,-    VkDisplayPropertiesKHR*                     pProperties);--VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(-    VkPhysicalDevice                            physicalDevice,-    uint32_t*                                   pPropertyCount,-    VkDisplayPlanePropertiesKHR*                pProperties);--VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(-    VkPhysicalDevice                            physicalDevice,-    uint32_t                                    planeIndex,-    uint32_t*                                   pDisplayCount,-    VkDisplayKHR*                               pDisplays);--VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(-    VkPhysicalDevice                            physicalDevice,-    VkDisplayKHR                                display,-    uint32_t*                                   pPropertyCount,-    VkDisplayModePropertiesKHR*                 pProperties);--VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(-    VkPhysicalDevice                            physicalDevice,-    VkDisplayKHR                                display,-    const VkDisplayModeCreateInfoKHR*           pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkDisplayModeKHR*                           pMode);--VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(-    VkPhysicalDevice                            physicalDevice,-    VkDisplayModeKHR                            mode,-    uint32_t                                    planeIndex,-    VkDisplayPlaneCapabilitiesKHR*              pCapabilities);--VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(-    VkInstance                                  instance,-    const VkDisplaySurfaceCreateInfoKHR*        pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkSurfaceKHR*                               pSurface);-#endif--#define VK_KHR_display_swapchain 1-#define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 9-#define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"--typedef struct VkDisplayPresentInfoKHR {-    VkStructureType    sType;-    const void*        pNext;-    VkRect2D           srcRect;-    VkRect2D           dstRect;-    VkBool32           persistent;-} VkDisplayPresentInfoKHR;---typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(-    VkDevice                                    device,-    uint32_t                                    swapchainCount,-    const VkSwapchainCreateInfoKHR*             pCreateInfos,-    const VkAllocationCallbacks*                pAllocator,-    VkSwapchainKHR*                             pSwapchains);-#endif--#ifdef VK_USE_PLATFORM_XLIB_KHR-#define VK_KHR_xlib_surface 1-#include <X11/Xlib.h>--#define VK_KHR_XLIB_SURFACE_SPEC_VERSION  6-#define VK_KHR_XLIB_SURFACE_EXTENSION_NAME "VK_KHR_xlib_surface"--typedef VkFlags VkXlibSurfaceCreateFlagsKHR;--typedef struct VkXlibSurfaceCreateInfoKHR {-    VkStructureType                sType;-    const void*                    pNext;-    VkXlibSurfaceCreateFlagsKHR    flags;-    Display*                       dpy;-    Window                         window;-} VkXlibSurfaceCreateInfoKHR;---typedef VkResult (VKAPI_PTR *PFN_vkCreateXlibSurfaceKHR)(VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);-typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR(-    VkInstance                                  instance,-    const VkXlibSurfaceCreateInfoKHR*           pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkSurfaceKHR*                               pSurface);--VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXlibPresentationSupportKHR(-    VkPhysicalDevice                            physicalDevice,-    uint32_t                                    queueFamilyIndex,-    Display*                                    dpy,-    VisualID                                    visualID);-#endif-#endif /* VK_USE_PLATFORM_XLIB_KHR */--#ifdef VK_USE_PLATFORM_XCB_KHR-#define VK_KHR_xcb_surface 1-#include <xcb/xcb.h>--#define VK_KHR_XCB_SURFACE_SPEC_VERSION   6-#define VK_KHR_XCB_SURFACE_EXTENSION_NAME "VK_KHR_xcb_surface"--typedef VkFlags VkXcbSurfaceCreateFlagsKHR;--typedef struct VkXcbSurfaceCreateInfoKHR {-    VkStructureType               sType;-    const void*                   pNext;-    VkXcbSurfaceCreateFlagsKHR    flags;-    xcb_connection_t*             connection;-    xcb_window_t                  window;-} VkXcbSurfaceCreateInfoKHR;---typedef VkResult (VKAPI_PTR *PFN_vkCreateXcbSurfaceKHR)(VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);-typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkCreateXcbSurfaceKHR(-    VkInstance                                  instance,-    const VkXcbSurfaceCreateInfoKHR*            pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkSurfaceKHR*                               pSurface);--VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXcbPresentationSupportKHR(-    VkPhysicalDevice                            physicalDevice,-    uint32_t                                    queueFamilyIndex,-    xcb_connection_t*                           connection,-    xcb_visualid_t                              visual_id);-#endif-#endif /* VK_USE_PLATFORM_XCB_KHR */--#ifdef VK_USE_PLATFORM_WAYLAND_KHR-#define VK_KHR_wayland_surface 1-#include <wayland-client.h>--#define VK_KHR_WAYLAND_SURFACE_SPEC_VERSION 6-#define VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME "VK_KHR_wayland_surface"--typedef VkFlags VkWaylandSurfaceCreateFlagsKHR;--typedef struct VkWaylandSurfaceCreateInfoKHR {-    VkStructureType                   sType;-    const void*                       pNext;-    VkWaylandSurfaceCreateFlagsKHR    flags;-    struct wl_display*                display;-    struct wl_surface*                surface;-} VkWaylandSurfaceCreateInfoKHR;---typedef VkResult (VKAPI_PTR *PFN_vkCreateWaylandSurfaceKHR)(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);-typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display* display);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkCreateWaylandSurfaceKHR(-    VkInstance                                  instance,-    const VkWaylandSurfaceCreateInfoKHR*        pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkSurfaceKHR*                               pSurface);--VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWaylandPresentationSupportKHR(-    VkPhysicalDevice                            physicalDevice,-    uint32_t                                    queueFamilyIndex,-    struct wl_display*                          display);-#endif-#endif /* VK_USE_PLATFORM_WAYLAND_KHR */--#ifdef VK_USE_PLATFORM_MIR_KHR-#define VK_KHR_mir_surface 1-#include <mir_toolkit/client_types.h>--#define VK_KHR_MIR_SURFACE_SPEC_VERSION   4-#define VK_KHR_MIR_SURFACE_EXTENSION_NAME "VK_KHR_mir_surface"--typedef VkFlags VkMirSurfaceCreateFlagsKHR;--typedef struct VkMirSurfaceCreateInfoKHR {-    VkStructureType               sType;-    const void*                   pNext;-    VkMirSurfaceCreateFlagsKHR    flags;-    MirConnection*                connection;-    MirSurface*                   mirSurface;-} VkMirSurfaceCreateInfoKHR;---typedef VkResult (VKAPI_PTR *PFN_vkCreateMirSurfaceKHR)(VkInstance instance, const VkMirSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);-typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceMirPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, MirConnection* connection);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkCreateMirSurfaceKHR(-    VkInstance                                  instance,-    const VkMirSurfaceCreateInfoKHR*            pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkSurfaceKHR*                               pSurface);--VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceMirPresentationSupportKHR(-    VkPhysicalDevice                            physicalDevice,-    uint32_t                                    queueFamilyIndex,-    MirConnection*                              connection);-#endif-#endif /* VK_USE_PLATFORM_MIR_KHR */--#ifdef VK_USE_PLATFORM_ANDROID_KHR-#define VK_KHR_android_surface 1-#include <android/native_window.h>--#define VK_KHR_ANDROID_SURFACE_SPEC_VERSION 6-#define VK_KHR_ANDROID_SURFACE_EXTENSION_NAME "VK_KHR_android_surface"--typedef VkFlags VkAndroidSurfaceCreateFlagsKHR;--typedef struct VkAndroidSurfaceCreateInfoKHR {-    VkStructureType                   sType;-    const void*                       pNext;-    VkAndroidSurfaceCreateFlagsKHR    flags;-    ANativeWindow*                    window;-} VkAndroidSurfaceCreateInfoKHR;---typedef VkResult (VKAPI_PTR *PFN_vkCreateAndroidSurfaceKHR)(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(-    VkInstance                                  instance,-    const VkAndroidSurfaceCreateInfoKHR*        pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkSurfaceKHR*                               pSurface);-#endif-#endif /* VK_USE_PLATFORM_ANDROID_KHR */--#ifdef VK_USE_PLATFORM_WIN32_KHR-#define VK_KHR_win32_surface 1-#include <windows.h>--#define VK_KHR_WIN32_SURFACE_SPEC_VERSION 6-#define VK_KHR_WIN32_SURFACE_EXTENSION_NAME "VK_KHR_win32_surface"--typedef VkFlags VkWin32SurfaceCreateFlagsKHR;--typedef struct VkWin32SurfaceCreateInfoKHR {-    VkStructureType                 sType;-    const void*                     pNext;-    VkWin32SurfaceCreateFlagsKHR    flags;-    HINSTANCE                       hinstance;-    HWND                            hwnd;-} VkWin32SurfaceCreateInfoKHR;---typedef VkResult (VKAPI_PTR *PFN_vkCreateWin32SurfaceKHR)(VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);-typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkCreateWin32SurfaceKHR(-    VkInstance                                  instance,-    const VkWin32SurfaceCreateInfoKHR*          pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkSurfaceKHR*                               pSurface);--VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR(-    VkPhysicalDevice                            physicalDevice,-    uint32_t                                    queueFamilyIndex);-#endif-#endif /* VK_USE_PLATFORM_WIN32_KHR */--#define VK_KHR_sampler_mirror_clamp_to_edge 1-#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 1-#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"---#define VK_KHR_get_physical_device_properties2 1-#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 1-#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"--typedef struct VkPhysicalDeviceFeatures2KHR {-    VkStructureType             sType;-    void*                       pNext;-    VkPhysicalDeviceFeatures    features;-} VkPhysicalDeviceFeatures2KHR;--typedef struct VkPhysicalDeviceProperties2KHR {-    VkStructureType               sType;-    void*                         pNext;-    VkPhysicalDeviceProperties    properties;-} VkPhysicalDeviceProperties2KHR;--typedef struct VkFormatProperties2KHR {-    VkStructureType       sType;-    void*                 pNext;-    VkFormatProperties    formatProperties;-} VkFormatProperties2KHR;--typedef struct VkImageFormatProperties2KHR {-    VkStructureType            sType;-    void*                      pNext;-    VkImageFormatProperties    imageFormatProperties;-} VkImageFormatProperties2KHR;--typedef struct VkPhysicalDeviceImageFormatInfo2KHR {-    VkStructureType       sType;-    const void*           pNext;-    VkFormat              format;-    VkImageType           type;-    VkImageTiling         tiling;-    VkImageUsageFlags     usage;-    VkImageCreateFlags    flags;-} VkPhysicalDeviceImageFormatInfo2KHR;--typedef struct VkQueueFamilyProperties2KHR {-    VkStructureType            sType;-    void*                      pNext;-    VkQueueFamilyProperties    queueFamilyProperties;-} VkQueueFamilyProperties2KHR;--typedef struct VkPhysicalDeviceMemoryProperties2KHR {-    VkStructureType                     sType;-    void*                               pNext;-    VkPhysicalDeviceMemoryProperties    memoryProperties;-} VkPhysicalDeviceMemoryProperties2KHR;--typedef struct VkSparseImageFormatProperties2KHR {-    VkStructureType                  sType;-    void*                            pNext;-    VkSparseImageFormatProperties    properties;-} VkSparseImageFormatProperties2KHR;--typedef struct VkPhysicalDeviceSparseImageFormatInfo2KHR {-    VkStructureType          sType;-    const void*              pNext;-    VkFormat                 format;-    VkImageType              type;-    VkSampleCountFlagBits    samples;-    VkImageUsageFlags        usage;-    VkImageTiling            tiling;-} VkPhysicalDeviceSparseImageFormatInfo2KHR;---typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2KHR* pFeatures);-typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2KHR* pProperties);-typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2KHR* pFormatProperties);-typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2KHR* pImageFormatInfo, VkImageFormatProperties2KHR* pImageFormatProperties);-typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2KHR* pQueueFamilyProperties);-typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2KHR* pMemoryProperties);-typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2KHR* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2KHR* pProperties);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(-    VkPhysicalDevice                            physicalDevice,-    VkPhysicalDeviceFeatures2KHR*               pFeatures);--VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(-    VkPhysicalDevice                            physicalDevice,-    VkPhysicalDeviceProperties2KHR*             pProperties);--VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(-    VkPhysicalDevice                            physicalDevice,-    VkFormat                                    format,-    VkFormatProperties2KHR*                     pFormatProperties);--VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(-    VkPhysicalDevice                            physicalDevice,-    const VkPhysicalDeviceImageFormatInfo2KHR*  pImageFormatInfo,-    VkImageFormatProperties2KHR*                pImageFormatProperties);--VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(-    VkPhysicalDevice                            physicalDevice,-    uint32_t*                                   pQueueFamilyPropertyCount,-    VkQueueFamilyProperties2KHR*                pQueueFamilyProperties);--VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(-    VkPhysicalDevice                            physicalDevice,-    VkPhysicalDeviceMemoryProperties2KHR*       pMemoryProperties);--VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(-    VkPhysicalDevice                            physicalDevice,-    const VkPhysicalDeviceSparseImageFormatInfo2KHR* pFormatInfo,-    uint32_t*                                   pPropertyCount,-    VkSparseImageFormatProperties2KHR*          pProperties);-#endif--#define VK_KHR_shader_draw_parameters 1-#define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1-#define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"---#define VK_KHR_maintenance1 1-#define VK_KHR_MAINTENANCE1_SPEC_VERSION  1-#define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"--typedef VkFlags VkCommandPoolTrimFlagsKHR;--typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlagsKHR flags);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(-    VkDevice                                    device,-    VkCommandPool                               commandPool,-    VkCommandPoolTrimFlagsKHR                   flags);-#endif--#define VK_KHR_external_memory_capabilities 1-#define VK_LUID_SIZE_KHR                  8-#define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1-#define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"---typedef enum VkExternalMemoryHandleTypeFlagBitsKHR {-    VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = 0x00000001,-    VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = 0x00000002,-    VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = 0x00000004,-    VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = 0x00000008,-    VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = 0x00000010,-    VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = 0x00000020,-    VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = 0x00000040,-    VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,-    VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,-    VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,-    VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF-} VkExternalMemoryHandleTypeFlagBitsKHR;-typedef VkFlags VkExternalMemoryHandleTypeFlagsKHR;--typedef enum VkExternalMemoryFeatureFlagBitsKHR {-    VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = 0x00000001,-    VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = 0x00000002,-    VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = 0x00000004,-    VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF-} VkExternalMemoryFeatureFlagBitsKHR;-typedef VkFlags VkExternalMemoryFeatureFlagsKHR;--typedef struct VkExternalMemoryPropertiesKHR {-    VkExternalMemoryFeatureFlagsKHR       externalMemoryFeatures;-    VkExternalMemoryHandleTypeFlagsKHR    exportFromImportedHandleTypes;-    VkExternalMemoryHandleTypeFlagsKHR    compatibleHandleTypes;-} VkExternalMemoryPropertiesKHR;--typedef struct VkPhysicalDeviceExternalImageFormatInfoKHR {-    VkStructureType                          sType;-    const void*                              pNext;-    VkExternalMemoryHandleTypeFlagBitsKHR    handleType;-} VkPhysicalDeviceExternalImageFormatInfoKHR;--typedef struct VkExternalImageFormatPropertiesKHR {-    VkStructureType                  sType;-    void*                            pNext;-    VkExternalMemoryPropertiesKHR    externalMemoryProperties;-} VkExternalImageFormatPropertiesKHR;--typedef struct VkPhysicalDeviceExternalBufferInfoKHR {-    VkStructureType                          sType;-    const void*                              pNext;-    VkBufferCreateFlags                      flags;-    VkBufferUsageFlags                       usage;-    VkExternalMemoryHandleTypeFlagBitsKHR    handleType;-} VkPhysicalDeviceExternalBufferInfoKHR;--typedef struct VkExternalBufferPropertiesKHR {-    VkStructureType                  sType;-    void*                            pNext;-    VkExternalMemoryPropertiesKHR    externalMemoryProperties;-} VkExternalBufferPropertiesKHR;--typedef struct VkPhysicalDeviceIDPropertiesKHR {-    VkStructureType    sType;-    void*              pNext;-    uint8_t            deviceUUID[VK_UUID_SIZE];-    uint8_t            driverUUID[VK_UUID_SIZE];-    uint8_t            deviceLUID[VK_LUID_SIZE_KHR];-    uint32_t           deviceNodeMask;-    VkBool32           deviceLUIDValid;-} VkPhysicalDeviceIDPropertiesKHR;---typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfoKHR* pExternalBufferInfo, VkExternalBufferPropertiesKHR* pExternalBufferProperties);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(-    VkPhysicalDevice                            physicalDevice,-    const VkPhysicalDeviceExternalBufferInfoKHR* pExternalBufferInfo,-    VkExternalBufferPropertiesKHR*              pExternalBufferProperties);-#endif--#define VK_KHR_external_memory 1-#define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1-#define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"-#define VK_QUEUE_FAMILY_EXTERNAL_KHR      (~0U-1)--typedef struct VkExternalMemoryImageCreateInfoKHR {-    VkStructureType                       sType;-    const void*                           pNext;-    VkExternalMemoryHandleTypeFlagsKHR    handleTypes;-} VkExternalMemoryImageCreateInfoKHR;--typedef struct VkExternalMemoryBufferCreateInfoKHR {-    VkStructureType                       sType;-    const void*                           pNext;-    VkExternalMemoryHandleTypeFlagsKHR    handleTypes;-} VkExternalMemoryBufferCreateInfoKHR;--typedef struct VkExportMemoryAllocateInfoKHR {-    VkStructureType                       sType;-    const void*                           pNext;-    VkExternalMemoryHandleTypeFlagsKHR    handleTypes;-} VkExportMemoryAllocateInfoKHR;----#ifdef VK_USE_PLATFORM_WIN32_KHR-#define VK_KHR_external_memory_win32 1-#define VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1-#define VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_KHR_external_memory_win32"--typedef struct VkImportMemoryWin32HandleInfoKHR {-    VkStructureType                          sType;-    const void*                              pNext;-    VkExternalMemoryHandleTypeFlagBitsKHR    handleType;-    HANDLE                                   handle;-    LPCWSTR                                  name;-} VkImportMemoryWin32HandleInfoKHR;--typedef struct VkExportMemoryWin32HandleInfoKHR {-    VkStructureType               sType;-    const void*                   pNext;-    const SECURITY_ATTRIBUTES*    pAttributes;-    DWORD                         dwAccess;-    LPCWSTR                       name;-} VkExportMemoryWin32HandleInfoKHR;--typedef struct VkMemoryWin32HandlePropertiesKHR {-    VkStructureType    sType;-    void*              pNext;-    uint32_t           memoryTypeBits;-} VkMemoryWin32HandlePropertiesKHR;--typedef struct VkMemoryGetWin32HandleInfoKHR {-    VkStructureType                          sType;-    const void*                              pNext;-    VkDeviceMemory                           memory;-    VkExternalMemoryHandleTypeFlagBitsKHR    handleType;-} VkMemoryGetWin32HandleInfoKHR;---typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleKHR)(VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);-typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandlePropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBitsKHR handleType, HANDLE handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleKHR(-    VkDevice                                    device,-    const VkMemoryGetWin32HandleInfoKHR*        pGetWin32HandleInfo,-    HANDLE*                                     pHandle);--VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandlePropertiesKHR(-    VkDevice                                    device,-    VkExternalMemoryHandleTypeFlagBitsKHR       handleType,-    HANDLE                                      handle,-    VkMemoryWin32HandlePropertiesKHR*           pMemoryWin32HandleProperties);-#endif-#endif /* VK_USE_PLATFORM_WIN32_KHR */--#define VK_KHR_external_memory_fd 1-#define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1-#define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"--typedef struct VkImportMemoryFdInfoKHR {-    VkStructureType                          sType;-    const void*                              pNext;-    VkExternalMemoryHandleTypeFlagBitsKHR    handleType;-    int                                      fd;-} VkImportMemoryFdInfoKHR;--typedef struct VkMemoryFdPropertiesKHR {-    VkStructureType    sType;-    void*              pNext;-    uint32_t           memoryTypeBits;-} VkMemoryFdPropertiesKHR;--typedef struct VkMemoryGetFdInfoKHR {-    VkStructureType                          sType;-    const void*                              pNext;-    VkDeviceMemory                           memory;-    VkExternalMemoryHandleTypeFlagBitsKHR    handleType;-} VkMemoryGetFdInfoKHR;---typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);-typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBitsKHR handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(-    VkDevice                                    device,-    const VkMemoryGetFdInfoKHR*                 pGetFdInfo,-    int*                                        pFd);--VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(-    VkDevice                                    device,-    VkExternalMemoryHandleTypeFlagBitsKHR       handleType,-    int                                         fd,-    VkMemoryFdPropertiesKHR*                    pMemoryFdProperties);-#endif--#ifdef VK_USE_PLATFORM_WIN32_KHR-#define VK_KHR_win32_keyed_mutex 1-#define VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION 1-#define VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_KHR_win32_keyed_mutex"--typedef struct VkWin32KeyedMutexAcquireReleaseInfoKHR {-    VkStructureType          sType;-    const void*              pNext;-    uint32_t                 acquireCount;-    const VkDeviceMemory*    pAcquireSyncs;-    const uint64_t*          pAcquireKeys;-    const uint32_t*          pAcquireTimeouts;-    uint32_t                 releaseCount;-    const VkDeviceMemory*    pReleaseSyncs;-    const uint64_t*          pReleaseKeys;-} VkWin32KeyedMutexAcquireReleaseInfoKHR;---#endif /* VK_USE_PLATFORM_WIN32_KHR */--#define VK_KHR_external_semaphore_capabilities 1-#define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1-#define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"---typedef enum VkExternalSemaphoreHandleTypeFlagBitsKHR {-    VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = 0x00000001,-    VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = 0x00000002,-    VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = 0x00000004,-    VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = 0x00000008,-    VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = 0x00000010,-    VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF-} VkExternalSemaphoreHandleTypeFlagBitsKHR;-typedef VkFlags VkExternalSemaphoreHandleTypeFlagsKHR;--typedef enum VkExternalSemaphoreFeatureFlagBitsKHR {-    VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = 0x00000001,-    VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = 0x00000002,-    VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF-} VkExternalSemaphoreFeatureFlagBitsKHR;-typedef VkFlags VkExternalSemaphoreFeatureFlagsKHR;--typedef struct VkPhysicalDeviceExternalSemaphoreInfoKHR {-    VkStructureType                             sType;-    const void*                                 pNext;-    VkExternalSemaphoreHandleTypeFlagBitsKHR    handleType;-} VkPhysicalDeviceExternalSemaphoreInfoKHR;--typedef struct VkExternalSemaphorePropertiesKHR {-    VkStructureType                          sType;-    void*                                    pNext;-    VkExternalSemaphoreHandleTypeFlagsKHR    exportFromImportedHandleTypes;-    VkExternalSemaphoreHandleTypeFlagsKHR    compatibleHandleTypes;-    VkExternalSemaphoreFeatureFlagsKHR       externalSemaphoreFeatures;-} VkExternalSemaphorePropertiesKHR;---typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfoKHR* pExternalSemaphoreInfo, VkExternalSemaphorePropertiesKHR* pExternalSemaphoreProperties);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(-    VkPhysicalDevice                            physicalDevice,-    const VkPhysicalDeviceExternalSemaphoreInfoKHR* pExternalSemaphoreInfo,-    VkExternalSemaphorePropertiesKHR*           pExternalSemaphoreProperties);-#endif--#define VK_KHR_external_semaphore 1-#define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1-#define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"---typedef enum VkSemaphoreImportFlagBitsKHR {-    VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = 0x00000001,-    VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF-} VkSemaphoreImportFlagBitsKHR;-typedef VkFlags VkSemaphoreImportFlagsKHR;--typedef struct VkExportSemaphoreCreateInfoKHR {-    VkStructureType                          sType;-    const void*                              pNext;-    VkExternalSemaphoreHandleTypeFlagsKHR    handleTypes;-} VkExportSemaphoreCreateInfoKHR;----#ifdef VK_USE_PLATFORM_WIN32_KHR-#define VK_KHR_external_semaphore_win32 1-#define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION 1-#define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME "VK_KHR_external_semaphore_win32"--typedef struct VkImportSemaphoreWin32HandleInfoKHR {-    VkStructureType                             sType;-    const void*                                 pNext;-    VkSemaphore                                 semaphore;-    VkSemaphoreImportFlagsKHR                   flags;-    VkExternalSemaphoreHandleTypeFlagBitsKHR    handleType;-    HANDLE                                      handle;-    LPCWSTR                                     name;-} VkImportSemaphoreWin32HandleInfoKHR;--typedef struct VkExportSemaphoreWin32HandleInfoKHR {-    VkStructureType               sType;-    const void*                   pNext;-    const SECURITY_ATTRIBUTES*    pAttributes;-    DWORD                         dwAccess;-    LPCWSTR                       name;-} VkExportSemaphoreWin32HandleInfoKHR;--typedef struct VkD3D12FenceSubmitInfoKHR {-    VkStructureType    sType;-    const void*        pNext;-    uint32_t           waitSemaphoreValuesCount;-    const uint64_t*    pWaitSemaphoreValues;-    uint32_t           signalSemaphoreValuesCount;-    const uint64_t*    pSignalSemaphoreValues;-} VkD3D12FenceSubmitInfoKHR;--typedef struct VkSemaphoreGetWin32HandleInfoKHR {-    VkStructureType                             sType;-    const void*                                 pNext;-    VkSemaphore                                 semaphore;-    VkExternalSemaphoreHandleTypeFlagBitsKHR    handleType;-} VkSemaphoreGetWin32HandleInfoKHR;---typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreWin32HandleKHR)(VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo);-typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreWin32HandleKHR)(VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreWin32HandleKHR(-    VkDevice                                    device,-    const VkImportSemaphoreWin32HandleInfoKHR*  pImportSemaphoreWin32HandleInfo);--VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreWin32HandleKHR(-    VkDevice                                    device,-    const VkSemaphoreGetWin32HandleInfoKHR*     pGetWin32HandleInfo,-    HANDLE*                                     pHandle);-#endif-#endif /* VK_USE_PLATFORM_WIN32_KHR */--#define VK_KHR_external_semaphore_fd 1-#define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1-#define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"--typedef struct VkImportSemaphoreFdInfoKHR {-    VkStructureType                             sType;-    const void*                                 pNext;-    VkSemaphore                                 semaphore;-    VkSemaphoreImportFlagsKHR                   flags;-    VkExternalSemaphoreHandleTypeFlagBitsKHR    handleType;-    int                                         fd;-} VkImportSemaphoreFdInfoKHR;--typedef struct VkSemaphoreGetFdInfoKHR {-    VkStructureType                             sType;-    const void*                                 pNext;-    VkSemaphore                                 semaphore;-    VkExternalSemaphoreHandleTypeFlagBitsKHR    handleType;-} VkSemaphoreGetFdInfoKHR;---typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);-typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(-    VkDevice                                    device,-    const VkImportSemaphoreFdInfoKHR*           pImportSemaphoreFdInfo);--VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(-    VkDevice                                    device,-    const VkSemaphoreGetFdInfoKHR*              pGetFdInfo,-    int*                                        pFd);-#endif--#define VK_KHR_push_descriptor 1-#define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 1-#define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"--typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {-    VkStructureType    sType;-    void*              pNext;-    uint32_t           maxPushDescriptors;-} VkPhysicalDevicePushDescriptorPropertiesKHR;---typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(-    VkCommandBuffer                             commandBuffer,-    VkPipelineBindPoint                         pipelineBindPoint,-    VkPipelineLayout                            layout,-    uint32_t                                    set,-    uint32_t                                    descriptorWriteCount,-    const VkWriteDescriptorSet*                 pDescriptorWrites);-#endif--#define VK_KHR_16bit_storage 1-#define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1-#define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"--typedef struct VkPhysicalDevice16BitStorageFeaturesKHR {-    VkStructureType    sType;-    void*              pNext;-    VkBool32           storageBuffer16BitAccess;-    VkBool32           uniformAndStorageBuffer16BitAccess;-    VkBool32           storagePushConstant16;-    VkBool32           storageInputOutput16;-} VkPhysicalDevice16BitStorageFeaturesKHR;----#define VK_KHR_incremental_present 1-#define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1-#define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"--typedef struct VkRectLayerKHR {-    VkOffset2D    offset;-    VkExtent2D    extent;-    uint32_t      layer;-} VkRectLayerKHR;--typedef struct VkPresentRegionKHR {-    uint32_t                 rectangleCount;-    const VkRectLayerKHR*    pRectangles;-} VkPresentRegionKHR;--typedef struct VkPresentRegionsKHR {-    VkStructureType              sType;-    const void*                  pNext;-    uint32_t                     swapchainCount;-    const VkPresentRegionKHR*    pRegions;-} VkPresentRegionsKHR;----#define VK_KHR_descriptor_update_template 1-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplateKHR)--#define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1-#define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"---typedef enum VkDescriptorUpdateTemplateTypeKHR {-    VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = 0,-    VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,-    VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_BEGIN_RANGE_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR,-    VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_END_RANGE_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR,-    VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_RANGE_SIZE_KHR = (VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR - VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR + 1),-    VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF-} VkDescriptorUpdateTemplateTypeKHR;--typedef VkFlags VkDescriptorUpdateTemplateCreateFlagsKHR;--typedef struct VkDescriptorUpdateTemplateEntryKHR {-    uint32_t            dstBinding;-    uint32_t            dstArrayElement;-    uint32_t            descriptorCount;-    VkDescriptorType    descriptorType;-    size_t              offset;-    size_t              stride;-} VkDescriptorUpdateTemplateEntryKHR;--typedef struct VkDescriptorUpdateTemplateCreateInfoKHR {-    VkStructureType                              sType;-    void*                                        pNext;-    VkDescriptorUpdateTemplateCreateFlagsKHR     flags;-    uint32_t                                     descriptorUpdateEntryCount;-    const VkDescriptorUpdateTemplateEntryKHR*    pDescriptorUpdateEntries;-    VkDescriptorUpdateTemplateTypeKHR            templateType;-    VkDescriptorSetLayout                        descriptorSetLayout;-    VkPipelineBindPoint                          pipelineBindPoint;-    VkPipelineLayout                             pipelineLayout;-    uint32_t                                     set;-} VkDescriptorUpdateTemplateCreateInfoKHR;---typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplateKHR* pDescriptorUpdateTemplate);-typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);-typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const void* pData);-typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(-    VkDevice                                    device,-    const VkDescriptorUpdateTemplateCreateInfoKHR* pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkDescriptorUpdateTemplateKHR*              pDescriptorUpdateTemplate);--VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(-    VkDevice                                    device,-    VkDescriptorUpdateTemplateKHR               descriptorUpdateTemplate,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(-    VkDevice                                    device,-    VkDescriptorSet                             descriptorSet,-    VkDescriptorUpdateTemplateKHR               descriptorUpdateTemplate,-    const void*                                 pData);--VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(-    VkCommandBuffer                             commandBuffer,-    VkDescriptorUpdateTemplateKHR               descriptorUpdateTemplate,-    VkPipelineLayout                            layout,-    uint32_t                                    set,-    const void*                                 pData);-#endif--#define VK_KHR_shared_presentable_image 1-#define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1-#define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"--typedef struct VkSharedPresentSurfaceCapabilitiesKHR {-    VkStructureType      sType;-    void*                pNext;-    VkImageUsageFlags    sharedPresentSupportedUsageFlags;-} VkSharedPresentSurfaceCapabilitiesKHR;---typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(-    VkDevice                                    device,-    VkSwapchainKHR                              swapchain);-#endif--#define VK_KHR_external_fence_capabilities 1-#define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1-#define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"---typedef enum VkExternalFenceHandleTypeFlagBitsKHR {-    VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = 0x00000001,-    VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = 0x00000002,-    VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = 0x00000004,-    VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = 0x00000008,-    VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF-} VkExternalFenceHandleTypeFlagBitsKHR;-typedef VkFlags VkExternalFenceHandleTypeFlagsKHR;--typedef enum VkExternalFenceFeatureFlagBitsKHR {-    VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = 0x00000001,-    VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = 0x00000002,-    VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF-} VkExternalFenceFeatureFlagBitsKHR;-typedef VkFlags VkExternalFenceFeatureFlagsKHR;--typedef struct VkPhysicalDeviceExternalFenceInfoKHR {-    VkStructureType                         sType;-    const void*                             pNext;-    VkExternalFenceHandleTypeFlagBitsKHR    handleType;-} VkPhysicalDeviceExternalFenceInfoKHR;--typedef struct VkExternalFencePropertiesKHR {-    VkStructureType                      sType;-    void*                                pNext;-    VkExternalFenceHandleTypeFlagsKHR    exportFromImportedHandleTypes;-    VkExternalFenceHandleTypeFlagsKHR    compatibleHandleTypes;-    VkExternalFenceFeatureFlagsKHR       externalFenceFeatures;-} VkExternalFencePropertiesKHR;---typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfoKHR* pExternalFenceInfo, VkExternalFencePropertiesKHR* pExternalFenceProperties);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(-    VkPhysicalDevice                            physicalDevice,-    const VkPhysicalDeviceExternalFenceInfoKHR* pExternalFenceInfo,-    VkExternalFencePropertiesKHR*               pExternalFenceProperties);-#endif--#define VK_KHR_external_fence 1-#define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1-#define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"---typedef enum VkFenceImportFlagBitsKHR {-    VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = 0x00000001,-    VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF-} VkFenceImportFlagBitsKHR;-typedef VkFlags VkFenceImportFlagsKHR;--typedef struct VkExportFenceCreateInfoKHR {-    VkStructureType                      sType;-    const void*                          pNext;-    VkExternalFenceHandleTypeFlagsKHR    handleTypes;-} VkExportFenceCreateInfoKHR;----#ifdef VK_USE_PLATFORM_WIN32_KHR-#define VK_KHR_external_fence_win32 1-#define VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION 1-#define VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME "VK_KHR_external_fence_win32"--typedef struct VkImportFenceWin32HandleInfoKHR {-    VkStructureType                         sType;-    const void*                             pNext;-    VkFence                                 fence;-    VkFenceImportFlagsKHR                   flags;-    VkExternalFenceHandleTypeFlagBitsKHR    handleType;-    HANDLE                                  handle;-    LPCWSTR                                 name;-} VkImportFenceWin32HandleInfoKHR;--typedef struct VkExportFenceWin32HandleInfoKHR {-    VkStructureType               sType;-    const void*                   pNext;-    const SECURITY_ATTRIBUTES*    pAttributes;-    DWORD                         dwAccess;-    LPCWSTR                       name;-} VkExportFenceWin32HandleInfoKHR;--typedef struct VkFenceGetWin32HandleInfoKHR {-    VkStructureType                         sType;-    const void*                             pNext;-    VkFence                                 fence;-    VkExternalFenceHandleTypeFlagBitsKHR    handleType;-} VkFenceGetWin32HandleInfoKHR;---typedef VkResult (VKAPI_PTR *PFN_vkImportFenceWin32HandleKHR)(VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo);-typedef VkResult (VKAPI_PTR *PFN_vkGetFenceWin32HandleKHR)(VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceWin32HandleKHR(-    VkDevice                                    device,-    const VkImportFenceWin32HandleInfoKHR*      pImportFenceWin32HandleInfo);--VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceWin32HandleKHR(-    VkDevice                                    device,-    const VkFenceGetWin32HandleInfoKHR*         pGetWin32HandleInfo,-    HANDLE*                                     pHandle);-#endif-#endif /* VK_USE_PLATFORM_WIN32_KHR */--#define VK_KHR_external_fence_fd 1-#define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1-#define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"--typedef struct VkImportFenceFdInfoKHR {-    VkStructureType                         sType;-    const void*                             pNext;-    VkFence                                 fence;-    VkFenceImportFlagsKHR                   flags;-    VkExternalFenceHandleTypeFlagBitsKHR    handleType;-    int                                     fd;-} VkImportFenceFdInfoKHR;--typedef struct VkFenceGetFdInfoKHR {-    VkStructureType                         sType;-    const void*                             pNext;-    VkFence                                 fence;-    VkExternalFenceHandleTypeFlagBitsKHR    handleType;-} VkFenceGetFdInfoKHR;---typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);-typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(-    VkDevice                                    device,-    const VkImportFenceFdInfoKHR*               pImportFenceFdInfo);--VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(-    VkDevice                                    device,-    const VkFenceGetFdInfoKHR*                  pGetFdInfo,-    int*                                        pFd);-#endif--#define VK_KHR_maintenance2 1-#define VK_KHR_MAINTENANCE2_SPEC_VERSION  1-#define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"---typedef enum VkPointClippingBehaviorKHR {-    VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = 0,-    VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = 1,-    VK_POINT_CLIPPING_BEHAVIOR_BEGIN_RANGE_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR,-    VK_POINT_CLIPPING_BEHAVIOR_END_RANGE_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR,-    VK_POINT_CLIPPING_BEHAVIOR_RANGE_SIZE_KHR = (VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR - VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR + 1),-    VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM_KHR = 0x7FFFFFFF-} VkPointClippingBehaviorKHR;--typedef enum VkTessellationDomainOriginKHR {-    VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = 0,-    VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = 1,-    VK_TESSELLATION_DOMAIN_ORIGIN_BEGIN_RANGE_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR,-    VK_TESSELLATION_DOMAIN_ORIGIN_END_RANGE_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR,-    VK_TESSELLATION_DOMAIN_ORIGIN_RANGE_SIZE_KHR = (VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR - VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR + 1),-    VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM_KHR = 0x7FFFFFFF-} VkTessellationDomainOriginKHR;--typedef struct VkPhysicalDevicePointClippingPropertiesKHR {-    VkStructureType               sType;-    void*                         pNext;-    VkPointClippingBehaviorKHR    pointClippingBehavior;-} VkPhysicalDevicePointClippingPropertiesKHR;--typedef struct VkInputAttachmentAspectReferenceKHR {-    uint32_t              subpass;-    uint32_t              inputAttachmentIndex;-    VkImageAspectFlags    aspectMask;-} VkInputAttachmentAspectReferenceKHR;--typedef struct VkRenderPassInputAttachmentAspectCreateInfoKHR {-    VkStructureType                               sType;-    const void*                                   pNext;-    uint32_t                                      aspectReferenceCount;-    const VkInputAttachmentAspectReferenceKHR*    pAspectReferences;-} VkRenderPassInputAttachmentAspectCreateInfoKHR;--typedef struct VkImageViewUsageCreateInfoKHR {-    VkStructureType      sType;-    const void*          pNext;-    VkImageUsageFlags    usage;-} VkImageViewUsageCreateInfoKHR;--typedef struct VkPipelineTessellationDomainOriginStateCreateInfoKHR {-    VkStructureType                  sType;-    const void*                      pNext;-    VkTessellationDomainOriginKHR    domainOrigin;-} VkPipelineTessellationDomainOriginStateCreateInfoKHR;----#define VK_KHR_get_surface_capabilities2 1-#define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1-#define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"--typedef struct VkPhysicalDeviceSurfaceInfo2KHR {-    VkStructureType    sType;-    const void*        pNext;-    VkSurfaceKHR       surface;-} VkPhysicalDeviceSurfaceInfo2KHR;--typedef struct VkSurfaceCapabilities2KHR {-    VkStructureType             sType;-    void*                       pNext;-    VkSurfaceCapabilitiesKHR    surfaceCapabilities;-} VkSurfaceCapabilities2KHR;--typedef struct VkSurfaceFormat2KHR {-    VkStructureType       sType;-    void*                 pNext;-    VkSurfaceFormatKHR    surfaceFormat;-} VkSurfaceFormat2KHR;---typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);-typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(-    VkPhysicalDevice                            physicalDevice,-    const VkPhysicalDeviceSurfaceInfo2KHR*      pSurfaceInfo,-    VkSurfaceCapabilities2KHR*                  pSurfaceCapabilities);--VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(-    VkPhysicalDevice                            physicalDevice,-    const VkPhysicalDeviceSurfaceInfo2KHR*      pSurfaceInfo,-    uint32_t*                                   pSurfaceFormatCount,-    VkSurfaceFormat2KHR*                        pSurfaceFormats);-#endif--#define VK_KHR_variable_pointers 1-#define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1-#define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"--typedef struct VkPhysicalDeviceVariablePointerFeaturesKHR {-    VkStructureType    sType;-    void*              pNext;-    VkBool32           variablePointersStorageBuffer;-    VkBool32           variablePointers;-} VkPhysicalDeviceVariablePointerFeaturesKHR;----#define VK_KHR_dedicated_allocation 1-#define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3-#define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"--typedef struct VkMemoryDedicatedRequirementsKHR {-    VkStructureType    sType;-    void*              pNext;-    VkBool32           prefersDedicatedAllocation;-    VkBool32           requiresDedicatedAllocation;-} VkMemoryDedicatedRequirementsKHR;--typedef struct VkMemoryDedicatedAllocateInfoKHR {-    VkStructureType    sType;-    const void*        pNext;-    VkImage            image;-    VkBuffer           buffer;-} VkMemoryDedicatedAllocateInfoKHR;----#define VK_KHR_storage_buffer_storage_class 1-#define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1-#define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"---#define VK_KHR_relaxed_block_layout 1-#define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1-#define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"---#define VK_KHR_get_memory_requirements2 1-#define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1-#define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"--typedef struct VkBufferMemoryRequirementsInfo2KHR {-    VkStructureType    sType;-    const void*        pNext;-    VkBuffer           buffer;-} VkBufferMemoryRequirementsInfo2KHR;--typedef struct VkImageMemoryRequirementsInfo2KHR {-    VkStructureType    sType;-    const void*        pNext;-    VkImage            image;-} VkImageMemoryRequirementsInfo2KHR;--typedef struct VkImageSparseMemoryRequirementsInfo2KHR {-    VkStructureType    sType;-    const void*        pNext;-    VkImage            image;-} VkImageSparseMemoryRequirementsInfo2KHR;--typedef struct VkMemoryRequirements2KHR {-    VkStructureType         sType;-    void*                   pNext;-    VkMemoryRequirements    memoryRequirements;-} VkMemoryRequirements2KHR;--typedef struct VkSparseImageMemoryRequirements2KHR {-    VkStructureType                    sType;-    void*                              pNext;-    VkSparseImageMemoryRequirements    memoryRequirements;-} VkSparseImageMemoryRequirements2KHR;---typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2KHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);-typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2KHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);-typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2KHR* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2KHR* pSparseMemoryRequirements);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(-    VkDevice                                    device,-    const VkImageMemoryRequirementsInfo2KHR*    pInfo,-    VkMemoryRequirements2KHR*                   pMemoryRequirements);--VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(-    VkDevice                                    device,-    const VkBufferMemoryRequirementsInfo2KHR*   pInfo,-    VkMemoryRequirements2KHR*                   pMemoryRequirements);--VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(-    VkDevice                                    device,-    const VkImageSparseMemoryRequirementsInfo2KHR* pInfo,-    uint32_t*                                   pSparseMemoryRequirementCount,-    VkSparseImageMemoryRequirements2KHR*        pSparseMemoryRequirements);-#endif--#define VK_KHR_image_format_list 1-#define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1-#define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"--typedef struct VkImageFormatListCreateInfoKHR {-    VkStructureType    sType;-    const void*        pNext;-    uint32_t           viewFormatCount;-    const VkFormat*    pViewFormats;-} VkImageFormatListCreateInfoKHR;----#define VK_KHR_sampler_ycbcr_conversion 1-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversionKHR)--#define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 1-#define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"---typedef enum VkSamplerYcbcrModelConversionKHR {-    VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = 0,-    VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = 1,-    VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = 2,-    VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = 3,-    VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = 4,-    VK_SAMPLER_YCBCR_MODEL_CONVERSION_BEGIN_RANGE_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR,-    VK_SAMPLER_YCBCR_MODEL_CONVERSION_END_RANGE_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR,-    VK_SAMPLER_YCBCR_MODEL_CONVERSION_RANGE_SIZE_KHR = (VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR - VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR + 1),-    VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM_KHR = 0x7FFFFFFF-} VkSamplerYcbcrModelConversionKHR;--typedef enum VkSamplerYcbcrRangeKHR {-    VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = 0,-    VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = 1,-    VK_SAMPLER_YCBCR_RANGE_BEGIN_RANGE_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR,-    VK_SAMPLER_YCBCR_RANGE_END_RANGE_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR,-    VK_SAMPLER_YCBCR_RANGE_RANGE_SIZE_KHR = (VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR - VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR + 1),-    VK_SAMPLER_YCBCR_RANGE_MAX_ENUM_KHR = 0x7FFFFFFF-} VkSamplerYcbcrRangeKHR;--typedef enum VkChromaLocationKHR {-    VK_CHROMA_LOCATION_COSITED_EVEN_KHR = 0,-    VK_CHROMA_LOCATION_MIDPOINT_KHR = 1,-    VK_CHROMA_LOCATION_BEGIN_RANGE_KHR = VK_CHROMA_LOCATION_COSITED_EVEN_KHR,-    VK_CHROMA_LOCATION_END_RANGE_KHR = VK_CHROMA_LOCATION_MIDPOINT_KHR,-    VK_CHROMA_LOCATION_RANGE_SIZE_KHR = (VK_CHROMA_LOCATION_MIDPOINT_KHR - VK_CHROMA_LOCATION_COSITED_EVEN_KHR + 1),-    VK_CHROMA_LOCATION_MAX_ENUM_KHR = 0x7FFFFFFF-} VkChromaLocationKHR;--typedef struct VkSamplerYcbcrConversionCreateInfoKHR {-    VkStructureType                     sType;-    const void*                         pNext;-    VkFormat                            format;-    VkSamplerYcbcrModelConversionKHR    ycbcrModel;-    VkSamplerYcbcrRangeKHR              ycbcrRange;-    VkComponentMapping                  components;-    VkChromaLocationKHR                 xChromaOffset;-    VkChromaLocationKHR                 yChromaOffset;-    VkFilter                            chromaFilter;-    VkBool32                            forceExplicitReconstruction;-} VkSamplerYcbcrConversionCreateInfoKHR;--typedef struct VkSamplerYcbcrConversionInfoKHR {-    VkStructureType                sType;-    const void*                    pNext;-    VkSamplerYcbcrConversionKHR    conversion;-} VkSamplerYcbcrConversionInfoKHR;--typedef struct VkBindImagePlaneMemoryInfoKHR {-    VkStructureType          sType;-    const void*              pNext;-    VkImageAspectFlagBits    planeAspect;-} VkBindImagePlaneMemoryInfoKHR;--typedef struct VkImagePlaneMemoryRequirementsInfoKHR {-    VkStructureType          sType;-    const void*              pNext;-    VkImageAspectFlagBits    planeAspect;-} VkImagePlaneMemoryRequirementsInfoKHR;--typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR {-    VkStructureType    sType;-    void*              pNext;-    VkBool32           samplerYcbcrConversion;-} VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;--typedef struct VkSamplerYcbcrConversionImageFormatPropertiesKHR {-    VkStructureType    sType;-    void*              pNext;-    uint32_t           combinedImageSamplerDescriptorCount;-} VkSamplerYcbcrConversionImageFormatPropertiesKHR;---typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversionKHR* pYcbcrConversion);-typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversionKHR ycbcrConversion, const VkAllocationCallbacks* pAllocator);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(-    VkDevice                                    device,-    const VkSamplerYcbcrConversionCreateInfoKHR* pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkSamplerYcbcrConversionKHR*                pYcbcrConversion);--VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(-    VkDevice                                    device,-    VkSamplerYcbcrConversionKHR                 ycbcrConversion,-    const VkAllocationCallbacks*                pAllocator);-#endif--#define VK_KHR_bind_memory2 1-#define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1-#define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"--typedef struct VkBindBufferMemoryInfoKHR {-    VkStructureType    sType;-    const void*        pNext;-    VkBuffer           buffer;-    VkDeviceMemory     memory;-    VkDeviceSize       memoryOffset;-} VkBindBufferMemoryInfoKHR;--typedef struct VkBindImageMemoryInfoKHR {-    VkStructureType    sType;-    const void*        pNext;-    VkImage            image;-    VkDeviceMemory     memory;-    VkDeviceSize       memoryOffset;-} VkBindImageMemoryInfoKHR;---typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfoKHR* pBindInfos);-typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfoKHR* pBindInfos);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(-    VkDevice                                    device,-    uint32_t                                    bindInfoCount,-    const VkBindBufferMemoryInfoKHR*            pBindInfos);--VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(-    VkDevice                                    device,-    uint32_t                                    bindInfoCount,-    const VkBindImageMemoryInfoKHR*             pBindInfos);-#endif--#define VK_EXT_debug_report 1-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)--#define VK_EXT_DEBUG_REPORT_SPEC_VERSION  9-#define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"-#define VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT-#define VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT---typedef enum VkDebugReportObjectTypeEXT {-    VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,-    VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,-    VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,-    VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,-    VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,-    VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,-    VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,-    VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,-    VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,-    VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,-    VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,-    VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,-    VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,-    VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,-    VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,-    VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,-    VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,-    VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,-    VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,-    VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,-    VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,-    VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,-    VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,-    VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,-    VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,-    VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,-    VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,-    VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,-    VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,-    VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,-    VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,-    VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT = 31,-    VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT = 32,-    VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,-    VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = 1000085000,-    VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = 1000156000,-    VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,-    VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,-    VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT = (VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT - VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT + 1),-    VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF-} VkDebugReportObjectTypeEXT;---typedef enum VkDebugReportFlagBitsEXT {-    VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,-    VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,-    VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,-    VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,-    VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,-    VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF-} VkDebugReportFlagBitsEXT;-typedef VkFlags VkDebugReportFlagsEXT;--typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(-    VkDebugReportFlagsEXT                       flags,-    VkDebugReportObjectTypeEXT                  objectType,-    uint64_t                                    object,-    size_t                                      location,-    int32_t                                     messageCode,-    const char*                                 pLayerPrefix,-    const char*                                 pMessage,-    void*                                       pUserData);--typedef struct VkDebugReportCallbackCreateInfoEXT {-    VkStructureType                 sType;-    const void*                     pNext;-    VkDebugReportFlagsEXT           flags;-    PFN_vkDebugReportCallbackEXT    pfnCallback;-    void*                           pUserData;-} VkDebugReportCallbackCreateInfoEXT;---typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);-typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);-typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(-    VkInstance                                  instance,-    const VkDebugReportCallbackCreateInfoEXT*   pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkDebugReportCallbackEXT*                   pCallback);--VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(-    VkInstance                                  instance,-    VkDebugReportCallbackEXT                    callback,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(-    VkInstance                                  instance,-    VkDebugReportFlagsEXT                       flags,-    VkDebugReportObjectTypeEXT                  objectType,-    uint64_t                                    object,-    size_t                                      location,-    int32_t                                     messageCode,-    const char*                                 pLayerPrefix,-    const char*                                 pMessage);-#endif--#define VK_NV_glsl_shader 1-#define VK_NV_GLSL_SHADER_SPEC_VERSION    1-#define VK_NV_GLSL_SHADER_EXTENSION_NAME  "VK_NV_glsl_shader"---#define VK_EXT_depth_range_unrestricted 1-#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1-#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"---#define VK_IMG_filter_cubic 1-#define VK_IMG_FILTER_CUBIC_SPEC_VERSION  1-#define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"---#define VK_AMD_rasterization_order 1-#define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1-#define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"---typedef enum VkRasterizationOrderAMD {-    VK_RASTERIZATION_ORDER_STRICT_AMD = 0,-    VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,-    VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD = VK_RASTERIZATION_ORDER_STRICT_AMD,-    VK_RASTERIZATION_ORDER_END_RANGE_AMD = VK_RASTERIZATION_ORDER_RELAXED_AMD,-    VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD = (VK_RASTERIZATION_ORDER_RELAXED_AMD - VK_RASTERIZATION_ORDER_STRICT_AMD + 1),-    VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF-} VkRasterizationOrderAMD;--typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {-    VkStructureType            sType;-    const void*                pNext;-    VkRasterizationOrderAMD    rasterizationOrder;-} VkPipelineRasterizationStateRasterizationOrderAMD;----#define VK_AMD_shader_trinary_minmax 1-#define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1-#define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"---#define VK_AMD_shader_explicit_vertex_parameter 1-#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1-#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"---#define VK_EXT_debug_marker 1-#define VK_EXT_DEBUG_MARKER_SPEC_VERSION  4-#define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"--typedef struct VkDebugMarkerObjectNameInfoEXT {-    VkStructureType               sType;-    const void*                   pNext;-    VkDebugReportObjectTypeEXT    objectType;-    uint64_t                      object;-    const char*                   pObjectName;-} VkDebugMarkerObjectNameInfoEXT;--typedef struct VkDebugMarkerObjectTagInfoEXT {-    VkStructureType               sType;-    const void*                   pNext;-    VkDebugReportObjectTypeEXT    objectType;-    uint64_t                      object;-    uint64_t                      tagName;-    size_t                        tagSize;-    const void*                   pTag;-} VkDebugMarkerObjectTagInfoEXT;--typedef struct VkDebugMarkerMarkerInfoEXT {-    VkStructureType    sType;-    const void*        pNext;-    const char*        pMarkerName;-    float              color[4];-} VkDebugMarkerMarkerInfoEXT;---typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);-typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);-typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);-typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);-typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(-    VkDevice                                    device,-    const VkDebugMarkerObjectTagInfoEXT*        pTagInfo);--VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(-    VkDevice                                    device,-    const VkDebugMarkerObjectNameInfoEXT*       pNameInfo);--VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(-    VkCommandBuffer                             commandBuffer,-    const VkDebugMarkerMarkerInfoEXT*           pMarkerInfo);--VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(-    VkCommandBuffer                             commandBuffer);--VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(-    VkCommandBuffer                             commandBuffer,-    const VkDebugMarkerMarkerInfoEXT*           pMarkerInfo);-#endif--#define VK_AMD_gcn_shader 1-#define VK_AMD_GCN_SHADER_SPEC_VERSION    1-#define VK_AMD_GCN_SHADER_EXTENSION_NAME  "VK_AMD_gcn_shader"---#define VK_NV_dedicated_allocation 1-#define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1-#define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"--typedef struct VkDedicatedAllocationImageCreateInfoNV {-    VkStructureType    sType;-    const void*        pNext;-    VkBool32           dedicatedAllocation;-} VkDedicatedAllocationImageCreateInfoNV;--typedef struct VkDedicatedAllocationBufferCreateInfoNV {-    VkStructureType    sType;-    const void*        pNext;-    VkBool32           dedicatedAllocation;-} VkDedicatedAllocationBufferCreateInfoNV;--typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {-    VkStructureType    sType;-    const void*        pNext;-    VkImage            image;-    VkBuffer           buffer;-} VkDedicatedAllocationMemoryAllocateInfoNV;----#define VK_AMD_draw_indirect_count 1-#define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 1-#define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"--typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);-typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(-    VkCommandBuffer                             commandBuffer,-    VkBuffer                                    buffer,-    VkDeviceSize                                offset,-    VkBuffer                                    countBuffer,-    VkDeviceSize                                countBufferOffset,-    uint32_t                                    maxDrawCount,-    uint32_t                                    stride);--VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(-    VkCommandBuffer                             commandBuffer,-    VkBuffer                                    buffer,-    VkDeviceSize                                offset,-    VkBuffer                                    countBuffer,-    VkDeviceSize                                countBufferOffset,-    uint32_t                                    maxDrawCount,-    uint32_t                                    stride);-#endif--#define VK_AMD_negative_viewport_height 1-#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1-#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"---#define VK_AMD_gpu_shader_half_float 1-#define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 1-#define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"---#define VK_AMD_shader_ballot 1-#define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1-#define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"---#define VK_AMD_texture_gather_bias_lod 1-#define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1-#define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"--typedef struct VkTextureLODGatherFormatPropertiesAMD {-    VkStructureType    sType;-    void*              pNext;-    VkBool32           supportsTextureGatherLODBiasAMD;-} VkTextureLODGatherFormatPropertiesAMD;----#define VK_AMD_shader_info 1-#define VK_AMD_SHADER_INFO_SPEC_VERSION   1-#define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"---typedef enum VkShaderInfoTypeAMD {-    VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,-    VK_SHADER_INFO_TYPE_BINARY_AMD = 1,-    VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,-    VK_SHADER_INFO_TYPE_BEGIN_RANGE_AMD = VK_SHADER_INFO_TYPE_STATISTICS_AMD,-    VK_SHADER_INFO_TYPE_END_RANGE_AMD = VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD,-    VK_SHADER_INFO_TYPE_RANGE_SIZE_AMD = (VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD - VK_SHADER_INFO_TYPE_STATISTICS_AMD + 1),-    VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF-} VkShaderInfoTypeAMD;--typedef struct VkShaderResourceUsageAMD {-    uint32_t    numUsedVgprs;-    uint32_t    numUsedSgprs;-    uint32_t    ldsSizePerLocalWorkGroup;-    size_t      ldsUsageSizeInBytes;-    size_t      scratchMemUsageInBytes;-} VkShaderResourceUsageAMD;--typedef struct VkShaderStatisticsInfoAMD {-    VkShaderStageFlags          shaderStageMask;-    VkShaderResourceUsageAMD    resourceUsage;-    uint32_t                    numPhysicalVgprs;-    uint32_t                    numPhysicalSgprs;-    uint32_t                    numAvailableVgprs;-    uint32_t                    numAvailableSgprs;-    uint32_t                    computeWorkGroupSize[3];-} VkShaderStatisticsInfoAMD;---typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(-    VkDevice                                    device,-    VkPipeline                                  pipeline,-    VkShaderStageFlagBits                       shaderStage,-    VkShaderInfoTypeAMD                         infoType,-    size_t*                                     pInfoSize,-    void*                                       pInfo);-#endif--#define VK_AMD_shader_image_load_store_lod 1-#define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1-#define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"---#define VK_KHX_multiview 1-#define VK_KHX_MULTIVIEW_SPEC_VERSION     1-#define VK_KHX_MULTIVIEW_EXTENSION_NAME   "VK_KHX_multiview"--typedef struct VkRenderPassMultiviewCreateInfoKHX {-    VkStructureType    sType;-    const void*        pNext;-    uint32_t           subpassCount;-    const uint32_t*    pViewMasks;-    uint32_t           dependencyCount;-    const int32_t*     pViewOffsets;-    uint32_t           correlationMaskCount;-    const uint32_t*    pCorrelationMasks;-} VkRenderPassMultiviewCreateInfoKHX;--typedef struct VkPhysicalDeviceMultiviewFeaturesKHX {-    VkStructureType    sType;-    void*              pNext;-    VkBool32           multiview;-    VkBool32           multiviewGeometryShader;-    VkBool32           multiviewTessellationShader;-} VkPhysicalDeviceMultiviewFeaturesKHX;--typedef struct VkPhysicalDeviceMultiviewPropertiesKHX {-    VkStructureType    sType;-    void*              pNext;-    uint32_t           maxMultiviewViewCount;-    uint32_t           maxMultiviewInstanceIndex;-} VkPhysicalDeviceMultiviewPropertiesKHX;----#define VK_IMG_format_pvrtc 1-#define VK_IMG_FORMAT_PVRTC_SPEC_VERSION  1-#define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"---#define VK_NV_external_memory_capabilities 1-#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1-#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"---typedef enum VkExternalMemoryHandleTypeFlagBitsNV {-    VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,-    VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,-    VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,-    VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,-    VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF-} VkExternalMemoryHandleTypeFlagBitsNV;-typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;--typedef enum VkExternalMemoryFeatureFlagBitsNV {-    VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,-    VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,-    VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,-    VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF-} VkExternalMemoryFeatureFlagBitsNV;-typedef VkFlags VkExternalMemoryFeatureFlagsNV;--typedef struct VkExternalImageFormatPropertiesNV {-    VkImageFormatProperties              imageFormatProperties;-    VkExternalMemoryFeatureFlagsNV       externalMemoryFeatures;-    VkExternalMemoryHandleTypeFlagsNV    exportFromImportedHandleTypes;-    VkExternalMemoryHandleTypeFlagsNV    compatibleHandleTypes;-} VkExternalImageFormatPropertiesNV;---typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(-    VkPhysicalDevice                            physicalDevice,-    VkFormat                                    format,-    VkImageType                                 type,-    VkImageTiling                               tiling,-    VkImageUsageFlags                           usage,-    VkImageCreateFlags                          flags,-    VkExternalMemoryHandleTypeFlagsNV           externalHandleType,-    VkExternalImageFormatPropertiesNV*          pExternalImageFormatProperties);-#endif--#define VK_NV_external_memory 1-#define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1-#define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"--typedef struct VkExternalMemoryImageCreateInfoNV {-    VkStructureType                      sType;-    const void*                          pNext;-    VkExternalMemoryHandleTypeFlagsNV    handleTypes;-} VkExternalMemoryImageCreateInfoNV;--typedef struct VkExportMemoryAllocateInfoNV {-    VkStructureType                      sType;-    const void*                          pNext;-    VkExternalMemoryHandleTypeFlagsNV    handleTypes;-} VkExportMemoryAllocateInfoNV;----#ifdef VK_USE_PLATFORM_WIN32_KHR-#define VK_NV_external_memory_win32 1-#define VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1-#define VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_NV_external_memory_win32"--typedef struct VkImportMemoryWin32HandleInfoNV {-    VkStructureType                      sType;-    const void*                          pNext;-    VkExternalMemoryHandleTypeFlagsNV    handleType;-    HANDLE                               handle;-} VkImportMemoryWin32HandleInfoNV;--typedef struct VkExportMemoryWin32HandleInfoNV {-    VkStructureType               sType;-    const void*                   pNext;-    const SECURITY_ATTRIBUTES*    pAttributes;-    DWORD                         dwAccess;-} VkExportMemoryWin32HandleInfoNV;---typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleNV)(VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE* pHandle);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleNV(-    VkDevice                                    device,-    VkDeviceMemory                              memory,-    VkExternalMemoryHandleTypeFlagsNV           handleType,-    HANDLE*                                     pHandle);-#endif-#endif /* VK_USE_PLATFORM_WIN32_KHR */--#ifdef VK_USE_PLATFORM_WIN32_KHR-#define VK_NV_win32_keyed_mutex 1-#define VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION 1-#define VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_NV_win32_keyed_mutex"--typedef struct VkWin32KeyedMutexAcquireReleaseInfoNV {-    VkStructureType          sType;-    const void*              pNext;-    uint32_t                 acquireCount;-    const VkDeviceMemory*    pAcquireSyncs;-    const uint64_t*          pAcquireKeys;-    const uint32_t*          pAcquireTimeoutMilliseconds;-    uint32_t                 releaseCount;-    const VkDeviceMemory*    pReleaseSyncs;-    const uint64_t*          pReleaseKeys;-} VkWin32KeyedMutexAcquireReleaseInfoNV;---#endif /* VK_USE_PLATFORM_WIN32_KHR */--#define VK_KHX_device_group 1-#define VK_KHX_DEVICE_GROUP_SPEC_VERSION  2-#define VK_KHX_DEVICE_GROUP_EXTENSION_NAME "VK_KHX_device_group"-#define VK_MAX_DEVICE_GROUP_SIZE_KHX      32---typedef enum VkPeerMemoryFeatureFlagBitsKHX {-    VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHX = 0x00000001,-    VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHX = 0x00000002,-    VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHX = 0x00000004,-    VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHX = 0x00000008,-    VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_KHX = 0x7FFFFFFF-} VkPeerMemoryFeatureFlagBitsKHX;-typedef VkFlags VkPeerMemoryFeatureFlagsKHX;--typedef enum VkMemoryAllocateFlagBitsKHX {-    VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHX = 0x00000001,-    VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM_KHX = 0x7FFFFFFF-} VkMemoryAllocateFlagBitsKHX;-typedef VkFlags VkMemoryAllocateFlagsKHX;--typedef enum VkDeviceGroupPresentModeFlagBitsKHX {-    VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHX = 0x00000001,-    VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHX = 0x00000002,-    VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHX = 0x00000004,-    VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHX = 0x00000008,-    VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHX = 0x7FFFFFFF-} VkDeviceGroupPresentModeFlagBitsKHX;-typedef VkFlags VkDeviceGroupPresentModeFlagsKHX;--typedef struct VkMemoryAllocateFlagsInfoKHX {-    VkStructureType             sType;-    const void*                 pNext;-    VkMemoryAllocateFlagsKHX    flags;-    uint32_t                    deviceMask;-} VkMemoryAllocateFlagsInfoKHX;--typedef struct VkDeviceGroupRenderPassBeginInfoKHX {-    VkStructureType    sType;-    const void*        pNext;-    uint32_t           deviceMask;-    uint32_t           deviceRenderAreaCount;-    const VkRect2D*    pDeviceRenderAreas;-} VkDeviceGroupRenderPassBeginInfoKHX;--typedef struct VkDeviceGroupCommandBufferBeginInfoKHX {-    VkStructureType    sType;-    const void*        pNext;-    uint32_t           deviceMask;-} VkDeviceGroupCommandBufferBeginInfoKHX;--typedef struct VkDeviceGroupSubmitInfoKHX {-    VkStructureType    sType;-    const void*        pNext;-    uint32_t           waitSemaphoreCount;-    const uint32_t*    pWaitSemaphoreDeviceIndices;-    uint32_t           commandBufferCount;-    const uint32_t*    pCommandBufferDeviceMasks;-    uint32_t           signalSemaphoreCount;-    const uint32_t*    pSignalSemaphoreDeviceIndices;-} VkDeviceGroupSubmitInfoKHX;--typedef struct VkDeviceGroupBindSparseInfoKHX {-    VkStructureType    sType;-    const void*        pNext;-    uint32_t           resourceDeviceIndex;-    uint32_t           memoryDeviceIndex;-} VkDeviceGroupBindSparseInfoKHX;--typedef struct VkBindBufferMemoryDeviceGroupInfoKHX {-    VkStructureType    sType;-    const void*        pNext;-    uint32_t           deviceIndexCount;-    const uint32_t*    pDeviceIndices;-} VkBindBufferMemoryDeviceGroupInfoKHX;--typedef struct VkBindImageMemoryDeviceGroupInfoKHX {-    VkStructureType    sType;-    const void*        pNext;-    uint32_t           deviceIndexCount;-    const uint32_t*    pDeviceIndices;-    uint32_t           SFRRectCount;-    const VkRect2D*    pSFRRects;-} VkBindImageMemoryDeviceGroupInfoKHX;--typedef struct VkDeviceGroupPresentCapabilitiesKHX {-    VkStructureType                     sType;-    const void*                         pNext;-    uint32_t                            presentMask[VK_MAX_DEVICE_GROUP_SIZE_KHX];-    VkDeviceGroupPresentModeFlagsKHX    modes;-} VkDeviceGroupPresentCapabilitiesKHX;--typedef struct VkImageSwapchainCreateInfoKHX {-    VkStructureType    sType;-    const void*        pNext;-    VkSwapchainKHR     swapchain;-} VkImageSwapchainCreateInfoKHX;--typedef struct VkBindImageMemorySwapchainInfoKHX {-    VkStructureType    sType;-    const void*        pNext;-    VkSwapchainKHR     swapchain;-    uint32_t           imageIndex;-} VkBindImageMemorySwapchainInfoKHX;--typedef struct VkAcquireNextImageInfoKHX {-    VkStructureType    sType;-    const void*        pNext;-    VkSwapchainKHR     swapchain;-    uint64_t           timeout;-    VkSemaphore        semaphore;-    VkFence            fence;-    uint32_t           deviceMask;-} VkAcquireNextImageInfoKHX;--typedef struct VkDeviceGroupPresentInfoKHX {-    VkStructureType                        sType;-    const void*                            pNext;-    uint32_t                               swapchainCount;-    const uint32_t*                        pDeviceMasks;-    VkDeviceGroupPresentModeFlagBitsKHX    mode;-} VkDeviceGroupPresentInfoKHX;--typedef struct VkDeviceGroupSwapchainCreateInfoKHX {-    VkStructureType                     sType;-    const void*                         pNext;-    VkDeviceGroupPresentModeFlagsKHX    modes;-} VkDeviceGroupSwapchainCreateInfoKHX;---typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHX)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlagsKHX* pPeerMemoryFeatures);-typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHX)(VkCommandBuffer commandBuffer, uint32_t deviceMask);-typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHX)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);-typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHX)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHX* pDeviceGroupPresentCapabilities);-typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHX)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHX* pModes);-typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHX)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects);-typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHX)(VkDevice device, const VkAcquireNextImageInfoKHX* pAcquireInfo, uint32_t* pImageIndex);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHX(-    VkDevice                                    device,-    uint32_t                                    heapIndex,-    uint32_t                                    localDeviceIndex,-    uint32_t                                    remoteDeviceIndex,-    VkPeerMemoryFeatureFlagsKHX*                pPeerMemoryFeatures);--VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHX(-    VkCommandBuffer                             commandBuffer,-    uint32_t                                    deviceMask);--VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHX(-    VkCommandBuffer                             commandBuffer,-    uint32_t                                    baseGroupX,-    uint32_t                                    baseGroupY,-    uint32_t                                    baseGroupZ,-    uint32_t                                    groupCountX,-    uint32_t                                    groupCountY,-    uint32_t                                    groupCountZ);--VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHX(-    VkDevice                                    device,-    VkDeviceGroupPresentCapabilitiesKHX*        pDeviceGroupPresentCapabilities);--VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHX(-    VkDevice                                    device,-    VkSurfaceKHR                                surface,-    VkDeviceGroupPresentModeFlagsKHX*           pModes);--VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHX(-    VkPhysicalDevice                            physicalDevice,-    VkSurfaceKHR                                surface,-    uint32_t*                                   pRectCount,-    VkRect2D*                                   pRects);--VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHX(-    VkDevice                                    device,-    const VkAcquireNextImageInfoKHX*            pAcquireInfo,-    uint32_t*                                   pImageIndex);-#endif--#define VK_EXT_validation_flags 1-#define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 1-#define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"---typedef enum VkValidationCheckEXT {-    VK_VALIDATION_CHECK_ALL_EXT = 0,-    VK_VALIDATION_CHECK_SHADERS_EXT = 1,-    VK_VALIDATION_CHECK_BEGIN_RANGE_EXT = VK_VALIDATION_CHECK_ALL_EXT,-    VK_VALIDATION_CHECK_END_RANGE_EXT = VK_VALIDATION_CHECK_SHADERS_EXT,-    VK_VALIDATION_CHECK_RANGE_SIZE_EXT = (VK_VALIDATION_CHECK_SHADERS_EXT - VK_VALIDATION_CHECK_ALL_EXT + 1),-    VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF-} VkValidationCheckEXT;--typedef struct VkValidationFlagsEXT {-    VkStructureType          sType;-    const void*              pNext;-    uint32_t                 disabledValidationCheckCount;-    VkValidationCheckEXT*    pDisabledValidationChecks;-} VkValidationFlagsEXT;----#ifdef VK_USE_PLATFORM_VI_NN-#define VK_NN_vi_surface 1-#define VK_NN_VI_SURFACE_SPEC_VERSION     1-#define VK_NN_VI_SURFACE_EXTENSION_NAME   "VK_NN_vi_surface"--typedef VkFlags VkViSurfaceCreateFlagsNN;--typedef struct VkViSurfaceCreateInfoNN {-    VkStructureType             sType;-    const void*                 pNext;-    VkViSurfaceCreateFlagsNN    flags;-    void*                       window;-} VkViSurfaceCreateInfoNN;---typedef VkResult (VKAPI_PTR *PFN_vkCreateViSurfaceNN)(VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkCreateViSurfaceNN(-    VkInstance                                  instance,-    const VkViSurfaceCreateInfoNN*              pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkSurfaceKHR*                               pSurface);-#endif-#endif /* VK_USE_PLATFORM_VI_NN */--#define VK_EXT_shader_subgroup_ballot 1-#define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1-#define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"---#define VK_EXT_shader_subgroup_vote 1-#define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1-#define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"---#define VK_KHX_device_group_creation 1-#define VK_KHX_DEVICE_GROUP_CREATION_SPEC_VERSION 1-#define VK_KHX_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHX_device_group_creation"--typedef struct VkPhysicalDeviceGroupPropertiesKHX {-    VkStructureType     sType;-    void*               pNext;-    uint32_t            physicalDeviceCount;-    VkPhysicalDevice    physicalDevices[VK_MAX_DEVICE_GROUP_SIZE_KHX];-    VkBool32            subsetAllocation;-} VkPhysicalDeviceGroupPropertiesKHX;--typedef struct VkDeviceGroupDeviceCreateInfoKHX {-    VkStructureType            sType;-    const void*                pNext;-    uint32_t                   physicalDeviceCount;-    const VkPhysicalDevice*    pPhysicalDevices;-} VkDeviceGroupDeviceCreateInfoKHX;---typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHX)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupPropertiesKHX* pPhysicalDeviceGroupProperties);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHX(-    VkInstance                                  instance,-    uint32_t*                                   pPhysicalDeviceGroupCount,-    VkPhysicalDeviceGroupPropertiesKHX*         pPhysicalDeviceGroupProperties);-#endif--#define VK_NVX_device_generated_commands 1-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkObjectTableNVX)-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNVX)--#define VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3-#define VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NVX_device_generated_commands"---typedef enum VkIndirectCommandsTokenTypeNVX {-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX = 0,-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX = 1,-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX = 2,-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX = 3,-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX = 4,-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX = 5,-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX = 6,-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX = 7,-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX,-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX,-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NVX = (VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX - VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX + 1),-    VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF-} VkIndirectCommandsTokenTypeNVX;--typedef enum VkObjectEntryTypeNVX {-    VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX = 0,-    VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX = 1,-    VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX = 2,-    VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX = 3,-    VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX = 4,-    VK_OBJECT_ENTRY_TYPE_BEGIN_RANGE_NVX = VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX,-    VK_OBJECT_ENTRY_TYPE_END_RANGE_NVX = VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX,-    VK_OBJECT_ENTRY_TYPE_RANGE_SIZE_NVX = (VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX - VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX + 1),-    VK_OBJECT_ENTRY_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF-} VkObjectEntryTypeNVX;---typedef enum VkIndirectCommandsLayoutUsageFlagBitsNVX {-    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX = 0x00000001,-    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX = 0x00000002,-    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX = 0x00000004,-    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX = 0x00000008,-    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF-} VkIndirectCommandsLayoutUsageFlagBitsNVX;-typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNVX;--typedef enum VkObjectEntryUsageFlagBitsNVX {-    VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX = 0x00000001,-    VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX = 0x00000002,-    VK_OBJECT_ENTRY_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF-} VkObjectEntryUsageFlagBitsNVX;-typedef VkFlags VkObjectEntryUsageFlagsNVX;--typedef struct VkDeviceGeneratedCommandsFeaturesNVX {-    VkStructureType    sType;-    const void*        pNext;-    VkBool32           computeBindingPointSupport;-} VkDeviceGeneratedCommandsFeaturesNVX;--typedef struct VkDeviceGeneratedCommandsLimitsNVX {-    VkStructureType    sType;-    const void*        pNext;-    uint32_t           maxIndirectCommandsLayoutTokenCount;-    uint32_t           maxObjectEntryCounts;-    uint32_t           minSequenceCountBufferOffsetAlignment;-    uint32_t           minSequenceIndexBufferOffsetAlignment;-    uint32_t           minCommandsTokenBufferOffsetAlignment;-} VkDeviceGeneratedCommandsLimitsNVX;--typedef struct VkIndirectCommandsTokenNVX {-    VkIndirectCommandsTokenTypeNVX    tokenType;-    VkBuffer                          buffer;-    VkDeviceSize                      offset;-} VkIndirectCommandsTokenNVX;--typedef struct VkIndirectCommandsLayoutTokenNVX {-    VkIndirectCommandsTokenTypeNVX    tokenType;-    uint32_t                          bindingUnit;-    uint32_t                          dynamicCount;-    uint32_t                          divisor;-} VkIndirectCommandsLayoutTokenNVX;--typedef struct VkIndirectCommandsLayoutCreateInfoNVX {-    VkStructureType                            sType;-    const void*                                pNext;-    VkPipelineBindPoint                        pipelineBindPoint;-    VkIndirectCommandsLayoutUsageFlagsNVX      flags;-    uint32_t                                   tokenCount;-    const VkIndirectCommandsLayoutTokenNVX*    pTokens;-} VkIndirectCommandsLayoutCreateInfoNVX;--typedef struct VkCmdProcessCommandsInfoNVX {-    VkStructureType                      sType;-    const void*                          pNext;-    VkObjectTableNVX                     objectTable;-    VkIndirectCommandsLayoutNVX          indirectCommandsLayout;-    uint32_t                             indirectCommandsTokenCount;-    const VkIndirectCommandsTokenNVX*    pIndirectCommandsTokens;-    uint32_t                             maxSequencesCount;-    VkCommandBuffer                      targetCommandBuffer;-    VkBuffer                             sequencesCountBuffer;-    VkDeviceSize                         sequencesCountOffset;-    VkBuffer                             sequencesIndexBuffer;-    VkDeviceSize                         sequencesIndexOffset;-} VkCmdProcessCommandsInfoNVX;--typedef struct VkCmdReserveSpaceForCommandsInfoNVX {-    VkStructureType                sType;-    const void*                    pNext;-    VkObjectTableNVX               objectTable;-    VkIndirectCommandsLayoutNVX    indirectCommandsLayout;-    uint32_t                       maxSequencesCount;-} VkCmdReserveSpaceForCommandsInfoNVX;--typedef struct VkObjectTableCreateInfoNVX {-    VkStructureType                      sType;-    const void*                          pNext;-    uint32_t                             objectCount;-    const VkObjectEntryTypeNVX*          pObjectEntryTypes;-    const uint32_t*                      pObjectEntryCounts;-    const VkObjectEntryUsageFlagsNVX*    pObjectEntryUsageFlags;-    uint32_t                             maxUniformBuffersPerDescriptor;-    uint32_t                             maxStorageBuffersPerDescriptor;-    uint32_t                             maxStorageImagesPerDescriptor;-    uint32_t                             maxSampledImagesPerDescriptor;-    uint32_t                             maxPipelineLayouts;-} VkObjectTableCreateInfoNVX;--typedef struct VkObjectTableEntryNVX {-    VkObjectEntryTypeNVX          type;-    VkObjectEntryUsageFlagsNVX    flags;-} VkObjectTableEntryNVX;--typedef struct VkObjectTablePipelineEntryNVX {-    VkObjectEntryTypeNVX          type;-    VkObjectEntryUsageFlagsNVX    flags;-    VkPipeline                    pipeline;-} VkObjectTablePipelineEntryNVX;--typedef struct VkObjectTableDescriptorSetEntryNVX {-    VkObjectEntryTypeNVX          type;-    VkObjectEntryUsageFlagsNVX    flags;-    VkPipelineLayout              pipelineLayout;-    VkDescriptorSet               descriptorSet;-} VkObjectTableDescriptorSetEntryNVX;--typedef struct VkObjectTableVertexBufferEntryNVX {-    VkObjectEntryTypeNVX          type;-    VkObjectEntryUsageFlagsNVX    flags;-    VkBuffer                      buffer;-} VkObjectTableVertexBufferEntryNVX;--typedef struct VkObjectTableIndexBufferEntryNVX {-    VkObjectEntryTypeNVX          type;-    VkObjectEntryUsageFlagsNVX    flags;-    VkBuffer                      buffer;-    VkIndexType                   indexType;-} VkObjectTableIndexBufferEntryNVX;--typedef struct VkObjectTablePushConstantEntryNVX {-    VkObjectEntryTypeNVX          type;-    VkObjectEntryUsageFlagsNVX    flags;-    VkPipelineLayout              pipelineLayout;-    VkShaderStageFlags            stageFlags;-} VkObjectTablePushConstantEntryNVX;---typedef void (VKAPI_PTR *PFN_vkCmdProcessCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo);-typedef void (VKAPI_PTR *PFN_vkCmdReserveSpaceForCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo);-typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNVX)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout);-typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNVX)(VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkCreateObjectTableNVX)(VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable);-typedef void (VKAPI_PTR *PFN_vkDestroyObjectTableNVX)(VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkRegisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectTableEntryNVX* const*    ppObjectTableEntries, const uint32_t* pObjectIndices);-typedef VkResult (VKAPI_PTR *PFN_vkUnregisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const uint32_t* pObjectIndices);-typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX)(VkPhysicalDevice physicalDevice, VkDeviceGeneratedCommandsFeaturesNVX* pFeatures, VkDeviceGeneratedCommandsLimitsNVX* pLimits);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR void VKAPI_CALL vkCmdProcessCommandsNVX(-    VkCommandBuffer                             commandBuffer,-    const VkCmdProcessCommandsInfoNVX*          pProcessCommandsInfo);--VKAPI_ATTR void VKAPI_CALL vkCmdReserveSpaceForCommandsNVX(-    VkCommandBuffer                             commandBuffer,-    const VkCmdReserveSpaceForCommandsInfoNVX*  pReserveSpaceInfo);--VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNVX(-    VkDevice                                    device,-    const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkIndirectCommandsLayoutNVX*                pIndirectCommandsLayout);--VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNVX(-    VkDevice                                    device,-    VkIndirectCommandsLayoutNVX                 indirectCommandsLayout,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkCreateObjectTableNVX(-    VkDevice                                    device,-    const VkObjectTableCreateInfoNVX*           pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkObjectTableNVX*                           pObjectTable);--VKAPI_ATTR void VKAPI_CALL vkDestroyObjectTableNVX(-    VkDevice                                    device,-    VkObjectTableNVX                            objectTable,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkRegisterObjectsNVX(-    VkDevice                                    device,-    VkObjectTableNVX                            objectTable,-    uint32_t                                    objectCount,-    const VkObjectTableEntryNVX* const*         ppObjectTableEntries,-    const uint32_t*                             pObjectIndices);--VKAPI_ATTR VkResult VKAPI_CALL vkUnregisterObjectsNVX(-    VkDevice                                    device,-    VkObjectTableNVX                            objectTable,-    uint32_t                                    objectCount,-    const VkObjectEntryTypeNVX*                 pObjectEntryTypes,-    const uint32_t*                             pObjectIndices);--VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX(-    VkPhysicalDevice                            physicalDevice,-    VkDeviceGeneratedCommandsFeaturesNVX*       pFeatures,-    VkDeviceGeneratedCommandsLimitsNVX*         pLimits);-#endif--#define VK_NV_clip_space_w_scaling 1-#define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1-#define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"--typedef struct VkViewportWScalingNV {-    float    xcoeff;-    float    ycoeff;-} VkViewportWScalingNV;--typedef struct VkPipelineViewportWScalingStateCreateInfoNV {-    VkStructureType                sType;-    const void*                    pNext;-    VkBool32                       viewportWScalingEnable;-    uint32_t                       viewportCount;-    const VkViewportWScalingNV*    pViewportWScalings;-} VkPipelineViewportWScalingStateCreateInfoNV;---typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(-    VkCommandBuffer                             commandBuffer,-    uint32_t                                    firstViewport,-    uint32_t                                    viewportCount,-    const VkViewportWScalingNV*                 pViewportWScalings);-#endif--#define VK_EXT_direct_mode_display 1-#define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1-#define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"--typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(-    VkPhysicalDevice                            physicalDevice,-    VkDisplayKHR                                display);-#endif--#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT-#define VK_EXT_acquire_xlib_display 1-#include <X11/extensions/Xrandr.h>--#define VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION 1-#define VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_xlib_display"--typedef VkResult (VKAPI_PTR *PFN_vkAcquireXlibDisplayEXT)(VkPhysicalDevice physicalDevice, Display* dpy, VkDisplayKHR display);-typedef VkResult (VKAPI_PTR *PFN_vkGetRandROutputDisplayEXT)(VkPhysicalDevice physicalDevice, Display* dpy, RROutput rrOutput, VkDisplayKHR* pDisplay);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkAcquireXlibDisplayEXT(-    VkPhysicalDevice                            physicalDevice,-    Display*                                    dpy,-    VkDisplayKHR                                display);--VKAPI_ATTR VkResult VKAPI_CALL vkGetRandROutputDisplayEXT(-    VkPhysicalDevice                            physicalDevice,-    Display*                                    dpy,-    RROutput                                    rrOutput,-    VkDisplayKHR*                               pDisplay);-#endif-#endif /* VK_USE_PLATFORM_XLIB_XRANDR_EXT */--#define VK_EXT_display_surface_counter 1-#define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1-#define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"-#define VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT---typedef enum VkSurfaceCounterFlagBitsEXT {-    VK_SURFACE_COUNTER_VBLANK_EXT = 0x00000001,-    VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF-} VkSurfaceCounterFlagBitsEXT;-typedef VkFlags VkSurfaceCounterFlagsEXT;--typedef struct VkSurfaceCapabilities2EXT {-    VkStructureType                  sType;-    void*                            pNext;-    uint32_t                         minImageCount;-    uint32_t                         maxImageCount;-    VkExtent2D                       currentExtent;-    VkExtent2D                       minImageExtent;-    VkExtent2D                       maxImageExtent;-    uint32_t                         maxImageArrayLayers;-    VkSurfaceTransformFlagsKHR       supportedTransforms;-    VkSurfaceTransformFlagBitsKHR    currentTransform;-    VkCompositeAlphaFlagsKHR         supportedCompositeAlpha;-    VkImageUsageFlags                supportedUsageFlags;-    VkSurfaceCounterFlagsEXT         supportedSurfaceCounters;-} VkSurfaceCapabilities2EXT;---typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(-    VkPhysicalDevice                            physicalDevice,-    VkSurfaceKHR                                surface,-    VkSurfaceCapabilities2EXT*                  pSurfaceCapabilities);-#endif--#define VK_EXT_display_control 1-#define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1-#define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"---typedef enum VkDisplayPowerStateEXT {-    VK_DISPLAY_POWER_STATE_OFF_EXT = 0,-    VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,-    VK_DISPLAY_POWER_STATE_ON_EXT = 2,-    VK_DISPLAY_POWER_STATE_BEGIN_RANGE_EXT = VK_DISPLAY_POWER_STATE_OFF_EXT,-    VK_DISPLAY_POWER_STATE_END_RANGE_EXT = VK_DISPLAY_POWER_STATE_ON_EXT,-    VK_DISPLAY_POWER_STATE_RANGE_SIZE_EXT = (VK_DISPLAY_POWER_STATE_ON_EXT - VK_DISPLAY_POWER_STATE_OFF_EXT + 1),-    VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF-} VkDisplayPowerStateEXT;--typedef enum VkDeviceEventTypeEXT {-    VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,-    VK_DEVICE_EVENT_TYPE_BEGIN_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT,-    VK_DEVICE_EVENT_TYPE_END_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT,-    VK_DEVICE_EVENT_TYPE_RANGE_SIZE_EXT = (VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT - VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT + 1),-    VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF-} VkDeviceEventTypeEXT;--typedef enum VkDisplayEventTypeEXT {-    VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,-    VK_DISPLAY_EVENT_TYPE_BEGIN_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT,-    VK_DISPLAY_EVENT_TYPE_END_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT,-    VK_DISPLAY_EVENT_TYPE_RANGE_SIZE_EXT = (VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT - VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT + 1),-    VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF-} VkDisplayEventTypeEXT;--typedef struct VkDisplayPowerInfoEXT {-    VkStructureType           sType;-    const void*               pNext;-    VkDisplayPowerStateEXT    powerState;-} VkDisplayPowerInfoEXT;--typedef struct VkDeviceEventInfoEXT {-    VkStructureType         sType;-    const void*             pNext;-    VkDeviceEventTypeEXT    deviceEvent;-} VkDeviceEventInfoEXT;--typedef struct VkDisplayEventInfoEXT {-    VkStructureType          sType;-    const void*              pNext;-    VkDisplayEventTypeEXT    displayEvent;-} VkDisplayEventInfoEXT;--typedef struct VkSwapchainCounterCreateInfoEXT {-    VkStructureType             sType;-    const void*                 pNext;-    VkSurfaceCounterFlagsEXT    surfaceCounters;-} VkSwapchainCounterCreateInfoEXT;---typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);-typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);-typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);-typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(-    VkDevice                                    device,-    VkDisplayKHR                                display,-    const VkDisplayPowerInfoEXT*                pDisplayPowerInfo);--VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(-    VkDevice                                    device,-    const VkDeviceEventInfoEXT*                 pDeviceEventInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkFence*                                    pFence);--VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(-    VkDevice                                    device,-    VkDisplayKHR                                display,-    const VkDisplayEventInfoEXT*                pDisplayEventInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkFence*                                    pFence);--VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(-    VkDevice                                    device,-    VkSwapchainKHR                              swapchain,-    VkSurfaceCounterFlagBitsEXT                 counter,-    uint64_t*                                   pCounterValue);-#endif--#define VK_GOOGLE_display_timing 1-#define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1-#define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"--typedef struct VkRefreshCycleDurationGOOGLE {-    uint64_t    refreshDuration;-} VkRefreshCycleDurationGOOGLE;--typedef struct VkPastPresentationTimingGOOGLE {-    uint32_t    presentID;-    uint64_t    desiredPresentTime;-    uint64_t    actualPresentTime;-    uint64_t    earliestPresentTime;-    uint64_t    presentMargin;-} VkPastPresentationTimingGOOGLE;--typedef struct VkPresentTimeGOOGLE {-    uint32_t    presentID;-    uint64_t    desiredPresentTime;-} VkPresentTimeGOOGLE;--typedef struct VkPresentTimesInfoGOOGLE {-    VkStructureType               sType;-    const void*                   pNext;-    uint32_t                      swapchainCount;-    const VkPresentTimeGOOGLE*    pTimes;-} VkPresentTimesInfoGOOGLE;---typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);-typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(-    VkDevice                                    device,-    VkSwapchainKHR                              swapchain,-    VkRefreshCycleDurationGOOGLE*               pDisplayTimingProperties);--VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(-    VkDevice                                    device,-    VkSwapchainKHR                              swapchain,-    uint32_t*                                   pPresentationTimingCount,-    VkPastPresentationTimingGOOGLE*             pPresentationTimings);-#endif--#define VK_NV_sample_mask_override_coverage 1-#define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1-#define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"---#define VK_NV_geometry_shader_passthrough 1-#define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1-#define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"---#define VK_NV_viewport_array2 1-#define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1-#define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"---#define VK_NVX_multiview_per_view_attributes 1-#define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1-#define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"--typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {-    VkStructureType    sType;-    void*              pNext;-    VkBool32           perViewPositionAllComponents;-} VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;----#define VK_NV_viewport_swizzle 1-#define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1-#define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"---typedef enum VkViewportCoordinateSwizzleNV {-    VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,-    VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,-    VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,-    VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,-    VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,-    VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,-    VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,-    VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,-    VK_VIEWPORT_COORDINATE_SWIZZLE_BEGIN_RANGE_NV = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV,-    VK_VIEWPORT_COORDINATE_SWIZZLE_END_RANGE_NV = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV,-    VK_VIEWPORT_COORDINATE_SWIZZLE_RANGE_SIZE_NV = (VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV - VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV + 1),-    VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF-} VkViewportCoordinateSwizzleNV;--typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;--typedef struct VkViewportSwizzleNV {-    VkViewportCoordinateSwizzleNV    x;-    VkViewportCoordinateSwizzleNV    y;-    VkViewportCoordinateSwizzleNV    z;-    VkViewportCoordinateSwizzleNV    w;-} VkViewportSwizzleNV;--typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {-    VkStructureType                                sType;-    const void*                                    pNext;-    VkPipelineViewportSwizzleStateCreateFlagsNV    flags;-    uint32_t                                       viewportCount;-    const VkViewportSwizzleNV*                     pViewportSwizzles;-} VkPipelineViewportSwizzleStateCreateInfoNV;----#define VK_EXT_discard_rectangles 1-#define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1-#define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"---typedef enum VkDiscardRectangleModeEXT {-    VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,-    VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,-    VK_DISCARD_RECTANGLE_MODE_BEGIN_RANGE_EXT = VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT,-    VK_DISCARD_RECTANGLE_MODE_END_RANGE_EXT = VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT,-    VK_DISCARD_RECTANGLE_MODE_RANGE_SIZE_EXT = (VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT - VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT + 1),-    VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF-} VkDiscardRectangleModeEXT;--typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;--typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {-    VkStructureType    sType;-    void*              pNext;-    uint32_t           maxDiscardRectangles;-} VkPhysicalDeviceDiscardRectanglePropertiesEXT;--typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {-    VkStructureType                                  sType;-    const void*                                      pNext;-    VkPipelineDiscardRectangleStateCreateFlagsEXT    flags;-    VkDiscardRectangleModeEXT                        discardRectangleMode;-    uint32_t                                         discardRectangleCount;-    const VkRect2D*                                  pDiscardRectangles;-} VkPipelineDiscardRectangleStateCreateInfoEXT;---typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(-    VkCommandBuffer                             commandBuffer,-    uint32_t                                    firstDiscardRectangle,-    uint32_t                                    discardRectangleCount,-    const VkRect2D*                             pDiscardRectangles);-#endif--#define VK_EXT_conservative_rasterization 1-#define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1-#define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"---typedef enum VkConservativeRasterizationModeEXT {-    VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,-    VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,-    VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,-    VK_CONSERVATIVE_RASTERIZATION_MODE_BEGIN_RANGE_EXT = VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT,-    VK_CONSERVATIVE_RASTERIZATION_MODE_END_RANGE_EXT = VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT,-    VK_CONSERVATIVE_RASTERIZATION_MODE_RANGE_SIZE_EXT = (VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT - VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT + 1),-    VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF-} VkConservativeRasterizationModeEXT;--typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;--typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {-    VkStructureType    sType;-    void*              pNext;-    float              primitiveOverestimationSize;-    float              maxExtraPrimitiveOverestimationSize;-    float              extraPrimitiveOverestimationSizeGranularity;-    VkBool32           primitiveUnderestimation;-    VkBool32           conservativePointAndLineRasterization;-    VkBool32           degenerateTrianglesRasterized;-    VkBool32           degenerateLinesRasterized;-    VkBool32           fullyCoveredFragmentShaderInputVariable;-    VkBool32           conservativeRasterizationPostDepthCoverage;-} VkPhysicalDeviceConservativeRasterizationPropertiesEXT;--typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {-    VkStructureType                                           sType;-    const void*                                               pNext;-    VkPipelineRasterizationConservativeStateCreateFlagsEXT    flags;-    VkConservativeRasterizationModeEXT                        conservativeRasterizationMode;-    float                                                     extraPrimitiveOverestimationSize;-} VkPipelineRasterizationConservativeStateCreateInfoEXT;----#define VK_EXT_swapchain_colorspace 1-#define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 3-#define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"---#define VK_EXT_hdr_metadata 1-#define VK_EXT_HDR_METADATA_SPEC_VERSION  1-#define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"--typedef struct VkXYColorEXT {-    float    x;-    float    y;-} VkXYColorEXT;--typedef struct VkHdrMetadataEXT {-    VkStructureType    sType;-    const void*        pNext;-    VkXYColorEXT       displayPrimaryRed;-    VkXYColorEXT       displayPrimaryGreen;-    VkXYColorEXT       displayPrimaryBlue;-    VkXYColorEXT       whitePoint;-    float              maxLuminance;-    float              minLuminance;-    float              maxContentLightLevel;-    float              maxFrameAverageLightLevel;-} VkHdrMetadataEXT;---typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(-    VkDevice                                    device,-    uint32_t                                    swapchainCount,-    const VkSwapchainKHR*                       pSwapchains,-    const VkHdrMetadataEXT*                     pMetadata);-#endif--#ifdef VK_USE_PLATFORM_IOS_MVK-#define VK_MVK_ios_surface 1-#define VK_MVK_IOS_SURFACE_SPEC_VERSION   2-#define VK_MVK_IOS_SURFACE_EXTENSION_NAME "VK_MVK_ios_surface"--typedef VkFlags VkIOSSurfaceCreateFlagsMVK;--typedef struct VkIOSSurfaceCreateInfoMVK {-    VkStructureType               sType;-    const void*                   pNext;-    VkIOSSurfaceCreateFlagsMVK    flags;-    const void*                   pView;-} VkIOSSurfaceCreateInfoMVK;---typedef VkResult (VKAPI_PTR *PFN_vkCreateIOSSurfaceMVK)(VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkCreateIOSSurfaceMVK(-    VkInstance                                  instance,-    const VkIOSSurfaceCreateInfoMVK*            pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkSurfaceKHR*                               pSurface);-#endif-#endif /* VK_USE_PLATFORM_IOS_MVK */--#ifdef VK_USE_PLATFORM_MACOS_MVK-#define VK_MVK_macos_surface 1-#define VK_MVK_MACOS_SURFACE_SPEC_VERSION 2-#define VK_MVK_MACOS_SURFACE_EXTENSION_NAME "VK_MVK_macos_surface"--typedef VkFlags VkMacOSSurfaceCreateFlagsMVK;--typedef struct VkMacOSSurfaceCreateInfoMVK {-    VkStructureType                 sType;-    const void*                     pNext;-    VkMacOSSurfaceCreateFlagsMVK    flags;-    const void*                     pView;-} VkMacOSSurfaceCreateInfoMVK;---typedef VkResult (VKAPI_PTR *PFN_vkCreateMacOSSurfaceMVK)(VkInstance instance, const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkCreateMacOSSurfaceMVK(-    VkInstance                                  instance,-    const VkMacOSSurfaceCreateInfoMVK*          pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkSurfaceKHR*                               pSurface);-#endif-#endif /* VK_USE_PLATFORM_MACOS_MVK */--#define VK_EXT_external_memory_dma_buf 1-#define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1-#define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"---#define VK_EXT_queue_family_foreign 1-#define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1-#define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"-#define VK_QUEUE_FAMILY_FOREIGN_EXT       (~0U-2)---#define VK_EXT_sampler_filter_minmax 1-#define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 1-#define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"---typedef enum VkSamplerReductionModeEXT {-    VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = 0,-    VK_SAMPLER_REDUCTION_MODE_MIN_EXT = 1,-    VK_SAMPLER_REDUCTION_MODE_MAX_EXT = 2,-    VK_SAMPLER_REDUCTION_MODE_BEGIN_RANGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT,-    VK_SAMPLER_REDUCTION_MODE_END_RANGE_EXT = VK_SAMPLER_REDUCTION_MODE_MAX_EXT,-    VK_SAMPLER_REDUCTION_MODE_RANGE_SIZE_EXT = (VK_SAMPLER_REDUCTION_MODE_MAX_EXT - VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT + 1),-    VK_SAMPLER_REDUCTION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF-} VkSamplerReductionModeEXT;--typedef struct VkSamplerReductionModeCreateInfoEXT {-    VkStructureType              sType;-    const void*                  pNext;-    VkSamplerReductionModeEXT    reductionMode;-} VkSamplerReductionModeCreateInfoEXT;--typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {-    VkStructureType    sType;-    void*              pNext;-    VkBool32           filterMinmaxSingleComponentFormats;-    VkBool32           filterMinmaxImageComponentMapping;-} VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;----#define VK_AMD_gpu_shader_int16 1-#define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 1-#define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"---#define VK_AMD_mixed_attachment_samples 1-#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1-#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"---#define VK_AMD_shader_fragment_mask 1-#define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1-#define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"---#define VK_EXT_shader_stencil_export 1-#define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1-#define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"---#define VK_EXT_sample_locations 1-#define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1-#define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"--typedef struct VkSampleLocationEXT {-    float    x;-    float    y;-} VkSampleLocationEXT;--typedef struct VkSampleLocationsInfoEXT {-    VkStructureType               sType;-    const void*                   pNext;-    VkSampleCountFlagBits         sampleLocationsPerPixel;-    VkExtent2D                    sampleLocationGridSize;-    uint32_t                      sampleLocationsCount;-    const VkSampleLocationEXT*    pSampleLocations;-} VkSampleLocationsInfoEXT;--typedef struct VkAttachmentSampleLocationsEXT {-    uint32_t                    attachmentIndex;-    VkSampleLocationsInfoEXT    sampleLocationsInfo;-} VkAttachmentSampleLocationsEXT;--typedef struct VkSubpassSampleLocationsEXT {-    uint32_t                    subpassIndex;-    VkSampleLocationsInfoEXT    sampleLocationsInfo;-} VkSubpassSampleLocationsEXT;--typedef struct VkRenderPassSampleLocationsBeginInfoEXT {-    VkStructureType                          sType;-    const void*                              pNext;-    uint32_t                                 attachmentInitialSampleLocationsCount;-    const VkAttachmentSampleLocationsEXT*    pAttachmentInitialSampleLocations;-    uint32_t                                 postSubpassSampleLocationsCount;-    const VkSubpassSampleLocationsEXT*       pPostSubpassSampleLocations;-} VkRenderPassSampleLocationsBeginInfoEXT;--typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {-    VkStructureType             sType;-    const void*                 pNext;-    VkBool32                    sampleLocationsEnable;-    VkSampleLocationsInfoEXT    sampleLocationsInfo;-} VkPipelineSampleLocationsStateCreateInfoEXT;--typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {-    VkStructureType       sType;-    void*                 pNext;-    VkSampleCountFlags    sampleLocationSampleCounts;-    VkExtent2D            maxSampleLocationGridSize;-    float                 sampleLocationCoordinateRange[2];-    uint32_t              sampleLocationSubPixelBits;-    VkBool32              variableSampleLocations;-} VkPhysicalDeviceSampleLocationsPropertiesEXT;--typedef struct VkMultisamplePropertiesEXT {-    VkStructureType    sType;-    void*              pNext;-    VkExtent2D         maxSampleLocationGridSize;-} VkMultisamplePropertiesEXT;---typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);-typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(-    VkCommandBuffer                             commandBuffer,-    const VkSampleLocationsInfoEXT*             pSampleLocationsInfo);--VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(-    VkPhysicalDevice                            physicalDevice,-    VkSampleCountFlagBits                       samples,-    VkMultisamplePropertiesEXT*                 pMultisampleProperties);-#endif--#define VK_EXT_blend_operation_advanced 1-#define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2-#define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"---typedef enum VkBlendOverlapEXT {-    VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,-    VK_BLEND_OVERLAP_DISJOINT_EXT = 1,-    VK_BLEND_OVERLAP_CONJOINT_EXT = 2,-    VK_BLEND_OVERLAP_BEGIN_RANGE_EXT = VK_BLEND_OVERLAP_UNCORRELATED_EXT,-    VK_BLEND_OVERLAP_END_RANGE_EXT = VK_BLEND_OVERLAP_CONJOINT_EXT,-    VK_BLEND_OVERLAP_RANGE_SIZE_EXT = (VK_BLEND_OVERLAP_CONJOINT_EXT - VK_BLEND_OVERLAP_UNCORRELATED_EXT + 1),-    VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF-} VkBlendOverlapEXT;--typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {-    VkStructureType    sType;-    void*              pNext;-    VkBool32           advancedBlendCoherentOperations;-} VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;--typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {-    VkStructureType    sType;-    void*              pNext;-    uint32_t           advancedBlendMaxColorAttachments;-    VkBool32           advancedBlendIndependentBlend;-    VkBool32           advancedBlendNonPremultipliedSrcColor;-    VkBool32           advancedBlendNonPremultipliedDstColor;-    VkBool32           advancedBlendCorrelatedOverlap;-    VkBool32           advancedBlendAllOperations;-} VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;--typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {-    VkStructureType      sType;-    const void*          pNext;-    VkBool32             srcPremultiplied;-    VkBool32             dstPremultiplied;-    VkBlendOverlapEXT    blendOverlap;-} VkPipelineColorBlendAdvancedStateCreateInfoEXT;----#define VK_NV_fragment_coverage_to_color 1-#define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1-#define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"--typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;--typedef struct VkPipelineCoverageToColorStateCreateInfoNV {-    VkStructureType                                sType;-    const void*                                    pNext;-    VkPipelineCoverageToColorStateCreateFlagsNV    flags;-    VkBool32                                       coverageToColorEnable;-    uint32_t                                       coverageToColorLocation;-} VkPipelineCoverageToColorStateCreateInfoNV;----#define VK_NV_framebuffer_mixed_samples 1-#define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1-#define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"---typedef enum VkCoverageModulationModeNV {-    VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,-    VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,-    VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,-    VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,-    VK_COVERAGE_MODULATION_MODE_BEGIN_RANGE_NV = VK_COVERAGE_MODULATION_MODE_NONE_NV,-    VK_COVERAGE_MODULATION_MODE_END_RANGE_NV = VK_COVERAGE_MODULATION_MODE_RGBA_NV,-    VK_COVERAGE_MODULATION_MODE_RANGE_SIZE_NV = (VK_COVERAGE_MODULATION_MODE_RGBA_NV - VK_COVERAGE_MODULATION_MODE_NONE_NV + 1),-    VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF-} VkCoverageModulationModeNV;--typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;--typedef struct VkPipelineCoverageModulationStateCreateInfoNV {-    VkStructureType                                   sType;-    const void*                                       pNext;-    VkPipelineCoverageModulationStateCreateFlagsNV    flags;-    VkCoverageModulationModeNV                        coverageModulationMode;-    VkBool32                                          coverageModulationTableEnable;-    uint32_t                                          coverageModulationTableCount;-    const float*                                      pCoverageModulationTable;-} VkPipelineCoverageModulationStateCreateInfoNV;----#define VK_NV_fill_rectangle 1-#define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1-#define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"---#define VK_EXT_post_depth_coverage 1-#define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1-#define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"---#define VK_EXT_validation_cache 1-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)--#define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1-#define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"-#define VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT---typedef enum VkValidationCacheHeaderVersionEXT {-    VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,-    VK_VALIDATION_CACHE_HEADER_VERSION_BEGIN_RANGE_EXT = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT,-    VK_VALIDATION_CACHE_HEADER_VERSION_END_RANGE_EXT = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT,-    VK_VALIDATION_CACHE_HEADER_VERSION_RANGE_SIZE_EXT = (VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT - VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT + 1),-    VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF-} VkValidationCacheHeaderVersionEXT;--typedef VkFlags VkValidationCacheCreateFlagsEXT;--typedef struct VkValidationCacheCreateInfoEXT {-    VkStructureType                    sType;-    const void*                        pNext;-    VkValidationCacheCreateFlagsEXT    flags;-    size_t                             initialDataSize;-    const void*                        pInitialData;-} VkValidationCacheCreateInfoEXT;--typedef struct VkShaderModuleValidationCacheCreateInfoEXT {-    VkStructureType         sType;-    const void*             pNext;-    VkValidationCacheEXT    validationCache;-} VkShaderModuleValidationCacheCreateInfoEXT;---typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);-typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);-typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches);-typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(-    VkDevice                                    device,-    const VkValidationCacheCreateInfoEXT*       pCreateInfo,-    const VkAllocationCallbacks*                pAllocator,-    VkValidationCacheEXT*                       pValidationCache);--VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(-    VkDevice                                    device,-    VkValidationCacheEXT                        validationCache,-    const VkAllocationCallbacks*                pAllocator);--VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(-    VkDevice                                    device,-    VkValidationCacheEXT                        dstCache,-    uint32_t                                    srcCacheCount,-    const VkValidationCacheEXT*                 pSrcCaches);--VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(-    VkDevice                                    device,-    VkValidationCacheEXT                        validationCache,-    size_t*                                     pDataSize,-    void*                                       pData);-#endif--#define VK_EXT_shader_viewport_index_layer 1-#define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1-#define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"---#define VK_EXT_global_priority 1-#define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2-#define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"---typedef enum VkQueueGlobalPriorityEXT {-    VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,-    VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,-    VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,-    VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,-    VK_QUEUE_GLOBAL_PRIORITY_BEGIN_RANGE_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT,-    VK_QUEUE_GLOBAL_PRIORITY_END_RANGE_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT,-    VK_QUEUE_GLOBAL_PRIORITY_RANGE_SIZE_EXT = (VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT - VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT + 1),-    VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF-} VkQueueGlobalPriorityEXT;--typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {-    VkStructureType             sType;-    const void*                 pNext;-    VkQueueGlobalPriorityEXT    globalPriority;-} VkDeviceQueueGlobalPriorityCreateInfoEXT;----#define VK_EXT_external_memory_host 1-#define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1-#define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"--typedef struct VkImportMemoryHostPointerInfoEXT {-    VkStructureType                          sType;-    const void*                              pNext;-    VkExternalMemoryHandleTypeFlagBitsKHR    handleType;-    void*                                    pHostPointer;-} VkImportMemoryHostPointerInfoEXT;--typedef struct VkMemoryHostPointerPropertiesEXT {-    VkStructureType    sType;-    void*              pNext;-    uint32_t           memoryTypeBits;-} VkMemoryHostPointerPropertiesEXT;--typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {-    VkStructureType    sType;-    void*              pNext;-    VkDeviceSize       minImportedHostPointerAlignment;-} VkPhysicalDeviceExternalMemoryHostPropertiesEXT;---typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBitsKHR handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(-    VkDevice                                    device,-    VkExternalMemoryHandleTypeFlagBitsKHR       handleType,-    const void*                                 pHostPointer,-    VkMemoryHostPointerPropertiesEXT*           pMemoryHostPointerProperties);-#endif--#define VK_AMD_buffer_marker 1-#define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1-#define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"--typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);--#ifndef VK_NO_PROTOTYPES-VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(-    VkCommandBuffer                             commandBuffer,-    VkPipelineStageFlagBits                     pipelineStage,-    VkBuffer                                    dstBuffer,-    VkDeviceSize                                dstOffset,-    uint32_t                                    marker);-#endif--#ifdef __cplusplus-}-#endif--#endif+/*+** Copyright (c) 2015-2018 The Khronos Group 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.+*/++#include "vk_platform.h"+#include "vulkan_core.h"++#ifdef VK_USE_PLATFORM_ANDROID_KHR+#include "vulkan_android.h"+#endif+++#ifdef VK_USE_PLATFORM_IOS_MVK+#include "vulkan_ios.h"+#endif+++#ifdef VK_USE_PLATFORM_MACOS_MVK+#include "vulkan_macos.h"+#endif+++#ifdef VK_USE_PLATFORM_MIR_KHR+#include <mir_toolkit/client_types.h>+#include "vulkan_mir.h"+#endif+++#ifdef VK_USE_PLATFORM_VI_NN+#include "vulkan_vi.h"+#endif+++#ifdef VK_USE_PLATFORM_WAYLAND_KHR+#include <wayland-client.h>+#include "vulkan_wayland.h"+#endif+++#ifdef VK_USE_PLATFORM_WIN32_KHR+#include <windows.h>+#include "vulkan_win32.h"+#endif+++#ifdef VK_USE_PLATFORM_XCB_KHR+#include <xcb/xcb.h>+#include "vulkan_xcb.h"+#endif+++#ifdef VK_USE_PLATFORM_XLIB_KHR+#include <X11/Xlib.h>+#include "vulkan_xlib.h"+#endif+++#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT+#include <X11/Xlib.h>+#include <X11/extensions/Xrandr.h>+#include "vulkan_xlib_xrandr.h"+#endif++#endif // VULKAN_H_
+ include/vulkan/vulkan_android.h view
@@ -0,0 +1,126 @@+#ifndef VULKAN_ANDROID_H_+#define VULKAN_ANDROID_H_ 1++#ifdef __cplusplus+extern "C" {+#endif++/*+** Copyright (c) 2015-2018 The Khronos Group 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.+*/++/*+** This header is generated from the Khronos Vulkan XML API Registry.+**+*/+++#define VK_KHR_android_surface 1+struct ANativeWindow;++#define VK_KHR_ANDROID_SURFACE_SPEC_VERSION 6+#define VK_KHR_ANDROID_SURFACE_EXTENSION_NAME "VK_KHR_android_surface"++typedef VkFlags VkAndroidSurfaceCreateFlagsKHR;++typedef struct VkAndroidSurfaceCreateInfoKHR {+    VkStructureType                   sType;+    const void*                       pNext;+    VkAndroidSurfaceCreateFlagsKHR    flags;+    struct ANativeWindow*             window;+} VkAndroidSurfaceCreateInfoKHR;+++typedef VkResult (VKAPI_PTR *PFN_vkCreateAndroidSurfaceKHR)(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(+    VkInstance                                  instance,+    const VkAndroidSurfaceCreateInfoKHR*        pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkSurfaceKHR*                               pSurface);+#endif++#define VK_ANDROID_external_memory_android_hardware_buffer 1+struct AHardwareBuffer;++#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 3+#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME "VK_ANDROID_external_memory_android_hardware_buffer"++typedef struct VkAndroidHardwareBufferUsageANDROID {+    VkStructureType    sType;+    void*              pNext;+    uint64_t           androidHardwareBufferUsage;+} VkAndroidHardwareBufferUsageANDROID;++typedef struct VkAndroidHardwareBufferPropertiesANDROID {+    VkStructureType    sType;+    void*              pNext;+    VkDeviceSize       allocationSize;+    uint32_t           memoryTypeBits;+} VkAndroidHardwareBufferPropertiesANDROID;++typedef struct VkAndroidHardwareBufferFormatPropertiesANDROID {+    VkStructureType                  sType;+    void*                            pNext;+    VkFormat                         format;+    uint64_t                         externalFormat;+    VkFormatFeatureFlags             formatFeatures;+    VkComponentMapping               samplerYcbcrConversionComponents;+    VkSamplerYcbcrModelConversion    suggestedYcbcrModel;+    VkSamplerYcbcrRange              suggestedYcbcrRange;+    VkChromaLocation                 suggestedXChromaOffset;+    VkChromaLocation                 suggestedYChromaOffset;+} VkAndroidHardwareBufferFormatPropertiesANDROID;++typedef struct VkImportAndroidHardwareBufferInfoANDROID {+    VkStructureType            sType;+    const void*                pNext;+    struct AHardwareBuffer*    buffer;+} VkImportAndroidHardwareBufferInfoANDROID;++typedef struct VkMemoryGetAndroidHardwareBufferInfoANDROID {+    VkStructureType    sType;+    const void*        pNext;+    VkDeviceMemory     memory;+} VkMemoryGetAndroidHardwareBufferInfoANDROID;++typedef struct VkExternalFormatANDROID {+    VkStructureType    sType;+    void*              pNext;+    uint64_t           externalFormat;+} VkExternalFormatANDROID;+++typedef VkResult (VKAPI_PTR *PFN_vkGetAndroidHardwareBufferPropertiesANDROID)(VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties);+typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryAndroidHardwareBufferANDROID)(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkGetAndroidHardwareBufferPropertiesANDROID(+    VkDevice                                    device,+    const struct AHardwareBuffer*               buffer,+    VkAndroidHardwareBufferPropertiesANDROID*   pProperties);++VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryAndroidHardwareBufferANDROID(+    VkDevice                                    device,+    const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo,+    struct AHardwareBuffer**                    pBuffer);+#endif++#ifdef __cplusplus+}+#endif++#endif
+ include/vulkan/vulkan_core.h view
@@ -0,0 +1,7341 @@+#ifndef VULKAN_CORE_H_+#define VULKAN_CORE_H_ 1++#ifdef __cplusplus+extern "C" {+#endif++/*+** Copyright (c) 2015-2018 The Khronos Group 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.+*/++/*+** This header is generated from the Khronos Vulkan XML API Registry.+**+*/+++#define VK_VERSION_1_0 1+#include "vk_platform.h"++#define VK_MAKE_VERSION(major, minor, patch) \+    (((major) << 22) | ((minor) << 12) | (patch))++// DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead.+//#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0++// Vulkan 1.0 version number+#define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)// Patch version should always be set to 0++#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)+#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)+#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)+// Version of this file+#define VK_HEADER_VERSION 71+++#define VK_NULL_HANDLE 0+        +++#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;+++#if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)+#if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)+        #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;+#else+        #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;+#endif+#endif+        +++typedef uint32_t VkFlags;+typedef uint32_t VkBool32;+typedef uint64_t VkDeviceSize;+typedef uint32_t VkSampleMask;++VK_DEFINE_HANDLE(VkInstance)+VK_DEFINE_HANDLE(VkPhysicalDevice)+VK_DEFINE_HANDLE(VkDevice)+VK_DEFINE_HANDLE(VkQueue)+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)+VK_DEFINE_HANDLE(VkCommandBuffer)+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)++#define VK_LOD_CLAMP_NONE                 1000.0f+#define VK_REMAINING_MIP_LEVELS           (~0U)+#define VK_REMAINING_ARRAY_LAYERS         (~0U)+#define VK_WHOLE_SIZE                     (~0ULL)+#define VK_ATTACHMENT_UNUSED              (~0U)+#define VK_TRUE                           1+#define VK_FALSE                          0+#define VK_QUEUE_FAMILY_IGNORED           (~0U)+#define VK_SUBPASS_EXTERNAL               (~0U)+#define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE  256+#define VK_UUID_SIZE                      16+#define VK_MAX_MEMORY_TYPES               32+#define VK_MAX_MEMORY_HEAPS               16+#define VK_MAX_EXTENSION_NAME_SIZE        256+#define VK_MAX_DESCRIPTION_SIZE           256+++typedef enum VkPipelineCacheHeaderVersion {+    VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,+    VK_PIPELINE_CACHE_HEADER_VERSION_BEGIN_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,+    VK_PIPELINE_CACHE_HEADER_VERSION_END_RANGE = VK_PIPELINE_CACHE_HEADER_VERSION_ONE,+    VK_PIPELINE_CACHE_HEADER_VERSION_RANGE_SIZE = (VK_PIPELINE_CACHE_HEADER_VERSION_ONE - VK_PIPELINE_CACHE_HEADER_VERSION_ONE + 1),+    VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF+} VkPipelineCacheHeaderVersion;++typedef enum VkResult {+    VK_SUCCESS = 0,+    VK_NOT_READY = 1,+    VK_TIMEOUT = 2,+    VK_EVENT_SET = 3,+    VK_EVENT_RESET = 4,+    VK_INCOMPLETE = 5,+    VK_ERROR_OUT_OF_HOST_MEMORY = -1,+    VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,+    VK_ERROR_INITIALIZATION_FAILED = -3,+    VK_ERROR_DEVICE_LOST = -4,+    VK_ERROR_MEMORY_MAP_FAILED = -5,+    VK_ERROR_LAYER_NOT_PRESENT = -6,+    VK_ERROR_EXTENSION_NOT_PRESENT = -7,+    VK_ERROR_FEATURE_NOT_PRESENT = -8,+    VK_ERROR_INCOMPATIBLE_DRIVER = -9,+    VK_ERROR_TOO_MANY_OBJECTS = -10,+    VK_ERROR_FORMAT_NOT_SUPPORTED = -11,+    VK_ERROR_FRAGMENTED_POOL = -12,+    VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,+    VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,+    VK_ERROR_SURFACE_LOST_KHR = -1000000000,+    VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,+    VK_SUBOPTIMAL_KHR = 1000001003,+    VK_ERROR_OUT_OF_DATE_KHR = -1000001004,+    VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,+    VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,+    VK_ERROR_INVALID_SHADER_NV = -1000012000,+    VK_ERROR_NOT_PERMITTED_EXT = -1000174001,+    VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,+    VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,+    VK_RESULT_BEGIN_RANGE = VK_ERROR_FRAGMENTED_POOL,+    VK_RESULT_END_RANGE = VK_INCOMPLETE,+    VK_RESULT_RANGE_SIZE = (VK_INCOMPLETE - VK_ERROR_FRAGMENTED_POOL + 1),+    VK_RESULT_MAX_ENUM = 0x7FFFFFFF+} VkResult;++typedef enum VkStructureType {+    VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,+    VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,+    VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,+    VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,+    VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,+    VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,+    VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,+    VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,+    VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,+    VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,+    VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,+    VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,+    VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,+    VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,+    VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,+    VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,+    VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,+    VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,+    VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,+    VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,+    VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,+    VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,+    VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,+    VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,+    VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,+    VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,+    VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,+    VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,+    VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,+    VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,+    VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,+    VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,+    VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,+    VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,+    VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,+    VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,+    VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,+    VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,+    VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,+    VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,+    VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,+    VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,+    VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,+    VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,+    VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,+    VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,+    VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,+    VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,+    VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,+    VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,+    VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,+    VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,+    VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,+    VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,+    VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,+    VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,+    VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,+    VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,+    VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,+    VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,+    VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,+    VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,+    VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,+    VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,+    VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,+    VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,+    VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,+    VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,+    VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,+    VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,+    VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,+    VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,+    VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,+    VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = 1000120000,+    VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,+    VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,+    VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,+    VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,+    VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,+    VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,+    VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,+    VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,+    VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,+    VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,+    VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,+    VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,+    VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,+    VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,+    VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,+    VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,+    VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,+    VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = 1000063000,+    VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,+    VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,+    VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,+    VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,+    VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,+    VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,+    VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,+    VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,+    VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,+    VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,+    VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,+    VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,+    VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,+    VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,+    VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR = 1000007000,+    VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,+    VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,+    VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,+    VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,+    VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,+    VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,+    VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,+    VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,+    VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,+    VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,+    VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,+    VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,+    VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,+    VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,+    VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,+    VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,+    VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,+    VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,+    VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,+    VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,+    VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,+    VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,+    VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,+    VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,+    VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,+    VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,+    VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,+    VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,+    VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,+    VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,+    VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,+    VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,+    VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,+    VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX = 1000086000,+    VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX = 1000086001,+    VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX = 1000086002,+    VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX = 1000086003,+    VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX = 1000086004,+    VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX = 1000086005,+    VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,+    VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,+    VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,+    VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,+    VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,+    VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,+    VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,+    VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,+    VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,+    VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,+    VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,+    VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,+    VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,+    VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,+    VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,+    VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,+    VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,+    VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,+    VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,+    VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,+    VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,+    VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,+    VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,+    VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,+    VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,+    VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,+    VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,+    VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,+    VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,+    VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,+    VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,+    VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000,+    VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001,+    VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,+    VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,+    VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,+    VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,+    VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = 1000147000,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,+    VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,+    VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,+    VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,+    VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,+    VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,+    VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,+    VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,+    VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,+    VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,+    VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,+    VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,+    VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,+    VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,+    VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,+    VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,+    VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,+    VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,+    VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,+    VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,+    VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,+    VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,+    VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,+    VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,+    VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,+    VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,+    VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,+    VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,+    VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,+    VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,+    VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,+    VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,+    VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,+    VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,+    VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,+    VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,+    VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,+    VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,+    VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,+    VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,+    VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,+    VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,+    VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,+    VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,+    VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,+    VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,+    VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,+    VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,+    VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,+    VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,+    VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,+    VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO,+    VK_STRUCTURE_TYPE_END_RANGE = VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO,+    VK_STRUCTURE_TYPE_RANGE_SIZE = (VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1),+    VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF+} VkStructureType;++typedef enum VkSystemAllocationScope {+    VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,+    VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,+    VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,+    VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,+    VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,+    VK_SYSTEM_ALLOCATION_SCOPE_BEGIN_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_COMMAND,+    VK_SYSTEM_ALLOCATION_SCOPE_END_RANGE = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE,+    VK_SYSTEM_ALLOCATION_SCOPE_RANGE_SIZE = (VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE - VK_SYSTEM_ALLOCATION_SCOPE_COMMAND + 1),+    VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF+} VkSystemAllocationScope;++typedef enum VkInternalAllocationType {+    VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,+    VK_INTERNAL_ALLOCATION_TYPE_BEGIN_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE,+    VK_INTERNAL_ALLOCATION_TYPE_END_RANGE = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE,+    VK_INTERNAL_ALLOCATION_TYPE_RANGE_SIZE = (VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE - VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE + 1),+    VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF+} VkInternalAllocationType;++typedef enum VkFormat {+    VK_FORMAT_UNDEFINED = 0,+    VK_FORMAT_R4G4_UNORM_PACK8 = 1,+    VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,+    VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,+    VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,+    VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,+    VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,+    VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,+    VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,+    VK_FORMAT_R8_UNORM = 9,+    VK_FORMAT_R8_SNORM = 10,+    VK_FORMAT_R8_USCALED = 11,+    VK_FORMAT_R8_SSCALED = 12,+    VK_FORMAT_R8_UINT = 13,+    VK_FORMAT_R8_SINT = 14,+    VK_FORMAT_R8_SRGB = 15,+    VK_FORMAT_R8G8_UNORM = 16,+    VK_FORMAT_R8G8_SNORM = 17,+    VK_FORMAT_R8G8_USCALED = 18,+    VK_FORMAT_R8G8_SSCALED = 19,+    VK_FORMAT_R8G8_UINT = 20,+    VK_FORMAT_R8G8_SINT = 21,+    VK_FORMAT_R8G8_SRGB = 22,+    VK_FORMAT_R8G8B8_UNORM = 23,+    VK_FORMAT_R8G8B8_SNORM = 24,+    VK_FORMAT_R8G8B8_USCALED = 25,+    VK_FORMAT_R8G8B8_SSCALED = 26,+    VK_FORMAT_R8G8B8_UINT = 27,+    VK_FORMAT_R8G8B8_SINT = 28,+    VK_FORMAT_R8G8B8_SRGB = 29,+    VK_FORMAT_B8G8R8_UNORM = 30,+    VK_FORMAT_B8G8R8_SNORM = 31,+    VK_FORMAT_B8G8R8_USCALED = 32,+    VK_FORMAT_B8G8R8_SSCALED = 33,+    VK_FORMAT_B8G8R8_UINT = 34,+    VK_FORMAT_B8G8R8_SINT = 35,+    VK_FORMAT_B8G8R8_SRGB = 36,+    VK_FORMAT_R8G8B8A8_UNORM = 37,+    VK_FORMAT_R8G8B8A8_SNORM = 38,+    VK_FORMAT_R8G8B8A8_USCALED = 39,+    VK_FORMAT_R8G8B8A8_SSCALED = 40,+    VK_FORMAT_R8G8B8A8_UINT = 41,+    VK_FORMAT_R8G8B8A8_SINT = 42,+    VK_FORMAT_R8G8B8A8_SRGB = 43,+    VK_FORMAT_B8G8R8A8_UNORM = 44,+    VK_FORMAT_B8G8R8A8_SNORM = 45,+    VK_FORMAT_B8G8R8A8_USCALED = 46,+    VK_FORMAT_B8G8R8A8_SSCALED = 47,+    VK_FORMAT_B8G8R8A8_UINT = 48,+    VK_FORMAT_B8G8R8A8_SINT = 49,+    VK_FORMAT_B8G8R8A8_SRGB = 50,+    VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,+    VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,+    VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,+    VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,+    VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,+    VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,+    VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,+    VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,+    VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,+    VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,+    VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,+    VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,+    VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,+    VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,+    VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,+    VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,+    VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,+    VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,+    VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,+    VK_FORMAT_R16_UNORM = 70,+    VK_FORMAT_R16_SNORM = 71,+    VK_FORMAT_R16_USCALED = 72,+    VK_FORMAT_R16_SSCALED = 73,+    VK_FORMAT_R16_UINT = 74,+    VK_FORMAT_R16_SINT = 75,+    VK_FORMAT_R16_SFLOAT = 76,+    VK_FORMAT_R16G16_UNORM = 77,+    VK_FORMAT_R16G16_SNORM = 78,+    VK_FORMAT_R16G16_USCALED = 79,+    VK_FORMAT_R16G16_SSCALED = 80,+    VK_FORMAT_R16G16_UINT = 81,+    VK_FORMAT_R16G16_SINT = 82,+    VK_FORMAT_R16G16_SFLOAT = 83,+    VK_FORMAT_R16G16B16_UNORM = 84,+    VK_FORMAT_R16G16B16_SNORM = 85,+    VK_FORMAT_R16G16B16_USCALED = 86,+    VK_FORMAT_R16G16B16_SSCALED = 87,+    VK_FORMAT_R16G16B16_UINT = 88,+    VK_FORMAT_R16G16B16_SINT = 89,+    VK_FORMAT_R16G16B16_SFLOAT = 90,+    VK_FORMAT_R16G16B16A16_UNORM = 91,+    VK_FORMAT_R16G16B16A16_SNORM = 92,+    VK_FORMAT_R16G16B16A16_USCALED = 93,+    VK_FORMAT_R16G16B16A16_SSCALED = 94,+    VK_FORMAT_R16G16B16A16_UINT = 95,+    VK_FORMAT_R16G16B16A16_SINT = 96,+    VK_FORMAT_R16G16B16A16_SFLOAT = 97,+    VK_FORMAT_R32_UINT = 98,+    VK_FORMAT_R32_SINT = 99,+    VK_FORMAT_R32_SFLOAT = 100,+    VK_FORMAT_R32G32_UINT = 101,+    VK_FORMAT_R32G32_SINT = 102,+    VK_FORMAT_R32G32_SFLOAT = 103,+    VK_FORMAT_R32G32B32_UINT = 104,+    VK_FORMAT_R32G32B32_SINT = 105,+    VK_FORMAT_R32G32B32_SFLOAT = 106,+    VK_FORMAT_R32G32B32A32_UINT = 107,+    VK_FORMAT_R32G32B32A32_SINT = 108,+    VK_FORMAT_R32G32B32A32_SFLOAT = 109,+    VK_FORMAT_R64_UINT = 110,+    VK_FORMAT_R64_SINT = 111,+    VK_FORMAT_R64_SFLOAT = 112,+    VK_FORMAT_R64G64_UINT = 113,+    VK_FORMAT_R64G64_SINT = 114,+    VK_FORMAT_R64G64_SFLOAT = 115,+    VK_FORMAT_R64G64B64_UINT = 116,+    VK_FORMAT_R64G64B64_SINT = 117,+    VK_FORMAT_R64G64B64_SFLOAT = 118,+    VK_FORMAT_R64G64B64A64_UINT = 119,+    VK_FORMAT_R64G64B64A64_SINT = 120,+    VK_FORMAT_R64G64B64A64_SFLOAT = 121,+    VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,+    VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,+    VK_FORMAT_D16_UNORM = 124,+    VK_FORMAT_X8_D24_UNORM_PACK32 = 125,+    VK_FORMAT_D32_SFLOAT = 126,+    VK_FORMAT_S8_UINT = 127,+    VK_FORMAT_D16_UNORM_S8_UINT = 128,+    VK_FORMAT_D24_UNORM_S8_UINT = 129,+    VK_FORMAT_D32_SFLOAT_S8_UINT = 130,+    VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,+    VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,+    VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,+    VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,+    VK_FORMAT_BC2_UNORM_BLOCK = 135,+    VK_FORMAT_BC2_SRGB_BLOCK = 136,+    VK_FORMAT_BC3_UNORM_BLOCK = 137,+    VK_FORMAT_BC3_SRGB_BLOCK = 138,+    VK_FORMAT_BC4_UNORM_BLOCK = 139,+    VK_FORMAT_BC4_SNORM_BLOCK = 140,+    VK_FORMAT_BC5_UNORM_BLOCK = 141,+    VK_FORMAT_BC5_SNORM_BLOCK = 142,+    VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,+    VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,+    VK_FORMAT_BC7_UNORM_BLOCK = 145,+    VK_FORMAT_BC7_SRGB_BLOCK = 146,+    VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,+    VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,+    VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,+    VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,+    VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,+    VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,+    VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,+    VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,+    VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,+    VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,+    VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,+    VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,+    VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,+    VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,+    VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,+    VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,+    VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,+    VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,+    VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,+    VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,+    VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,+    VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,+    VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,+    VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,+    VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,+    VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,+    VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,+    VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,+    VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,+    VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,+    VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,+    VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,+    VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,+    VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,+    VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,+    VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,+    VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,+    VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,+    VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,+    VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,+    VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,+    VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,+    VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,+    VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,+    VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,+    VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,+    VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,+    VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,+    VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,+    VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,+    VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,+    VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,+    VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,+    VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,+    VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,+    VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,+    VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,+    VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,+    VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,+    VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,+    VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,+    VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,+    VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,+    VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,+    VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,+    VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,+    VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,+    VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,+    VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,+    VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,+    VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,+    VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,+    VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,+    VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,+    VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,+    VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,+    VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,+    VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,+    VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,+    VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,+    VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,+    VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,+    VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,+    VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,+    VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,+    VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,+    VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,+    VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,+    VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,+    VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,+    VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,+    VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,+    VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,+    VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,+    VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,+    VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,+    VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,+    VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,+    VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,+    VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,+    VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,+    VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,+    VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,+    VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,+    VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,+    VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,+    VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,+    VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,+    VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,+    VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,+    VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,+    VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,+    VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,+    VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,+    VK_FORMAT_BEGIN_RANGE = VK_FORMAT_UNDEFINED,+    VK_FORMAT_END_RANGE = VK_FORMAT_ASTC_12x12_SRGB_BLOCK,+    VK_FORMAT_RANGE_SIZE = (VK_FORMAT_ASTC_12x12_SRGB_BLOCK - VK_FORMAT_UNDEFINED + 1),+    VK_FORMAT_MAX_ENUM = 0x7FFFFFFF+} VkFormat;++typedef enum VkImageType {+    VK_IMAGE_TYPE_1D = 0,+    VK_IMAGE_TYPE_2D = 1,+    VK_IMAGE_TYPE_3D = 2,+    VK_IMAGE_TYPE_BEGIN_RANGE = VK_IMAGE_TYPE_1D,+    VK_IMAGE_TYPE_END_RANGE = VK_IMAGE_TYPE_3D,+    VK_IMAGE_TYPE_RANGE_SIZE = (VK_IMAGE_TYPE_3D - VK_IMAGE_TYPE_1D + 1),+    VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF+} VkImageType;++typedef enum VkImageTiling {+    VK_IMAGE_TILING_OPTIMAL = 0,+    VK_IMAGE_TILING_LINEAR = 1,+    VK_IMAGE_TILING_BEGIN_RANGE = VK_IMAGE_TILING_OPTIMAL,+    VK_IMAGE_TILING_END_RANGE = VK_IMAGE_TILING_LINEAR,+    VK_IMAGE_TILING_RANGE_SIZE = (VK_IMAGE_TILING_LINEAR - VK_IMAGE_TILING_OPTIMAL + 1),+    VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF+} VkImageTiling;++typedef enum VkPhysicalDeviceType {+    VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,+    VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,+    VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,+    VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,+    VK_PHYSICAL_DEVICE_TYPE_CPU = 4,+    VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE = VK_PHYSICAL_DEVICE_TYPE_OTHER,+    VK_PHYSICAL_DEVICE_TYPE_END_RANGE = VK_PHYSICAL_DEVICE_TYPE_CPU,+    VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE = (VK_PHYSICAL_DEVICE_TYPE_CPU - VK_PHYSICAL_DEVICE_TYPE_OTHER + 1),+    VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF+} VkPhysicalDeviceType;++typedef enum VkQueryType {+    VK_QUERY_TYPE_OCCLUSION = 0,+    VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,+    VK_QUERY_TYPE_TIMESTAMP = 2,+    VK_QUERY_TYPE_BEGIN_RANGE = VK_QUERY_TYPE_OCCLUSION,+    VK_QUERY_TYPE_END_RANGE = VK_QUERY_TYPE_TIMESTAMP,+    VK_QUERY_TYPE_RANGE_SIZE = (VK_QUERY_TYPE_TIMESTAMP - VK_QUERY_TYPE_OCCLUSION + 1),+    VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF+} VkQueryType;++typedef enum VkSharingMode {+    VK_SHARING_MODE_EXCLUSIVE = 0,+    VK_SHARING_MODE_CONCURRENT = 1,+    VK_SHARING_MODE_BEGIN_RANGE = VK_SHARING_MODE_EXCLUSIVE,+    VK_SHARING_MODE_END_RANGE = VK_SHARING_MODE_CONCURRENT,+    VK_SHARING_MODE_RANGE_SIZE = (VK_SHARING_MODE_CONCURRENT - VK_SHARING_MODE_EXCLUSIVE + 1),+    VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF+} VkSharingMode;++typedef enum VkImageLayout {+    VK_IMAGE_LAYOUT_UNDEFINED = 0,+    VK_IMAGE_LAYOUT_GENERAL = 1,+    VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,+    VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,+    VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,+    VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,+    VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,+    VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,+    VK_IMAGE_LAYOUT_PREINITIALIZED = 8,+    VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,+    VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,+    VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,+    VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,+    VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,+    VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,+    VK_IMAGE_LAYOUT_BEGIN_RANGE = VK_IMAGE_LAYOUT_UNDEFINED,+    VK_IMAGE_LAYOUT_END_RANGE = VK_IMAGE_LAYOUT_PREINITIALIZED,+    VK_IMAGE_LAYOUT_RANGE_SIZE = (VK_IMAGE_LAYOUT_PREINITIALIZED - VK_IMAGE_LAYOUT_UNDEFINED + 1),+    VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF+} VkImageLayout;++typedef enum VkImageViewType {+    VK_IMAGE_VIEW_TYPE_1D = 0,+    VK_IMAGE_VIEW_TYPE_2D = 1,+    VK_IMAGE_VIEW_TYPE_3D = 2,+    VK_IMAGE_VIEW_TYPE_CUBE = 3,+    VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,+    VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,+    VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,+    VK_IMAGE_VIEW_TYPE_BEGIN_RANGE = VK_IMAGE_VIEW_TYPE_1D,+    VK_IMAGE_VIEW_TYPE_END_RANGE = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY,+    VK_IMAGE_VIEW_TYPE_RANGE_SIZE = (VK_IMAGE_VIEW_TYPE_CUBE_ARRAY - VK_IMAGE_VIEW_TYPE_1D + 1),+    VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF+} VkImageViewType;++typedef enum VkComponentSwizzle {+    VK_COMPONENT_SWIZZLE_IDENTITY = 0,+    VK_COMPONENT_SWIZZLE_ZERO = 1,+    VK_COMPONENT_SWIZZLE_ONE = 2,+    VK_COMPONENT_SWIZZLE_R = 3,+    VK_COMPONENT_SWIZZLE_G = 4,+    VK_COMPONENT_SWIZZLE_B = 5,+    VK_COMPONENT_SWIZZLE_A = 6,+    VK_COMPONENT_SWIZZLE_BEGIN_RANGE = VK_COMPONENT_SWIZZLE_IDENTITY,+    VK_COMPONENT_SWIZZLE_END_RANGE = VK_COMPONENT_SWIZZLE_A,+    VK_COMPONENT_SWIZZLE_RANGE_SIZE = (VK_COMPONENT_SWIZZLE_A - VK_COMPONENT_SWIZZLE_IDENTITY + 1),+    VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF+} VkComponentSwizzle;++typedef enum VkVertexInputRate {+    VK_VERTEX_INPUT_RATE_VERTEX = 0,+    VK_VERTEX_INPUT_RATE_INSTANCE = 1,+    VK_VERTEX_INPUT_RATE_BEGIN_RANGE = VK_VERTEX_INPUT_RATE_VERTEX,+    VK_VERTEX_INPUT_RATE_END_RANGE = VK_VERTEX_INPUT_RATE_INSTANCE,+    VK_VERTEX_INPUT_RATE_RANGE_SIZE = (VK_VERTEX_INPUT_RATE_INSTANCE - VK_VERTEX_INPUT_RATE_VERTEX + 1),+    VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF+} VkVertexInputRate;++typedef enum VkPrimitiveTopology {+    VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,+    VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,+    VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,+    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,+    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,+    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,+    VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,+    VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,+    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,+    VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,+    VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,+    VK_PRIMITIVE_TOPOLOGY_BEGIN_RANGE = VK_PRIMITIVE_TOPOLOGY_POINT_LIST,+    VK_PRIMITIVE_TOPOLOGY_END_RANGE = VK_PRIMITIVE_TOPOLOGY_PATCH_LIST,+    VK_PRIMITIVE_TOPOLOGY_RANGE_SIZE = (VK_PRIMITIVE_TOPOLOGY_PATCH_LIST - VK_PRIMITIVE_TOPOLOGY_POINT_LIST + 1),+    VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF+} VkPrimitiveTopology;++typedef enum VkPolygonMode {+    VK_POLYGON_MODE_FILL = 0,+    VK_POLYGON_MODE_LINE = 1,+    VK_POLYGON_MODE_POINT = 2,+    VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,+    VK_POLYGON_MODE_BEGIN_RANGE = VK_POLYGON_MODE_FILL,+    VK_POLYGON_MODE_END_RANGE = VK_POLYGON_MODE_POINT,+    VK_POLYGON_MODE_RANGE_SIZE = (VK_POLYGON_MODE_POINT - VK_POLYGON_MODE_FILL + 1),+    VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF+} VkPolygonMode;++typedef enum VkFrontFace {+    VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,+    VK_FRONT_FACE_CLOCKWISE = 1,+    VK_FRONT_FACE_BEGIN_RANGE = VK_FRONT_FACE_COUNTER_CLOCKWISE,+    VK_FRONT_FACE_END_RANGE = VK_FRONT_FACE_CLOCKWISE,+    VK_FRONT_FACE_RANGE_SIZE = (VK_FRONT_FACE_CLOCKWISE - VK_FRONT_FACE_COUNTER_CLOCKWISE + 1),+    VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF+} VkFrontFace;++typedef enum VkCompareOp {+    VK_COMPARE_OP_NEVER = 0,+    VK_COMPARE_OP_LESS = 1,+    VK_COMPARE_OP_EQUAL = 2,+    VK_COMPARE_OP_LESS_OR_EQUAL = 3,+    VK_COMPARE_OP_GREATER = 4,+    VK_COMPARE_OP_NOT_EQUAL = 5,+    VK_COMPARE_OP_GREATER_OR_EQUAL = 6,+    VK_COMPARE_OP_ALWAYS = 7,+    VK_COMPARE_OP_BEGIN_RANGE = VK_COMPARE_OP_NEVER,+    VK_COMPARE_OP_END_RANGE = VK_COMPARE_OP_ALWAYS,+    VK_COMPARE_OP_RANGE_SIZE = (VK_COMPARE_OP_ALWAYS - VK_COMPARE_OP_NEVER + 1),+    VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF+} VkCompareOp;++typedef enum VkStencilOp {+    VK_STENCIL_OP_KEEP = 0,+    VK_STENCIL_OP_ZERO = 1,+    VK_STENCIL_OP_REPLACE = 2,+    VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,+    VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,+    VK_STENCIL_OP_INVERT = 5,+    VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,+    VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,+    VK_STENCIL_OP_BEGIN_RANGE = VK_STENCIL_OP_KEEP,+    VK_STENCIL_OP_END_RANGE = VK_STENCIL_OP_DECREMENT_AND_WRAP,+    VK_STENCIL_OP_RANGE_SIZE = (VK_STENCIL_OP_DECREMENT_AND_WRAP - VK_STENCIL_OP_KEEP + 1),+    VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF+} VkStencilOp;++typedef enum VkLogicOp {+    VK_LOGIC_OP_CLEAR = 0,+    VK_LOGIC_OP_AND = 1,+    VK_LOGIC_OP_AND_REVERSE = 2,+    VK_LOGIC_OP_COPY = 3,+    VK_LOGIC_OP_AND_INVERTED = 4,+    VK_LOGIC_OP_NO_OP = 5,+    VK_LOGIC_OP_XOR = 6,+    VK_LOGIC_OP_OR = 7,+    VK_LOGIC_OP_NOR = 8,+    VK_LOGIC_OP_EQUIVALENT = 9,+    VK_LOGIC_OP_INVERT = 10,+    VK_LOGIC_OP_OR_REVERSE = 11,+    VK_LOGIC_OP_COPY_INVERTED = 12,+    VK_LOGIC_OP_OR_INVERTED = 13,+    VK_LOGIC_OP_NAND = 14,+    VK_LOGIC_OP_SET = 15,+    VK_LOGIC_OP_BEGIN_RANGE = VK_LOGIC_OP_CLEAR,+    VK_LOGIC_OP_END_RANGE = VK_LOGIC_OP_SET,+    VK_LOGIC_OP_RANGE_SIZE = (VK_LOGIC_OP_SET - VK_LOGIC_OP_CLEAR + 1),+    VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF+} VkLogicOp;++typedef enum VkBlendFactor {+    VK_BLEND_FACTOR_ZERO = 0,+    VK_BLEND_FACTOR_ONE = 1,+    VK_BLEND_FACTOR_SRC_COLOR = 2,+    VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,+    VK_BLEND_FACTOR_DST_COLOR = 4,+    VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,+    VK_BLEND_FACTOR_SRC_ALPHA = 6,+    VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,+    VK_BLEND_FACTOR_DST_ALPHA = 8,+    VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,+    VK_BLEND_FACTOR_CONSTANT_COLOR = 10,+    VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,+    VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,+    VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,+    VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,+    VK_BLEND_FACTOR_SRC1_COLOR = 15,+    VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,+    VK_BLEND_FACTOR_SRC1_ALPHA = 17,+    VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,+    VK_BLEND_FACTOR_BEGIN_RANGE = VK_BLEND_FACTOR_ZERO,+    VK_BLEND_FACTOR_END_RANGE = VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA,+    VK_BLEND_FACTOR_RANGE_SIZE = (VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA - VK_BLEND_FACTOR_ZERO + 1),+    VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF+} VkBlendFactor;++typedef enum VkBlendOp {+    VK_BLEND_OP_ADD = 0,+    VK_BLEND_OP_SUBTRACT = 1,+    VK_BLEND_OP_REVERSE_SUBTRACT = 2,+    VK_BLEND_OP_MIN = 3,+    VK_BLEND_OP_MAX = 4,+    VK_BLEND_OP_ZERO_EXT = 1000148000,+    VK_BLEND_OP_SRC_EXT = 1000148001,+    VK_BLEND_OP_DST_EXT = 1000148002,+    VK_BLEND_OP_SRC_OVER_EXT = 1000148003,+    VK_BLEND_OP_DST_OVER_EXT = 1000148004,+    VK_BLEND_OP_SRC_IN_EXT = 1000148005,+    VK_BLEND_OP_DST_IN_EXT = 1000148006,+    VK_BLEND_OP_SRC_OUT_EXT = 1000148007,+    VK_BLEND_OP_DST_OUT_EXT = 1000148008,+    VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,+    VK_BLEND_OP_DST_ATOP_EXT = 1000148010,+    VK_BLEND_OP_XOR_EXT = 1000148011,+    VK_BLEND_OP_MULTIPLY_EXT = 1000148012,+    VK_BLEND_OP_SCREEN_EXT = 1000148013,+    VK_BLEND_OP_OVERLAY_EXT = 1000148014,+    VK_BLEND_OP_DARKEN_EXT = 1000148015,+    VK_BLEND_OP_LIGHTEN_EXT = 1000148016,+    VK_BLEND_OP_COLORDODGE_EXT = 1000148017,+    VK_BLEND_OP_COLORBURN_EXT = 1000148018,+    VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,+    VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,+    VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,+    VK_BLEND_OP_EXCLUSION_EXT = 1000148022,+    VK_BLEND_OP_INVERT_EXT = 1000148023,+    VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,+    VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,+    VK_BLEND_OP_LINEARBURN_EXT = 1000148026,+    VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,+    VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,+    VK_BLEND_OP_PINLIGHT_EXT = 1000148029,+    VK_BLEND_OP_HARDMIX_EXT = 1000148030,+    VK_BLEND_OP_HSL_HUE_EXT = 1000148031,+    VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,+    VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,+    VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,+    VK_BLEND_OP_PLUS_EXT = 1000148035,+    VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,+    VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,+    VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,+    VK_BLEND_OP_MINUS_EXT = 1000148039,+    VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,+    VK_BLEND_OP_CONTRAST_EXT = 1000148041,+    VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,+    VK_BLEND_OP_RED_EXT = 1000148043,+    VK_BLEND_OP_GREEN_EXT = 1000148044,+    VK_BLEND_OP_BLUE_EXT = 1000148045,+    VK_BLEND_OP_BEGIN_RANGE = VK_BLEND_OP_ADD,+    VK_BLEND_OP_END_RANGE = VK_BLEND_OP_MAX,+    VK_BLEND_OP_RANGE_SIZE = (VK_BLEND_OP_MAX - VK_BLEND_OP_ADD + 1),+    VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF+} VkBlendOp;++typedef enum VkDynamicState {+    VK_DYNAMIC_STATE_VIEWPORT = 0,+    VK_DYNAMIC_STATE_SCISSOR = 1,+    VK_DYNAMIC_STATE_LINE_WIDTH = 2,+    VK_DYNAMIC_STATE_DEPTH_BIAS = 3,+    VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,+    VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,+    VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,+    VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,+    VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,+    VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,+    VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,+    VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,+    VK_DYNAMIC_STATE_BEGIN_RANGE = VK_DYNAMIC_STATE_VIEWPORT,+    VK_DYNAMIC_STATE_END_RANGE = VK_DYNAMIC_STATE_STENCIL_REFERENCE,+    VK_DYNAMIC_STATE_RANGE_SIZE = (VK_DYNAMIC_STATE_STENCIL_REFERENCE - VK_DYNAMIC_STATE_VIEWPORT + 1),+    VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF+} VkDynamicState;++typedef enum VkFilter {+    VK_FILTER_NEAREST = 0,+    VK_FILTER_LINEAR = 1,+    VK_FILTER_CUBIC_IMG = 1000015000,+    VK_FILTER_BEGIN_RANGE = VK_FILTER_NEAREST,+    VK_FILTER_END_RANGE = VK_FILTER_LINEAR,+    VK_FILTER_RANGE_SIZE = (VK_FILTER_LINEAR - VK_FILTER_NEAREST + 1),+    VK_FILTER_MAX_ENUM = 0x7FFFFFFF+} VkFilter;++typedef enum VkSamplerMipmapMode {+    VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,+    VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,+    VK_SAMPLER_MIPMAP_MODE_BEGIN_RANGE = VK_SAMPLER_MIPMAP_MODE_NEAREST,+    VK_SAMPLER_MIPMAP_MODE_END_RANGE = VK_SAMPLER_MIPMAP_MODE_LINEAR,+    VK_SAMPLER_MIPMAP_MODE_RANGE_SIZE = (VK_SAMPLER_MIPMAP_MODE_LINEAR - VK_SAMPLER_MIPMAP_MODE_NEAREST + 1),+    VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF+} VkSamplerMipmapMode;++typedef enum VkSamplerAddressMode {+    VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,+    VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,+    VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,+    VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,+    VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,+    VK_SAMPLER_ADDRESS_MODE_BEGIN_RANGE = VK_SAMPLER_ADDRESS_MODE_REPEAT,+    VK_SAMPLER_ADDRESS_MODE_END_RANGE = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER,+    VK_SAMPLER_ADDRESS_MODE_RANGE_SIZE = (VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER - VK_SAMPLER_ADDRESS_MODE_REPEAT + 1),+    VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF+} VkSamplerAddressMode;++typedef enum VkBorderColor {+    VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,+    VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,+    VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,+    VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,+    VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,+    VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,+    VK_BORDER_COLOR_BEGIN_RANGE = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,+    VK_BORDER_COLOR_END_RANGE = VK_BORDER_COLOR_INT_OPAQUE_WHITE,+    VK_BORDER_COLOR_RANGE_SIZE = (VK_BORDER_COLOR_INT_OPAQUE_WHITE - VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK + 1),+    VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF+} VkBorderColor;++typedef enum VkDescriptorType {+    VK_DESCRIPTOR_TYPE_SAMPLER = 0,+    VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,+    VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,+    VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,+    VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,+    VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,+    VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,+    VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,+    VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,+    VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,+    VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,+    VK_DESCRIPTOR_TYPE_BEGIN_RANGE = VK_DESCRIPTOR_TYPE_SAMPLER,+    VK_DESCRIPTOR_TYPE_END_RANGE = VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,+    VK_DESCRIPTOR_TYPE_RANGE_SIZE = (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT - VK_DESCRIPTOR_TYPE_SAMPLER + 1),+    VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF+} VkDescriptorType;++typedef enum VkAttachmentLoadOp {+    VK_ATTACHMENT_LOAD_OP_LOAD = 0,+    VK_ATTACHMENT_LOAD_OP_CLEAR = 1,+    VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,+    VK_ATTACHMENT_LOAD_OP_BEGIN_RANGE = VK_ATTACHMENT_LOAD_OP_LOAD,+    VK_ATTACHMENT_LOAD_OP_END_RANGE = VK_ATTACHMENT_LOAD_OP_DONT_CARE,+    VK_ATTACHMENT_LOAD_OP_RANGE_SIZE = (VK_ATTACHMENT_LOAD_OP_DONT_CARE - VK_ATTACHMENT_LOAD_OP_LOAD + 1),+    VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF+} VkAttachmentLoadOp;++typedef enum VkAttachmentStoreOp {+    VK_ATTACHMENT_STORE_OP_STORE = 0,+    VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,+    VK_ATTACHMENT_STORE_OP_BEGIN_RANGE = VK_ATTACHMENT_STORE_OP_STORE,+    VK_ATTACHMENT_STORE_OP_END_RANGE = VK_ATTACHMENT_STORE_OP_DONT_CARE,+    VK_ATTACHMENT_STORE_OP_RANGE_SIZE = (VK_ATTACHMENT_STORE_OP_DONT_CARE - VK_ATTACHMENT_STORE_OP_STORE + 1),+    VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF+} VkAttachmentStoreOp;++typedef enum VkPipelineBindPoint {+    VK_PIPELINE_BIND_POINT_GRAPHICS = 0,+    VK_PIPELINE_BIND_POINT_COMPUTE = 1,+    VK_PIPELINE_BIND_POINT_BEGIN_RANGE = VK_PIPELINE_BIND_POINT_GRAPHICS,+    VK_PIPELINE_BIND_POINT_END_RANGE = VK_PIPELINE_BIND_POINT_COMPUTE,+    VK_PIPELINE_BIND_POINT_RANGE_SIZE = (VK_PIPELINE_BIND_POINT_COMPUTE - VK_PIPELINE_BIND_POINT_GRAPHICS + 1),+    VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF+} VkPipelineBindPoint;++typedef enum VkCommandBufferLevel {+    VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,+    VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,+    VK_COMMAND_BUFFER_LEVEL_BEGIN_RANGE = VK_COMMAND_BUFFER_LEVEL_PRIMARY,+    VK_COMMAND_BUFFER_LEVEL_END_RANGE = VK_COMMAND_BUFFER_LEVEL_SECONDARY,+    VK_COMMAND_BUFFER_LEVEL_RANGE_SIZE = (VK_COMMAND_BUFFER_LEVEL_SECONDARY - VK_COMMAND_BUFFER_LEVEL_PRIMARY + 1),+    VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF+} VkCommandBufferLevel;++typedef enum VkIndexType {+    VK_INDEX_TYPE_UINT16 = 0,+    VK_INDEX_TYPE_UINT32 = 1,+    VK_INDEX_TYPE_BEGIN_RANGE = VK_INDEX_TYPE_UINT16,+    VK_INDEX_TYPE_END_RANGE = VK_INDEX_TYPE_UINT32,+    VK_INDEX_TYPE_RANGE_SIZE = (VK_INDEX_TYPE_UINT32 - VK_INDEX_TYPE_UINT16 + 1),+    VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF+} VkIndexType;++typedef enum VkSubpassContents {+    VK_SUBPASS_CONTENTS_INLINE = 0,+    VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,+    VK_SUBPASS_CONTENTS_BEGIN_RANGE = VK_SUBPASS_CONTENTS_INLINE,+    VK_SUBPASS_CONTENTS_END_RANGE = VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS,+    VK_SUBPASS_CONTENTS_RANGE_SIZE = (VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS - VK_SUBPASS_CONTENTS_INLINE + 1),+    VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF+} VkSubpassContents;++typedef enum VkObjectType {+    VK_OBJECT_TYPE_UNKNOWN = 0,+    VK_OBJECT_TYPE_INSTANCE = 1,+    VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,+    VK_OBJECT_TYPE_DEVICE = 3,+    VK_OBJECT_TYPE_QUEUE = 4,+    VK_OBJECT_TYPE_SEMAPHORE = 5,+    VK_OBJECT_TYPE_COMMAND_BUFFER = 6,+    VK_OBJECT_TYPE_FENCE = 7,+    VK_OBJECT_TYPE_DEVICE_MEMORY = 8,+    VK_OBJECT_TYPE_BUFFER = 9,+    VK_OBJECT_TYPE_IMAGE = 10,+    VK_OBJECT_TYPE_EVENT = 11,+    VK_OBJECT_TYPE_QUERY_POOL = 12,+    VK_OBJECT_TYPE_BUFFER_VIEW = 13,+    VK_OBJECT_TYPE_IMAGE_VIEW = 14,+    VK_OBJECT_TYPE_SHADER_MODULE = 15,+    VK_OBJECT_TYPE_PIPELINE_CACHE = 16,+    VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,+    VK_OBJECT_TYPE_RENDER_PASS = 18,+    VK_OBJECT_TYPE_PIPELINE = 19,+    VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,+    VK_OBJECT_TYPE_SAMPLER = 21,+    VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,+    VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,+    VK_OBJECT_TYPE_FRAMEBUFFER = 24,+    VK_OBJECT_TYPE_COMMAND_POOL = 25,+    VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,+    VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,+    VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,+    VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,+    VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,+    VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,+    VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,+    VK_OBJECT_TYPE_OBJECT_TABLE_NVX = 1000086000,+    VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX = 1000086001,+    VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,+    VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,+    VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,+    VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,+    VK_OBJECT_TYPE_BEGIN_RANGE = VK_OBJECT_TYPE_UNKNOWN,+    VK_OBJECT_TYPE_END_RANGE = VK_OBJECT_TYPE_COMMAND_POOL,+    VK_OBJECT_TYPE_RANGE_SIZE = (VK_OBJECT_TYPE_COMMAND_POOL - VK_OBJECT_TYPE_UNKNOWN + 1),+    VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF+} VkObjectType;++typedef VkFlags VkInstanceCreateFlags;++typedef enum VkFormatFeatureFlagBits {+    VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,+    VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,+    VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,+    VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,+    VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,+    VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,+    VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,+    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,+    VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,+    VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,+    VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,+    VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,+    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,+    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,+    VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,+    VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,+    VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,+    VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,+    VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,+    VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,+    VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,+    VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,+    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,+    VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = 0x00010000,+    VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,+    VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,+    VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,+    VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,+    VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,+    VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,+    VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,+    VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,+    VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,+    VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkFormatFeatureFlagBits;+typedef VkFlags VkFormatFeatureFlags;++typedef enum VkImageUsageFlagBits {+    VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,+    VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,+    VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,+    VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,+    VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,+    VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,+    VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,+    VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,+    VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkImageUsageFlagBits;+typedef VkFlags VkImageUsageFlags;++typedef enum VkImageCreateFlagBits {+    VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,+    VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,+    VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,+    VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,+    VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,+    VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,+    VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,+    VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,+    VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,+    VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,+    VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,+    VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,+    VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,+    VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,+    VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,+    VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,+    VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,+    VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,+    VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,+    VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkImageCreateFlagBits;+typedef VkFlags VkImageCreateFlags;++typedef enum VkSampleCountFlagBits {+    VK_SAMPLE_COUNT_1_BIT = 0x00000001,+    VK_SAMPLE_COUNT_2_BIT = 0x00000002,+    VK_SAMPLE_COUNT_4_BIT = 0x00000004,+    VK_SAMPLE_COUNT_8_BIT = 0x00000008,+    VK_SAMPLE_COUNT_16_BIT = 0x00000010,+    VK_SAMPLE_COUNT_32_BIT = 0x00000020,+    VK_SAMPLE_COUNT_64_BIT = 0x00000040,+    VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkSampleCountFlagBits;+typedef VkFlags VkSampleCountFlags;++typedef enum VkQueueFlagBits {+    VK_QUEUE_GRAPHICS_BIT = 0x00000001,+    VK_QUEUE_COMPUTE_BIT = 0x00000002,+    VK_QUEUE_TRANSFER_BIT = 0x00000004,+    VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,+    VK_QUEUE_PROTECTED_BIT = 0x00000010,+    VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkQueueFlagBits;+typedef VkFlags VkQueueFlags;++typedef enum VkMemoryPropertyFlagBits {+    VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,+    VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,+    VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,+    VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,+    VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,+    VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,+    VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkMemoryPropertyFlagBits;+typedef VkFlags VkMemoryPropertyFlags;++typedef enum VkMemoryHeapFlagBits {+    VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,+    VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,+    VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,+    VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkMemoryHeapFlagBits;+typedef VkFlags VkMemoryHeapFlags;+typedef VkFlags VkDeviceCreateFlags;++typedef enum VkDeviceQueueCreateFlagBits {+    VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,+    VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkDeviceQueueCreateFlagBits;+typedef VkFlags VkDeviceQueueCreateFlags;++typedef enum VkPipelineStageFlagBits {+    VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,+    VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,+    VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,+    VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,+    VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,+    VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,+    VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,+    VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,+    VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,+    VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,+    VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,+    VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,+    VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,+    VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,+    VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,+    VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,+    VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,+    VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX = 0x00020000,+    VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkPipelineStageFlagBits;+typedef VkFlags VkPipelineStageFlags;+typedef VkFlags VkMemoryMapFlags;++typedef enum VkImageAspectFlagBits {+    VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,+    VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,+    VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,+    VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,+    VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,+    VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,+    VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,+    VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,+    VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,+    VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,+    VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkImageAspectFlagBits;+typedef VkFlags VkImageAspectFlags;++typedef enum VkSparseImageFormatFlagBits {+    VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,+    VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,+    VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,+    VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkSparseImageFormatFlagBits;+typedef VkFlags VkSparseImageFormatFlags;++typedef enum VkSparseMemoryBindFlagBits {+    VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,+    VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkSparseMemoryBindFlagBits;+typedef VkFlags VkSparseMemoryBindFlags;++typedef enum VkFenceCreateFlagBits {+    VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,+    VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkFenceCreateFlagBits;+typedef VkFlags VkFenceCreateFlags;+typedef VkFlags VkSemaphoreCreateFlags;+typedef VkFlags VkEventCreateFlags;+typedef VkFlags VkQueryPoolCreateFlags;++typedef enum VkQueryPipelineStatisticFlagBits {+    VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,+    VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,+    VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,+    VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,+    VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,+    VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,+    VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,+    VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,+    VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,+    VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,+    VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,+    VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkQueryPipelineStatisticFlagBits;+typedef VkFlags VkQueryPipelineStatisticFlags;++typedef enum VkQueryResultFlagBits {+    VK_QUERY_RESULT_64_BIT = 0x00000001,+    VK_QUERY_RESULT_WAIT_BIT = 0x00000002,+    VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,+    VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,+    VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkQueryResultFlagBits;+typedef VkFlags VkQueryResultFlags;++typedef enum VkBufferCreateFlagBits {+    VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,+    VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,+    VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,+    VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,+    VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkBufferCreateFlagBits;+typedef VkFlags VkBufferCreateFlags;++typedef enum VkBufferUsageFlagBits {+    VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,+    VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,+    VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,+    VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,+    VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,+    VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,+    VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,+    VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,+    VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,+    VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkBufferUsageFlagBits;+typedef VkFlags VkBufferUsageFlags;+typedef VkFlags VkBufferViewCreateFlags;+typedef VkFlags VkImageViewCreateFlags;+typedef VkFlags VkShaderModuleCreateFlags;+typedef VkFlags VkPipelineCacheCreateFlags;++typedef enum VkPipelineCreateFlagBits {+    VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,+    VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,+    VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,+    VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,+    VK_PIPELINE_CREATE_DISPATCH_BASE = 0x00000010,+    VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,+    VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,+    VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkPipelineCreateFlagBits;+typedef VkFlags VkPipelineCreateFlags;+typedef VkFlags VkPipelineShaderStageCreateFlags;++typedef enum VkShaderStageFlagBits {+    VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,+    VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,+    VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,+    VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,+    VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,+    VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,+    VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,+    VK_SHADER_STAGE_ALL = 0x7FFFFFFF,+    VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkShaderStageFlagBits;+typedef VkFlags VkPipelineVertexInputStateCreateFlags;+typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;+typedef VkFlags VkPipelineTessellationStateCreateFlags;+typedef VkFlags VkPipelineViewportStateCreateFlags;+typedef VkFlags VkPipelineRasterizationStateCreateFlags;++typedef enum VkCullModeFlagBits {+    VK_CULL_MODE_NONE = 0,+    VK_CULL_MODE_FRONT_BIT = 0x00000001,+    VK_CULL_MODE_BACK_BIT = 0x00000002,+    VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,+    VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkCullModeFlagBits;+typedef VkFlags VkCullModeFlags;+typedef VkFlags VkPipelineMultisampleStateCreateFlags;+typedef VkFlags VkPipelineDepthStencilStateCreateFlags;+typedef VkFlags VkPipelineColorBlendStateCreateFlags;++typedef enum VkColorComponentFlagBits {+    VK_COLOR_COMPONENT_R_BIT = 0x00000001,+    VK_COLOR_COMPONENT_G_BIT = 0x00000002,+    VK_COLOR_COMPONENT_B_BIT = 0x00000004,+    VK_COLOR_COMPONENT_A_BIT = 0x00000008,+    VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkColorComponentFlagBits;+typedef VkFlags VkColorComponentFlags;+typedef VkFlags VkPipelineDynamicStateCreateFlags;+typedef VkFlags VkPipelineLayoutCreateFlags;+typedef VkFlags VkShaderStageFlags;+typedef VkFlags VkSamplerCreateFlags;++typedef enum VkDescriptorSetLayoutCreateFlagBits {+    VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,+    VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkDescriptorSetLayoutCreateFlagBits;+typedef VkFlags VkDescriptorSetLayoutCreateFlags;++typedef enum VkDescriptorPoolCreateFlagBits {+    VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,+    VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkDescriptorPoolCreateFlagBits;+typedef VkFlags VkDescriptorPoolCreateFlags;+typedef VkFlags VkDescriptorPoolResetFlags;+typedef VkFlags VkFramebufferCreateFlags;+typedef VkFlags VkRenderPassCreateFlags;++typedef enum VkAttachmentDescriptionFlagBits {+    VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,+    VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkAttachmentDescriptionFlagBits;+typedef VkFlags VkAttachmentDescriptionFlags;++typedef enum VkSubpassDescriptionFlagBits {+    VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,+    VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,+    VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkSubpassDescriptionFlagBits;+typedef VkFlags VkSubpassDescriptionFlags;++typedef enum VkAccessFlagBits {+    VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,+    VK_ACCESS_INDEX_READ_BIT = 0x00000002,+    VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,+    VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,+    VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,+    VK_ACCESS_SHADER_READ_BIT = 0x00000020,+    VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,+    VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,+    VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,+    VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,+    VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,+    VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,+    VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,+    VK_ACCESS_HOST_READ_BIT = 0x00002000,+    VK_ACCESS_HOST_WRITE_BIT = 0x00004000,+    VK_ACCESS_MEMORY_READ_BIT = 0x00008000,+    VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,+    VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX = 0x00020000,+    VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX = 0x00040000,+    VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,+    VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkAccessFlagBits;+typedef VkFlags VkAccessFlags;++typedef enum VkDependencyFlagBits {+    VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,+    VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,+    VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,+    VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,+    VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,+    VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkDependencyFlagBits;+typedef VkFlags VkDependencyFlags;++typedef enum VkCommandPoolCreateFlagBits {+    VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,+    VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,+    VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,+    VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkCommandPoolCreateFlagBits;+typedef VkFlags VkCommandPoolCreateFlags;++typedef enum VkCommandPoolResetFlagBits {+    VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,+    VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkCommandPoolResetFlagBits;+typedef VkFlags VkCommandPoolResetFlags;++typedef enum VkCommandBufferUsageFlagBits {+    VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,+    VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,+    VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,+    VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkCommandBufferUsageFlagBits;+typedef VkFlags VkCommandBufferUsageFlags;++typedef enum VkQueryControlFlagBits {+    VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,+    VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkQueryControlFlagBits;+typedef VkFlags VkQueryControlFlags;++typedef enum VkCommandBufferResetFlagBits {+    VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,+    VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkCommandBufferResetFlagBits;+typedef VkFlags VkCommandBufferResetFlags;++typedef enum VkStencilFaceFlagBits {+    VK_STENCIL_FACE_FRONT_BIT = 0x00000001,+    VK_STENCIL_FACE_BACK_BIT = 0x00000002,+    VK_STENCIL_FRONT_AND_BACK = 0x00000003,+    VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkStencilFaceFlagBits;+typedef VkFlags VkStencilFaceFlags;++typedef struct VkApplicationInfo {+    VkStructureType    sType;+    const void*        pNext;+    const char*        pApplicationName;+    uint32_t           applicationVersion;+    const char*        pEngineName;+    uint32_t           engineVersion;+    uint32_t           apiVersion;+} VkApplicationInfo;++typedef struct VkInstanceCreateInfo {+    VkStructureType             sType;+    const void*                 pNext;+    VkInstanceCreateFlags       flags;+    const VkApplicationInfo*    pApplicationInfo;+    uint32_t                    enabledLayerCount;+    const char* const*          ppEnabledLayerNames;+    uint32_t                    enabledExtensionCount;+    const char* const*          ppEnabledExtensionNames;+} VkInstanceCreateInfo;++typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(+    void*                                       pUserData,+    size_t                                      size,+    size_t                                      alignment,+    VkSystemAllocationScope                     allocationScope);++typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(+    void*                                       pUserData,+    void*                                       pOriginal,+    size_t                                      size,+    size_t                                      alignment,+    VkSystemAllocationScope                     allocationScope);++typedef void (VKAPI_PTR *PFN_vkFreeFunction)(+    void*                                       pUserData,+    void*                                       pMemory);++typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(+    void*                                       pUserData,+    size_t                                      size,+    VkInternalAllocationType                    allocationType,+    VkSystemAllocationScope                     allocationScope);++typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(+    void*                                       pUserData,+    size_t                                      size,+    VkInternalAllocationType                    allocationType,+    VkSystemAllocationScope                     allocationScope);++typedef struct VkAllocationCallbacks {+    void*                                   pUserData;+    PFN_vkAllocationFunction                pfnAllocation;+    PFN_vkReallocationFunction              pfnReallocation;+    PFN_vkFreeFunction                      pfnFree;+    PFN_vkInternalAllocationNotification    pfnInternalAllocation;+    PFN_vkInternalFreeNotification          pfnInternalFree;+} VkAllocationCallbacks;++typedef struct VkPhysicalDeviceFeatures {+    VkBool32    robustBufferAccess;+    VkBool32    fullDrawIndexUint32;+    VkBool32    imageCubeArray;+    VkBool32    independentBlend;+    VkBool32    geometryShader;+    VkBool32    tessellationShader;+    VkBool32    sampleRateShading;+    VkBool32    dualSrcBlend;+    VkBool32    logicOp;+    VkBool32    multiDrawIndirect;+    VkBool32    drawIndirectFirstInstance;+    VkBool32    depthClamp;+    VkBool32    depthBiasClamp;+    VkBool32    fillModeNonSolid;+    VkBool32    depthBounds;+    VkBool32    wideLines;+    VkBool32    largePoints;+    VkBool32    alphaToOne;+    VkBool32    multiViewport;+    VkBool32    samplerAnisotropy;+    VkBool32    textureCompressionETC2;+    VkBool32    textureCompressionASTC_LDR;+    VkBool32    textureCompressionBC;+    VkBool32    occlusionQueryPrecise;+    VkBool32    pipelineStatisticsQuery;+    VkBool32    vertexPipelineStoresAndAtomics;+    VkBool32    fragmentStoresAndAtomics;+    VkBool32    shaderTessellationAndGeometryPointSize;+    VkBool32    shaderImageGatherExtended;+    VkBool32    shaderStorageImageExtendedFormats;+    VkBool32    shaderStorageImageMultisample;+    VkBool32    shaderStorageImageReadWithoutFormat;+    VkBool32    shaderStorageImageWriteWithoutFormat;+    VkBool32    shaderUniformBufferArrayDynamicIndexing;+    VkBool32    shaderSampledImageArrayDynamicIndexing;+    VkBool32    shaderStorageBufferArrayDynamicIndexing;+    VkBool32    shaderStorageImageArrayDynamicIndexing;+    VkBool32    shaderClipDistance;+    VkBool32    shaderCullDistance;+    VkBool32    shaderFloat64;+    VkBool32    shaderInt64;+    VkBool32    shaderInt16;+    VkBool32    shaderResourceResidency;+    VkBool32    shaderResourceMinLod;+    VkBool32    sparseBinding;+    VkBool32    sparseResidencyBuffer;+    VkBool32    sparseResidencyImage2D;+    VkBool32    sparseResidencyImage3D;+    VkBool32    sparseResidency2Samples;+    VkBool32    sparseResidency4Samples;+    VkBool32    sparseResidency8Samples;+    VkBool32    sparseResidency16Samples;+    VkBool32    sparseResidencyAliased;+    VkBool32    variableMultisampleRate;+    VkBool32    inheritedQueries;+} VkPhysicalDeviceFeatures;++typedef struct VkFormatProperties {+    VkFormatFeatureFlags    linearTilingFeatures;+    VkFormatFeatureFlags    optimalTilingFeatures;+    VkFormatFeatureFlags    bufferFeatures;+} VkFormatProperties;++typedef struct VkExtent3D {+    uint32_t    width;+    uint32_t    height;+    uint32_t    depth;+} VkExtent3D;++typedef struct VkImageFormatProperties {+    VkExtent3D            maxExtent;+    uint32_t              maxMipLevels;+    uint32_t              maxArrayLayers;+    VkSampleCountFlags    sampleCounts;+    VkDeviceSize          maxResourceSize;+} VkImageFormatProperties;++typedef struct VkPhysicalDeviceLimits {+    uint32_t              maxImageDimension1D;+    uint32_t              maxImageDimension2D;+    uint32_t              maxImageDimension3D;+    uint32_t              maxImageDimensionCube;+    uint32_t              maxImageArrayLayers;+    uint32_t              maxTexelBufferElements;+    uint32_t              maxUniformBufferRange;+    uint32_t              maxStorageBufferRange;+    uint32_t              maxPushConstantsSize;+    uint32_t              maxMemoryAllocationCount;+    uint32_t              maxSamplerAllocationCount;+    VkDeviceSize          bufferImageGranularity;+    VkDeviceSize          sparseAddressSpaceSize;+    uint32_t              maxBoundDescriptorSets;+    uint32_t              maxPerStageDescriptorSamplers;+    uint32_t              maxPerStageDescriptorUniformBuffers;+    uint32_t              maxPerStageDescriptorStorageBuffers;+    uint32_t              maxPerStageDescriptorSampledImages;+    uint32_t              maxPerStageDescriptorStorageImages;+    uint32_t              maxPerStageDescriptorInputAttachments;+    uint32_t              maxPerStageResources;+    uint32_t              maxDescriptorSetSamplers;+    uint32_t              maxDescriptorSetUniformBuffers;+    uint32_t              maxDescriptorSetUniformBuffersDynamic;+    uint32_t              maxDescriptorSetStorageBuffers;+    uint32_t              maxDescriptorSetStorageBuffersDynamic;+    uint32_t              maxDescriptorSetSampledImages;+    uint32_t              maxDescriptorSetStorageImages;+    uint32_t              maxDescriptorSetInputAttachments;+    uint32_t              maxVertexInputAttributes;+    uint32_t              maxVertexInputBindings;+    uint32_t              maxVertexInputAttributeOffset;+    uint32_t              maxVertexInputBindingStride;+    uint32_t              maxVertexOutputComponents;+    uint32_t              maxTessellationGenerationLevel;+    uint32_t              maxTessellationPatchSize;+    uint32_t              maxTessellationControlPerVertexInputComponents;+    uint32_t              maxTessellationControlPerVertexOutputComponents;+    uint32_t              maxTessellationControlPerPatchOutputComponents;+    uint32_t              maxTessellationControlTotalOutputComponents;+    uint32_t              maxTessellationEvaluationInputComponents;+    uint32_t              maxTessellationEvaluationOutputComponents;+    uint32_t              maxGeometryShaderInvocations;+    uint32_t              maxGeometryInputComponents;+    uint32_t              maxGeometryOutputComponents;+    uint32_t              maxGeometryOutputVertices;+    uint32_t              maxGeometryTotalOutputComponents;+    uint32_t              maxFragmentInputComponents;+    uint32_t              maxFragmentOutputAttachments;+    uint32_t              maxFragmentDualSrcAttachments;+    uint32_t              maxFragmentCombinedOutputResources;+    uint32_t              maxComputeSharedMemorySize;+    uint32_t              maxComputeWorkGroupCount[3];+    uint32_t              maxComputeWorkGroupInvocations;+    uint32_t              maxComputeWorkGroupSize[3];+    uint32_t              subPixelPrecisionBits;+    uint32_t              subTexelPrecisionBits;+    uint32_t              mipmapPrecisionBits;+    uint32_t              maxDrawIndexedIndexValue;+    uint32_t              maxDrawIndirectCount;+    float                 maxSamplerLodBias;+    float                 maxSamplerAnisotropy;+    uint32_t              maxViewports;+    uint32_t              maxViewportDimensions[2];+    float                 viewportBoundsRange[2];+    uint32_t              viewportSubPixelBits;+    size_t                minMemoryMapAlignment;+    VkDeviceSize          minTexelBufferOffsetAlignment;+    VkDeviceSize          minUniformBufferOffsetAlignment;+    VkDeviceSize          minStorageBufferOffsetAlignment;+    int32_t               minTexelOffset;+    uint32_t              maxTexelOffset;+    int32_t               minTexelGatherOffset;+    uint32_t              maxTexelGatherOffset;+    float                 minInterpolationOffset;+    float                 maxInterpolationOffset;+    uint32_t              subPixelInterpolationOffsetBits;+    uint32_t              maxFramebufferWidth;+    uint32_t              maxFramebufferHeight;+    uint32_t              maxFramebufferLayers;+    VkSampleCountFlags    framebufferColorSampleCounts;+    VkSampleCountFlags    framebufferDepthSampleCounts;+    VkSampleCountFlags    framebufferStencilSampleCounts;+    VkSampleCountFlags    framebufferNoAttachmentsSampleCounts;+    uint32_t              maxColorAttachments;+    VkSampleCountFlags    sampledImageColorSampleCounts;+    VkSampleCountFlags    sampledImageIntegerSampleCounts;+    VkSampleCountFlags    sampledImageDepthSampleCounts;+    VkSampleCountFlags    sampledImageStencilSampleCounts;+    VkSampleCountFlags    storageImageSampleCounts;+    uint32_t              maxSampleMaskWords;+    VkBool32              timestampComputeAndGraphics;+    float                 timestampPeriod;+    uint32_t              maxClipDistances;+    uint32_t              maxCullDistances;+    uint32_t              maxCombinedClipAndCullDistances;+    uint32_t              discreteQueuePriorities;+    float                 pointSizeRange[2];+    float                 lineWidthRange[2];+    float                 pointSizeGranularity;+    float                 lineWidthGranularity;+    VkBool32              strictLines;+    VkBool32              standardSampleLocations;+    VkDeviceSize          optimalBufferCopyOffsetAlignment;+    VkDeviceSize          optimalBufferCopyRowPitchAlignment;+    VkDeviceSize          nonCoherentAtomSize;+} VkPhysicalDeviceLimits;++typedef struct VkPhysicalDeviceSparseProperties {+    VkBool32    residencyStandard2DBlockShape;+    VkBool32    residencyStandard2DMultisampleBlockShape;+    VkBool32    residencyStandard3DBlockShape;+    VkBool32    residencyAlignedMipSize;+    VkBool32    residencyNonResidentStrict;+} VkPhysicalDeviceSparseProperties;++typedef struct VkPhysicalDeviceProperties {+    uint32_t                            apiVersion;+    uint32_t                            driverVersion;+    uint32_t                            vendorID;+    uint32_t                            deviceID;+    VkPhysicalDeviceType                deviceType;+    char                                deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];+    uint8_t                             pipelineCacheUUID[VK_UUID_SIZE];+    VkPhysicalDeviceLimits              limits;+    VkPhysicalDeviceSparseProperties    sparseProperties;+} VkPhysicalDeviceProperties;++typedef struct VkQueueFamilyProperties {+    VkQueueFlags    queueFlags;+    uint32_t        queueCount;+    uint32_t        timestampValidBits;+    VkExtent3D      minImageTransferGranularity;+} VkQueueFamilyProperties;++typedef struct VkMemoryType {+    VkMemoryPropertyFlags    propertyFlags;+    uint32_t                 heapIndex;+} VkMemoryType;++typedef struct VkMemoryHeap {+    VkDeviceSize         size;+    VkMemoryHeapFlags    flags;+} VkMemoryHeap;++typedef struct VkPhysicalDeviceMemoryProperties {+    uint32_t        memoryTypeCount;+    VkMemoryType    memoryTypes[VK_MAX_MEMORY_TYPES];+    uint32_t        memoryHeapCount;+    VkMemoryHeap    memoryHeaps[VK_MAX_MEMORY_HEAPS];+} VkPhysicalDeviceMemoryProperties;++typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);+typedef struct VkDeviceQueueCreateInfo {+    VkStructureType             sType;+    const void*                 pNext;+    VkDeviceQueueCreateFlags    flags;+    uint32_t                    queueFamilyIndex;+    uint32_t                    queueCount;+    const float*                pQueuePriorities;+} VkDeviceQueueCreateInfo;++typedef struct VkDeviceCreateInfo {+    VkStructureType                    sType;+    const void*                        pNext;+    VkDeviceCreateFlags                flags;+    uint32_t                           queueCreateInfoCount;+    const VkDeviceQueueCreateInfo*     pQueueCreateInfos;+    uint32_t                           enabledLayerCount;+    const char* const*                 ppEnabledLayerNames;+    uint32_t                           enabledExtensionCount;+    const char* const*                 ppEnabledExtensionNames;+    const VkPhysicalDeviceFeatures*    pEnabledFeatures;+} VkDeviceCreateInfo;++typedef struct VkExtensionProperties {+    char        extensionName[VK_MAX_EXTENSION_NAME_SIZE];+    uint32_t    specVersion;+} VkExtensionProperties;++typedef struct VkLayerProperties {+    char        layerName[VK_MAX_EXTENSION_NAME_SIZE];+    uint32_t    specVersion;+    uint32_t    implementationVersion;+    char        description[VK_MAX_DESCRIPTION_SIZE];+} VkLayerProperties;++typedef struct VkSubmitInfo {+    VkStructureType                sType;+    const void*                    pNext;+    uint32_t                       waitSemaphoreCount;+    const VkSemaphore*             pWaitSemaphores;+    const VkPipelineStageFlags*    pWaitDstStageMask;+    uint32_t                       commandBufferCount;+    const VkCommandBuffer*         pCommandBuffers;+    uint32_t                       signalSemaphoreCount;+    const VkSemaphore*             pSignalSemaphores;+} VkSubmitInfo;++typedef struct VkMemoryAllocateInfo {+    VkStructureType    sType;+    const void*        pNext;+    VkDeviceSize       allocationSize;+    uint32_t           memoryTypeIndex;+} VkMemoryAllocateInfo;++typedef struct VkMappedMemoryRange {+    VkStructureType    sType;+    const void*        pNext;+    VkDeviceMemory     memory;+    VkDeviceSize       offset;+    VkDeviceSize       size;+} VkMappedMemoryRange;++typedef struct VkMemoryRequirements {+    VkDeviceSize    size;+    VkDeviceSize    alignment;+    uint32_t        memoryTypeBits;+} VkMemoryRequirements;++typedef struct VkSparseImageFormatProperties {+    VkImageAspectFlags          aspectMask;+    VkExtent3D                  imageGranularity;+    VkSparseImageFormatFlags    flags;+} VkSparseImageFormatProperties;++typedef struct VkSparseImageMemoryRequirements {+    VkSparseImageFormatProperties    formatProperties;+    uint32_t                         imageMipTailFirstLod;+    VkDeviceSize                     imageMipTailSize;+    VkDeviceSize                     imageMipTailOffset;+    VkDeviceSize                     imageMipTailStride;+} VkSparseImageMemoryRequirements;++typedef struct VkSparseMemoryBind {+    VkDeviceSize               resourceOffset;+    VkDeviceSize               size;+    VkDeviceMemory             memory;+    VkDeviceSize               memoryOffset;+    VkSparseMemoryBindFlags    flags;+} VkSparseMemoryBind;++typedef struct VkSparseBufferMemoryBindInfo {+    VkBuffer                     buffer;+    uint32_t                     bindCount;+    const VkSparseMemoryBind*    pBinds;+} VkSparseBufferMemoryBindInfo;++typedef struct VkSparseImageOpaqueMemoryBindInfo {+    VkImage                      image;+    uint32_t                     bindCount;+    const VkSparseMemoryBind*    pBinds;+} VkSparseImageOpaqueMemoryBindInfo;++typedef struct VkImageSubresource {+    VkImageAspectFlags    aspectMask;+    uint32_t              mipLevel;+    uint32_t              arrayLayer;+} VkImageSubresource;++typedef struct VkOffset3D {+    int32_t    x;+    int32_t    y;+    int32_t    z;+} VkOffset3D;++typedef struct VkSparseImageMemoryBind {+    VkImageSubresource         subresource;+    VkOffset3D                 offset;+    VkExtent3D                 extent;+    VkDeviceMemory             memory;+    VkDeviceSize               memoryOffset;+    VkSparseMemoryBindFlags    flags;+} VkSparseImageMemoryBind;++typedef struct VkSparseImageMemoryBindInfo {+    VkImage                           image;+    uint32_t                          bindCount;+    const VkSparseImageMemoryBind*    pBinds;+} VkSparseImageMemoryBindInfo;++typedef struct VkBindSparseInfo {+    VkStructureType                             sType;+    const void*                                 pNext;+    uint32_t                                    waitSemaphoreCount;+    const VkSemaphore*                          pWaitSemaphores;+    uint32_t                                    bufferBindCount;+    const VkSparseBufferMemoryBindInfo*         pBufferBinds;+    uint32_t                                    imageOpaqueBindCount;+    const VkSparseImageOpaqueMemoryBindInfo*    pImageOpaqueBinds;+    uint32_t                                    imageBindCount;+    const VkSparseImageMemoryBindInfo*          pImageBinds;+    uint32_t                                    signalSemaphoreCount;+    const VkSemaphore*                          pSignalSemaphores;+} VkBindSparseInfo;++typedef struct VkFenceCreateInfo {+    VkStructureType       sType;+    const void*           pNext;+    VkFenceCreateFlags    flags;+} VkFenceCreateInfo;++typedef struct VkSemaphoreCreateInfo {+    VkStructureType           sType;+    const void*               pNext;+    VkSemaphoreCreateFlags    flags;+} VkSemaphoreCreateInfo;++typedef struct VkEventCreateInfo {+    VkStructureType       sType;+    const void*           pNext;+    VkEventCreateFlags    flags;+} VkEventCreateInfo;++typedef struct VkQueryPoolCreateInfo {+    VkStructureType                  sType;+    const void*                      pNext;+    VkQueryPoolCreateFlags           flags;+    VkQueryType                      queryType;+    uint32_t                         queryCount;+    VkQueryPipelineStatisticFlags    pipelineStatistics;+} VkQueryPoolCreateInfo;++typedef struct VkBufferCreateInfo {+    VkStructureType        sType;+    const void*            pNext;+    VkBufferCreateFlags    flags;+    VkDeviceSize           size;+    VkBufferUsageFlags     usage;+    VkSharingMode          sharingMode;+    uint32_t               queueFamilyIndexCount;+    const uint32_t*        pQueueFamilyIndices;+} VkBufferCreateInfo;++typedef struct VkBufferViewCreateInfo {+    VkStructureType            sType;+    const void*                pNext;+    VkBufferViewCreateFlags    flags;+    VkBuffer                   buffer;+    VkFormat                   format;+    VkDeviceSize               offset;+    VkDeviceSize               range;+} VkBufferViewCreateInfo;++typedef struct VkImageCreateInfo {+    VkStructureType          sType;+    const void*              pNext;+    VkImageCreateFlags       flags;+    VkImageType              imageType;+    VkFormat                 format;+    VkExtent3D               extent;+    uint32_t                 mipLevels;+    uint32_t                 arrayLayers;+    VkSampleCountFlagBits    samples;+    VkImageTiling            tiling;+    VkImageUsageFlags        usage;+    VkSharingMode            sharingMode;+    uint32_t                 queueFamilyIndexCount;+    const uint32_t*          pQueueFamilyIndices;+    VkImageLayout            initialLayout;+} VkImageCreateInfo;++typedef struct VkSubresourceLayout {+    VkDeviceSize    offset;+    VkDeviceSize    size;+    VkDeviceSize    rowPitch;+    VkDeviceSize    arrayPitch;+    VkDeviceSize    depthPitch;+} VkSubresourceLayout;++typedef struct VkComponentMapping {+    VkComponentSwizzle    r;+    VkComponentSwizzle    g;+    VkComponentSwizzle    b;+    VkComponentSwizzle    a;+} VkComponentMapping;++typedef struct VkImageSubresourceRange {+    VkImageAspectFlags    aspectMask;+    uint32_t              baseMipLevel;+    uint32_t              levelCount;+    uint32_t              baseArrayLayer;+    uint32_t              layerCount;+} VkImageSubresourceRange;++typedef struct VkImageViewCreateInfo {+    VkStructureType            sType;+    const void*                pNext;+    VkImageViewCreateFlags     flags;+    VkImage                    image;+    VkImageViewType            viewType;+    VkFormat                   format;+    VkComponentMapping         components;+    VkImageSubresourceRange    subresourceRange;+} VkImageViewCreateInfo;++typedef struct VkShaderModuleCreateInfo {+    VkStructureType              sType;+    const void*                  pNext;+    VkShaderModuleCreateFlags    flags;+    size_t                       codeSize;+    const uint32_t*              pCode;+} VkShaderModuleCreateInfo;++typedef struct VkPipelineCacheCreateInfo {+    VkStructureType               sType;+    const void*                   pNext;+    VkPipelineCacheCreateFlags    flags;+    size_t                        initialDataSize;+    const void*                   pInitialData;+} VkPipelineCacheCreateInfo;++typedef struct VkSpecializationMapEntry {+    uint32_t    constantID;+    uint32_t    offset;+    size_t      size;+} VkSpecializationMapEntry;++typedef struct VkSpecializationInfo {+    uint32_t                           mapEntryCount;+    const VkSpecializationMapEntry*    pMapEntries;+    size_t                             dataSize;+    const void*                        pData;+} VkSpecializationInfo;++typedef struct VkPipelineShaderStageCreateInfo {+    VkStructureType                     sType;+    const void*                         pNext;+    VkPipelineShaderStageCreateFlags    flags;+    VkShaderStageFlagBits               stage;+    VkShaderModule                      module;+    const char*                         pName;+    const VkSpecializationInfo*         pSpecializationInfo;+} VkPipelineShaderStageCreateInfo;++typedef struct VkVertexInputBindingDescription {+    uint32_t             binding;+    uint32_t             stride;+    VkVertexInputRate    inputRate;+} VkVertexInputBindingDescription;++typedef struct VkVertexInputAttributeDescription {+    uint32_t    location;+    uint32_t    binding;+    VkFormat    format;+    uint32_t    offset;+} VkVertexInputAttributeDescription;++typedef struct VkPipelineVertexInputStateCreateInfo {+    VkStructureType                             sType;+    const void*                                 pNext;+    VkPipelineVertexInputStateCreateFlags       flags;+    uint32_t                                    vertexBindingDescriptionCount;+    const VkVertexInputBindingDescription*      pVertexBindingDescriptions;+    uint32_t                                    vertexAttributeDescriptionCount;+    const VkVertexInputAttributeDescription*    pVertexAttributeDescriptions;+} VkPipelineVertexInputStateCreateInfo;++typedef struct VkPipelineInputAssemblyStateCreateInfo {+    VkStructureType                            sType;+    const void*                                pNext;+    VkPipelineInputAssemblyStateCreateFlags    flags;+    VkPrimitiveTopology                        topology;+    VkBool32                                   primitiveRestartEnable;+} VkPipelineInputAssemblyStateCreateInfo;++typedef struct VkPipelineTessellationStateCreateInfo {+    VkStructureType                           sType;+    const void*                               pNext;+    VkPipelineTessellationStateCreateFlags    flags;+    uint32_t                                  patchControlPoints;+} VkPipelineTessellationStateCreateInfo;++typedef struct VkViewport {+    float    x;+    float    y;+    float    width;+    float    height;+    float    minDepth;+    float    maxDepth;+} VkViewport;++typedef struct VkOffset2D {+    int32_t    x;+    int32_t    y;+} VkOffset2D;++typedef struct VkExtent2D {+    uint32_t    width;+    uint32_t    height;+} VkExtent2D;++typedef struct VkRect2D {+    VkOffset2D    offset;+    VkExtent2D    extent;+} VkRect2D;++typedef struct VkPipelineViewportStateCreateInfo {+    VkStructureType                       sType;+    const void*                           pNext;+    VkPipelineViewportStateCreateFlags    flags;+    uint32_t                              viewportCount;+    const VkViewport*                     pViewports;+    uint32_t                              scissorCount;+    const VkRect2D*                       pScissors;+} VkPipelineViewportStateCreateInfo;++typedef struct VkPipelineRasterizationStateCreateInfo {+    VkStructureType                            sType;+    const void*                                pNext;+    VkPipelineRasterizationStateCreateFlags    flags;+    VkBool32                                   depthClampEnable;+    VkBool32                                   rasterizerDiscardEnable;+    VkPolygonMode                              polygonMode;+    VkCullModeFlags                            cullMode;+    VkFrontFace                                frontFace;+    VkBool32                                   depthBiasEnable;+    float                                      depthBiasConstantFactor;+    float                                      depthBiasClamp;+    float                                      depthBiasSlopeFactor;+    float                                      lineWidth;+} VkPipelineRasterizationStateCreateInfo;++typedef struct VkPipelineMultisampleStateCreateInfo {+    VkStructureType                          sType;+    const void*                              pNext;+    VkPipelineMultisampleStateCreateFlags    flags;+    VkSampleCountFlagBits                    rasterizationSamples;+    VkBool32                                 sampleShadingEnable;+    float                                    minSampleShading;+    const VkSampleMask*                      pSampleMask;+    VkBool32                                 alphaToCoverageEnable;+    VkBool32                                 alphaToOneEnable;+} VkPipelineMultisampleStateCreateInfo;++typedef struct VkStencilOpState {+    VkStencilOp    failOp;+    VkStencilOp    passOp;+    VkStencilOp    depthFailOp;+    VkCompareOp    compareOp;+    uint32_t       compareMask;+    uint32_t       writeMask;+    uint32_t       reference;+} VkStencilOpState;++typedef struct VkPipelineDepthStencilStateCreateInfo {+    VkStructureType                           sType;+    const void*                               pNext;+    VkPipelineDepthStencilStateCreateFlags    flags;+    VkBool32                                  depthTestEnable;+    VkBool32                                  depthWriteEnable;+    VkCompareOp                               depthCompareOp;+    VkBool32                                  depthBoundsTestEnable;+    VkBool32                                  stencilTestEnable;+    VkStencilOpState                          front;+    VkStencilOpState                          back;+    float                                     minDepthBounds;+    float                                     maxDepthBounds;+} VkPipelineDepthStencilStateCreateInfo;++typedef struct VkPipelineColorBlendAttachmentState {+    VkBool32                 blendEnable;+    VkBlendFactor            srcColorBlendFactor;+    VkBlendFactor            dstColorBlendFactor;+    VkBlendOp                colorBlendOp;+    VkBlendFactor            srcAlphaBlendFactor;+    VkBlendFactor            dstAlphaBlendFactor;+    VkBlendOp                alphaBlendOp;+    VkColorComponentFlags    colorWriteMask;+} VkPipelineColorBlendAttachmentState;++typedef struct VkPipelineColorBlendStateCreateInfo {+    VkStructureType                               sType;+    const void*                                   pNext;+    VkPipelineColorBlendStateCreateFlags          flags;+    VkBool32                                      logicOpEnable;+    VkLogicOp                                     logicOp;+    uint32_t                                      attachmentCount;+    const VkPipelineColorBlendAttachmentState*    pAttachments;+    float                                         blendConstants[4];+} VkPipelineColorBlendStateCreateInfo;++typedef struct VkPipelineDynamicStateCreateInfo {+    VkStructureType                      sType;+    const void*                          pNext;+    VkPipelineDynamicStateCreateFlags    flags;+    uint32_t                             dynamicStateCount;+    const VkDynamicState*                pDynamicStates;+} VkPipelineDynamicStateCreateInfo;++typedef struct VkGraphicsPipelineCreateInfo {+    VkStructureType                                  sType;+    const void*                                      pNext;+    VkPipelineCreateFlags                            flags;+    uint32_t                                         stageCount;+    const VkPipelineShaderStageCreateInfo*           pStages;+    const VkPipelineVertexInputStateCreateInfo*      pVertexInputState;+    const VkPipelineInputAssemblyStateCreateInfo*    pInputAssemblyState;+    const VkPipelineTessellationStateCreateInfo*     pTessellationState;+    const VkPipelineViewportStateCreateInfo*         pViewportState;+    const VkPipelineRasterizationStateCreateInfo*    pRasterizationState;+    const VkPipelineMultisampleStateCreateInfo*      pMultisampleState;+    const VkPipelineDepthStencilStateCreateInfo*     pDepthStencilState;+    const VkPipelineColorBlendStateCreateInfo*       pColorBlendState;+    const VkPipelineDynamicStateCreateInfo*          pDynamicState;+    VkPipelineLayout                                 layout;+    VkRenderPass                                     renderPass;+    uint32_t                                         subpass;+    VkPipeline                                       basePipelineHandle;+    int32_t                                          basePipelineIndex;+} VkGraphicsPipelineCreateInfo;++typedef struct VkComputePipelineCreateInfo {+    VkStructureType                    sType;+    const void*                        pNext;+    VkPipelineCreateFlags              flags;+    VkPipelineShaderStageCreateInfo    stage;+    VkPipelineLayout                   layout;+    VkPipeline                         basePipelineHandle;+    int32_t                            basePipelineIndex;+} VkComputePipelineCreateInfo;++typedef struct VkPushConstantRange {+    VkShaderStageFlags    stageFlags;+    uint32_t              offset;+    uint32_t              size;+} VkPushConstantRange;++typedef struct VkPipelineLayoutCreateInfo {+    VkStructureType                 sType;+    const void*                     pNext;+    VkPipelineLayoutCreateFlags     flags;+    uint32_t                        setLayoutCount;+    const VkDescriptorSetLayout*    pSetLayouts;+    uint32_t                        pushConstantRangeCount;+    const VkPushConstantRange*      pPushConstantRanges;+} VkPipelineLayoutCreateInfo;++typedef struct VkSamplerCreateInfo {+    VkStructureType         sType;+    const void*             pNext;+    VkSamplerCreateFlags    flags;+    VkFilter                magFilter;+    VkFilter                minFilter;+    VkSamplerMipmapMode     mipmapMode;+    VkSamplerAddressMode    addressModeU;+    VkSamplerAddressMode    addressModeV;+    VkSamplerAddressMode    addressModeW;+    float                   mipLodBias;+    VkBool32                anisotropyEnable;+    float                   maxAnisotropy;+    VkBool32                compareEnable;+    VkCompareOp             compareOp;+    float                   minLod;+    float                   maxLod;+    VkBorderColor           borderColor;+    VkBool32                unnormalizedCoordinates;+} VkSamplerCreateInfo;++typedef struct VkDescriptorSetLayoutBinding {+    uint32_t              binding;+    VkDescriptorType      descriptorType;+    uint32_t              descriptorCount;+    VkShaderStageFlags    stageFlags;+    const VkSampler*      pImmutableSamplers;+} VkDescriptorSetLayoutBinding;++typedef struct VkDescriptorSetLayoutCreateInfo {+    VkStructureType                        sType;+    const void*                            pNext;+    VkDescriptorSetLayoutCreateFlags       flags;+    uint32_t                               bindingCount;+    const VkDescriptorSetLayoutBinding*    pBindings;+} VkDescriptorSetLayoutCreateInfo;++typedef struct VkDescriptorPoolSize {+    VkDescriptorType    type;+    uint32_t            descriptorCount;+} VkDescriptorPoolSize;++typedef struct VkDescriptorPoolCreateInfo {+    VkStructureType                sType;+    const void*                    pNext;+    VkDescriptorPoolCreateFlags    flags;+    uint32_t                       maxSets;+    uint32_t                       poolSizeCount;+    const VkDescriptorPoolSize*    pPoolSizes;+} VkDescriptorPoolCreateInfo;++typedef struct VkDescriptorSetAllocateInfo {+    VkStructureType                 sType;+    const void*                     pNext;+    VkDescriptorPool                descriptorPool;+    uint32_t                        descriptorSetCount;+    const VkDescriptorSetLayout*    pSetLayouts;+} VkDescriptorSetAllocateInfo;++typedef struct VkDescriptorImageInfo {+    VkSampler        sampler;+    VkImageView      imageView;+    VkImageLayout    imageLayout;+} VkDescriptorImageInfo;++typedef struct VkDescriptorBufferInfo {+    VkBuffer        buffer;+    VkDeviceSize    offset;+    VkDeviceSize    range;+} VkDescriptorBufferInfo;++typedef struct VkWriteDescriptorSet {+    VkStructureType                  sType;+    const void*                      pNext;+    VkDescriptorSet                  dstSet;+    uint32_t                         dstBinding;+    uint32_t                         dstArrayElement;+    uint32_t                         descriptorCount;+    VkDescriptorType                 descriptorType;+    const VkDescriptorImageInfo*     pImageInfo;+    const VkDescriptorBufferInfo*    pBufferInfo;+    const VkBufferView*              pTexelBufferView;+} VkWriteDescriptorSet;++typedef struct VkCopyDescriptorSet {+    VkStructureType    sType;+    const void*        pNext;+    VkDescriptorSet    srcSet;+    uint32_t           srcBinding;+    uint32_t           srcArrayElement;+    VkDescriptorSet    dstSet;+    uint32_t           dstBinding;+    uint32_t           dstArrayElement;+    uint32_t           descriptorCount;+} VkCopyDescriptorSet;++typedef struct VkFramebufferCreateInfo {+    VkStructureType             sType;+    const void*                 pNext;+    VkFramebufferCreateFlags    flags;+    VkRenderPass                renderPass;+    uint32_t                    attachmentCount;+    const VkImageView*          pAttachments;+    uint32_t                    width;+    uint32_t                    height;+    uint32_t                    layers;+} VkFramebufferCreateInfo;++typedef struct VkAttachmentDescription {+    VkAttachmentDescriptionFlags    flags;+    VkFormat                        format;+    VkSampleCountFlagBits           samples;+    VkAttachmentLoadOp              loadOp;+    VkAttachmentStoreOp             storeOp;+    VkAttachmentLoadOp              stencilLoadOp;+    VkAttachmentStoreOp             stencilStoreOp;+    VkImageLayout                   initialLayout;+    VkImageLayout                   finalLayout;+} VkAttachmentDescription;++typedef struct VkAttachmentReference {+    uint32_t         attachment;+    VkImageLayout    layout;+} VkAttachmentReference;++typedef struct VkSubpassDescription {+    VkSubpassDescriptionFlags       flags;+    VkPipelineBindPoint             pipelineBindPoint;+    uint32_t                        inputAttachmentCount;+    const VkAttachmentReference*    pInputAttachments;+    uint32_t                        colorAttachmentCount;+    const VkAttachmentReference*    pColorAttachments;+    const VkAttachmentReference*    pResolveAttachments;+    const VkAttachmentReference*    pDepthStencilAttachment;+    uint32_t                        preserveAttachmentCount;+    const uint32_t*                 pPreserveAttachments;+} VkSubpassDescription;++typedef struct VkSubpassDependency {+    uint32_t                srcSubpass;+    uint32_t                dstSubpass;+    VkPipelineStageFlags    srcStageMask;+    VkPipelineStageFlags    dstStageMask;+    VkAccessFlags           srcAccessMask;+    VkAccessFlags           dstAccessMask;+    VkDependencyFlags       dependencyFlags;+} VkSubpassDependency;++typedef struct VkRenderPassCreateInfo {+    VkStructureType                   sType;+    const void*                       pNext;+    VkRenderPassCreateFlags           flags;+    uint32_t                          attachmentCount;+    const VkAttachmentDescription*    pAttachments;+    uint32_t                          subpassCount;+    const VkSubpassDescription*       pSubpasses;+    uint32_t                          dependencyCount;+    const VkSubpassDependency*        pDependencies;+} VkRenderPassCreateInfo;++typedef struct VkCommandPoolCreateInfo {+    VkStructureType             sType;+    const void*                 pNext;+    VkCommandPoolCreateFlags    flags;+    uint32_t                    queueFamilyIndex;+} VkCommandPoolCreateInfo;++typedef struct VkCommandBufferAllocateInfo {+    VkStructureType         sType;+    const void*             pNext;+    VkCommandPool           commandPool;+    VkCommandBufferLevel    level;+    uint32_t                commandBufferCount;+} VkCommandBufferAllocateInfo;++typedef struct VkCommandBufferInheritanceInfo {+    VkStructureType                  sType;+    const void*                      pNext;+    VkRenderPass                     renderPass;+    uint32_t                         subpass;+    VkFramebuffer                    framebuffer;+    VkBool32                         occlusionQueryEnable;+    VkQueryControlFlags              queryFlags;+    VkQueryPipelineStatisticFlags    pipelineStatistics;+} VkCommandBufferInheritanceInfo;++typedef struct VkCommandBufferBeginInfo {+    VkStructureType                          sType;+    const void*                              pNext;+    VkCommandBufferUsageFlags                flags;+    const VkCommandBufferInheritanceInfo*    pInheritanceInfo;+} VkCommandBufferBeginInfo;++typedef struct VkBufferCopy {+    VkDeviceSize    srcOffset;+    VkDeviceSize    dstOffset;+    VkDeviceSize    size;+} VkBufferCopy;++typedef struct VkImageSubresourceLayers {+    VkImageAspectFlags    aspectMask;+    uint32_t              mipLevel;+    uint32_t              baseArrayLayer;+    uint32_t              layerCount;+} VkImageSubresourceLayers;++typedef struct VkImageCopy {+    VkImageSubresourceLayers    srcSubresource;+    VkOffset3D                  srcOffset;+    VkImageSubresourceLayers    dstSubresource;+    VkOffset3D                  dstOffset;+    VkExtent3D                  extent;+} VkImageCopy;++typedef struct VkImageBlit {+    VkImageSubresourceLayers    srcSubresource;+    VkOffset3D                  srcOffsets[2];+    VkImageSubresourceLayers    dstSubresource;+    VkOffset3D                  dstOffsets[2];+} VkImageBlit;++typedef struct VkBufferImageCopy {+    VkDeviceSize                bufferOffset;+    uint32_t                    bufferRowLength;+    uint32_t                    bufferImageHeight;+    VkImageSubresourceLayers    imageSubresource;+    VkOffset3D                  imageOffset;+    VkExtent3D                  imageExtent;+} VkBufferImageCopy;++typedef union VkClearColorValue {+    float       float32[4];+    int32_t     int32[4];+    uint32_t    uint32[4];+} VkClearColorValue;++typedef struct VkClearDepthStencilValue {+    float       depth;+    uint32_t    stencil;+} VkClearDepthStencilValue;++typedef union VkClearValue {+    VkClearColorValue           color;+    VkClearDepthStencilValue    depthStencil;+} VkClearValue;++typedef struct VkClearAttachment {+    VkImageAspectFlags    aspectMask;+    uint32_t              colorAttachment;+    VkClearValue          clearValue;+} VkClearAttachment;++typedef struct VkClearRect {+    VkRect2D    rect;+    uint32_t    baseArrayLayer;+    uint32_t    layerCount;+} VkClearRect;++typedef struct VkImageResolve {+    VkImageSubresourceLayers    srcSubresource;+    VkOffset3D                  srcOffset;+    VkImageSubresourceLayers    dstSubresource;+    VkOffset3D                  dstOffset;+    VkExtent3D                  extent;+} VkImageResolve;++typedef struct VkMemoryBarrier {+    VkStructureType    sType;+    const void*        pNext;+    VkAccessFlags      srcAccessMask;+    VkAccessFlags      dstAccessMask;+} VkMemoryBarrier;++typedef struct VkBufferMemoryBarrier {+    VkStructureType    sType;+    const void*        pNext;+    VkAccessFlags      srcAccessMask;+    VkAccessFlags      dstAccessMask;+    uint32_t           srcQueueFamilyIndex;+    uint32_t           dstQueueFamilyIndex;+    VkBuffer           buffer;+    VkDeviceSize       offset;+    VkDeviceSize       size;+} VkBufferMemoryBarrier;++typedef struct VkImageMemoryBarrier {+    VkStructureType            sType;+    const void*                pNext;+    VkAccessFlags              srcAccessMask;+    VkAccessFlags              dstAccessMask;+    VkImageLayout              oldLayout;+    VkImageLayout              newLayout;+    uint32_t                   srcQueueFamilyIndex;+    uint32_t                   dstQueueFamilyIndex;+    VkImage                    image;+    VkImageSubresourceRange    subresourceRange;+} VkImageMemoryBarrier;++typedef struct VkRenderPassBeginInfo {+    VkStructureType        sType;+    const void*            pNext;+    VkRenderPass           renderPass;+    VkFramebuffer          framebuffer;+    VkRect2D               renderArea;+    uint32_t               clearValueCount;+    const VkClearValue*    pClearValues;+} VkRenderPassBeginInfo;++typedef struct VkDispatchIndirectCommand {+    uint32_t    x;+    uint32_t    y;+    uint32_t    z;+} VkDispatchIndirectCommand;++typedef struct VkDrawIndexedIndirectCommand {+    uint32_t    indexCount;+    uint32_t    instanceCount;+    uint32_t    firstIndex;+    int32_t     vertexOffset;+    uint32_t    firstInstance;+} VkDrawIndexedIndirectCommand;++typedef struct VkDrawIndirectCommand {+    uint32_t    vertexCount;+    uint32_t    instanceCount;+    uint32_t    firstVertex;+    uint32_t    firstInstance;+} VkDrawIndirectCommand;+++typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);+typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);+typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);+typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);+typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);+typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);+typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);+typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);+typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);+typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);+typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);+typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);+typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);+typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties);+typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties);+typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue);+typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence);+typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);+typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);+typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);+typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);+typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);+typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);+typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);+typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);+typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);+typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);+typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);+typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);+typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);+typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties);+typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);+typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);+typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences);+typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);+typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout);+typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);+typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);+typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);+typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);+typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);+typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);+typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);+typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);+typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);+typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);+typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);+typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);+typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);+typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);+typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);+typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData);+typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches);+typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);+typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);+typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);+typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);+typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);+typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);+typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);+typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);+typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets);+typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);+typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);+typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);+typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);+typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);+typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);+typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);+typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);+typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);+typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);+typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);+typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);+typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);+typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports);+typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors);+typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);+typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);+typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);+typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);+typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);+typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask);+typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);+typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets);+typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);+typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);+typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);+typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);+typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);+typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);+typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);+typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);+typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions);+typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions);+typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter);+typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions);+typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions);+typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);+typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);+typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);+typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);+typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects);+typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions);+typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);+typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);+typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers);+typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers);+typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);+typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);+typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);+typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query);+typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);+typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues);+typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);+typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);+typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);+typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(+    const VkInstanceCreateInfo*                 pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkInstance*                                 pInstance);++VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(+    VkInstance                                  instance,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(+    VkInstance                                  instance,+    uint32_t*                                   pPhysicalDeviceCount,+    VkPhysicalDevice*                           pPhysicalDevices);++VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(+    VkPhysicalDevice                            physicalDevice,+    VkPhysicalDeviceFeatures*                   pFeatures);++VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(+    VkPhysicalDevice                            physicalDevice,+    VkFormat                                    format,+    VkFormatProperties*                         pFormatProperties);++VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(+    VkPhysicalDevice                            physicalDevice,+    VkFormat                                    format,+    VkImageType                                 type,+    VkImageTiling                               tiling,+    VkImageUsageFlags                           usage,+    VkImageCreateFlags                          flags,+    VkImageFormatProperties*                    pImageFormatProperties);++VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(+    VkPhysicalDevice                            physicalDevice,+    VkPhysicalDeviceProperties*                 pProperties);++VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(+    VkPhysicalDevice                            physicalDevice,+    uint32_t*                                   pQueueFamilyPropertyCount,+    VkQueueFamilyProperties*                    pQueueFamilyProperties);++VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(+    VkPhysicalDevice                            physicalDevice,+    VkPhysicalDeviceMemoryProperties*           pMemoryProperties);++VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(+    VkInstance                                  instance,+    const char*                                 pName);++VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(+    VkDevice                                    device,+    const char*                                 pName);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(+    VkPhysicalDevice                            physicalDevice,+    const VkDeviceCreateInfo*                   pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkDevice*                                   pDevice);++VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(+    VkDevice                                    device,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(+    const char*                                 pLayerName,+    uint32_t*                                   pPropertyCount,+    VkExtensionProperties*                      pProperties);++VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(+    VkPhysicalDevice                            physicalDevice,+    const char*                                 pLayerName,+    uint32_t*                                   pPropertyCount,+    VkExtensionProperties*                      pProperties);++VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(+    uint32_t*                                   pPropertyCount,+    VkLayerProperties*                          pProperties);++VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(+    VkPhysicalDevice                            physicalDevice,+    uint32_t*                                   pPropertyCount,+    VkLayerProperties*                          pProperties);++VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(+    VkDevice                                    device,+    uint32_t                                    queueFamilyIndex,+    uint32_t                                    queueIndex,+    VkQueue*                                    pQueue);++VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(+    VkQueue                                     queue,+    uint32_t                                    submitCount,+    const VkSubmitInfo*                         pSubmits,+    VkFence                                     fence);++VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(+    VkQueue                                     queue);++VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(+    VkDevice                                    device);++VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(+    VkDevice                                    device,+    const VkMemoryAllocateInfo*                 pAllocateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkDeviceMemory*                             pMemory);++VKAPI_ATTR void VKAPI_CALL vkFreeMemory(+    VkDevice                                    device,+    VkDeviceMemory                              memory,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(+    VkDevice                                    device,+    VkDeviceMemory                              memory,+    VkDeviceSize                                offset,+    VkDeviceSize                                size,+    VkMemoryMapFlags                            flags,+    void**                                      ppData);++VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(+    VkDevice                                    device,+    VkDeviceMemory                              memory);++VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(+    VkDevice                                    device,+    uint32_t                                    memoryRangeCount,+    const VkMappedMemoryRange*                  pMemoryRanges);++VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(+    VkDevice                                    device,+    uint32_t                                    memoryRangeCount,+    const VkMappedMemoryRange*                  pMemoryRanges);++VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(+    VkDevice                                    device,+    VkDeviceMemory                              memory,+    VkDeviceSize*                               pCommittedMemoryInBytes);++VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(+    VkDevice                                    device,+    VkBuffer                                    buffer,+    VkDeviceMemory                              memory,+    VkDeviceSize                                memoryOffset);++VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(+    VkDevice                                    device,+    VkImage                                     image,+    VkDeviceMemory                              memory,+    VkDeviceSize                                memoryOffset);++VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(+    VkDevice                                    device,+    VkBuffer                                    buffer,+    VkMemoryRequirements*                       pMemoryRequirements);++VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(+    VkDevice                                    device,+    VkImage                                     image,+    VkMemoryRequirements*                       pMemoryRequirements);++VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(+    VkDevice                                    device,+    VkImage                                     image,+    uint32_t*                                   pSparseMemoryRequirementCount,+    VkSparseImageMemoryRequirements*            pSparseMemoryRequirements);++VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(+    VkPhysicalDevice                            physicalDevice,+    VkFormat                                    format,+    VkImageType                                 type,+    VkSampleCountFlagBits                       samples,+    VkImageUsageFlags                           usage,+    VkImageTiling                               tiling,+    uint32_t*                                   pPropertyCount,+    VkSparseImageFormatProperties*              pProperties);++VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(+    VkQueue                                     queue,+    uint32_t                                    bindInfoCount,+    const VkBindSparseInfo*                     pBindInfo,+    VkFence                                     fence);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(+    VkDevice                                    device,+    const VkFenceCreateInfo*                    pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkFence*                                    pFence);++VKAPI_ATTR void VKAPI_CALL vkDestroyFence(+    VkDevice                                    device,+    VkFence                                     fence,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(+    VkDevice                                    device,+    uint32_t                                    fenceCount,+    const VkFence*                              pFences);++VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(+    VkDevice                                    device,+    VkFence                                     fence);++VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(+    VkDevice                                    device,+    uint32_t                                    fenceCount,+    const VkFence*                              pFences,+    VkBool32                                    waitAll,+    uint64_t                                    timeout);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(+    VkDevice                                    device,+    const VkSemaphoreCreateInfo*                pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkSemaphore*                                pSemaphore);++VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(+    VkDevice                                    device,+    VkSemaphore                                 semaphore,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(+    VkDevice                                    device,+    const VkEventCreateInfo*                    pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkEvent*                                    pEvent);++VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(+    VkDevice                                    device,+    VkEvent                                     event,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(+    VkDevice                                    device,+    VkEvent                                     event);++VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(+    VkDevice                                    device,+    VkEvent                                     event);++VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(+    VkDevice                                    device,+    VkEvent                                     event);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(+    VkDevice                                    device,+    const VkQueryPoolCreateInfo*                pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkQueryPool*                                pQueryPool);++VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(+    VkDevice                                    device,+    VkQueryPool                                 queryPool,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(+    VkDevice                                    device,+    VkQueryPool                                 queryPool,+    uint32_t                                    firstQuery,+    uint32_t                                    queryCount,+    size_t                                      dataSize,+    void*                                       pData,+    VkDeviceSize                                stride,+    VkQueryResultFlags                          flags);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(+    VkDevice                                    device,+    const VkBufferCreateInfo*                   pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkBuffer*                                   pBuffer);++VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(+    VkDevice                                    device,+    VkBuffer                                    buffer,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(+    VkDevice                                    device,+    const VkBufferViewCreateInfo*               pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkBufferView*                               pView);++VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(+    VkDevice                                    device,+    VkBufferView                                bufferView,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(+    VkDevice                                    device,+    const VkImageCreateInfo*                    pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkImage*                                    pImage);++VKAPI_ATTR void VKAPI_CALL vkDestroyImage(+    VkDevice                                    device,+    VkImage                                     image,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(+    VkDevice                                    device,+    VkImage                                     image,+    const VkImageSubresource*                   pSubresource,+    VkSubresourceLayout*                        pLayout);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(+    VkDevice                                    device,+    const VkImageViewCreateInfo*                pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkImageView*                                pView);++VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(+    VkDevice                                    device,+    VkImageView                                 imageView,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(+    VkDevice                                    device,+    const VkShaderModuleCreateInfo*             pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkShaderModule*                             pShaderModule);++VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(+    VkDevice                                    device,+    VkShaderModule                              shaderModule,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(+    VkDevice                                    device,+    const VkPipelineCacheCreateInfo*            pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkPipelineCache*                            pPipelineCache);++VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(+    VkDevice                                    device,+    VkPipelineCache                             pipelineCache,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(+    VkDevice                                    device,+    VkPipelineCache                             pipelineCache,+    size_t*                                     pDataSize,+    void*                                       pData);++VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(+    VkDevice                                    device,+    VkPipelineCache                             dstCache,+    uint32_t                                    srcCacheCount,+    const VkPipelineCache*                      pSrcCaches);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(+    VkDevice                                    device,+    VkPipelineCache                             pipelineCache,+    uint32_t                                    createInfoCount,+    const VkGraphicsPipelineCreateInfo*         pCreateInfos,+    const VkAllocationCallbacks*                pAllocator,+    VkPipeline*                                 pPipelines);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(+    VkDevice                                    device,+    VkPipelineCache                             pipelineCache,+    uint32_t                                    createInfoCount,+    const VkComputePipelineCreateInfo*          pCreateInfos,+    const VkAllocationCallbacks*                pAllocator,+    VkPipeline*                                 pPipelines);++VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(+    VkDevice                                    device,+    VkPipeline                                  pipeline,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(+    VkDevice                                    device,+    const VkPipelineLayoutCreateInfo*           pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkPipelineLayout*                           pPipelineLayout);++VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(+    VkDevice                                    device,+    VkPipelineLayout                            pipelineLayout,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(+    VkDevice                                    device,+    const VkSamplerCreateInfo*                  pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkSampler*                                  pSampler);++VKAPI_ATTR void VKAPI_CALL vkDestroySampler(+    VkDevice                                    device,+    VkSampler                                   sampler,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(+    VkDevice                                    device,+    const VkDescriptorSetLayoutCreateInfo*      pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkDescriptorSetLayout*                      pSetLayout);++VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(+    VkDevice                                    device,+    VkDescriptorSetLayout                       descriptorSetLayout,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(+    VkDevice                                    device,+    const VkDescriptorPoolCreateInfo*           pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkDescriptorPool*                           pDescriptorPool);++VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(+    VkDevice                                    device,+    VkDescriptorPool                            descriptorPool,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(+    VkDevice                                    device,+    VkDescriptorPool                            descriptorPool,+    VkDescriptorPoolResetFlags                  flags);++VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(+    VkDevice                                    device,+    const VkDescriptorSetAllocateInfo*          pAllocateInfo,+    VkDescriptorSet*                            pDescriptorSets);++VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(+    VkDevice                                    device,+    VkDescriptorPool                            descriptorPool,+    uint32_t                                    descriptorSetCount,+    const VkDescriptorSet*                      pDescriptorSets);++VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(+    VkDevice                                    device,+    uint32_t                                    descriptorWriteCount,+    const VkWriteDescriptorSet*                 pDescriptorWrites,+    uint32_t                                    descriptorCopyCount,+    const VkCopyDescriptorSet*                  pDescriptorCopies);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(+    VkDevice                                    device,+    const VkFramebufferCreateInfo*              pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkFramebuffer*                              pFramebuffer);++VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(+    VkDevice                                    device,+    VkFramebuffer                               framebuffer,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(+    VkDevice                                    device,+    const VkRenderPassCreateInfo*               pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkRenderPass*                               pRenderPass);++VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(+    VkDevice                                    device,+    VkRenderPass                                renderPass,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(+    VkDevice                                    device,+    VkRenderPass                                renderPass,+    VkExtent2D*                                 pGranularity);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(+    VkDevice                                    device,+    const VkCommandPoolCreateInfo*              pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkCommandPool*                              pCommandPool);++VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(+    VkDevice                                    device,+    VkCommandPool                               commandPool,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(+    VkDevice                                    device,+    VkCommandPool                               commandPool,+    VkCommandPoolResetFlags                     flags);++VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(+    VkDevice                                    device,+    const VkCommandBufferAllocateInfo*          pAllocateInfo,+    VkCommandBuffer*                            pCommandBuffers);++VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(+    VkDevice                                    device,+    VkCommandPool                               commandPool,+    uint32_t                                    commandBufferCount,+    const VkCommandBuffer*                      pCommandBuffers);++VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(+    VkCommandBuffer                             commandBuffer,+    const VkCommandBufferBeginInfo*             pBeginInfo);++VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(+    VkCommandBuffer                             commandBuffer);++VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(+    VkCommandBuffer                             commandBuffer,+    VkCommandBufferResetFlags                   flags);++VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(+    VkCommandBuffer                             commandBuffer,+    VkPipelineBindPoint                         pipelineBindPoint,+    VkPipeline                                  pipeline);++VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(+    VkCommandBuffer                             commandBuffer,+    uint32_t                                    firstViewport,+    uint32_t                                    viewportCount,+    const VkViewport*                           pViewports);++VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(+    VkCommandBuffer                             commandBuffer,+    uint32_t                                    firstScissor,+    uint32_t                                    scissorCount,+    const VkRect2D*                             pScissors);++VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(+    VkCommandBuffer                             commandBuffer,+    float                                       lineWidth);++VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(+    VkCommandBuffer                             commandBuffer,+    float                                       depthBiasConstantFactor,+    float                                       depthBiasClamp,+    float                                       depthBiasSlopeFactor);++VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(+    VkCommandBuffer                             commandBuffer,+    const float                                 blendConstants[4]);++VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(+    VkCommandBuffer                             commandBuffer,+    float                                       minDepthBounds,+    float                                       maxDepthBounds);++VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(+    VkCommandBuffer                             commandBuffer,+    VkStencilFaceFlags                          faceMask,+    uint32_t                                    compareMask);++VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(+    VkCommandBuffer                             commandBuffer,+    VkStencilFaceFlags                          faceMask,+    uint32_t                                    writeMask);++VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(+    VkCommandBuffer                             commandBuffer,+    VkStencilFaceFlags                          faceMask,+    uint32_t                                    reference);++VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(+    VkCommandBuffer                             commandBuffer,+    VkPipelineBindPoint                         pipelineBindPoint,+    VkPipelineLayout                            layout,+    uint32_t                                    firstSet,+    uint32_t                                    descriptorSetCount,+    const VkDescriptorSet*                      pDescriptorSets,+    uint32_t                                    dynamicOffsetCount,+    const uint32_t*                             pDynamicOffsets);++VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(+    VkCommandBuffer                             commandBuffer,+    VkBuffer                                    buffer,+    VkDeviceSize                                offset,+    VkIndexType                                 indexType);++VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(+    VkCommandBuffer                             commandBuffer,+    uint32_t                                    firstBinding,+    uint32_t                                    bindingCount,+    const VkBuffer*                             pBuffers,+    const VkDeviceSize*                         pOffsets);++VKAPI_ATTR void VKAPI_CALL vkCmdDraw(+    VkCommandBuffer                             commandBuffer,+    uint32_t                                    vertexCount,+    uint32_t                                    instanceCount,+    uint32_t                                    firstVertex,+    uint32_t                                    firstInstance);++VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(+    VkCommandBuffer                             commandBuffer,+    uint32_t                                    indexCount,+    uint32_t                                    instanceCount,+    uint32_t                                    firstIndex,+    int32_t                                     vertexOffset,+    uint32_t                                    firstInstance);++VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(+    VkCommandBuffer                             commandBuffer,+    VkBuffer                                    buffer,+    VkDeviceSize                                offset,+    uint32_t                                    drawCount,+    uint32_t                                    stride);++VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(+    VkCommandBuffer                             commandBuffer,+    VkBuffer                                    buffer,+    VkDeviceSize                                offset,+    uint32_t                                    drawCount,+    uint32_t                                    stride);++VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(+    VkCommandBuffer                             commandBuffer,+    uint32_t                                    groupCountX,+    uint32_t                                    groupCountY,+    uint32_t                                    groupCountZ);++VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(+    VkCommandBuffer                             commandBuffer,+    VkBuffer                                    buffer,+    VkDeviceSize                                offset);++VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(+    VkCommandBuffer                             commandBuffer,+    VkBuffer                                    srcBuffer,+    VkBuffer                                    dstBuffer,+    uint32_t                                    regionCount,+    const VkBufferCopy*                         pRegions);++VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(+    VkCommandBuffer                             commandBuffer,+    VkImage                                     srcImage,+    VkImageLayout                               srcImageLayout,+    VkImage                                     dstImage,+    VkImageLayout                               dstImageLayout,+    uint32_t                                    regionCount,+    const VkImageCopy*                          pRegions);++VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(+    VkCommandBuffer                             commandBuffer,+    VkImage                                     srcImage,+    VkImageLayout                               srcImageLayout,+    VkImage                                     dstImage,+    VkImageLayout                               dstImageLayout,+    uint32_t                                    regionCount,+    const VkImageBlit*                          pRegions,+    VkFilter                                    filter);++VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(+    VkCommandBuffer                             commandBuffer,+    VkBuffer                                    srcBuffer,+    VkImage                                     dstImage,+    VkImageLayout                               dstImageLayout,+    uint32_t                                    regionCount,+    const VkBufferImageCopy*                    pRegions);++VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(+    VkCommandBuffer                             commandBuffer,+    VkImage                                     srcImage,+    VkImageLayout                               srcImageLayout,+    VkBuffer                                    dstBuffer,+    uint32_t                                    regionCount,+    const VkBufferImageCopy*                    pRegions);++VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(+    VkCommandBuffer                             commandBuffer,+    VkBuffer                                    dstBuffer,+    VkDeviceSize                                dstOffset,+    VkDeviceSize                                dataSize,+    const void*                                 pData);++VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(+    VkCommandBuffer                             commandBuffer,+    VkBuffer                                    dstBuffer,+    VkDeviceSize                                dstOffset,+    VkDeviceSize                                size,+    uint32_t                                    data);++VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(+    VkCommandBuffer                             commandBuffer,+    VkImage                                     image,+    VkImageLayout                               imageLayout,+    const VkClearColorValue*                    pColor,+    uint32_t                                    rangeCount,+    const VkImageSubresourceRange*              pRanges);++VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(+    VkCommandBuffer                             commandBuffer,+    VkImage                                     image,+    VkImageLayout                               imageLayout,+    const VkClearDepthStencilValue*             pDepthStencil,+    uint32_t                                    rangeCount,+    const VkImageSubresourceRange*              pRanges);++VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(+    VkCommandBuffer                             commandBuffer,+    uint32_t                                    attachmentCount,+    const VkClearAttachment*                    pAttachments,+    uint32_t                                    rectCount,+    const VkClearRect*                          pRects);++VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(+    VkCommandBuffer                             commandBuffer,+    VkImage                                     srcImage,+    VkImageLayout                               srcImageLayout,+    VkImage                                     dstImage,+    VkImageLayout                               dstImageLayout,+    uint32_t                                    regionCount,+    const VkImageResolve*                       pRegions);++VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(+    VkCommandBuffer                             commandBuffer,+    VkEvent                                     event,+    VkPipelineStageFlags                        stageMask);++VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(+    VkCommandBuffer                             commandBuffer,+    VkEvent                                     event,+    VkPipelineStageFlags                        stageMask);++VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(+    VkCommandBuffer                             commandBuffer,+    uint32_t                                    eventCount,+    const VkEvent*                              pEvents,+    VkPipelineStageFlags                        srcStageMask,+    VkPipelineStageFlags                        dstStageMask,+    uint32_t                                    memoryBarrierCount,+    const VkMemoryBarrier*                      pMemoryBarriers,+    uint32_t                                    bufferMemoryBarrierCount,+    const VkBufferMemoryBarrier*                pBufferMemoryBarriers,+    uint32_t                                    imageMemoryBarrierCount,+    const VkImageMemoryBarrier*                 pImageMemoryBarriers);++VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(+    VkCommandBuffer                             commandBuffer,+    VkPipelineStageFlags                        srcStageMask,+    VkPipelineStageFlags                        dstStageMask,+    VkDependencyFlags                           dependencyFlags,+    uint32_t                                    memoryBarrierCount,+    const VkMemoryBarrier*                      pMemoryBarriers,+    uint32_t                                    bufferMemoryBarrierCount,+    const VkBufferMemoryBarrier*                pBufferMemoryBarriers,+    uint32_t                                    imageMemoryBarrierCount,+    const VkImageMemoryBarrier*                 pImageMemoryBarriers);++VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(+    VkCommandBuffer                             commandBuffer,+    VkQueryPool                                 queryPool,+    uint32_t                                    query,+    VkQueryControlFlags                         flags);++VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(+    VkCommandBuffer                             commandBuffer,+    VkQueryPool                                 queryPool,+    uint32_t                                    query);++VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(+    VkCommandBuffer                             commandBuffer,+    VkQueryPool                                 queryPool,+    uint32_t                                    firstQuery,+    uint32_t                                    queryCount);++VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(+    VkCommandBuffer                             commandBuffer,+    VkPipelineStageFlagBits                     pipelineStage,+    VkQueryPool                                 queryPool,+    uint32_t                                    query);++VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(+    VkCommandBuffer                             commandBuffer,+    VkQueryPool                                 queryPool,+    uint32_t                                    firstQuery,+    uint32_t                                    queryCount,+    VkBuffer                                    dstBuffer,+    VkDeviceSize                                dstOffset,+    VkDeviceSize                                stride,+    VkQueryResultFlags                          flags);++VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(+    VkCommandBuffer                             commandBuffer,+    VkPipelineLayout                            layout,+    VkShaderStageFlags                          stageFlags,+    uint32_t                                    offset,+    uint32_t                                    size,+    const void*                                 pValues);++VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(+    VkCommandBuffer                             commandBuffer,+    const VkRenderPassBeginInfo*                pRenderPassBegin,+    VkSubpassContents                           contents);++VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(+    VkCommandBuffer                             commandBuffer,+    VkSubpassContents                           contents);++VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(+    VkCommandBuffer                             commandBuffer);++VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(+    VkCommandBuffer                             commandBuffer,+    uint32_t                                    commandBufferCount,+    const VkCommandBuffer*                      pCommandBuffers);+#endif++#define VK_VERSION_1_1 1+// Vulkan 1.1 version number+#define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)// Patch version should always be set to 0+++VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)++#define VK_MAX_DEVICE_GROUP_SIZE          32+#define VK_LUID_SIZE                      8+#define VK_QUEUE_FAMILY_EXTERNAL          (~0U-1)+++typedef enum VkPointClippingBehavior {+    VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,+    VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,+    VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,+    VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,+    VK_POINT_CLIPPING_BEHAVIOR_BEGIN_RANGE = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,+    VK_POINT_CLIPPING_BEHAVIOR_END_RANGE = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,+    VK_POINT_CLIPPING_BEHAVIOR_RANGE_SIZE = (VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY - VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES + 1),+    VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF+} VkPointClippingBehavior;++typedef enum VkTessellationDomainOrigin {+    VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,+    VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,+    VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,+    VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,+    VK_TESSELLATION_DOMAIN_ORIGIN_BEGIN_RANGE = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,+    VK_TESSELLATION_DOMAIN_ORIGIN_END_RANGE = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,+    VK_TESSELLATION_DOMAIN_ORIGIN_RANGE_SIZE = (VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT - VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT + 1),+    VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF+} VkTessellationDomainOrigin;++typedef enum VkSamplerYcbcrModelConversion {+    VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,+    VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,+    VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,+    VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,+    VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,+    VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,+    VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,+    VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,+    VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,+    VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,+    VK_SAMPLER_YCBCR_MODEL_CONVERSION_BEGIN_RANGE = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,+    VK_SAMPLER_YCBCR_MODEL_CONVERSION_END_RANGE = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,+    VK_SAMPLER_YCBCR_MODEL_CONVERSION_RANGE_SIZE = (VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 - VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY + 1),+    VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF+} VkSamplerYcbcrModelConversion;++typedef enum VkSamplerYcbcrRange {+    VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,+    VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,+    VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,+    VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,+    VK_SAMPLER_YCBCR_RANGE_BEGIN_RANGE = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,+    VK_SAMPLER_YCBCR_RANGE_END_RANGE = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,+    VK_SAMPLER_YCBCR_RANGE_RANGE_SIZE = (VK_SAMPLER_YCBCR_RANGE_ITU_NARROW - VK_SAMPLER_YCBCR_RANGE_ITU_FULL + 1),+    VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF+} VkSamplerYcbcrRange;++typedef enum VkChromaLocation {+    VK_CHROMA_LOCATION_COSITED_EVEN = 0,+    VK_CHROMA_LOCATION_MIDPOINT = 1,+    VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,+    VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,+    VK_CHROMA_LOCATION_BEGIN_RANGE = VK_CHROMA_LOCATION_COSITED_EVEN,+    VK_CHROMA_LOCATION_END_RANGE = VK_CHROMA_LOCATION_MIDPOINT,+    VK_CHROMA_LOCATION_RANGE_SIZE = (VK_CHROMA_LOCATION_MIDPOINT - VK_CHROMA_LOCATION_COSITED_EVEN + 1),+    VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF+} VkChromaLocation;++typedef enum VkDescriptorUpdateTemplateType {+    VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,+    VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,+    VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,+    VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_BEGIN_RANGE = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,+    VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_END_RANGE = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,+    VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_RANGE_SIZE = (VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET - VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET + 1),+    VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF+} VkDescriptorUpdateTemplateType;+++typedef enum VkSubgroupFeatureFlagBits {+    VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,+    VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,+    VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,+    VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,+    VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,+    VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,+    VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,+    VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,+    VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkSubgroupFeatureFlagBits;+typedef VkFlags VkSubgroupFeatureFlags;++typedef enum VkPeerMemoryFeatureFlagBits {+    VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,+    VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,+    VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,+    VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,+    VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,+    VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,+    VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,+    VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,+    VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkPeerMemoryFeatureFlagBits;+typedef VkFlags VkPeerMemoryFeatureFlags;++typedef enum VkMemoryAllocateFlagBits {+    VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,+    VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,+    VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkMemoryAllocateFlagBits;+typedef VkFlags VkMemoryAllocateFlags;+typedef VkFlags VkCommandPoolTrimFlags;+typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;++typedef enum VkExternalMemoryHandleTypeFlagBits {+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkExternalMemoryHandleTypeFlagBits;+typedef VkFlags VkExternalMemoryHandleTypeFlags;++typedef enum VkExternalMemoryFeatureFlagBits {+    VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,+    VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,+    VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,+    VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,+    VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,+    VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,+    VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkExternalMemoryFeatureFlagBits;+typedef VkFlags VkExternalMemoryFeatureFlags;++typedef enum VkExternalFenceHandleTypeFlagBits {+    VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,+    VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,+    VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,+    VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,+    VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,+    VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,+    VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,+    VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,+    VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkExternalFenceHandleTypeFlagBits;+typedef VkFlags VkExternalFenceHandleTypeFlags;++typedef enum VkExternalFenceFeatureFlagBits {+    VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,+    VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,+    VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,+    VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,+    VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkExternalFenceFeatureFlagBits;+typedef VkFlags VkExternalFenceFeatureFlags;++typedef enum VkFenceImportFlagBits {+    VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,+    VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,+    VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkFenceImportFlagBits;+typedef VkFlags VkFenceImportFlags;++typedef enum VkSemaphoreImportFlagBits {+    VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,+    VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,+    VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkSemaphoreImportFlagBits;+typedef VkFlags VkSemaphoreImportFlags;++typedef enum VkExternalSemaphoreHandleTypeFlagBits {+    VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,+    VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,+    VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,+    VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,+    VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,+    VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,+    VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,+    VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,+    VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,+    VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,+    VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkExternalSemaphoreHandleTypeFlagBits;+typedef VkFlags VkExternalSemaphoreHandleTypeFlags;++typedef enum VkExternalSemaphoreFeatureFlagBits {+    VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,+    VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,+    VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,+    VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,+    VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF+} VkExternalSemaphoreFeatureFlagBits;+typedef VkFlags VkExternalSemaphoreFeatureFlags;++typedef struct VkPhysicalDeviceSubgroupProperties {+    VkStructureType           sType;+    void*                     pNext;+    uint32_t                  subgroupSize;+    VkShaderStageFlags        supportedStages;+    VkSubgroupFeatureFlags    supportedOperations;+    VkBool32                  quadOperationsInAllStages;+} VkPhysicalDeviceSubgroupProperties;++typedef struct VkBindBufferMemoryInfo {+    VkStructureType    sType;+    const void*        pNext;+    VkBuffer           buffer;+    VkDeviceMemory     memory;+    VkDeviceSize       memoryOffset;+} VkBindBufferMemoryInfo;++typedef struct VkBindImageMemoryInfo {+    VkStructureType    sType;+    const void*        pNext;+    VkImage            image;+    VkDeviceMemory     memory;+    VkDeviceSize       memoryOffset;+} VkBindImageMemoryInfo;++typedef struct VkPhysicalDevice16BitStorageFeatures {+    VkStructureType    sType;+    void*              pNext;+    VkBool32           storageBuffer16BitAccess;+    VkBool32           uniformAndStorageBuffer16BitAccess;+    VkBool32           storagePushConstant16;+    VkBool32           storageInputOutput16;+} VkPhysicalDevice16BitStorageFeatures;++typedef struct VkMemoryDedicatedRequirements {+    VkStructureType    sType;+    void*              pNext;+    VkBool32           prefersDedicatedAllocation;+    VkBool32           requiresDedicatedAllocation;+} VkMemoryDedicatedRequirements;++typedef struct VkMemoryDedicatedAllocateInfo {+    VkStructureType    sType;+    const void*        pNext;+    VkImage            image;+    VkBuffer           buffer;+} VkMemoryDedicatedAllocateInfo;++typedef struct VkMemoryAllocateFlagsInfo {+    VkStructureType          sType;+    const void*              pNext;+    VkMemoryAllocateFlags    flags;+    uint32_t                 deviceMask;+} VkMemoryAllocateFlagsInfo;++typedef struct VkDeviceGroupRenderPassBeginInfo {+    VkStructureType    sType;+    const void*        pNext;+    uint32_t           deviceMask;+    uint32_t           deviceRenderAreaCount;+    const VkRect2D*    pDeviceRenderAreas;+} VkDeviceGroupRenderPassBeginInfo;++typedef struct VkDeviceGroupCommandBufferBeginInfo {+    VkStructureType    sType;+    const void*        pNext;+    uint32_t           deviceMask;+} VkDeviceGroupCommandBufferBeginInfo;++typedef struct VkDeviceGroupSubmitInfo {+    VkStructureType    sType;+    const void*        pNext;+    uint32_t           waitSemaphoreCount;+    const uint32_t*    pWaitSemaphoreDeviceIndices;+    uint32_t           commandBufferCount;+    const uint32_t*    pCommandBufferDeviceMasks;+    uint32_t           signalSemaphoreCount;+    const uint32_t*    pSignalSemaphoreDeviceIndices;+} VkDeviceGroupSubmitInfo;++typedef struct VkDeviceGroupBindSparseInfo {+    VkStructureType    sType;+    const void*        pNext;+    uint32_t           resourceDeviceIndex;+    uint32_t           memoryDeviceIndex;+} VkDeviceGroupBindSparseInfo;++typedef struct VkBindBufferMemoryDeviceGroupInfo {+    VkStructureType    sType;+    const void*        pNext;+    uint32_t           deviceIndexCount;+    const uint32_t*    pDeviceIndices;+} VkBindBufferMemoryDeviceGroupInfo;++typedef struct VkBindImageMemoryDeviceGroupInfo {+    VkStructureType    sType;+    const void*        pNext;+    uint32_t           deviceIndexCount;+    const uint32_t*    pDeviceIndices;+    uint32_t           splitInstanceBindRegionCount;+    const VkRect2D*    pSplitInstanceBindRegions;+} VkBindImageMemoryDeviceGroupInfo;++typedef struct VkPhysicalDeviceGroupProperties {+    VkStructureType     sType;+    void*               pNext;+    uint32_t            physicalDeviceCount;+    VkPhysicalDevice    physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];+    VkBool32            subsetAllocation;+} VkPhysicalDeviceGroupProperties;++typedef struct VkDeviceGroupDeviceCreateInfo {+    VkStructureType            sType;+    const void*                pNext;+    uint32_t                   physicalDeviceCount;+    const VkPhysicalDevice*    pPhysicalDevices;+} VkDeviceGroupDeviceCreateInfo;++typedef struct VkBufferMemoryRequirementsInfo2 {+    VkStructureType    sType;+    const void*        pNext;+    VkBuffer           buffer;+} VkBufferMemoryRequirementsInfo2;++typedef struct VkImageMemoryRequirementsInfo2 {+    VkStructureType    sType;+    const void*        pNext;+    VkImage            image;+} VkImageMemoryRequirementsInfo2;++typedef struct VkImageSparseMemoryRequirementsInfo2 {+    VkStructureType    sType;+    const void*        pNext;+    VkImage            image;+} VkImageSparseMemoryRequirementsInfo2;++typedef struct VkMemoryRequirements2 {+    VkStructureType         sType;+    void*                   pNext;+    VkMemoryRequirements    memoryRequirements;+} VkMemoryRequirements2;++typedef struct VkSparseImageMemoryRequirements2 {+    VkStructureType                    sType;+    void*                              pNext;+    VkSparseImageMemoryRequirements    memoryRequirements;+} VkSparseImageMemoryRequirements2;++typedef struct VkPhysicalDeviceFeatures2 {+    VkStructureType             sType;+    void*                       pNext;+    VkPhysicalDeviceFeatures    features;+} VkPhysicalDeviceFeatures2;++typedef struct VkPhysicalDeviceProperties2 {+    VkStructureType               sType;+    void*                         pNext;+    VkPhysicalDeviceProperties    properties;+} VkPhysicalDeviceProperties2;++typedef struct VkFormatProperties2 {+    VkStructureType       sType;+    void*                 pNext;+    VkFormatProperties    formatProperties;+} VkFormatProperties2;++typedef struct VkImageFormatProperties2 {+    VkStructureType            sType;+    void*                      pNext;+    VkImageFormatProperties    imageFormatProperties;+} VkImageFormatProperties2;++typedef struct VkPhysicalDeviceImageFormatInfo2 {+    VkStructureType       sType;+    const void*           pNext;+    VkFormat              format;+    VkImageType           type;+    VkImageTiling         tiling;+    VkImageUsageFlags     usage;+    VkImageCreateFlags    flags;+} VkPhysicalDeviceImageFormatInfo2;++typedef struct VkQueueFamilyProperties2 {+    VkStructureType            sType;+    void*                      pNext;+    VkQueueFamilyProperties    queueFamilyProperties;+} VkQueueFamilyProperties2;++typedef struct VkPhysicalDeviceMemoryProperties2 {+    VkStructureType                     sType;+    void*                               pNext;+    VkPhysicalDeviceMemoryProperties    memoryProperties;+} VkPhysicalDeviceMemoryProperties2;++typedef struct VkSparseImageFormatProperties2 {+    VkStructureType                  sType;+    void*                            pNext;+    VkSparseImageFormatProperties    properties;+} VkSparseImageFormatProperties2;++typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {+    VkStructureType          sType;+    const void*              pNext;+    VkFormat                 format;+    VkImageType              type;+    VkSampleCountFlagBits    samples;+    VkImageUsageFlags        usage;+    VkImageTiling            tiling;+} VkPhysicalDeviceSparseImageFormatInfo2;++typedef struct VkPhysicalDevicePointClippingProperties {+    VkStructureType            sType;+    void*                      pNext;+    VkPointClippingBehavior    pointClippingBehavior;+} VkPhysicalDevicePointClippingProperties;++typedef struct VkInputAttachmentAspectReference {+    uint32_t              subpass;+    uint32_t              inputAttachmentIndex;+    VkImageAspectFlags    aspectMask;+} VkInputAttachmentAspectReference;++typedef struct VkRenderPassInputAttachmentAspectCreateInfo {+    VkStructureType                            sType;+    const void*                                pNext;+    uint32_t                                   aspectReferenceCount;+    const VkInputAttachmentAspectReference*    pAspectReferences;+} VkRenderPassInputAttachmentAspectCreateInfo;++typedef struct VkImageViewUsageCreateInfo {+    VkStructureType      sType;+    const void*          pNext;+    VkImageUsageFlags    usage;+} VkImageViewUsageCreateInfo;++typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {+    VkStructureType               sType;+    const void*                   pNext;+    VkTessellationDomainOrigin    domainOrigin;+} VkPipelineTessellationDomainOriginStateCreateInfo;++typedef struct VkRenderPassMultiviewCreateInfo {+    VkStructureType    sType;+    const void*        pNext;+    uint32_t           subpassCount;+    const uint32_t*    pViewMasks;+    uint32_t           dependencyCount;+    const int32_t*     pViewOffsets;+    uint32_t           correlationMaskCount;+    const uint32_t*    pCorrelationMasks;+} VkRenderPassMultiviewCreateInfo;++typedef struct VkPhysicalDeviceMultiviewFeatures {+    VkStructureType    sType;+    void*              pNext;+    VkBool32           multiview;+    VkBool32           multiviewGeometryShader;+    VkBool32           multiviewTessellationShader;+} VkPhysicalDeviceMultiviewFeatures;++typedef struct VkPhysicalDeviceMultiviewProperties {+    VkStructureType    sType;+    void*              pNext;+    uint32_t           maxMultiviewViewCount;+    uint32_t           maxMultiviewInstanceIndex;+} VkPhysicalDeviceMultiviewProperties;++typedef struct VkPhysicalDeviceVariablePointerFeatures {+    VkStructureType    sType;+    void*              pNext;+    VkBool32           variablePointersStorageBuffer;+    VkBool32           variablePointers;+} VkPhysicalDeviceVariablePointerFeatures;++typedef struct VkPhysicalDeviceProtectedMemoryFeatures {+    VkStructureType    sType;+    void*              pNext;+    VkBool32           protectedMemory;+} VkPhysicalDeviceProtectedMemoryFeatures;++typedef struct VkPhysicalDeviceProtectedMemoryProperties {+    VkStructureType    sType;+    void*              pNext;+    VkBool32           protectedNoFault;+} VkPhysicalDeviceProtectedMemoryProperties;++typedef struct VkDeviceQueueInfo2 {+    VkStructureType             sType;+    const void*                 pNext;+    VkDeviceQueueCreateFlags    flags;+    uint32_t                    queueFamilyIndex;+    uint32_t                    queueIndex;+} VkDeviceQueueInfo2;++typedef struct VkProtectedSubmitInfo {+    VkStructureType    sType;+    const void*        pNext;+    VkBool32           protectedSubmit;+} VkProtectedSubmitInfo;++typedef struct VkSamplerYcbcrConversionCreateInfo {+    VkStructureType                  sType;+    const void*                      pNext;+    VkFormat                         format;+    VkSamplerYcbcrModelConversion    ycbcrModel;+    VkSamplerYcbcrRange              ycbcrRange;+    VkComponentMapping               components;+    VkChromaLocation                 xChromaOffset;+    VkChromaLocation                 yChromaOffset;+    VkFilter                         chromaFilter;+    VkBool32                         forceExplicitReconstruction;+} VkSamplerYcbcrConversionCreateInfo;++typedef struct VkSamplerYcbcrConversionInfo {+    VkStructureType             sType;+    const void*                 pNext;+    VkSamplerYcbcrConversion    conversion;+} VkSamplerYcbcrConversionInfo;++typedef struct VkBindImagePlaneMemoryInfo {+    VkStructureType          sType;+    const void*              pNext;+    VkImageAspectFlagBits    planeAspect;+} VkBindImagePlaneMemoryInfo;++typedef struct VkImagePlaneMemoryRequirementsInfo {+    VkStructureType          sType;+    const void*              pNext;+    VkImageAspectFlagBits    planeAspect;+} VkImagePlaneMemoryRequirementsInfo;++typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {+    VkStructureType    sType;+    void*              pNext;+    VkBool32           samplerYcbcrConversion;+} VkPhysicalDeviceSamplerYcbcrConversionFeatures;++typedef struct VkSamplerYcbcrConversionImageFormatProperties {+    VkStructureType    sType;+    void*              pNext;+    uint32_t           combinedImageSamplerDescriptorCount;+} VkSamplerYcbcrConversionImageFormatProperties;++typedef struct VkDescriptorUpdateTemplateEntry {+    uint32_t            dstBinding;+    uint32_t            dstArrayElement;+    uint32_t            descriptorCount;+    VkDescriptorType    descriptorType;+    size_t              offset;+    size_t              stride;+} VkDescriptorUpdateTemplateEntry;++typedef struct VkDescriptorUpdateTemplateCreateInfo {+    VkStructureType                           sType;+    void*                                     pNext;+    VkDescriptorUpdateTemplateCreateFlags     flags;+    uint32_t                                  descriptorUpdateEntryCount;+    const VkDescriptorUpdateTemplateEntry*    pDescriptorUpdateEntries;+    VkDescriptorUpdateTemplateType            templateType;+    VkDescriptorSetLayout                     descriptorSetLayout;+    VkPipelineBindPoint                       pipelineBindPoint;+    VkPipelineLayout                          pipelineLayout;+    uint32_t                                  set;+} VkDescriptorUpdateTemplateCreateInfo;++typedef struct VkExternalMemoryProperties {+    VkExternalMemoryFeatureFlags       externalMemoryFeatures;+    VkExternalMemoryHandleTypeFlags    exportFromImportedHandleTypes;+    VkExternalMemoryHandleTypeFlags    compatibleHandleTypes;+} VkExternalMemoryProperties;++typedef struct VkPhysicalDeviceExternalImageFormatInfo {+    VkStructureType                       sType;+    const void*                           pNext;+    VkExternalMemoryHandleTypeFlagBits    handleType;+} VkPhysicalDeviceExternalImageFormatInfo;++typedef struct VkExternalImageFormatProperties {+    VkStructureType               sType;+    void*                         pNext;+    VkExternalMemoryProperties    externalMemoryProperties;+} VkExternalImageFormatProperties;++typedef struct VkPhysicalDeviceExternalBufferInfo {+    VkStructureType                       sType;+    const void*                           pNext;+    VkBufferCreateFlags                   flags;+    VkBufferUsageFlags                    usage;+    VkExternalMemoryHandleTypeFlagBits    handleType;+} VkPhysicalDeviceExternalBufferInfo;++typedef struct VkExternalBufferProperties {+    VkStructureType               sType;+    void*                         pNext;+    VkExternalMemoryProperties    externalMemoryProperties;+} VkExternalBufferProperties;++typedef struct VkPhysicalDeviceIDProperties {+    VkStructureType    sType;+    void*              pNext;+    uint8_t            deviceUUID[VK_UUID_SIZE];+    uint8_t            driverUUID[VK_UUID_SIZE];+    uint8_t            deviceLUID[VK_LUID_SIZE];+    uint32_t           deviceNodeMask;+    VkBool32           deviceLUIDValid;+} VkPhysicalDeviceIDProperties;++typedef struct VkExternalMemoryImageCreateInfo {+    VkStructureType                    sType;+    const void*                        pNext;+    VkExternalMemoryHandleTypeFlags    handleTypes;+} VkExternalMemoryImageCreateInfo;++typedef struct VkExternalMemoryBufferCreateInfo {+    VkStructureType                    sType;+    const void*                        pNext;+    VkExternalMemoryHandleTypeFlags    handleTypes;+} VkExternalMemoryBufferCreateInfo;++typedef struct VkExportMemoryAllocateInfo {+    VkStructureType                    sType;+    const void*                        pNext;+    VkExternalMemoryHandleTypeFlags    handleTypes;+} VkExportMemoryAllocateInfo;++typedef struct VkPhysicalDeviceExternalFenceInfo {+    VkStructureType                      sType;+    const void*                          pNext;+    VkExternalFenceHandleTypeFlagBits    handleType;+} VkPhysicalDeviceExternalFenceInfo;++typedef struct VkExternalFenceProperties {+    VkStructureType                   sType;+    void*                             pNext;+    VkExternalFenceHandleTypeFlags    exportFromImportedHandleTypes;+    VkExternalFenceHandleTypeFlags    compatibleHandleTypes;+    VkExternalFenceFeatureFlags       externalFenceFeatures;+} VkExternalFenceProperties;++typedef struct VkExportFenceCreateInfo {+    VkStructureType                   sType;+    const void*                       pNext;+    VkExternalFenceHandleTypeFlags    handleTypes;+} VkExportFenceCreateInfo;++typedef struct VkExportSemaphoreCreateInfo {+    VkStructureType                       sType;+    const void*                           pNext;+    VkExternalSemaphoreHandleTypeFlags    handleTypes;+} VkExportSemaphoreCreateInfo;++typedef struct VkPhysicalDeviceExternalSemaphoreInfo {+    VkStructureType                          sType;+    const void*                              pNext;+    VkExternalSemaphoreHandleTypeFlagBits    handleType;+} VkPhysicalDeviceExternalSemaphoreInfo;++typedef struct VkExternalSemaphoreProperties {+    VkStructureType                       sType;+    void*                                 pNext;+    VkExternalSemaphoreHandleTypeFlags    exportFromImportedHandleTypes;+    VkExternalSemaphoreHandleTypeFlags    compatibleHandleTypes;+    VkExternalSemaphoreFeatureFlags       externalSemaphoreFeatures;+} VkExternalSemaphoreProperties;++typedef struct VkPhysicalDeviceMaintenance3Properties {+    VkStructureType    sType;+    void*              pNext;+    uint32_t           maxPerSetDescriptors;+    VkDeviceSize       maxMemoryAllocationSize;+} VkPhysicalDeviceMaintenance3Properties;++typedef struct VkDescriptorSetLayoutSupport {+    VkStructureType    sType;+    void*              pNext;+    VkBool32           supported;+} VkDescriptorSetLayoutSupport;++typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {+    VkStructureType    sType;+    void*              pNext;+    VkBool32           shaderDrawParameters;+} VkPhysicalDeviceShaderDrawParameterFeatures;+++typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t* pApiVersion);+typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);+typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);+typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);+typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask);+typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);+typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);+typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);+typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);+typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);+typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);+typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);+typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);+typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);+typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);+typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);+typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);+typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);+typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);+typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);+typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);+typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);+typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);+typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);+typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);+typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);+typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(+    uint32_t*                                   pApiVersion);++VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(+    VkDevice                                    device,+    uint32_t                                    bindInfoCount,+    const VkBindBufferMemoryInfo*               pBindInfos);++VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(+    VkDevice                                    device,+    uint32_t                                    bindInfoCount,+    const VkBindImageMemoryInfo*                pBindInfos);++VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(+    VkDevice                                    device,+    uint32_t                                    heapIndex,+    uint32_t                                    localDeviceIndex,+    uint32_t                                    remoteDeviceIndex,+    VkPeerMemoryFeatureFlags*                   pPeerMemoryFeatures);++VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(+    VkCommandBuffer                             commandBuffer,+    uint32_t                                    deviceMask);++VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(+    VkCommandBuffer                             commandBuffer,+    uint32_t                                    baseGroupX,+    uint32_t                                    baseGroupY,+    uint32_t                                    baseGroupZ,+    uint32_t                                    groupCountX,+    uint32_t                                    groupCountY,+    uint32_t                                    groupCountZ);++VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(+    VkInstance                                  instance,+    uint32_t*                                   pPhysicalDeviceGroupCount,+    VkPhysicalDeviceGroupProperties*            pPhysicalDeviceGroupProperties);++VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(+    VkDevice                                    device,+    const VkImageMemoryRequirementsInfo2*       pInfo,+    VkMemoryRequirements2*                      pMemoryRequirements);++VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(+    VkDevice                                    device,+    const VkBufferMemoryRequirementsInfo2*      pInfo,+    VkMemoryRequirements2*                      pMemoryRequirements);++VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(+    VkDevice                                    device,+    const VkImageSparseMemoryRequirementsInfo2* pInfo,+    uint32_t*                                   pSparseMemoryRequirementCount,+    VkSparseImageMemoryRequirements2*           pSparseMemoryRequirements);++VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(+    VkPhysicalDevice                            physicalDevice,+    VkPhysicalDeviceFeatures2*                  pFeatures);++VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(+    VkPhysicalDevice                            physicalDevice,+    VkPhysicalDeviceProperties2*                pProperties);++VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(+    VkPhysicalDevice                            physicalDevice,+    VkFormat                                    format,+    VkFormatProperties2*                        pFormatProperties);++VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(+    VkPhysicalDevice                            physicalDevice,+    const VkPhysicalDeviceImageFormatInfo2*     pImageFormatInfo,+    VkImageFormatProperties2*                   pImageFormatProperties);++VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(+    VkPhysicalDevice                            physicalDevice,+    uint32_t*                                   pQueueFamilyPropertyCount,+    VkQueueFamilyProperties2*                   pQueueFamilyProperties);++VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(+    VkPhysicalDevice                            physicalDevice,+    VkPhysicalDeviceMemoryProperties2*          pMemoryProperties);++VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(+    VkPhysicalDevice                            physicalDevice,+    const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,+    uint32_t*                                   pPropertyCount,+    VkSparseImageFormatProperties2*             pProperties);++VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(+    VkDevice                                    device,+    VkCommandPool                               commandPool,+    VkCommandPoolTrimFlags                      flags);++VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(+    VkDevice                                    device,+    const VkDeviceQueueInfo2*                   pQueueInfo,+    VkQueue*                                    pQueue);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(+    VkDevice                                    device,+    const VkSamplerYcbcrConversionCreateInfo*   pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkSamplerYcbcrConversion*                   pYcbcrConversion);++VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(+    VkDevice                                    device,+    VkSamplerYcbcrConversion                    ycbcrConversion,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(+    VkDevice                                    device,+    const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkDescriptorUpdateTemplate*                 pDescriptorUpdateTemplate);++VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(+    VkDevice                                    device,+    VkDescriptorUpdateTemplate                  descriptorUpdateTemplate,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(+    VkDevice                                    device,+    VkDescriptorSet                             descriptorSet,+    VkDescriptorUpdateTemplate                  descriptorUpdateTemplate,+    const void*                                 pData);++VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(+    VkPhysicalDevice                            physicalDevice,+    const VkPhysicalDeviceExternalBufferInfo*   pExternalBufferInfo,+    VkExternalBufferProperties*                 pExternalBufferProperties);++VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(+    VkPhysicalDevice                            physicalDevice,+    const VkPhysicalDeviceExternalFenceInfo*    pExternalFenceInfo,+    VkExternalFenceProperties*                  pExternalFenceProperties);++VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(+    VkPhysicalDevice                            physicalDevice,+    const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,+    VkExternalSemaphoreProperties*              pExternalSemaphoreProperties);++VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(+    VkDevice                                    device,+    const VkDescriptorSetLayoutCreateInfo*      pCreateInfo,+    VkDescriptorSetLayoutSupport*               pSupport);+#endif++#define VK_KHR_surface 1+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)++#define VK_KHR_SURFACE_SPEC_VERSION       25+#define VK_KHR_SURFACE_EXTENSION_NAME     "VK_KHR_surface"+#define VK_COLORSPACE_SRGB_NONLINEAR_KHR  VK_COLOR_SPACE_SRGB_NONLINEAR_KHR+++typedef enum VkColorSpaceKHR {+    VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,+    VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,+    VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,+    VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003,+    VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,+    VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,+    VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,+    VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,+    VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,+    VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,+    VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,+    VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,+    VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,+    VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,+    VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,+    VK_COLOR_SPACE_BEGIN_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,+    VK_COLOR_SPACE_END_RANGE_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,+    VK_COLOR_SPACE_RANGE_SIZE_KHR = (VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - VK_COLOR_SPACE_SRGB_NONLINEAR_KHR + 1),+    VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF+} VkColorSpaceKHR;++typedef enum VkPresentModeKHR {+    VK_PRESENT_MODE_IMMEDIATE_KHR = 0,+    VK_PRESENT_MODE_MAILBOX_KHR = 1,+    VK_PRESENT_MODE_FIFO_KHR = 2,+    VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,+    VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,+    VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,+    VK_PRESENT_MODE_BEGIN_RANGE_KHR = VK_PRESENT_MODE_IMMEDIATE_KHR,+    VK_PRESENT_MODE_END_RANGE_KHR = VK_PRESENT_MODE_FIFO_RELAXED_KHR,+    VK_PRESENT_MODE_RANGE_SIZE_KHR = (VK_PRESENT_MODE_FIFO_RELAXED_KHR - VK_PRESENT_MODE_IMMEDIATE_KHR + 1),+    VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF+} VkPresentModeKHR;+++typedef enum VkSurfaceTransformFlagBitsKHR {+    VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,+    VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,+    VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,+    VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,+    VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,+    VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,+    VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,+    VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,+    VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,+    VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF+} VkSurfaceTransformFlagBitsKHR;+typedef VkFlags VkSurfaceTransformFlagsKHR;++typedef enum VkCompositeAlphaFlagBitsKHR {+    VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,+    VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,+    VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,+    VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,+    VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF+} VkCompositeAlphaFlagBitsKHR;+typedef VkFlags VkCompositeAlphaFlagsKHR;++typedef struct VkSurfaceCapabilitiesKHR {+    uint32_t                         minImageCount;+    uint32_t                         maxImageCount;+    VkExtent2D                       currentExtent;+    VkExtent2D                       minImageExtent;+    VkExtent2D                       maxImageExtent;+    uint32_t                         maxImageArrayLayers;+    VkSurfaceTransformFlagsKHR       supportedTransforms;+    VkSurfaceTransformFlagBitsKHR    currentTransform;+    VkCompositeAlphaFlagsKHR         supportedCompositeAlpha;+    VkImageUsageFlags                supportedUsageFlags;+} VkSurfaceCapabilitiesKHR;++typedef struct VkSurfaceFormatKHR {+    VkFormat           format;+    VkColorSpaceKHR    colorSpace;+} VkSurfaceFormatKHR;+++typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);+typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);+typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);+typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(+    VkInstance                                  instance,+    VkSurfaceKHR                                surface,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(+    VkPhysicalDevice                            physicalDevice,+    uint32_t                                    queueFamilyIndex,+    VkSurfaceKHR                                surface,+    VkBool32*                                   pSupported);++VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(+    VkPhysicalDevice                            physicalDevice,+    VkSurfaceKHR                                surface,+    VkSurfaceCapabilitiesKHR*                   pSurfaceCapabilities);++VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(+    VkPhysicalDevice                            physicalDevice,+    VkSurfaceKHR                                surface,+    uint32_t*                                   pSurfaceFormatCount,+    VkSurfaceFormatKHR*                         pSurfaceFormats);++VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(+    VkPhysicalDevice                            physicalDevice,+    VkSurfaceKHR                                surface,+    uint32_t*                                   pPresentModeCount,+    VkPresentModeKHR*                           pPresentModes);+#endif++#define VK_KHR_swapchain 1+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)++#define VK_KHR_SWAPCHAIN_SPEC_VERSION     70+#define VK_KHR_SWAPCHAIN_EXTENSION_NAME   "VK_KHR_swapchain"+++typedef enum VkSwapchainCreateFlagBitsKHR {+    VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,+    VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,+    VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF+} VkSwapchainCreateFlagBitsKHR;+typedef VkFlags VkSwapchainCreateFlagsKHR;++typedef enum VkDeviceGroupPresentModeFlagBitsKHR {+    VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,+    VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,+    VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,+    VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,+    VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF+} VkDeviceGroupPresentModeFlagBitsKHR;+typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;++typedef struct VkSwapchainCreateInfoKHR {+    VkStructureType                  sType;+    const void*                      pNext;+    VkSwapchainCreateFlagsKHR        flags;+    VkSurfaceKHR                     surface;+    uint32_t                         minImageCount;+    VkFormat                         imageFormat;+    VkColorSpaceKHR                  imageColorSpace;+    VkExtent2D                       imageExtent;+    uint32_t                         imageArrayLayers;+    VkImageUsageFlags                imageUsage;+    VkSharingMode                    imageSharingMode;+    uint32_t                         queueFamilyIndexCount;+    const uint32_t*                  pQueueFamilyIndices;+    VkSurfaceTransformFlagBitsKHR    preTransform;+    VkCompositeAlphaFlagBitsKHR      compositeAlpha;+    VkPresentModeKHR                 presentMode;+    VkBool32                         clipped;+    VkSwapchainKHR                   oldSwapchain;+} VkSwapchainCreateInfoKHR;++typedef struct VkPresentInfoKHR {+    VkStructureType          sType;+    const void*              pNext;+    uint32_t                 waitSemaphoreCount;+    const VkSemaphore*       pWaitSemaphores;+    uint32_t                 swapchainCount;+    const VkSwapchainKHR*    pSwapchains;+    const uint32_t*          pImageIndices;+    VkResult*                pResults;+} VkPresentInfoKHR;++typedef struct VkImageSwapchainCreateInfoKHR {+    VkStructureType    sType;+    const void*        pNext;+    VkSwapchainKHR     swapchain;+} VkImageSwapchainCreateInfoKHR;++typedef struct VkBindImageMemorySwapchainInfoKHR {+    VkStructureType    sType;+    const void*        pNext;+    VkSwapchainKHR     swapchain;+    uint32_t           imageIndex;+} VkBindImageMemorySwapchainInfoKHR;++typedef struct VkAcquireNextImageInfoKHR {+    VkStructureType    sType;+    const void*        pNext;+    VkSwapchainKHR     swapchain;+    uint64_t           timeout;+    VkSemaphore        semaphore;+    VkFence            fence;+    uint32_t           deviceMask;+} VkAcquireNextImageInfoKHR;++typedef struct VkDeviceGroupPresentCapabilitiesKHR {+    VkStructureType                     sType;+    const void*                         pNext;+    uint32_t                            presentMask[VK_MAX_DEVICE_GROUP_SIZE];+    VkDeviceGroupPresentModeFlagsKHR    modes;+} VkDeviceGroupPresentCapabilitiesKHR;++typedef struct VkDeviceGroupPresentInfoKHR {+    VkStructureType                        sType;+    const void*                            pNext;+    uint32_t                               swapchainCount;+    const uint32_t*                        pDeviceMasks;+    VkDeviceGroupPresentModeFlagBitsKHR    mode;+} VkDeviceGroupPresentInfoKHR;++typedef struct VkDeviceGroupSwapchainCreateInfoKHR {+    VkStructureType                     sType;+    const void*                         pNext;+    VkDeviceGroupPresentModeFlagsKHR    modes;+} VkDeviceGroupSwapchainCreateInfoKHR;+++typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);+typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages);+typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex);+typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);+typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);+typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);+typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects);+typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(+    VkDevice                                    device,+    const VkSwapchainCreateInfoKHR*             pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkSwapchainKHR*                             pSwapchain);++VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(+    VkDevice                                    device,+    VkSwapchainKHR                              swapchain,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(+    VkDevice                                    device,+    VkSwapchainKHR                              swapchain,+    uint32_t*                                   pSwapchainImageCount,+    VkImage*                                    pSwapchainImages);++VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(+    VkDevice                                    device,+    VkSwapchainKHR                              swapchain,+    uint64_t                                    timeout,+    VkSemaphore                                 semaphore,+    VkFence                                     fence,+    uint32_t*                                   pImageIndex);++VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(+    VkQueue                                     queue,+    const VkPresentInfoKHR*                     pPresentInfo);++VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(+    VkDevice                                    device,+    VkDeviceGroupPresentCapabilitiesKHR*        pDeviceGroupPresentCapabilities);++VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(+    VkDevice                                    device,+    VkSurfaceKHR                                surface,+    VkDeviceGroupPresentModeFlagsKHR*           pModes);++VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(+    VkPhysicalDevice                            physicalDevice,+    VkSurfaceKHR                                surface,+    uint32_t*                                   pRectCount,+    VkRect2D*                                   pRects);++VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(+    VkDevice                                    device,+    const VkAcquireNextImageInfoKHR*            pAcquireInfo,+    uint32_t*                                   pImageIndex);+#endif++#define VK_KHR_display 1+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)++#define VK_KHR_DISPLAY_SPEC_VERSION       21+#define VK_KHR_DISPLAY_EXTENSION_NAME     "VK_KHR_display"+++typedef enum VkDisplayPlaneAlphaFlagBitsKHR {+    VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,+    VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,+    VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,+    VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,+    VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF+} VkDisplayPlaneAlphaFlagBitsKHR;+typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;+typedef VkFlags VkDisplayModeCreateFlagsKHR;+typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;++typedef struct VkDisplayPropertiesKHR {+    VkDisplayKHR                  display;+    const char*                   displayName;+    VkExtent2D                    physicalDimensions;+    VkExtent2D                    physicalResolution;+    VkSurfaceTransformFlagsKHR    supportedTransforms;+    VkBool32                      planeReorderPossible;+    VkBool32                      persistentContent;+} VkDisplayPropertiesKHR;++typedef struct VkDisplayModeParametersKHR {+    VkExtent2D    visibleRegion;+    uint32_t      refreshRate;+} VkDisplayModeParametersKHR;++typedef struct VkDisplayModePropertiesKHR {+    VkDisplayModeKHR              displayMode;+    VkDisplayModeParametersKHR    parameters;+} VkDisplayModePropertiesKHR;++typedef struct VkDisplayModeCreateInfoKHR {+    VkStructureType                sType;+    const void*                    pNext;+    VkDisplayModeCreateFlagsKHR    flags;+    VkDisplayModeParametersKHR     parameters;+} VkDisplayModeCreateInfoKHR;++typedef struct VkDisplayPlaneCapabilitiesKHR {+    VkDisplayPlaneAlphaFlagsKHR    supportedAlpha;+    VkOffset2D                     minSrcPosition;+    VkOffset2D                     maxSrcPosition;+    VkExtent2D                     minSrcExtent;+    VkExtent2D                     maxSrcExtent;+    VkOffset2D                     minDstPosition;+    VkOffset2D                     maxDstPosition;+    VkExtent2D                     minDstExtent;+    VkExtent2D                     maxDstExtent;+} VkDisplayPlaneCapabilitiesKHR;++typedef struct VkDisplayPlanePropertiesKHR {+    VkDisplayKHR    currentDisplay;+    uint32_t        currentStackIndex;+} VkDisplayPlanePropertiesKHR;++typedef struct VkDisplaySurfaceCreateInfoKHR {+    VkStructureType                   sType;+    const void*                       pNext;+    VkDisplaySurfaceCreateFlagsKHR    flags;+    VkDisplayModeKHR                  displayMode;+    uint32_t                          planeIndex;+    uint32_t                          planeStackIndex;+    VkSurfaceTransformFlagBitsKHR     transform;+    float                             globalAlpha;+    VkDisplayPlaneAlphaFlagBitsKHR    alphaMode;+    VkExtent2D                        imageExtent;+} VkDisplaySurfaceCreateInfoKHR;+++typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties);+typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);+typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays);+typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);+typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);+typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);+typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(+    VkPhysicalDevice                            physicalDevice,+    uint32_t*                                   pPropertyCount,+    VkDisplayPropertiesKHR*                     pProperties);++VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(+    VkPhysicalDevice                            physicalDevice,+    uint32_t*                                   pPropertyCount,+    VkDisplayPlanePropertiesKHR*                pProperties);++VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(+    VkPhysicalDevice                            physicalDevice,+    uint32_t                                    planeIndex,+    uint32_t*                                   pDisplayCount,+    VkDisplayKHR*                               pDisplays);++VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(+    VkPhysicalDevice                            physicalDevice,+    VkDisplayKHR                                display,+    uint32_t*                                   pPropertyCount,+    VkDisplayModePropertiesKHR*                 pProperties);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(+    VkPhysicalDevice                            physicalDevice,+    VkDisplayKHR                                display,+    const VkDisplayModeCreateInfoKHR*           pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkDisplayModeKHR*                           pMode);++VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(+    VkPhysicalDevice                            physicalDevice,+    VkDisplayModeKHR                            mode,+    uint32_t                                    planeIndex,+    VkDisplayPlaneCapabilitiesKHR*              pCapabilities);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(+    VkInstance                                  instance,+    const VkDisplaySurfaceCreateInfoKHR*        pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkSurfaceKHR*                               pSurface);+#endif++#define VK_KHR_display_swapchain 1+#define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 9+#define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"++typedef struct VkDisplayPresentInfoKHR {+    VkStructureType    sType;+    const void*        pNext;+    VkRect2D           srcRect;+    VkRect2D           dstRect;+    VkBool32           persistent;+} VkDisplayPresentInfoKHR;+++typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(+    VkDevice                                    device,+    uint32_t                                    swapchainCount,+    const VkSwapchainCreateInfoKHR*             pCreateInfos,+    const VkAllocationCallbacks*                pAllocator,+    VkSwapchainKHR*                             pSwapchains);+#endif++#define VK_KHR_sampler_mirror_clamp_to_edge 1+#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 1+#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"+++#define VK_KHR_multiview 1+#define VK_KHR_MULTIVIEW_SPEC_VERSION     1+#define VK_KHR_MULTIVIEW_EXTENSION_NAME   "VK_KHR_multiview"++typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;++typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;++typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;++++#define VK_KHR_get_physical_device_properties2 1+#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 1+#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"++typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;++typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;++typedef VkFormatProperties2 VkFormatProperties2KHR;++typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;++typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;++typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;++typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;++typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;++typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;+++typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);+typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);+typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);+typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);+typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);+typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);+typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(+    VkPhysicalDevice                            physicalDevice,+    VkPhysicalDeviceFeatures2*                  pFeatures);++VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(+    VkPhysicalDevice                            physicalDevice,+    VkPhysicalDeviceProperties2*                pProperties);++VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(+    VkPhysicalDevice                            physicalDevice,+    VkFormat                                    format,+    VkFormatProperties2*                        pFormatProperties);++VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(+    VkPhysicalDevice                            physicalDevice,+    const VkPhysicalDeviceImageFormatInfo2*     pImageFormatInfo,+    VkImageFormatProperties2*                   pImageFormatProperties);++VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(+    VkPhysicalDevice                            physicalDevice,+    uint32_t*                                   pQueueFamilyPropertyCount,+    VkQueueFamilyProperties2*                   pQueueFamilyProperties);++VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(+    VkPhysicalDevice                            physicalDevice,+    VkPhysicalDeviceMemoryProperties2*          pMemoryProperties);++VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(+    VkPhysicalDevice                            physicalDevice,+    const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,+    uint32_t*                                   pPropertyCount,+    VkSparseImageFormatProperties2*             pProperties);+#endif++#define VK_KHR_device_group 1+#define VK_KHR_DEVICE_GROUP_SPEC_VERSION  3+#define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"++typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;++typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;++typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;++typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;+++typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;++typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;++typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;++typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;++typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;++typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;++typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;+++typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);+typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, uint32_t deviceMask);+typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(+    VkDevice                                    device,+    uint32_t                                    heapIndex,+    uint32_t                                    localDeviceIndex,+    uint32_t                                    remoteDeviceIndex,+    VkPeerMemoryFeatureFlags*                   pPeerMemoryFeatures);++VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(+    VkCommandBuffer                             commandBuffer,+    uint32_t                                    deviceMask);++VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(+    VkCommandBuffer                             commandBuffer,+    uint32_t                                    baseGroupX,+    uint32_t                                    baseGroupY,+    uint32_t                                    baseGroupZ,+    uint32_t                                    groupCountX,+    uint32_t                                    groupCountY,+    uint32_t                                    groupCountZ);+#endif++#define VK_KHR_shader_draw_parameters 1+#define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1+#define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"+++#define VK_KHR_maintenance1 1+#define VK_KHR_MAINTENANCE1_SPEC_VERSION  2+#define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"++typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;+++typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(+    VkDevice                                    device,+    VkCommandPool                               commandPool,+    VkCommandPoolTrimFlags                      flags);+#endif++#define VK_KHR_device_group_creation 1+#define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1+#define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"+#define VK_MAX_DEVICE_GROUP_SIZE_KHR      VK_MAX_DEVICE_GROUP_SIZE++typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;++typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;+++typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(+    VkInstance                                  instance,+    uint32_t*                                   pPhysicalDeviceGroupCount,+    VkPhysicalDeviceGroupProperties*            pPhysicalDeviceGroupProperties);+#endif++#define VK_KHR_external_memory_capabilities 1+#define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1+#define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"+#define VK_LUID_SIZE_KHR                  VK_LUID_SIZE++typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;++typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;++typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;++typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;+++typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;++typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;++typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;++typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;++typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;++typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;+++typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(+    VkPhysicalDevice                            physicalDevice,+    const VkPhysicalDeviceExternalBufferInfo*   pExternalBufferInfo,+    VkExternalBufferProperties*                 pExternalBufferProperties);+#endif++#define VK_KHR_external_memory 1+#define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1+#define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"+#define VK_QUEUE_FAMILY_EXTERNAL_KHR      VK_QUEUE_FAMILY_EXTERNAL++typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;++typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;++typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;++++#define VK_KHR_external_memory_fd 1+#define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1+#define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"++typedef struct VkImportMemoryFdInfoKHR {+    VkStructureType                       sType;+    const void*                           pNext;+    VkExternalMemoryHandleTypeFlagBits    handleType;+    int                                   fd;+} VkImportMemoryFdInfoKHR;++typedef struct VkMemoryFdPropertiesKHR {+    VkStructureType    sType;+    void*              pNext;+    uint32_t           memoryTypeBits;+} VkMemoryFdPropertiesKHR;++typedef struct VkMemoryGetFdInfoKHR {+    VkStructureType                       sType;+    const void*                           pNext;+    VkDeviceMemory                        memory;+    VkExternalMemoryHandleTypeFlagBits    handleType;+} VkMemoryGetFdInfoKHR;+++typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);+typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(+    VkDevice                                    device,+    const VkMemoryGetFdInfoKHR*                 pGetFdInfo,+    int*                                        pFd);++VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(+    VkDevice                                    device,+    VkExternalMemoryHandleTypeFlagBits          handleType,+    int                                         fd,+    VkMemoryFdPropertiesKHR*                    pMemoryFdProperties);+#endif++#define VK_KHR_external_semaphore_capabilities 1+#define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1+#define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"++typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;++typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;++typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;++typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;+++typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;++typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;+++typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(+    VkPhysicalDevice                            physicalDevice,+    const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,+    VkExternalSemaphoreProperties*              pExternalSemaphoreProperties);+#endif++#define VK_KHR_external_semaphore 1+#define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1+#define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"++typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;++typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;+++typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;++++#define VK_KHR_external_semaphore_fd 1+#define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1+#define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"++typedef struct VkImportSemaphoreFdInfoKHR {+    VkStructureType                          sType;+    const void*                              pNext;+    VkSemaphore                              semaphore;+    VkSemaphoreImportFlags                   flags;+    VkExternalSemaphoreHandleTypeFlagBits    handleType;+    int                                      fd;+} VkImportSemaphoreFdInfoKHR;++typedef struct VkSemaphoreGetFdInfoKHR {+    VkStructureType                          sType;+    const void*                              pNext;+    VkSemaphore                              semaphore;+    VkExternalSemaphoreHandleTypeFlagBits    handleType;+} VkSemaphoreGetFdInfoKHR;+++typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);+typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(+    VkDevice                                    device,+    const VkImportSemaphoreFdInfoKHR*           pImportSemaphoreFdInfo);++VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(+    VkDevice                                    device,+    const VkSemaphoreGetFdInfoKHR*              pGetFdInfo,+    int*                                        pFd);+#endif++#define VK_KHR_push_descriptor 1+#define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2+#define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"++typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {+    VkStructureType    sType;+    void*              pNext;+    uint32_t           maxPushDescriptors;+} VkPhysicalDevicePushDescriptorPropertiesKHR;+++typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);+typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(+    VkCommandBuffer                             commandBuffer,+    VkPipelineBindPoint                         pipelineBindPoint,+    VkPipelineLayout                            layout,+    uint32_t                                    set,+    uint32_t                                    descriptorWriteCount,+    const VkWriteDescriptorSet*                 pDescriptorWrites);++VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(+    VkCommandBuffer                             commandBuffer,+    VkDescriptorUpdateTemplate                  descriptorUpdateTemplate,+    VkPipelineLayout                            layout,+    uint32_t                                    set,+    const void*                                 pData);+#endif++#define VK_KHR_16bit_storage 1+#define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1+#define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"++typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;++++#define VK_KHR_incremental_present 1+#define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1+#define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"++typedef struct VkRectLayerKHR {+    VkOffset2D    offset;+    VkExtent2D    extent;+    uint32_t      layer;+} VkRectLayerKHR;++typedef struct VkPresentRegionKHR {+    uint32_t                 rectangleCount;+    const VkRectLayerKHR*    pRectangles;+} VkPresentRegionKHR;++typedef struct VkPresentRegionsKHR {+    VkStructureType              sType;+    const void*                  pNext;+    uint32_t                     swapchainCount;+    const VkPresentRegionKHR*    pRegions;+} VkPresentRegionsKHR;++++#define VK_KHR_descriptor_update_template 1+typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;+++#define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1+#define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"++typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;+++typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;+++typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;++typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;+++typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);+typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);+typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(+    VkDevice                                    device,+    const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkDescriptorUpdateTemplate*                 pDescriptorUpdateTemplate);++VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(+    VkDevice                                    device,+    VkDescriptorUpdateTemplate                  descriptorUpdateTemplate,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(+    VkDevice                                    device,+    VkDescriptorSet                             descriptorSet,+    VkDescriptorUpdateTemplate                  descriptorUpdateTemplate,+    const void*                                 pData);+#endif++#define VK_KHR_shared_presentable_image 1+#define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1+#define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"++typedef struct VkSharedPresentSurfaceCapabilitiesKHR {+    VkStructureType      sType;+    void*                pNext;+    VkImageUsageFlags    sharedPresentSupportedUsageFlags;+} VkSharedPresentSurfaceCapabilitiesKHR;+++typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(+    VkDevice                                    device,+    VkSwapchainKHR                              swapchain);+#endif++#define VK_KHR_external_fence_capabilities 1+#define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1+#define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"++typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;++typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;++typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;++typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;+++typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;++typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;+++typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(+    VkPhysicalDevice                            physicalDevice,+    const VkPhysicalDeviceExternalFenceInfo*    pExternalFenceInfo,+    VkExternalFenceProperties*                  pExternalFenceProperties);+#endif++#define VK_KHR_external_fence 1+#define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1+#define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"++typedef VkFenceImportFlags VkFenceImportFlagsKHR;++typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;+++typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;++++#define VK_KHR_external_fence_fd 1+#define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1+#define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"++typedef struct VkImportFenceFdInfoKHR {+    VkStructureType                      sType;+    const void*                          pNext;+    VkFence                              fence;+    VkFenceImportFlags                   flags;+    VkExternalFenceHandleTypeFlagBits    handleType;+    int                                  fd;+} VkImportFenceFdInfoKHR;++typedef struct VkFenceGetFdInfoKHR {+    VkStructureType                      sType;+    const void*                          pNext;+    VkFence                              fence;+    VkExternalFenceHandleTypeFlagBits    handleType;+} VkFenceGetFdInfoKHR;+++typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);+typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(+    VkDevice                                    device,+    const VkImportFenceFdInfoKHR*               pImportFenceFdInfo);++VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(+    VkDevice                                    device,+    const VkFenceGetFdInfoKHR*                  pGetFdInfo,+    int*                                        pFd);+#endif++#define VK_KHR_maintenance2 1+#define VK_KHR_MAINTENANCE2_SPEC_VERSION  1+#define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"++typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;++typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;+++typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;++typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;++typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;++typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;++typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;++++#define VK_KHR_get_surface_capabilities2 1+#define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1+#define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"++typedef struct VkPhysicalDeviceSurfaceInfo2KHR {+    VkStructureType    sType;+    const void*        pNext;+    VkSurfaceKHR       surface;+} VkPhysicalDeviceSurfaceInfo2KHR;++typedef struct VkSurfaceCapabilities2KHR {+    VkStructureType             sType;+    void*                       pNext;+    VkSurfaceCapabilitiesKHR    surfaceCapabilities;+} VkSurfaceCapabilities2KHR;++typedef struct VkSurfaceFormat2KHR {+    VkStructureType       sType;+    void*                 pNext;+    VkSurfaceFormatKHR    surfaceFormat;+} VkSurfaceFormat2KHR;+++typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);+typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(+    VkPhysicalDevice                            physicalDevice,+    const VkPhysicalDeviceSurfaceInfo2KHR*      pSurfaceInfo,+    VkSurfaceCapabilities2KHR*                  pSurfaceCapabilities);++VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(+    VkPhysicalDevice                            physicalDevice,+    const VkPhysicalDeviceSurfaceInfo2KHR*      pSurfaceInfo,+    uint32_t*                                   pSurfaceFormatCount,+    VkSurfaceFormat2KHR*                        pSurfaceFormats);+#endif++#define VK_KHR_variable_pointers 1+#define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1+#define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"++typedef VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;++++#define VK_KHR_dedicated_allocation 1+#define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3+#define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"++typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;++typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;++++#define VK_KHR_storage_buffer_storage_class 1+#define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1+#define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"+++#define VK_KHR_relaxed_block_layout 1+#define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1+#define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"+++#define VK_KHR_get_memory_requirements2 1+#define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1+#define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"++typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;++typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;++typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;++typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;++typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;+++typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);+typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);+typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(+    VkDevice                                    device,+    const VkImageMemoryRequirementsInfo2*       pInfo,+    VkMemoryRequirements2*                      pMemoryRequirements);++VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(+    VkDevice                                    device,+    const VkBufferMemoryRequirementsInfo2*      pInfo,+    VkMemoryRequirements2*                      pMemoryRequirements);++VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(+    VkDevice                                    device,+    const VkImageSparseMemoryRequirementsInfo2* pInfo,+    uint32_t*                                   pSparseMemoryRequirementCount,+    VkSparseImageMemoryRequirements2*           pSparseMemoryRequirements);+#endif++#define VK_KHR_image_format_list 1+#define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1+#define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"++typedef struct VkImageFormatListCreateInfoKHR {+    VkStructureType    sType;+    const void*        pNext;+    uint32_t           viewFormatCount;+    const VkFormat*    pViewFormats;+} VkImageFormatListCreateInfoKHR;++++#define VK_KHR_sampler_ycbcr_conversion 1+typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;+++#define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 1+#define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"++typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;++typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;++typedef VkChromaLocation VkChromaLocationKHR;+++typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;++typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;++typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;++typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;++typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;++typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;+++typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);+typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(+    VkDevice                                    device,+    const VkSamplerYcbcrConversionCreateInfo*   pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkSamplerYcbcrConversion*                   pYcbcrConversion);++VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(+    VkDevice                                    device,+    VkSamplerYcbcrConversion                    ycbcrConversion,+    const VkAllocationCallbacks*                pAllocator);+#endif++#define VK_KHR_bind_memory2 1+#define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1+#define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"++typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;++typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;+++typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);+typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(+    VkDevice                                    device,+    uint32_t                                    bindInfoCount,+    const VkBindBufferMemoryInfo*               pBindInfos);++VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(+    VkDevice                                    device,+    uint32_t                                    bindInfoCount,+    const VkBindImageMemoryInfo*                pBindInfos);+#endif++#define VK_KHR_maintenance3 1+#define VK_KHR_MAINTENANCE3_SPEC_VERSION  1+#define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"++typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;++typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;+++typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(+    VkDevice                                    device,+    const VkDescriptorSetLayoutCreateInfo*      pCreateInfo,+    VkDescriptorSetLayoutSupport*               pSupport);+#endif++#define VK_EXT_debug_report 1+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)++#define VK_EXT_DEBUG_REPORT_SPEC_VERSION  9+#define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"+#define VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT+#define VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT+++typedef enum VkDebugReportObjectTypeEXT {+    VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,+    VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,+    VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,+    VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,+    VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,+    VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,+    VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,+    VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,+    VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,+    VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,+    VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,+    VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,+    VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,+    VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,+    VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,+    VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,+    VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,+    VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,+    VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,+    VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,+    VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,+    VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,+    VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,+    VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,+    VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,+    VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,+    VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,+    VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,+    VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,+    VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,+    VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,+    VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT = 31,+    VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT = 32,+    VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,+    VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,+    VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,+    VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,+    VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,+    VK_DEBUG_REPORT_OBJECT_TYPE_BEGIN_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,+    VK_DEBUG_REPORT_OBJECT_TYPE_END_RANGE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,+    VK_DEBUG_REPORT_OBJECT_TYPE_RANGE_SIZE_EXT = (VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT - VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT + 1),+    VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF+} VkDebugReportObjectTypeEXT;+++typedef enum VkDebugReportFlagBitsEXT {+    VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,+    VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,+    VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,+    VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,+    VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,+    VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF+} VkDebugReportFlagBitsEXT;+typedef VkFlags VkDebugReportFlagsEXT;++typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(+    VkDebugReportFlagsEXT                       flags,+    VkDebugReportObjectTypeEXT                  objectType,+    uint64_t                                    object,+    size_t                                      location,+    int32_t                                     messageCode,+    const char*                                 pLayerPrefix,+    const char*                                 pMessage,+    void*                                       pUserData);++typedef struct VkDebugReportCallbackCreateInfoEXT {+    VkStructureType                 sType;+    const void*                     pNext;+    VkDebugReportFlagsEXT           flags;+    PFN_vkDebugReportCallbackEXT    pfnCallback;+    void*                           pUserData;+} VkDebugReportCallbackCreateInfoEXT;+++typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);+typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);+typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(+    VkInstance                                  instance,+    const VkDebugReportCallbackCreateInfoEXT*   pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkDebugReportCallbackEXT*                   pCallback);++VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(+    VkInstance                                  instance,+    VkDebugReportCallbackEXT                    callback,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(+    VkInstance                                  instance,+    VkDebugReportFlagsEXT                       flags,+    VkDebugReportObjectTypeEXT                  objectType,+    uint64_t                                    object,+    size_t                                      location,+    int32_t                                     messageCode,+    const char*                                 pLayerPrefix,+    const char*                                 pMessage);+#endif++#define VK_NV_glsl_shader 1+#define VK_NV_GLSL_SHADER_SPEC_VERSION    1+#define VK_NV_GLSL_SHADER_EXTENSION_NAME  "VK_NV_glsl_shader"+++#define VK_EXT_depth_range_unrestricted 1+#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1+#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"+++#define VK_IMG_filter_cubic 1+#define VK_IMG_FILTER_CUBIC_SPEC_VERSION  1+#define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"+++#define VK_AMD_rasterization_order 1+#define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1+#define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"+++typedef enum VkRasterizationOrderAMD {+    VK_RASTERIZATION_ORDER_STRICT_AMD = 0,+    VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,+    VK_RASTERIZATION_ORDER_BEGIN_RANGE_AMD = VK_RASTERIZATION_ORDER_STRICT_AMD,+    VK_RASTERIZATION_ORDER_END_RANGE_AMD = VK_RASTERIZATION_ORDER_RELAXED_AMD,+    VK_RASTERIZATION_ORDER_RANGE_SIZE_AMD = (VK_RASTERIZATION_ORDER_RELAXED_AMD - VK_RASTERIZATION_ORDER_STRICT_AMD + 1),+    VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF+} VkRasterizationOrderAMD;++typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {+    VkStructureType            sType;+    const void*                pNext;+    VkRasterizationOrderAMD    rasterizationOrder;+} VkPipelineRasterizationStateRasterizationOrderAMD;++++#define VK_AMD_shader_trinary_minmax 1+#define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1+#define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"+++#define VK_AMD_shader_explicit_vertex_parameter 1+#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1+#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"+++#define VK_EXT_debug_marker 1+#define VK_EXT_DEBUG_MARKER_SPEC_VERSION  4+#define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"++typedef struct VkDebugMarkerObjectNameInfoEXT {+    VkStructureType               sType;+    const void*                   pNext;+    VkDebugReportObjectTypeEXT    objectType;+    uint64_t                      object;+    const char*                   pObjectName;+} VkDebugMarkerObjectNameInfoEXT;++typedef struct VkDebugMarkerObjectTagInfoEXT {+    VkStructureType               sType;+    const void*                   pNext;+    VkDebugReportObjectTypeEXT    objectType;+    uint64_t                      object;+    uint64_t                      tagName;+    size_t                        tagSize;+    const void*                   pTag;+} VkDebugMarkerObjectTagInfoEXT;++typedef struct VkDebugMarkerMarkerInfoEXT {+    VkStructureType    sType;+    const void*        pNext;+    const char*        pMarkerName;+    float              color[4];+} VkDebugMarkerMarkerInfoEXT;+++typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);+typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);+typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);+typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);+typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(+    VkDevice                                    device,+    const VkDebugMarkerObjectTagInfoEXT*        pTagInfo);++VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(+    VkDevice                                    device,+    const VkDebugMarkerObjectNameInfoEXT*       pNameInfo);++VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(+    VkCommandBuffer                             commandBuffer,+    const VkDebugMarkerMarkerInfoEXT*           pMarkerInfo);++VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(+    VkCommandBuffer                             commandBuffer);++VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(+    VkCommandBuffer                             commandBuffer,+    const VkDebugMarkerMarkerInfoEXT*           pMarkerInfo);+#endif++#define VK_AMD_gcn_shader 1+#define VK_AMD_GCN_SHADER_SPEC_VERSION    1+#define VK_AMD_GCN_SHADER_EXTENSION_NAME  "VK_AMD_gcn_shader"+++#define VK_NV_dedicated_allocation 1+#define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1+#define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"++typedef struct VkDedicatedAllocationImageCreateInfoNV {+    VkStructureType    sType;+    const void*        pNext;+    VkBool32           dedicatedAllocation;+} VkDedicatedAllocationImageCreateInfoNV;++typedef struct VkDedicatedAllocationBufferCreateInfoNV {+    VkStructureType    sType;+    const void*        pNext;+    VkBool32           dedicatedAllocation;+} VkDedicatedAllocationBufferCreateInfoNV;++typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {+    VkStructureType    sType;+    const void*        pNext;+    VkImage            image;+    VkBuffer           buffer;+} VkDedicatedAllocationMemoryAllocateInfoNV;++++#define VK_AMD_draw_indirect_count 1+#define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 1+#define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"++typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);+typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(+    VkCommandBuffer                             commandBuffer,+    VkBuffer                                    buffer,+    VkDeviceSize                                offset,+    VkBuffer                                    countBuffer,+    VkDeviceSize                                countBufferOffset,+    uint32_t                                    maxDrawCount,+    uint32_t                                    stride);++VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(+    VkCommandBuffer                             commandBuffer,+    VkBuffer                                    buffer,+    VkDeviceSize                                offset,+    VkBuffer                                    countBuffer,+    VkDeviceSize                                countBufferOffset,+    uint32_t                                    maxDrawCount,+    uint32_t                                    stride);+#endif++#define VK_AMD_negative_viewport_height 1+#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1+#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"+++#define VK_AMD_gpu_shader_half_float 1+#define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 1+#define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"+++#define VK_AMD_shader_ballot 1+#define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1+#define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"+++#define VK_AMD_texture_gather_bias_lod 1+#define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1+#define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"++typedef struct VkTextureLODGatherFormatPropertiesAMD {+    VkStructureType    sType;+    void*              pNext;+    VkBool32           supportsTextureGatherLODBiasAMD;+} VkTextureLODGatherFormatPropertiesAMD;++++#define VK_AMD_shader_info 1+#define VK_AMD_SHADER_INFO_SPEC_VERSION   1+#define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"+++typedef enum VkShaderInfoTypeAMD {+    VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,+    VK_SHADER_INFO_TYPE_BINARY_AMD = 1,+    VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,+    VK_SHADER_INFO_TYPE_BEGIN_RANGE_AMD = VK_SHADER_INFO_TYPE_STATISTICS_AMD,+    VK_SHADER_INFO_TYPE_END_RANGE_AMD = VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD,+    VK_SHADER_INFO_TYPE_RANGE_SIZE_AMD = (VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD - VK_SHADER_INFO_TYPE_STATISTICS_AMD + 1),+    VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF+} VkShaderInfoTypeAMD;++typedef struct VkShaderResourceUsageAMD {+    uint32_t    numUsedVgprs;+    uint32_t    numUsedSgprs;+    uint32_t    ldsSizePerLocalWorkGroup;+    size_t      ldsUsageSizeInBytes;+    size_t      scratchMemUsageInBytes;+} VkShaderResourceUsageAMD;++typedef struct VkShaderStatisticsInfoAMD {+    VkShaderStageFlags          shaderStageMask;+    VkShaderResourceUsageAMD    resourceUsage;+    uint32_t                    numPhysicalVgprs;+    uint32_t                    numPhysicalSgprs;+    uint32_t                    numAvailableVgprs;+    uint32_t                    numAvailableSgprs;+    uint32_t                    computeWorkGroupSize[3];+} VkShaderStatisticsInfoAMD;+++typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(+    VkDevice                                    device,+    VkPipeline                                  pipeline,+    VkShaderStageFlagBits                       shaderStage,+    VkShaderInfoTypeAMD                         infoType,+    size_t*                                     pInfoSize,+    void*                                       pInfo);+#endif++#define VK_AMD_shader_image_load_store_lod 1+#define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1+#define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"+++#define VK_IMG_format_pvrtc 1+#define VK_IMG_FORMAT_PVRTC_SPEC_VERSION  1+#define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"+++#define VK_NV_external_memory_capabilities 1+#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1+#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"+++typedef enum VkExternalMemoryHandleTypeFlagBitsNV {+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,+    VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF+} VkExternalMemoryHandleTypeFlagBitsNV;+typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;++typedef enum VkExternalMemoryFeatureFlagBitsNV {+    VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,+    VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,+    VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,+    VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF+} VkExternalMemoryFeatureFlagBitsNV;+typedef VkFlags VkExternalMemoryFeatureFlagsNV;++typedef struct VkExternalImageFormatPropertiesNV {+    VkImageFormatProperties              imageFormatProperties;+    VkExternalMemoryFeatureFlagsNV       externalMemoryFeatures;+    VkExternalMemoryHandleTypeFlagsNV    exportFromImportedHandleTypes;+    VkExternalMemoryHandleTypeFlagsNV    compatibleHandleTypes;+} VkExternalImageFormatPropertiesNV;+++typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(+    VkPhysicalDevice                            physicalDevice,+    VkFormat                                    format,+    VkImageType                                 type,+    VkImageTiling                               tiling,+    VkImageUsageFlags                           usage,+    VkImageCreateFlags                          flags,+    VkExternalMemoryHandleTypeFlagsNV           externalHandleType,+    VkExternalImageFormatPropertiesNV*          pExternalImageFormatProperties);+#endif++#define VK_NV_external_memory 1+#define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1+#define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"++typedef struct VkExternalMemoryImageCreateInfoNV {+    VkStructureType                      sType;+    const void*                          pNext;+    VkExternalMemoryHandleTypeFlagsNV    handleTypes;+} VkExternalMemoryImageCreateInfoNV;++typedef struct VkExportMemoryAllocateInfoNV {+    VkStructureType                      sType;+    const void*                          pNext;+    VkExternalMemoryHandleTypeFlagsNV    handleTypes;+} VkExportMemoryAllocateInfoNV;++++#define VK_EXT_validation_flags 1+#define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 1+#define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"+++typedef enum VkValidationCheckEXT {+    VK_VALIDATION_CHECK_ALL_EXT = 0,+    VK_VALIDATION_CHECK_SHADERS_EXT = 1,+    VK_VALIDATION_CHECK_BEGIN_RANGE_EXT = VK_VALIDATION_CHECK_ALL_EXT,+    VK_VALIDATION_CHECK_END_RANGE_EXT = VK_VALIDATION_CHECK_SHADERS_EXT,+    VK_VALIDATION_CHECK_RANGE_SIZE_EXT = (VK_VALIDATION_CHECK_SHADERS_EXT - VK_VALIDATION_CHECK_ALL_EXT + 1),+    VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF+} VkValidationCheckEXT;++typedef struct VkValidationFlagsEXT {+    VkStructureType          sType;+    const void*              pNext;+    uint32_t                 disabledValidationCheckCount;+    VkValidationCheckEXT*    pDisabledValidationChecks;+} VkValidationFlagsEXT;++++#define VK_EXT_shader_subgroup_ballot 1+#define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1+#define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"+++#define VK_EXT_shader_subgroup_vote 1+#define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1+#define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"+++#define VK_NVX_device_generated_commands 1+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkObjectTableNVX)+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNVX)++#define VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3+#define VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NVX_device_generated_commands"+++typedef enum VkIndirectCommandsTokenTypeNVX {+    VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX = 0,+    VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX = 1,+    VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX = 2,+    VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX = 3,+    VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX = 4,+    VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX = 5,+    VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX = 6,+    VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX = 7,+    VK_INDIRECT_COMMANDS_TOKEN_TYPE_BEGIN_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX,+    VK_INDIRECT_COMMANDS_TOKEN_TYPE_END_RANGE_NVX = VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX,+    VK_INDIRECT_COMMANDS_TOKEN_TYPE_RANGE_SIZE_NVX = (VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX - VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX + 1),+    VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF+} VkIndirectCommandsTokenTypeNVX;++typedef enum VkObjectEntryTypeNVX {+    VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX = 0,+    VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX = 1,+    VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX = 2,+    VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX = 3,+    VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX = 4,+    VK_OBJECT_ENTRY_TYPE_BEGIN_RANGE_NVX = VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX,+    VK_OBJECT_ENTRY_TYPE_END_RANGE_NVX = VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX,+    VK_OBJECT_ENTRY_TYPE_RANGE_SIZE_NVX = (VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX - VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX + 1),+    VK_OBJECT_ENTRY_TYPE_MAX_ENUM_NVX = 0x7FFFFFFF+} VkObjectEntryTypeNVX;+++typedef enum VkIndirectCommandsLayoutUsageFlagBitsNVX {+    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX = 0x00000001,+    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX = 0x00000002,+    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX = 0x00000004,+    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX = 0x00000008,+    VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF+} VkIndirectCommandsLayoutUsageFlagBitsNVX;+typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNVX;++typedef enum VkObjectEntryUsageFlagBitsNVX {+    VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX = 0x00000001,+    VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX = 0x00000002,+    VK_OBJECT_ENTRY_USAGE_FLAG_BITS_MAX_ENUM_NVX = 0x7FFFFFFF+} VkObjectEntryUsageFlagBitsNVX;+typedef VkFlags VkObjectEntryUsageFlagsNVX;++typedef struct VkDeviceGeneratedCommandsFeaturesNVX {+    VkStructureType    sType;+    const void*        pNext;+    VkBool32           computeBindingPointSupport;+} VkDeviceGeneratedCommandsFeaturesNVX;++typedef struct VkDeviceGeneratedCommandsLimitsNVX {+    VkStructureType    sType;+    const void*        pNext;+    uint32_t           maxIndirectCommandsLayoutTokenCount;+    uint32_t           maxObjectEntryCounts;+    uint32_t           minSequenceCountBufferOffsetAlignment;+    uint32_t           minSequenceIndexBufferOffsetAlignment;+    uint32_t           minCommandsTokenBufferOffsetAlignment;+} VkDeviceGeneratedCommandsLimitsNVX;++typedef struct VkIndirectCommandsTokenNVX {+    VkIndirectCommandsTokenTypeNVX    tokenType;+    VkBuffer                          buffer;+    VkDeviceSize                      offset;+} VkIndirectCommandsTokenNVX;++typedef struct VkIndirectCommandsLayoutTokenNVX {+    VkIndirectCommandsTokenTypeNVX    tokenType;+    uint32_t                          bindingUnit;+    uint32_t                          dynamicCount;+    uint32_t                          divisor;+} VkIndirectCommandsLayoutTokenNVX;++typedef struct VkIndirectCommandsLayoutCreateInfoNVX {+    VkStructureType                            sType;+    const void*                                pNext;+    VkPipelineBindPoint                        pipelineBindPoint;+    VkIndirectCommandsLayoutUsageFlagsNVX      flags;+    uint32_t                                   tokenCount;+    const VkIndirectCommandsLayoutTokenNVX*    pTokens;+} VkIndirectCommandsLayoutCreateInfoNVX;++typedef struct VkCmdProcessCommandsInfoNVX {+    VkStructureType                      sType;+    const void*                          pNext;+    VkObjectTableNVX                     objectTable;+    VkIndirectCommandsLayoutNVX          indirectCommandsLayout;+    uint32_t                             indirectCommandsTokenCount;+    const VkIndirectCommandsTokenNVX*    pIndirectCommandsTokens;+    uint32_t                             maxSequencesCount;+    VkCommandBuffer                      targetCommandBuffer;+    VkBuffer                             sequencesCountBuffer;+    VkDeviceSize                         sequencesCountOffset;+    VkBuffer                             sequencesIndexBuffer;+    VkDeviceSize                         sequencesIndexOffset;+} VkCmdProcessCommandsInfoNVX;++typedef struct VkCmdReserveSpaceForCommandsInfoNVX {+    VkStructureType                sType;+    const void*                    pNext;+    VkObjectTableNVX               objectTable;+    VkIndirectCommandsLayoutNVX    indirectCommandsLayout;+    uint32_t                       maxSequencesCount;+} VkCmdReserveSpaceForCommandsInfoNVX;++typedef struct VkObjectTableCreateInfoNVX {+    VkStructureType                      sType;+    const void*                          pNext;+    uint32_t                             objectCount;+    const VkObjectEntryTypeNVX*          pObjectEntryTypes;+    const uint32_t*                      pObjectEntryCounts;+    const VkObjectEntryUsageFlagsNVX*    pObjectEntryUsageFlags;+    uint32_t                             maxUniformBuffersPerDescriptor;+    uint32_t                             maxStorageBuffersPerDescriptor;+    uint32_t                             maxStorageImagesPerDescriptor;+    uint32_t                             maxSampledImagesPerDescriptor;+    uint32_t                             maxPipelineLayouts;+} VkObjectTableCreateInfoNVX;++typedef struct VkObjectTableEntryNVX {+    VkObjectEntryTypeNVX          type;+    VkObjectEntryUsageFlagsNVX    flags;+} VkObjectTableEntryNVX;++typedef struct VkObjectTablePipelineEntryNVX {+    VkObjectEntryTypeNVX          type;+    VkObjectEntryUsageFlagsNVX    flags;+    VkPipeline                    pipeline;+} VkObjectTablePipelineEntryNVX;++typedef struct VkObjectTableDescriptorSetEntryNVX {+    VkObjectEntryTypeNVX          type;+    VkObjectEntryUsageFlagsNVX    flags;+    VkPipelineLayout              pipelineLayout;+    VkDescriptorSet               descriptorSet;+} VkObjectTableDescriptorSetEntryNVX;++typedef struct VkObjectTableVertexBufferEntryNVX {+    VkObjectEntryTypeNVX          type;+    VkObjectEntryUsageFlagsNVX    flags;+    VkBuffer                      buffer;+} VkObjectTableVertexBufferEntryNVX;++typedef struct VkObjectTableIndexBufferEntryNVX {+    VkObjectEntryTypeNVX          type;+    VkObjectEntryUsageFlagsNVX    flags;+    VkBuffer                      buffer;+    VkIndexType                   indexType;+} VkObjectTableIndexBufferEntryNVX;++typedef struct VkObjectTablePushConstantEntryNVX {+    VkObjectEntryTypeNVX          type;+    VkObjectEntryUsageFlagsNVX    flags;+    VkPipelineLayout              pipelineLayout;+    VkShaderStageFlags            stageFlags;+} VkObjectTablePushConstantEntryNVX;+++typedef void (VKAPI_PTR *PFN_vkCmdProcessCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo);+typedef void (VKAPI_PTR *PFN_vkCmdReserveSpaceForCommandsNVX)(VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo);+typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNVX)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout);+typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNVX)(VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkCreateObjectTableNVX)(VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable);+typedef void (VKAPI_PTR *PFN_vkDestroyObjectTableNVX)(VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkRegisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectTableEntryNVX* const*    ppObjectTableEntries, const uint32_t* pObjectIndices);+typedef VkResult (VKAPI_PTR *PFN_vkUnregisterObjectsNVX)(VkDevice device, VkObjectTableNVX objectTable, uint32_t objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const uint32_t* pObjectIndices);+typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX)(VkPhysicalDevice physicalDevice, VkDeviceGeneratedCommandsFeaturesNVX* pFeatures, VkDeviceGeneratedCommandsLimitsNVX* pLimits);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR void VKAPI_CALL vkCmdProcessCommandsNVX(+    VkCommandBuffer                             commandBuffer,+    const VkCmdProcessCommandsInfoNVX*          pProcessCommandsInfo);++VKAPI_ATTR void VKAPI_CALL vkCmdReserveSpaceForCommandsNVX(+    VkCommandBuffer                             commandBuffer,+    const VkCmdReserveSpaceForCommandsInfoNVX*  pReserveSpaceInfo);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNVX(+    VkDevice                                    device,+    const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkIndirectCommandsLayoutNVX*                pIndirectCommandsLayout);++VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNVX(+    VkDevice                                    device,+    VkIndirectCommandsLayoutNVX                 indirectCommandsLayout,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateObjectTableNVX(+    VkDevice                                    device,+    const VkObjectTableCreateInfoNVX*           pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkObjectTableNVX*                           pObjectTable);++VKAPI_ATTR void VKAPI_CALL vkDestroyObjectTableNVX(+    VkDevice                                    device,+    VkObjectTableNVX                            objectTable,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkRegisterObjectsNVX(+    VkDevice                                    device,+    VkObjectTableNVX                            objectTable,+    uint32_t                                    objectCount,+    const VkObjectTableEntryNVX* const*         ppObjectTableEntries,+    const uint32_t*                             pObjectIndices);++VKAPI_ATTR VkResult VKAPI_CALL vkUnregisterObjectsNVX(+    VkDevice                                    device,+    VkObjectTableNVX                            objectTable,+    uint32_t                                    objectCount,+    const VkObjectEntryTypeNVX*                 pObjectEntryTypes,+    const uint32_t*                             pObjectIndices);++VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX(+    VkPhysicalDevice                            physicalDevice,+    VkDeviceGeneratedCommandsFeaturesNVX*       pFeatures,+    VkDeviceGeneratedCommandsLimitsNVX*         pLimits);+#endif++#define VK_NV_clip_space_w_scaling 1+#define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1+#define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"++typedef struct VkViewportWScalingNV {+    float    xcoeff;+    float    ycoeff;+} VkViewportWScalingNV;++typedef struct VkPipelineViewportWScalingStateCreateInfoNV {+    VkStructureType                sType;+    const void*                    pNext;+    VkBool32                       viewportWScalingEnable;+    uint32_t                       viewportCount;+    const VkViewportWScalingNV*    pViewportWScalings;+} VkPipelineViewportWScalingStateCreateInfoNV;+++typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(+    VkCommandBuffer                             commandBuffer,+    uint32_t                                    firstViewport,+    uint32_t                                    viewportCount,+    const VkViewportWScalingNV*                 pViewportWScalings);+#endif++#define VK_EXT_direct_mode_display 1+#define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1+#define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"++typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(+    VkPhysicalDevice                            physicalDevice,+    VkDisplayKHR                                display);+#endif++#define VK_EXT_display_surface_counter 1+#define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1+#define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"+#define VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT+++typedef enum VkSurfaceCounterFlagBitsEXT {+    VK_SURFACE_COUNTER_VBLANK_EXT = 0x00000001,+    VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF+} VkSurfaceCounterFlagBitsEXT;+typedef VkFlags VkSurfaceCounterFlagsEXT;++typedef struct VkSurfaceCapabilities2EXT {+    VkStructureType                  sType;+    void*                            pNext;+    uint32_t                         minImageCount;+    uint32_t                         maxImageCount;+    VkExtent2D                       currentExtent;+    VkExtent2D                       minImageExtent;+    VkExtent2D                       maxImageExtent;+    uint32_t                         maxImageArrayLayers;+    VkSurfaceTransformFlagsKHR       supportedTransforms;+    VkSurfaceTransformFlagBitsKHR    currentTransform;+    VkCompositeAlphaFlagsKHR         supportedCompositeAlpha;+    VkImageUsageFlags                supportedUsageFlags;+    VkSurfaceCounterFlagsEXT         supportedSurfaceCounters;+} VkSurfaceCapabilities2EXT;+++typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(+    VkPhysicalDevice                            physicalDevice,+    VkSurfaceKHR                                surface,+    VkSurfaceCapabilities2EXT*                  pSurfaceCapabilities);+#endif++#define VK_EXT_display_control 1+#define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1+#define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"+++typedef enum VkDisplayPowerStateEXT {+    VK_DISPLAY_POWER_STATE_OFF_EXT = 0,+    VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,+    VK_DISPLAY_POWER_STATE_ON_EXT = 2,+    VK_DISPLAY_POWER_STATE_BEGIN_RANGE_EXT = VK_DISPLAY_POWER_STATE_OFF_EXT,+    VK_DISPLAY_POWER_STATE_END_RANGE_EXT = VK_DISPLAY_POWER_STATE_ON_EXT,+    VK_DISPLAY_POWER_STATE_RANGE_SIZE_EXT = (VK_DISPLAY_POWER_STATE_ON_EXT - VK_DISPLAY_POWER_STATE_OFF_EXT + 1),+    VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF+} VkDisplayPowerStateEXT;++typedef enum VkDeviceEventTypeEXT {+    VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,+    VK_DEVICE_EVENT_TYPE_BEGIN_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT,+    VK_DEVICE_EVENT_TYPE_END_RANGE_EXT = VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT,+    VK_DEVICE_EVENT_TYPE_RANGE_SIZE_EXT = (VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT - VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT + 1),+    VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF+} VkDeviceEventTypeEXT;++typedef enum VkDisplayEventTypeEXT {+    VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,+    VK_DISPLAY_EVENT_TYPE_BEGIN_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT,+    VK_DISPLAY_EVENT_TYPE_END_RANGE_EXT = VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT,+    VK_DISPLAY_EVENT_TYPE_RANGE_SIZE_EXT = (VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT - VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT + 1),+    VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF+} VkDisplayEventTypeEXT;++typedef struct VkDisplayPowerInfoEXT {+    VkStructureType           sType;+    const void*               pNext;+    VkDisplayPowerStateEXT    powerState;+} VkDisplayPowerInfoEXT;++typedef struct VkDeviceEventInfoEXT {+    VkStructureType         sType;+    const void*             pNext;+    VkDeviceEventTypeEXT    deviceEvent;+} VkDeviceEventInfoEXT;++typedef struct VkDisplayEventInfoEXT {+    VkStructureType          sType;+    const void*              pNext;+    VkDisplayEventTypeEXT    displayEvent;+} VkDisplayEventInfoEXT;++typedef struct VkSwapchainCounterCreateInfoEXT {+    VkStructureType             sType;+    const void*                 pNext;+    VkSurfaceCounterFlagsEXT    surfaceCounters;+} VkSwapchainCounterCreateInfoEXT;+++typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);+typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);+typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);+typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(+    VkDevice                                    device,+    VkDisplayKHR                                display,+    const VkDisplayPowerInfoEXT*                pDisplayPowerInfo);++VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(+    VkDevice                                    device,+    const VkDeviceEventInfoEXT*                 pDeviceEventInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkFence*                                    pFence);++VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(+    VkDevice                                    device,+    VkDisplayKHR                                display,+    const VkDisplayEventInfoEXT*                pDisplayEventInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkFence*                                    pFence);++VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(+    VkDevice                                    device,+    VkSwapchainKHR                              swapchain,+    VkSurfaceCounterFlagBitsEXT                 counter,+    uint64_t*                                   pCounterValue);+#endif++#define VK_GOOGLE_display_timing 1+#define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1+#define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"++typedef struct VkRefreshCycleDurationGOOGLE {+    uint64_t    refreshDuration;+} VkRefreshCycleDurationGOOGLE;++typedef struct VkPastPresentationTimingGOOGLE {+    uint32_t    presentID;+    uint64_t    desiredPresentTime;+    uint64_t    actualPresentTime;+    uint64_t    earliestPresentTime;+    uint64_t    presentMargin;+} VkPastPresentationTimingGOOGLE;++typedef struct VkPresentTimeGOOGLE {+    uint32_t    presentID;+    uint64_t    desiredPresentTime;+} VkPresentTimeGOOGLE;++typedef struct VkPresentTimesInfoGOOGLE {+    VkStructureType               sType;+    const void*                   pNext;+    uint32_t                      swapchainCount;+    const VkPresentTimeGOOGLE*    pTimes;+} VkPresentTimesInfoGOOGLE;+++typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);+typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(+    VkDevice                                    device,+    VkSwapchainKHR                              swapchain,+    VkRefreshCycleDurationGOOGLE*               pDisplayTimingProperties);++VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(+    VkDevice                                    device,+    VkSwapchainKHR                              swapchain,+    uint32_t*                                   pPresentationTimingCount,+    VkPastPresentationTimingGOOGLE*             pPresentationTimings);+#endif++#define VK_NV_sample_mask_override_coverage 1+#define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1+#define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"+++#define VK_NV_geometry_shader_passthrough 1+#define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1+#define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"+++#define VK_NV_viewport_array2 1+#define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1+#define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"+++#define VK_NVX_multiview_per_view_attributes 1+#define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1+#define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"++typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {+    VkStructureType    sType;+    void*              pNext;+    VkBool32           perViewPositionAllComponents;+} VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;++++#define VK_NV_viewport_swizzle 1+#define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1+#define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"+++typedef enum VkViewportCoordinateSwizzleNV {+    VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,+    VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,+    VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,+    VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,+    VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,+    VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,+    VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,+    VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,+    VK_VIEWPORT_COORDINATE_SWIZZLE_BEGIN_RANGE_NV = VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV,+    VK_VIEWPORT_COORDINATE_SWIZZLE_END_RANGE_NV = VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV,+    VK_VIEWPORT_COORDINATE_SWIZZLE_RANGE_SIZE_NV = (VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV - VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV + 1),+    VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF+} VkViewportCoordinateSwizzleNV;++typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;++typedef struct VkViewportSwizzleNV {+    VkViewportCoordinateSwizzleNV    x;+    VkViewportCoordinateSwizzleNV    y;+    VkViewportCoordinateSwizzleNV    z;+    VkViewportCoordinateSwizzleNV    w;+} VkViewportSwizzleNV;++typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {+    VkStructureType                                sType;+    const void*                                    pNext;+    VkPipelineViewportSwizzleStateCreateFlagsNV    flags;+    uint32_t                                       viewportCount;+    const VkViewportSwizzleNV*                     pViewportSwizzles;+} VkPipelineViewportSwizzleStateCreateInfoNV;++++#define VK_EXT_discard_rectangles 1+#define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1+#define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"+++typedef enum VkDiscardRectangleModeEXT {+    VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,+    VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,+    VK_DISCARD_RECTANGLE_MODE_BEGIN_RANGE_EXT = VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT,+    VK_DISCARD_RECTANGLE_MODE_END_RANGE_EXT = VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT,+    VK_DISCARD_RECTANGLE_MODE_RANGE_SIZE_EXT = (VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT - VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT + 1),+    VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF+} VkDiscardRectangleModeEXT;++typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;++typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {+    VkStructureType    sType;+    void*              pNext;+    uint32_t           maxDiscardRectangles;+} VkPhysicalDeviceDiscardRectanglePropertiesEXT;++typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {+    VkStructureType                                  sType;+    const void*                                      pNext;+    VkPipelineDiscardRectangleStateCreateFlagsEXT    flags;+    VkDiscardRectangleModeEXT                        discardRectangleMode;+    uint32_t                                         discardRectangleCount;+    const VkRect2D*                                  pDiscardRectangles;+} VkPipelineDiscardRectangleStateCreateInfoEXT;+++typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(+    VkCommandBuffer                             commandBuffer,+    uint32_t                                    firstDiscardRectangle,+    uint32_t                                    discardRectangleCount,+    const VkRect2D*                             pDiscardRectangles);+#endif++#define VK_EXT_conservative_rasterization 1+#define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1+#define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"+++typedef enum VkConservativeRasterizationModeEXT {+    VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,+    VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,+    VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,+    VK_CONSERVATIVE_RASTERIZATION_MODE_BEGIN_RANGE_EXT = VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT,+    VK_CONSERVATIVE_RASTERIZATION_MODE_END_RANGE_EXT = VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT,+    VK_CONSERVATIVE_RASTERIZATION_MODE_RANGE_SIZE_EXT = (VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT - VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT + 1),+    VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF+} VkConservativeRasterizationModeEXT;++typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;++typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {+    VkStructureType    sType;+    void*              pNext;+    float              primitiveOverestimationSize;+    float              maxExtraPrimitiveOverestimationSize;+    float              extraPrimitiveOverestimationSizeGranularity;+    VkBool32           primitiveUnderestimation;+    VkBool32           conservativePointAndLineRasterization;+    VkBool32           degenerateTrianglesRasterized;+    VkBool32           degenerateLinesRasterized;+    VkBool32           fullyCoveredFragmentShaderInputVariable;+    VkBool32           conservativeRasterizationPostDepthCoverage;+} VkPhysicalDeviceConservativeRasterizationPropertiesEXT;++typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {+    VkStructureType                                           sType;+    const void*                                               pNext;+    VkPipelineRasterizationConservativeStateCreateFlagsEXT    flags;+    VkConservativeRasterizationModeEXT                        conservativeRasterizationMode;+    float                                                     extraPrimitiveOverestimationSize;+} VkPipelineRasterizationConservativeStateCreateInfoEXT;++++#define VK_EXT_swapchain_colorspace 1+#define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 3+#define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"+++#define VK_EXT_hdr_metadata 1+#define VK_EXT_HDR_METADATA_SPEC_VERSION  1+#define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"++typedef struct VkXYColorEXT {+    float    x;+    float    y;+} VkXYColorEXT;++typedef struct VkHdrMetadataEXT {+    VkStructureType    sType;+    const void*        pNext;+    VkXYColorEXT       displayPrimaryRed;+    VkXYColorEXT       displayPrimaryGreen;+    VkXYColorEXT       displayPrimaryBlue;+    VkXYColorEXT       whitePoint;+    float              maxLuminance;+    float              minLuminance;+    float              maxContentLightLevel;+    float              maxFrameAverageLightLevel;+} VkHdrMetadataEXT;+++typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(+    VkDevice                                    device,+    uint32_t                                    swapchainCount,+    const VkSwapchainKHR*                       pSwapchains,+    const VkHdrMetadataEXT*                     pMetadata);+#endif++#define VK_EXT_external_memory_dma_buf 1+#define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1+#define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"+++#define VK_EXT_queue_family_foreign 1+#define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1+#define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"+#define VK_QUEUE_FAMILY_FOREIGN_EXT       (~0U-2)+++#define VK_EXT_debug_utils 1+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)++#define VK_EXT_DEBUG_UTILS_SPEC_VERSION   1+#define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"++typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;+typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;++typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {+    VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,+    VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,+    VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,+    VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,+    VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF+} VkDebugUtilsMessageSeverityFlagBitsEXT;+typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;++typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {+    VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,+    VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,+    VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,+    VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF+} VkDebugUtilsMessageTypeFlagBitsEXT;+typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;++typedef struct VkDebugUtilsObjectNameInfoEXT {+    VkStructureType    sType;+    const void*        pNext;+    VkObjectType       objectType;+    uint64_t           objectHandle;+    const char*        pObjectName;+} VkDebugUtilsObjectNameInfoEXT;++typedef struct VkDebugUtilsObjectTagInfoEXT {+    VkStructureType    sType;+    const void*        pNext;+    VkObjectType       objectType;+    uint64_t           objectHandle;+    uint64_t           tagName;+    size_t             tagSize;+    const void*        pTag;+} VkDebugUtilsObjectTagInfoEXT;++typedef struct VkDebugUtilsLabelEXT {+    VkStructureType    sType;+    const void*        pNext;+    const char*        pLabelName;+    float              color[4];+} VkDebugUtilsLabelEXT;++typedef struct VkDebugUtilsMessengerCallbackDataEXT {+    VkStructureType                              sType;+    const void*                                  pNext;+    VkDebugUtilsMessengerCallbackDataFlagsEXT    flags;+    const char*                                  pMessageIdName;+    int32_t                                      messageIdNumber;+    const char*                                  pMessage;+    uint32_t                                     queueLabelCount;+    VkDebugUtilsLabelEXT*                        pQueueLabels;+    uint32_t                                     cmdBufLabelCount;+    VkDebugUtilsLabelEXT*                        pCmdBufLabels;+    uint32_t                                     objectCount;+    VkDebugUtilsObjectNameInfoEXT*               pObjects;+} VkDebugUtilsMessengerCallbackDataEXT;++typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(+    VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,+    VkDebugUtilsMessageTypeFlagsEXT                  messageType,+    const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,+    void*                                            pUserData);++typedef struct VkDebugUtilsMessengerCreateInfoEXT {+    VkStructureType                         sType;+    const void*                             pNext;+    VkDebugUtilsMessengerCreateFlagsEXT     flags;+    VkDebugUtilsMessageSeverityFlagsEXT     messageSeverity;+    VkDebugUtilsMessageTypeFlagsEXT         messageType;+    PFN_vkDebugUtilsMessengerCallbackEXT    pfnUserCallback;+    void*                                   pUserData;+} VkDebugUtilsMessengerCreateInfoEXT;+++typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);+typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);+typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);+typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);+typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);+typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);+typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);+typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);+typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);+typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);+typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(+    VkDevice                                    device,+    const VkDebugUtilsObjectNameInfoEXT*        pNameInfo);++VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(+    VkDevice                                    device,+    const VkDebugUtilsObjectTagInfoEXT*         pTagInfo);++VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(+    VkQueue                                     queue,+    const VkDebugUtilsLabelEXT*                 pLabelInfo);++VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(+    VkQueue                                     queue);++VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(+    VkQueue                                     queue,+    const VkDebugUtilsLabelEXT*                 pLabelInfo);++VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(+    VkCommandBuffer                             commandBuffer,+    const VkDebugUtilsLabelEXT*                 pLabelInfo);++VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(+    VkCommandBuffer                             commandBuffer);++VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(+    VkCommandBuffer                             commandBuffer,+    const VkDebugUtilsLabelEXT*                 pLabelInfo);++VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(+    VkInstance                                  instance,+    const VkDebugUtilsMessengerCreateInfoEXT*   pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkDebugUtilsMessengerEXT*                   pMessenger);++VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(+    VkInstance                                  instance,+    VkDebugUtilsMessengerEXT                    messenger,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(+    VkInstance                                  instance,+    VkDebugUtilsMessageSeverityFlagBitsEXT      messageSeverity,+    VkDebugUtilsMessageTypeFlagsEXT             messageTypes,+    const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);+#endif++#define VK_EXT_sampler_filter_minmax 1+#define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 1+#define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"+++typedef enum VkSamplerReductionModeEXT {+    VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = 0,+    VK_SAMPLER_REDUCTION_MODE_MIN_EXT = 1,+    VK_SAMPLER_REDUCTION_MODE_MAX_EXT = 2,+    VK_SAMPLER_REDUCTION_MODE_BEGIN_RANGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT,+    VK_SAMPLER_REDUCTION_MODE_END_RANGE_EXT = VK_SAMPLER_REDUCTION_MODE_MAX_EXT,+    VK_SAMPLER_REDUCTION_MODE_RANGE_SIZE_EXT = (VK_SAMPLER_REDUCTION_MODE_MAX_EXT - VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT + 1),+    VK_SAMPLER_REDUCTION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF+} VkSamplerReductionModeEXT;++typedef struct VkSamplerReductionModeCreateInfoEXT {+    VkStructureType              sType;+    const void*                  pNext;+    VkSamplerReductionModeEXT    reductionMode;+} VkSamplerReductionModeCreateInfoEXT;++typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {+    VkStructureType    sType;+    void*              pNext;+    VkBool32           filterMinmaxSingleComponentFormats;+    VkBool32           filterMinmaxImageComponentMapping;+} VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;++++#define VK_AMD_gpu_shader_int16 1+#define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 1+#define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"+++#define VK_AMD_mixed_attachment_samples 1+#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1+#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"+++#define VK_AMD_shader_fragment_mask 1+#define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1+#define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"+++#define VK_EXT_shader_stencil_export 1+#define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1+#define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"+++#define VK_EXT_sample_locations 1+#define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1+#define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"++typedef struct VkSampleLocationEXT {+    float    x;+    float    y;+} VkSampleLocationEXT;++typedef struct VkSampleLocationsInfoEXT {+    VkStructureType               sType;+    const void*                   pNext;+    VkSampleCountFlagBits         sampleLocationsPerPixel;+    VkExtent2D                    sampleLocationGridSize;+    uint32_t                      sampleLocationsCount;+    const VkSampleLocationEXT*    pSampleLocations;+} VkSampleLocationsInfoEXT;++typedef struct VkAttachmentSampleLocationsEXT {+    uint32_t                    attachmentIndex;+    VkSampleLocationsInfoEXT    sampleLocationsInfo;+} VkAttachmentSampleLocationsEXT;++typedef struct VkSubpassSampleLocationsEXT {+    uint32_t                    subpassIndex;+    VkSampleLocationsInfoEXT    sampleLocationsInfo;+} VkSubpassSampleLocationsEXT;++typedef struct VkRenderPassSampleLocationsBeginInfoEXT {+    VkStructureType                          sType;+    const void*                              pNext;+    uint32_t                                 attachmentInitialSampleLocationsCount;+    const VkAttachmentSampleLocationsEXT*    pAttachmentInitialSampleLocations;+    uint32_t                                 postSubpassSampleLocationsCount;+    const VkSubpassSampleLocationsEXT*       pPostSubpassSampleLocations;+} VkRenderPassSampleLocationsBeginInfoEXT;++typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {+    VkStructureType             sType;+    const void*                 pNext;+    VkBool32                    sampleLocationsEnable;+    VkSampleLocationsInfoEXT    sampleLocationsInfo;+} VkPipelineSampleLocationsStateCreateInfoEXT;++typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {+    VkStructureType       sType;+    void*                 pNext;+    VkSampleCountFlags    sampleLocationSampleCounts;+    VkExtent2D            maxSampleLocationGridSize;+    float                 sampleLocationCoordinateRange[2];+    uint32_t              sampleLocationSubPixelBits;+    VkBool32              variableSampleLocations;+} VkPhysicalDeviceSampleLocationsPropertiesEXT;++typedef struct VkMultisamplePropertiesEXT {+    VkStructureType    sType;+    void*              pNext;+    VkExtent2D         maxSampleLocationGridSize;+} VkMultisamplePropertiesEXT;+++typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);+typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(+    VkCommandBuffer                             commandBuffer,+    const VkSampleLocationsInfoEXT*             pSampleLocationsInfo);++VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(+    VkPhysicalDevice                            physicalDevice,+    VkSampleCountFlagBits                       samples,+    VkMultisamplePropertiesEXT*                 pMultisampleProperties);+#endif++#define VK_EXT_blend_operation_advanced 1+#define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2+#define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"+++typedef enum VkBlendOverlapEXT {+    VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,+    VK_BLEND_OVERLAP_DISJOINT_EXT = 1,+    VK_BLEND_OVERLAP_CONJOINT_EXT = 2,+    VK_BLEND_OVERLAP_BEGIN_RANGE_EXT = VK_BLEND_OVERLAP_UNCORRELATED_EXT,+    VK_BLEND_OVERLAP_END_RANGE_EXT = VK_BLEND_OVERLAP_CONJOINT_EXT,+    VK_BLEND_OVERLAP_RANGE_SIZE_EXT = (VK_BLEND_OVERLAP_CONJOINT_EXT - VK_BLEND_OVERLAP_UNCORRELATED_EXT + 1),+    VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF+} VkBlendOverlapEXT;++typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {+    VkStructureType    sType;+    void*              pNext;+    VkBool32           advancedBlendCoherentOperations;+} VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;++typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {+    VkStructureType    sType;+    void*              pNext;+    uint32_t           advancedBlendMaxColorAttachments;+    VkBool32           advancedBlendIndependentBlend;+    VkBool32           advancedBlendNonPremultipliedSrcColor;+    VkBool32           advancedBlendNonPremultipliedDstColor;+    VkBool32           advancedBlendCorrelatedOverlap;+    VkBool32           advancedBlendAllOperations;+} VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;++typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {+    VkStructureType      sType;+    const void*          pNext;+    VkBool32             srcPremultiplied;+    VkBool32             dstPremultiplied;+    VkBlendOverlapEXT    blendOverlap;+} VkPipelineColorBlendAdvancedStateCreateInfoEXT;++++#define VK_NV_fragment_coverage_to_color 1+#define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1+#define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"++typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;++typedef struct VkPipelineCoverageToColorStateCreateInfoNV {+    VkStructureType                                sType;+    const void*                                    pNext;+    VkPipelineCoverageToColorStateCreateFlagsNV    flags;+    VkBool32                                       coverageToColorEnable;+    uint32_t                                       coverageToColorLocation;+} VkPipelineCoverageToColorStateCreateInfoNV;++++#define VK_NV_framebuffer_mixed_samples 1+#define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1+#define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"+++typedef enum VkCoverageModulationModeNV {+    VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,+    VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,+    VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,+    VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,+    VK_COVERAGE_MODULATION_MODE_BEGIN_RANGE_NV = VK_COVERAGE_MODULATION_MODE_NONE_NV,+    VK_COVERAGE_MODULATION_MODE_END_RANGE_NV = VK_COVERAGE_MODULATION_MODE_RGBA_NV,+    VK_COVERAGE_MODULATION_MODE_RANGE_SIZE_NV = (VK_COVERAGE_MODULATION_MODE_RGBA_NV - VK_COVERAGE_MODULATION_MODE_NONE_NV + 1),+    VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF+} VkCoverageModulationModeNV;++typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;++typedef struct VkPipelineCoverageModulationStateCreateInfoNV {+    VkStructureType                                   sType;+    const void*                                       pNext;+    VkPipelineCoverageModulationStateCreateFlagsNV    flags;+    VkCoverageModulationModeNV                        coverageModulationMode;+    VkBool32                                          coverageModulationTableEnable;+    uint32_t                                          coverageModulationTableCount;+    const float*                                      pCoverageModulationTable;+} VkPipelineCoverageModulationStateCreateInfoNV;++++#define VK_NV_fill_rectangle 1+#define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1+#define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"+++#define VK_EXT_post_depth_coverage 1+#define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1+#define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"+++#define VK_EXT_validation_cache 1+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)++#define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1+#define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"+#define VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT+++typedef enum VkValidationCacheHeaderVersionEXT {+    VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,+    VK_VALIDATION_CACHE_HEADER_VERSION_BEGIN_RANGE_EXT = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT,+    VK_VALIDATION_CACHE_HEADER_VERSION_END_RANGE_EXT = VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT,+    VK_VALIDATION_CACHE_HEADER_VERSION_RANGE_SIZE_EXT = (VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT - VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT + 1),+    VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF+} VkValidationCacheHeaderVersionEXT;++typedef VkFlags VkValidationCacheCreateFlagsEXT;++typedef struct VkValidationCacheCreateInfoEXT {+    VkStructureType                    sType;+    const void*                        pNext;+    VkValidationCacheCreateFlagsEXT    flags;+    size_t                             initialDataSize;+    const void*                        pInitialData;+} VkValidationCacheCreateInfoEXT;++typedef struct VkShaderModuleValidationCacheCreateInfoEXT {+    VkStructureType         sType;+    const void*             pNext;+    VkValidationCacheEXT    validationCache;+} VkShaderModuleValidationCacheCreateInfoEXT;+++typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);+typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);+typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches);+typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(+    VkDevice                                    device,+    const VkValidationCacheCreateInfoEXT*       pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkValidationCacheEXT*                       pValidationCache);++VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(+    VkDevice                                    device,+    VkValidationCacheEXT                        validationCache,+    const VkAllocationCallbacks*                pAllocator);++VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(+    VkDevice                                    device,+    VkValidationCacheEXT                        dstCache,+    uint32_t                                    srcCacheCount,+    const VkValidationCacheEXT*                 pSrcCaches);++VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(+    VkDevice                                    device,+    VkValidationCacheEXT                        validationCache,+    size_t*                                     pDataSize,+    void*                                       pData);+#endif++#define VK_EXT_shader_viewport_index_layer 1+#define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1+#define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"+++#define VK_EXT_global_priority 1+#define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2+#define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"+++typedef enum VkQueueGlobalPriorityEXT {+    VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,+    VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,+    VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,+    VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,+    VK_QUEUE_GLOBAL_PRIORITY_BEGIN_RANGE_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT,+    VK_QUEUE_GLOBAL_PRIORITY_END_RANGE_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT,+    VK_QUEUE_GLOBAL_PRIORITY_RANGE_SIZE_EXT = (VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT - VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT + 1),+    VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF+} VkQueueGlobalPriorityEXT;++typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {+    VkStructureType             sType;+    const void*                 pNext;+    VkQueueGlobalPriorityEXT    globalPriority;+} VkDeviceQueueGlobalPriorityCreateInfoEXT;++++#define VK_EXT_external_memory_host 1+#define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1+#define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"++typedef struct VkImportMemoryHostPointerInfoEXT {+    VkStructureType                       sType;+    const void*                           pNext;+    VkExternalMemoryHandleTypeFlagBits    handleType;+    void*                                 pHostPointer;+} VkImportMemoryHostPointerInfoEXT;++typedef struct VkMemoryHostPointerPropertiesEXT {+    VkStructureType    sType;+    void*              pNext;+    uint32_t           memoryTypeBits;+} VkMemoryHostPointerPropertiesEXT;++typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {+    VkStructureType    sType;+    void*              pNext;+    VkDeviceSize       minImportedHostPointerAlignment;+} VkPhysicalDeviceExternalMemoryHostPropertiesEXT;+++typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(+    VkDevice                                    device,+    VkExternalMemoryHandleTypeFlagBits          handleType,+    const void*                                 pHostPointer,+    VkMemoryHostPointerPropertiesEXT*           pMemoryHostPointerProperties);+#endif++#define VK_AMD_buffer_marker 1+#define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1+#define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"++typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(+    VkCommandBuffer                             commandBuffer,+    VkPipelineStageFlagBits                     pipelineStage,+    VkBuffer                                    dstBuffer,+    VkDeviceSize                                dstOffset,+    uint32_t                                    marker);+#endif++#define VK_EXT_vertex_attribute_divisor 1+#define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 1+#define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"++typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {+    VkStructureType    sType;+    void*              pNext;+    uint32_t           maxVertexAttribDivisor;+} VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;++typedef struct VkVertexInputBindingDivisorDescriptionEXT {+    uint32_t    binding;+    uint32_t    divisor;+} VkVertexInputBindingDivisorDescriptionEXT;++typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {+    VkStructureType                                     sType;+    const void*                                         pNext;+    uint32_t                                            vertexBindingDivisorCount;+    const VkVertexInputBindingDivisorDescriptionEXT*    pVertexBindingDivisors;+} VkPipelineVertexInputDivisorStateCreateInfoEXT;++++#ifdef __cplusplus+}+#endif++#endif
+ include/vulkan/vulkan_ios.h view
@@ -0,0 +1,58 @@+#ifndef VULKAN_IOS_H_+#define VULKAN_IOS_H_ 1++#ifdef __cplusplus+extern "C" {+#endif++/*+** Copyright (c) 2015-2018 The Khronos Group 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.+*/++/*+** This header is generated from the Khronos Vulkan XML API Registry.+**+*/+++#define VK_MVK_ios_surface 1+#define VK_MVK_IOS_SURFACE_SPEC_VERSION   2+#define VK_MVK_IOS_SURFACE_EXTENSION_NAME "VK_MVK_ios_surface"++typedef VkFlags VkIOSSurfaceCreateFlagsMVK;++typedef struct VkIOSSurfaceCreateInfoMVK {+    VkStructureType               sType;+    const void*                   pNext;+    VkIOSSurfaceCreateFlagsMVK    flags;+    const void*                   pView;+} VkIOSSurfaceCreateInfoMVK;+++typedef VkResult (VKAPI_PTR *PFN_vkCreateIOSSurfaceMVK)(VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkCreateIOSSurfaceMVK(+    VkInstance                                  instance,+    const VkIOSSurfaceCreateInfoMVK*            pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkSurfaceKHR*                               pSurface);+#endif++#ifdef __cplusplus+}+#endif++#endif
+ include/vulkan/vulkan_macos.h view
@@ -0,0 +1,58 @@+#ifndef VULKAN_MACOS_H_+#define VULKAN_MACOS_H_ 1++#ifdef __cplusplus+extern "C" {+#endif++/*+** Copyright (c) 2015-2018 The Khronos Group 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.+*/++/*+** This header is generated from the Khronos Vulkan XML API Registry.+**+*/+++#define VK_MVK_macos_surface 1+#define VK_MVK_MACOS_SURFACE_SPEC_VERSION 2+#define VK_MVK_MACOS_SURFACE_EXTENSION_NAME "VK_MVK_macos_surface"++typedef VkFlags VkMacOSSurfaceCreateFlagsMVK;++typedef struct VkMacOSSurfaceCreateInfoMVK {+    VkStructureType                 sType;+    const void*                     pNext;+    VkMacOSSurfaceCreateFlagsMVK    flags;+    const void*                     pView;+} VkMacOSSurfaceCreateInfoMVK;+++typedef VkResult (VKAPI_PTR *PFN_vkCreateMacOSSurfaceMVK)(VkInstance instance, const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkCreateMacOSSurfaceMVK(+    VkInstance                                  instance,+    const VkMacOSSurfaceCreateInfoMVK*          pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkSurfaceKHR*                               pSurface);+#endif++#ifdef __cplusplus+}+#endif++#endif
+ include/vulkan/vulkan_mir.h view
@@ -0,0 +1,65 @@+#ifndef VULKAN_MIR_H_+#define VULKAN_MIR_H_ 1++#ifdef __cplusplus+extern "C" {+#endif++/*+** Copyright (c) 2015-2018 The Khronos Group 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.+*/++/*+** This header is generated from the Khronos Vulkan XML API Registry.+**+*/+++#define VK_KHR_mir_surface 1+#define VK_KHR_MIR_SURFACE_SPEC_VERSION   4+#define VK_KHR_MIR_SURFACE_EXTENSION_NAME "VK_KHR_mir_surface"++typedef VkFlags VkMirSurfaceCreateFlagsKHR;++typedef struct VkMirSurfaceCreateInfoKHR {+    VkStructureType               sType;+    const void*                   pNext;+    VkMirSurfaceCreateFlagsKHR    flags;+    MirConnection*                connection;+    MirSurface*                   mirSurface;+} VkMirSurfaceCreateInfoKHR;+++typedef VkResult (VKAPI_PTR *PFN_vkCreateMirSurfaceKHR)(VkInstance instance, const VkMirSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);+typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceMirPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, MirConnection* connection);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkCreateMirSurfaceKHR(+    VkInstance                                  instance,+    const VkMirSurfaceCreateInfoKHR*            pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkSurfaceKHR*                               pSurface);++VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceMirPresentationSupportKHR(+    VkPhysicalDevice                            physicalDevice,+    uint32_t                                    queueFamilyIndex,+    MirConnection*                              connection);+#endif++#ifdef __cplusplus+}+#endif++#endif
+ include/vulkan/vulkan_vi.h view
@@ -0,0 +1,58 @@+#ifndef VULKAN_VI_H_+#define VULKAN_VI_H_ 1++#ifdef __cplusplus+extern "C" {+#endif++/*+** Copyright (c) 2015-2018 The Khronos Group 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.+*/++/*+** This header is generated from the Khronos Vulkan XML API Registry.+**+*/+++#define VK_NN_vi_surface 1+#define VK_NN_VI_SURFACE_SPEC_VERSION     1+#define VK_NN_VI_SURFACE_EXTENSION_NAME   "VK_NN_vi_surface"++typedef VkFlags VkViSurfaceCreateFlagsNN;++typedef struct VkViSurfaceCreateInfoNN {+    VkStructureType             sType;+    const void*                 pNext;+    VkViSurfaceCreateFlagsNN    flags;+    void*                       window;+} VkViSurfaceCreateInfoNN;+++typedef VkResult (VKAPI_PTR *PFN_vkCreateViSurfaceNN)(VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkCreateViSurfaceNN(+    VkInstance                                  instance,+    const VkViSurfaceCreateInfoNN*              pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkSurfaceKHR*                               pSurface);+#endif++#ifdef __cplusplus+}+#endif++#endif
+ include/vulkan/vulkan_wayland.h view
@@ -0,0 +1,65 @@+#ifndef VULKAN_WAYLAND_H_+#define VULKAN_WAYLAND_H_ 1++#ifdef __cplusplus+extern "C" {+#endif++/*+** Copyright (c) 2015-2018 The Khronos Group 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.+*/++/*+** This header is generated from the Khronos Vulkan XML API Registry.+**+*/+++#define VK_KHR_wayland_surface 1+#define VK_KHR_WAYLAND_SURFACE_SPEC_VERSION 6+#define VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME "VK_KHR_wayland_surface"++typedef VkFlags VkWaylandSurfaceCreateFlagsKHR;++typedef struct VkWaylandSurfaceCreateInfoKHR {+    VkStructureType                   sType;+    const void*                       pNext;+    VkWaylandSurfaceCreateFlagsKHR    flags;+    struct wl_display*                display;+    struct wl_surface*                surface;+} VkWaylandSurfaceCreateInfoKHR;+++typedef VkResult (VKAPI_PTR *PFN_vkCreateWaylandSurfaceKHR)(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);+typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display* display);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkCreateWaylandSurfaceKHR(+    VkInstance                                  instance,+    const VkWaylandSurfaceCreateInfoKHR*        pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkSurfaceKHR*                               pSurface);++VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWaylandPresentationSupportKHR(+    VkPhysicalDevice                            physicalDevice,+    uint32_t                                    queueFamilyIndex,+    struct wl_display*                          display);+#endif++#ifdef __cplusplus+}+#endif++#endif
+ include/vulkan/vulkan_win32.h view
@@ -0,0 +1,276 @@+#ifndef VULKAN_WIN32_H_+#define VULKAN_WIN32_H_ 1++#ifdef __cplusplus+extern "C" {+#endif++/*+** Copyright (c) 2015-2018 The Khronos Group 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.+*/++/*+** This header is generated from the Khronos Vulkan XML API Registry.+**+*/+++#define VK_KHR_win32_surface 1+#define VK_KHR_WIN32_SURFACE_SPEC_VERSION 6+#define VK_KHR_WIN32_SURFACE_EXTENSION_NAME "VK_KHR_win32_surface"++typedef VkFlags VkWin32SurfaceCreateFlagsKHR;++typedef struct VkWin32SurfaceCreateInfoKHR {+    VkStructureType                 sType;+    const void*                     pNext;+    VkWin32SurfaceCreateFlagsKHR    flags;+    HINSTANCE                       hinstance;+    HWND                            hwnd;+} VkWin32SurfaceCreateInfoKHR;+++typedef VkResult (VKAPI_PTR *PFN_vkCreateWin32SurfaceKHR)(VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);+typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkCreateWin32SurfaceKHR(+    VkInstance                                  instance,+    const VkWin32SurfaceCreateInfoKHR*          pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkSurfaceKHR*                               pSurface);++VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR(+    VkPhysicalDevice                            physicalDevice,+    uint32_t                                    queueFamilyIndex);+#endif++#define VK_KHR_external_memory_win32 1+#define VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1+#define VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_KHR_external_memory_win32"++typedef struct VkImportMemoryWin32HandleInfoKHR {+    VkStructureType                       sType;+    const void*                           pNext;+    VkExternalMemoryHandleTypeFlagBits    handleType;+    HANDLE                                handle;+    LPCWSTR                               name;+} VkImportMemoryWin32HandleInfoKHR;++typedef struct VkExportMemoryWin32HandleInfoKHR {+    VkStructureType               sType;+    const void*                   pNext;+    const SECURITY_ATTRIBUTES*    pAttributes;+    DWORD                         dwAccess;+    LPCWSTR                       name;+} VkExportMemoryWin32HandleInfoKHR;++typedef struct VkMemoryWin32HandlePropertiesKHR {+    VkStructureType    sType;+    void*              pNext;+    uint32_t           memoryTypeBits;+} VkMemoryWin32HandlePropertiesKHR;++typedef struct VkMemoryGetWin32HandleInfoKHR {+    VkStructureType                       sType;+    const void*                           pNext;+    VkDeviceMemory                        memory;+    VkExternalMemoryHandleTypeFlagBits    handleType;+} VkMemoryGetWin32HandleInfoKHR;+++typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleKHR)(VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);+typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandlePropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleKHR(+    VkDevice                                    device,+    const VkMemoryGetWin32HandleInfoKHR*        pGetWin32HandleInfo,+    HANDLE*                                     pHandle);++VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandlePropertiesKHR(+    VkDevice                                    device,+    VkExternalMemoryHandleTypeFlagBits          handleType,+    HANDLE                                      handle,+    VkMemoryWin32HandlePropertiesKHR*           pMemoryWin32HandleProperties);+#endif++#define VK_KHR_win32_keyed_mutex 1+#define VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION 1+#define VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_KHR_win32_keyed_mutex"++typedef struct VkWin32KeyedMutexAcquireReleaseInfoKHR {+    VkStructureType          sType;+    const void*              pNext;+    uint32_t                 acquireCount;+    const VkDeviceMemory*    pAcquireSyncs;+    const uint64_t*          pAcquireKeys;+    const uint32_t*          pAcquireTimeouts;+    uint32_t                 releaseCount;+    const VkDeviceMemory*    pReleaseSyncs;+    const uint64_t*          pReleaseKeys;+} VkWin32KeyedMutexAcquireReleaseInfoKHR;++++#define VK_KHR_external_semaphore_win32 1+#define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION 1+#define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME "VK_KHR_external_semaphore_win32"++typedef struct VkImportSemaphoreWin32HandleInfoKHR {+    VkStructureType                          sType;+    const void*                              pNext;+    VkSemaphore                              semaphore;+    VkSemaphoreImportFlags                   flags;+    VkExternalSemaphoreHandleTypeFlagBits    handleType;+    HANDLE                                   handle;+    LPCWSTR                                  name;+} VkImportSemaphoreWin32HandleInfoKHR;++typedef struct VkExportSemaphoreWin32HandleInfoKHR {+    VkStructureType               sType;+    const void*                   pNext;+    const SECURITY_ATTRIBUTES*    pAttributes;+    DWORD                         dwAccess;+    LPCWSTR                       name;+} VkExportSemaphoreWin32HandleInfoKHR;++typedef struct VkD3D12FenceSubmitInfoKHR {+    VkStructureType    sType;+    const void*        pNext;+    uint32_t           waitSemaphoreValuesCount;+    const uint64_t*    pWaitSemaphoreValues;+    uint32_t           signalSemaphoreValuesCount;+    const uint64_t*    pSignalSemaphoreValues;+} VkD3D12FenceSubmitInfoKHR;++typedef struct VkSemaphoreGetWin32HandleInfoKHR {+    VkStructureType                          sType;+    const void*                              pNext;+    VkSemaphore                              semaphore;+    VkExternalSemaphoreHandleTypeFlagBits    handleType;+} VkSemaphoreGetWin32HandleInfoKHR;+++typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreWin32HandleKHR)(VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo);+typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreWin32HandleKHR)(VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreWin32HandleKHR(+    VkDevice                                    device,+    const VkImportSemaphoreWin32HandleInfoKHR*  pImportSemaphoreWin32HandleInfo);++VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreWin32HandleKHR(+    VkDevice                                    device,+    const VkSemaphoreGetWin32HandleInfoKHR*     pGetWin32HandleInfo,+    HANDLE*                                     pHandle);+#endif++#define VK_KHR_external_fence_win32 1+#define VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION 1+#define VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME "VK_KHR_external_fence_win32"++typedef struct VkImportFenceWin32HandleInfoKHR {+    VkStructureType                      sType;+    const void*                          pNext;+    VkFence                              fence;+    VkFenceImportFlags                   flags;+    VkExternalFenceHandleTypeFlagBits    handleType;+    HANDLE                               handle;+    LPCWSTR                              name;+} VkImportFenceWin32HandleInfoKHR;++typedef struct VkExportFenceWin32HandleInfoKHR {+    VkStructureType               sType;+    const void*                   pNext;+    const SECURITY_ATTRIBUTES*    pAttributes;+    DWORD                         dwAccess;+    LPCWSTR                       name;+} VkExportFenceWin32HandleInfoKHR;++typedef struct VkFenceGetWin32HandleInfoKHR {+    VkStructureType                      sType;+    const void*                          pNext;+    VkFence                              fence;+    VkExternalFenceHandleTypeFlagBits    handleType;+} VkFenceGetWin32HandleInfoKHR;+++typedef VkResult (VKAPI_PTR *PFN_vkImportFenceWin32HandleKHR)(VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo);+typedef VkResult (VKAPI_PTR *PFN_vkGetFenceWin32HandleKHR)(VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceWin32HandleKHR(+    VkDevice                                    device,+    const VkImportFenceWin32HandleInfoKHR*      pImportFenceWin32HandleInfo);++VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceWin32HandleKHR(+    VkDevice                                    device,+    const VkFenceGetWin32HandleInfoKHR*         pGetWin32HandleInfo,+    HANDLE*                                     pHandle);+#endif++#define VK_NV_external_memory_win32 1+#define VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1+#define VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_NV_external_memory_win32"++typedef struct VkImportMemoryWin32HandleInfoNV {+    VkStructureType                      sType;+    const void*                          pNext;+    VkExternalMemoryHandleTypeFlagsNV    handleType;+    HANDLE                               handle;+} VkImportMemoryWin32HandleInfoNV;++typedef struct VkExportMemoryWin32HandleInfoNV {+    VkStructureType               sType;+    const void*                   pNext;+    const SECURITY_ATTRIBUTES*    pAttributes;+    DWORD                         dwAccess;+} VkExportMemoryWin32HandleInfoNV;+++typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleNV)(VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE* pHandle);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleNV(+    VkDevice                                    device,+    VkDeviceMemory                              memory,+    VkExternalMemoryHandleTypeFlagsNV           handleType,+    HANDLE*                                     pHandle);+#endif++#define VK_NV_win32_keyed_mutex 1+#define VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION 1+#define VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_NV_win32_keyed_mutex"++typedef struct VkWin32KeyedMutexAcquireReleaseInfoNV {+    VkStructureType          sType;+    const void*              pNext;+    uint32_t                 acquireCount;+    const VkDeviceMemory*    pAcquireSyncs;+    const uint64_t*          pAcquireKeys;+    const uint32_t*          pAcquireTimeoutMilliseconds;+    uint32_t                 releaseCount;+    const VkDeviceMemory*    pReleaseSyncs;+    const uint64_t*          pReleaseKeys;+} VkWin32KeyedMutexAcquireReleaseInfoNV;++++#ifdef __cplusplus+}+#endif++#endif
+ include/vulkan/vulkan_xcb.h view
@@ -0,0 +1,66 @@+#ifndef VULKAN_XCB_H_+#define VULKAN_XCB_H_ 1++#ifdef __cplusplus+extern "C" {+#endif++/*+** Copyright (c) 2015-2018 The Khronos Group 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.+*/++/*+** This header is generated from the Khronos Vulkan XML API Registry.+**+*/+++#define VK_KHR_xcb_surface 1+#define VK_KHR_XCB_SURFACE_SPEC_VERSION   6+#define VK_KHR_XCB_SURFACE_EXTENSION_NAME "VK_KHR_xcb_surface"++typedef VkFlags VkXcbSurfaceCreateFlagsKHR;++typedef struct VkXcbSurfaceCreateInfoKHR {+    VkStructureType               sType;+    const void*                   pNext;+    VkXcbSurfaceCreateFlagsKHR    flags;+    xcb_connection_t*             connection;+    xcb_window_t                  window;+} VkXcbSurfaceCreateInfoKHR;+++typedef VkResult (VKAPI_PTR *PFN_vkCreateXcbSurfaceKHR)(VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);+typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkCreateXcbSurfaceKHR(+    VkInstance                                  instance,+    const VkXcbSurfaceCreateInfoKHR*            pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkSurfaceKHR*                               pSurface);++VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXcbPresentationSupportKHR(+    VkPhysicalDevice                            physicalDevice,+    uint32_t                                    queueFamilyIndex,+    xcb_connection_t*                           connection,+    xcb_visualid_t                              visual_id);+#endif++#ifdef __cplusplus+}+#endif++#endif
+ include/vulkan/vulkan_xlib.h view
@@ -0,0 +1,66 @@+#ifndef VULKAN_XLIB_H_+#define VULKAN_XLIB_H_ 1++#ifdef __cplusplus+extern "C" {+#endif++/*+** Copyright (c) 2015-2018 The Khronos Group 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.+*/++/*+** This header is generated from the Khronos Vulkan XML API Registry.+**+*/+++#define VK_KHR_xlib_surface 1+#define VK_KHR_XLIB_SURFACE_SPEC_VERSION  6+#define VK_KHR_XLIB_SURFACE_EXTENSION_NAME "VK_KHR_xlib_surface"++typedef VkFlags VkXlibSurfaceCreateFlagsKHR;++typedef struct VkXlibSurfaceCreateInfoKHR {+    VkStructureType                sType;+    const void*                    pNext;+    VkXlibSurfaceCreateFlagsKHR    flags;+    Display*                       dpy;+    Window                         window;+} VkXlibSurfaceCreateInfoKHR;+++typedef VkResult (VKAPI_PTR *PFN_vkCreateXlibSurfaceKHR)(VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);+typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR(+    VkInstance                                  instance,+    const VkXlibSurfaceCreateInfoKHR*           pCreateInfo,+    const VkAllocationCallbacks*                pAllocator,+    VkSurfaceKHR*                               pSurface);++VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXlibPresentationSupportKHR(+    VkPhysicalDevice                            physicalDevice,+    uint32_t                                    queueFamilyIndex,+    Display*                                    dpy,+    VisualID                                    visualID);+#endif++#ifdef __cplusplus+}+#endif++#endif
+ include/vulkan/vulkan_xlib_xrandr.h view
@@ -0,0 +1,54 @@+#ifndef VULKAN_XLIB_XRANDR_H_+#define VULKAN_XLIB_XRANDR_H_ 1++#ifdef __cplusplus+extern "C" {+#endif++/*+** Copyright (c) 2015-2018 The Khronos Group 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.+*/++/*+** This header is generated from the Khronos Vulkan XML API Registry.+**+*/+++#define VK_EXT_acquire_xlib_display 1+#define VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION 1+#define VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_xlib_display"++typedef VkResult (VKAPI_PTR *PFN_vkAcquireXlibDisplayEXT)(VkPhysicalDevice physicalDevice, Display* dpy, VkDisplayKHR display);+typedef VkResult (VKAPI_PTR *PFN_vkGetRandROutputDisplayEXT)(VkPhysicalDevice physicalDevice, Display* dpy, RROutput rrOutput, VkDisplayKHR* pDisplay);++#ifndef VK_NO_PROTOTYPES+VKAPI_ATTR VkResult VKAPI_CALL vkAcquireXlibDisplayEXT(+    VkPhysicalDevice                            physicalDevice,+    Display*                                    dpy,+    VkDisplayKHR                                display);++VKAPI_ATTR VkResult VKAPI_CALL vkGetRandROutputDisplayEXT(+    VkPhysicalDevice                            physicalDevice,+    Display*                                    dpy,+    RROutput                                    rrOutput,+    VkDisplayKHR*                               pDisplay);+#endif++#ifdef __cplusplus+}+#endif++#endif
src-gen/Graphics/Vulkan/Constants.hs view
@@ -1,25 +1,28 @@+{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# LANGUAGE DataKinds       #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict          #-} module Graphics.Vulkan.Constants        (VK_MAX_PHYSICAL_DEVICE_NAME_SIZE,         pattern VK_MAX_PHYSICAL_DEVICE_NAME_SIZE, VK_UUID_SIZE,-        pattern VK_UUID_SIZE, VK_LUID_SIZE_KHR, pattern VK_LUID_SIZE_KHR,-        VK_MAX_EXTENSION_NAME_SIZE, pattern VK_MAX_EXTENSION_NAME_SIZE,-        VK_MAX_DESCRIPTION_SIZE, pattern VK_MAX_DESCRIPTION_SIZE,-        VK_MAX_MEMORY_TYPES, pattern VK_MAX_MEMORY_TYPES,-        VK_MAX_MEMORY_HEAPS, pattern VK_MAX_MEMORY_HEAPS,-        pattern VK_LOD_CLAMP_NONE, VK_REMAINING_MIP_LEVELS,-        pattern VK_REMAINING_MIP_LEVELS, VK_REMAINING_ARRAY_LAYERS,-        pattern VK_REMAINING_ARRAY_LAYERS, VK_WHOLE_SIZE,-        pattern VK_WHOLE_SIZE, VK_ATTACHMENT_UNUSED,+        pattern VK_UUID_SIZE, VK_LUID_SIZE, pattern VK_LUID_SIZE,+        pattern VK_LUID_SIZE_KHR, VK_MAX_EXTENSION_NAME_SIZE,+        pattern VK_MAX_EXTENSION_NAME_SIZE, VK_MAX_DESCRIPTION_SIZE,+        pattern VK_MAX_DESCRIPTION_SIZE, VK_MAX_MEMORY_TYPES,+        pattern VK_MAX_MEMORY_TYPES, VK_MAX_MEMORY_HEAPS,+        pattern VK_MAX_MEMORY_HEAPS, pattern VK_LOD_CLAMP_NONE,+        VK_REMAINING_MIP_LEVELS, pattern VK_REMAINING_MIP_LEVELS,+        VK_REMAINING_ARRAY_LAYERS, pattern VK_REMAINING_ARRAY_LAYERS,+        VK_WHOLE_SIZE, pattern VK_WHOLE_SIZE, VK_ATTACHMENT_UNUSED,         pattern VK_ATTACHMENT_UNUSED, VK_TRUE, pattern VK_TRUE, VK_FALSE,         pattern VK_FALSE, VK_QUEUE_FAMILY_IGNORED,-        pattern VK_QUEUE_FAMILY_IGNORED, VK_QUEUE_FAMILY_EXTERNAL_KHR,+        pattern VK_QUEUE_FAMILY_IGNORED, VK_QUEUE_FAMILY_EXTERNAL,+        pattern VK_QUEUE_FAMILY_EXTERNAL,         pattern VK_QUEUE_FAMILY_EXTERNAL_KHR, VK_QUEUE_FAMILY_FOREIGN_EXT,         pattern VK_QUEUE_FAMILY_FOREIGN_EXT, VK_SUBPASS_EXTERNAL,-        pattern VK_SUBPASS_EXTERNAL, VK_MAX_DEVICE_GROUP_SIZE_KHX,-        pattern VK_MAX_DEVICE_GROUP_SIZE_KHX)+        pattern VK_SUBPASS_EXTERNAL, VK_MAX_DEVICE_GROUP_SIZE,+        pattern VK_MAX_DEVICE_GROUP_SIZE,+        pattern VK_MAX_DEVICE_GROUP_SIZE_KHR)        where import           Graphics.Vulkan.Marshal @@ -35,12 +38,14 @@  type VK_UUID_SIZE = 16 -pattern VK_LUID_SIZE_KHR :: (Num a, Eq a) => a+pattern VK_LUID_SIZE :: (Num a, Eq a) => a -pattern VK_LUID_SIZE_KHR = 8+pattern VK_LUID_SIZE = 8 -type VK_LUID_SIZE_KHR = 8+type VK_LUID_SIZE = 8 +pattern VK_LUID_SIZE_KHR = VK_LUID_SIZE+ pattern VK_MAX_EXTENSION_NAME_SIZE :: (Num a, Eq a) => a  pattern VK_MAX_EXTENSION_NAME_SIZE = 256@@ -112,12 +117,14 @@  type VK_QUEUE_FAMILY_IGNORED = 4294967295 -pattern VK_QUEUE_FAMILY_EXTERNAL_KHR :: Word32+pattern VK_QUEUE_FAMILY_EXTERNAL :: Word32 -pattern VK_QUEUE_FAMILY_EXTERNAL_KHR = 4294967294+pattern VK_QUEUE_FAMILY_EXTERNAL = 4294967294 -type VK_QUEUE_FAMILY_EXTERNAL_KHR = 4294967294+type VK_QUEUE_FAMILY_EXTERNAL = 4294967294 +pattern VK_QUEUE_FAMILY_EXTERNAL_KHR = VK_QUEUE_FAMILY_EXTERNAL+ pattern VK_QUEUE_FAMILY_FOREIGN_EXT :: Word32  pattern VK_QUEUE_FAMILY_FOREIGN_EXT = 4294967293@@ -130,8 +137,10 @@  type VK_SUBPASS_EXTERNAL = 4294967295 -pattern VK_MAX_DEVICE_GROUP_SIZE_KHX :: (Num a, Eq a) => a+pattern VK_MAX_DEVICE_GROUP_SIZE :: (Num a, Eq a) => a -pattern VK_MAX_DEVICE_GROUP_SIZE_KHX = 32+pattern VK_MAX_DEVICE_GROUP_SIZE = 32 -type VK_MAX_DEVICE_GROUP_SIZE_KHX = 32+type VK_MAX_DEVICE_GROUP_SIZE = 32++pattern VK_MAX_DEVICE_GROUP_SIZE_KHR = VK_MAX_DEVICE_GROUP_SIZE
− src-gen/Graphics/Vulkan/Core.hsc
@@ -1,3186 +0,0 @@-#include "vulkan/vulkan.h"--{-# OPTIONS_GHC -fno-warn-unused-imports#-}-{-# OPTIONS_HADDOCK not-home#-}-{-# LANGUAGE DataKinds                #-}-{-# LANGUAGE ForeignFunctionInterface #-}-{-# LANGUAGE PatternSynonyms          #-}-{-# LANGUAGE Strict                   #-}-module Graphics.Vulkan.Core-       (-- * Vulkan core API interface definitions-        -- |-        ---        -- @api = vulkan@-        ---        -- @name = VK_VERSION_1_0@-        ---        -- @number = 1.0@-        ----        -- ** Header boilerplate-        ---        -- |-        -- > ##include "vk_platform.h"-        ----        -- ** API version-        ----        -- ** API constants-        module Graphics.Vulkan.Types.Enum.VkPipelineCacheHeaderVersion,-        pattern VK_LOD_CLAMP_NONE, pattern VK_REMAINING_MIP_LEVELS,-        VK_REMAINING_MIP_LEVELS, pattern VK_REMAINING_ARRAY_LAYERS,-        VK_REMAINING_ARRAY_LAYERS, pattern VK_WHOLE_SIZE, VK_WHOLE_SIZE,-        pattern VK_ATTACHMENT_UNUSED, VK_ATTACHMENT_UNUSED,-        pattern VK_TRUE, VK_TRUE, pattern VK_FALSE, VK_FALSE,-        pattern VK_QUEUE_FAMILY_IGNORED, VK_QUEUE_FAMILY_IGNORED,-        pattern VK_SUBPASS_EXTERNAL, VK_SUBPASS_EXTERNAL, -- ** Device initialization-                                                          vkCreateInstance,-        vkDestroyInstance, vkEnumeratePhysicalDevices,-        vkGetPhysicalDeviceFeatures, vkGetPhysicalDeviceFormatProperties,-        vkGetPhysicalDeviceImageFormatProperties,-        vkGetPhysicalDeviceProperties,-        vkGetPhysicalDeviceQueueFamilyProperties,-        vkGetPhysicalDeviceMemoryProperties, vkGetInstanceProcAddr,-        vkGetDeviceProcAddr, module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Bitmasks,-        module Graphics.Vulkan.Types.Enum.VkFormat,-        module Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags,-        module Graphics.Vulkan.Types.Enum.VkImageCreateFlags,-        module Graphics.Vulkan.Types.Enum.VkImageTiling,-        module Graphics.Vulkan.Types.Enum.VkImageType,-        module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,-        module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,-        module Graphics.Vulkan.Types.Enum.VkMemoryHeapFlags,-        module Graphics.Vulkan.Types.Enum.VkMemoryPropertyFlags,-        module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,-        module Graphics.Vulkan.Types.Enum.VkQueueFlags,-        module Graphics.Vulkan.Types.Enum.VkResult,-        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,-        module Graphics.Vulkan.Types.Enum.VkStructureType,-        module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,-        module Graphics.Vulkan.Types.Funcpointers,-        module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,-        module Graphics.Vulkan.Types.Struct.VkApplicationInfo,-        module Graphics.Vulkan.Types.Struct.VkExtent3D,-        module Graphics.Vulkan.Types.Struct.VkFormatProperties,-        module Graphics.Vulkan.Types.Struct.VkImageFormatProperties,-        module Graphics.Vulkan.Types.Struct.VkInstanceCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkMemoryHeap,-        module Graphics.Vulkan.Types.Struct.VkMemoryType,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,-        module Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties,-        -- ** Device commands-        vkCreateDevice, vkDestroyDevice,-        module Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo,-        -- ** Extension discovery commands-        vkEnumerateInstanceExtensionProperties,-        vkEnumerateDeviceExtensionProperties,-        module Graphics.Vulkan.Types.Struct.VkExtensionProperties,-        -- ** Layer discovery commands-        vkEnumerateInstanceLayerProperties,-        vkEnumerateDeviceLayerProperties,-        module Graphics.Vulkan.Types.Struct.VkLayerProperties,-        -- ** queue commands-        vkGetDeviceQueue, vkQueueSubmit, vkQueueWaitIdle, vkDeviceWaitIdle,-        module Graphics.Vulkan.Types.Enum.VkPipelineStageFlags,-        module Graphics.Vulkan.Types.Struct.VkSubmitInfo, -- ** Memory commands-                                                          vkAllocateMemory,-        vkFreeMemory, vkMapMemory, vkUnmapMemory,-        vkFlushMappedMemoryRanges, vkInvalidateMappedMemoryRanges,-        vkGetDeviceMemoryCommitment,-        module Graphics.Vulkan.Types.Struct.VkMappedMemoryRange,-        module Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo,-        -- ** Memory management API commands-        vkBindBufferMemory, vkBindImageMemory,-        vkGetBufferMemoryRequirements, vkGetImageMemoryRequirements,-        module Graphics.Vulkan.Types.Struct.VkMemoryRequirements,-        -- ** Sparse resource memory management API commands-        vkGetImageSparseMemoryRequirements,-        vkGetPhysicalDeviceSparseImageFormatProperties, vkQueueBindSparse,-        module Graphics.Vulkan.Types.Enum.VkImageAspectFlags,-        module Graphics.Vulkan.Types.Enum.VkSparseImageFormatFlags,-        module Graphics.Vulkan.Types.Enum.VkSparseMemoryBindFlags,-        module Graphics.Vulkan.Types.Struct.VkBindSparseInfo,-        module Graphics.Vulkan.Types.Struct.VkImageSubresource,-        module Graphics.Vulkan.Types.Struct.VkOffset3D,-        module Graphics.Vulkan.Types.Struct.VkSparseBufferMemoryBindInfo,-        module Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties,-        module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBind,-        module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBindInfo,-        module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements,-        module Graphics.Vulkan.Types.Struct.VkSparseImageOpaqueMemoryBindInfo,-        module Graphics.Vulkan.Types.Struct.VkSparseMemoryBind,-        -- ** Fence commands-        vkCreateFence, vkDestroyFence, vkResetFences, vkGetFenceStatus,-        vkWaitForFences,-        module Graphics.Vulkan.Types.Enum.VkFenceCreateFlags,-        module Graphics.Vulkan.Types.Struct.VkFenceCreateInfo,-        -- ** Queue semaphore commands-        vkCreateSemaphore, vkDestroySemaphore,-        module Graphics.Vulkan.Types.Struct.VkSemaphoreCreateInfo,-        -- ** Event commands-        vkCreateEvent, vkDestroyEvent, vkGetEventStatus, vkSetEvent,-        vkResetEvent,-        module Graphics.Vulkan.Types.Struct.VkEventCreateInfo,-        -- ** Query commands-        vkCreateQueryPool, vkDestroyQueryPool, vkGetQueryPoolResults,-        module Graphics.Vulkan.Types.Enum.VkQueryPipelineStatisticFlags,-        module Graphics.Vulkan.Types.Enum.VkQueryResultFlags,-        module Graphics.Vulkan.Types.Enum.VkQueryType,-        module Graphics.Vulkan.Types.Struct.VkQueryPoolCreateInfo,-        -- ** Buffer commands-        vkCreateBuffer, vkDestroyBuffer,-        module Graphics.Vulkan.Types.Enum.VkBufferCreateFlags,-        module Graphics.Vulkan.Types.Enum.VkBufferUsageFlags,-        module Graphics.Vulkan.Types.Enum.VkSharingMode,-        module Graphics.Vulkan.Types.Struct.VkBufferCreateInfo,-        -- ** Buffer view commands-        vkCreateBufferView, vkDestroyBufferView,-        module Graphics.Vulkan.Types.Struct.VkBufferViewCreateInfo,-        -- ** Image commands-        vkCreateImage, vkDestroyImage, vkGetImageSubresourceLayout,-        module Graphics.Vulkan.Types.Enum.VkImageLayout,-        module Graphics.Vulkan.Types.Struct.VkImageCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkSubresourceLayout,-        -- ** Image view commands-        vkCreateImageView, vkDestroyImageView,-        module Graphics.Vulkan.Types.Enum.VkComponentSwizzle,-        module Graphics.Vulkan.Types.Enum.VkImageViewType,-        module Graphics.Vulkan.Types.Struct.VkComponentMapping,-        module Graphics.Vulkan.Types.Struct.VkImageSubresourceRange,-        module Graphics.Vulkan.Types.Struct.VkImageViewCreateInfo,-        -- ** Shader commands-        vkCreateShaderModule, vkDestroyShaderModule,-        module Graphics.Vulkan.Types.Struct.VkShaderModuleCreateInfo,-        -- ** Pipeline Cache commands-        vkCreatePipelineCache, vkDestroyPipelineCache,-        vkGetPipelineCacheData, vkMergePipelineCaches,-        module Graphics.Vulkan.Types.Struct.VkPipelineCacheCreateInfo,-        -- ** Pipeline commands-        vkCreateGraphicsPipelines, vkCreateComputePipelines,-        vkDestroyPipeline, module Graphics.Vulkan.Types.Enum.VkBlendFactor,-        module Graphics.Vulkan.Types.Enum.VkBlendOp,-        module Graphics.Vulkan.Types.Enum.VkColorComponentFlags,-        module Graphics.Vulkan.Types.Enum.VkCompareOp,-        module Graphics.Vulkan.Types.Enum.VkCullModeFlags,-        module Graphics.Vulkan.Types.Enum.VkDynamicState,-        module Graphics.Vulkan.Types.Enum.VkFrontFace,-        module Graphics.Vulkan.Types.Enum.VkLogicOp,-        module Graphics.Vulkan.Types.Enum.VkPipelineCreateFlags,-        module Graphics.Vulkan.Types.Enum.VkPolygonMode,-        module Graphics.Vulkan.Types.Enum.VkPrimitiveTopology,-        module Graphics.Vulkan.Types.Enum.VkShaderStageFlags,-        module Graphics.Vulkan.Types.Enum.VkStencilOp,-        module Graphics.Vulkan.Types.Enum.VkVertexInputRate,-        module Graphics.Vulkan.Types.Struct.VkComputePipelineCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkExtent2D,-        module Graphics.Vulkan.Types.Struct.VkGraphicsPipelineCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkOffset2D,-        module Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAttachmentState,-        module Graphics.Vulkan.Types.Struct.VkPipelineColorBlendStateCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkPipelineDepthStencilStateCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkPipelineDynamicStateCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkPipelineInputAssemblyStateCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkPipelineMultisampleStateCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkPipelineRasterizationStateCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkPipelineShaderStageCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkPipelineTessellationStateCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkPipelineVertexInputStateCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkPipelineViewportStateCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkRect2D,-        module Graphics.Vulkan.Types.Struct.VkSpecializationInfo,-        module Graphics.Vulkan.Types.Struct.VkSpecializationMapEntry,-        module Graphics.Vulkan.Types.Struct.VkStencilOpState,-        module Graphics.Vulkan.Types.Struct.VkVertexInputAttributeDescription,-        module Graphics.Vulkan.Types.Struct.VkVertexInputBindingDescription,-        module Graphics.Vulkan.Types.Struct.VkViewport,-        -- ** Pipeline layout commands-        vkCreatePipelineLayout, vkDestroyPipelineLayout,-        module Graphics.Vulkan.Types.Struct.VkPipelineLayoutCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkPushConstantRange,-        -- ** Sampler commands-        vkCreateSampler, vkDestroySampler,-        module Graphics.Vulkan.Types.Enum.VkBorderColor,-        module Graphics.Vulkan.Types.Enum.VkFilter,-        module Graphics.Vulkan.Types.Enum.VkSamplerAddressMode,-        module Graphics.Vulkan.Types.Enum.VkSamplerMipmapMode,-        module Graphics.Vulkan.Types.Struct.VkSamplerCreateInfo,-        -- ** Descriptor set commands-        vkCreateDescriptorSetLayout, vkDestroyDescriptorSetLayout,-        vkCreateDescriptorPool, vkDestroyDescriptorPool,-        vkResetDescriptorPool, vkAllocateDescriptorSets,-        vkFreeDescriptorSets, vkUpdateDescriptorSets,-        module Graphics.Vulkan.Types.Enum.VkDescriptorPoolCreateFlags,-        module Graphics.Vulkan.Types.Enum.VkDescriptorSetLayoutCreateFlags,-        module Graphics.Vulkan.Types.Enum.VkDescriptorType,-        module Graphics.Vulkan.Types.Struct.VkCopyDescriptorSet,-        module Graphics.Vulkan.Types.Struct.VkDescriptorBufferInfo,-        module Graphics.Vulkan.Types.Struct.VkDescriptorImageInfo,-        module Graphics.Vulkan.Types.Struct.VkDescriptorPoolCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkDescriptorPoolSize,-        module Graphics.Vulkan.Types.Struct.VkDescriptorSetAllocateInfo,-        module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutBinding,-        module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkWriteDescriptorSet,-        -- ** Pass commands-        vkCreateFramebuffer, vkDestroyFramebuffer, vkCreateRenderPass,-        vkDestroyRenderPass, vkGetRenderAreaGranularity,-        module Graphics.Vulkan.Types.Enum.VkAccessFlags,-        module Graphics.Vulkan.Types.Enum.VkAttachmentDescriptionFlags,-        module Graphics.Vulkan.Types.Enum.VkAttachmentLoadOp,-        module Graphics.Vulkan.Types.Enum.VkAttachmentStoreOp,-        module Graphics.Vulkan.Types.Enum.VkDependencyFlags,-        module Graphics.Vulkan.Types.Enum.VkPipelineBindPoint,-        module Graphics.Vulkan.Types.Enum.VkSubpassDescriptionFlags,-        module Graphics.Vulkan.Types.Struct.VkAttachmentDescription,-        module Graphics.Vulkan.Types.Struct.VkAttachmentReference,-        module Graphics.Vulkan.Types.Struct.VkFramebufferCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkRenderPassCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkSubpassDependency,-        module Graphics.Vulkan.Types.Struct.VkSubpassDescription,-        -- ** Command pool commands-        vkCreateCommandPool, vkDestroyCommandPool, vkResetCommandPool,-        module Graphics.Vulkan.Types.Enum.VkCommandPoolCreateFlags,-        module Graphics.Vulkan.Types.Enum.VkCommandPoolResetFlags,-        module Graphics.Vulkan.Types.Struct.VkCommandPoolCreateInfo,-        -- ** Command buffer commands-        vkAllocateCommandBuffers, vkFreeCommandBuffers,-        vkBeginCommandBuffer, vkEndCommandBuffer, vkResetCommandBuffer,-        module Graphics.Vulkan.Types.Enum.VkCommandBufferLevel,-        module Graphics.Vulkan.Types.Enum.VkCommandBufferResetFlags,-        module Graphics.Vulkan.Types.Enum.VkCommandBufferUsageFlags,-        module Graphics.Vulkan.Types.Enum.VkQueryControlFlags,-        module Graphics.Vulkan.Types.Struct.VkCommandBufferAllocateInfo,-        module Graphics.Vulkan.Types.Struct.VkCommandBufferBeginInfo,-        module Graphics.Vulkan.Types.Struct.VkCommandBufferInheritanceInfo,-        -- ** Command buffer building commands-        vkCmdBindPipeline, vkCmdSetViewport, vkCmdSetScissor,-        vkCmdSetLineWidth, vkCmdSetDepthBias, vkCmdSetBlendConstants,-        vkCmdSetDepthBounds, vkCmdSetStencilCompareMask,-        vkCmdSetStencilWriteMask, vkCmdSetStencilReference,-        vkCmdBindDescriptorSets, vkCmdBindIndexBuffer,-        vkCmdBindVertexBuffers, vkCmdDraw, vkCmdDrawIndexed,-        vkCmdDrawIndirect, vkCmdDrawIndexedIndirect, vkCmdDispatch,-        vkCmdDispatchIndirect, vkCmdCopyBuffer, vkCmdCopyImage,-        vkCmdBlitImage, vkCmdCopyBufferToImage, vkCmdCopyImageToBuffer,-        vkCmdUpdateBuffer, vkCmdFillBuffer, vkCmdClearColorImage,-        vkCmdClearDepthStencilImage, vkCmdClearAttachments,-        vkCmdResolveImage, vkCmdSetEvent, vkCmdResetEvent, vkCmdWaitEvents,-        vkCmdPipelineBarrier, vkCmdBeginQuery, vkCmdEndQuery,-        vkCmdResetQueryPool, vkCmdWriteTimestamp,-        vkCmdCopyQueryPoolResults, vkCmdPushConstants,-        vkCmdBeginRenderPass, vkCmdNextSubpass, vkCmdEndRenderPass,-        vkCmdExecuteCommands,-        module Graphics.Vulkan.Types.Enum.VkIndexType,-        module Graphics.Vulkan.Types.Enum.VkStencilFaceFlags,-        module Graphics.Vulkan.Types.Enum.VkSubpassContents,-        module Graphics.Vulkan.Types.Struct.VkBufferCopy,-        module Graphics.Vulkan.Types.Struct.VkBufferImageCopy,-        module Graphics.Vulkan.Types.Struct.VkBufferMemoryBarrier,-        module Graphics.Vulkan.Types.Struct.VkClearAttachment,-        module Graphics.Vulkan.Types.Struct.VkClearColorValue,-        module Graphics.Vulkan.Types.Struct.VkClearDepthStencilValue,-        module Graphics.Vulkan.Types.Struct.VkClearRect,-        module Graphics.Vulkan.Types.Struct.VkClearValue,-        module Graphics.Vulkan.Types.Struct.VkImageBlit,-        module Graphics.Vulkan.Types.Struct.VkImageCopy,-        module Graphics.Vulkan.Types.Struct.VkImageMemoryBarrier,-        module Graphics.Vulkan.Types.Struct.VkImageResolve,-        module Graphics.Vulkan.Types.Struct.VkImageSubresourceLayers,-        module Graphics.Vulkan.Types.Struct.VkMemoryBarrier,-        module Graphics.Vulkan.Types.Struct.VkRenderPassBeginInfo,-        -- ** Types not directly used by the API. Include e.g. structs that are not parameter types of commands, but still defined by the API.-        module Graphics.Vulkan.Types.Struct.VkDispatchIndirectCommand,-        module Graphics.Vulkan.Types.Struct.VkDrawIndexedIndirectCommand,-        module Graphics.Vulkan.Types.Struct.VkDrawIndirectCommand,-        module Graphics.Vulkan.Types.Enum.VkObjectType)-       where-import           Graphics.Vulkan.Constants-                                                                                      (VK_ATTACHMENT_UNUSED,-                                                                                      pattern VK_ATTACHMENT_UNUSED,-                                                                                      VK_FALSE,-                                                                                      pattern VK_FALSE,-                                                                                      pattern VK_LOD_CLAMP_NONE,-                                                                                      VK_QUEUE_FAMILY_IGNORED,-                                                                                      pattern VK_QUEUE_FAMILY_IGNORED,-                                                                                      VK_REMAINING_ARRAY_LAYERS,-                                                                                      pattern VK_REMAINING_ARRAY_LAYERS,-                                                                                      VK_REMAINING_MIP_LEVELS,-                                                                                      pattern VK_REMAINING_MIP_LEVELS,-                                                                                      VK_SUBPASS_EXTERNAL,-                                                                                      pattern VK_SUBPASS_EXTERNAL,-                                                                                      VK_TRUE,-                                                                                      pattern VK_TRUE,-                                                                                      VK_WHOLE_SIZE,-                                                                                      pattern VK_WHOLE_SIZE)-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Types.BaseTypes-import           Graphics.Vulkan.Types.Bitmasks-import           Graphics.Vulkan.Types.Enum.VkAccessFlags-import           Graphics.Vulkan.Types.Enum.VkAttachmentDescriptionFlags-import           Graphics.Vulkan.Types.Enum.VkAttachmentLoadOp-import           Graphics.Vulkan.Types.Enum.VkAttachmentStoreOp-import           Graphics.Vulkan.Types.Enum.VkBlendFactor-import           Graphics.Vulkan.Types.Enum.VkBlendOp-import           Graphics.Vulkan.Types.Enum.VkBorderColor-import           Graphics.Vulkan.Types.Enum.VkBufferCreateFlags-import           Graphics.Vulkan.Types.Enum.VkBufferUsageFlags-import           Graphics.Vulkan.Types.Enum.VkColorComponentFlags-import           Graphics.Vulkan.Types.Enum.VkCommandBufferLevel-import           Graphics.Vulkan.Types.Enum.VkCommandBufferResetFlags-import           Graphics.Vulkan.Types.Enum.VkCommandBufferUsageFlags-import           Graphics.Vulkan.Types.Enum.VkCommandPoolCreateFlags-import           Graphics.Vulkan.Types.Enum.VkCommandPoolResetFlags-import           Graphics.Vulkan.Types.Enum.VkCompareOp-import           Graphics.Vulkan.Types.Enum.VkComponentSwizzle-import           Graphics.Vulkan.Types.Enum.VkCullModeFlags-import           Graphics.Vulkan.Types.Enum.VkDependencyFlags-import           Graphics.Vulkan.Types.Enum.VkDescriptorPoolCreateFlags-import           Graphics.Vulkan.Types.Enum.VkDescriptorSetLayoutCreateFlags-import           Graphics.Vulkan.Types.Enum.VkDescriptorType-import           Graphics.Vulkan.Types.Enum.VkDynamicState-import           Graphics.Vulkan.Types.Enum.VkFenceCreateFlags-import           Graphics.Vulkan.Types.Enum.VkFilter-import           Graphics.Vulkan.Types.Enum.VkFormat-import           Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags-import           Graphics.Vulkan.Types.Enum.VkFrontFace-import           Graphics.Vulkan.Types.Enum.VkImageAspectFlags-import           Graphics.Vulkan.Types.Enum.VkImageCreateFlags-import           Graphics.Vulkan.Types.Enum.VkImageLayout-import           Graphics.Vulkan.Types.Enum.VkImageTiling-import           Graphics.Vulkan.Types.Enum.VkImageType-import           Graphics.Vulkan.Types.Enum.VkImageUsageFlags-import           Graphics.Vulkan.Types.Enum.VkImageViewType-import           Graphics.Vulkan.Types.Enum.VkIndexType-import           Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import           Graphics.Vulkan.Types.Enum.VkLogicOp-import           Graphics.Vulkan.Types.Enum.VkMemoryHeapFlags-import           Graphics.Vulkan.Types.Enum.VkMemoryPropertyFlags-import           Graphics.Vulkan.Types.Enum.VkObjectType-import           Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType-import           Graphics.Vulkan.Types.Enum.VkPipelineBindPoint-import           Graphics.Vulkan.Types.Enum.VkPipelineCacheHeaderVersion-import           Graphics.Vulkan.Types.Enum.VkPipelineCreateFlags-import           Graphics.Vulkan.Types.Enum.VkPipelineStageFlags-import           Graphics.Vulkan.Types.Enum.VkPolygonMode-import           Graphics.Vulkan.Types.Enum.VkPrimitiveTopology-import           Graphics.Vulkan.Types.Enum.VkQueryControlFlags-import           Graphics.Vulkan.Types.Enum.VkQueryPipelineStatisticFlags-import           Graphics.Vulkan.Types.Enum.VkQueryResultFlags-import           Graphics.Vulkan.Types.Enum.VkQueryType-import           Graphics.Vulkan.Types.Enum.VkQueueFlags-import           Graphics.Vulkan.Types.Enum.VkResult-import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import           Graphics.Vulkan.Types.Enum.VkSamplerAddressMode-import           Graphics.Vulkan.Types.Enum.VkSamplerMipmapMode-import           Graphics.Vulkan.Types.Enum.VkShaderStageFlags-import           Graphics.Vulkan.Types.Enum.VkSharingMode-import           Graphics.Vulkan.Types.Enum.VkSparseImageFormatFlags-import           Graphics.Vulkan.Types.Enum.VkSparseMemoryBindFlags-import           Graphics.Vulkan.Types.Enum.VkStencilFaceFlags-import           Graphics.Vulkan.Types.Enum.VkStencilOp-import           Graphics.Vulkan.Types.Enum.VkStructureType-import           Graphics.Vulkan.Types.Enum.VkSubpassContents-import           Graphics.Vulkan.Types.Enum.VkSubpassDescriptionFlags-import           Graphics.Vulkan.Types.Enum.VkSystemAllocationScope-import           Graphics.Vulkan.Types.Enum.VkVertexInputRate-import           Graphics.Vulkan.Types.Funcpointers-import           Graphics.Vulkan.Types.Handles-import           Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import           Graphics.Vulkan.Types.Struct.VkApplicationInfo-import           Graphics.Vulkan.Types.Struct.VkAttachmentDescription-import           Graphics.Vulkan.Types.Struct.VkAttachmentReference-import           Graphics.Vulkan.Types.Struct.VkBindSparseInfo-import           Graphics.Vulkan.Types.Struct.VkBufferCopy-import           Graphics.Vulkan.Types.Struct.VkBufferCreateInfo-import           Graphics.Vulkan.Types.Struct.VkBufferImageCopy-import           Graphics.Vulkan.Types.Struct.VkBufferMemoryBarrier-import           Graphics.Vulkan.Types.Struct.VkBufferViewCreateInfo-import           Graphics.Vulkan.Types.Struct.VkClearAttachment-import           Graphics.Vulkan.Types.Struct.VkClearColorValue-import           Graphics.Vulkan.Types.Struct.VkClearDepthStencilValue-import           Graphics.Vulkan.Types.Struct.VkClearRect-import           Graphics.Vulkan.Types.Struct.VkClearValue-import           Graphics.Vulkan.Types.Struct.VkCommandBufferAllocateInfo-import           Graphics.Vulkan.Types.Struct.VkCommandBufferBeginInfo-import           Graphics.Vulkan.Types.Struct.VkCommandBufferInheritanceInfo-import           Graphics.Vulkan.Types.Struct.VkCommandPoolCreateInfo-import           Graphics.Vulkan.Types.Struct.VkComponentMapping-import           Graphics.Vulkan.Types.Struct.VkComputePipelineCreateInfo-import           Graphics.Vulkan.Types.Struct.VkCopyDescriptorSet-import           Graphics.Vulkan.Types.Struct.VkDescriptorBufferInfo-import           Graphics.Vulkan.Types.Struct.VkDescriptorImageInfo-import           Graphics.Vulkan.Types.Struct.VkDescriptorPoolCreateInfo-import           Graphics.Vulkan.Types.Struct.VkDescriptorPoolSize-import           Graphics.Vulkan.Types.Struct.VkDescriptorSetAllocateInfo-import           Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutBinding-import           Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutCreateInfo-import           Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo-import           Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo-import           Graphics.Vulkan.Types.Struct.VkDispatchIndirectCommand-import           Graphics.Vulkan.Types.Struct.VkDrawIndexedIndirectCommand-import           Graphics.Vulkan.Types.Struct.VkDrawIndirectCommand-import           Graphics.Vulkan.Types.Struct.VkEventCreateInfo-import           Graphics.Vulkan.Types.Struct.VkExtensionProperties-import           Graphics.Vulkan.Types.Struct.VkExtent2D-import           Graphics.Vulkan.Types.Struct.VkExtent3D-import           Graphics.Vulkan.Types.Struct.VkFenceCreateInfo-import           Graphics.Vulkan.Types.Struct.VkFormatProperties-import           Graphics.Vulkan.Types.Struct.VkFramebufferCreateInfo-import           Graphics.Vulkan.Types.Struct.VkGraphicsPipelineCreateInfo-import           Graphics.Vulkan.Types.Struct.VkImageBlit-import           Graphics.Vulkan.Types.Struct.VkImageCopy-import           Graphics.Vulkan.Types.Struct.VkImageCreateInfo-import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties-import           Graphics.Vulkan.Types.Struct.VkImageMemoryBarrier-import           Graphics.Vulkan.Types.Struct.VkImageResolve-import           Graphics.Vulkan.Types.Struct.VkImageSubresource-import           Graphics.Vulkan.Types.Struct.VkImageSubresourceLayers-import           Graphics.Vulkan.Types.Struct.VkImageSubresourceRange-import           Graphics.Vulkan.Types.Struct.VkImageViewCreateInfo-import           Graphics.Vulkan.Types.Struct.VkInstanceCreateInfo-import           Graphics.Vulkan.Types.Struct.VkLayerProperties-import           Graphics.Vulkan.Types.Struct.VkMappedMemoryRange-import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo-import           Graphics.Vulkan.Types.Struct.VkMemoryBarrier-import           Graphics.Vulkan.Types.Struct.VkMemoryHeap-import           Graphics.Vulkan.Types.Struct.VkMemoryRequirements-import           Graphics.Vulkan.Types.Struct.VkMemoryType-import           Graphics.Vulkan.Types.Struct.VkOffset2D-import           Graphics.Vulkan.Types.Struct.VkOffset3D-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties-import           Graphics.Vulkan.Types.Struct.VkPipelineCacheCreateInfo-import           Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAttachmentState-import           Graphics.Vulkan.Types.Struct.VkPipelineColorBlendStateCreateInfo-import           Graphics.Vulkan.Types.Struct.VkPipelineDepthStencilStateCreateInfo-import           Graphics.Vulkan.Types.Struct.VkPipelineDynamicStateCreateInfo-import           Graphics.Vulkan.Types.Struct.VkPipelineInputAssemblyStateCreateInfo-import           Graphics.Vulkan.Types.Struct.VkPipelineLayoutCreateInfo-import           Graphics.Vulkan.Types.Struct.VkPipelineMultisampleStateCreateInfo-import           Graphics.Vulkan.Types.Struct.VkPipelineRasterizationStateCreateInfo-import           Graphics.Vulkan.Types.Struct.VkPipelineShaderStageCreateInfo-import           Graphics.Vulkan.Types.Struct.VkPipelineTessellationStateCreateInfo-import           Graphics.Vulkan.Types.Struct.VkPipelineVertexInputStateCreateInfo-import           Graphics.Vulkan.Types.Struct.VkPipelineViewportStateCreateInfo-import           Graphics.Vulkan.Types.Struct.VkPushConstantRange-import           Graphics.Vulkan.Types.Struct.VkQueryPoolCreateInfo-import           Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties-import           Graphics.Vulkan.Types.Struct.VkRect2D-import           Graphics.Vulkan.Types.Struct.VkRenderPassBeginInfo-import           Graphics.Vulkan.Types.Struct.VkRenderPassCreateInfo-import           Graphics.Vulkan.Types.Struct.VkSamplerCreateInfo-import           Graphics.Vulkan.Types.Struct.VkSemaphoreCreateInfo-import           Graphics.Vulkan.Types.Struct.VkShaderModuleCreateInfo-import           Graphics.Vulkan.Types.Struct.VkSparseBufferMemoryBindInfo-import           Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties-import           Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBind-import           Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBindInfo-import           Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements-import           Graphics.Vulkan.Types.Struct.VkSparseImageOpaqueMemoryBindInfo-import           Graphics.Vulkan.Types.Struct.VkSparseMemoryBind-import           Graphics.Vulkan.Types.Struct.VkSpecializationInfo-import           Graphics.Vulkan.Types.Struct.VkSpecializationMapEntry-import           Graphics.Vulkan.Types.Struct.VkStencilOpState-import           Graphics.Vulkan.Types.Struct.VkSubmitInfo-import           Graphics.Vulkan.Types.Struct.VkSubpassDependency-import           Graphics.Vulkan.Types.Struct.VkSubpassDescription-import           Graphics.Vulkan.Types.Struct.VkSubresourceLayout-import           Graphics.Vulkan.Types.Struct.VkVertexInputAttributeDescription-import           Graphics.Vulkan.Types.Struct.VkVertexInputBindingDescription-import           Graphics.Vulkan.Types.Struct.VkViewport-import           Graphics.Vulkan.Types.Struct.VkWriteDescriptorSet---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_LAYER_NOT_PRESENT', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_INCOMPATIBLE_DRIVER'.------   > VkResult vkCreateInstance---   >     ( const VkInstanceCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkInstance* pInstance---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateInstance.html vkCreateInstance registry at www.khronos.org>-foreign import ccall unsafe "vkCreateInstance" vkCreateInstance ::-               Ptr VkInstanceCreateInfo -- ^ pCreateInfo-                                        ->-                 Ptr VkAllocationCallbacks -- ^ pAllocator-                                           -> Ptr VkInstance -- ^ pInstance-                                                             -> IO VkResult---- | > () vkDestroyInstance---   >     ( VkInstance instance---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroyInstance.html vkDestroyInstance registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyInstance" vkDestroyInstance-               :: VkInstance -- ^ instance-                             -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                          -> IO ()---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.------   > VkResult vkEnumeratePhysicalDevices---   >     ( VkInstance instance---   >     , uint32_t* pPhysicalDeviceCount---   >     , VkPhysicalDevice* pPhysicalDevices---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkEnumeratePhysicalDevices.html vkEnumeratePhysicalDevices registry at www.khronos.org>-foreign import ccall unsafe "vkEnumeratePhysicalDevices"-               vkEnumeratePhysicalDevices ::-               VkInstance -- ^ instance-                          -> Ptr Word32 -- ^ pPhysicalDeviceCount-                                        -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices-                                                                -> IO VkResult---- | > () vkGetPhysicalDeviceFeatures---   >     ( VkPhysicalDevice physicalDevice---   >     , VkPhysicalDeviceFeatures* pFeatures---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceFeatures.html vkGetPhysicalDeviceFeatures registry at www.khronos.org>-foreign import ccall unsafe "vkGetPhysicalDeviceFeatures"-               vkGetPhysicalDeviceFeatures ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures-                                                                -> IO ()---- | > () vkGetPhysicalDeviceFormatProperties---   >     ( VkPhysicalDevice physicalDevice---   >     , VkFormat format---   >     , VkFormatProperties* pFormatProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceFormatProperties.html vkGetPhysicalDeviceFormatProperties registry at www.khronos.org>-foreign import ccall unsafe "vkGetPhysicalDeviceFormatProperties"-               vkGetPhysicalDeviceFormatProperties ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> VkFormat -- ^ format-                                            -> Ptr VkFormatProperties -- ^ pFormatProperties-                                                                      -> IO ()---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.------   > VkResult vkGetPhysicalDeviceImageFormatProperties---   >     ( VkPhysicalDevice physicalDevice---   >     , VkFormat format---   >     , VkImageType type---   >     , VkImageTiling tiling---   >     , VkImageUsageFlags usage---   >     , VkImageCreateFlags flags---   >     , VkImageFormatProperties* pImageFormatProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceImageFormatProperties.html vkGetPhysicalDeviceImageFormatProperties registry at www.khronos.org>-foreign import ccall unsafe-               "vkGetPhysicalDeviceImageFormatProperties"-               vkGetPhysicalDeviceImageFormatProperties ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 VkFormat -- ^ format-                          ->-                   VkImageType -- ^ type-                               ->-                     VkImageTiling -- ^ tiling-                                   ->-                       VkImageUsageFlags -- ^ usage-                                         ->-                         VkImageCreateFlags -- ^ flags-                                            -> Ptr VkImageFormatProperties -- ^ pImageFormatProperties-                                                                           -> IO VkResult---- | > () vkGetPhysicalDeviceProperties---   >     ( VkPhysicalDevice physicalDevice---   >     , VkPhysicalDeviceProperties* pProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceProperties.html vkGetPhysicalDeviceProperties registry at www.khronos.org>-foreign import ccall unsafe "vkGetPhysicalDeviceProperties"-               vkGetPhysicalDeviceProperties ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> Ptr VkPhysicalDeviceProperties -- ^ pProperties-                                                                  -> IO ()---- | > () vkGetPhysicalDeviceQueueFamilyProperties---   >     ( VkPhysicalDevice physicalDevice---   >     , uint32_t* pQueueFamilyPropertyCount---   >     , VkQueueFamilyProperties* pQueueFamilyProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceQueueFamilyProperties.html vkGetPhysicalDeviceQueueFamilyProperties registry at www.khronos.org>-foreign import ccall unsafe-               "vkGetPhysicalDeviceQueueFamilyProperties"-               vkGetPhysicalDeviceQueueFamilyProperties ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr Word32 -- ^ pQueueFamilyPropertyCount-                            -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties-                                                           -> IO ()---- | > () vkGetPhysicalDeviceMemoryProperties---   >     ( VkPhysicalDevice physicalDevice---   >     , VkPhysicalDeviceMemoryProperties* pMemoryProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceMemoryProperties.html vkGetPhysicalDeviceMemoryProperties registry at www.khronos.org>-foreign import ccall unsafe "vkGetPhysicalDeviceMemoryProperties"-               vkGetPhysicalDeviceMemoryProperties ::-               VkPhysicalDevice -- ^ physicalDevice-                                -> Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties-                                                                        -> IO ()---- | > PFN_vkVoidFunction vkGetInstanceProcAddr---   >     ( VkInstance instance---   >     , const char* pName---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetInstanceProcAddr.html vkGetInstanceProcAddr registry at www.khronos.org>-foreign import ccall unsafe "vkGetInstanceProcAddr"-               vkGetInstanceProcAddr ::-               VkInstance -- ^ instance-                          -> CString -- ^ pName-                                     -> IO PFN_vkVoidFunction---- | > PFN_vkVoidFunction vkGetDeviceProcAddr---   >     ( VkDevice device---   >     , const char* pName---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetDeviceProcAddr.html vkGetDeviceProcAddr registry at www.khronos.org>-foreign import ccall unsafe "vkGetDeviceProcAddr"-               vkGetDeviceProcAddr :: VkDevice -- ^ device-                                               -> CString -- ^ pName-                                                          -> IO PFN_vkVoidFunction---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_FEATURE_NOT_PRESENT', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_DEVICE_LOST'.------   > VkResult vkCreateDevice---   >     ( VkPhysicalDevice physicalDevice---   >     , const VkDeviceCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkDevice* pDevice---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateDevice.html vkCreateDevice registry at www.khronos.org>-foreign import ccall unsafe "vkCreateDevice" vkCreateDevice ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr VkDeviceCreateInfo -- ^ pCreateInfo-                                        ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkDevice -- ^ pDevice-                                                             -> IO VkResult---- | > () vkDestroyDevice---   >     ( VkDevice device---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroyDevice.html vkDestroyDevice registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyDevice" vkDestroyDevice ::-               VkDevice -- ^ device-                        -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                     -> IO ()---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.------   > VkResult vkEnumerateInstanceExtensionProperties---   >     ( const char* pLayerName---   >     , uint32_t* pPropertyCount---   >     , VkExtensionProperties* pProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkEnumerateInstanceExtensionProperties.html vkEnumerateInstanceExtensionProperties registry at www.khronos.org>-foreign import ccall unsafe-               "vkEnumerateInstanceExtensionProperties"-               vkEnumerateInstanceExtensionProperties ::-               CString -- ^ pLayerName-                       -> Ptr Word32 -- ^ pPropertyCount-                                     -> Ptr VkExtensionProperties -- ^ pProperties-                                                                  -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.------   > VkResult vkEnumerateDeviceExtensionProperties---   >     ( VkPhysicalDevice physicalDevice---   >     , const char* pLayerName---   >     , uint32_t* pPropertyCount---   >     , VkExtensionProperties* pProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkEnumerateDeviceExtensionProperties.html vkEnumerateDeviceExtensionProperties registry at www.khronos.org>-foreign import ccall unsafe "vkEnumerateDeviceExtensionProperties"-               vkEnumerateDeviceExtensionProperties ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 CString -- ^ pLayerName-                         -> Ptr Word32 -- ^ pPropertyCount-                                       -> Ptr VkExtensionProperties -- ^ pProperties-                                                                    -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkEnumerateInstanceLayerProperties---   >     ( uint32_t* pPropertyCount---   >     , VkLayerProperties* pProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkEnumerateInstanceLayerProperties.html vkEnumerateInstanceLayerProperties registry at www.khronos.org>-foreign import ccall unsafe "vkEnumerateInstanceLayerProperties"-               vkEnumerateInstanceLayerProperties ::-               Ptr Word32 -- ^ pPropertyCount-                          -> Ptr VkLayerProperties -- ^ pProperties-                                                   -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkEnumerateDeviceLayerProperties---   >     ( VkPhysicalDevice physicalDevice---   >     , uint32_t* pPropertyCount---   >     , VkLayerProperties* pProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkEnumerateDeviceLayerProperties.html vkEnumerateDeviceLayerProperties registry at www.khronos.org>-foreign import ccall unsafe "vkEnumerateDeviceLayerProperties"-               vkEnumerateDeviceLayerProperties ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 Ptr Word32 -- ^ pPropertyCount-                            -> Ptr VkLayerProperties -- ^ pProperties-                                                     -> IO VkResult---- | > () vkGetDeviceQueue---   >     ( VkDevice device---   >     , uint32_t queueFamilyIndex---   >     , uint32_t queueIndex---   >     , VkQueue* pQueue---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetDeviceQueue.html vkGetDeviceQueue registry at www.khronos.org>-foreign import ccall unsafe "vkGetDeviceQueue" vkGetDeviceQueue ::-               VkDevice -- ^ device-                        -> Word32 -- ^ queueFamilyIndex-                                  -> Word32 -- ^ queueIndex-                                            -> Ptr VkQueue -- ^ pQueue-                                                           -> IO ()---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------   > VkResult vkQueueSubmit---   >     ( VkQueue queue---   >     , uint32_t submitCount---   >     , const VkSubmitInfo* pSubmits---   >     , VkFence fence---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkQueueSubmit.html vkQueueSubmit registry at www.khronos.org>-foreign import ccall unsafe "vkQueueSubmit" vkQueueSubmit ::-               VkQueue -- ^ queue-                       -> Word32 -- ^ submitCount-                                 -> Ptr VkSubmitInfo -- ^ pSubmits-                                                     -> VkFence -- ^ fence-                                                                -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------   > VkResult vkQueueWaitIdle---   >     ( VkQueue queue---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkQueueWaitIdle.html vkQueueWaitIdle registry at www.khronos.org>-foreign import ccall unsafe "vkQueueWaitIdle" vkQueueWaitIdle ::-               VkQueue -- ^ queue-                       -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------   > VkResult vkDeviceWaitIdle---   >     ( VkDevice device---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDeviceWaitIdle.html vkDeviceWaitIdle registry at www.khronos.org>-foreign import ccall unsafe "vkDeviceWaitIdle" vkDeviceWaitIdle ::-               VkDevice -- ^ device-                        -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR'.------   > VkResult vkAllocateMemory---   >     ( VkDevice device---   >     , const VkMemoryAllocateInfo* pAllocateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkDeviceMemory* pMemory---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkAllocateMemory.html vkAllocateMemory registry at www.khronos.org>-foreign import ccall unsafe "vkAllocateMemory" vkAllocateMemory ::-               VkDevice -- ^ device-                        ->-                 Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo-                                          ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkDeviceMemory -- ^ pMemory-                                                                   -> IO VkResult---- | > () vkFreeMemory---   >     ( VkDevice device---   >     , VkDeviceMemory memory---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkFreeMemory.html vkFreeMemory registry at www.khronos.org>-foreign import ccall unsafe "vkFreeMemory" vkFreeMemory ::-               VkDevice -- ^ device-                        -> VkDeviceMemory -- ^ memory-                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                       -> IO ()---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_MEMORY_MAP_FAILED'.------   > VkResult vkMapMemory---   >     ( VkDevice device---   >     , VkDeviceMemory memory---   >     , VkDeviceSize offset---   >     , VkDeviceSize size---   >     , VkMemoryMapFlags flags---   >     , void** ppData---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkMapMemory.html vkMapMemory registry at www.khronos.org>-foreign import ccall unsafe "vkMapMemory" vkMapMemory ::-               VkDevice -- ^ device-                        ->-                 VkDeviceMemory -- ^ memory-                                ->-                   VkDeviceSize -- ^ offset-                                ->-                     VkDeviceSize -- ^ size-                                  -> VkMemoryMapFlags -- ^ flags-                                                      -> Ptr (Ptr Void) -- ^ ppData-                                                                        -> IO VkResult---- | > () vkUnmapMemory---   >     ( VkDevice device---   >     , VkDeviceMemory memory---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkUnmapMemory.html vkUnmapMemory registry at www.khronos.org>-foreign import ccall unsafe "vkUnmapMemory" vkUnmapMemory ::-               VkDevice -- ^ device-                        -> VkDeviceMemory -- ^ memory-                                          -> IO ()---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkFlushMappedMemoryRanges---   >     ( VkDevice device---   >     , uint32_t memoryRangeCount---   >     , const VkMappedMemoryRange* pMemoryRanges---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkFlushMappedMemoryRanges.html vkFlushMappedMemoryRanges registry at www.khronos.org>-foreign import ccall unsafe "vkFlushMappedMemoryRanges"-               vkFlushMappedMemoryRanges ::-               VkDevice -- ^ device-                        -> Word32 -- ^ memoryRangeCount-                                  -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges-                                                             -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkInvalidateMappedMemoryRanges---   >     ( VkDevice device---   >     , uint32_t memoryRangeCount---   >     , const VkMappedMemoryRange* pMemoryRanges---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkInvalidateMappedMemoryRanges.html vkInvalidateMappedMemoryRanges registry at www.khronos.org>-foreign import ccall unsafe "vkInvalidateMappedMemoryRanges"-               vkInvalidateMappedMemoryRanges ::-               VkDevice -- ^ device-                        -> Word32 -- ^ memoryRangeCount-                                  -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges-                                                             -> IO VkResult---- | > () vkGetDeviceMemoryCommitment---   >     ( VkDevice device---   >     , VkDeviceMemory memory---   >     , VkDeviceSize* pCommittedMemoryInBytes---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetDeviceMemoryCommitment.html vkGetDeviceMemoryCommitment registry at www.khronos.org>-foreign import ccall unsafe "vkGetDeviceMemoryCommitment"-               vkGetDeviceMemoryCommitment ::-               VkDevice -- ^ device-                        -> VkDeviceMemory -- ^ memory-                                          -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes-                                                              -> IO ()---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkBindBufferMemory---   >     ( VkDevice device---   >     , VkBuffer buffer---   >     , VkDeviceMemory memory---   >     , VkDeviceSize memoryOffset---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkBindBufferMemory.html vkBindBufferMemory registry at www.khronos.org>-foreign import ccall unsafe "vkBindBufferMemory" vkBindBufferMemory-               ::-               VkDevice -- ^ device-                        ->-                 VkBuffer -- ^ buffer-                          -> VkDeviceMemory -- ^ memory-                                            -> VkDeviceSize -- ^ memoryOffset-                                                            -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkBindImageMemory---   >     ( VkDevice device---   >     , VkImage image---   >     , VkDeviceMemory memory---   >     , VkDeviceSize memoryOffset---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkBindImageMemory.html vkBindImageMemory registry at www.khronos.org>-foreign import ccall unsafe "vkBindImageMemory" vkBindImageMemory-               ::-               VkDevice -- ^ device-                        ->-                 VkImage -- ^ image-                         -> VkDeviceMemory -- ^ memory-                                           -> VkDeviceSize -- ^ memoryOffset-                                                           -> IO VkResult---- | > () vkGetBufferMemoryRequirements---   >     ( VkDevice device---   >     , VkBuffer buffer---   >     , VkMemoryRequirements* pMemoryRequirements---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetBufferMemoryRequirements.html vkGetBufferMemoryRequirements registry at www.khronos.org>-foreign import ccall unsafe "vkGetBufferMemoryRequirements"-               vkGetBufferMemoryRequirements ::-               VkDevice -- ^ device-                        -> VkBuffer -- ^ buffer-                                    -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements-                                                                -> IO ()---- | > () vkGetImageMemoryRequirements---   >     ( VkDevice device---   >     , VkImage image---   >     , VkMemoryRequirements* pMemoryRequirements---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetImageMemoryRequirements.html vkGetImageMemoryRequirements registry at www.khronos.org>-foreign import ccall unsafe "vkGetImageMemoryRequirements"-               vkGetImageMemoryRequirements ::-               VkDevice -- ^ device-                        -> VkImage -- ^ image-                                   -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements-                                                               -> IO ()---- | > () vkGetImageSparseMemoryRequirements---   >     ( VkDevice device---   >     , VkImage image---   >     , uint32_t* pSparseMemoryRequirementCount---   >     , VkSparseImageMemoryRequirements* pSparseMemoryRequirements---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetImageSparseMemoryRequirements.html vkGetImageSparseMemoryRequirements registry at www.khronos.org>-foreign import ccall unsafe "vkGetImageSparseMemoryRequirements"-               vkGetImageSparseMemoryRequirements ::-               VkDevice -- ^ device-                        ->-                 VkImage -- ^ image-                         ->-                   Ptr Word32 -- ^ pSparseMemoryRequirementCount-                              -> Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements-                                                                     -> IO ()---- | > () vkGetPhysicalDeviceSparseImageFormatProperties---   >     ( VkPhysicalDevice physicalDevice---   >     , VkFormat format---   >     , VkImageType type---   >     , VkSampleCountFlagBits samples---   >     , VkImageUsageFlags usage---   >     , VkImageTiling tiling---   >     , uint32_t* pPropertyCount---   >     , VkSparseImageFormatProperties* pProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceSparseImageFormatProperties.html vkGetPhysicalDeviceSparseImageFormatProperties registry at www.khronos.org>-foreign import ccall unsafe-               "vkGetPhysicalDeviceSparseImageFormatProperties"-               vkGetPhysicalDeviceSparseImageFormatProperties ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 VkFormat -- ^ format-                          ->-                   VkImageType -- ^ type-                               ->-                     VkSampleCountFlagBits -- ^ samples-                                           ->-                       VkImageUsageFlags -- ^ usage-                                         ->-                         VkImageTiling -- ^ tiling-                                       ->-                           Ptr Word32 -- ^ pPropertyCount-                                      -> Ptr VkSparseImageFormatProperties -- ^ pProperties-                                                                           -> IO ()---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------   queues: 'sparse_binding'.------   > VkResult vkQueueBindSparse---   >     ( VkQueue queue---   >     , uint32_t bindInfoCount---   >     , const VkBindSparseInfo* pBindInfo---   >     , VkFence fence---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkQueueBindSparse.html vkQueueBindSparse registry at www.khronos.org>-foreign import ccall unsafe "vkQueueBindSparse" vkQueueBindSparse-               ::-               VkQueue -- ^ queue-                       -> Word32 -- ^ bindInfoCount-                                 -> Ptr VkBindSparseInfo -- ^ pBindInfo-                                                         -> VkFence -- ^ fence-                                                                    -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateFence---   >     ( VkDevice device---   >     , const VkFenceCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkFence* pFence---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateFence.html vkCreateFence registry at www.khronos.org>-foreign import ccall unsafe "vkCreateFence" vkCreateFence ::-               VkDevice -- ^ device-                        ->-                 Ptr VkFenceCreateInfo -- ^ pCreateInfo-                                       ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkFence -- ^ pFence-                                                            -> IO VkResult---- | > () vkDestroyFence---   >     ( VkDevice device---   >     , VkFence fence---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroyFence.html vkDestroyFence registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyFence" vkDestroyFence ::-               VkDevice -- ^ device-                        -> VkFence -- ^ fence-                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                -> IO ()---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkResetFences---   >     ( VkDevice device---   >     , uint32_t fenceCount---   >     , const VkFence* pFences---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkResetFences.html vkResetFences registry at www.khronos.org>-foreign import ccall unsafe "vkResetFences" vkResetFences ::-               VkDevice -- ^ device-                        -> Word32 -- ^ fenceCount-                                  -> Ptr VkFence -- ^ pFences-                                                 -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------   > VkResult vkGetFenceStatus---   >     ( VkDevice device---   >     , VkFence fence---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetFenceStatus.html vkGetFenceStatus registry at www.khronos.org>-foreign import ccall unsafe "vkGetFenceStatus" vkGetFenceStatus ::-               VkDevice -- ^ device-                        -> VkFence -- ^ fence-                                   -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_TIMEOUT'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------   > VkResult vkWaitForFences---   >     ( VkDevice device---   >     , uint32_t fenceCount---   >     , const VkFence* pFences---   >     , VkBool32 waitAll---   >     , uint64_t timeout---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkWaitForFences.html vkWaitForFences registry at www.khronos.org>-foreign import ccall unsafe "vkWaitForFences" vkWaitForFences ::-               VkDevice -- ^ device-                        ->-                 Word32 -- ^ fenceCount-                        -> Ptr VkFence -- ^ pFences-                                       -> VkBool32 -- ^ waitAll-                                                   -> Word64 -- ^ timeout-                                                             -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateSemaphore---   >     ( VkDevice device---   >     , const VkSemaphoreCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkSemaphore* pSemaphore---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateSemaphore.html vkCreateSemaphore registry at www.khronos.org>-foreign import ccall unsafe "vkCreateSemaphore" vkCreateSemaphore-               ::-               VkDevice -- ^ device-                        ->-                 Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo-                                           ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkSemaphore -- ^ pSemaphore-                                                                -> IO VkResult---- | > () vkDestroySemaphore---   >     ( VkDevice device---   >     , VkSemaphore semaphore---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroySemaphore.html vkDestroySemaphore registry at www.khronos.org>-foreign import ccall unsafe "vkDestroySemaphore" vkDestroySemaphore-               :: VkDevice -- ^ device-                           -> VkSemaphore -- ^ semaphore-                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                       -> IO ()---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateEvent---   >     ( VkDevice device---   >     , const VkEventCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkEvent* pEvent---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateEvent.html vkCreateEvent registry at www.khronos.org>-foreign import ccall unsafe "vkCreateEvent" vkCreateEvent ::-               VkDevice -- ^ device-                        ->-                 Ptr VkEventCreateInfo -- ^ pCreateInfo-                                       ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkEvent -- ^ pEvent-                                                            -> IO VkResult---- | > () vkDestroyEvent---   >     ( VkDevice device---   >     , VkEvent event---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroyEvent.html vkDestroyEvent registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyEvent" vkDestroyEvent ::-               VkDevice -- ^ device-                        -> VkEvent -- ^ event-                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                -> IO ()---- | Success codes: 'VK_EVENT_SET', 'VK_EVENT_RESET'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------   > VkResult vkGetEventStatus---   >     ( VkDevice device---   >     , VkEvent event---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetEventStatus.html vkGetEventStatus registry at www.khronos.org>-foreign import ccall unsafe "vkGetEventStatus" vkGetEventStatus ::-               VkDevice -- ^ device-                        -> VkEvent -- ^ event-                                   -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkSetEvent---   >     ( VkDevice device---   >     , VkEvent event---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkSetEvent.html vkSetEvent registry at www.khronos.org>-foreign import ccall unsafe "vkSetEvent" vkSetEvent ::-               VkDevice -- ^ device-                        -> VkEvent -- ^ event-                                   -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkResetEvent---   >     ( VkDevice device---   >     , VkEvent event---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkResetEvent.html vkResetEvent registry at www.khronos.org>-foreign import ccall unsafe "vkResetEvent" vkResetEvent ::-               VkDevice -- ^ device-                        -> VkEvent -- ^ event-                                   -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateQueryPool---   >     ( VkDevice device---   >     , const VkQueryPoolCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkQueryPool* pQueryPool---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateQueryPool.html vkCreateQueryPool registry at www.khronos.org>-foreign import ccall unsafe "vkCreateQueryPool" vkCreateQueryPool-               ::-               VkDevice -- ^ device-                        ->-                 Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo-                                           ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkQueryPool -- ^ pQueryPool-                                                                -> IO VkResult---- | > () vkDestroyQueryPool---   >     ( VkDevice device---   >     , VkQueryPool queryPool---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroyQueryPool.html vkDestroyQueryPool registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyQueryPool" vkDestroyQueryPool-               :: VkDevice -- ^ device-                           -> VkQueryPool -- ^ queryPool-                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                       -> IO ()---- | Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------   > VkResult vkGetQueryPoolResults---   >     ( VkDevice device---   >     , VkQueryPool queryPool---   >     , uint32_t firstQuery---   >     , uint32_t queryCount---   >     , size_t dataSize---   >     , void* pData---   >     , VkDeviceSize stride---   >     , VkQueryResultFlags flags---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetQueryPoolResults.html vkGetQueryPoolResults registry at www.khronos.org>-foreign import ccall unsafe "vkGetQueryPoolResults"-               vkGetQueryPoolResults ::-               VkDevice -- ^ device-                        ->-                 VkQueryPool -- ^ queryPool-                             ->-                   Word32 -- ^ firstQuery-                          ->-                     Word32 -- ^ queryCount-                            ->-                       CSize -- ^ dataSize-                             ->-                         Ptr Void -- ^ pData-                                  -> VkDeviceSize -- ^ stride-                                                  -> VkQueryResultFlags -- ^ flags-                                                                        -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateBuffer---   >     ( VkDevice device---   >     , const VkBufferCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkBuffer* pBuffer---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateBuffer.html vkCreateBuffer registry at www.khronos.org>-foreign import ccall unsafe "vkCreateBuffer" vkCreateBuffer ::-               VkDevice -- ^ device-                        ->-                 Ptr VkBufferCreateInfo -- ^ pCreateInfo-                                        ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkBuffer -- ^ pBuffer-                                                             -> IO VkResult---- | > () vkDestroyBuffer---   >     ( VkDevice device---   >     , VkBuffer buffer---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroyBuffer.html vkDestroyBuffer registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyBuffer" vkDestroyBuffer ::-               VkDevice -- ^ device-                        -> VkBuffer -- ^ buffer-                                    -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                 -> IO ()---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateBufferView---   >     ( VkDevice device---   >     , const VkBufferViewCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkBufferView* pView---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateBufferView.html vkCreateBufferView registry at www.khronos.org>-foreign import ccall unsafe "vkCreateBufferView" vkCreateBufferView-               ::-               VkDevice -- ^ device-                        ->-                 Ptr VkBufferViewCreateInfo -- ^ pCreateInfo-                                            ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkBufferView -- ^ pView-                                                                 -> IO VkResult---- | > () vkDestroyBufferView---   >     ( VkDevice device---   >     , VkBufferView bufferView---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroyBufferView.html vkDestroyBufferView registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyBufferView"-               vkDestroyBufferView ::-               VkDevice -- ^ device-                        -> VkBufferView -- ^ bufferView-                                        -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                     -> IO ()---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateImage---   >     ( VkDevice device---   >     , const VkImageCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkImage* pImage---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateImage.html vkCreateImage registry at www.khronos.org>-foreign import ccall unsafe "vkCreateImage" vkCreateImage ::-               VkDevice -- ^ device-                        ->-                 Ptr VkImageCreateInfo -- ^ pCreateInfo-                                       ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkImage -- ^ pImage-                                                            -> IO VkResult---- | > () vkDestroyImage---   >     ( VkDevice device---   >     , VkImage image---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroyImage.html vkDestroyImage registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyImage" vkDestroyImage ::-               VkDevice -- ^ device-                        -> VkImage -- ^ image-                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                -> IO ()---- | > () vkGetImageSubresourceLayout---   >     ( VkDevice device---   >     , VkImage image---   >     , const VkImageSubresource* pSubresource---   >     , VkSubresourceLayout* pLayout---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetImageSubresourceLayout.html vkGetImageSubresourceLayout registry at www.khronos.org>-foreign import ccall unsafe "vkGetImageSubresourceLayout"-               vkGetImageSubresourceLayout ::-               VkDevice -- ^ device-                        ->-                 VkImage -- ^ image-                         ->-                   Ptr VkImageSubresource -- ^ pSubresource-                                          -> Ptr VkSubresourceLayout -- ^ pLayout-                                                                     -> IO ()---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateImageView---   >     ( VkDevice device---   >     , const VkImageViewCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkImageView* pView---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateImageView.html vkCreateImageView registry at www.khronos.org>-foreign import ccall unsafe "vkCreateImageView" vkCreateImageView-               ::-               VkDevice -- ^ device-                        ->-                 Ptr VkImageViewCreateInfo -- ^ pCreateInfo-                                           ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkImageView -- ^ pView-                                                                -> IO VkResult---- | > () vkDestroyImageView---   >     ( VkDevice device---   >     , VkImageView imageView---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroyImageView.html vkDestroyImageView registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyImageView" vkDestroyImageView-               :: VkDevice -- ^ device-                           -> VkImageView -- ^ imageView-                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                       -> IO ()---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.------   > VkResult vkCreateShaderModule---   >     ( VkDevice device---   >     , const VkShaderModuleCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkShaderModule* pShaderModule---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateShaderModule.html vkCreateShaderModule registry at www.khronos.org>-foreign import ccall unsafe "vkCreateShaderModule"-               vkCreateShaderModule ::-               VkDevice -- ^ device-                        ->-                 Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo-                                              ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkShaderModule -- ^ pShaderModule-                                                                   -> IO VkResult---- | > () vkDestroyShaderModule---   >     ( VkDevice device---   >     , VkShaderModule shaderModule---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroyShaderModule.html vkDestroyShaderModule registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyShaderModule"-               vkDestroyShaderModule ::-               VkDevice -- ^ device-                        -> VkShaderModule -- ^ shaderModule-                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                       -> IO ()---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreatePipelineCache---   >     ( VkDevice device---   >     , const VkPipelineCacheCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkPipelineCache* pPipelineCache---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreatePipelineCache.html vkCreatePipelineCache registry at www.khronos.org>-foreign import ccall unsafe "vkCreatePipelineCache"-               vkCreatePipelineCache ::-               VkDevice -- ^ device-                        ->-                 Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo-                                               ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkPipelineCache -- ^ pPipelineCache-                                                                    -> IO VkResult---- | > () vkDestroyPipelineCache---   >     ( VkDevice device---   >     , VkPipelineCache pipelineCache---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroyPipelineCache.html vkDestroyPipelineCache registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyPipelineCache"-               vkDestroyPipelineCache ::-               VkDevice -- ^ device-                        -> VkPipelineCache -- ^ pipelineCache-                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                        -> IO ()---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkGetPipelineCacheData---   >     ( VkDevice device---   >     , VkPipelineCache pipelineCache---   >     , size_t* pDataSize---   >     , void* pData---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPipelineCacheData.html vkGetPipelineCacheData registry at www.khronos.org>-foreign import ccall unsafe "vkGetPipelineCacheData"-               vkGetPipelineCacheData ::-               VkDevice -- ^ device-                        -> VkPipelineCache -- ^ pipelineCache-                                           -> Ptr CSize -- ^ pDataSize-                                                        -> Ptr Void -- ^ pData-                                                                    -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkMergePipelineCaches---   >     ( VkDevice device---   >     , VkPipelineCache dstCache---   >     , uint32_t srcCacheCount---   >     , const VkPipelineCache* pSrcCaches---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkMergePipelineCaches.html vkMergePipelineCaches registry at www.khronos.org>-foreign import ccall unsafe "vkMergePipelineCaches"-               vkMergePipelineCaches ::-               VkDevice -- ^ device-                        ->-                 VkPipelineCache -- ^ dstCache-                                 -> Word32 -- ^ srcCacheCount-                                           -> Ptr VkPipelineCache -- ^ pSrcCaches-                                                                  -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.------   > VkResult vkCreateGraphicsPipelines---   >     ( VkDevice device---   >     , VkPipelineCache pipelineCache---   >     , uint32_t createInfoCount---   >     , const VkGraphicsPipelineCreateInfo* pCreateInfos---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkPipeline* pPipelines---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateGraphicsPipelines.html vkCreateGraphicsPipelines registry at www.khronos.org>-foreign import ccall unsafe "vkCreateGraphicsPipelines"-               vkCreateGraphicsPipelines ::-               VkDevice -- ^ device-                        ->-                 VkPipelineCache -- ^ pipelineCache-                                 ->-                   Word32 -- ^ createInfoCount-                          ->-                     Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos-                                                      ->-                       Ptr VkAllocationCallbacks -- ^ pAllocator-                                                 -> Ptr VkPipeline -- ^ pPipelines-                                                                   -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.------   > VkResult vkCreateComputePipelines---   >     ( VkDevice device---   >     , VkPipelineCache pipelineCache---   >     , uint32_t createInfoCount---   >     , const VkComputePipelineCreateInfo* pCreateInfos---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkPipeline* pPipelines---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateComputePipelines.html vkCreateComputePipelines registry at www.khronos.org>-foreign import ccall unsafe "vkCreateComputePipelines"-               vkCreateComputePipelines ::-               VkDevice -- ^ device-                        ->-                 VkPipelineCache -- ^ pipelineCache-                                 ->-                   Word32 -- ^ createInfoCount-                          ->-                     Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos-                                                     ->-                       Ptr VkAllocationCallbacks -- ^ pAllocator-                                                 -> Ptr VkPipeline -- ^ pPipelines-                                                                   -> IO VkResult---- | > () vkDestroyPipeline---   >     ( VkDevice device---   >     , VkPipeline pipeline---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroyPipeline.html vkDestroyPipeline registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyPipeline" vkDestroyPipeline-               :: VkDevice -- ^ device-                           -> VkPipeline -- ^ pipeline-                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                      -> IO ()---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreatePipelineLayout---   >     ( VkDevice device---   >     , const VkPipelineLayoutCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkPipelineLayout* pPipelineLayout---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreatePipelineLayout.html vkCreatePipelineLayout registry at www.khronos.org>-foreign import ccall unsafe "vkCreatePipelineLayout"-               vkCreatePipelineLayout ::-               VkDevice -- ^ device-                        ->-                 Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo-                                                ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkPipelineLayout -- ^ pPipelineLayout-                                                                     -> IO VkResult---- | > () vkDestroyPipelineLayout---   >     ( VkDevice device---   >     , VkPipelineLayout pipelineLayout---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroyPipelineLayout.html vkDestroyPipelineLayout registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyPipelineLayout"-               vkDestroyPipelineLayout ::-               VkDevice -- ^ device-                        -> VkPipelineLayout -- ^ pipelineLayout-                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                         -> IO ()---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS'.------   > VkResult vkCreateSampler---   >     ( VkDevice device---   >     , const VkSamplerCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkSampler* pSampler---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateSampler.html vkCreateSampler registry at www.khronos.org>-foreign import ccall unsafe "vkCreateSampler" vkCreateSampler ::-               VkDevice -- ^ device-                        ->-                 Ptr VkSamplerCreateInfo -- ^ pCreateInfo-                                         ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkSampler -- ^ pSampler-                                                              -> IO VkResult---- | > () vkDestroySampler---   >     ( VkDevice device---   >     , VkSampler sampler---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroySampler.html vkDestroySampler registry at www.khronos.org>-foreign import ccall unsafe "vkDestroySampler" vkDestroySampler ::-               VkDevice -- ^ device-                        -> VkSampler -- ^ sampler-                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                  -> IO ()---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateDescriptorSetLayout---   >     ( VkDevice device---   >     , const VkDescriptorSetLayoutCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkDescriptorSetLayout* pSetLayout---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateDescriptorSetLayout.html vkCreateDescriptorSetLayout registry at www.khronos.org>-foreign import ccall unsafe "vkCreateDescriptorSetLayout"-               vkCreateDescriptorSetLayout ::-               VkDevice -- ^ device-                        ->-                 Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo-                                                     ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             ->-                     Ptr VkDescriptorSetLayout -- ^ pSetLayout-                                               -> IO VkResult---- | > () vkDestroyDescriptorSetLayout---   >     ( VkDevice device---   >     , VkDescriptorSetLayout descriptorSetLayout---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroyDescriptorSetLayout.html vkDestroyDescriptorSetLayout registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyDescriptorSetLayout"-               vkDestroyDescriptorSetLayout ::-               VkDevice -- ^ device-                        ->-                 VkDescriptorSetLayout -- ^ descriptorSetLayout-                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                    -> IO ()---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateDescriptorPool---   >     ( VkDevice device---   >     , const VkDescriptorPoolCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkDescriptorPool* pDescriptorPool---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateDescriptorPool.html vkCreateDescriptorPool registry at www.khronos.org>-foreign import ccall unsafe "vkCreateDescriptorPool"-               vkCreateDescriptorPool ::-               VkDevice -- ^ device-                        ->-                 Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo-                                                ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkDescriptorPool -- ^ pDescriptorPool-                                                                     -> IO VkResult---- | > () vkDestroyDescriptorPool---   >     ( VkDevice device---   >     , VkDescriptorPool descriptorPool---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroyDescriptorPool.html vkDestroyDescriptorPool registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyDescriptorPool"-               vkDestroyDescriptorPool ::-               VkDevice -- ^ device-                        -> VkDescriptorPool -- ^ descriptorPool-                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                         -> IO ()---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkResetDescriptorPool---   >     ( VkDevice device---   >     , VkDescriptorPool descriptorPool---   >     , VkDescriptorPoolResetFlags flags---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkResetDescriptorPool.html vkResetDescriptorPool registry at www.khronos.org>-foreign import ccall unsafe "vkResetDescriptorPool"-               vkResetDescriptorPool ::-               VkDevice -- ^ device-                        ->-                 VkDescriptorPool -- ^ descriptorPool-                                  -> VkDescriptorPoolResetFlags -- ^ flags-                                                                -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTED_POOL', 'VK_ERROR_OUT_OF_POOL_MEMORY_KHR'.------   > VkResult vkAllocateDescriptorSets---   >     ( VkDevice device---   >     , const VkDescriptorSetAllocateInfo* pAllocateInfo---   >     , VkDescriptorSet* pDescriptorSets---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkAllocateDescriptorSets.html vkAllocateDescriptorSets registry at www.khronos.org>-foreign import ccall unsafe "vkAllocateDescriptorSets"-               vkAllocateDescriptorSets ::-               VkDevice -- ^ device-                        ->-                 Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo-                                                 ->-                   Ptr VkDescriptorSet -- ^ pDescriptorSets-                                       -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkFreeDescriptorSets---   >     ( VkDevice device---   >     , VkDescriptorPool descriptorPool---   >     , uint32_t descriptorSetCount---   >     , const VkDescriptorSet* pDescriptorSets---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkFreeDescriptorSets.html vkFreeDescriptorSets registry at www.khronos.org>-foreign import ccall unsafe "vkFreeDescriptorSets"-               vkFreeDescriptorSets ::-               VkDevice -- ^ device-                        ->-                 VkDescriptorPool -- ^ descriptorPool-                                  -> Word32 -- ^ descriptorSetCount-                                            -> Ptr VkDescriptorSet -- ^ pDescriptorSets-                                                                   -> IO VkResult---- | > () vkUpdateDescriptorSets---   >     ( VkDevice device---   >     , uint32_t descriptorWriteCount---   >     , const VkWriteDescriptorSet* pDescriptorWrites---   >     , uint32_t descriptorCopyCount---   >     , const VkCopyDescriptorSet* pDescriptorCopies---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkUpdateDescriptorSets.html vkUpdateDescriptorSets registry at www.khronos.org>-foreign import ccall unsafe "vkUpdateDescriptorSets"-               vkUpdateDescriptorSets ::-               VkDevice -- ^ device-                        ->-                 Word32 -- ^ descriptorWriteCount-                        ->-                   Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites-                                            ->-                     Word32 -- ^ descriptorCopyCount-                            -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies-                                                       -> IO ()---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateFramebuffer---   >     ( VkDevice device---   >     , const VkFramebufferCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkFramebuffer* pFramebuffer---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateFramebuffer.html vkCreateFramebuffer registry at www.khronos.org>-foreign import ccall unsafe "vkCreateFramebuffer"-               vkCreateFramebuffer ::-               VkDevice -- ^ device-                        ->-                 Ptr VkFramebufferCreateInfo -- ^ pCreateInfo-                                             ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkFramebuffer -- ^ pFramebuffer-                                                                  -> IO VkResult---- | > () vkDestroyFramebuffer---   >     ( VkDevice device---   >     , VkFramebuffer framebuffer---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroyFramebuffer.html vkDestroyFramebuffer registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyFramebuffer"-               vkDestroyFramebuffer ::-               VkDevice -- ^ device-                        -> VkFramebuffer -- ^ framebuffer-                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                      -> IO ()---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateRenderPass---   >     ( VkDevice device---   >     , const VkRenderPassCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkRenderPass* pRenderPass---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateRenderPass.html vkCreateRenderPass registry at www.khronos.org>-foreign import ccall unsafe "vkCreateRenderPass" vkCreateRenderPass-               ::-               VkDevice -- ^ device-                        ->-                 Ptr VkRenderPassCreateInfo -- ^ pCreateInfo-                                            ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkRenderPass -- ^ pRenderPass-                                                                 -> IO VkResult---- | > () vkDestroyRenderPass---   >     ( VkDevice device---   >     , VkRenderPass renderPass---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroyRenderPass.html vkDestroyRenderPass registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyRenderPass"-               vkDestroyRenderPass ::-               VkDevice -- ^ device-                        -> VkRenderPass -- ^ renderPass-                                        -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                     -> IO ()---- | > () vkGetRenderAreaGranularity---   >     ( VkDevice device---   >     , VkRenderPass renderPass---   >     , VkExtent2D* pGranularity---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetRenderAreaGranularity.html vkGetRenderAreaGranularity registry at www.khronos.org>-foreign import ccall unsafe "vkGetRenderAreaGranularity"-               vkGetRenderAreaGranularity ::-               VkDevice -- ^ device-                        -> VkRenderPass -- ^ renderPass-                                        -> Ptr VkExtent2D -- ^ pGranularity-                                                          -> IO ()---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkCreateCommandPool---   >     ( VkDevice device---   >     , const VkCommandPoolCreateInfo* pCreateInfo---   >     , const VkAllocationCallbacks* pAllocator---   >     , VkCommandPool* pCommandPool---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateCommandPool.html vkCreateCommandPool registry at www.khronos.org>-foreign import ccall unsafe "vkCreateCommandPool"-               vkCreateCommandPool ::-               VkDevice -- ^ device-                        ->-                 Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo-                                             ->-                   Ptr VkAllocationCallbacks -- ^ pAllocator-                                             -> Ptr VkCommandPool -- ^ pCommandPool-                                                                  -> IO VkResult---- | > () vkDestroyCommandPool---   >     ( VkDevice device---   >     , VkCommandPool commandPool---   >     , const VkAllocationCallbacks* pAllocator---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroyCommandPool.html vkDestroyCommandPool registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyCommandPool"-               vkDestroyCommandPool ::-               VkDevice -- ^ device-                        -> VkCommandPool -- ^ commandPool-                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                      -> IO ()---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkResetCommandPool---   >     ( VkDevice device---   >     , VkCommandPool commandPool---   >     , VkCommandPoolResetFlags flags---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkResetCommandPool.html vkResetCommandPool registry at www.khronos.org>-foreign import ccall unsafe "vkResetCommandPool" vkResetCommandPool-               ::-               VkDevice -- ^ device-                        -> VkCommandPool -- ^ commandPool-                                         -> VkCommandPoolResetFlags -- ^ flags-                                                                    -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkAllocateCommandBuffers---   >     ( VkDevice device---   >     , const VkCommandBufferAllocateInfo* pAllocateInfo---   >     , VkCommandBuffer* pCommandBuffers---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkAllocateCommandBuffers.html vkAllocateCommandBuffers registry at www.khronos.org>-foreign import ccall unsafe "vkAllocateCommandBuffers"-               vkAllocateCommandBuffers ::-               VkDevice -- ^ device-                        ->-                 Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo-                                                 ->-                   Ptr VkCommandBuffer -- ^ pCommandBuffers-                                       -> IO VkResult---- | > () vkFreeCommandBuffers---   >     ( VkDevice device---   >     , VkCommandPool commandPool---   >     , uint32_t commandBufferCount---   >     , const VkCommandBuffer* pCommandBuffers---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkFreeCommandBuffers.html vkFreeCommandBuffers registry at www.khronos.org>-foreign import ccall unsafe "vkFreeCommandBuffers"-               vkFreeCommandBuffers ::-               VkDevice -- ^ device-                        -> VkCommandPool -- ^ commandPool-                                         -> Word32 -- ^ commandBufferCount-                                                   -> Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                                          -> IO ()---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkBeginCommandBuffer---   >     ( VkCommandBuffer commandBuffer---   >     , const VkCommandBufferBeginInfo* pBeginInfo---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkBeginCommandBuffer.html vkBeginCommandBuffer registry at www.khronos.org>-foreign import ccall unsafe "vkBeginCommandBuffer"-               vkBeginCommandBuffer ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo-                                                               -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkEndCommandBuffer---   >     ( VkCommandBuffer commandBuffer---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkEndCommandBuffer.html vkEndCommandBuffer registry at www.khronos.org>-foreign import ccall unsafe "vkEndCommandBuffer" vkEndCommandBuffer-               :: VkCommandBuffer -- ^ commandBuffer-                                  -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkResetCommandBuffer---   >     ( VkCommandBuffer commandBuffer---   >     , VkCommandBufferResetFlags flags---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkResetCommandBuffer.html vkResetCommandBuffer registry at www.khronos.org>-foreign import ccall unsafe "vkResetCommandBuffer"-               vkResetCommandBuffer ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkCommandBufferResetFlags -- ^ flags-                                                            -> IO VkResult---- | queues: 'graphics', 'compute'.------   renderpass: @both@------   > () vkCmdBindPipeline---   >     ( VkCommandBuffer commandBuffer---   >     , VkPipelineBindPoint pipelineBindPoint---   >     , VkPipeline pipeline---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdBindPipeline.html vkCmdBindPipeline registry at www.khronos.org>-foreign import ccall unsafe "vkCmdBindPipeline" vkCmdBindPipeline-               :: VkCommandBuffer -- ^ commandBuffer-                                  -> VkPipelineBindPoint -- ^ pipelineBindPoint-                                                         -> VkPipeline -- ^ pipeline-                                                                       -> IO ()---- | queues: 'graphics'.------   renderpass: @both@------   > () vkCmdSetViewport---   >     ( VkCommandBuffer commandBuffer---   >     , uint32_t firstViewport---   >     , uint32_t viewportCount---   >     , const VkViewport* pViewports---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdSetViewport.html vkCmdSetViewport registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetViewport" vkCmdSetViewport ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Word32 -- ^ firstViewport-                                         -> Word32 -- ^ viewportCount-                                                   -> Ptr VkViewport -- ^ pViewports-                                                                     -> IO ()---- | queues: 'graphics'.------   renderpass: @both@------   > () vkCmdSetScissor---   >     ( VkCommandBuffer commandBuffer---   >     , uint32_t firstScissor---   >     , uint32_t scissorCount---   >     , const VkRect2D* pScissors---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdSetScissor.html vkCmdSetScissor registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetScissor" vkCmdSetScissor ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Word32 -- ^ firstScissor-                                         -> Word32 -- ^ scissorCount-                                                   -> Ptr VkRect2D -- ^ pScissors-                                                                   -> IO ()---- | queues: 'graphics'.------   renderpass: @both@------   > () vkCmdSetLineWidth---   >     ( VkCommandBuffer commandBuffer---   >     , float lineWidth---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdSetLineWidth.html vkCmdSetLineWidth registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetLineWidth" vkCmdSetLineWidth-               :: VkCommandBuffer -- ^ commandBuffer-                                  -> #{type float} -> IO ()---- | queues: 'graphics'.------   renderpass: @both@------   > () vkCmdSetDepthBias---   >     ( VkCommandBuffer commandBuffer---   >     , float depthBiasConstantFactor---   >     , float depthBiasClamp---   >     , float depthBiasSlopeFactor---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdSetDepthBias.html vkCmdSetDepthBias registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetDepthBias" vkCmdSetDepthBias-               ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 #{type float} ->-                   #{type float} -> #{type float} -> IO ()---- | queues: 'graphics'.------   renderpass: @both@------   > () vkCmdSetBlendConstants---   >     ( VkCommandBuffer commandBuffer---   >     , const float blendConstants[4]---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdSetBlendConstants.html vkCmdSetBlendConstants registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetBlendConstants"-               vkCmdSetBlendConstants ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Ptr #{type float} -- ^ blendConstants-                                                                -> IO ()---- | queues: 'graphics'.------   renderpass: @both@------   > () vkCmdSetDepthBounds---   >     ( VkCommandBuffer commandBuffer---   >     , float minDepthBounds---   >     , float maxDepthBounds---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdSetDepthBounds.html vkCmdSetDepthBounds registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetDepthBounds"-               vkCmdSetDepthBounds ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 #{type float} -> #{type float} -> IO ()---- | queues: 'graphics'.------   renderpass: @both@------   > () vkCmdSetStencilCompareMask---   >     ( VkCommandBuffer commandBuffer---   >     , VkStencilFaceFlags faceMask---   >     , uint32_t compareMask---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdSetStencilCompareMask.html vkCmdSetStencilCompareMask registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetStencilCompareMask"-               vkCmdSetStencilCompareMask ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkStencilFaceFlags -- ^ faceMask-                                                     -> Word32 -- ^ compareMask-                                                               -> IO ()---- | queues: 'graphics'.------   renderpass: @both@------   > () vkCmdSetStencilWriteMask---   >     ( VkCommandBuffer commandBuffer---   >     , VkStencilFaceFlags faceMask---   >     , uint32_t writeMask---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdSetStencilWriteMask.html vkCmdSetStencilWriteMask registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetStencilWriteMask"-               vkCmdSetStencilWriteMask ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkStencilFaceFlags -- ^ faceMask-                                                     -> Word32 -- ^ writeMask-                                                               -> IO ()---- | queues: 'graphics'.------   renderpass: @both@------   > () vkCmdSetStencilReference---   >     ( VkCommandBuffer commandBuffer---   >     , VkStencilFaceFlags faceMask---   >     , uint32_t reference---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdSetStencilReference.html vkCmdSetStencilReference registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetStencilReference"-               vkCmdSetStencilReference ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkStencilFaceFlags -- ^ faceMask-                                                     -> Word32 -- ^ reference-                                                               -> IO ()---- | queues: 'graphics', 'compute'.------   renderpass: @both@------   > () vkCmdBindDescriptorSets---   >     ( VkCommandBuffer commandBuffer---   >     , VkPipelineBindPoint pipelineBindPoint---   >     , VkPipelineLayout layout---   >     , uint32_t firstSet---   >     , uint32_t descriptorSetCount---   >     , const VkDescriptorSet* pDescriptorSets---   >     , uint32_t dynamicOffsetCount---   >     , const uint32_t* pDynamicOffsets---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdBindDescriptorSets.html vkCmdBindDescriptorSets registry at www.khronos.org>-foreign import ccall unsafe "vkCmdBindDescriptorSets"-               vkCmdBindDescriptorSets ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkPipelineBindPoint -- ^ pipelineBindPoint-                                     ->-                   VkPipelineLayout -- ^ layout-                                    ->-                     Word32 -- ^ firstSet-                            ->-                       Word32 -- ^ descriptorSetCount-                              -> Ptr VkDescriptorSet -- ^ pDescriptorSets-                                                     -> Word32 -- ^ dynamicOffsetCount-                                                               -> Ptr Word32 -- ^ pDynamicOffsets-                                                                             -> IO ()---- | queues: 'graphics'.------   renderpass: @both@------   > () vkCmdBindIndexBuffer---   >     ( VkCommandBuffer commandBuffer---   >     , VkBuffer buffer---   >     , VkDeviceSize offset---   >     , VkIndexType indexType---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdBindIndexBuffer.html vkCmdBindIndexBuffer registry at www.khronos.org>-foreign import ccall unsafe "vkCmdBindIndexBuffer"-               vkCmdBindIndexBuffer ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkBuffer -- ^ buffer-                                           -> VkDeviceSize -- ^ offset-                                                           -> VkIndexType -- ^ indexType-                                                                          -> IO ()---- | queues: 'graphics'.------   renderpass: @both@------   > () vkCmdBindVertexBuffers---   >     ( VkCommandBuffer commandBuffer---   >     , uint32_t firstBinding---   >     , uint32_t bindingCount---   >     , const VkBuffer* pBuffers---   >     , const VkDeviceSize* pOffsets---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdBindVertexBuffers.html vkCmdBindVertexBuffers registry at www.khronos.org>-foreign import ccall unsafe "vkCmdBindVertexBuffers"-               vkCmdBindVertexBuffers ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 Word32 -- ^ firstBinding-                        -> Word32 -- ^ bindingCount-                                  -> Ptr VkBuffer -- ^ pBuffers-                                                  -> Ptr VkDeviceSize -- ^ pOffsets-                                                                      -> IO ()---- | queues: 'graphics'.------   renderpass: @inside@------   pipeline: @graphics@------   > () vkCmdDraw---   >     ( VkCommandBuffer commandBuffer---   >     , uint32_t vertexCount---   >     , uint32_t instanceCount---   >     , uint32_t firstVertex---   >     , uint32_t firstInstance---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdDraw.html vkCmdDraw registry at www.khronos.org>-foreign import ccall unsafe "vkCmdDraw" vkCmdDraw ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Word32 -- ^ vertexCount-                                         -> Word32 -- ^ instanceCount-                                                   -> Word32 -- ^ firstVertex-                                                             -> Word32 -- ^ firstInstance-                                                                       -> IO ()---- | queues: 'graphics'.------   renderpass: @inside@------   pipeline: @graphics@------   > () vkCmdDrawIndexed---   >     ( VkCommandBuffer commandBuffer---   >     , uint32_t indexCount---   >     , uint32_t instanceCount---   >     , uint32_t firstIndex---   >     , int32_t vertexOffset---   >     , uint32_t firstInstance---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdDrawIndexed.html vkCmdDrawIndexed registry at www.khronos.org>-foreign import ccall unsafe "vkCmdDrawIndexed" vkCmdDrawIndexed ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 Word32 -- ^ indexCount-                        -> Word32 -- ^ instanceCount-                                  -> Word32 -- ^ firstIndex-                                            -> Int32 -- ^ vertexOffset-                                                     -> Word32 -- ^ firstInstance-                                                               -> IO ()---- | queues: 'graphics'.------   renderpass: @inside@------   pipeline: @graphics@------   > () vkCmdDrawIndirect---   >     ( VkCommandBuffer commandBuffer---   >     , VkBuffer buffer---   >     , VkDeviceSize offset---   >     , uint32_t drawCount---   >     , uint32_t stride---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdDrawIndirect.html vkCmdDrawIndirect registry at www.khronos.org>-foreign import ccall unsafe "vkCmdDrawIndirect" vkCmdDrawIndirect-               ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ buffer-                          -> VkDeviceSize -- ^ offset-                                          -> Word32 -- ^ drawCount-                                                    -> Word32 -- ^ stride-                                                              -> IO ()---- | queues: 'graphics'.------   renderpass: @inside@------   pipeline: @graphics@------   > () vkCmdDrawIndexedIndirect---   >     ( VkCommandBuffer commandBuffer---   >     , VkBuffer buffer---   >     , VkDeviceSize offset---   >     , uint32_t drawCount---   >     , uint32_t stride---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdDrawIndexedIndirect.html vkCmdDrawIndexedIndirect registry at www.khronos.org>-foreign import ccall unsafe "vkCmdDrawIndexedIndirect"-               vkCmdDrawIndexedIndirect ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ buffer-                          -> VkDeviceSize -- ^ offset-                                          -> Word32 -- ^ drawCount-                                                    -> Word32 -- ^ stride-                                                              -> IO ()---- | queues: 'compute'.------   renderpass: @outside@------   pipeline: @compute@------   > () vkCmdDispatch---   >     ( VkCommandBuffer commandBuffer---   >     , uint32_t groupCountX---   >     , uint32_t groupCountY---   >     , uint32_t groupCountZ---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdDispatch.html vkCmdDispatch registry at www.khronos.org>-foreign import ccall unsafe "vkCmdDispatch" vkCmdDispatch ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Word32 -- ^ groupCountX-                                         -> Word32 -- ^ groupCountY-                                                   -> Word32 -- ^ groupCountZ-                                                             -> IO ()---- | queues: 'compute'.------   renderpass: @outside@------   pipeline: @compute@------   > () vkCmdDispatchIndirect---   >     ( VkCommandBuffer commandBuffer---   >     , VkBuffer buffer---   >     , VkDeviceSize offset---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdDispatchIndirect.html vkCmdDispatchIndirect registry at www.khronos.org>-foreign import ccall unsafe "vkCmdDispatchIndirect"-               vkCmdDispatchIndirect ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkBuffer -- ^ buffer-                                           -> VkDeviceSize -- ^ offset-                                                           -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------   renderpass: @outside@------   pipeline: @transfer@------   > () vkCmdCopyBuffer---   >     ( VkCommandBuffer commandBuffer---   >     , VkBuffer srcBuffer---   >     , VkBuffer dstBuffer---   >     , uint32_t regionCount---   >     , const VkBufferCopy* pRegions---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdCopyBuffer.html vkCmdCopyBuffer registry at www.khronos.org>-foreign import ccall unsafe "vkCmdCopyBuffer" vkCmdCopyBuffer ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ srcBuffer-                          -> VkBuffer -- ^ dstBuffer-                                      -> Word32 -- ^ regionCount-                                                -> Ptr VkBufferCopy -- ^ pRegions-                                                                    -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------   renderpass: @outside@------   pipeline: @transfer@------   > () vkCmdCopyImage---   >     ( VkCommandBuffer commandBuffer---   >     , VkImage srcImage---   >     , VkImageLayout srcImageLayout---   >     , VkImage dstImage---   >     , VkImageLayout dstImageLayout---   >     , uint32_t regionCount---   >     , const VkImageCopy* pRegions---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdCopyImage.html vkCmdCopyImage registry at www.khronos.org>-foreign import ccall unsafe "vkCmdCopyImage" vkCmdCopyImage ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ srcImage-                         ->-                   VkImageLayout -- ^ srcImageLayout-                                 ->-                     VkImage -- ^ dstImage-                             -> VkImageLayout -- ^ dstImageLayout-                                              -> Word32 -- ^ regionCount-                                                        -> Ptr VkImageCopy -- ^ pRegions-                                                                           -> IO ()---- | queues: 'graphics'.------   renderpass: @outside@------   pipeline: @transfer@------   > () vkCmdBlitImage---   >     ( VkCommandBuffer commandBuffer---   >     , VkImage srcImage---   >     , VkImageLayout srcImageLayout---   >     , VkImage dstImage---   >     , VkImageLayout dstImageLayout---   >     , uint32_t regionCount---   >     , const VkImageBlit* pRegions---   >     , VkFilter filter---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdBlitImage.html vkCmdBlitImage registry at www.khronos.org>-foreign import ccall unsafe "vkCmdBlitImage" vkCmdBlitImage ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ srcImage-                         ->-                   VkImageLayout -- ^ srcImageLayout-                                 ->-                     VkImage -- ^ dstImage-                             ->-                       VkImageLayout -- ^ dstImageLayout-                                     -> Word32 -- ^ regionCount-                                               -> Ptr VkImageBlit -- ^ pRegions-                                                                  -> VkFilter -- ^ filter-                                                                              -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------   renderpass: @outside@------   pipeline: @transfer@------   > () vkCmdCopyBufferToImage---   >     ( VkCommandBuffer commandBuffer---   >     , VkBuffer srcBuffer---   >     , VkImage dstImage---   >     , VkImageLayout dstImageLayout---   >     , uint32_t regionCount---   >     , const VkBufferImageCopy* pRegions---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdCopyBufferToImage.html vkCmdCopyBufferToImage registry at www.khronos.org>-foreign import ccall unsafe "vkCmdCopyBufferToImage"-               vkCmdCopyBufferToImage ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ srcBuffer-                          ->-                   VkImage -- ^ dstImage-                           ->-                     VkImageLayout -- ^ dstImageLayout-                                   -> Word32 -- ^ regionCount-                                             -> Ptr VkBufferImageCopy -- ^ pRegions-                                                                      -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------   renderpass: @outside@------   pipeline: @transfer@------   > () vkCmdCopyImageToBuffer---   >     ( VkCommandBuffer commandBuffer---   >     , VkImage srcImage---   >     , VkImageLayout srcImageLayout---   >     , VkBuffer dstBuffer---   >     , uint32_t regionCount---   >     , const VkBufferImageCopy* pRegions---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdCopyImageToBuffer.html vkCmdCopyImageToBuffer registry at www.khronos.org>-foreign import ccall unsafe "vkCmdCopyImageToBuffer"-               vkCmdCopyImageToBuffer ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ srcImage-                         ->-                   VkImageLayout -- ^ srcImageLayout-                                 ->-                     VkBuffer -- ^ dstBuffer-                              -> Word32 -- ^ regionCount-                                        -> Ptr VkBufferImageCopy -- ^ pRegions-                                                                 -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------   renderpass: @outside@------   pipeline: @transfer@------   > () vkCmdUpdateBuffer---   >     ( VkCommandBuffer commandBuffer---   >     , VkBuffer dstBuffer---   >     , VkDeviceSize dstOffset---   >     , VkDeviceSize dataSize---   >     , const void* pData---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdUpdateBuffer.html vkCmdUpdateBuffer registry at www.khronos.org>-foreign import ccall unsafe "vkCmdUpdateBuffer" vkCmdUpdateBuffer-               ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ dstBuffer-                          -> VkDeviceSize -- ^ dstOffset-                                          -> VkDeviceSize -- ^ dataSize-                                                          -> Ptr Void -- ^ pData-                                                                      -> IO ()---- | transfer support is only available when VK_KHR_maintenance1 is enabled, as documented in valid usage language in the specification------   queues: 'transfer', 'graphics', 'compute'.------   renderpass: @outside@------   pipeline: @transfer@------   > () vkCmdFillBuffer---   >     ( VkCommandBuffer commandBuffer---   >     , VkBuffer dstBuffer---   >     , VkDeviceSize dstOffset---   >     , VkDeviceSize size---   >     , uint32_t data---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdFillBuffer.html vkCmdFillBuffer registry at www.khronos.org>-foreign import ccall unsafe "vkCmdFillBuffer" vkCmdFillBuffer ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkBuffer -- ^ dstBuffer-                          -> VkDeviceSize -- ^ dstOffset-                                          -> VkDeviceSize -- ^ size-                                                          -> Word32 -- ^ data-                                                                    -> IO ()---- | queues: 'graphics', 'compute'.------   renderpass: @outside@------   pipeline: @transfer@------   > () vkCmdClearColorImage---   >     ( VkCommandBuffer commandBuffer---   >     , VkImage image---   >     , VkImageLayout imageLayout---   >     , const VkClearColorValue* pColor---   >     , uint32_t rangeCount---   >     , const VkImageSubresourceRange* pRanges---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdClearColorImage.html vkCmdClearColorImage registry at www.khronos.org>-foreign import ccall unsafe "vkCmdClearColorImage"-               vkCmdClearColorImage ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ image-                         ->-                   VkImageLayout -- ^ imageLayout-                                 ->-                     Ptr VkClearColorValue -- ^ pColor-                                           ->-                       Word32 -- ^ rangeCount-                              -> Ptr VkImageSubresourceRange -- ^ pRanges-                                                             -> IO ()---- | queues: 'graphics'.------   renderpass: @outside@------   pipeline: @transfer@------   > () vkCmdClearDepthStencilImage---   >     ( VkCommandBuffer commandBuffer---   >     , VkImage image---   >     , VkImageLayout imageLayout---   >     , const VkClearDepthStencilValue* pDepthStencil---   >     , uint32_t rangeCount---   >     , const VkImageSubresourceRange* pRanges---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdClearDepthStencilImage.html vkCmdClearDepthStencilImage registry at www.khronos.org>-foreign import ccall unsafe "vkCmdClearDepthStencilImage"-               vkCmdClearDepthStencilImage ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ image-                         ->-                   VkImageLayout -- ^ imageLayout-                                 ->-                     Ptr VkClearDepthStencilValue -- ^ pDepthStencil-                                                  ->-                       Word32 -- ^ rangeCount-                              -> Ptr VkImageSubresourceRange -- ^ pRanges-                                                             -> IO ()---- | queues: 'graphics'.------   renderpass: @inside@------   pipeline: @graphics@------   > () vkCmdClearAttachments---   >     ( VkCommandBuffer commandBuffer---   >     , uint32_t attachmentCount---   >     , const VkClearAttachment* pAttachments---   >     , uint32_t rectCount---   >     , const VkClearRect* pRects---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdClearAttachments.html vkCmdClearAttachments registry at www.khronos.org>-foreign import ccall unsafe "vkCmdClearAttachments"-               vkCmdClearAttachments ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 Word32 -- ^ attachmentCount-                        ->-                   Ptr VkClearAttachment -- ^ pAttachments-                                         -> Word32 -- ^ rectCount-                                                   -> Ptr VkClearRect -- ^ pRects-                                                                      -> IO ()---- | queues: 'graphics'.------   renderpass: @outside@------   pipeline: @transfer@------   > () vkCmdResolveImage---   >     ( VkCommandBuffer commandBuffer---   >     , VkImage srcImage---   >     , VkImageLayout srcImageLayout---   >     , VkImage dstImage---   >     , VkImageLayout dstImageLayout---   >     , uint32_t regionCount---   >     , const VkImageResolve* pRegions---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdResolveImage.html vkCmdResolveImage registry at www.khronos.org>-foreign import ccall unsafe "vkCmdResolveImage" vkCmdResolveImage-               ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkImage -- ^ srcImage-                         ->-                   VkImageLayout -- ^ srcImageLayout-                                 ->-                     VkImage -- ^ dstImage-                             -> VkImageLayout -- ^ dstImageLayout-                                              -> Word32 -- ^ regionCount-                                                        -> Ptr VkImageResolve -- ^ pRegions-                                                                              -> IO ()---- | queues: 'graphics', 'compute'.------   renderpass: @outside@------   > () vkCmdSetEvent---   >     ( VkCommandBuffer commandBuffer---   >     , VkEvent event---   >     , VkPipelineStageFlags stageMask---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdSetEvent.html vkCmdSetEvent registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetEvent" vkCmdSetEvent ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkEvent -- ^ event-                                          -> VkPipelineStageFlags -- ^ stageMask-                                                                  -> IO ()---- | queues: 'graphics', 'compute'.------   renderpass: @outside@------   > () vkCmdResetEvent---   >     ( VkCommandBuffer commandBuffer---   >     , VkEvent event---   >     , VkPipelineStageFlags stageMask---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdResetEvent.html vkCmdResetEvent registry at www.khronos.org>-foreign import ccall unsafe "vkCmdResetEvent" vkCmdResetEvent ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkEvent -- ^ event-                                          -> VkPipelineStageFlags -- ^ stageMask-                                                                  -> IO ()---- | queues: 'graphics', 'compute'.------   renderpass: @both@------   > () vkCmdWaitEvents---   >     ( VkCommandBuffer commandBuffer---   >     , uint32_t eventCount---   >     , const VkEvent* pEvents---   >     , VkPipelineStageFlags srcStageMask---   >     , VkPipelineStageFlags dstStageMask---   >     , uint32_t memoryBarrierCount---   >     , const VkMemoryBarrier* pMemoryBarriers---   >     , uint32_t bufferMemoryBarrierCount---   >     , const VkBufferMemoryBarrier* pBufferMemoryBarriers---   >     , uint32_t imageMemoryBarrierCount---   >     , const VkImageMemoryBarrier* pImageMemoryBarriers---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdWaitEvents.html vkCmdWaitEvents registry at www.khronos.org>-foreign import ccall unsafe "vkCmdWaitEvents" vkCmdWaitEvents ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 Word32 -- ^ eventCount-                        ->-                   Ptr VkEvent -- ^ pEvents-                               ->-                     VkPipelineStageFlags -- ^ srcStageMask-                                          ->-                       VkPipelineStageFlags -- ^ dstStageMask-                                            ->-                         Word32 -- ^ memoryBarrierCount-                                ->-                           Ptr VkMemoryBarrier -- ^ pMemoryBarriers-                                               ->-                             Word32 -- ^ bufferMemoryBarrierCount-                                    ->-                               Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers-                                                         ->-                                 Word32 -- ^ imageMemoryBarrierCount-                                        -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers-                                                                    -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------   renderpass: @both@------   > () vkCmdPipelineBarrier---   >     ( VkCommandBuffer commandBuffer---   >     , VkPipelineStageFlags srcStageMask---   >     , VkPipelineStageFlags dstStageMask---   >     , VkDependencyFlags dependencyFlags---   >     , uint32_t memoryBarrierCount---   >     , const VkMemoryBarrier* pMemoryBarriers---   >     , uint32_t bufferMemoryBarrierCount---   >     , const VkBufferMemoryBarrier* pBufferMemoryBarriers---   >     , uint32_t imageMemoryBarrierCount---   >     , const VkImageMemoryBarrier* pImageMemoryBarriers---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdPipelineBarrier.html vkCmdPipelineBarrier registry at www.khronos.org>-foreign import ccall unsafe "vkCmdPipelineBarrier"-               vkCmdPipelineBarrier ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkPipelineStageFlags -- ^ srcStageMask-                                      ->-                   VkPipelineStageFlags -- ^ dstStageMask-                                        ->-                     VkDependencyFlags -- ^ dependencyFlags-                                       ->-                       Word32 -- ^ memoryBarrierCount-                              ->-                         Ptr VkMemoryBarrier -- ^ pMemoryBarriers-                                             ->-                           Word32 -- ^ bufferMemoryBarrierCount-                                  ->-                             Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers-                                                       ->-                               Word32 -- ^ imageMemoryBarrierCount-                                      -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers-                                                                  -> IO ()---- | queues: 'graphics', 'compute'.------   renderpass: @both@------   > () vkCmdBeginQuery---   >     ( VkCommandBuffer commandBuffer---   >     , VkQueryPool queryPool---   >     , uint32_t query---   >     , VkQueryControlFlags flags---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdBeginQuery.html vkCmdBeginQuery registry at www.khronos.org>-foreign import ccall unsafe "vkCmdBeginQuery" vkCmdBeginQuery ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkQueryPool -- ^ queryPool-                             -> Word32 -- ^ query-                                       -> VkQueryControlFlags -- ^ flags-                                                              -> IO ()---- | queues: 'graphics', 'compute'.------   renderpass: @both@------   > () vkCmdEndQuery---   >     ( VkCommandBuffer commandBuffer---   >     , VkQueryPool queryPool---   >     , uint32_t query---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdEndQuery.html vkCmdEndQuery registry at www.khronos.org>-foreign import ccall unsafe "vkCmdEndQuery" vkCmdEndQuery ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkQueryPool -- ^ queryPool-                                              -> Word32 -- ^ query-                                                        -> IO ()---- | queues: 'graphics', 'compute'.------   renderpass: @outside@------   > () vkCmdResetQueryPool---   >     ( VkCommandBuffer commandBuffer---   >     , VkQueryPool queryPool---   >     , uint32_t firstQuery---   >     , uint32_t queryCount---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdResetQueryPool.html vkCmdResetQueryPool registry at www.khronos.org>-foreign import ccall unsafe "vkCmdResetQueryPool"-               vkCmdResetQueryPool ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkQueryPool -- ^ queryPool-                                              -> Word32 -- ^ firstQuery-                                                        -> Word32 -- ^ queryCount-                                                                  -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------   renderpass: @both@------   pipeline: @transfer@------   > () vkCmdWriteTimestamp---   >     ( VkCommandBuffer commandBuffer---   >     , VkPipelineStageFlagBits pipelineStage---   >     , VkQueryPool queryPool---   >     , uint32_t query---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdWriteTimestamp.html vkCmdWriteTimestamp registry at www.khronos.org>-foreign import ccall unsafe "vkCmdWriteTimestamp"-               vkCmdWriteTimestamp ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkPipelineStageFlagBits -- ^ pipelineStage-                                         -> VkQueryPool -- ^ queryPool-                                                        -> Word32 -- ^ query-                                                                  -> IO ()---- | queues: 'graphics', 'compute'.------   renderpass: @outside@------   pipeline: @transfer@------   > () vkCmdCopyQueryPoolResults---   >     ( VkCommandBuffer commandBuffer---   >     , VkQueryPool queryPool---   >     , uint32_t firstQuery---   >     , uint32_t queryCount---   >     , VkBuffer dstBuffer---   >     , VkDeviceSize dstOffset---   >     , VkDeviceSize stride---   >     , VkQueryResultFlags flags---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdCopyQueryPoolResults.html vkCmdCopyQueryPoolResults registry at www.khronos.org>-foreign import ccall unsafe "vkCmdCopyQueryPoolResults"-               vkCmdCopyQueryPoolResults ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkQueryPool -- ^ queryPool-                             ->-                   Word32 -- ^ firstQuery-                          ->-                     Word32 -- ^ queryCount-                            ->-                       VkBuffer -- ^ dstBuffer-                                ->-                         VkDeviceSize -- ^ dstOffset-                                      -> VkDeviceSize -- ^ stride-                                                      -> VkQueryResultFlags -- ^ flags-                                                                            -> IO ()---- | queues: 'graphics', 'compute'.------   renderpass: @both@------   > () vkCmdPushConstants---   >     ( VkCommandBuffer commandBuffer---   >     , VkPipelineLayout layout---   >     , VkShaderStageFlags stageFlags---   >     , uint32_t offset---   >     , uint32_t size---   >     , const void* pValues---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdPushConstants.html vkCmdPushConstants registry at www.khronos.org>-foreign import ccall unsafe "vkCmdPushConstants" vkCmdPushConstants-               ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkPipelineLayout -- ^ layout-                                  ->-                   VkShaderStageFlags -- ^ stageFlags-                                      -> Word32 -- ^ offset-                                                -> Word32 -- ^ size-                                                          -> Ptr Void -- ^ pValues-                                                                      -> IO ()---- | queues: 'graphics'.------   renderpass: @outside@------   pipeline: @graphics@------   > () vkCmdBeginRenderPass---   >     ( VkCommandBuffer commandBuffer---   >     , const VkRenderPassBeginInfo* pRenderPassBegin---   >     , VkSubpassContents contents---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdBeginRenderPass.html vkCmdBeginRenderPass registry at www.khronos.org>-foreign import ccall unsafe "vkCmdBeginRenderPass"-               vkCmdBeginRenderPass ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin-                                           -> VkSubpassContents -- ^ contents-                                                                -> IO ()---- | queues: 'graphics'.------   renderpass: @inside@------   pipeline: @graphics@------   > () vkCmdNextSubpass---   >     ( VkCommandBuffer commandBuffer---   >     , VkSubpassContents contents---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdNextSubpass.html vkCmdNextSubpass registry at www.khronos.org>-foreign import ccall unsafe "vkCmdNextSubpass" vkCmdNextSubpass ::-               VkCommandBuffer -- ^ commandBuffer-                               -> VkSubpassContents -- ^ contents-                                                    -> IO ()---- | queues: 'graphics'.------   renderpass: @inside@------   pipeline: @graphics@------   > () vkCmdEndRenderPass---   >     ( VkCommandBuffer commandBuffer---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdEndRenderPass.html vkCmdEndRenderPass registry at www.khronos.org>-foreign import ccall unsafe "vkCmdEndRenderPass" vkCmdEndRenderPass-               :: VkCommandBuffer -- ^ commandBuffer-                                  -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------   renderpass: @both@------   > () vkCmdExecuteCommands---   >     ( VkCommandBuffer commandBuffer---   >     , uint32_t commandBufferCount---   >     , const VkCommandBuffer* pCommandBuffers---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdExecuteCommands.html vkCmdExecuteCommands registry at www.khronos.org>-foreign import ccall unsafe "vkCmdExecuteCommands"-               vkCmdExecuteCommands ::-               VkCommandBuffer -- ^ commandBuffer-                               -> Word32 -- ^ commandBufferCount-                                         -> Ptr VkCommandBuffer -- ^ pCommandBuffers-                                                                -> IO ()
+ src-gen/Graphics/Vulkan/Core_1_0.hsc view
@@ -0,0 +1,5937 @@+#include "vulkan/vulkan.h"++{-# OPTIONS_GHC -fno-warn-unused-imports#-}+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+module Graphics.Vulkan.Core_1_0+       (-- * Vulkan core API interface definitions+        -- |+        --+        -- @api = vulkan@+        --+        -- @name = VK_VERSION_1_0@+        --+        -- @number = 1.0@+        --++        -- ** Header boilerplate+        --+        -- |+        -- > ##include "vk_platform.h"+        --++        -- ** API version+        --++        -- ** API constants+        module Graphics.Vulkan.Types.Enum.VkPipelineCacheHeaderVersion,+        pattern VK_LOD_CLAMP_NONE, pattern VK_REMAINING_MIP_LEVELS,+        pattern VK_REMAINING_ARRAY_LAYERS, pattern VK_WHOLE_SIZE,+        pattern VK_ATTACHMENT_UNUSED, pattern VK_TRUE, pattern VK_FALSE,+        pattern VK_QUEUE_FAMILY_IGNORED, pattern VK_SUBPASS_EXTERNAL,+        -- ** Device initialization+        vkCreateInstance, vkCreateInstanceSafe, vkDestroyInstance,+        vkDestroyInstanceSafe, vkEnumeratePhysicalDevices,+        vkEnumeratePhysicalDevicesSafe, vkGetPhysicalDeviceFeatures,+        vkGetPhysicalDeviceFeaturesSafe,+        vkGetPhysicalDeviceFormatProperties,+        vkGetPhysicalDeviceFormatPropertiesSafe,+        vkGetPhysicalDeviceImageFormatProperties,+        vkGetPhysicalDeviceImageFormatPropertiesSafe,+        vkGetPhysicalDeviceProperties, vkGetPhysicalDevicePropertiesSafe,+        vkGetPhysicalDeviceQueueFamilyProperties,+        vkGetPhysicalDeviceQueueFamilyPropertiesSafe,+        vkGetPhysicalDeviceMemoryProperties,+        vkGetPhysicalDeviceMemoryPropertiesSafe, vkGetInstanceProcAddr,+        vkGetInstanceProcAddrSafe, vkGetDeviceProcAddr,+        vkGetDeviceProcAddrSafe, module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Enum.VkFormat,+        module Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags,+        module Graphics.Vulkan.Types.Enum.VkImageCreateFlags,+        module Graphics.Vulkan.Types.Enum.VkImageTiling,+        module Graphics.Vulkan.Types.Enum.VkImageType,+        module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,+        module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,+        module Graphics.Vulkan.Types.Enum.VkMemoryHeapFlags,+        module Graphics.Vulkan.Types.Enum.VkMemoryPropertyFlags,+        module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,+        module Graphics.Vulkan.Types.Enum.VkQueueFlags,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,+        module Graphics.Vulkan.Types.Funcpointers,+        module Graphics.Vulkan.Types.Handles,+        module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,+        module Graphics.Vulkan.Types.Struct.VkApplicationInfo,+        module Graphics.Vulkan.Types.Struct.VkExtent3D,+        module Graphics.Vulkan.Types.Struct.VkFormatProperties,+        module Graphics.Vulkan.Types.Struct.VkImageFormatProperties,+        module Graphics.Vulkan.Types.Struct.VkInstanceCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkMemoryHeap,+        module Graphics.Vulkan.Types.Struct.VkMemoryType,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,+        module Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties,+        -- ** Device commands+        vkCreateDevice, vkCreateDeviceSafe, vkDestroyDevice,+        vkDestroyDeviceSafe,+        module Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags,+        module Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo,+        -- ** Extension discovery commands+        vkEnumerateInstanceExtensionProperties,+        vkEnumerateInstanceExtensionPropertiesSafe,+        vkEnumerateDeviceExtensionProperties,+        vkEnumerateDeviceExtensionPropertiesSafe,+        module Graphics.Vulkan.Types.Struct.VkExtensionProperties,+        -- ** Layer discovery commands+        vkEnumerateInstanceLayerProperties,+        vkEnumerateInstanceLayerPropertiesSafe,+        vkEnumerateDeviceLayerProperties,+        vkEnumerateDeviceLayerPropertiesSafe,+        module Graphics.Vulkan.Types.Struct.VkLayerProperties,+        -- ** queue commands+        vkGetDeviceQueue, vkGetDeviceQueueSafe, vkQueueSubmit,+        vkQueueSubmitSafe, vkQueueWaitIdle, vkQueueWaitIdleSafe,+        vkDeviceWaitIdle, vkDeviceWaitIdleSafe,+        module Graphics.Vulkan.Types.Enum.VkPipelineStageFlags,+        module Graphics.Vulkan.Types.Struct.VkSubmitInfo, -- ** Memory commands+                                                          vkAllocateMemory,+        vkAllocateMemorySafe, vkFreeMemory, vkFreeMemorySafe, vkMapMemory,+        vkMapMemorySafe, vkUnmapMemory, vkUnmapMemorySafe,+        vkFlushMappedMemoryRanges, vkFlushMappedMemoryRangesSafe,+        vkInvalidateMappedMemoryRanges, vkInvalidateMappedMemoryRangesSafe,+        vkGetDeviceMemoryCommitment, vkGetDeviceMemoryCommitmentSafe,+        module Graphics.Vulkan.Types.Struct.VkMappedMemoryRange,+        module Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo,+        -- ** Memory management API commands+        vkBindBufferMemory, vkBindBufferMemorySafe, vkBindImageMemory,+        vkBindImageMemorySafe, vkGetBufferMemoryRequirements,+        vkGetBufferMemoryRequirementsSafe, vkGetImageMemoryRequirements,+        vkGetImageMemoryRequirementsSafe,+        module Graphics.Vulkan.Types.Struct.VkMemoryRequirements,+        -- ** Sparse resource memory management API commands+        vkGetImageSparseMemoryRequirements,+        vkGetImageSparseMemoryRequirementsSafe,+        vkGetPhysicalDeviceSparseImageFormatProperties,+        vkGetPhysicalDeviceSparseImageFormatPropertiesSafe,+        vkQueueBindSparse, vkQueueBindSparseSafe,+        module Graphics.Vulkan.Types.Enum.VkImageAspectFlags,+        module Graphics.Vulkan.Types.Enum.VkSparseImageFormatFlags,+        module Graphics.Vulkan.Types.Enum.VkSparseMemoryBindFlags,+        module Graphics.Vulkan.Types.Struct.VkBindSparseInfo,+        module Graphics.Vulkan.Types.Struct.VkImageSubresource,+        module Graphics.Vulkan.Types.Struct.VkOffset3D,+        module Graphics.Vulkan.Types.Struct.VkSparseBufferMemoryBindInfo,+        module Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties,+        module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBind,+        module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBindInfo,+        module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements,+        module Graphics.Vulkan.Types.Struct.VkSparseImageOpaqueMemoryBindInfo,+        module Graphics.Vulkan.Types.Struct.VkSparseMemoryBind,+        -- ** Fence commands+        vkCreateFence, vkCreateFenceSafe, vkDestroyFence,+        vkDestroyFenceSafe, vkResetFences, vkResetFencesSafe,+        vkGetFenceStatus, vkGetFenceStatusSafe, vkWaitForFences,+        vkWaitForFencesSafe,+        module Graphics.Vulkan.Types.Enum.VkFenceCreateFlags,+        module Graphics.Vulkan.Types.Struct.VkFenceCreateInfo,+        -- ** Queue semaphore commands+        vkCreateSemaphore, vkCreateSemaphoreSafe, vkDestroySemaphore,+        vkDestroySemaphoreSafe,+        module Graphics.Vulkan.Types.Struct.VkSemaphoreCreateInfo,+        -- ** Event commands+        vkCreateEvent, vkCreateEventSafe, vkDestroyEvent,+        vkDestroyEventSafe, vkGetEventStatus, vkGetEventStatusSafe,+        vkSetEvent, vkSetEventSafe, vkResetEvent, vkResetEventSafe,+        module Graphics.Vulkan.Types.Struct.VkEventCreateInfo,+        -- ** Query commands+        vkCreateQueryPool, vkCreateQueryPoolSafe, vkDestroyQueryPool,+        vkDestroyQueryPoolSafe, vkGetQueryPoolResults,+        vkGetQueryPoolResultsSafe,+        module Graphics.Vulkan.Types.Enum.VkQueryPipelineStatisticFlags,+        module Graphics.Vulkan.Types.Enum.VkQueryResultFlags,+        module Graphics.Vulkan.Types.Enum.VkQueryType,+        module Graphics.Vulkan.Types.Struct.VkQueryPoolCreateInfo,+        -- ** Buffer commands+        vkCreateBuffer, vkCreateBufferSafe, vkDestroyBuffer,+        vkDestroyBufferSafe,+        module Graphics.Vulkan.Types.Enum.VkBufferCreateFlags,+        module Graphics.Vulkan.Types.Enum.VkBufferUsageFlags,+        module Graphics.Vulkan.Types.Enum.VkSharingMode,+        module Graphics.Vulkan.Types.Struct.VkBufferCreateInfo,+        -- ** Buffer view commands+        vkCreateBufferView, vkCreateBufferViewSafe, vkDestroyBufferView,+        vkDestroyBufferViewSafe,+        module Graphics.Vulkan.Types.Struct.VkBufferViewCreateInfo,+        -- ** Image commands+        vkCreateImage, vkCreateImageSafe, vkDestroyImage,+        vkDestroyImageSafe, vkGetImageSubresourceLayout,+        vkGetImageSubresourceLayoutSafe,+        module Graphics.Vulkan.Types.Enum.VkImageLayout,+        module Graphics.Vulkan.Types.Struct.VkImageCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkSubresourceLayout,+        -- ** Image view commands+        vkCreateImageView, vkCreateImageViewSafe, vkDestroyImageView,+        vkDestroyImageViewSafe,+        module Graphics.Vulkan.Types.Enum.VkComponentSwizzle,+        module Graphics.Vulkan.Types.Enum.VkImageViewType,+        module Graphics.Vulkan.Types.Struct.VkComponentMapping,+        module Graphics.Vulkan.Types.Struct.VkImageSubresourceRange,+        module Graphics.Vulkan.Types.Struct.VkImageViewCreateInfo,+        -- ** Shader commands+        vkCreateShaderModule, vkCreateShaderModuleSafe,+        vkDestroyShaderModule, vkDestroyShaderModuleSafe,+        module Graphics.Vulkan.Types.Struct.VkShaderModuleCreateInfo,+        -- ** Pipeline Cache commands+        vkCreatePipelineCache, vkCreatePipelineCacheSafe,+        vkDestroyPipelineCache, vkDestroyPipelineCacheSafe,+        vkGetPipelineCacheData, vkGetPipelineCacheDataSafe,+        vkMergePipelineCaches, vkMergePipelineCachesSafe,+        module Graphics.Vulkan.Types.Struct.VkPipelineCacheCreateInfo,+        -- ** Pipeline commands+        vkCreateGraphicsPipelines, vkCreateGraphicsPipelinesSafe,+        vkCreateComputePipelines, vkCreateComputePipelinesSafe,+        vkDestroyPipeline, vkDestroyPipelineSafe,+        module Graphics.Vulkan.Types.Enum.VkBlendFactor,+        module Graphics.Vulkan.Types.Enum.VkBlendOp,+        module Graphics.Vulkan.Types.Enum.VkColorComponentFlags,+        module Graphics.Vulkan.Types.Enum.VkCompareOp,+        module Graphics.Vulkan.Types.Enum.VkCullModeFlags,+        module Graphics.Vulkan.Types.Enum.VkDynamicState,+        module Graphics.Vulkan.Types.Enum.VkFrontFace,+        module Graphics.Vulkan.Types.Enum.VkLogicOp,+        module Graphics.Vulkan.Types.Enum.VkPipelineCreateFlags,+        module Graphics.Vulkan.Types.Enum.VkPolygonMode,+        module Graphics.Vulkan.Types.Enum.VkPrimitiveTopology,+        module Graphics.Vulkan.Types.Enum.VkShaderStageFlags,+        module Graphics.Vulkan.Types.Enum.VkStencilOp,+        module Graphics.Vulkan.Types.Enum.VkVertexInputRate,+        module Graphics.Vulkan.Types.Struct.VkComputePipelineCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkExtent2D,+        module Graphics.Vulkan.Types.Struct.VkGraphicsPipelineCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkOffset2D,+        module Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAttachmentState,+        module Graphics.Vulkan.Types.Struct.VkPipelineColorBlendStateCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkPipelineDepthStencilStateCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkPipelineDynamicStateCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkPipelineInputAssemblyStateCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkPipelineMultisampleStateCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkPipelineRasterizationStateCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkPipelineShaderStageCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkPipelineTessellationStateCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkPipelineVertexInputStateCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkPipelineViewportStateCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkRect2D,+        module Graphics.Vulkan.Types.Struct.VkSpecializationInfo,+        module Graphics.Vulkan.Types.Struct.VkSpecializationMapEntry,+        module Graphics.Vulkan.Types.Struct.VkStencilOpState,+        module Graphics.Vulkan.Types.Struct.VkVertexInputAttributeDescription,+        module Graphics.Vulkan.Types.Struct.VkVertexInputBindingDescription,+        module Graphics.Vulkan.Types.Struct.VkViewport,+        -- ** Pipeline layout commands+        vkCreatePipelineLayout, vkCreatePipelineLayoutSafe,+        vkDestroyPipelineLayout, vkDestroyPipelineLayoutSafe,+        module Graphics.Vulkan.Types.Struct.VkPipelineLayoutCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkPushConstantRange,+        -- ** Sampler commands+        vkCreateSampler, vkCreateSamplerSafe, vkDestroySampler,+        vkDestroySamplerSafe,+        module Graphics.Vulkan.Types.Enum.VkBorderColor,+        module Graphics.Vulkan.Types.Enum.VkFilter,+        module Graphics.Vulkan.Types.Enum.VkSamplerAddressMode,+        module Graphics.Vulkan.Types.Enum.VkSamplerMipmapMode,+        module Graphics.Vulkan.Types.Struct.VkSamplerCreateInfo,+        -- ** Descriptor set commands+        vkCreateDescriptorSetLayout, vkCreateDescriptorSetLayoutSafe,+        vkDestroyDescriptorSetLayout, vkDestroyDescriptorSetLayoutSafe,+        vkCreateDescriptorPool, vkCreateDescriptorPoolSafe,+        vkDestroyDescriptorPool, vkDestroyDescriptorPoolSafe,+        vkResetDescriptorPool, vkResetDescriptorPoolSafe,+        vkAllocateDescriptorSets, vkAllocateDescriptorSetsSafe,+        vkFreeDescriptorSets, vkFreeDescriptorSetsSafe,+        vkUpdateDescriptorSets, vkUpdateDescriptorSetsSafe,+        module Graphics.Vulkan.Types.Enum.VkDescriptorPoolCreateFlags,+        module Graphics.Vulkan.Types.Enum.VkDescriptorSetLayoutCreateFlags,+        module Graphics.Vulkan.Types.Enum.VkDescriptorType,+        module Graphics.Vulkan.Types.Struct.VkCopyDescriptorSet,+        module Graphics.Vulkan.Types.Struct.VkDescriptorBufferInfo,+        module Graphics.Vulkan.Types.Struct.VkDescriptorImageInfo,+        module Graphics.Vulkan.Types.Struct.VkDescriptorPoolCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkDescriptorPoolSize,+        module Graphics.Vulkan.Types.Struct.VkDescriptorSetAllocateInfo,+        module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutBinding,+        module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkWriteDescriptorSet,+        -- ** Pass commands+        vkCreateFramebuffer, vkCreateFramebufferSafe, vkDestroyFramebuffer,+        vkDestroyFramebufferSafe, vkCreateRenderPass,+        vkCreateRenderPassSafe, vkDestroyRenderPass,+        vkDestroyRenderPassSafe, vkGetRenderAreaGranularity,+        vkGetRenderAreaGranularitySafe,+        module Graphics.Vulkan.Types.Enum.VkAccessFlags,+        module Graphics.Vulkan.Types.Enum.VkAttachmentDescriptionFlags,+        module Graphics.Vulkan.Types.Enum.VkAttachmentLoadOp,+        module Graphics.Vulkan.Types.Enum.VkAttachmentStoreOp,+        module Graphics.Vulkan.Types.Enum.VkDependencyFlags,+        module Graphics.Vulkan.Types.Enum.VkPipelineBindPoint,+        module Graphics.Vulkan.Types.Enum.VkSubpassDescriptionFlags,+        module Graphics.Vulkan.Types.Struct.VkAttachmentDescription,+        module Graphics.Vulkan.Types.Struct.VkAttachmentReference,+        module Graphics.Vulkan.Types.Struct.VkFramebufferCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkRenderPassCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkSubpassDependency,+        module Graphics.Vulkan.Types.Struct.VkSubpassDescription,+        -- ** Command pool commands+        vkCreateCommandPool, vkCreateCommandPoolSafe, vkDestroyCommandPool,+        vkDestroyCommandPoolSafe, vkResetCommandPool,+        vkResetCommandPoolSafe,+        module Graphics.Vulkan.Types.Enum.VkCommandPoolCreateFlags,+        module Graphics.Vulkan.Types.Enum.VkCommandPoolResetFlags,+        module Graphics.Vulkan.Types.Struct.VkCommandPoolCreateInfo,+        -- ** Command buffer commands+        vkAllocateCommandBuffers, vkAllocateCommandBuffersSafe,+        vkFreeCommandBuffers, vkFreeCommandBuffersSafe,+        vkBeginCommandBuffer, vkBeginCommandBufferSafe, vkEndCommandBuffer,+        vkEndCommandBufferSafe, vkResetCommandBuffer,+        vkResetCommandBufferSafe,+        module Graphics.Vulkan.Types.Enum.VkCommandBufferLevel,+        module Graphics.Vulkan.Types.Enum.VkCommandBufferResetFlags,+        module Graphics.Vulkan.Types.Enum.VkCommandBufferUsageFlags,+        module Graphics.Vulkan.Types.Enum.VkQueryControlFlags,+        module Graphics.Vulkan.Types.Struct.VkCommandBufferAllocateInfo,+        module Graphics.Vulkan.Types.Struct.VkCommandBufferBeginInfo,+        module Graphics.Vulkan.Types.Struct.VkCommandBufferInheritanceInfo,+        -- ** Command buffer building commands+        vkCmdBindPipeline, vkCmdBindPipelineSafe, vkCmdSetViewport,+        vkCmdSetViewportSafe, vkCmdSetScissor, vkCmdSetScissorSafe,+        vkCmdSetLineWidth, vkCmdSetLineWidthSafe, vkCmdSetDepthBias,+        vkCmdSetDepthBiasSafe, vkCmdSetBlendConstants,+        vkCmdSetBlendConstantsSafe, vkCmdSetDepthBounds,+        vkCmdSetDepthBoundsSafe, vkCmdSetStencilCompareMask,+        vkCmdSetStencilCompareMaskSafe, vkCmdSetStencilWriteMask,+        vkCmdSetStencilWriteMaskSafe, vkCmdSetStencilReference,+        vkCmdSetStencilReferenceSafe, vkCmdBindDescriptorSets,+        vkCmdBindDescriptorSetsSafe, vkCmdBindIndexBuffer,+        vkCmdBindIndexBufferSafe, vkCmdBindVertexBuffers,+        vkCmdBindVertexBuffersSafe, vkCmdDraw, vkCmdDrawSafe,+        vkCmdDrawIndexed, vkCmdDrawIndexedSafe, vkCmdDrawIndirect,+        vkCmdDrawIndirectSafe, vkCmdDrawIndexedIndirect,+        vkCmdDrawIndexedIndirectSafe, vkCmdDispatch, vkCmdDispatchSafe,+        vkCmdDispatchIndirect, vkCmdDispatchIndirectSafe, vkCmdCopyBuffer,+        vkCmdCopyBufferSafe, vkCmdCopyImage, vkCmdCopyImageSafe,+        vkCmdBlitImage, vkCmdBlitImageSafe, vkCmdCopyBufferToImage,+        vkCmdCopyBufferToImageSafe, vkCmdCopyImageToBuffer,+        vkCmdCopyImageToBufferSafe, vkCmdUpdateBuffer,+        vkCmdUpdateBufferSafe, vkCmdFillBuffer, vkCmdFillBufferSafe,+        vkCmdClearColorImage, vkCmdClearColorImageSafe,+        vkCmdClearDepthStencilImage, vkCmdClearDepthStencilImageSafe,+        vkCmdClearAttachments, vkCmdClearAttachmentsSafe,+        vkCmdResolveImage, vkCmdResolveImageSafe, vkCmdSetEvent,+        vkCmdSetEventSafe, vkCmdResetEvent, vkCmdResetEventSafe,+        vkCmdWaitEvents, vkCmdWaitEventsSafe, vkCmdPipelineBarrier,+        vkCmdPipelineBarrierSafe, vkCmdBeginQuery, vkCmdBeginQuerySafe,+        vkCmdEndQuery, vkCmdEndQuerySafe, vkCmdResetQueryPool,+        vkCmdResetQueryPoolSafe, vkCmdWriteTimestamp,+        vkCmdWriteTimestampSafe, vkCmdCopyQueryPoolResults,+        vkCmdCopyQueryPoolResultsSafe, vkCmdPushConstants,+        vkCmdPushConstantsSafe, vkCmdBeginRenderPass,+        vkCmdBeginRenderPassSafe, vkCmdNextSubpass, vkCmdNextSubpassSafe,+        vkCmdEndRenderPass, vkCmdEndRenderPassSafe, vkCmdExecuteCommands,+        vkCmdExecuteCommandsSafe,+        module Graphics.Vulkan.Types.Enum.VkIndexType,+        module Graphics.Vulkan.Types.Enum.VkStencilFaceFlags,+        module Graphics.Vulkan.Types.Enum.VkSubpassContents,+        module Graphics.Vulkan.Types.Struct.VkBufferCopy,+        module Graphics.Vulkan.Types.Struct.VkBufferImageCopy,+        module Graphics.Vulkan.Types.Struct.VkBufferMemoryBarrier,+        module Graphics.Vulkan.Types.Struct.VkClearAttachment,+        module Graphics.Vulkan.Types.Struct.VkClearColorValue,+        module Graphics.Vulkan.Types.Struct.VkClearDepthStencilValue,+        module Graphics.Vulkan.Types.Struct.VkClearRect,+        module Graphics.Vulkan.Types.Struct.VkClearValue,+        module Graphics.Vulkan.Types.Struct.VkImageBlit,+        module Graphics.Vulkan.Types.Struct.VkImageCopy,+        module Graphics.Vulkan.Types.Struct.VkImageMemoryBarrier,+        module Graphics.Vulkan.Types.Struct.VkImageResolve,+        module Graphics.Vulkan.Types.Struct.VkImageSubresourceLayers,+        module Graphics.Vulkan.Types.Struct.VkMemoryBarrier,+        module Graphics.Vulkan.Types.Struct.VkRenderPassBeginInfo,+        -- ** Types not directly used by the API. Include e.g. structs that are not parameter types of commands, but still defined by the API.+        module Graphics.Vulkan.Types.Struct.VkDispatchIndirectCommand,+        module Graphics.Vulkan.Types.Struct.VkDrawIndexedIndirectCommand,+        module Graphics.Vulkan.Types.Struct.VkDrawIndirectCommand,+        module Graphics.Vulkan.Types.Enum.VkObjectType)+       where+import           Graphics.Vulkan.Constants+                                                                                      (pattern VK_ATTACHMENT_UNUSED,+                                                                                      pattern VK_FALSE,+                                                                                      pattern VK_LOD_CLAMP_NONE,+                                                                                      pattern VK_QUEUE_FAMILY_IGNORED,+                                                                                      pattern VK_REMAINING_ARRAY_LAYERS,+                                                                                      pattern VK_REMAINING_MIP_LEVELS,+                                                                                      pattern VK_SUBPASS_EXTERNAL,+                                                                                      pattern VK_TRUE,+                                                                                      pattern VK_WHOLE_SIZE)+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Bitmasks+import           Graphics.Vulkan.Types.Enum.VkAccessFlags+import           Graphics.Vulkan.Types.Enum.VkAttachmentDescriptionFlags+import           Graphics.Vulkan.Types.Enum.VkAttachmentLoadOp+import           Graphics.Vulkan.Types.Enum.VkAttachmentStoreOp+import           Graphics.Vulkan.Types.Enum.VkBlendFactor+import           Graphics.Vulkan.Types.Enum.VkBlendOp+import           Graphics.Vulkan.Types.Enum.VkBorderColor+import           Graphics.Vulkan.Types.Enum.VkBufferCreateFlags+import           Graphics.Vulkan.Types.Enum.VkBufferUsageFlags+import           Graphics.Vulkan.Types.Enum.VkColorComponentFlags+import           Graphics.Vulkan.Types.Enum.VkCommandBufferLevel+import           Graphics.Vulkan.Types.Enum.VkCommandBufferResetFlags+import           Graphics.Vulkan.Types.Enum.VkCommandBufferUsageFlags+import           Graphics.Vulkan.Types.Enum.VkCommandPoolCreateFlags+import           Graphics.Vulkan.Types.Enum.VkCommandPoolResetFlags+import           Graphics.Vulkan.Types.Enum.VkCompareOp+import           Graphics.Vulkan.Types.Enum.VkComponentSwizzle+import           Graphics.Vulkan.Types.Enum.VkCullModeFlags+import           Graphics.Vulkan.Types.Enum.VkDependencyFlags+import           Graphics.Vulkan.Types.Enum.VkDescriptorPoolCreateFlags+import           Graphics.Vulkan.Types.Enum.VkDescriptorSetLayoutCreateFlags+import           Graphics.Vulkan.Types.Enum.VkDescriptorType+import           Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags+import           Graphics.Vulkan.Types.Enum.VkDynamicState+import           Graphics.Vulkan.Types.Enum.VkFenceCreateFlags+import           Graphics.Vulkan.Types.Enum.VkFilter+import           Graphics.Vulkan.Types.Enum.VkFormat+import           Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags+import           Graphics.Vulkan.Types.Enum.VkFrontFace+import           Graphics.Vulkan.Types.Enum.VkImageAspectFlags+import           Graphics.Vulkan.Types.Enum.VkImageCreateFlags+import           Graphics.Vulkan.Types.Enum.VkImageLayout+import           Graphics.Vulkan.Types.Enum.VkImageTiling+import           Graphics.Vulkan.Types.Enum.VkImageType+import           Graphics.Vulkan.Types.Enum.VkImageUsageFlags+import           Graphics.Vulkan.Types.Enum.VkImageViewType+import           Graphics.Vulkan.Types.Enum.VkIndexType+import           Graphics.Vulkan.Types.Enum.VkInternalAllocationType+import           Graphics.Vulkan.Types.Enum.VkLogicOp+import           Graphics.Vulkan.Types.Enum.VkMemoryHeapFlags+import           Graphics.Vulkan.Types.Enum.VkMemoryPropertyFlags+import           Graphics.Vulkan.Types.Enum.VkObjectType+import           Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType+import           Graphics.Vulkan.Types.Enum.VkPipelineBindPoint+import           Graphics.Vulkan.Types.Enum.VkPipelineCacheHeaderVersion+import           Graphics.Vulkan.Types.Enum.VkPipelineCreateFlags+import           Graphics.Vulkan.Types.Enum.VkPipelineStageFlags+import           Graphics.Vulkan.Types.Enum.VkPolygonMode+import           Graphics.Vulkan.Types.Enum.VkPrimitiveTopology+import           Graphics.Vulkan.Types.Enum.VkQueryControlFlags+import           Graphics.Vulkan.Types.Enum.VkQueryPipelineStatisticFlags+import           Graphics.Vulkan.Types.Enum.VkQueryResultFlags+import           Graphics.Vulkan.Types.Enum.VkQueryType+import           Graphics.Vulkan.Types.Enum.VkQueueFlags+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags+import           Graphics.Vulkan.Types.Enum.VkSamplerAddressMode+import           Graphics.Vulkan.Types.Enum.VkSamplerMipmapMode+import           Graphics.Vulkan.Types.Enum.VkShaderStageFlags+import           Graphics.Vulkan.Types.Enum.VkSharingMode+import           Graphics.Vulkan.Types.Enum.VkSparseImageFormatFlags+import           Graphics.Vulkan.Types.Enum.VkSparseMemoryBindFlags+import           Graphics.Vulkan.Types.Enum.VkStencilFaceFlags+import           Graphics.Vulkan.Types.Enum.VkStencilOp+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Enum.VkSubpassContents+import           Graphics.Vulkan.Types.Enum.VkSubpassDescriptionFlags+import           Graphics.Vulkan.Types.Enum.VkSystemAllocationScope+import           Graphics.Vulkan.Types.Enum.VkVertexInputRate+import           Graphics.Vulkan.Types.Funcpointers+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkAllocationCallbacks+import           Graphics.Vulkan.Types.Struct.VkApplicationInfo+import           Graphics.Vulkan.Types.Struct.VkAttachmentDescription+import           Graphics.Vulkan.Types.Struct.VkAttachmentReference+import           Graphics.Vulkan.Types.Struct.VkBindSparseInfo+import           Graphics.Vulkan.Types.Struct.VkBufferCopy+import           Graphics.Vulkan.Types.Struct.VkBufferCreateInfo+import           Graphics.Vulkan.Types.Struct.VkBufferImageCopy+import           Graphics.Vulkan.Types.Struct.VkBufferMemoryBarrier+import           Graphics.Vulkan.Types.Struct.VkBufferViewCreateInfo+import           Graphics.Vulkan.Types.Struct.VkClearAttachment+import           Graphics.Vulkan.Types.Struct.VkClearColorValue+import           Graphics.Vulkan.Types.Struct.VkClearDepthStencilValue+import           Graphics.Vulkan.Types.Struct.VkClearRect+import           Graphics.Vulkan.Types.Struct.VkClearValue+import           Graphics.Vulkan.Types.Struct.VkCommandBufferAllocateInfo+import           Graphics.Vulkan.Types.Struct.VkCommandBufferBeginInfo+import           Graphics.Vulkan.Types.Struct.VkCommandBufferInheritanceInfo+import           Graphics.Vulkan.Types.Struct.VkCommandPoolCreateInfo+import           Graphics.Vulkan.Types.Struct.VkComponentMapping+import           Graphics.Vulkan.Types.Struct.VkComputePipelineCreateInfo+import           Graphics.Vulkan.Types.Struct.VkCopyDescriptorSet+import           Graphics.Vulkan.Types.Struct.VkDescriptorBufferInfo+import           Graphics.Vulkan.Types.Struct.VkDescriptorImageInfo+import           Graphics.Vulkan.Types.Struct.VkDescriptorPoolCreateInfo+import           Graphics.Vulkan.Types.Struct.VkDescriptorPoolSize+import           Graphics.Vulkan.Types.Struct.VkDescriptorSetAllocateInfo+import           Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutBinding+import           Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutCreateInfo+import           Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo+import           Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo+import           Graphics.Vulkan.Types.Struct.VkDispatchIndirectCommand+import           Graphics.Vulkan.Types.Struct.VkDrawIndexedIndirectCommand+import           Graphics.Vulkan.Types.Struct.VkDrawIndirectCommand+import           Graphics.Vulkan.Types.Struct.VkEventCreateInfo+import           Graphics.Vulkan.Types.Struct.VkExtensionProperties+import           Graphics.Vulkan.Types.Struct.VkExtent2D+import           Graphics.Vulkan.Types.Struct.VkExtent3D+import           Graphics.Vulkan.Types.Struct.VkFenceCreateInfo+import           Graphics.Vulkan.Types.Struct.VkFormatProperties+import           Graphics.Vulkan.Types.Struct.VkFramebufferCreateInfo+import           Graphics.Vulkan.Types.Struct.VkGraphicsPipelineCreateInfo+import           Graphics.Vulkan.Types.Struct.VkImageBlit+import           Graphics.Vulkan.Types.Struct.VkImageCopy+import           Graphics.Vulkan.Types.Struct.VkImageCreateInfo+import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties+import           Graphics.Vulkan.Types.Struct.VkImageMemoryBarrier+import           Graphics.Vulkan.Types.Struct.VkImageResolve+import           Graphics.Vulkan.Types.Struct.VkImageSubresource+import           Graphics.Vulkan.Types.Struct.VkImageSubresourceLayers+import           Graphics.Vulkan.Types.Struct.VkImageSubresourceRange+import           Graphics.Vulkan.Types.Struct.VkImageViewCreateInfo+import           Graphics.Vulkan.Types.Struct.VkInstanceCreateInfo+import           Graphics.Vulkan.Types.Struct.VkLayerProperties+import           Graphics.Vulkan.Types.Struct.VkMappedMemoryRange+import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo+import           Graphics.Vulkan.Types.Struct.VkMemoryBarrier+import           Graphics.Vulkan.Types.Struct.VkMemoryHeap+import           Graphics.Vulkan.Types.Struct.VkMemoryRequirements+import           Graphics.Vulkan.Types.Struct.VkMemoryType+import           Graphics.Vulkan.Types.Struct.VkOffset2D+import           Graphics.Vulkan.Types.Struct.VkOffset3D+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties+import           Graphics.Vulkan.Types.Struct.VkPipelineCacheCreateInfo+import           Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAttachmentState+import           Graphics.Vulkan.Types.Struct.VkPipelineColorBlendStateCreateInfo+import           Graphics.Vulkan.Types.Struct.VkPipelineDepthStencilStateCreateInfo+import           Graphics.Vulkan.Types.Struct.VkPipelineDynamicStateCreateInfo+import           Graphics.Vulkan.Types.Struct.VkPipelineInputAssemblyStateCreateInfo+import           Graphics.Vulkan.Types.Struct.VkPipelineLayoutCreateInfo+import           Graphics.Vulkan.Types.Struct.VkPipelineMultisampleStateCreateInfo+import           Graphics.Vulkan.Types.Struct.VkPipelineRasterizationStateCreateInfo+import           Graphics.Vulkan.Types.Struct.VkPipelineShaderStageCreateInfo+import           Graphics.Vulkan.Types.Struct.VkPipelineTessellationStateCreateInfo+import           Graphics.Vulkan.Types.Struct.VkPipelineVertexInputStateCreateInfo+import           Graphics.Vulkan.Types.Struct.VkPipelineViewportStateCreateInfo+import           Graphics.Vulkan.Types.Struct.VkPushConstantRange+import           Graphics.Vulkan.Types.Struct.VkQueryPoolCreateInfo+import           Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties+import           Graphics.Vulkan.Types.Struct.VkRect2D+import           Graphics.Vulkan.Types.Struct.VkRenderPassBeginInfo+import           Graphics.Vulkan.Types.Struct.VkRenderPassCreateInfo+import           Graphics.Vulkan.Types.Struct.VkSamplerCreateInfo+import           Graphics.Vulkan.Types.Struct.VkSemaphoreCreateInfo+import           Graphics.Vulkan.Types.Struct.VkShaderModuleCreateInfo+import           Graphics.Vulkan.Types.Struct.VkSparseBufferMemoryBindInfo+import           Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties+import           Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBind+import           Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBindInfo+import           Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements+import           Graphics.Vulkan.Types.Struct.VkSparseImageOpaqueMemoryBindInfo+import           Graphics.Vulkan.Types.Struct.VkSparseMemoryBind+import           Graphics.Vulkan.Types.Struct.VkSpecializationInfo+import           Graphics.Vulkan.Types.Struct.VkSpecializationMapEntry+import           Graphics.Vulkan.Types.Struct.VkStencilOpState+import           Graphics.Vulkan.Types.Struct.VkSubmitInfo+import           Graphics.Vulkan.Types.Struct.VkSubpassDependency+import           Graphics.Vulkan.Types.Struct.VkSubpassDescription+import           Graphics.Vulkan.Types.Struct.VkSubresourceLayout+import           Graphics.Vulkan.Types.Struct.VkVertexInputAttributeDescription+import           Graphics.Vulkan.Types.Struct.VkVertexInputBindingDescription+import           Graphics.Vulkan.Types.Struct.VkViewport+import           Graphics.Vulkan.Types.Struct.VkWriteDescriptorSet++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_LAYER_NOT_PRESENT', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_INCOMPATIBLE_DRIVER'.+--+--   > VkResult vkCreateInstance+--   >     ( const VkInstanceCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkInstance* pInstance+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateInstance.html vkCreateInstance registry at www.khronos.org>+foreign import ccall unsafe "vkCreateInstance" vkCreateInstance ::+               Ptr VkInstanceCreateInfo -- ^ pCreateInfo+                                        ->+                 Ptr VkAllocationCallbacks -- ^ pAllocator+                                           -> Ptr VkInstance -- ^ pInstance+                                                             -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_LAYER_NOT_PRESENT', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_INCOMPATIBLE_DRIVER'.+--+--   > VkResult vkCreateInstance+--   >     ( const VkInstanceCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkInstance* pInstance+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateInstance.html vkCreateInstance registry at www.khronos.org>+foreign import ccall safe "vkCreateInstance" vkCreateInstanceSafe+               ::+               Ptr VkInstanceCreateInfo -- ^ pCreateInfo+                                        ->+                 Ptr VkAllocationCallbacks -- ^ pAllocator+                                           -> Ptr VkInstance -- ^ pInstance+                                                             -> IO VkResult++-- | > () vkDestroyInstance+--   >     ( VkInstance instance+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyInstance.html vkDestroyInstance registry at www.khronos.org>+foreign import ccall unsafe "vkDestroyInstance" vkDestroyInstance+               :: VkInstance -- ^ instance+                             -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                          -> IO ()++-- | > () vkDestroyInstance+--   >     ( VkInstance instance+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyInstance.html vkDestroyInstance registry at www.khronos.org>+foreign import ccall safe "vkDestroyInstance" vkDestroyInstanceSafe+               :: VkInstance -- ^ instance+                             -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                          -> IO ()++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+--   > VkResult vkEnumeratePhysicalDevices+--   >     ( VkInstance instance+--   >     , uint32_t* pPhysicalDeviceCount+--   >     , VkPhysicalDevice* pPhysicalDevices+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumeratePhysicalDevices.html vkEnumeratePhysicalDevices registry at www.khronos.org>+foreign import ccall unsafe "vkEnumeratePhysicalDevices"+               vkEnumeratePhysicalDevices ::+               VkInstance -- ^ instance+                          -> Ptr Word32 -- ^ pPhysicalDeviceCount+                                        -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices+                                                                -> IO VkResult++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+--   > VkResult vkEnumeratePhysicalDevices+--   >     ( VkInstance instance+--   >     , uint32_t* pPhysicalDeviceCount+--   >     , VkPhysicalDevice* pPhysicalDevices+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumeratePhysicalDevices.html vkEnumeratePhysicalDevices registry at www.khronos.org>+foreign import ccall safe "vkEnumeratePhysicalDevices"+               vkEnumeratePhysicalDevicesSafe ::+               VkInstance -- ^ instance+                          -> Ptr Word32 -- ^ pPhysicalDeviceCount+                                        -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices+                                                                -> IO VkResult++-- | > () vkGetPhysicalDeviceFeatures+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceFeatures* pFeatures+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFeatures.html vkGetPhysicalDeviceFeatures registry at www.khronos.org>+foreign import ccall unsafe "vkGetPhysicalDeviceFeatures"+               vkGetPhysicalDeviceFeatures ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures+                                                                -> IO ()++-- | > () vkGetPhysicalDeviceFeatures+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceFeatures* pFeatures+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFeatures.html vkGetPhysicalDeviceFeatures registry at www.khronos.org>+foreign import ccall safe "vkGetPhysicalDeviceFeatures"+               vkGetPhysicalDeviceFeaturesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures+                                                                -> IO ()++-- | > () vkGetPhysicalDeviceFormatProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkFormat format+--   >     , VkFormatProperties* pFormatProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFormatProperties.html vkGetPhysicalDeviceFormatProperties registry at www.khronos.org>+foreign import ccall unsafe "vkGetPhysicalDeviceFormatProperties"+               vkGetPhysicalDeviceFormatProperties ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> VkFormat -- ^ format+                                            -> Ptr VkFormatProperties -- ^ pFormatProperties+                                                                      -> IO ()++-- | > () vkGetPhysicalDeviceFormatProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkFormat format+--   >     , VkFormatProperties* pFormatProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFormatProperties.html vkGetPhysicalDeviceFormatProperties registry at www.khronos.org>+foreign import ccall safe "vkGetPhysicalDeviceFormatProperties"+               vkGetPhysicalDeviceFormatPropertiesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> VkFormat -- ^ format+                                            -> Ptr VkFormatProperties -- ^ pFormatProperties+                                                                      -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+--   > VkResult vkGetPhysicalDeviceImageFormatProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkFormat format+--   >     , VkImageType type+--   >     , VkImageTiling tiling+--   >     , VkImageUsageFlags usage+--   >     , VkImageCreateFlags flags+--   >     , VkImageFormatProperties* pImageFormatProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceImageFormatProperties.html vkGetPhysicalDeviceImageFormatProperties registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetPhysicalDeviceImageFormatProperties"+               vkGetPhysicalDeviceImageFormatProperties ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 VkFormat -- ^ format+                          ->+                   VkImageType -- ^ type+                               ->+                     VkImageTiling -- ^ tiling+                                   ->+                       VkImageUsageFlags -- ^ usage+                                         ->+                         VkImageCreateFlags -- ^ flags+                                            -> Ptr VkImageFormatProperties -- ^ pImageFormatProperties+                                                                           -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+--   > VkResult vkGetPhysicalDeviceImageFormatProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkFormat format+--   >     , VkImageType type+--   >     , VkImageTiling tiling+--   >     , VkImageUsageFlags usage+--   >     , VkImageCreateFlags flags+--   >     , VkImageFormatProperties* pImageFormatProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceImageFormatProperties.html vkGetPhysicalDeviceImageFormatProperties registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceImageFormatProperties"+               vkGetPhysicalDeviceImageFormatPropertiesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 VkFormat -- ^ format+                          ->+                   VkImageType -- ^ type+                               ->+                     VkImageTiling -- ^ tiling+                                   ->+                       VkImageUsageFlags -- ^ usage+                                         ->+                         VkImageCreateFlags -- ^ flags+                                            -> Ptr VkImageFormatProperties -- ^ pImageFormatProperties+                                                                           -> IO VkResult++-- | > () vkGetPhysicalDeviceProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceProperties* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceProperties.html vkGetPhysicalDeviceProperties registry at www.khronos.org>+foreign import ccall unsafe "vkGetPhysicalDeviceProperties"+               vkGetPhysicalDeviceProperties ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceProperties -- ^ pProperties+                                                                  -> IO ()++-- | > () vkGetPhysicalDeviceProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceProperties* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceProperties.html vkGetPhysicalDeviceProperties registry at www.khronos.org>+foreign import ccall safe "vkGetPhysicalDeviceProperties"+               vkGetPhysicalDevicePropertiesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceProperties -- ^ pProperties+                                                                  -> IO ()++-- | > () vkGetPhysicalDeviceQueueFamilyProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t* pQueueFamilyPropertyCount+--   >     , VkQueueFamilyProperties* pQueueFamilyProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceQueueFamilyProperties.html vkGetPhysicalDeviceQueueFamilyProperties registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetPhysicalDeviceQueueFamilyProperties"+               vkGetPhysicalDeviceQueueFamilyProperties ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr Word32 -- ^ pQueueFamilyPropertyCount+                            -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties+                                                           -> IO ()++-- | > () vkGetPhysicalDeviceQueueFamilyProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t* pQueueFamilyPropertyCount+--   >     , VkQueueFamilyProperties* pQueueFamilyProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceQueueFamilyProperties.html vkGetPhysicalDeviceQueueFamilyProperties registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceQueueFamilyProperties"+               vkGetPhysicalDeviceQueueFamilyPropertiesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr Word32 -- ^ pQueueFamilyPropertyCount+                            -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties+                                                           -> IO ()++-- | > () vkGetPhysicalDeviceMemoryProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceMemoryProperties* pMemoryProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceMemoryProperties.html vkGetPhysicalDeviceMemoryProperties registry at www.khronos.org>+foreign import ccall unsafe "vkGetPhysicalDeviceMemoryProperties"+               vkGetPhysicalDeviceMemoryProperties ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties+                                                                        -> IO ()++-- | > () vkGetPhysicalDeviceMemoryProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceMemoryProperties* pMemoryProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceMemoryProperties.html vkGetPhysicalDeviceMemoryProperties registry at www.khronos.org>+foreign import ccall safe "vkGetPhysicalDeviceMemoryProperties"+               vkGetPhysicalDeviceMemoryPropertiesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties+                                                                        -> IO ()++-- | > PFN_vkVoidFunction vkGetInstanceProcAddr+--   >     ( VkInstance instance+--   >     , const char* pName+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetInstanceProcAddr.html vkGetInstanceProcAddr registry at www.khronos.org>+foreign import ccall unsafe "vkGetInstanceProcAddr"+               vkGetInstanceProcAddr ::+               VkInstance -- ^ instance+                          -> CString -- ^ pName+                                     -> IO PFN_vkVoidFunction++-- | > PFN_vkVoidFunction vkGetInstanceProcAddr+--   >     ( VkInstance instance+--   >     , const char* pName+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetInstanceProcAddr.html vkGetInstanceProcAddr registry at www.khronos.org>+foreign import ccall safe "vkGetInstanceProcAddr"+               vkGetInstanceProcAddrSafe ::+               VkInstance -- ^ instance+                          -> CString -- ^ pName+                                     -> IO PFN_vkVoidFunction++-- | > PFN_vkVoidFunction vkGetDeviceProcAddr+--   >     ( VkDevice device+--   >     , const char* pName+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceProcAddr.html vkGetDeviceProcAddr registry at www.khronos.org>+foreign import ccall unsafe "vkGetDeviceProcAddr"+               vkGetDeviceProcAddr :: VkDevice -- ^ device+                                               -> CString -- ^ pName+                                                          -> IO PFN_vkVoidFunction++-- | > PFN_vkVoidFunction vkGetDeviceProcAddr+--   >     ( VkDevice device+--   >     , const char* pName+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceProcAddr.html vkGetDeviceProcAddr registry at www.khronos.org>+foreign import ccall safe "vkGetDeviceProcAddr"+               vkGetDeviceProcAddrSafe ::+               VkDevice -- ^ device+                        -> CString -- ^ pName+                                   -> IO PFN_vkVoidFunction++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_FEATURE_NOT_PRESENT', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkCreateDevice+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkDeviceCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkDevice* pDevice+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDevice.html vkCreateDevice registry at www.khronos.org>+foreign import ccall unsafe "vkCreateDevice" vkCreateDevice ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkDeviceCreateInfo -- ^ pCreateInfo+                                        ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkDevice -- ^ pDevice+                                                             -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_FEATURE_NOT_PRESENT', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkCreateDevice+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkDeviceCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkDevice* pDevice+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDevice.html vkCreateDevice registry at www.khronos.org>+foreign import ccall safe "vkCreateDevice" vkCreateDeviceSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkDeviceCreateInfo -- ^ pCreateInfo+                                        ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkDevice -- ^ pDevice+                                                             -> IO VkResult++-- | > () vkDestroyDevice+--   >     ( VkDevice device+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDevice.html vkDestroyDevice registry at www.khronos.org>+foreign import ccall unsafe "vkDestroyDevice" vkDestroyDevice ::+               VkDevice -- ^ device+                        -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                     -> IO ()++-- | > () vkDestroyDevice+--   >     ( VkDevice device+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDevice.html vkDestroyDevice registry at www.khronos.org>+foreign import ccall safe "vkDestroyDevice" vkDestroyDeviceSafe ::+               VkDevice -- ^ device+                        -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                     -> IO ()++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.+--+--   > VkResult vkEnumerateInstanceExtensionProperties+--   >     ( const char* pLayerName+--   >     , uint32_t* pPropertyCount+--   >     , VkExtensionProperties* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumerateInstanceExtensionProperties.html vkEnumerateInstanceExtensionProperties registry at www.khronos.org>+foreign import ccall unsafe+               "vkEnumerateInstanceExtensionProperties"+               vkEnumerateInstanceExtensionProperties ::+               CString -- ^ pLayerName+                       -> Ptr Word32 -- ^ pPropertyCount+                                     -> Ptr VkExtensionProperties -- ^ pProperties+                                                                  -> IO VkResult++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.+--+--   > VkResult vkEnumerateInstanceExtensionProperties+--   >     ( const char* pLayerName+--   >     , uint32_t* pPropertyCount+--   >     , VkExtensionProperties* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumerateInstanceExtensionProperties.html vkEnumerateInstanceExtensionProperties registry at www.khronos.org>+foreign import ccall safe "vkEnumerateInstanceExtensionProperties"+               vkEnumerateInstanceExtensionPropertiesSafe ::+               CString -- ^ pLayerName+                       -> Ptr Word32 -- ^ pPropertyCount+                                     -> Ptr VkExtensionProperties -- ^ pProperties+                                                                  -> IO VkResult++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.+--+--   > VkResult vkEnumerateDeviceExtensionProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const char* pLayerName+--   >     , uint32_t* pPropertyCount+--   >     , VkExtensionProperties* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumerateDeviceExtensionProperties.html vkEnumerateDeviceExtensionProperties registry at www.khronos.org>+foreign import ccall unsafe "vkEnumerateDeviceExtensionProperties"+               vkEnumerateDeviceExtensionProperties ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 CString -- ^ pLayerName+                         -> Ptr Word32 -- ^ pPropertyCount+                                       -> Ptr VkExtensionProperties -- ^ pProperties+                                                                    -> IO VkResult++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.+--+--   > VkResult vkEnumerateDeviceExtensionProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const char* pLayerName+--   >     , uint32_t* pPropertyCount+--   >     , VkExtensionProperties* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumerateDeviceExtensionProperties.html vkEnumerateDeviceExtensionProperties registry at www.khronos.org>+foreign import ccall safe "vkEnumerateDeviceExtensionProperties"+               vkEnumerateDeviceExtensionPropertiesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 CString -- ^ pLayerName+                         -> Ptr Word32 -- ^ pPropertyCount+                                       -> Ptr VkExtensionProperties -- ^ pProperties+                                                                    -> IO VkResult++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkEnumerateInstanceLayerProperties+--   >     ( uint32_t* pPropertyCount+--   >     , VkLayerProperties* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumerateInstanceLayerProperties.html vkEnumerateInstanceLayerProperties registry at www.khronos.org>+foreign import ccall unsafe "vkEnumerateInstanceLayerProperties"+               vkEnumerateInstanceLayerProperties ::+               Ptr Word32 -- ^ pPropertyCount+                          -> Ptr VkLayerProperties -- ^ pProperties+                                                   -> IO VkResult++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkEnumerateInstanceLayerProperties+--   >     ( uint32_t* pPropertyCount+--   >     , VkLayerProperties* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumerateInstanceLayerProperties.html vkEnumerateInstanceLayerProperties registry at www.khronos.org>+foreign import ccall safe "vkEnumerateInstanceLayerProperties"+               vkEnumerateInstanceLayerPropertiesSafe ::+               Ptr Word32 -- ^ pPropertyCount+                          -> Ptr VkLayerProperties -- ^ pProperties+                                                   -> IO VkResult++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkEnumerateDeviceLayerProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t* pPropertyCount+--   >     , VkLayerProperties* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumerateDeviceLayerProperties.html vkEnumerateDeviceLayerProperties registry at www.khronos.org>+foreign import ccall unsafe "vkEnumerateDeviceLayerProperties"+               vkEnumerateDeviceLayerProperties ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr Word32 -- ^ pPropertyCount+                            -> Ptr VkLayerProperties -- ^ pProperties+                                                     -> IO VkResult++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkEnumerateDeviceLayerProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t* pPropertyCount+--   >     , VkLayerProperties* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumerateDeviceLayerProperties.html vkEnumerateDeviceLayerProperties registry at www.khronos.org>+foreign import ccall safe "vkEnumerateDeviceLayerProperties"+               vkEnumerateDeviceLayerPropertiesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr Word32 -- ^ pPropertyCount+                            -> Ptr VkLayerProperties -- ^ pProperties+                                                     -> IO VkResult++-- | > () vkGetDeviceQueue+--   >     ( VkDevice device+--   >     , uint32_t queueFamilyIndex+--   >     , uint32_t queueIndex+--   >     , VkQueue* pQueue+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceQueue.html vkGetDeviceQueue registry at www.khronos.org>+foreign import ccall unsafe "vkGetDeviceQueue" vkGetDeviceQueue ::+               VkDevice -- ^ device+                        -> Word32 -- ^ queueFamilyIndex+                                  -> Word32 -- ^ queueIndex+                                            -> Ptr VkQueue -- ^ pQueue+                                                           -> IO ()++-- | > () vkGetDeviceQueue+--   >     ( VkDevice device+--   >     , uint32_t queueFamilyIndex+--   >     , uint32_t queueIndex+--   >     , VkQueue* pQueue+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceQueue.html vkGetDeviceQueue registry at www.khronos.org>+foreign import ccall safe "vkGetDeviceQueue" vkGetDeviceQueueSafe+               :: VkDevice -- ^ device+                           -> Word32 -- ^ queueFamilyIndex+                                     -> Word32 -- ^ queueIndex+                                               -> Ptr VkQueue -- ^ pQueue+                                                              -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkQueueSubmit+--   >     ( VkQueue queue+--   >     , uint32_t submitCount+--   >     , const VkSubmitInfo* pSubmits+--   >     , VkFence fence+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueSubmit.html vkQueueSubmit registry at www.khronos.org>+foreign import ccall unsafe "vkQueueSubmit" vkQueueSubmit ::+               VkQueue -- ^ queue+                       -> Word32 -- ^ submitCount+                                 -> Ptr VkSubmitInfo -- ^ pSubmits+                                                     -> VkFence -- ^ fence+                                                                -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkQueueSubmit+--   >     ( VkQueue queue+--   >     , uint32_t submitCount+--   >     , const VkSubmitInfo* pSubmits+--   >     , VkFence fence+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueSubmit.html vkQueueSubmit registry at www.khronos.org>+foreign import ccall safe "vkQueueSubmit" vkQueueSubmitSafe ::+               VkQueue -- ^ queue+                       -> Word32 -- ^ submitCount+                                 -> Ptr VkSubmitInfo -- ^ pSubmits+                                                     -> VkFence -- ^ fence+                                                                -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkQueueWaitIdle+--   >     ( VkQueue queue+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueWaitIdle.html vkQueueWaitIdle registry at www.khronos.org>+foreign import ccall unsafe "vkQueueWaitIdle" vkQueueWaitIdle ::+               VkQueue -- ^ queue+                       -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkQueueWaitIdle+--   >     ( VkQueue queue+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueWaitIdle.html vkQueueWaitIdle registry at www.khronos.org>+foreign import ccall safe "vkQueueWaitIdle" vkQueueWaitIdleSafe ::+               VkQueue -- ^ queue+                       -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkDeviceWaitIdle+--   >     ( VkDevice device+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDeviceWaitIdle.html vkDeviceWaitIdle registry at www.khronos.org>+foreign import ccall unsafe "vkDeviceWaitIdle" vkDeviceWaitIdle ::+               VkDevice -- ^ device+                        -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkDeviceWaitIdle+--   >     ( VkDevice device+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDeviceWaitIdle.html vkDeviceWaitIdle registry at www.khronos.org>+foreign import ccall safe "vkDeviceWaitIdle" vkDeviceWaitIdleSafe+               :: VkDevice -- ^ device+                           -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.+--+--   > VkResult vkAllocateMemory+--   >     ( VkDevice device+--   >     , const VkMemoryAllocateInfo* pAllocateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkDeviceMemory* pMemory+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAllocateMemory.html vkAllocateMemory registry at www.khronos.org>+foreign import ccall unsafe "vkAllocateMemory" vkAllocateMemory ::+               VkDevice -- ^ device+                        ->+                 Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo+                                          ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkDeviceMemory -- ^ pMemory+                                                                   -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.+--+--   > VkResult vkAllocateMemory+--   >     ( VkDevice device+--   >     , const VkMemoryAllocateInfo* pAllocateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkDeviceMemory* pMemory+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAllocateMemory.html vkAllocateMemory registry at www.khronos.org>+foreign import ccall safe "vkAllocateMemory" vkAllocateMemorySafe+               ::+               VkDevice -- ^ device+                        ->+                 Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo+                                          ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkDeviceMemory -- ^ pMemory+                                                                   -> IO VkResult++-- | > () vkFreeMemory+--   >     ( VkDevice device+--   >     , VkDeviceMemory memory+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkFreeMemory.html vkFreeMemory registry at www.khronos.org>+foreign import ccall unsafe "vkFreeMemory" vkFreeMemory ::+               VkDevice -- ^ device+                        -> VkDeviceMemory -- ^ memory+                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                       -> IO ()++-- | > () vkFreeMemory+--   >     ( VkDevice device+--   >     , VkDeviceMemory memory+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkFreeMemory.html vkFreeMemory registry at www.khronos.org>+foreign import ccall safe "vkFreeMemory" vkFreeMemorySafe ::+               VkDevice -- ^ device+                        -> VkDeviceMemory -- ^ memory+                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                       -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_MEMORY_MAP_FAILED'.+--+--   > VkResult vkMapMemory+--   >     ( VkDevice device+--   >     , VkDeviceMemory memory+--   >     , VkDeviceSize offset+--   >     , VkDeviceSize size+--   >     , VkMemoryMapFlags flags+--   >     , void** ppData+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkMapMemory.html vkMapMemory registry at www.khronos.org>+foreign import ccall unsafe "vkMapMemory" vkMapMemory ::+               VkDevice -- ^ device+                        ->+                 VkDeviceMemory -- ^ memory+                                ->+                   VkDeviceSize -- ^ offset+                                ->+                     VkDeviceSize -- ^ size+                                  -> VkMemoryMapFlags -- ^ flags+                                                      -> Ptr (Ptr Void) -- ^ ppData+                                                                        -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_MEMORY_MAP_FAILED'.+--+--   > VkResult vkMapMemory+--   >     ( VkDevice device+--   >     , VkDeviceMemory memory+--   >     , VkDeviceSize offset+--   >     , VkDeviceSize size+--   >     , VkMemoryMapFlags flags+--   >     , void** ppData+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkMapMemory.html vkMapMemory registry at www.khronos.org>+foreign import ccall safe "vkMapMemory" vkMapMemorySafe ::+               VkDevice -- ^ device+                        ->+                 VkDeviceMemory -- ^ memory+                                ->+                   VkDeviceSize -- ^ offset+                                ->+                     VkDeviceSize -- ^ size+                                  -> VkMemoryMapFlags -- ^ flags+                                                      -> Ptr (Ptr Void) -- ^ ppData+                                                                        -> IO VkResult++-- | > () vkUnmapMemory+--   >     ( VkDevice device+--   >     , VkDeviceMemory memory+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkUnmapMemory.html vkUnmapMemory registry at www.khronos.org>+foreign import ccall unsafe "vkUnmapMemory" vkUnmapMemory ::+               VkDevice -- ^ device+                        -> VkDeviceMemory -- ^ memory+                                          -> IO ()++-- | > () vkUnmapMemory+--   >     ( VkDevice device+--   >     , VkDeviceMemory memory+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkUnmapMemory.html vkUnmapMemory registry at www.khronos.org>+foreign import ccall safe "vkUnmapMemory" vkUnmapMemorySafe ::+               VkDevice -- ^ device+                        -> VkDeviceMemory -- ^ memory+                                          -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkFlushMappedMemoryRanges+--   >     ( VkDevice device+--   >     , uint32_t memoryRangeCount+--   >     , const VkMappedMemoryRange* pMemoryRanges+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkFlushMappedMemoryRanges.html vkFlushMappedMemoryRanges registry at www.khronos.org>+foreign import ccall unsafe "vkFlushMappedMemoryRanges"+               vkFlushMappedMemoryRanges ::+               VkDevice -- ^ device+                        -> Word32 -- ^ memoryRangeCount+                                  -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+                                                             -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkFlushMappedMemoryRanges+--   >     ( VkDevice device+--   >     , uint32_t memoryRangeCount+--   >     , const VkMappedMemoryRange* pMemoryRanges+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkFlushMappedMemoryRanges.html vkFlushMappedMemoryRanges registry at www.khronos.org>+foreign import ccall safe "vkFlushMappedMemoryRanges"+               vkFlushMappedMemoryRangesSafe ::+               VkDevice -- ^ device+                        -> Word32 -- ^ memoryRangeCount+                                  -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+                                                             -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkInvalidateMappedMemoryRanges+--   >     ( VkDevice device+--   >     , uint32_t memoryRangeCount+--   >     , const VkMappedMemoryRange* pMemoryRanges+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkInvalidateMappedMemoryRanges.html vkInvalidateMappedMemoryRanges registry at www.khronos.org>+foreign import ccall unsafe "vkInvalidateMappedMemoryRanges"+               vkInvalidateMappedMemoryRanges ::+               VkDevice -- ^ device+                        -> Word32 -- ^ memoryRangeCount+                                  -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+                                                             -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkInvalidateMappedMemoryRanges+--   >     ( VkDevice device+--   >     , uint32_t memoryRangeCount+--   >     , const VkMappedMemoryRange* pMemoryRanges+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkInvalidateMappedMemoryRanges.html vkInvalidateMappedMemoryRanges registry at www.khronos.org>+foreign import ccall safe "vkInvalidateMappedMemoryRanges"+               vkInvalidateMappedMemoryRangesSafe ::+               VkDevice -- ^ device+                        -> Word32 -- ^ memoryRangeCount+                                  -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+                                                             -> IO VkResult++-- | > () vkGetDeviceMemoryCommitment+--   >     ( VkDevice device+--   >     , VkDeviceMemory memory+--   >     , VkDeviceSize* pCommittedMemoryInBytes+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceMemoryCommitment.html vkGetDeviceMemoryCommitment registry at www.khronos.org>+foreign import ccall unsafe "vkGetDeviceMemoryCommitment"+               vkGetDeviceMemoryCommitment ::+               VkDevice -- ^ device+                        -> VkDeviceMemory -- ^ memory+                                          -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes+                                                              -> IO ()++-- | > () vkGetDeviceMemoryCommitment+--   >     ( VkDevice device+--   >     , VkDeviceMemory memory+--   >     , VkDeviceSize* pCommittedMemoryInBytes+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceMemoryCommitment.html vkGetDeviceMemoryCommitment registry at www.khronos.org>+foreign import ccall safe "vkGetDeviceMemoryCommitment"+               vkGetDeviceMemoryCommitmentSafe ::+               VkDevice -- ^ device+                        -> VkDeviceMemory -- ^ memory+                                          -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes+                                                              -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkBindBufferMemory+--   >     ( VkDevice device+--   >     , VkBuffer buffer+--   >     , VkDeviceMemory memory+--   >     , VkDeviceSize memoryOffset+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindBufferMemory.html vkBindBufferMemory registry at www.khronos.org>+foreign import ccall unsafe "vkBindBufferMemory" vkBindBufferMemory+               ::+               VkDevice -- ^ device+                        ->+                 VkBuffer -- ^ buffer+                          -> VkDeviceMemory -- ^ memory+                                            -> VkDeviceSize -- ^ memoryOffset+                                                            -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkBindBufferMemory+--   >     ( VkDevice device+--   >     , VkBuffer buffer+--   >     , VkDeviceMemory memory+--   >     , VkDeviceSize memoryOffset+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindBufferMemory.html vkBindBufferMemory registry at www.khronos.org>+foreign import ccall safe "vkBindBufferMemory"+               vkBindBufferMemorySafe ::+               VkDevice -- ^ device+                        ->+                 VkBuffer -- ^ buffer+                          -> VkDeviceMemory -- ^ memory+                                            -> VkDeviceSize -- ^ memoryOffset+                                                            -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkBindImageMemory+--   >     ( VkDevice device+--   >     , VkImage image+--   >     , VkDeviceMemory memory+--   >     , VkDeviceSize memoryOffset+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindImageMemory.html vkBindImageMemory registry at www.khronos.org>+foreign import ccall unsafe "vkBindImageMemory" vkBindImageMemory+               ::+               VkDevice -- ^ device+                        ->+                 VkImage -- ^ image+                         -> VkDeviceMemory -- ^ memory+                                           -> VkDeviceSize -- ^ memoryOffset+                                                           -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkBindImageMemory+--   >     ( VkDevice device+--   >     , VkImage image+--   >     , VkDeviceMemory memory+--   >     , VkDeviceSize memoryOffset+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindImageMemory.html vkBindImageMemory registry at www.khronos.org>+foreign import ccall safe "vkBindImageMemory" vkBindImageMemorySafe+               ::+               VkDevice -- ^ device+                        ->+                 VkImage -- ^ image+                         -> VkDeviceMemory -- ^ memory+                                           -> VkDeviceSize -- ^ memoryOffset+                                                           -> IO VkResult++-- | > () vkGetBufferMemoryRequirements+--   >     ( VkDevice device+--   >     , VkBuffer buffer+--   >     , VkMemoryRequirements* pMemoryRequirements+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetBufferMemoryRequirements.html vkGetBufferMemoryRequirements registry at www.khronos.org>+foreign import ccall unsafe "vkGetBufferMemoryRequirements"+               vkGetBufferMemoryRequirements ::+               VkDevice -- ^ device+                        -> VkBuffer -- ^ buffer+                                    -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+                                                                -> IO ()++-- | > () vkGetBufferMemoryRequirements+--   >     ( VkDevice device+--   >     , VkBuffer buffer+--   >     , VkMemoryRequirements* pMemoryRequirements+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetBufferMemoryRequirements.html vkGetBufferMemoryRequirements registry at www.khronos.org>+foreign import ccall safe "vkGetBufferMemoryRequirements"+               vkGetBufferMemoryRequirementsSafe ::+               VkDevice -- ^ device+                        -> VkBuffer -- ^ buffer+                                    -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+                                                                -> IO ()++-- | > () vkGetImageMemoryRequirements+--   >     ( VkDevice device+--   >     , VkImage image+--   >     , VkMemoryRequirements* pMemoryRequirements+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageMemoryRequirements.html vkGetImageMemoryRequirements registry at www.khronos.org>+foreign import ccall unsafe "vkGetImageMemoryRequirements"+               vkGetImageMemoryRequirements ::+               VkDevice -- ^ device+                        -> VkImage -- ^ image+                                   -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+                                                               -> IO ()++-- | > () vkGetImageMemoryRequirements+--   >     ( VkDevice device+--   >     , VkImage image+--   >     , VkMemoryRequirements* pMemoryRequirements+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageMemoryRequirements.html vkGetImageMemoryRequirements registry at www.khronos.org>+foreign import ccall safe "vkGetImageMemoryRequirements"+               vkGetImageMemoryRequirementsSafe ::+               VkDevice -- ^ device+                        -> VkImage -- ^ image+                                   -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+                                                               -> IO ()++-- | > () vkGetImageSparseMemoryRequirements+--   >     ( VkDevice device+--   >     , VkImage image+--   >     , uint32_t* pSparseMemoryRequirementCount+--   >     , VkSparseImageMemoryRequirements* pSparseMemoryRequirements+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageSparseMemoryRequirements.html vkGetImageSparseMemoryRequirements registry at www.khronos.org>+foreign import ccall unsafe "vkGetImageSparseMemoryRequirements"+               vkGetImageSparseMemoryRequirements ::+               VkDevice -- ^ device+                        ->+                 VkImage -- ^ image+                         ->+                   Ptr Word32 -- ^ pSparseMemoryRequirementCount+                              -> Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements+                                                                     -> IO ()++-- | > () vkGetImageSparseMemoryRequirements+--   >     ( VkDevice device+--   >     , VkImage image+--   >     , uint32_t* pSparseMemoryRequirementCount+--   >     , VkSparseImageMemoryRequirements* pSparseMemoryRequirements+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageSparseMemoryRequirements.html vkGetImageSparseMemoryRequirements registry at www.khronos.org>+foreign import ccall safe "vkGetImageSparseMemoryRequirements"+               vkGetImageSparseMemoryRequirementsSafe ::+               VkDevice -- ^ device+                        ->+                 VkImage -- ^ image+                         ->+                   Ptr Word32 -- ^ pSparseMemoryRequirementCount+                              -> Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements+                                                                     -> IO ()++-- | > () vkGetPhysicalDeviceSparseImageFormatProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkFormat format+--   >     , VkImageType type+--   >     , VkSampleCountFlagBits samples+--   >     , VkImageUsageFlags usage+--   >     , VkImageTiling tiling+--   >     , uint32_t* pPropertyCount+--   >     , VkSparseImageFormatProperties* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSparseImageFormatProperties.html vkGetPhysicalDeviceSparseImageFormatProperties registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetPhysicalDeviceSparseImageFormatProperties"+               vkGetPhysicalDeviceSparseImageFormatProperties ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 VkFormat -- ^ format+                          ->+                   VkImageType -- ^ type+                               ->+                     VkSampleCountFlagBits -- ^ samples+                                           ->+                       VkImageUsageFlags -- ^ usage+                                         ->+                         VkImageTiling -- ^ tiling+                                       ->+                           Ptr Word32 -- ^ pPropertyCount+                                      -> Ptr VkSparseImageFormatProperties -- ^ pProperties+                                                                           -> IO ()++-- | > () vkGetPhysicalDeviceSparseImageFormatProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkFormat format+--   >     , VkImageType type+--   >     , VkSampleCountFlagBits samples+--   >     , VkImageUsageFlags usage+--   >     , VkImageTiling tiling+--   >     , uint32_t* pPropertyCount+--   >     , VkSparseImageFormatProperties* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSparseImageFormatProperties.html vkGetPhysicalDeviceSparseImageFormatProperties registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceSparseImageFormatProperties"+               vkGetPhysicalDeviceSparseImageFormatPropertiesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 VkFormat -- ^ format+                          ->+                   VkImageType -- ^ type+                               ->+                     VkSampleCountFlagBits -- ^ samples+                                           ->+                       VkImageUsageFlags -- ^ usage+                                         ->+                         VkImageTiling -- ^ tiling+                                       ->+                           Ptr Word32 -- ^ pPropertyCount+                                      -> Ptr VkSparseImageFormatProperties -- ^ pProperties+                                                                           -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   queues: 'sparse_binding'.+--+--   > VkResult vkQueueBindSparse+--   >     ( VkQueue queue+--   >     , uint32_t bindInfoCount+--   >     , const VkBindSparseInfo* pBindInfo+--   >     , VkFence fence+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueBindSparse.html vkQueueBindSparse registry at www.khronos.org>+foreign import ccall unsafe "vkQueueBindSparse" vkQueueBindSparse+               ::+               VkQueue -- ^ queue+                       -> Word32 -- ^ bindInfoCount+                                 -> Ptr VkBindSparseInfo -- ^ pBindInfo+                                                         -> VkFence -- ^ fence+                                                                    -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   queues: 'sparse_binding'.+--+--   > VkResult vkQueueBindSparse+--   >     ( VkQueue queue+--   >     , uint32_t bindInfoCount+--   >     , const VkBindSparseInfo* pBindInfo+--   >     , VkFence fence+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueBindSparse.html vkQueueBindSparse registry at www.khronos.org>+foreign import ccall safe "vkQueueBindSparse" vkQueueBindSparseSafe+               ::+               VkQueue -- ^ queue+                       -> Word32 -- ^ bindInfoCount+                                 -> Ptr VkBindSparseInfo -- ^ pBindInfo+                                                         -> VkFence -- ^ fence+                                                                    -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateFence+--   >     ( VkDevice device+--   >     , const VkFenceCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkFence* pFence+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateFence.html vkCreateFence registry at www.khronos.org>+foreign import ccall unsafe "vkCreateFence" vkCreateFence ::+               VkDevice -- ^ device+                        ->+                 Ptr VkFenceCreateInfo -- ^ pCreateInfo+                                       ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkFence -- ^ pFence+                                                            -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateFence+--   >     ( VkDevice device+--   >     , const VkFenceCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkFence* pFence+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateFence.html vkCreateFence registry at www.khronos.org>+foreign import ccall safe "vkCreateFence" vkCreateFenceSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkFenceCreateInfo -- ^ pCreateInfo+                                       ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkFence -- ^ pFence+                                                            -> IO VkResult++-- | > () vkDestroyFence+--   >     ( VkDevice device+--   >     , VkFence fence+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyFence.html vkDestroyFence registry at www.khronos.org>+foreign import ccall unsafe "vkDestroyFence" vkDestroyFence ::+               VkDevice -- ^ device+                        -> VkFence -- ^ fence+                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                -> IO ()++-- | > () vkDestroyFence+--   >     ( VkDevice device+--   >     , VkFence fence+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyFence.html vkDestroyFence registry at www.khronos.org>+foreign import ccall safe "vkDestroyFence" vkDestroyFenceSafe ::+               VkDevice -- ^ device+                        -> VkFence -- ^ fence+                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkResetFences+--   >     ( VkDevice device+--   >     , uint32_t fenceCount+--   >     , const VkFence* pFences+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkResetFences.html vkResetFences registry at www.khronos.org>+foreign import ccall unsafe "vkResetFences" vkResetFences ::+               VkDevice -- ^ device+                        -> Word32 -- ^ fenceCount+                                  -> Ptr VkFence -- ^ pFences+                                                 -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkResetFences+--   >     ( VkDevice device+--   >     , uint32_t fenceCount+--   >     , const VkFence* pFences+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkResetFences.html vkResetFences registry at www.khronos.org>+foreign import ccall safe "vkResetFences" vkResetFencesSafe ::+               VkDevice -- ^ device+                        -> Word32 -- ^ fenceCount+                                  -> Ptr VkFence -- ^ pFences+                                                 -> IO VkResult++-- | Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkGetFenceStatus+--   >     ( VkDevice device+--   >     , VkFence fence+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetFenceStatus.html vkGetFenceStatus registry at www.khronos.org>+foreign import ccall unsafe "vkGetFenceStatus" vkGetFenceStatus ::+               VkDevice -- ^ device+                        -> VkFence -- ^ fence+                                   -> IO VkResult++-- | Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkGetFenceStatus+--   >     ( VkDevice device+--   >     , VkFence fence+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetFenceStatus.html vkGetFenceStatus registry at www.khronos.org>+foreign import ccall safe "vkGetFenceStatus" vkGetFenceStatusSafe+               :: VkDevice -- ^ device+                           -> VkFence -- ^ fence+                                      -> IO VkResult++-- | Success codes: 'VK_SUCCESS', 'VK_TIMEOUT'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkWaitForFences+--   >     ( VkDevice device+--   >     , uint32_t fenceCount+--   >     , const VkFence* pFences+--   >     , VkBool32 waitAll+--   >     , uint64_t timeout+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkWaitForFences.html vkWaitForFences registry at www.khronos.org>+foreign import ccall unsafe "vkWaitForFences" vkWaitForFences ::+               VkDevice -- ^ device+                        ->+                 Word32 -- ^ fenceCount+                        -> Ptr VkFence -- ^ pFences+                                       -> VkBool32 -- ^ waitAll+                                                   -> Word64 -- ^ timeout+                                                             -> IO VkResult++-- | Success codes: 'VK_SUCCESS', 'VK_TIMEOUT'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkWaitForFences+--   >     ( VkDevice device+--   >     , uint32_t fenceCount+--   >     , const VkFence* pFences+--   >     , VkBool32 waitAll+--   >     , uint64_t timeout+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkWaitForFences.html vkWaitForFences registry at www.khronos.org>+foreign import ccall safe "vkWaitForFences" vkWaitForFencesSafe ::+               VkDevice -- ^ device+                        ->+                 Word32 -- ^ fenceCount+                        -> Ptr VkFence -- ^ pFences+                                       -> VkBool32 -- ^ waitAll+                                                   -> Word64 -- ^ timeout+                                                             -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateSemaphore+--   >     ( VkDevice device+--   >     , const VkSemaphoreCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkSemaphore* pSemaphore+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSemaphore.html vkCreateSemaphore registry at www.khronos.org>+foreign import ccall unsafe "vkCreateSemaphore" vkCreateSemaphore+               ::+               VkDevice -- ^ device+                        ->+                 Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo+                                           ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkSemaphore -- ^ pSemaphore+                                                                -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateSemaphore+--   >     ( VkDevice device+--   >     , const VkSemaphoreCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkSemaphore* pSemaphore+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSemaphore.html vkCreateSemaphore registry at www.khronos.org>+foreign import ccall safe "vkCreateSemaphore" vkCreateSemaphoreSafe+               ::+               VkDevice -- ^ device+                        ->+                 Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo+                                           ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkSemaphore -- ^ pSemaphore+                                                                -> IO VkResult++-- | > () vkDestroySemaphore+--   >     ( VkDevice device+--   >     , VkSemaphore semaphore+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySemaphore.html vkDestroySemaphore registry at www.khronos.org>+foreign import ccall unsafe "vkDestroySemaphore" vkDestroySemaphore+               :: VkDevice -- ^ device+                           -> VkSemaphore -- ^ semaphore+                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                       -> IO ()++-- | > () vkDestroySemaphore+--   >     ( VkDevice device+--   >     , VkSemaphore semaphore+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySemaphore.html vkDestroySemaphore registry at www.khronos.org>+foreign import ccall safe "vkDestroySemaphore"+               vkDestroySemaphoreSafe ::+               VkDevice -- ^ device+                        -> VkSemaphore -- ^ semaphore+                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                    -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateEvent+--   >     ( VkDevice device+--   >     , const VkEventCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkEvent* pEvent+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateEvent.html vkCreateEvent registry at www.khronos.org>+foreign import ccall unsafe "vkCreateEvent" vkCreateEvent ::+               VkDevice -- ^ device+                        ->+                 Ptr VkEventCreateInfo -- ^ pCreateInfo+                                       ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkEvent -- ^ pEvent+                                                            -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateEvent+--   >     ( VkDevice device+--   >     , const VkEventCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkEvent* pEvent+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateEvent.html vkCreateEvent registry at www.khronos.org>+foreign import ccall safe "vkCreateEvent" vkCreateEventSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkEventCreateInfo -- ^ pCreateInfo+                                       ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkEvent -- ^ pEvent+                                                            -> IO VkResult++-- | > () vkDestroyEvent+--   >     ( VkDevice device+--   >     , VkEvent event+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyEvent.html vkDestroyEvent registry at www.khronos.org>+foreign import ccall unsafe "vkDestroyEvent" vkDestroyEvent ::+               VkDevice -- ^ device+                        -> VkEvent -- ^ event+                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                -> IO ()++-- | > () vkDestroyEvent+--   >     ( VkDevice device+--   >     , VkEvent event+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyEvent.html vkDestroyEvent registry at www.khronos.org>+foreign import ccall safe "vkDestroyEvent" vkDestroyEventSafe ::+               VkDevice -- ^ device+                        -> VkEvent -- ^ event+                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                -> IO ()++-- | Success codes: 'VK_EVENT_SET', 'VK_EVENT_RESET'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkGetEventStatus+--   >     ( VkDevice device+--   >     , VkEvent event+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetEventStatus.html vkGetEventStatus registry at www.khronos.org>+foreign import ccall unsafe "vkGetEventStatus" vkGetEventStatus ::+               VkDevice -- ^ device+                        -> VkEvent -- ^ event+                                   -> IO VkResult++-- | Success codes: 'VK_EVENT_SET', 'VK_EVENT_RESET'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkGetEventStatus+--   >     ( VkDevice device+--   >     , VkEvent event+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetEventStatus.html vkGetEventStatus registry at www.khronos.org>+foreign import ccall safe "vkGetEventStatus" vkGetEventStatusSafe+               :: VkDevice -- ^ device+                           -> VkEvent -- ^ event+                                      -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkSetEvent+--   >     ( VkDevice device+--   >     , VkEvent event+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkSetEvent.html vkSetEvent registry at www.khronos.org>+foreign import ccall unsafe "vkSetEvent" vkSetEvent ::+               VkDevice -- ^ device+                        -> VkEvent -- ^ event+                                   -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkSetEvent+--   >     ( VkDevice device+--   >     , VkEvent event+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkSetEvent.html vkSetEvent registry at www.khronos.org>+foreign import ccall safe "vkSetEvent" vkSetEventSafe ::+               VkDevice -- ^ device+                        -> VkEvent -- ^ event+                                   -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkResetEvent+--   >     ( VkDevice device+--   >     , VkEvent event+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkResetEvent.html vkResetEvent registry at www.khronos.org>+foreign import ccall unsafe "vkResetEvent" vkResetEvent ::+               VkDevice -- ^ device+                        -> VkEvent -- ^ event+                                   -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkResetEvent+--   >     ( VkDevice device+--   >     , VkEvent event+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkResetEvent.html vkResetEvent registry at www.khronos.org>+foreign import ccall safe "vkResetEvent" vkResetEventSafe ::+               VkDevice -- ^ device+                        -> VkEvent -- ^ event+                                   -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateQueryPool+--   >     ( VkDevice device+--   >     , const VkQueryPoolCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkQueryPool* pQueryPool+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateQueryPool.html vkCreateQueryPool registry at www.khronos.org>+foreign import ccall unsafe "vkCreateQueryPool" vkCreateQueryPool+               ::+               VkDevice -- ^ device+                        ->+                 Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo+                                           ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkQueryPool -- ^ pQueryPool+                                                                -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateQueryPool+--   >     ( VkDevice device+--   >     , const VkQueryPoolCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkQueryPool* pQueryPool+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateQueryPool.html vkCreateQueryPool registry at www.khronos.org>+foreign import ccall safe "vkCreateQueryPool" vkCreateQueryPoolSafe+               ::+               VkDevice -- ^ device+                        ->+                 Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo+                                           ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkQueryPool -- ^ pQueryPool+                                                                -> IO VkResult++-- | > () vkDestroyQueryPool+--   >     ( VkDevice device+--   >     , VkQueryPool queryPool+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyQueryPool.html vkDestroyQueryPool registry at www.khronos.org>+foreign import ccall unsafe "vkDestroyQueryPool" vkDestroyQueryPool+               :: VkDevice -- ^ device+                           -> VkQueryPool -- ^ queryPool+                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                       -> IO ()++-- | > () vkDestroyQueryPool+--   >     ( VkDevice device+--   >     , VkQueryPool queryPool+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyQueryPool.html vkDestroyQueryPool registry at www.khronos.org>+foreign import ccall safe "vkDestroyQueryPool"+               vkDestroyQueryPoolSafe ::+               VkDevice -- ^ device+                        -> VkQueryPool -- ^ queryPool+                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                    -> IO ()++-- | Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkGetQueryPoolResults+--   >     ( VkDevice device+--   >     , VkQueryPool queryPool+--   >     , uint32_t firstQuery+--   >     , uint32_t queryCount+--   >     , size_t dataSize+--   >     , void* pData+--   >     , VkDeviceSize stride+--   >     , VkQueryResultFlags flags+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetQueryPoolResults.html vkGetQueryPoolResults registry at www.khronos.org>+foreign import ccall unsafe "vkGetQueryPoolResults"+               vkGetQueryPoolResults ::+               VkDevice -- ^ device+                        ->+                 VkQueryPool -- ^ queryPool+                             ->+                   Word32 -- ^ firstQuery+                          ->+                     Word32 -- ^ queryCount+                            ->+                       CSize -- ^ dataSize+                             ->+                         Ptr Void -- ^ pData+                                  -> VkDeviceSize -- ^ stride+                                                  -> VkQueryResultFlags -- ^ flags+                                                                        -> IO VkResult++-- | Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+--   > VkResult vkGetQueryPoolResults+--   >     ( VkDevice device+--   >     , VkQueryPool queryPool+--   >     , uint32_t firstQuery+--   >     , uint32_t queryCount+--   >     , size_t dataSize+--   >     , void* pData+--   >     , VkDeviceSize stride+--   >     , VkQueryResultFlags flags+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetQueryPoolResults.html vkGetQueryPoolResults registry at www.khronos.org>+foreign import ccall safe "vkGetQueryPoolResults"+               vkGetQueryPoolResultsSafe ::+               VkDevice -- ^ device+                        ->+                 VkQueryPool -- ^ queryPool+                             ->+                   Word32 -- ^ firstQuery+                          ->+                     Word32 -- ^ queryCount+                            ->+                       CSize -- ^ dataSize+                             ->+                         Ptr Void -- ^ pData+                                  -> VkDeviceSize -- ^ stride+                                                  -> VkQueryResultFlags -- ^ flags+                                                                        -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateBuffer+--   >     ( VkDevice device+--   >     , const VkBufferCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkBuffer* pBuffer+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateBuffer.html vkCreateBuffer registry at www.khronos.org>+foreign import ccall unsafe "vkCreateBuffer" vkCreateBuffer ::+               VkDevice -- ^ device+                        ->+                 Ptr VkBufferCreateInfo -- ^ pCreateInfo+                                        ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkBuffer -- ^ pBuffer+                                                             -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateBuffer+--   >     ( VkDevice device+--   >     , const VkBufferCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkBuffer* pBuffer+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateBuffer.html vkCreateBuffer registry at www.khronos.org>+foreign import ccall safe "vkCreateBuffer" vkCreateBufferSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkBufferCreateInfo -- ^ pCreateInfo+                                        ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkBuffer -- ^ pBuffer+                                                             -> IO VkResult++-- | > () vkDestroyBuffer+--   >     ( VkDevice device+--   >     , VkBuffer buffer+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyBuffer.html vkDestroyBuffer registry at www.khronos.org>+foreign import ccall unsafe "vkDestroyBuffer" vkDestroyBuffer ::+               VkDevice -- ^ device+                        -> VkBuffer -- ^ buffer+                                    -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                 -> IO ()++-- | > () vkDestroyBuffer+--   >     ( VkDevice device+--   >     , VkBuffer buffer+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyBuffer.html vkDestroyBuffer registry at www.khronos.org>+foreign import ccall safe "vkDestroyBuffer" vkDestroyBufferSafe ::+               VkDevice -- ^ device+                        -> VkBuffer -- ^ buffer+                                    -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                 -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateBufferView+--   >     ( VkDevice device+--   >     , const VkBufferViewCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkBufferView* pView+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateBufferView.html vkCreateBufferView registry at www.khronos.org>+foreign import ccall unsafe "vkCreateBufferView" vkCreateBufferView+               ::+               VkDevice -- ^ device+                        ->+                 Ptr VkBufferViewCreateInfo -- ^ pCreateInfo+                                            ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkBufferView -- ^ pView+                                                                 -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateBufferView+--   >     ( VkDevice device+--   >     , const VkBufferViewCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkBufferView* pView+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateBufferView.html vkCreateBufferView registry at www.khronos.org>+foreign import ccall safe "vkCreateBufferView"+               vkCreateBufferViewSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkBufferViewCreateInfo -- ^ pCreateInfo+                                            ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkBufferView -- ^ pView+                                                                 -> IO VkResult++-- | > () vkDestroyBufferView+--   >     ( VkDevice device+--   >     , VkBufferView bufferView+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyBufferView.html vkDestroyBufferView registry at www.khronos.org>+foreign import ccall unsafe "vkDestroyBufferView"+               vkDestroyBufferView ::+               VkDevice -- ^ device+                        -> VkBufferView -- ^ bufferView+                                        -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                     -> IO ()++-- | > () vkDestroyBufferView+--   >     ( VkDevice device+--   >     , VkBufferView bufferView+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyBufferView.html vkDestroyBufferView registry at www.khronos.org>+foreign import ccall safe "vkDestroyBufferView"+               vkDestroyBufferViewSafe ::+               VkDevice -- ^ device+                        -> VkBufferView -- ^ bufferView+                                        -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                     -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateImage+--   >     ( VkDevice device+--   >     , const VkImageCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkImage* pImage+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateImage.html vkCreateImage registry at www.khronos.org>+foreign import ccall unsafe "vkCreateImage" vkCreateImage ::+               VkDevice -- ^ device+                        ->+                 Ptr VkImageCreateInfo -- ^ pCreateInfo+                                       ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkImage -- ^ pImage+                                                            -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateImage+--   >     ( VkDevice device+--   >     , const VkImageCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkImage* pImage+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateImage.html vkCreateImage registry at www.khronos.org>+foreign import ccall safe "vkCreateImage" vkCreateImageSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkImageCreateInfo -- ^ pCreateInfo+                                       ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkImage -- ^ pImage+                                                            -> IO VkResult++-- | > () vkDestroyImage+--   >     ( VkDevice device+--   >     , VkImage image+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyImage.html vkDestroyImage registry at www.khronos.org>+foreign import ccall unsafe "vkDestroyImage" vkDestroyImage ::+               VkDevice -- ^ device+                        -> VkImage -- ^ image+                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                -> IO ()++-- | > () vkDestroyImage+--   >     ( VkDevice device+--   >     , VkImage image+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyImage.html vkDestroyImage registry at www.khronos.org>+foreign import ccall safe "vkDestroyImage" vkDestroyImageSafe ::+               VkDevice -- ^ device+                        -> VkImage -- ^ image+                                   -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                -> IO ()++-- | > () vkGetImageSubresourceLayout+--   >     ( VkDevice device+--   >     , VkImage image+--   >     , const VkImageSubresource* pSubresource+--   >     , VkSubresourceLayout* pLayout+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageSubresourceLayout.html vkGetImageSubresourceLayout registry at www.khronos.org>+foreign import ccall unsafe "vkGetImageSubresourceLayout"+               vkGetImageSubresourceLayout ::+               VkDevice -- ^ device+                        ->+                 VkImage -- ^ image+                         ->+                   Ptr VkImageSubresource -- ^ pSubresource+                                          -> Ptr VkSubresourceLayout -- ^ pLayout+                                                                     -> IO ()++-- | > () vkGetImageSubresourceLayout+--   >     ( VkDevice device+--   >     , VkImage image+--   >     , const VkImageSubresource* pSubresource+--   >     , VkSubresourceLayout* pLayout+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageSubresourceLayout.html vkGetImageSubresourceLayout registry at www.khronos.org>+foreign import ccall safe "vkGetImageSubresourceLayout"+               vkGetImageSubresourceLayoutSafe ::+               VkDevice -- ^ device+                        ->+                 VkImage -- ^ image+                         ->+                   Ptr VkImageSubresource -- ^ pSubresource+                                          -> Ptr VkSubresourceLayout -- ^ pLayout+                                                                     -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateImageView+--   >     ( VkDevice device+--   >     , const VkImageViewCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkImageView* pView+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateImageView.html vkCreateImageView registry at www.khronos.org>+foreign import ccall unsafe "vkCreateImageView" vkCreateImageView+               ::+               VkDevice -- ^ device+                        ->+                 Ptr VkImageViewCreateInfo -- ^ pCreateInfo+                                           ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkImageView -- ^ pView+                                                                -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateImageView+--   >     ( VkDevice device+--   >     , const VkImageViewCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkImageView* pView+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateImageView.html vkCreateImageView registry at www.khronos.org>+foreign import ccall safe "vkCreateImageView" vkCreateImageViewSafe+               ::+               VkDevice -- ^ device+                        ->+                 Ptr VkImageViewCreateInfo -- ^ pCreateInfo+                                           ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkImageView -- ^ pView+                                                                -> IO VkResult++-- | > () vkDestroyImageView+--   >     ( VkDevice device+--   >     , VkImageView imageView+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyImageView.html vkDestroyImageView registry at www.khronos.org>+foreign import ccall unsafe "vkDestroyImageView" vkDestroyImageView+               :: VkDevice -- ^ device+                           -> VkImageView -- ^ imageView+                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                       -> IO ()++-- | > () vkDestroyImageView+--   >     ( VkDevice device+--   >     , VkImageView imageView+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyImageView.html vkDestroyImageView registry at www.khronos.org>+foreign import ccall safe "vkDestroyImageView"+               vkDestroyImageViewSafe ::+               VkDevice -- ^ device+                        -> VkImageView -- ^ imageView+                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                    -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+--   > VkResult vkCreateShaderModule+--   >     ( VkDevice device+--   >     , const VkShaderModuleCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkShaderModule* pShaderModule+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateShaderModule.html vkCreateShaderModule registry at www.khronos.org>+foreign import ccall unsafe "vkCreateShaderModule"+               vkCreateShaderModule ::+               VkDevice -- ^ device+                        ->+                 Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo+                                              ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkShaderModule -- ^ pShaderModule+                                                                   -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+--   > VkResult vkCreateShaderModule+--   >     ( VkDevice device+--   >     , const VkShaderModuleCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkShaderModule* pShaderModule+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateShaderModule.html vkCreateShaderModule registry at www.khronos.org>+foreign import ccall safe "vkCreateShaderModule"+               vkCreateShaderModuleSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo+                                              ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkShaderModule -- ^ pShaderModule+                                                                   -> IO VkResult++-- | > () vkDestroyShaderModule+--   >     ( VkDevice device+--   >     , VkShaderModule shaderModule+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyShaderModule.html vkDestroyShaderModule registry at www.khronos.org>+foreign import ccall unsafe "vkDestroyShaderModule"+               vkDestroyShaderModule ::+               VkDevice -- ^ device+                        -> VkShaderModule -- ^ shaderModule+                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                       -> IO ()++-- | > () vkDestroyShaderModule+--   >     ( VkDevice device+--   >     , VkShaderModule shaderModule+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyShaderModule.html vkDestroyShaderModule registry at www.khronos.org>+foreign import ccall safe "vkDestroyShaderModule"+               vkDestroyShaderModuleSafe ::+               VkDevice -- ^ device+                        -> VkShaderModule -- ^ shaderModule+                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                       -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreatePipelineCache+--   >     ( VkDevice device+--   >     , const VkPipelineCacheCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkPipelineCache* pPipelineCache+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreatePipelineCache.html vkCreatePipelineCache registry at www.khronos.org>+foreign import ccall unsafe "vkCreatePipelineCache"+               vkCreatePipelineCache ::+               VkDevice -- ^ device+                        ->+                 Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo+                                               ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkPipelineCache -- ^ pPipelineCache+                                                                    -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreatePipelineCache+--   >     ( VkDevice device+--   >     , const VkPipelineCacheCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkPipelineCache* pPipelineCache+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreatePipelineCache.html vkCreatePipelineCache registry at www.khronos.org>+foreign import ccall safe "vkCreatePipelineCache"+               vkCreatePipelineCacheSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo+                                               ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkPipelineCache -- ^ pPipelineCache+                                                                    -> IO VkResult++-- | > () vkDestroyPipelineCache+--   >     ( VkDevice device+--   >     , VkPipelineCache pipelineCache+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyPipelineCache.html vkDestroyPipelineCache registry at www.khronos.org>+foreign import ccall unsafe "vkDestroyPipelineCache"+               vkDestroyPipelineCache ::+               VkDevice -- ^ device+                        -> VkPipelineCache -- ^ pipelineCache+                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                        -> IO ()++-- | > () vkDestroyPipelineCache+--   >     ( VkDevice device+--   >     , VkPipelineCache pipelineCache+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyPipelineCache.html vkDestroyPipelineCache registry at www.khronos.org>+foreign import ccall safe "vkDestroyPipelineCache"+               vkDestroyPipelineCacheSafe ::+               VkDevice -- ^ device+                        -> VkPipelineCache -- ^ pipelineCache+                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                        -> IO ()++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkGetPipelineCacheData+--   >     ( VkDevice device+--   >     , VkPipelineCache pipelineCache+--   >     , size_t* pDataSize+--   >     , void* pData+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPipelineCacheData.html vkGetPipelineCacheData registry at www.khronos.org>+foreign import ccall unsafe "vkGetPipelineCacheData"+               vkGetPipelineCacheData ::+               VkDevice -- ^ device+                        -> VkPipelineCache -- ^ pipelineCache+                                           -> Ptr CSize -- ^ pDataSize+                                                        -> Ptr Void -- ^ pData+                                                                    -> IO VkResult++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkGetPipelineCacheData+--   >     ( VkDevice device+--   >     , VkPipelineCache pipelineCache+--   >     , size_t* pDataSize+--   >     , void* pData+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPipelineCacheData.html vkGetPipelineCacheData registry at www.khronos.org>+foreign import ccall safe "vkGetPipelineCacheData"+               vkGetPipelineCacheDataSafe ::+               VkDevice -- ^ device+                        -> VkPipelineCache -- ^ pipelineCache+                                           -> Ptr CSize -- ^ pDataSize+                                                        -> Ptr Void -- ^ pData+                                                                    -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkMergePipelineCaches+--   >     ( VkDevice device+--   >     , VkPipelineCache dstCache+--   >     , uint32_t srcCacheCount+--   >     , const VkPipelineCache* pSrcCaches+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkMergePipelineCaches.html vkMergePipelineCaches registry at www.khronos.org>+foreign import ccall unsafe "vkMergePipelineCaches"+               vkMergePipelineCaches ::+               VkDevice -- ^ device+                        ->+                 VkPipelineCache -- ^ dstCache+                                 -> Word32 -- ^ srcCacheCount+                                           -> Ptr VkPipelineCache -- ^ pSrcCaches+                                                                  -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkMergePipelineCaches+--   >     ( VkDevice device+--   >     , VkPipelineCache dstCache+--   >     , uint32_t srcCacheCount+--   >     , const VkPipelineCache* pSrcCaches+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkMergePipelineCaches.html vkMergePipelineCaches registry at www.khronos.org>+foreign import ccall safe "vkMergePipelineCaches"+               vkMergePipelineCachesSafe ::+               VkDevice -- ^ device+                        ->+                 VkPipelineCache -- ^ dstCache+                                 -> Word32 -- ^ srcCacheCount+                                           -> Ptr VkPipelineCache -- ^ pSrcCaches+                                                                  -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+--   > VkResult vkCreateGraphicsPipelines+--   >     ( VkDevice device+--   >     , VkPipelineCache pipelineCache+--   >     , uint32_t createInfoCount+--   >     , const VkGraphicsPipelineCreateInfo* pCreateInfos+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkPipeline* pPipelines+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateGraphicsPipelines.html vkCreateGraphicsPipelines registry at www.khronos.org>+foreign import ccall unsafe "vkCreateGraphicsPipelines"+               vkCreateGraphicsPipelines ::+               VkDevice -- ^ device+                        ->+                 VkPipelineCache -- ^ pipelineCache+                                 ->+                   Word32 -- ^ createInfoCount+                          ->+                     Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos+                                                      ->+                       Ptr VkAllocationCallbacks -- ^ pAllocator+                                                 -> Ptr VkPipeline -- ^ pPipelines+                                                                   -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+--   > VkResult vkCreateGraphicsPipelines+--   >     ( VkDevice device+--   >     , VkPipelineCache pipelineCache+--   >     , uint32_t createInfoCount+--   >     , const VkGraphicsPipelineCreateInfo* pCreateInfos+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkPipeline* pPipelines+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateGraphicsPipelines.html vkCreateGraphicsPipelines registry at www.khronos.org>+foreign import ccall safe "vkCreateGraphicsPipelines"+               vkCreateGraphicsPipelinesSafe ::+               VkDevice -- ^ device+                        ->+                 VkPipelineCache -- ^ pipelineCache+                                 ->+                   Word32 -- ^ createInfoCount+                          ->+                     Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos+                                                      ->+                       Ptr VkAllocationCallbacks -- ^ pAllocator+                                                 -> Ptr VkPipeline -- ^ pPipelines+                                                                   -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+--   > VkResult vkCreateComputePipelines+--   >     ( VkDevice device+--   >     , VkPipelineCache pipelineCache+--   >     , uint32_t createInfoCount+--   >     , const VkComputePipelineCreateInfo* pCreateInfos+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkPipeline* pPipelines+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateComputePipelines.html vkCreateComputePipelines registry at www.khronos.org>+foreign import ccall unsafe "vkCreateComputePipelines"+               vkCreateComputePipelines ::+               VkDevice -- ^ device+                        ->+                 VkPipelineCache -- ^ pipelineCache+                                 ->+                   Word32 -- ^ createInfoCount+                          ->+                     Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos+                                                     ->+                       Ptr VkAllocationCallbacks -- ^ pAllocator+                                                 -> Ptr VkPipeline -- ^ pPipelines+                                                                   -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+--   > VkResult vkCreateComputePipelines+--   >     ( VkDevice device+--   >     , VkPipelineCache pipelineCache+--   >     , uint32_t createInfoCount+--   >     , const VkComputePipelineCreateInfo* pCreateInfos+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkPipeline* pPipelines+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateComputePipelines.html vkCreateComputePipelines registry at www.khronos.org>+foreign import ccall safe "vkCreateComputePipelines"+               vkCreateComputePipelinesSafe ::+               VkDevice -- ^ device+                        ->+                 VkPipelineCache -- ^ pipelineCache+                                 ->+                   Word32 -- ^ createInfoCount+                          ->+                     Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos+                                                     ->+                       Ptr VkAllocationCallbacks -- ^ pAllocator+                                                 -> Ptr VkPipeline -- ^ pPipelines+                                                                   -> IO VkResult++-- | > () vkDestroyPipeline+--   >     ( VkDevice device+--   >     , VkPipeline pipeline+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyPipeline.html vkDestroyPipeline registry at www.khronos.org>+foreign import ccall unsafe "vkDestroyPipeline" vkDestroyPipeline+               :: VkDevice -- ^ device+                           -> VkPipeline -- ^ pipeline+                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                      -> IO ()++-- | > () vkDestroyPipeline+--   >     ( VkDevice device+--   >     , VkPipeline pipeline+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyPipeline.html vkDestroyPipeline registry at www.khronos.org>+foreign import ccall safe "vkDestroyPipeline" vkDestroyPipelineSafe+               :: VkDevice -- ^ device+                           -> VkPipeline -- ^ pipeline+                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                      -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreatePipelineLayout+--   >     ( VkDevice device+--   >     , const VkPipelineLayoutCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkPipelineLayout* pPipelineLayout+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreatePipelineLayout.html vkCreatePipelineLayout registry at www.khronos.org>+foreign import ccall unsafe "vkCreatePipelineLayout"+               vkCreatePipelineLayout ::+               VkDevice -- ^ device+                        ->+                 Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo+                                                ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkPipelineLayout -- ^ pPipelineLayout+                                                                     -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreatePipelineLayout+--   >     ( VkDevice device+--   >     , const VkPipelineLayoutCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkPipelineLayout* pPipelineLayout+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreatePipelineLayout.html vkCreatePipelineLayout registry at www.khronos.org>+foreign import ccall safe "vkCreatePipelineLayout"+               vkCreatePipelineLayoutSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo+                                                ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkPipelineLayout -- ^ pPipelineLayout+                                                                     -> IO VkResult++-- | > () vkDestroyPipelineLayout+--   >     ( VkDevice device+--   >     , VkPipelineLayout pipelineLayout+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyPipelineLayout.html vkDestroyPipelineLayout registry at www.khronos.org>+foreign import ccall unsafe "vkDestroyPipelineLayout"+               vkDestroyPipelineLayout ::+               VkDevice -- ^ device+                        -> VkPipelineLayout -- ^ pipelineLayout+                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                         -> IO ()++-- | > () vkDestroyPipelineLayout+--   >     ( VkDevice device+--   >     , VkPipelineLayout pipelineLayout+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyPipelineLayout.html vkDestroyPipelineLayout registry at www.khronos.org>+foreign import ccall safe "vkDestroyPipelineLayout"+               vkDestroyPipelineLayoutSafe ::+               VkDevice -- ^ device+                        -> VkPipelineLayout -- ^ pipelineLayout+                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                         -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS'.+--+--   > VkResult vkCreateSampler+--   >     ( VkDevice device+--   >     , const VkSamplerCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkSampler* pSampler+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSampler.html vkCreateSampler registry at www.khronos.org>+foreign import ccall unsafe "vkCreateSampler" vkCreateSampler ::+               VkDevice -- ^ device+                        ->+                 Ptr VkSamplerCreateInfo -- ^ pCreateInfo+                                         ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkSampler -- ^ pSampler+                                                              -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS'.+--+--   > VkResult vkCreateSampler+--   >     ( VkDevice device+--   >     , const VkSamplerCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkSampler* pSampler+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSampler.html vkCreateSampler registry at www.khronos.org>+foreign import ccall safe "vkCreateSampler" vkCreateSamplerSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkSamplerCreateInfo -- ^ pCreateInfo+                                         ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkSampler -- ^ pSampler+                                                              -> IO VkResult++-- | > () vkDestroySampler+--   >     ( VkDevice device+--   >     , VkSampler sampler+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySampler.html vkDestroySampler registry at www.khronos.org>+foreign import ccall unsafe "vkDestroySampler" vkDestroySampler ::+               VkDevice -- ^ device+                        -> VkSampler -- ^ sampler+                                     -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                  -> IO ()++-- | > () vkDestroySampler+--   >     ( VkDevice device+--   >     , VkSampler sampler+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySampler.html vkDestroySampler registry at www.khronos.org>+foreign import ccall safe "vkDestroySampler" vkDestroySamplerSafe+               :: VkDevice -- ^ device+                           -> VkSampler -- ^ sampler+                                        -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                     -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateDescriptorSetLayout+--   >     ( VkDevice device+--   >     , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkDescriptorSetLayout* pSetLayout+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDescriptorSetLayout.html vkCreateDescriptorSetLayout registry at www.khronos.org>+foreign import ccall unsafe "vkCreateDescriptorSetLayout"+               vkCreateDescriptorSetLayout ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+                                                     ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             ->+                     Ptr VkDescriptorSetLayout -- ^ pSetLayout+                                               -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateDescriptorSetLayout+--   >     ( VkDevice device+--   >     , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkDescriptorSetLayout* pSetLayout+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDescriptorSetLayout.html vkCreateDescriptorSetLayout registry at www.khronos.org>+foreign import ccall safe "vkCreateDescriptorSetLayout"+               vkCreateDescriptorSetLayoutSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+                                                     ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             ->+                     Ptr VkDescriptorSetLayout -- ^ pSetLayout+                                               -> IO VkResult++-- | > () vkDestroyDescriptorSetLayout+--   >     ( VkDevice device+--   >     , VkDescriptorSetLayout descriptorSetLayout+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDescriptorSetLayout.html vkDestroyDescriptorSetLayout registry at www.khronos.org>+foreign import ccall unsafe "vkDestroyDescriptorSetLayout"+               vkDestroyDescriptorSetLayout ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorSetLayout -- ^ descriptorSetLayout+                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                    -> IO ()++-- | > () vkDestroyDescriptorSetLayout+--   >     ( VkDevice device+--   >     , VkDescriptorSetLayout descriptorSetLayout+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDescriptorSetLayout.html vkDestroyDescriptorSetLayout registry at www.khronos.org>+foreign import ccall safe "vkDestroyDescriptorSetLayout"+               vkDestroyDescriptorSetLayoutSafe ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorSetLayout -- ^ descriptorSetLayout+                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                    -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateDescriptorPool+--   >     ( VkDevice device+--   >     , const VkDescriptorPoolCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkDescriptorPool* pDescriptorPool+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDescriptorPool.html vkCreateDescriptorPool registry at www.khronos.org>+foreign import ccall unsafe "vkCreateDescriptorPool"+               vkCreateDescriptorPool ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo+                                                ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkDescriptorPool -- ^ pDescriptorPool+                                                                     -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateDescriptorPool+--   >     ( VkDevice device+--   >     , const VkDescriptorPoolCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkDescriptorPool* pDescriptorPool+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDescriptorPool.html vkCreateDescriptorPool registry at www.khronos.org>+foreign import ccall safe "vkCreateDescriptorPool"+               vkCreateDescriptorPoolSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo+                                                ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkDescriptorPool -- ^ pDescriptorPool+                                                                     -> IO VkResult++-- | > () vkDestroyDescriptorPool+--   >     ( VkDevice device+--   >     , VkDescriptorPool descriptorPool+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDescriptorPool.html vkDestroyDescriptorPool registry at www.khronos.org>+foreign import ccall unsafe "vkDestroyDescriptorPool"+               vkDestroyDescriptorPool ::+               VkDevice -- ^ device+                        -> VkDescriptorPool -- ^ descriptorPool+                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                         -> IO ()++-- | > () vkDestroyDescriptorPool+--   >     ( VkDevice device+--   >     , VkDescriptorPool descriptorPool+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDescriptorPool.html vkDestroyDescriptorPool registry at www.khronos.org>+foreign import ccall safe "vkDestroyDescriptorPool"+               vkDestroyDescriptorPoolSafe ::+               VkDevice -- ^ device+                        -> VkDescriptorPool -- ^ descriptorPool+                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                         -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkResetDescriptorPool+--   >     ( VkDevice device+--   >     , VkDescriptorPool descriptorPool+--   >     , VkDescriptorPoolResetFlags flags+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkResetDescriptorPool.html vkResetDescriptorPool registry at www.khronos.org>+foreign import ccall unsafe "vkResetDescriptorPool"+               vkResetDescriptorPool ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorPool -- ^ descriptorPool+                                  -> VkDescriptorPoolResetFlags -- ^ flags+                                                                -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkResetDescriptorPool+--   >     ( VkDevice device+--   >     , VkDescriptorPool descriptorPool+--   >     , VkDescriptorPoolResetFlags flags+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkResetDescriptorPool.html vkResetDescriptorPool registry at www.khronos.org>+foreign import ccall safe "vkResetDescriptorPool"+               vkResetDescriptorPoolSafe ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorPool -- ^ descriptorPool+                                  -> VkDescriptorPoolResetFlags -- ^ flags+                                                                -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTED_POOL', 'VK_ERROR_OUT_OF_POOL_MEMORY'.+--+--   > VkResult vkAllocateDescriptorSets+--   >     ( VkDevice device+--   >     , const VkDescriptorSetAllocateInfo* pAllocateInfo+--   >     , VkDescriptorSet* pDescriptorSets+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAllocateDescriptorSets.html vkAllocateDescriptorSets registry at www.khronos.org>+foreign import ccall unsafe "vkAllocateDescriptorSets"+               vkAllocateDescriptorSets ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo+                                                 ->+                   Ptr VkDescriptorSet -- ^ pDescriptorSets+                                       -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTED_POOL', 'VK_ERROR_OUT_OF_POOL_MEMORY'.+--+--   > VkResult vkAllocateDescriptorSets+--   >     ( VkDevice device+--   >     , const VkDescriptorSetAllocateInfo* pAllocateInfo+--   >     , VkDescriptorSet* pDescriptorSets+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAllocateDescriptorSets.html vkAllocateDescriptorSets registry at www.khronos.org>+foreign import ccall safe "vkAllocateDescriptorSets"+               vkAllocateDescriptorSetsSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo+                                                 ->+                   Ptr VkDescriptorSet -- ^ pDescriptorSets+                                       -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkFreeDescriptorSets+--   >     ( VkDevice device+--   >     , VkDescriptorPool descriptorPool+--   >     , uint32_t descriptorSetCount+--   >     , const VkDescriptorSet* pDescriptorSets+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkFreeDescriptorSets.html vkFreeDescriptorSets registry at www.khronos.org>+foreign import ccall unsafe "vkFreeDescriptorSets"+               vkFreeDescriptorSets ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorPool -- ^ descriptorPool+                                  -> Word32 -- ^ descriptorSetCount+                                            -> Ptr VkDescriptorSet -- ^ pDescriptorSets+                                                                   -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkFreeDescriptorSets+--   >     ( VkDevice device+--   >     , VkDescriptorPool descriptorPool+--   >     , uint32_t descriptorSetCount+--   >     , const VkDescriptorSet* pDescriptorSets+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkFreeDescriptorSets.html vkFreeDescriptorSets registry at www.khronos.org>+foreign import ccall safe "vkFreeDescriptorSets"+               vkFreeDescriptorSetsSafe ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorPool -- ^ descriptorPool+                                  -> Word32 -- ^ descriptorSetCount+                                            -> Ptr VkDescriptorSet -- ^ pDescriptorSets+                                                                   -> IO VkResult++-- | > () vkUpdateDescriptorSets+--   >     ( VkDevice device+--   >     , uint32_t descriptorWriteCount+--   >     , const VkWriteDescriptorSet* pDescriptorWrites+--   >     , uint32_t descriptorCopyCount+--   >     , const VkCopyDescriptorSet* pDescriptorCopies+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkUpdateDescriptorSets.html vkUpdateDescriptorSets registry at www.khronos.org>+foreign import ccall unsafe "vkUpdateDescriptorSets"+               vkUpdateDescriptorSets ::+               VkDevice -- ^ device+                        ->+                 Word32 -- ^ descriptorWriteCount+                        ->+                   Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites+                                            ->+                     Word32 -- ^ descriptorCopyCount+                            -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies+                                                       -> IO ()++-- | > () vkUpdateDescriptorSets+--   >     ( VkDevice device+--   >     , uint32_t descriptorWriteCount+--   >     , const VkWriteDescriptorSet* pDescriptorWrites+--   >     , uint32_t descriptorCopyCount+--   >     , const VkCopyDescriptorSet* pDescriptorCopies+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkUpdateDescriptorSets.html vkUpdateDescriptorSets registry at www.khronos.org>+foreign import ccall safe "vkUpdateDescriptorSets"+               vkUpdateDescriptorSetsSafe ::+               VkDevice -- ^ device+                        ->+                 Word32 -- ^ descriptorWriteCount+                        ->+                   Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites+                                            ->+                     Word32 -- ^ descriptorCopyCount+                            -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies+                                                       -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateFramebuffer+--   >     ( VkDevice device+--   >     , const VkFramebufferCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkFramebuffer* pFramebuffer+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateFramebuffer.html vkCreateFramebuffer registry at www.khronos.org>+foreign import ccall unsafe "vkCreateFramebuffer"+               vkCreateFramebuffer ::+               VkDevice -- ^ device+                        ->+                 Ptr VkFramebufferCreateInfo -- ^ pCreateInfo+                                             ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkFramebuffer -- ^ pFramebuffer+                                                                  -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateFramebuffer+--   >     ( VkDevice device+--   >     , const VkFramebufferCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkFramebuffer* pFramebuffer+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateFramebuffer.html vkCreateFramebuffer registry at www.khronos.org>+foreign import ccall safe "vkCreateFramebuffer"+               vkCreateFramebufferSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkFramebufferCreateInfo -- ^ pCreateInfo+                                             ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkFramebuffer -- ^ pFramebuffer+                                                                  -> IO VkResult++-- | > () vkDestroyFramebuffer+--   >     ( VkDevice device+--   >     , VkFramebuffer framebuffer+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyFramebuffer.html vkDestroyFramebuffer registry at www.khronos.org>+foreign import ccall unsafe "vkDestroyFramebuffer"+               vkDestroyFramebuffer ::+               VkDevice -- ^ device+                        -> VkFramebuffer -- ^ framebuffer+                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                      -> IO ()++-- | > () vkDestroyFramebuffer+--   >     ( VkDevice device+--   >     , VkFramebuffer framebuffer+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyFramebuffer.html vkDestroyFramebuffer registry at www.khronos.org>+foreign import ccall safe "vkDestroyFramebuffer"+               vkDestroyFramebufferSafe ::+               VkDevice -- ^ device+                        -> VkFramebuffer -- ^ framebuffer+                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                      -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateRenderPass+--   >     ( VkDevice device+--   >     , const VkRenderPassCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkRenderPass* pRenderPass+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateRenderPass.html vkCreateRenderPass registry at www.khronos.org>+foreign import ccall unsafe "vkCreateRenderPass" vkCreateRenderPass+               ::+               VkDevice -- ^ device+                        ->+                 Ptr VkRenderPassCreateInfo -- ^ pCreateInfo+                                            ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkRenderPass -- ^ pRenderPass+                                                                 -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateRenderPass+--   >     ( VkDevice device+--   >     , const VkRenderPassCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkRenderPass* pRenderPass+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateRenderPass.html vkCreateRenderPass registry at www.khronos.org>+foreign import ccall safe "vkCreateRenderPass"+               vkCreateRenderPassSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkRenderPassCreateInfo -- ^ pCreateInfo+                                            ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkRenderPass -- ^ pRenderPass+                                                                 -> IO VkResult++-- | > () vkDestroyRenderPass+--   >     ( VkDevice device+--   >     , VkRenderPass renderPass+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyRenderPass.html vkDestroyRenderPass registry at www.khronos.org>+foreign import ccall unsafe "vkDestroyRenderPass"+               vkDestroyRenderPass ::+               VkDevice -- ^ device+                        -> VkRenderPass -- ^ renderPass+                                        -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                     -> IO ()++-- | > () vkDestroyRenderPass+--   >     ( VkDevice device+--   >     , VkRenderPass renderPass+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyRenderPass.html vkDestroyRenderPass registry at www.khronos.org>+foreign import ccall safe "vkDestroyRenderPass"+               vkDestroyRenderPassSafe ::+               VkDevice -- ^ device+                        -> VkRenderPass -- ^ renderPass+                                        -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                     -> IO ()++-- | > () vkGetRenderAreaGranularity+--   >     ( VkDevice device+--   >     , VkRenderPass renderPass+--   >     , VkExtent2D* pGranularity+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetRenderAreaGranularity.html vkGetRenderAreaGranularity registry at www.khronos.org>+foreign import ccall unsafe "vkGetRenderAreaGranularity"+               vkGetRenderAreaGranularity ::+               VkDevice -- ^ device+                        -> VkRenderPass -- ^ renderPass+                                        -> Ptr VkExtent2D -- ^ pGranularity+                                                          -> IO ()++-- | > () vkGetRenderAreaGranularity+--   >     ( VkDevice device+--   >     , VkRenderPass renderPass+--   >     , VkExtent2D* pGranularity+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetRenderAreaGranularity.html vkGetRenderAreaGranularity registry at www.khronos.org>+foreign import ccall safe "vkGetRenderAreaGranularity"+               vkGetRenderAreaGranularitySafe ::+               VkDevice -- ^ device+                        -> VkRenderPass -- ^ renderPass+                                        -> Ptr VkExtent2D -- ^ pGranularity+                                                          -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateCommandPool+--   >     ( VkDevice device+--   >     , const VkCommandPoolCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkCommandPool* pCommandPool+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateCommandPool.html vkCreateCommandPool registry at www.khronos.org>+foreign import ccall unsafe "vkCreateCommandPool"+               vkCreateCommandPool ::+               VkDevice -- ^ device+                        ->+                 Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo+                                             ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkCommandPool -- ^ pCommandPool+                                                                  -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateCommandPool+--   >     ( VkDevice device+--   >     , const VkCommandPoolCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkCommandPool* pCommandPool+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateCommandPool.html vkCreateCommandPool registry at www.khronos.org>+foreign import ccall safe "vkCreateCommandPool"+               vkCreateCommandPoolSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo+                                             ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkCommandPool -- ^ pCommandPool+                                                                  -> IO VkResult++-- | > () vkDestroyCommandPool+--   >     ( VkDevice device+--   >     , VkCommandPool commandPool+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyCommandPool.html vkDestroyCommandPool registry at www.khronos.org>+foreign import ccall unsafe "vkDestroyCommandPool"+               vkDestroyCommandPool ::+               VkDevice -- ^ device+                        -> VkCommandPool -- ^ commandPool+                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                      -> IO ()++-- | > () vkDestroyCommandPool+--   >     ( VkDevice device+--   >     , VkCommandPool commandPool+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyCommandPool.html vkDestroyCommandPool registry at www.khronos.org>+foreign import ccall safe "vkDestroyCommandPool"+               vkDestroyCommandPoolSafe ::+               VkDevice -- ^ device+                        -> VkCommandPool -- ^ commandPool+                                         -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                      -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkResetCommandPool+--   >     ( VkDevice device+--   >     , VkCommandPool commandPool+--   >     , VkCommandPoolResetFlags flags+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkResetCommandPool.html vkResetCommandPool registry at www.khronos.org>+foreign import ccall unsafe "vkResetCommandPool" vkResetCommandPool+               ::+               VkDevice -- ^ device+                        -> VkCommandPool -- ^ commandPool+                                         -> VkCommandPoolResetFlags -- ^ flags+                                                                    -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkResetCommandPool+--   >     ( VkDevice device+--   >     , VkCommandPool commandPool+--   >     , VkCommandPoolResetFlags flags+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkResetCommandPool.html vkResetCommandPool registry at www.khronos.org>+foreign import ccall safe "vkResetCommandPool"+               vkResetCommandPoolSafe ::+               VkDevice -- ^ device+                        -> VkCommandPool -- ^ commandPool+                                         -> VkCommandPoolResetFlags -- ^ flags+                                                                    -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkAllocateCommandBuffers+--   >     ( VkDevice device+--   >     , const VkCommandBufferAllocateInfo* pAllocateInfo+--   >     , VkCommandBuffer* pCommandBuffers+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAllocateCommandBuffers.html vkAllocateCommandBuffers registry at www.khronos.org>+foreign import ccall unsafe "vkAllocateCommandBuffers"+               vkAllocateCommandBuffers ::+               VkDevice -- ^ device+                        ->+                 Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo+                                                 ->+                   Ptr VkCommandBuffer -- ^ pCommandBuffers+                                       -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkAllocateCommandBuffers+--   >     ( VkDevice device+--   >     , const VkCommandBufferAllocateInfo* pAllocateInfo+--   >     , VkCommandBuffer* pCommandBuffers+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAllocateCommandBuffers.html vkAllocateCommandBuffers registry at www.khronos.org>+foreign import ccall safe "vkAllocateCommandBuffers"+               vkAllocateCommandBuffersSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo+                                                 ->+                   Ptr VkCommandBuffer -- ^ pCommandBuffers+                                       -> IO VkResult++-- | > () vkFreeCommandBuffers+--   >     ( VkDevice device+--   >     , VkCommandPool commandPool+--   >     , uint32_t commandBufferCount+--   >     , const VkCommandBuffer* pCommandBuffers+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkFreeCommandBuffers.html vkFreeCommandBuffers registry at www.khronos.org>+foreign import ccall unsafe "vkFreeCommandBuffers"+               vkFreeCommandBuffers ::+               VkDevice -- ^ device+                        -> VkCommandPool -- ^ commandPool+                                         -> Word32 -- ^ commandBufferCount+                                                   -> Ptr VkCommandBuffer -- ^ pCommandBuffers+                                                                          -> IO ()++-- | > () vkFreeCommandBuffers+--   >     ( VkDevice device+--   >     , VkCommandPool commandPool+--   >     , uint32_t commandBufferCount+--   >     , const VkCommandBuffer* pCommandBuffers+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkFreeCommandBuffers.html vkFreeCommandBuffers registry at www.khronos.org>+foreign import ccall safe "vkFreeCommandBuffers"+               vkFreeCommandBuffersSafe ::+               VkDevice -- ^ device+                        -> VkCommandPool -- ^ commandPool+                                         -> Word32 -- ^ commandBufferCount+                                                   -> Ptr VkCommandBuffer -- ^ pCommandBuffers+                                                                          -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkBeginCommandBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     , const VkCommandBufferBeginInfo* pBeginInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBeginCommandBuffer.html vkBeginCommandBuffer registry at www.khronos.org>+foreign import ccall unsafe "vkBeginCommandBuffer"+               vkBeginCommandBuffer ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo+                                                               -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkBeginCommandBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     , const VkCommandBufferBeginInfo* pBeginInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBeginCommandBuffer.html vkBeginCommandBuffer registry at www.khronos.org>+foreign import ccall safe "vkBeginCommandBuffer"+               vkBeginCommandBufferSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo+                                                               -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkEndCommandBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEndCommandBuffer.html vkEndCommandBuffer registry at www.khronos.org>+foreign import ccall unsafe "vkEndCommandBuffer" vkEndCommandBuffer+               :: VkCommandBuffer -- ^ commandBuffer+                                  -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkEndCommandBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEndCommandBuffer.html vkEndCommandBuffer registry at www.khronos.org>+foreign import ccall safe "vkEndCommandBuffer"+               vkEndCommandBufferSafe :: VkCommandBuffer -- ^ commandBuffer+                                                         -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkResetCommandBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkCommandBufferResetFlags flags+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkResetCommandBuffer.html vkResetCommandBuffer registry at www.khronos.org>+foreign import ccall unsafe "vkResetCommandBuffer"+               vkResetCommandBuffer ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkCommandBufferResetFlags -- ^ flags+                                                            -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkResetCommandBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkCommandBufferResetFlags flags+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkResetCommandBuffer.html vkResetCommandBuffer registry at www.khronos.org>+foreign import ccall safe "vkResetCommandBuffer"+               vkResetCommandBufferSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkCommandBufferResetFlags -- ^ flags+                                                            -> IO VkResult++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdBindPipeline+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkPipelineBindPoint pipelineBindPoint+--   >     , VkPipeline pipeline+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBindPipeline.html vkCmdBindPipeline registry at www.khronos.org>+foreign import ccall unsafe "vkCmdBindPipeline" vkCmdBindPipeline+               :: VkCommandBuffer -- ^ commandBuffer+                                  -> VkPipelineBindPoint -- ^ pipelineBindPoint+                                                         -> VkPipeline -- ^ pipeline+                                                                       -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdBindPipeline+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkPipelineBindPoint pipelineBindPoint+--   >     , VkPipeline pipeline+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBindPipeline.html vkCmdBindPipeline registry at www.khronos.org>+foreign import ccall safe "vkCmdBindPipeline" vkCmdBindPipelineSafe+               :: VkCommandBuffer -- ^ commandBuffer+                                  -> VkPipelineBindPoint -- ^ pipelineBindPoint+                                                         -> VkPipeline -- ^ pipeline+                                                                       -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetViewport+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t firstViewport+--   >     , uint32_t viewportCount+--   >     , const VkViewport* pViewports+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetViewport.html vkCmdSetViewport registry at www.khronos.org>+foreign import ccall unsafe "vkCmdSetViewport" vkCmdSetViewport ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Word32 -- ^ firstViewport+                                         -> Word32 -- ^ viewportCount+                                                   -> Ptr VkViewport -- ^ pViewports+                                                                     -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetViewport+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t firstViewport+--   >     , uint32_t viewportCount+--   >     , const VkViewport* pViewports+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetViewport.html vkCmdSetViewport registry at www.khronos.org>+foreign import ccall safe "vkCmdSetViewport" vkCmdSetViewportSafe+               :: VkCommandBuffer -- ^ commandBuffer+                                  -> Word32 -- ^ firstViewport+                                            -> Word32 -- ^ viewportCount+                                                      -> Ptr VkViewport -- ^ pViewports+                                                                        -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetScissor+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t firstScissor+--   >     , uint32_t scissorCount+--   >     , const VkRect2D* pScissors+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetScissor.html vkCmdSetScissor registry at www.khronos.org>+foreign import ccall unsafe "vkCmdSetScissor" vkCmdSetScissor ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Word32 -- ^ firstScissor+                                         -> Word32 -- ^ scissorCount+                                                   -> Ptr VkRect2D -- ^ pScissors+                                                                   -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetScissor+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t firstScissor+--   >     , uint32_t scissorCount+--   >     , const VkRect2D* pScissors+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetScissor.html vkCmdSetScissor registry at www.khronos.org>+foreign import ccall safe "vkCmdSetScissor" vkCmdSetScissorSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Word32 -- ^ firstScissor+                                         -> Word32 -- ^ scissorCount+                                                   -> Ptr VkRect2D -- ^ pScissors+                                                                   -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetLineWidth+--   >     ( VkCommandBuffer commandBuffer+--   >     , float lineWidth+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetLineWidth.html vkCmdSetLineWidth registry at www.khronos.org>+foreign import ccall unsafe "vkCmdSetLineWidth" vkCmdSetLineWidth+               :: VkCommandBuffer -- ^ commandBuffer+                                  -> #{type float} -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetLineWidth+--   >     ( VkCommandBuffer commandBuffer+--   >     , float lineWidth+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetLineWidth.html vkCmdSetLineWidth registry at www.khronos.org>+foreign import ccall safe "vkCmdSetLineWidth" vkCmdSetLineWidthSafe+               :: VkCommandBuffer -- ^ commandBuffer+                                  -> #{type float} -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetDepthBias+--   >     ( VkCommandBuffer commandBuffer+--   >     , float depthBiasConstantFactor+--   >     , float depthBiasClamp+--   >     , float depthBiasSlopeFactor+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetDepthBias.html vkCmdSetDepthBias registry at www.khronos.org>+foreign import ccall unsafe "vkCmdSetDepthBias" vkCmdSetDepthBias+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 #{type float} ->+                   #{type float} -> #{type float} -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetDepthBias+--   >     ( VkCommandBuffer commandBuffer+--   >     , float depthBiasConstantFactor+--   >     , float depthBiasClamp+--   >     , float depthBiasSlopeFactor+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetDepthBias.html vkCmdSetDepthBias registry at www.khronos.org>+foreign import ccall safe "vkCmdSetDepthBias" vkCmdSetDepthBiasSafe+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 #{type float} ->+                   #{type float} -> #{type float} -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetBlendConstants+--   >     ( VkCommandBuffer commandBuffer+--   >     , const float blendConstants[4]+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetBlendConstants.html vkCmdSetBlendConstants registry at www.khronos.org>+foreign import ccall unsafe "vkCmdSetBlendConstants"+               vkCmdSetBlendConstants ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Ptr #{type float} -- ^ blendConstants+                                                                -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetBlendConstants+--   >     ( VkCommandBuffer commandBuffer+--   >     , const float blendConstants[4]+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetBlendConstants.html vkCmdSetBlendConstants registry at www.khronos.org>+foreign import ccall safe "vkCmdSetBlendConstants"+               vkCmdSetBlendConstantsSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Ptr #{type float} -- ^ blendConstants+                                                                -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetDepthBounds+--   >     ( VkCommandBuffer commandBuffer+--   >     , float minDepthBounds+--   >     , float maxDepthBounds+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetDepthBounds.html vkCmdSetDepthBounds registry at www.khronos.org>+foreign import ccall unsafe "vkCmdSetDepthBounds"+               vkCmdSetDepthBounds ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 #{type float} -> #{type float} -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetDepthBounds+--   >     ( VkCommandBuffer commandBuffer+--   >     , float minDepthBounds+--   >     , float maxDepthBounds+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetDepthBounds.html vkCmdSetDepthBounds registry at www.khronos.org>+foreign import ccall safe "vkCmdSetDepthBounds"+               vkCmdSetDepthBoundsSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 #{type float} -> #{type float} -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetStencilCompareMask+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkStencilFaceFlags faceMask+--   >     , uint32_t compareMask+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetStencilCompareMask.html vkCmdSetStencilCompareMask registry at www.khronos.org>+foreign import ccall unsafe "vkCmdSetStencilCompareMask"+               vkCmdSetStencilCompareMask ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkStencilFaceFlags -- ^ faceMask+                                                     -> Word32 -- ^ compareMask+                                                               -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetStencilCompareMask+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkStencilFaceFlags faceMask+--   >     , uint32_t compareMask+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetStencilCompareMask.html vkCmdSetStencilCompareMask registry at www.khronos.org>+foreign import ccall safe "vkCmdSetStencilCompareMask"+               vkCmdSetStencilCompareMaskSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkStencilFaceFlags -- ^ faceMask+                                                     -> Word32 -- ^ compareMask+                                                               -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetStencilWriteMask+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkStencilFaceFlags faceMask+--   >     , uint32_t writeMask+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetStencilWriteMask.html vkCmdSetStencilWriteMask registry at www.khronos.org>+foreign import ccall unsafe "vkCmdSetStencilWriteMask"+               vkCmdSetStencilWriteMask ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkStencilFaceFlags -- ^ faceMask+                                                     -> Word32 -- ^ writeMask+                                                               -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetStencilWriteMask+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkStencilFaceFlags faceMask+--   >     , uint32_t writeMask+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetStencilWriteMask.html vkCmdSetStencilWriteMask registry at www.khronos.org>+foreign import ccall safe "vkCmdSetStencilWriteMask"+               vkCmdSetStencilWriteMaskSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkStencilFaceFlags -- ^ faceMask+                                                     -> Word32 -- ^ writeMask+                                                               -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetStencilReference+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkStencilFaceFlags faceMask+--   >     , uint32_t reference+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetStencilReference.html vkCmdSetStencilReference registry at www.khronos.org>+foreign import ccall unsafe "vkCmdSetStencilReference"+               vkCmdSetStencilReference ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkStencilFaceFlags -- ^ faceMask+                                                     -> Word32 -- ^ reference+                                                               -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetStencilReference+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkStencilFaceFlags faceMask+--   >     , uint32_t reference+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetStencilReference.html vkCmdSetStencilReference registry at www.khronos.org>+foreign import ccall safe "vkCmdSetStencilReference"+               vkCmdSetStencilReferenceSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkStencilFaceFlags -- ^ faceMask+                                                     -> Word32 -- ^ reference+                                                               -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdBindDescriptorSets+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkPipelineBindPoint pipelineBindPoint+--   >     , VkPipelineLayout layout+--   >     , uint32_t firstSet+--   >     , uint32_t descriptorSetCount+--   >     , const VkDescriptorSet* pDescriptorSets+--   >     , uint32_t dynamicOffsetCount+--   >     , const uint32_t* pDynamicOffsets+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBindDescriptorSets.html vkCmdBindDescriptorSets registry at www.khronos.org>+foreign import ccall unsafe "vkCmdBindDescriptorSets"+               vkCmdBindDescriptorSets ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkPipelineBindPoint -- ^ pipelineBindPoint+                                     ->+                   VkPipelineLayout -- ^ layout+                                    ->+                     Word32 -- ^ firstSet+                            ->+                       Word32 -- ^ descriptorSetCount+                              -> Ptr VkDescriptorSet -- ^ pDescriptorSets+                                                     -> Word32 -- ^ dynamicOffsetCount+                                                               -> Ptr Word32 -- ^ pDynamicOffsets+                                                                             -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdBindDescriptorSets+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkPipelineBindPoint pipelineBindPoint+--   >     , VkPipelineLayout layout+--   >     , uint32_t firstSet+--   >     , uint32_t descriptorSetCount+--   >     , const VkDescriptorSet* pDescriptorSets+--   >     , uint32_t dynamicOffsetCount+--   >     , const uint32_t* pDynamicOffsets+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBindDescriptorSets.html vkCmdBindDescriptorSets registry at www.khronos.org>+foreign import ccall safe "vkCmdBindDescriptorSets"+               vkCmdBindDescriptorSetsSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkPipelineBindPoint -- ^ pipelineBindPoint+                                     ->+                   VkPipelineLayout -- ^ layout+                                    ->+                     Word32 -- ^ firstSet+                            ->+                       Word32 -- ^ descriptorSetCount+                              -> Ptr VkDescriptorSet -- ^ pDescriptorSets+                                                     -> Word32 -- ^ dynamicOffsetCount+                                                               -> Ptr Word32 -- ^ pDynamicOffsets+                                                                             -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdBindIndexBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer buffer+--   >     , VkDeviceSize offset+--   >     , VkIndexType indexType+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBindIndexBuffer.html vkCmdBindIndexBuffer registry at www.khronos.org>+foreign import ccall unsafe "vkCmdBindIndexBuffer"+               vkCmdBindIndexBuffer ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkBuffer -- ^ buffer+                                           -> VkDeviceSize -- ^ offset+                                                           -> VkIndexType -- ^ indexType+                                                                          -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdBindIndexBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer buffer+--   >     , VkDeviceSize offset+--   >     , VkIndexType indexType+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBindIndexBuffer.html vkCmdBindIndexBuffer registry at www.khronos.org>+foreign import ccall safe "vkCmdBindIndexBuffer"+               vkCmdBindIndexBufferSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkBuffer -- ^ buffer+                                           -> VkDeviceSize -- ^ offset+                                                           -> VkIndexType -- ^ indexType+                                                                          -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdBindVertexBuffers+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t firstBinding+--   >     , uint32_t bindingCount+--   >     , const VkBuffer* pBuffers+--   >     , const VkDeviceSize* pOffsets+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBindVertexBuffers.html vkCmdBindVertexBuffers registry at www.khronos.org>+foreign import ccall unsafe "vkCmdBindVertexBuffers"+               vkCmdBindVertexBuffers ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ firstBinding+                        -> Word32 -- ^ bindingCount+                                  -> Ptr VkBuffer -- ^ pBuffers+                                                  -> Ptr VkDeviceSize -- ^ pOffsets+                                                                      -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdBindVertexBuffers+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t firstBinding+--   >     , uint32_t bindingCount+--   >     , const VkBuffer* pBuffers+--   >     , const VkDeviceSize* pOffsets+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBindVertexBuffers.html vkCmdBindVertexBuffers registry at www.khronos.org>+foreign import ccall safe "vkCmdBindVertexBuffers"+               vkCmdBindVertexBuffersSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ firstBinding+                        -> Word32 -- ^ bindingCount+                                  -> Ptr VkBuffer -- ^ pBuffers+                                                  -> Ptr VkDeviceSize -- ^ pOffsets+                                                                      -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @inside@+--+--   pipeline: @graphics@+--+--   > () vkCmdDraw+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t vertexCount+--   >     , uint32_t instanceCount+--   >     , uint32_t firstVertex+--   >     , uint32_t firstInstance+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDraw.html vkCmdDraw registry at www.khronos.org>+foreign import ccall unsafe "vkCmdDraw" vkCmdDraw ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Word32 -- ^ vertexCount+                                         -> Word32 -- ^ instanceCount+                                                   -> Word32 -- ^ firstVertex+                                                             -> Word32 -- ^ firstInstance+                                                                       -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @inside@+--+--   pipeline: @graphics@+--+--   > () vkCmdDraw+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t vertexCount+--   >     , uint32_t instanceCount+--   >     , uint32_t firstVertex+--   >     , uint32_t firstInstance+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDraw.html vkCmdDraw registry at www.khronos.org>+foreign import ccall safe "vkCmdDraw" vkCmdDrawSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Word32 -- ^ vertexCount+                                         -> Word32 -- ^ instanceCount+                                                   -> Word32 -- ^ firstVertex+                                                             -> Word32 -- ^ firstInstance+                                                                       -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @inside@+--+--   pipeline: @graphics@+--+--   > () vkCmdDrawIndexed+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t indexCount+--   >     , uint32_t instanceCount+--   >     , uint32_t firstIndex+--   >     , int32_t vertexOffset+--   >     , uint32_t firstInstance+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDrawIndexed.html vkCmdDrawIndexed registry at www.khronos.org>+foreign import ccall unsafe "vkCmdDrawIndexed" vkCmdDrawIndexed ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ indexCount+                        -> Word32 -- ^ instanceCount+                                  -> Word32 -- ^ firstIndex+                                            -> Int32 -- ^ vertexOffset+                                                     -> Word32 -- ^ firstInstance+                                                               -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @inside@+--+--   pipeline: @graphics@+--+--   > () vkCmdDrawIndexed+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t indexCount+--   >     , uint32_t instanceCount+--   >     , uint32_t firstIndex+--   >     , int32_t vertexOffset+--   >     , uint32_t firstInstance+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDrawIndexed.html vkCmdDrawIndexed registry at www.khronos.org>+foreign import ccall safe "vkCmdDrawIndexed" vkCmdDrawIndexedSafe+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ indexCount+                        -> Word32 -- ^ instanceCount+                                  -> Word32 -- ^ firstIndex+                                            -> Int32 -- ^ vertexOffset+                                                     -> Word32 -- ^ firstInstance+                                                               -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @inside@+--+--   pipeline: @graphics@+--+--   > () vkCmdDrawIndirect+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer buffer+--   >     , VkDeviceSize offset+--   >     , uint32_t drawCount+--   >     , uint32_t stride+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDrawIndirect.html vkCmdDrawIndirect registry at www.khronos.org>+foreign import ccall unsafe "vkCmdDrawIndirect" vkCmdDrawIndirect+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ buffer+                          -> VkDeviceSize -- ^ offset+                                          -> Word32 -- ^ drawCount+                                                    -> Word32 -- ^ stride+                                                              -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @inside@+--+--   pipeline: @graphics@+--+--   > () vkCmdDrawIndirect+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer buffer+--   >     , VkDeviceSize offset+--   >     , uint32_t drawCount+--   >     , uint32_t stride+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDrawIndirect.html vkCmdDrawIndirect registry at www.khronos.org>+foreign import ccall safe "vkCmdDrawIndirect" vkCmdDrawIndirectSafe+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ buffer+                          -> VkDeviceSize -- ^ offset+                                          -> Word32 -- ^ drawCount+                                                    -> Word32 -- ^ stride+                                                              -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @inside@+--+--   pipeline: @graphics@+--+--   > () vkCmdDrawIndexedIndirect+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer buffer+--   >     , VkDeviceSize offset+--   >     , uint32_t drawCount+--   >     , uint32_t stride+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDrawIndexedIndirect.html vkCmdDrawIndexedIndirect registry at www.khronos.org>+foreign import ccall unsafe "vkCmdDrawIndexedIndirect"+               vkCmdDrawIndexedIndirect ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ buffer+                          -> VkDeviceSize -- ^ offset+                                          -> Word32 -- ^ drawCount+                                                    -> Word32 -- ^ stride+                                                              -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @inside@+--+--   pipeline: @graphics@+--+--   > () vkCmdDrawIndexedIndirect+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer buffer+--   >     , VkDeviceSize offset+--   >     , uint32_t drawCount+--   >     , uint32_t stride+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDrawIndexedIndirect.html vkCmdDrawIndexedIndirect registry at www.khronos.org>+foreign import ccall safe "vkCmdDrawIndexedIndirect"+               vkCmdDrawIndexedIndirectSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ buffer+                          -> VkDeviceSize -- ^ offset+                                          -> Word32 -- ^ drawCount+                                                    -> Word32 -- ^ stride+                                                              -> IO ()++-- | queues: 'compute'.+--+--   renderpass: @outside@+--+--   pipeline: @compute@+--+--   > () vkCmdDispatch+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t groupCountX+--   >     , uint32_t groupCountY+--   >     , uint32_t groupCountZ+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDispatch.html vkCmdDispatch registry at www.khronos.org>+foreign import ccall unsafe "vkCmdDispatch" vkCmdDispatch ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Word32 -- ^ groupCountX+                                         -> Word32 -- ^ groupCountY+                                                   -> Word32 -- ^ groupCountZ+                                                             -> IO ()++-- | queues: 'compute'.+--+--   renderpass: @outside@+--+--   pipeline: @compute@+--+--   > () vkCmdDispatch+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t groupCountX+--   >     , uint32_t groupCountY+--   >     , uint32_t groupCountZ+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDispatch.html vkCmdDispatch registry at www.khronos.org>+foreign import ccall safe "vkCmdDispatch" vkCmdDispatchSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Word32 -- ^ groupCountX+                                         -> Word32 -- ^ groupCountY+                                                   -> Word32 -- ^ groupCountZ+                                                             -> IO ()++-- | queues: 'compute'.+--+--   renderpass: @outside@+--+--   pipeline: @compute@+--+--   > () vkCmdDispatchIndirect+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer buffer+--   >     , VkDeviceSize offset+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDispatchIndirect.html vkCmdDispatchIndirect registry at www.khronos.org>+foreign import ccall unsafe "vkCmdDispatchIndirect"+               vkCmdDispatchIndirect ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkBuffer -- ^ buffer+                                           -> VkDeviceSize -- ^ offset+                                                           -> IO ()++-- | queues: 'compute'.+--+--   renderpass: @outside@+--+--   pipeline: @compute@+--+--   > () vkCmdDispatchIndirect+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer buffer+--   >     , VkDeviceSize offset+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDispatchIndirect.html vkCmdDispatchIndirect registry at www.khronos.org>+foreign import ccall safe "vkCmdDispatchIndirect"+               vkCmdDispatchIndirectSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkBuffer -- ^ buffer+                                           -> VkDeviceSize -- ^ offset+                                                           -> IO ()++-- | queues: 'transfer', 'graphics', 'compute'.+--+--   renderpass: @outside@+--+--   pipeline: @transfer@+--+--   > () vkCmdCopyBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer srcBuffer+--   >     , VkBuffer dstBuffer+--   >     , uint32_t regionCount+--   >     , const VkBufferCopy* pRegions+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdCopyBuffer.html vkCmdCopyBuffer registry at www.khronos.org>+foreign import ccall unsafe "vkCmdCopyBuffer" vkCmdCopyBuffer ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ srcBuffer+                          -> VkBuffer -- ^ dstBuffer+                                      -> Word32 -- ^ regionCount+                                                -> Ptr VkBufferCopy -- ^ pRegions+                                                                    -> IO ()++-- | queues: 'transfer', 'graphics', 'compute'.+--+--   renderpass: @outside@+--+--   pipeline: @transfer@+--+--   > () vkCmdCopyBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer srcBuffer+--   >     , VkBuffer dstBuffer+--   >     , uint32_t regionCount+--   >     , const VkBufferCopy* pRegions+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdCopyBuffer.html vkCmdCopyBuffer registry at www.khronos.org>+foreign import ccall safe "vkCmdCopyBuffer" vkCmdCopyBufferSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ srcBuffer+                          -> VkBuffer -- ^ dstBuffer+                                      -> Word32 -- ^ regionCount+                                                -> Ptr VkBufferCopy -- ^ pRegions+                                                                    -> IO ()++-- | queues: 'transfer', 'graphics', 'compute'.+--+--   renderpass: @outside@+--+--   pipeline: @transfer@+--+--   > () vkCmdCopyImage+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkImage srcImage+--   >     , VkImageLayout srcImageLayout+--   >     , VkImage dstImage+--   >     , VkImageLayout dstImageLayout+--   >     , uint32_t regionCount+--   >     , const VkImageCopy* pRegions+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdCopyImage.html vkCmdCopyImage registry at www.khronos.org>+foreign import ccall unsafe "vkCmdCopyImage" vkCmdCopyImage ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ srcImage+                         ->+                   VkImageLayout -- ^ srcImageLayout+                                 ->+                     VkImage -- ^ dstImage+                             -> VkImageLayout -- ^ dstImageLayout+                                              -> Word32 -- ^ regionCount+                                                        -> Ptr VkImageCopy -- ^ pRegions+                                                                           -> IO ()++-- | queues: 'transfer', 'graphics', 'compute'.+--+--   renderpass: @outside@+--+--   pipeline: @transfer@+--+--   > () vkCmdCopyImage+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkImage srcImage+--   >     , VkImageLayout srcImageLayout+--   >     , VkImage dstImage+--   >     , VkImageLayout dstImageLayout+--   >     , uint32_t regionCount+--   >     , const VkImageCopy* pRegions+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdCopyImage.html vkCmdCopyImage registry at www.khronos.org>+foreign import ccall safe "vkCmdCopyImage" vkCmdCopyImageSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ srcImage+                         ->+                   VkImageLayout -- ^ srcImageLayout+                                 ->+                     VkImage -- ^ dstImage+                             -> VkImageLayout -- ^ dstImageLayout+                                              -> Word32 -- ^ regionCount+                                                        -> Ptr VkImageCopy -- ^ pRegions+                                                                           -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @outside@+--+--   pipeline: @transfer@+--+--   > () vkCmdBlitImage+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkImage srcImage+--   >     , VkImageLayout srcImageLayout+--   >     , VkImage dstImage+--   >     , VkImageLayout dstImageLayout+--   >     , uint32_t regionCount+--   >     , const VkImageBlit* pRegions+--   >     , VkFilter filter+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBlitImage.html vkCmdBlitImage registry at www.khronos.org>+foreign import ccall unsafe "vkCmdBlitImage" vkCmdBlitImage ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ srcImage+                         ->+                   VkImageLayout -- ^ srcImageLayout+                                 ->+                     VkImage -- ^ dstImage+                             ->+                       VkImageLayout -- ^ dstImageLayout+                                     -> Word32 -- ^ regionCount+                                               -> Ptr VkImageBlit -- ^ pRegions+                                                                  -> VkFilter -- ^ filter+                                                                              -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @outside@+--+--   pipeline: @transfer@+--+--   > () vkCmdBlitImage+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkImage srcImage+--   >     , VkImageLayout srcImageLayout+--   >     , VkImage dstImage+--   >     , VkImageLayout dstImageLayout+--   >     , uint32_t regionCount+--   >     , const VkImageBlit* pRegions+--   >     , VkFilter filter+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBlitImage.html vkCmdBlitImage registry at www.khronos.org>+foreign import ccall safe "vkCmdBlitImage" vkCmdBlitImageSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ srcImage+                         ->+                   VkImageLayout -- ^ srcImageLayout+                                 ->+                     VkImage -- ^ dstImage+                             ->+                       VkImageLayout -- ^ dstImageLayout+                                     -> Word32 -- ^ regionCount+                                               -> Ptr VkImageBlit -- ^ pRegions+                                                                  -> VkFilter -- ^ filter+                                                                              -> IO ()++-- | queues: 'transfer', 'graphics', 'compute'.+--+--   renderpass: @outside@+--+--   pipeline: @transfer@+--+--   > () vkCmdCopyBufferToImage+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer srcBuffer+--   >     , VkImage dstImage+--   >     , VkImageLayout dstImageLayout+--   >     , uint32_t regionCount+--   >     , const VkBufferImageCopy* pRegions+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdCopyBufferToImage.html vkCmdCopyBufferToImage registry at www.khronos.org>+foreign import ccall unsafe "vkCmdCopyBufferToImage"+               vkCmdCopyBufferToImage ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ srcBuffer+                          ->+                   VkImage -- ^ dstImage+                           ->+                     VkImageLayout -- ^ dstImageLayout+                                   -> Word32 -- ^ regionCount+                                             -> Ptr VkBufferImageCopy -- ^ pRegions+                                                                      -> IO ()++-- | queues: 'transfer', 'graphics', 'compute'.+--+--   renderpass: @outside@+--+--   pipeline: @transfer@+--+--   > () vkCmdCopyBufferToImage+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer srcBuffer+--   >     , VkImage dstImage+--   >     , VkImageLayout dstImageLayout+--   >     , uint32_t regionCount+--   >     , const VkBufferImageCopy* pRegions+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdCopyBufferToImage.html vkCmdCopyBufferToImage registry at www.khronos.org>+foreign import ccall safe "vkCmdCopyBufferToImage"+               vkCmdCopyBufferToImageSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ srcBuffer+                          ->+                   VkImage -- ^ dstImage+                           ->+                     VkImageLayout -- ^ dstImageLayout+                                   -> Word32 -- ^ regionCount+                                             -> Ptr VkBufferImageCopy -- ^ pRegions+                                                                      -> IO ()++-- | queues: 'transfer', 'graphics', 'compute'.+--+--   renderpass: @outside@+--+--   pipeline: @transfer@+--+--   > () vkCmdCopyImageToBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkImage srcImage+--   >     , VkImageLayout srcImageLayout+--   >     , VkBuffer dstBuffer+--   >     , uint32_t regionCount+--   >     , const VkBufferImageCopy* pRegions+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdCopyImageToBuffer.html vkCmdCopyImageToBuffer registry at www.khronos.org>+foreign import ccall unsafe "vkCmdCopyImageToBuffer"+               vkCmdCopyImageToBuffer ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ srcImage+                         ->+                   VkImageLayout -- ^ srcImageLayout+                                 ->+                     VkBuffer -- ^ dstBuffer+                              -> Word32 -- ^ regionCount+                                        -> Ptr VkBufferImageCopy -- ^ pRegions+                                                                 -> IO ()++-- | queues: 'transfer', 'graphics', 'compute'.+--+--   renderpass: @outside@+--+--   pipeline: @transfer@+--+--   > () vkCmdCopyImageToBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkImage srcImage+--   >     , VkImageLayout srcImageLayout+--   >     , VkBuffer dstBuffer+--   >     , uint32_t regionCount+--   >     , const VkBufferImageCopy* pRegions+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdCopyImageToBuffer.html vkCmdCopyImageToBuffer registry at www.khronos.org>+foreign import ccall safe "vkCmdCopyImageToBuffer"+               vkCmdCopyImageToBufferSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ srcImage+                         ->+                   VkImageLayout -- ^ srcImageLayout+                                 ->+                     VkBuffer -- ^ dstBuffer+                              -> Word32 -- ^ regionCount+                                        -> Ptr VkBufferImageCopy -- ^ pRegions+                                                                 -> IO ()++-- | queues: 'transfer', 'graphics', 'compute'.+--+--   renderpass: @outside@+--+--   pipeline: @transfer@+--+--   > () vkCmdUpdateBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer dstBuffer+--   >     , VkDeviceSize dstOffset+--   >     , VkDeviceSize dataSize+--   >     , const void* pData+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdUpdateBuffer.html vkCmdUpdateBuffer registry at www.khronos.org>+foreign import ccall unsafe "vkCmdUpdateBuffer" vkCmdUpdateBuffer+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ dstBuffer+                          -> VkDeviceSize -- ^ dstOffset+                                          -> VkDeviceSize -- ^ dataSize+                                                          -> Ptr Void -- ^ pData+                                                                      -> IO ()++-- | queues: 'transfer', 'graphics', 'compute'.+--+--   renderpass: @outside@+--+--   pipeline: @transfer@+--+--   > () vkCmdUpdateBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer dstBuffer+--   >     , VkDeviceSize dstOffset+--   >     , VkDeviceSize dataSize+--   >     , const void* pData+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdUpdateBuffer.html vkCmdUpdateBuffer registry at www.khronos.org>+foreign import ccall safe "vkCmdUpdateBuffer" vkCmdUpdateBufferSafe+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ dstBuffer+                          -> VkDeviceSize -- ^ dstOffset+                                          -> VkDeviceSize -- ^ dataSize+                                                          -> Ptr Void -- ^ pData+                                                                      -> IO ()++-- | transfer support is only available when VK_KHR_maintenance1 is enabled, as documented in valid usage language in the specification+--+--   queues: 'transfer', 'graphics', 'compute'.+--+--   renderpass: @outside@+--+--   pipeline: @transfer@+--+--   > () vkCmdFillBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer dstBuffer+--   >     , VkDeviceSize dstOffset+--   >     , VkDeviceSize size+--   >     , uint32_t data+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdFillBuffer.html vkCmdFillBuffer registry at www.khronos.org>+foreign import ccall unsafe "vkCmdFillBuffer" vkCmdFillBuffer ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ dstBuffer+                          -> VkDeviceSize -- ^ dstOffset+                                          -> VkDeviceSize -- ^ size+                                                          -> Word32 -- ^ data+                                                                    -> IO ()++-- | transfer support is only available when VK_KHR_maintenance1 is enabled, as documented in valid usage language in the specification+--+--   queues: 'transfer', 'graphics', 'compute'.+--+--   renderpass: @outside@+--+--   pipeline: @transfer@+--+--   > () vkCmdFillBuffer+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer dstBuffer+--   >     , VkDeviceSize dstOffset+--   >     , VkDeviceSize size+--   >     , uint32_t data+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdFillBuffer.html vkCmdFillBuffer registry at www.khronos.org>+foreign import ccall safe "vkCmdFillBuffer" vkCmdFillBufferSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ dstBuffer+                          -> VkDeviceSize -- ^ dstOffset+                                          -> VkDeviceSize -- ^ size+                                                          -> Word32 -- ^ data+                                                                    -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @outside@+--+--   pipeline: @transfer@+--+--   > () vkCmdClearColorImage+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkImage image+--   >     , VkImageLayout imageLayout+--   >     , const VkClearColorValue* pColor+--   >     , uint32_t rangeCount+--   >     , const VkImageSubresourceRange* pRanges+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdClearColorImage.html vkCmdClearColorImage registry at www.khronos.org>+foreign import ccall unsafe "vkCmdClearColorImage"+               vkCmdClearColorImage ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ image+                         ->+                   VkImageLayout -- ^ imageLayout+                                 ->+                     Ptr VkClearColorValue -- ^ pColor+                                           ->+                       Word32 -- ^ rangeCount+                              -> Ptr VkImageSubresourceRange -- ^ pRanges+                                                             -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @outside@+--+--   pipeline: @transfer@+--+--   > () vkCmdClearColorImage+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkImage image+--   >     , VkImageLayout imageLayout+--   >     , const VkClearColorValue* pColor+--   >     , uint32_t rangeCount+--   >     , const VkImageSubresourceRange* pRanges+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdClearColorImage.html vkCmdClearColorImage registry at www.khronos.org>+foreign import ccall safe "vkCmdClearColorImage"+               vkCmdClearColorImageSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ image+                         ->+                   VkImageLayout -- ^ imageLayout+                                 ->+                     Ptr VkClearColorValue -- ^ pColor+                                           ->+                       Word32 -- ^ rangeCount+                              -> Ptr VkImageSubresourceRange -- ^ pRanges+                                                             -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @outside@+--+--   pipeline: @transfer@+--+--   > () vkCmdClearDepthStencilImage+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkImage image+--   >     , VkImageLayout imageLayout+--   >     , const VkClearDepthStencilValue* pDepthStencil+--   >     , uint32_t rangeCount+--   >     , const VkImageSubresourceRange* pRanges+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdClearDepthStencilImage.html vkCmdClearDepthStencilImage registry at www.khronos.org>+foreign import ccall unsafe "vkCmdClearDepthStencilImage"+               vkCmdClearDepthStencilImage ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ image+                         ->+                   VkImageLayout -- ^ imageLayout+                                 ->+                     Ptr VkClearDepthStencilValue -- ^ pDepthStencil+                                                  ->+                       Word32 -- ^ rangeCount+                              -> Ptr VkImageSubresourceRange -- ^ pRanges+                                                             -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @outside@+--+--   pipeline: @transfer@+--+--   > () vkCmdClearDepthStencilImage+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkImage image+--   >     , VkImageLayout imageLayout+--   >     , const VkClearDepthStencilValue* pDepthStencil+--   >     , uint32_t rangeCount+--   >     , const VkImageSubresourceRange* pRanges+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdClearDepthStencilImage.html vkCmdClearDepthStencilImage registry at www.khronos.org>+foreign import ccall safe "vkCmdClearDepthStencilImage"+               vkCmdClearDepthStencilImageSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ image+                         ->+                   VkImageLayout -- ^ imageLayout+                                 ->+                     Ptr VkClearDepthStencilValue -- ^ pDepthStencil+                                                  ->+                       Word32 -- ^ rangeCount+                              -> Ptr VkImageSubresourceRange -- ^ pRanges+                                                             -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @inside@+--+--   pipeline: @graphics@+--+--   > () vkCmdClearAttachments+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t attachmentCount+--   >     , const VkClearAttachment* pAttachments+--   >     , uint32_t rectCount+--   >     , const VkClearRect* pRects+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdClearAttachments.html vkCmdClearAttachments registry at www.khronos.org>+foreign import ccall unsafe "vkCmdClearAttachments"+               vkCmdClearAttachments ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ attachmentCount+                        ->+                   Ptr VkClearAttachment -- ^ pAttachments+                                         -> Word32 -- ^ rectCount+                                                   -> Ptr VkClearRect -- ^ pRects+                                                                      -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @inside@+--+--   pipeline: @graphics@+--+--   > () vkCmdClearAttachments+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t attachmentCount+--   >     , const VkClearAttachment* pAttachments+--   >     , uint32_t rectCount+--   >     , const VkClearRect* pRects+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdClearAttachments.html vkCmdClearAttachments registry at www.khronos.org>+foreign import ccall safe "vkCmdClearAttachments"+               vkCmdClearAttachmentsSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ attachmentCount+                        ->+                   Ptr VkClearAttachment -- ^ pAttachments+                                         -> Word32 -- ^ rectCount+                                                   -> Ptr VkClearRect -- ^ pRects+                                                                      -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @outside@+--+--   pipeline: @transfer@+--+--   > () vkCmdResolveImage+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkImage srcImage+--   >     , VkImageLayout srcImageLayout+--   >     , VkImage dstImage+--   >     , VkImageLayout dstImageLayout+--   >     , uint32_t regionCount+--   >     , const VkImageResolve* pRegions+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdResolveImage.html vkCmdResolveImage registry at www.khronos.org>+foreign import ccall unsafe "vkCmdResolveImage" vkCmdResolveImage+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ srcImage+                         ->+                   VkImageLayout -- ^ srcImageLayout+                                 ->+                     VkImage -- ^ dstImage+                             -> VkImageLayout -- ^ dstImageLayout+                                              -> Word32 -- ^ regionCount+                                                        -> Ptr VkImageResolve -- ^ pRegions+                                                                              -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @outside@+--+--   pipeline: @transfer@+--+--   > () vkCmdResolveImage+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkImage srcImage+--   >     , VkImageLayout srcImageLayout+--   >     , VkImage dstImage+--   >     , VkImageLayout dstImageLayout+--   >     , uint32_t regionCount+--   >     , const VkImageResolve* pRegions+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdResolveImage.html vkCmdResolveImage registry at www.khronos.org>+foreign import ccall safe "vkCmdResolveImage" vkCmdResolveImageSafe+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkImage -- ^ srcImage+                         ->+                   VkImageLayout -- ^ srcImageLayout+                                 ->+                     VkImage -- ^ dstImage+                             -> VkImageLayout -- ^ dstImageLayout+                                              -> Word32 -- ^ regionCount+                                                        -> Ptr VkImageResolve -- ^ pRegions+                                                                              -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @outside@+--+--   > () vkCmdSetEvent+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkEvent event+--   >     , VkPipelineStageFlags stageMask+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetEvent.html vkCmdSetEvent registry at www.khronos.org>+foreign import ccall unsafe "vkCmdSetEvent" vkCmdSetEvent ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkEvent -- ^ event+                                          -> VkPipelineStageFlags -- ^ stageMask+                                                                  -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @outside@+--+--   > () vkCmdSetEvent+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkEvent event+--   >     , VkPipelineStageFlags stageMask+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetEvent.html vkCmdSetEvent registry at www.khronos.org>+foreign import ccall safe "vkCmdSetEvent" vkCmdSetEventSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkEvent -- ^ event+                                          -> VkPipelineStageFlags -- ^ stageMask+                                                                  -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @outside@+--+--   > () vkCmdResetEvent+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkEvent event+--   >     , VkPipelineStageFlags stageMask+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdResetEvent.html vkCmdResetEvent registry at www.khronos.org>+foreign import ccall unsafe "vkCmdResetEvent" vkCmdResetEvent ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkEvent -- ^ event+                                          -> VkPipelineStageFlags -- ^ stageMask+                                                                  -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @outside@+--+--   > () vkCmdResetEvent+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkEvent event+--   >     , VkPipelineStageFlags stageMask+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdResetEvent.html vkCmdResetEvent registry at www.khronos.org>+foreign import ccall safe "vkCmdResetEvent" vkCmdResetEventSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkEvent -- ^ event+                                          -> VkPipelineStageFlags -- ^ stageMask+                                                                  -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdWaitEvents+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t eventCount+--   >     , const VkEvent* pEvents+--   >     , VkPipelineStageFlags srcStageMask+--   >     , VkPipelineStageFlags dstStageMask+--   >     , uint32_t memoryBarrierCount+--   >     , const VkMemoryBarrier* pMemoryBarriers+--   >     , uint32_t bufferMemoryBarrierCount+--   >     , const VkBufferMemoryBarrier* pBufferMemoryBarriers+--   >     , uint32_t imageMemoryBarrierCount+--   >     , const VkImageMemoryBarrier* pImageMemoryBarriers+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdWaitEvents.html vkCmdWaitEvents registry at www.khronos.org>+foreign import ccall unsafe "vkCmdWaitEvents" vkCmdWaitEvents ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ eventCount+                        ->+                   Ptr VkEvent -- ^ pEvents+                               ->+                     VkPipelineStageFlags -- ^ srcStageMask+                                          ->+                       VkPipelineStageFlags -- ^ dstStageMask+                                            ->+                         Word32 -- ^ memoryBarrierCount+                                ->+                           Ptr VkMemoryBarrier -- ^ pMemoryBarriers+                                               ->+                             Word32 -- ^ bufferMemoryBarrierCount+                                    ->+                               Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+                                                         ->+                                 Word32 -- ^ imageMemoryBarrierCount+                                        -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+                                                                    -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdWaitEvents+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t eventCount+--   >     , const VkEvent* pEvents+--   >     , VkPipelineStageFlags srcStageMask+--   >     , VkPipelineStageFlags dstStageMask+--   >     , uint32_t memoryBarrierCount+--   >     , const VkMemoryBarrier* pMemoryBarriers+--   >     , uint32_t bufferMemoryBarrierCount+--   >     , const VkBufferMemoryBarrier* pBufferMemoryBarriers+--   >     , uint32_t imageMemoryBarrierCount+--   >     , const VkImageMemoryBarrier* pImageMemoryBarriers+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdWaitEvents.html vkCmdWaitEvents registry at www.khronos.org>+foreign import ccall safe "vkCmdWaitEvents" vkCmdWaitEventsSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ eventCount+                        ->+                   Ptr VkEvent -- ^ pEvents+                               ->+                     VkPipelineStageFlags -- ^ srcStageMask+                                          ->+                       VkPipelineStageFlags -- ^ dstStageMask+                                            ->+                         Word32 -- ^ memoryBarrierCount+                                ->+                           Ptr VkMemoryBarrier -- ^ pMemoryBarriers+                                               ->+                             Word32 -- ^ bufferMemoryBarrierCount+                                    ->+                               Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+                                                         ->+                                 Word32 -- ^ imageMemoryBarrierCount+                                        -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+                                                                    -> IO ()++-- | queues: 'transfer', 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdPipelineBarrier+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkPipelineStageFlags srcStageMask+--   >     , VkPipelineStageFlags dstStageMask+--   >     , VkDependencyFlags dependencyFlags+--   >     , uint32_t memoryBarrierCount+--   >     , const VkMemoryBarrier* pMemoryBarriers+--   >     , uint32_t bufferMemoryBarrierCount+--   >     , const VkBufferMemoryBarrier* pBufferMemoryBarriers+--   >     , uint32_t imageMemoryBarrierCount+--   >     , const VkImageMemoryBarrier* pImageMemoryBarriers+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdPipelineBarrier.html vkCmdPipelineBarrier registry at www.khronos.org>+foreign import ccall unsafe "vkCmdPipelineBarrier"+               vkCmdPipelineBarrier ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkPipelineStageFlags -- ^ srcStageMask+                                      ->+                   VkPipelineStageFlags -- ^ dstStageMask+                                        ->+                     VkDependencyFlags -- ^ dependencyFlags+                                       ->+                       Word32 -- ^ memoryBarrierCount+                              ->+                         Ptr VkMemoryBarrier -- ^ pMemoryBarriers+                                             ->+                           Word32 -- ^ bufferMemoryBarrierCount+                                  ->+                             Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+                                                       ->+                               Word32 -- ^ imageMemoryBarrierCount+                                      -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+                                                                  -> IO ()++-- | queues: 'transfer', 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdPipelineBarrier+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkPipelineStageFlags srcStageMask+--   >     , VkPipelineStageFlags dstStageMask+--   >     , VkDependencyFlags dependencyFlags+--   >     , uint32_t memoryBarrierCount+--   >     , const VkMemoryBarrier* pMemoryBarriers+--   >     , uint32_t bufferMemoryBarrierCount+--   >     , const VkBufferMemoryBarrier* pBufferMemoryBarriers+--   >     , uint32_t imageMemoryBarrierCount+--   >     , const VkImageMemoryBarrier* pImageMemoryBarriers+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdPipelineBarrier.html vkCmdPipelineBarrier registry at www.khronos.org>+foreign import ccall safe "vkCmdPipelineBarrier"+               vkCmdPipelineBarrierSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkPipelineStageFlags -- ^ srcStageMask+                                      ->+                   VkPipelineStageFlags -- ^ dstStageMask+                                        ->+                     VkDependencyFlags -- ^ dependencyFlags+                                       ->+                       Word32 -- ^ memoryBarrierCount+                              ->+                         Ptr VkMemoryBarrier -- ^ pMemoryBarriers+                                             ->+                           Word32 -- ^ bufferMemoryBarrierCount+                                  ->+                             Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+                                                       ->+                               Word32 -- ^ imageMemoryBarrierCount+                                      -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+                                                                  -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdBeginQuery+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkQueryPool queryPool+--   >     , uint32_t query+--   >     , VkQueryControlFlags flags+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBeginQuery.html vkCmdBeginQuery registry at www.khronos.org>+foreign import ccall unsafe "vkCmdBeginQuery" vkCmdBeginQuery ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkQueryPool -- ^ queryPool+                             -> Word32 -- ^ query+                                       -> VkQueryControlFlags -- ^ flags+                                                              -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdBeginQuery+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkQueryPool queryPool+--   >     , uint32_t query+--   >     , VkQueryControlFlags flags+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBeginQuery.html vkCmdBeginQuery registry at www.khronos.org>+foreign import ccall safe "vkCmdBeginQuery" vkCmdBeginQuerySafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkQueryPool -- ^ queryPool+                             -> Word32 -- ^ query+                                       -> VkQueryControlFlags -- ^ flags+                                                              -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdEndQuery+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkQueryPool queryPool+--   >     , uint32_t query+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdEndQuery.html vkCmdEndQuery registry at www.khronos.org>+foreign import ccall unsafe "vkCmdEndQuery" vkCmdEndQuery ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkQueryPool -- ^ queryPool+                                              -> Word32 -- ^ query+                                                        -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdEndQuery+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkQueryPool queryPool+--   >     , uint32_t query+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdEndQuery.html vkCmdEndQuery registry at www.khronos.org>+foreign import ccall safe "vkCmdEndQuery" vkCmdEndQuerySafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkQueryPool -- ^ queryPool+                                              -> Word32 -- ^ query+                                                        -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @outside@+--+--   > () vkCmdResetQueryPool+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkQueryPool queryPool+--   >     , uint32_t firstQuery+--   >     , uint32_t queryCount+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdResetQueryPool.html vkCmdResetQueryPool registry at www.khronos.org>+foreign import ccall unsafe "vkCmdResetQueryPool"+               vkCmdResetQueryPool ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkQueryPool -- ^ queryPool+                                              -> Word32 -- ^ firstQuery+                                                        -> Word32 -- ^ queryCount+                                                                  -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @outside@+--+--   > () vkCmdResetQueryPool+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkQueryPool queryPool+--   >     , uint32_t firstQuery+--   >     , uint32_t queryCount+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdResetQueryPool.html vkCmdResetQueryPool registry at www.khronos.org>+foreign import ccall safe "vkCmdResetQueryPool"+               vkCmdResetQueryPoolSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkQueryPool -- ^ queryPool+                                              -> Word32 -- ^ firstQuery+                                                        -> Word32 -- ^ queryCount+                                                                  -> IO ()++-- | queues: 'transfer', 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   pipeline: @transfer@+--+--   > () vkCmdWriteTimestamp+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkPipelineStageFlagBits pipelineStage+--   >     , VkQueryPool queryPool+--   >     , uint32_t query+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdWriteTimestamp.html vkCmdWriteTimestamp registry at www.khronos.org>+foreign import ccall unsafe "vkCmdWriteTimestamp"+               vkCmdWriteTimestamp ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkPipelineStageFlagBits -- ^ pipelineStage+                                         -> VkQueryPool -- ^ queryPool+                                                        -> Word32 -- ^ query+                                                                  -> IO ()++-- | queues: 'transfer', 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   pipeline: @transfer@+--+--   > () vkCmdWriteTimestamp+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkPipelineStageFlagBits pipelineStage+--   >     , VkQueryPool queryPool+--   >     , uint32_t query+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdWriteTimestamp.html vkCmdWriteTimestamp registry at www.khronos.org>+foreign import ccall safe "vkCmdWriteTimestamp"+               vkCmdWriteTimestampSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkPipelineStageFlagBits -- ^ pipelineStage+                                         -> VkQueryPool -- ^ queryPool+                                                        -> Word32 -- ^ query+                                                                  -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @outside@+--+--   pipeline: @transfer@+--+--   > () vkCmdCopyQueryPoolResults+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkQueryPool queryPool+--   >     , uint32_t firstQuery+--   >     , uint32_t queryCount+--   >     , VkBuffer dstBuffer+--   >     , VkDeviceSize dstOffset+--   >     , VkDeviceSize stride+--   >     , VkQueryResultFlags flags+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdCopyQueryPoolResults.html vkCmdCopyQueryPoolResults registry at www.khronos.org>+foreign import ccall unsafe "vkCmdCopyQueryPoolResults"+               vkCmdCopyQueryPoolResults ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkQueryPool -- ^ queryPool+                             ->+                   Word32 -- ^ firstQuery+                          ->+                     Word32 -- ^ queryCount+                            ->+                       VkBuffer -- ^ dstBuffer+                                ->+                         VkDeviceSize -- ^ dstOffset+                                      -> VkDeviceSize -- ^ stride+                                                      -> VkQueryResultFlags -- ^ flags+                                                                            -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @outside@+--+--   pipeline: @transfer@+--+--   > () vkCmdCopyQueryPoolResults+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkQueryPool queryPool+--   >     , uint32_t firstQuery+--   >     , uint32_t queryCount+--   >     , VkBuffer dstBuffer+--   >     , VkDeviceSize dstOffset+--   >     , VkDeviceSize stride+--   >     , VkQueryResultFlags flags+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdCopyQueryPoolResults.html vkCmdCopyQueryPoolResults registry at www.khronos.org>+foreign import ccall safe "vkCmdCopyQueryPoolResults"+               vkCmdCopyQueryPoolResultsSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkQueryPool -- ^ queryPool+                             ->+                   Word32 -- ^ firstQuery+                          ->+                     Word32 -- ^ queryCount+                            ->+                       VkBuffer -- ^ dstBuffer+                                ->+                         VkDeviceSize -- ^ dstOffset+                                      -> VkDeviceSize -- ^ stride+                                                      -> VkQueryResultFlags -- ^ flags+                                                                            -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdPushConstants+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkPipelineLayout layout+--   >     , VkShaderStageFlags stageFlags+--   >     , uint32_t offset+--   >     , uint32_t size+--   >     , const void* pValues+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdPushConstants.html vkCmdPushConstants registry at www.khronos.org>+foreign import ccall unsafe "vkCmdPushConstants" vkCmdPushConstants+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkPipelineLayout -- ^ layout+                                  ->+                   VkShaderStageFlags -- ^ stageFlags+                                      -> Word32 -- ^ offset+                                                -> Word32 -- ^ size+                                                          -> Ptr Void -- ^ pValues+                                                                      -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdPushConstants+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkPipelineLayout layout+--   >     , VkShaderStageFlags stageFlags+--   >     , uint32_t offset+--   >     , uint32_t size+--   >     , const void* pValues+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdPushConstants.html vkCmdPushConstants registry at www.khronos.org>+foreign import ccall safe "vkCmdPushConstants"+               vkCmdPushConstantsSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkPipelineLayout -- ^ layout+                                  ->+                   VkShaderStageFlags -- ^ stageFlags+                                      -> Word32 -- ^ offset+                                                -> Word32 -- ^ size+                                                          -> Ptr Void -- ^ pValues+                                                                      -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @outside@+--+--   pipeline: @graphics@+--+--   > () vkCmdBeginRenderPass+--   >     ( VkCommandBuffer commandBuffer+--   >     , const VkRenderPassBeginInfo* pRenderPassBegin+--   >     , VkSubpassContents contents+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBeginRenderPass.html vkCmdBeginRenderPass registry at www.khronos.org>+foreign import ccall unsafe "vkCmdBeginRenderPass"+               vkCmdBeginRenderPass ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin+                                           -> VkSubpassContents -- ^ contents+                                                                -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @outside@+--+--   pipeline: @graphics@+--+--   > () vkCmdBeginRenderPass+--   >     ( VkCommandBuffer commandBuffer+--   >     , const VkRenderPassBeginInfo* pRenderPassBegin+--   >     , VkSubpassContents contents+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBeginRenderPass.html vkCmdBeginRenderPass registry at www.khronos.org>+foreign import ccall safe "vkCmdBeginRenderPass"+               vkCmdBeginRenderPassSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin+                                           -> VkSubpassContents -- ^ contents+                                                                -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @inside@+--+--   pipeline: @graphics@+--+--   > () vkCmdNextSubpass+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkSubpassContents contents+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdNextSubpass.html vkCmdNextSubpass registry at www.khronos.org>+foreign import ccall unsafe "vkCmdNextSubpass" vkCmdNextSubpass ::+               VkCommandBuffer -- ^ commandBuffer+                               -> VkSubpassContents -- ^ contents+                                                    -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @inside@+--+--   pipeline: @graphics@+--+--   > () vkCmdNextSubpass+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkSubpassContents contents+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdNextSubpass.html vkCmdNextSubpass registry at www.khronos.org>+foreign import ccall safe "vkCmdNextSubpass" vkCmdNextSubpassSafe+               :: VkCommandBuffer -- ^ commandBuffer+                                  -> VkSubpassContents -- ^ contents+                                                       -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @inside@+--+--   pipeline: @graphics@+--+--   > () vkCmdEndRenderPass+--   >     ( VkCommandBuffer commandBuffer+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdEndRenderPass.html vkCmdEndRenderPass registry at www.khronos.org>+foreign import ccall unsafe "vkCmdEndRenderPass" vkCmdEndRenderPass+               :: VkCommandBuffer -- ^ commandBuffer+                                  -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @inside@+--+--   pipeline: @graphics@+--+--   > () vkCmdEndRenderPass+--   >     ( VkCommandBuffer commandBuffer+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdEndRenderPass.html vkCmdEndRenderPass registry at www.khronos.org>+foreign import ccall safe "vkCmdEndRenderPass"+               vkCmdEndRenderPassSafe :: VkCommandBuffer -- ^ commandBuffer+                                                         -> IO ()++-- | queues: 'transfer', 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdExecuteCommands+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t commandBufferCount+--   >     , const VkCommandBuffer* pCommandBuffers+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdExecuteCommands.html vkCmdExecuteCommands registry at www.khronos.org>+foreign import ccall unsafe "vkCmdExecuteCommands"+               vkCmdExecuteCommands ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Word32 -- ^ commandBufferCount+                                         -> Ptr VkCommandBuffer -- ^ pCommandBuffers+                                                                -> IO ()++-- | queues: 'transfer', 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdExecuteCommands+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t commandBufferCount+--   >     , const VkCommandBuffer* pCommandBuffers+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdExecuteCommands.html vkCmdExecuteCommands registry at www.khronos.org>+foreign import ccall safe "vkCmdExecuteCommands"+               vkCmdExecuteCommandsSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Word32 -- ^ commandBufferCount+                                         -> Ptr VkCommandBuffer -- ^ pCommandBuffers+                                                                -> IO ()
+ src-gen/Graphics/Vulkan/Core_1_1.hs view
@@ -0,0 +1,2374 @@+{-# OPTIONS_GHC -fno-warn-unused-imports#-}+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+module Graphics.Vulkan.Core_1_1+       (-- * Vulkan 1.1 core API interface definitions.+        -- |+        --+        -- @api = vulkan@+        --+        -- @name = VK_VERSION_1_1@+        --+        -- @number = 1.1@+        --++        -- ** Device Initialization+        vkEnumerateInstanceVersion, vkEnumerateInstanceVersionSafe,+        module Graphics.Vulkan.Types.Enum.VkResult,+        -- ** Promoted from VK_KHR_relaxed_block_layout, which has no API+        --++        -- ** Promoted from VK_KHR_storage_buffer_storage_class, which has no API+        --++        -- ** Originally based on VK_KHR_subgroup (extension 94), but the actual enum block used was, incorrectly, that of extension 95+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSubgroupProperties,+        module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,+        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,+        module Graphics.Vulkan.Types.Enum.VkShaderStageFlags,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Enum.VkSubgroupFeatureFlags,+        -- > #include "vk_platform.h"+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES,+        -- ** Promoted from VK_KHR_bind_memory2+        module Graphics.Vulkan.Types.Struct.VkBindBufferMemoryInfo,+        module Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfo,+        -- > #include "vk_platform.h"+        vkBindBufferMemory2, vkBindBufferMemory2Safe, vkBindImageMemory2,+        vkBindImageMemory2Safe, module Graphics.Vulkan.Types.Handles,+        pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,+        pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,+        pattern VK_IMAGE_CREATE_ALIAS_BIT,+        -- ** Promoted from VK_KHR_16bit_storage+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags,+        module Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDevice16BitStorageFeatures,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2,+        -- > #include "vk_platform.h"+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,+        -- ** Promoted from VK_KHR_dedicated_allocation+        module Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo,+        module Graphics.Vulkan.Types.Struct.VkMemoryDedicatedAllocateInfo,+        module Graphics.Vulkan.Types.Struct.VkMemoryDedicatedRequirements,+        module Graphics.Vulkan.Types.Struct.VkMemoryRequirements,+        module Graphics.Vulkan.Types.Struct.VkMemoryRequirements2,+        -- > #include "vk_platform.h"+        pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,+        pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,+        -- ** Promoted from VK_KHR_device_group+        module Graphics.Vulkan.Types.Struct.VkBindSparseInfo,+        module Graphics.Vulkan.Types.Struct.VkClearColorValue,+        module Graphics.Vulkan.Types.Struct.VkClearDepthStencilValue,+        module Graphics.Vulkan.Types.Struct.VkClearValue,+        module Graphics.Vulkan.Types.Struct.VkCommandBufferBeginInfo,+        module Graphics.Vulkan.Types.Struct.VkCommandBufferInheritanceInfo,+        module Graphics.Vulkan.Types.Enum.VkCommandBufferUsageFlags,+        module Graphics.Vulkan.Types.Struct.VkDeviceGroupBindSparseInfo,+        module Graphics.Vulkan.Types.Struct.VkDeviceGroupCommandBufferBeginInfo,+        module Graphics.Vulkan.Types.Struct.VkDeviceGroupRenderPassBeginInfo,+        module Graphics.Vulkan.Types.Struct.VkDeviceGroupSubmitInfo,+        module Graphics.Vulkan.Types.Struct.VkExtent2D,+        module Graphics.Vulkan.Types.Struct.VkExtent3D,+        module Graphics.Vulkan.Types.Enum.VkImageAspectFlags,+        module Graphics.Vulkan.Types.Struct.VkImageSubresource,+        module Graphics.Vulkan.Types.Enum.VkMemoryAllocateFlags,+        module Graphics.Vulkan.Types.Struct.VkMemoryAllocateFlagsInfo,+        module Graphics.Vulkan.Types.Struct.VkOffset2D,+        module Graphics.Vulkan.Types.Struct.VkOffset3D,+        module Graphics.Vulkan.Types.Enum.VkPeerMemoryFeatureFlags,+        module Graphics.Vulkan.Types.Enum.VkPipelineStageFlags,+        module Graphics.Vulkan.Types.Enum.VkQueryControlFlags,+        module Graphics.Vulkan.Types.Enum.VkQueryPipelineStatisticFlags,+        module Graphics.Vulkan.Types.Struct.VkRect2D,+        module Graphics.Vulkan.Types.Struct.VkRenderPassBeginInfo,+        module Graphics.Vulkan.Types.Struct.VkSparseBufferMemoryBindInfo,+        module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBind,+        module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBindInfo,+        module Graphics.Vulkan.Types.Struct.VkSparseImageOpaqueMemoryBindInfo,+        module Graphics.Vulkan.Types.Struct.VkSparseMemoryBind,+        module Graphics.Vulkan.Types.Enum.VkSparseMemoryBindFlags,+        module Graphics.Vulkan.Types.Struct.VkSubmitInfo,+        -- > #include "vk_platform.h"+        vkGetDeviceGroupPeerMemoryFeatures,+        vkGetDeviceGroupPeerMemoryFeaturesSafe, vkCmdSetDeviceMask,+        vkCmdSetDeviceMaskSafe, vkCmdDispatchBase, vkCmdDispatchBaseSafe,+        pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,+        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,+        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,+        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,+        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,+        pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,+        pattern VK_PIPELINE_CREATE_DISPATCH_BASE,+        pattern VK_DEPENDENCY_DEVICE_GROUP_BIT,+        -- ** Promoted from VK_KHR_device_group + VK_KHR_bind_memory2+        module Graphics.Vulkan.Types.Struct.VkBindBufferMemoryDeviceGroupInfo,+        module Graphics.Vulkan.Types.Struct.VkBindImageMemoryDeviceGroupInfo,+        -- > #include "vk_platform.h"+        pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,+        pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,+        pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,+        -- ** Promoted from VK_KHR_device_group_creation+        module Graphics.Vulkan.Types.Struct.VkDeviceGroupDeviceCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceGroupProperties,+        -- > #include "vk_platform.h"+        vkEnumeratePhysicalDeviceGroups,+        vkEnumeratePhysicalDeviceGroupsSafe,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,+        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,+        pattern VK_MAX_DEVICE_GROUP_SIZE,+        pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,+        -- ** Promoted from VK_KHR_get_memory_requirements2+        module Graphics.Vulkan.Types.Struct.VkBufferMemoryRequirementsInfo2,+        module Graphics.Vulkan.Types.Struct.VkImageMemoryRequirementsInfo2,+        module Graphics.Vulkan.Types.Struct.VkImageSparseMemoryRequirementsInfo2,+        module Graphics.Vulkan.Types.Enum.VkSparseImageFormatFlags,+        module Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties,+        module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements,+        module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements2,+        -- > #include "vk_platform.h"+        vkGetImageMemoryRequirements2, vkGetImageMemoryRequirements2Safe,+        vkGetBufferMemoryRequirements2, vkGetBufferMemoryRequirements2Safe,+        vkGetImageSparseMemoryRequirements2,+        vkGetImageSparseMemoryRequirements2Safe,+        pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,+        pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,+        pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,+        pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,+        pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,+        -- ** Promoted from VK_KHR_get_physical_device_properties2+        module Graphics.Vulkan.Types.Enum.VkFormat,+        module Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags,+        module Graphics.Vulkan.Types.Struct.VkFormatProperties,+        module Graphics.Vulkan.Types.Struct.VkFormatProperties2,+        module Graphics.Vulkan.Types.Enum.VkImageCreateFlags,+        module Graphics.Vulkan.Types.Struct.VkImageFormatProperties,+        module Graphics.Vulkan.Types.Struct.VkImageFormatProperties2,+        module Graphics.Vulkan.Types.Enum.VkImageTiling,+        module Graphics.Vulkan.Types.Enum.VkImageType,+        module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,+        module Graphics.Vulkan.Types.Struct.VkMemoryHeap,+        module Graphics.Vulkan.Types.Enum.VkMemoryHeapFlags,+        module Graphics.Vulkan.Types.Enum.VkMemoryPropertyFlags,+        module Graphics.Vulkan.Types.Struct.VkMemoryType,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceImageFormatInfo2,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties2,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseImageFormatInfo2,+        module Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties,+        module Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties2,+        module Graphics.Vulkan.Types.Enum.VkQueueFlags,+        module Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties2,+        -- > #include "vk_platform.h"+        vkGetPhysicalDeviceFeatures2, vkGetPhysicalDeviceFeatures2Safe,+        vkGetPhysicalDeviceProperties2, vkGetPhysicalDeviceProperties2Safe,+        vkGetPhysicalDeviceFormatProperties2,+        vkGetPhysicalDeviceFormatProperties2Safe,+        vkGetPhysicalDeviceImageFormatProperties2,+        vkGetPhysicalDeviceImageFormatProperties2Safe,+        vkGetPhysicalDeviceQueueFamilyProperties2,+        vkGetPhysicalDeviceQueueFamilyProperties2Safe,+        vkGetPhysicalDeviceMemoryProperties2,+        vkGetPhysicalDeviceMemoryProperties2Safe,+        vkGetPhysicalDeviceSparseImageFormatProperties2,+        vkGetPhysicalDeviceSparseImageFormatProperties2Safe,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,+        pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,+        pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,+        pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,+        pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,+        -- ** Promoted from VK_KHR_maintenance1+        --+        -- |+        -- > #include "vk_platform.h"+        vkTrimCommandPool, vkTrimCommandPoolSafe,+        pattern VK_ERROR_OUT_OF_POOL_MEMORY,+        pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,+        pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT,+        pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,+        -- ** Promoted from VK_KHR_maintenance2+        module Graphics.Vulkan.Types.Enum.VkAccessFlags,+        module Graphics.Vulkan.Types.Struct.VkAttachmentDescription,+        module Graphics.Vulkan.Types.Enum.VkAttachmentDescriptionFlags,+        module Graphics.Vulkan.Types.Enum.VkAttachmentLoadOp,+        module Graphics.Vulkan.Types.Struct.VkAttachmentReference,+        module Graphics.Vulkan.Types.Enum.VkAttachmentStoreOp,+        module Graphics.Vulkan.Types.Struct.VkComponentMapping,+        module Graphics.Vulkan.Types.Enum.VkComponentSwizzle,+        module Graphics.Vulkan.Types.Enum.VkDependencyFlags,+        module Graphics.Vulkan.Types.Enum.VkImageLayout,+        module Graphics.Vulkan.Types.Struct.VkImageSubresourceRange,+        module Graphics.Vulkan.Types.Struct.VkImageViewCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkImageViewType,+        module Graphics.Vulkan.Types.Struct.VkImageViewUsageCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkInputAttachmentAspectReference,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDevicePointClippingProperties,+        module Graphics.Vulkan.Types.Enum.VkPipelineBindPoint,+        module Graphics.Vulkan.Types.Struct.VkPipelineTessellationDomainOriginStateCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkPipelineTessellationStateCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkPointClippingBehavior,+        module Graphics.Vulkan.Types.Struct.VkRenderPassCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkRenderPassInputAttachmentAspectCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkSubpassDependency,+        module Graphics.Vulkan.Types.Struct.VkSubpassDescription,+        module Graphics.Vulkan.Types.Enum.VkSubpassDescriptionFlags,+        module Graphics.Vulkan.Types.Enum.VkTessellationDomainOrigin,+        -- > #include "vk_platform.h"+        pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,+        pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,+        pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,+        pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,+        pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,+        pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,+        pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,+        -- ** Promoted from VK_KHR_multiview+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewFeatures,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewProperties,+        module Graphics.Vulkan.Types.Struct.VkRenderPassMultiviewCreateInfo,+        -- > #include "vk_platform.h"+        pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,+        pattern VK_DEPENDENCY_VIEW_LOCAL_BIT,+        -- ** Promoted from VK_KHR_variable_pointers+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceVariablePointerFeatures,+        -- > #include "vk_platform.h"+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,+        -- ** Originally based on VK_KHR_protected_memory (extension 146), which was never published; thus the mystifying large value= numbers below. These are not aliased since they weren't actually promoted from an extension.+        module Graphics.Vulkan.Types.Struct.VkDeviceQueueInfo2,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProtectedMemoryFeatures,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProtectedMemoryProperties,+        module Graphics.Vulkan.Types.Struct.VkProtectedSubmitInfo,+        -- > #include "vk_platform.h"+        vkGetDeviceQueue2, vkGetDeviceQueue2Safe,+        pattern VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES,+        pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2,+        pattern VK_QUEUE_PROTECTED_BIT,+        pattern VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT,+        pattern VK_MEMORY_PROPERTY_PROTECTED_BIT,+        pattern VK_BUFFER_CREATE_PROTECTED_BIT,+        pattern VK_IMAGE_CREATE_PROTECTED_BIT,+        pattern VK_COMMAND_POOL_CREATE_PROTECTED_BIT,+        -- ** Promoted from VK_KHR_sampler_ycbcr_conversion+        module Graphics.Vulkan.Types.Struct.VkBindImagePlaneMemoryInfo,+        module Graphics.Vulkan.Types.Enum.VkBorderColor,+        module Graphics.Vulkan.Types.Enum.VkChromaLocation,+        module Graphics.Vulkan.Types.Enum.VkCompareOp,+        module Graphics.Vulkan.Types.Enum.VkFilter,+        module Graphics.Vulkan.Types.Struct.VkImagePlaneMemoryRequirementsInfo,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSamplerYcbcrConversionFeatures,+        module Graphics.Vulkan.Types.Enum.VkSamplerAddressMode,+        module Graphics.Vulkan.Types.Struct.VkSamplerCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkSamplerMipmapMode,+        module Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionImageFormatProperties,+        module Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionInfo,+        module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversion,+        module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRange,+        -- > #include "vk_platform.h"+        vkCreateSamplerYcbcrConversion, vkCreateSamplerYcbcrConversionSafe,+        vkDestroySamplerYcbcrConversion,+        vkDestroySamplerYcbcrConversionSafe,+        module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,+        module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,+        module Graphics.Vulkan.Types.Funcpointers,+        module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,+        pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,+        pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,+        pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,+        pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,+        pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,+        pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,+        pattern VK_FORMAT_G8B8G8R8_422_UNORM,+        pattern VK_FORMAT_B8G8R8G8_422_UNORM,+        pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,+        pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,+        pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,+        pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,+        pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,+        pattern VK_FORMAT_R10X6_UNORM_PACK16,+        pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16,+        pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,+        pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,+        pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,+        pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,+        pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,+        pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,+        pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,+        pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,+        pattern VK_FORMAT_R12X4_UNORM_PACK16,+        pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16,+        pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,+        pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,+        pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,+        pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,+        pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,+        pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,+        pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,+        pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,+        pattern VK_FORMAT_G16B16G16R16_422_UNORM,+        pattern VK_FORMAT_B16G16R16G16_422_UNORM,+        pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,+        pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,+        pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,+        pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,+        pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,+        pattern VK_IMAGE_ASPECT_PLANE_0_BIT,+        pattern VK_IMAGE_ASPECT_PLANE_1_BIT,+        pattern VK_IMAGE_ASPECT_PLANE_2_BIT,+        pattern VK_IMAGE_CREATE_DISJOINT_BIT,+        pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,+        pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,+        pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,+        pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,+        pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,+        pattern VK_FORMAT_FEATURE_DISJOINT_BIT,+        pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,+        -- ** Promoted from VK_KHR_descriptor_update_template+        module Graphics.Vulkan.Types.Enum.VkDescriptorType,+        module Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateEntry,+        module Graphics.Vulkan.Types.Enum.VkDescriptorUpdateTemplateType,+        -- > #include "vk_platform.h"+        vkCreateDescriptorUpdateTemplate,+        vkCreateDescriptorUpdateTemplateSafe,+        vkDestroyDescriptorUpdateTemplate,+        vkDestroyDescriptorUpdateTemplateSafe,+        vkUpdateDescriptorSetWithTemplate,+        vkUpdateDescriptorSetWithTemplateSafe,+        pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,+        pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,+        -- ** Promoted from VK_KHR_external_memory_capabilities+        module Graphics.Vulkan.Types.Enum.VkBufferCreateFlags,+        module Graphics.Vulkan.Types.Enum.VkBufferUsageFlags,+        module Graphics.Vulkan.Types.Struct.VkExternalBufferProperties,+        module Graphics.Vulkan.Types.Struct.VkExternalImageFormatProperties,+        module Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlags,+        module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags,+        module Graphics.Vulkan.Types.Struct.VkExternalMemoryProperties,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalBufferInfo,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalImageFormatInfo,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceIDProperties,+        -- > #include "vk_platform.h"+        vkGetPhysicalDeviceExternalBufferProperties,+        vkGetPhysicalDeviceExternalBufferPropertiesSafe,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,+        pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,+        pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,+        pattern VK_LUID_SIZE,+        -- ** Promoted from VK_KHR_external_memory+        module Graphics.Vulkan.Types.Struct.VkBufferCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkExportMemoryAllocateInfo,+        module Graphics.Vulkan.Types.Struct.VkExternalMemoryBufferCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkExternalMemoryImageCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkImageCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkSharingMode,+        -- > #include "vk_platform.h"+        pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,+        pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,+        pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,+        pattern VK_ERROR_INVALID_EXTERNAL_HANDLE,+        pattern VK_QUEUE_FAMILY_EXTERNAL,+        -- ** Promoted from VK_KHR_external_fence_capabilities+        module Graphics.Vulkan.Types.Enum.VkExternalFenceFeatureFlags,+        module Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlags,+        module Graphics.Vulkan.Types.Struct.VkExternalFenceProperties,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalFenceInfo,+        -- > #include "vk_platform.h"+        vkGetPhysicalDeviceExternalFenceProperties,+        vkGetPhysicalDeviceExternalFencePropertiesSafe,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,+        pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,+        -- ** Promoted from VK_KHR_external_fence+        module Graphics.Vulkan.Types.Struct.VkExportFenceCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkFenceCreateFlags,+        module Graphics.Vulkan.Types.Struct.VkFenceCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkFenceImportFlags,+        -- > #include "vk_platform.h"+        pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,+        -- ** Promoted from VK_KHR_external_semaphore+        module Graphics.Vulkan.Types.Struct.VkExportSemaphoreCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlags,+        module Graphics.Vulkan.Types.Struct.VkSemaphoreCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlags,+        -- > #include "vk_platform.h"+        pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,+        -- ** Promoted from VK_KHR_external_semaphore_capabilities+        module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreFeatureFlags,+        module Graphics.Vulkan.Types.Struct.VkExternalSemaphoreProperties,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalSemaphoreInfo,+        -- > #include "vk_platform.h"+        vkGetPhysicalDeviceExternalSemaphoreProperties,+        vkGetPhysicalDeviceExternalSemaphorePropertiesSafe,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,+        pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,+        -- ** Promoted from VK_KHR_maintenance3+        module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutSupport,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMaintenance3Properties,+        -- > #include "vk_platform.h"+        vkGetDescriptorSetLayoutSupport,+        vkGetDescriptorSetLayoutSupportSafe,+        module Graphics.Vulkan.Types.Enum.VkDescriptorSetLayoutCreateFlags,+        module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutBinding,+        module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutCreateInfo,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,+        pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,+        -- ** Promoted from VK_KHR_shader_draw_parameters, with a feature support query added+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceShaderDrawParameterFeatures,+        -- > #include "vk_platform.h"+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES)+       where+import           Graphics.Vulkan.Constants+                                                                                                 (pattern VK_LUID_SIZE,+                                                                                                 pattern VK_MAX_DEVICE_GROUP_SIZE,+                                                                                                 pattern VK_QUEUE_FAMILY_EXTERNAL)+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Bitmasks+import           Graphics.Vulkan.Types.Enum.VkAccessFlags+import           Graphics.Vulkan.Types.Enum.VkAttachmentDescriptionFlags+import           Graphics.Vulkan.Types.Enum.VkAttachmentLoadOp+import           Graphics.Vulkan.Types.Enum.VkAttachmentStoreOp+import           Graphics.Vulkan.Types.Enum.VkBorderColor+import           Graphics.Vulkan.Types.Enum.VkBufferCreateFlags+import           Graphics.Vulkan.Types.Enum.VkBufferUsageFlags+import           Graphics.Vulkan.Types.Enum.VkChromaLocation+import           Graphics.Vulkan.Types.Enum.VkCommandBufferUsageFlags+import           Graphics.Vulkan.Types.Enum.VkCommandPoolCreateFlags+                                                                                                 (VkCommandPoolCreateBitmask (..),+                                                                                                 VkCommandPoolCreateFlagBits)+import           Graphics.Vulkan.Types.Enum.VkCompareOp+import           Graphics.Vulkan.Types.Enum.VkComponentSwizzle+import           Graphics.Vulkan.Types.Enum.VkDependencyFlags+import           Graphics.Vulkan.Types.Enum.VkDescriptorSetLayoutCreateFlags+import           Graphics.Vulkan.Types.Enum.VkDescriptorType+import           Graphics.Vulkan.Types.Enum.VkDescriptorUpdateTemplateType+import           Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags+import           Graphics.Vulkan.Types.Enum.VkExternalFenceFeatureFlags+import           Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlags+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlags+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags+import           Graphics.Vulkan.Types.Enum.VkExternalSemaphoreFeatureFlags+import           Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlags+import           Graphics.Vulkan.Types.Enum.VkFenceCreateFlags+import           Graphics.Vulkan.Types.Enum.VkFenceImportFlags+import           Graphics.Vulkan.Types.Enum.VkFilter+import           Graphics.Vulkan.Types.Enum.VkFormat+import           Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags+import           Graphics.Vulkan.Types.Enum.VkImageAspectFlags+import           Graphics.Vulkan.Types.Enum.VkImageCreateFlags+import           Graphics.Vulkan.Types.Enum.VkImageLayout+import           Graphics.Vulkan.Types.Enum.VkImageTiling+import           Graphics.Vulkan.Types.Enum.VkImageType+import           Graphics.Vulkan.Types.Enum.VkImageUsageFlags+import           Graphics.Vulkan.Types.Enum.VkImageViewType+import           Graphics.Vulkan.Types.Enum.VkInternalAllocationType+import           Graphics.Vulkan.Types.Enum.VkMemoryAllocateFlags+import           Graphics.Vulkan.Types.Enum.VkMemoryHeapFlags+import           Graphics.Vulkan.Types.Enum.VkMemoryPropertyFlags+import           Graphics.Vulkan.Types.Enum.VkObjectType+                                                                                                 (VkObjectType (..))+import           Graphics.Vulkan.Types.Enum.VkPeerMemoryFeatureFlags+import           Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType+import           Graphics.Vulkan.Types.Enum.VkPipelineBindPoint+import           Graphics.Vulkan.Types.Enum.VkPipelineCreateFlags+                                                                                                 (VkPipelineCreateBitmask (..),+                                                                                                 VkPipelineCreateFlagBits)+import           Graphics.Vulkan.Types.Enum.VkPipelineStageFlags+import           Graphics.Vulkan.Types.Enum.VkPointClippingBehavior+import           Graphics.Vulkan.Types.Enum.VkQueryControlFlags+import           Graphics.Vulkan.Types.Enum.VkQueryPipelineStatisticFlags+import           Graphics.Vulkan.Types.Enum.VkQueueFlags+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags+import           Graphics.Vulkan.Types.Enum.VkSamplerAddressMode+import           Graphics.Vulkan.Types.Enum.VkSamplerMipmapMode+import           Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversion+import           Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRange+import           Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlags+import           Graphics.Vulkan.Types.Enum.VkShaderStageFlags+import           Graphics.Vulkan.Types.Enum.VkSharingMode+import           Graphics.Vulkan.Types.Enum.VkSparseImageFormatFlags+import           Graphics.Vulkan.Types.Enum.VkSparseMemoryBindFlags+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Enum.VkSubgroupFeatureFlags+import           Graphics.Vulkan.Types.Enum.VkSubpassDescriptionFlags+import           Graphics.Vulkan.Types.Enum.VkSystemAllocationScope+import           Graphics.Vulkan.Types.Enum.VkTessellationDomainOrigin+import           Graphics.Vulkan.Types.Funcpointers+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkAllocationCallbacks+import           Graphics.Vulkan.Types.Struct.VkAttachmentDescription+import           Graphics.Vulkan.Types.Struct.VkAttachmentReference+import           Graphics.Vulkan.Types.Struct.VkBindBufferMemoryDeviceGroupInfo+import           Graphics.Vulkan.Types.Struct.VkBindBufferMemoryInfo+import           Graphics.Vulkan.Types.Struct.VkBindImageMemoryDeviceGroupInfo+import           Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfo+import           Graphics.Vulkan.Types.Struct.VkBindImagePlaneMemoryInfo+import           Graphics.Vulkan.Types.Struct.VkBindSparseInfo+import           Graphics.Vulkan.Types.Struct.VkBufferCreateInfo+import           Graphics.Vulkan.Types.Struct.VkBufferMemoryRequirementsInfo2+import           Graphics.Vulkan.Types.Struct.VkClearColorValue+import           Graphics.Vulkan.Types.Struct.VkClearDepthStencilValue+import           Graphics.Vulkan.Types.Struct.VkClearValue+import           Graphics.Vulkan.Types.Struct.VkCommandBufferBeginInfo+import           Graphics.Vulkan.Types.Struct.VkCommandBufferInheritanceInfo+import           Graphics.Vulkan.Types.Struct.VkComponentMapping+import           Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutBinding+import           Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutCreateInfo+import           Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutSupport+import           Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateCreateInfo+import           Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateEntry+import           Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo+import           Graphics.Vulkan.Types.Struct.VkDeviceGroupBindSparseInfo+import           Graphics.Vulkan.Types.Struct.VkDeviceGroupCommandBufferBeginInfo+import           Graphics.Vulkan.Types.Struct.VkDeviceGroupDeviceCreateInfo+import           Graphics.Vulkan.Types.Struct.VkDeviceGroupRenderPassBeginInfo+import           Graphics.Vulkan.Types.Struct.VkDeviceGroupSubmitInfo+import           Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo+import           Graphics.Vulkan.Types.Struct.VkDeviceQueueInfo2+import           Graphics.Vulkan.Types.Struct.VkExportFenceCreateInfo+import           Graphics.Vulkan.Types.Struct.VkExportMemoryAllocateInfo+import           Graphics.Vulkan.Types.Struct.VkExportSemaphoreCreateInfo+import           Graphics.Vulkan.Types.Struct.VkExtent2D+import           Graphics.Vulkan.Types.Struct.VkExtent3D+import           Graphics.Vulkan.Types.Struct.VkExternalBufferProperties+import           Graphics.Vulkan.Types.Struct.VkExternalFenceProperties+import           Graphics.Vulkan.Types.Struct.VkExternalImageFormatProperties+import           Graphics.Vulkan.Types.Struct.VkExternalMemoryBufferCreateInfo+import           Graphics.Vulkan.Types.Struct.VkExternalMemoryImageCreateInfo+import           Graphics.Vulkan.Types.Struct.VkExternalMemoryProperties+import           Graphics.Vulkan.Types.Struct.VkExternalSemaphoreProperties+import           Graphics.Vulkan.Types.Struct.VkFenceCreateInfo+import           Graphics.Vulkan.Types.Struct.VkFormatProperties+import           Graphics.Vulkan.Types.Struct.VkFormatProperties2+import           Graphics.Vulkan.Types.Struct.VkImageCreateInfo+import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties+import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties2+import           Graphics.Vulkan.Types.Struct.VkImageMemoryRequirementsInfo2+import           Graphics.Vulkan.Types.Struct.VkImagePlaneMemoryRequirementsInfo+import           Graphics.Vulkan.Types.Struct.VkImageSparseMemoryRequirementsInfo2+import           Graphics.Vulkan.Types.Struct.VkImageSubresource+import           Graphics.Vulkan.Types.Struct.VkImageSubresourceRange+import           Graphics.Vulkan.Types.Struct.VkImageViewCreateInfo+import           Graphics.Vulkan.Types.Struct.VkImageViewUsageCreateInfo+import           Graphics.Vulkan.Types.Struct.VkInputAttachmentAspectReference+import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateFlagsInfo+import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo+import           Graphics.Vulkan.Types.Struct.VkMemoryDedicatedAllocateInfo+import           Graphics.Vulkan.Types.Struct.VkMemoryDedicatedRequirements+import           Graphics.Vulkan.Types.Struct.VkMemoryHeap+import           Graphics.Vulkan.Types.Struct.VkMemoryRequirements+import           Graphics.Vulkan.Types.Struct.VkMemoryRequirements2+import           Graphics.Vulkan.Types.Struct.VkMemoryType+import           Graphics.Vulkan.Types.Struct.VkOffset2D+import           Graphics.Vulkan.Types.Struct.VkOffset3D+import           Graphics.Vulkan.Types.Struct.VkPhysicalDevice16BitStorageFeatures+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalBufferInfo+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalFenceInfo+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalImageFormatInfo+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalSemaphoreInfo+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceGroupProperties+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceIDProperties+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceImageFormatInfo2+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMaintenance3Properties+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties2+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewFeatures+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewProperties+import           Graphics.Vulkan.Types.Struct.VkPhysicalDevicePointClippingProperties+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProtectedMemoryFeatures+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProtectedMemoryProperties+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSamplerYcbcrConversionFeatures+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceShaderDrawParameterFeatures+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseImageFormatInfo2+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSubgroupProperties+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceVariablePointerFeatures+import           Graphics.Vulkan.Types.Struct.VkPipelineTessellationDomainOriginStateCreateInfo+import           Graphics.Vulkan.Types.Struct.VkPipelineTessellationStateCreateInfo+import           Graphics.Vulkan.Types.Struct.VkProtectedSubmitInfo+import           Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties+import           Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties2+import           Graphics.Vulkan.Types.Struct.VkRect2D+import           Graphics.Vulkan.Types.Struct.VkRenderPassBeginInfo+import           Graphics.Vulkan.Types.Struct.VkRenderPassCreateInfo+import           Graphics.Vulkan.Types.Struct.VkRenderPassInputAttachmentAspectCreateInfo+import           Graphics.Vulkan.Types.Struct.VkRenderPassMultiviewCreateInfo+import           Graphics.Vulkan.Types.Struct.VkSamplerCreateInfo+import           Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionCreateInfo+import           Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionImageFormatProperties+import           Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionInfo+import           Graphics.Vulkan.Types.Struct.VkSemaphoreCreateInfo+import           Graphics.Vulkan.Types.Struct.VkSparseBufferMemoryBindInfo+import           Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties+import           Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties2+import           Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBind+import           Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBindInfo+import           Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements+import           Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements2+import           Graphics.Vulkan.Types.Struct.VkSparseImageOpaqueMemoryBindInfo+import           Graphics.Vulkan.Types.Struct.VkSparseMemoryBind+import           Graphics.Vulkan.Types.Struct.VkSubmitInfo+import           Graphics.Vulkan.Types.Struct.VkSubpassDependency+import           Graphics.Vulkan.Types.Struct.VkSubpassDescription++-- | Success codes: 'VK_SUCCESS'.+--+--   > VkResult vkEnumerateInstanceVersion+--   >     ( uint32_t* pApiVersion+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumerateInstanceVersion.html vkEnumerateInstanceVersion registry at www.khronos.org>+foreign import ccall unsafe "vkEnumerateInstanceVersion"+               vkEnumerateInstanceVersion :: Ptr Word32 -- ^ pApiVersion+                                                        -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   > VkResult vkEnumerateInstanceVersion+--   >     ( uint32_t* pApiVersion+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumerateInstanceVersion.html vkEnumerateInstanceVersion registry at www.khronos.org>+foreign import ccall safe "vkEnumerateInstanceVersion"+               vkEnumerateInstanceVersionSafe :: Ptr Word32 -- ^ pApiVersion+                                                            -> IO VkResult++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES =+        VkStructureType 1000094000++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkBindBufferMemory2+--   >     ( VkDevice device+--   >     , uint32_t bindInfoCount+--   >     , const VkBindBufferMemoryInfo* pBindInfos+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindBufferMemory2.html vkBindBufferMemory2 registry at www.khronos.org>+foreign import ccall unsafe "vkBindBufferMemory2"+               vkBindBufferMemory2 ::+               VkDevice -- ^ device+                        -> Word32 -- ^ bindInfoCount+                                  -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos+                                                                -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkBindBufferMemory2+--   >     ( VkDevice device+--   >     , uint32_t bindInfoCount+--   >     , const VkBindBufferMemoryInfo* pBindInfos+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindBufferMemory2.html vkBindBufferMemory2 registry at www.khronos.org>+foreign import ccall safe "vkBindBufferMemory2"+               vkBindBufferMemory2Safe ::+               VkDevice -- ^ device+                        -> Word32 -- ^ bindInfoCount+                                  -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos+                                                                -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkBindImageMemory2+--   >     ( VkDevice device+--   >     , uint32_t bindInfoCount+--   >     , const VkBindImageMemoryInfo* pBindInfos+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindImageMemory2.html vkBindImageMemory2 registry at www.khronos.org>+foreign import ccall unsafe "vkBindImageMemory2" vkBindImageMemory2+               :: VkDevice -- ^ device+                           -> Word32 -- ^ bindInfoCount+                                     -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos+                                                                  -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkBindImageMemory2+--   >     ( VkDevice device+--   >     , uint32_t bindInfoCount+--   >     , const VkBindImageMemoryInfo* pBindInfos+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindImageMemory2.html vkBindImageMemory2 registry at www.khronos.org>+foreign import ccall safe "vkBindImageMemory2"+               vkBindImageMemory2Safe ::+               VkDevice -- ^ device+                        -> Word32 -- ^ bindInfoCount+                                  -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos+                                                               -> IO VkResult++pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO =+        VkStructureType 1000157000++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO =+        VkStructureType 1000157001++-- | bitpos = @10@+pattern VK_IMAGE_CREATE_ALIAS_BIT :: VkImageCreateFlagBits++pattern VK_IMAGE_CREATE_ALIAS_BIT = VkImageCreateFlagBits 1024++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES =+        VkStructureType 1000083000++pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS =+        VkStructureType 1000127000++pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO =+        VkStructureType 1000127001++-- | > () vkGetDeviceGroupPeerMemoryFeatures+--   >     ( VkDevice device+--   >     , uint32_t heapIndex+--   >     , uint32_t localDeviceIndex+--   >     , uint32_t remoteDeviceIndex+--   >     , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceGroupPeerMemoryFeatures.html vkGetDeviceGroupPeerMemoryFeatures registry at www.khronos.org>+foreign import ccall unsafe "vkGetDeviceGroupPeerMemoryFeatures"+               vkGetDeviceGroupPeerMemoryFeatures ::+               VkDevice -- ^ device+                        ->+                 Word32 -- ^ heapIndex+                        -> Word32 -- ^ localDeviceIndex+                                  -> Word32 -- ^ remoteDeviceIndex+                                            -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures+                                                                            -> IO ()++-- | > () vkGetDeviceGroupPeerMemoryFeatures+--   >     ( VkDevice device+--   >     , uint32_t heapIndex+--   >     , uint32_t localDeviceIndex+--   >     , uint32_t remoteDeviceIndex+--   >     , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceGroupPeerMemoryFeatures.html vkGetDeviceGroupPeerMemoryFeatures registry at www.khronos.org>+foreign import ccall safe "vkGetDeviceGroupPeerMemoryFeatures"+               vkGetDeviceGroupPeerMemoryFeaturesSafe ::+               VkDevice -- ^ device+                        ->+                 Word32 -- ^ heapIndex+                        -> Word32 -- ^ localDeviceIndex+                                  -> Word32 -- ^ remoteDeviceIndex+                                            -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures+                                                                            -> IO ()++-- | queues: 'graphics', 'compute', 'transfer'.+--+--   renderpass: @both@+--+--   > () vkCmdSetDeviceMask+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t deviceMask+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetDeviceMask.html vkCmdSetDeviceMask registry at www.khronos.org>+foreign import ccall unsafe "vkCmdSetDeviceMask" vkCmdSetDeviceMask+               :: VkCommandBuffer -- ^ commandBuffer+                                  -> Word32 -- ^ deviceMask+                                            -> IO ()++-- | queues: 'graphics', 'compute', 'transfer'.+--+--   renderpass: @both@+--+--   > () vkCmdSetDeviceMask+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t deviceMask+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetDeviceMask.html vkCmdSetDeviceMask registry at www.khronos.org>+foreign import ccall safe "vkCmdSetDeviceMask"+               vkCmdSetDeviceMaskSafe :: VkCommandBuffer -- ^ commandBuffer+                                                         -> Word32 -- ^ deviceMask+                                                                   -> IO ()++-- | queues: 'compute'.+--+--   renderpass: @outside@+--+--   > () vkCmdDispatchBase+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t baseGroupX+--   >     , uint32_t baseGroupY+--   >     , uint32_t baseGroupZ+--   >     , uint32_t groupCountX+--   >     , uint32_t groupCountY+--   >     , uint32_t groupCountZ+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDispatchBase.html vkCmdDispatchBase registry at www.khronos.org>+foreign import ccall unsafe "vkCmdDispatchBase" vkCmdDispatchBase+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ baseGroupX+                        -> Word32 -- ^ baseGroupY+                                  -> Word32 -- ^ baseGroupZ+                                            -> Word32 -- ^ groupCountX+                                                      -> Word32 -- ^ groupCountY+                                                                -> Word32 -- ^ groupCountZ+                                                                          -> IO ()++-- | queues: 'compute'.+--+--   renderpass: @outside@+--+--   > () vkCmdDispatchBase+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t baseGroupX+--   >     , uint32_t baseGroupY+--   >     , uint32_t baseGroupZ+--   >     , uint32_t groupCountX+--   >     , uint32_t groupCountY+--   >     , uint32_t groupCountZ+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDispatchBase.html vkCmdDispatchBase registry at www.khronos.org>+foreign import ccall safe "vkCmdDispatchBase" vkCmdDispatchBaseSafe+               ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ baseGroupX+                        -> Word32 -- ^ baseGroupY+                                  -> Word32 -- ^ baseGroupZ+                                            -> Word32 -- ^ groupCountX+                                                      -> Word32 -- ^ groupCountY+                                                                -> Word32 -- ^ groupCountZ+                                                                          -> IO ()++pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO =+        VkStructureType 1000060000++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO =+        VkStructureType 1000060003++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO =+        VkStructureType 1000060004++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO =+        VkStructureType 1000060005++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO =+        VkStructureType 1000060006++-- | bitpos = @3@+pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT ::+        VkPipelineCreateFlagBits++pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT =+        VkPipelineCreateFlagBits 8++-- | bitpos = @4@+pattern VK_PIPELINE_CREATE_DISPATCH_BASE ::+        VkPipelineCreateFlagBits++pattern VK_PIPELINE_CREATE_DISPATCH_BASE =+        VkPipelineCreateFlagBits 16++-- | Dependency is across devices+--+--   bitpos = @2@+pattern VK_DEPENDENCY_DEVICE_GROUP_BIT :: VkDependencyFlagBits++pattern VK_DEPENDENCY_DEVICE_GROUP_BIT = VkDependencyFlagBits 4++pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO =+        VkStructureType 1000060013++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO =+        VkStructureType 1000060014++-- | Allows using VkBindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegions when binding memory to the image+--+--   bitpos = @6@+pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT ::+        VkImageCreateFlagBits++pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT =+        VkImageCreateFlagBits 64++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+--   > VkResult vkEnumeratePhysicalDeviceGroups+--   >     ( VkInstance instance+--   >     , uint32_t* pPhysicalDeviceGroupCount+--   >     , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumeratePhysicalDeviceGroups.html vkEnumeratePhysicalDeviceGroups registry at www.khronos.org>+foreign import ccall unsafe "vkEnumeratePhysicalDeviceGroups"+               vkEnumeratePhysicalDeviceGroups ::+               VkInstance -- ^ instance+                          ->+                 Ptr Word32 -- ^ pPhysicalDeviceGroupCount+                            -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties+                                                                   -> IO VkResult++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+--   > VkResult vkEnumeratePhysicalDeviceGroups+--   >     ( VkInstance instance+--   >     , uint32_t* pPhysicalDeviceGroupCount+--   >     , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumeratePhysicalDeviceGroups.html vkEnumeratePhysicalDeviceGroups registry at www.khronos.org>+foreign import ccall safe "vkEnumeratePhysicalDeviceGroups"+               vkEnumeratePhysicalDeviceGroupsSafe ::+               VkInstance -- ^ instance+                          ->+                 Ptr Word32 -- ^ pPhysicalDeviceGroupCount+                            -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties+                                                                   -> IO VkResult++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES =+        VkStructureType 1000070000++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO =+        VkStructureType 1000070001++-- | If set, heap allocations allocate multiple instances by default+--+--   bitpos = @1@+pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT :: VkMemoryHeapFlagBits++pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = VkMemoryHeapFlagBits 2++-- | > () vkGetImageMemoryRequirements2+--   >     ( VkDevice device+--   >     , const VkImageMemoryRequirementsInfo2* pInfo+--   >     , VkMemoryRequirements2* pMemoryRequirements+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageMemoryRequirements2.html vkGetImageMemoryRequirements2 registry at www.khronos.org>+foreign import ccall unsafe "vkGetImageMemoryRequirements2"+               vkGetImageMemoryRequirements2 ::+               VkDevice -- ^ device+                        ->+                 Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo+                                                    ->+                   Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+                                             -> IO ()++-- | > () vkGetImageMemoryRequirements2+--   >     ( VkDevice device+--   >     , const VkImageMemoryRequirementsInfo2* pInfo+--   >     , VkMemoryRequirements2* pMemoryRequirements+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageMemoryRequirements2.html vkGetImageMemoryRequirements2 registry at www.khronos.org>+foreign import ccall safe "vkGetImageMemoryRequirements2"+               vkGetImageMemoryRequirements2Safe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo+                                                    ->+                   Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+                                             -> IO ()++-- | > () vkGetBufferMemoryRequirements2+--   >     ( VkDevice device+--   >     , const VkBufferMemoryRequirementsInfo2* pInfo+--   >     , VkMemoryRequirements2* pMemoryRequirements+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetBufferMemoryRequirements2.html vkGetBufferMemoryRequirements2 registry at www.khronos.org>+foreign import ccall unsafe "vkGetBufferMemoryRequirements2"+               vkGetBufferMemoryRequirements2 ::+               VkDevice -- ^ device+                        ->+                 Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo+                                                     ->+                   Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+                                             -> IO ()++-- | > () vkGetBufferMemoryRequirements2+--   >     ( VkDevice device+--   >     , const VkBufferMemoryRequirementsInfo2* pInfo+--   >     , VkMemoryRequirements2* pMemoryRequirements+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetBufferMemoryRequirements2.html vkGetBufferMemoryRequirements2 registry at www.khronos.org>+foreign import ccall safe "vkGetBufferMemoryRequirements2"+               vkGetBufferMemoryRequirements2Safe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo+                                                     ->+                   Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+                                             -> IO ()++-- | > () vkGetImageSparseMemoryRequirements2+--   >     ( VkDevice device+--   >     , const VkImageSparseMemoryRequirementsInfo2* pInfo+--   >     , uint32_t* pSparseMemoryRequirementCount+--   >     , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageSparseMemoryRequirements2.html vkGetImageSparseMemoryRequirements2 registry at www.khronos.org>+foreign import ccall unsafe "vkGetImageSparseMemoryRequirements2"+               vkGetImageSparseMemoryRequirements2 ::+               VkDevice -- ^ device+                        ->+                 Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo+                                                          ->+                   Ptr Word32 -- ^ pSparseMemoryRequirementCount+                              -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements+                                                                      -> IO ()++-- | > () vkGetImageSparseMemoryRequirements2+--   >     ( VkDevice device+--   >     , const VkImageSparseMemoryRequirementsInfo2* pInfo+--   >     , uint32_t* pSparseMemoryRequirementCount+--   >     , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageSparseMemoryRequirements2.html vkGetImageSparseMemoryRequirements2 registry at www.khronos.org>+foreign import ccall safe "vkGetImageSparseMemoryRequirements2"+               vkGetImageSparseMemoryRequirements2Safe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo+                                                          ->+                   Ptr Word32 -- ^ pSparseMemoryRequirementCount+                              -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements+                                                                      -> IO ()++pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 =+        VkStructureType 1000146000++pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 =+        VkStructureType 1000146001++pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 =+        VkStructureType 1000146002++pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: VkStructureType++pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 =+        VkStructureType 1000146003++pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 =+        VkStructureType 1000146004++-- | > () vkGetPhysicalDeviceFeatures2+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceFeatures2* pFeatures+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFeatures2.html vkGetPhysicalDeviceFeatures2 registry at www.khronos.org>+foreign import ccall unsafe "vkGetPhysicalDeviceFeatures2"+               vkGetPhysicalDeviceFeatures2 ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures+                                                                 -> IO ()++-- | > () vkGetPhysicalDeviceFeatures2+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceFeatures2* pFeatures+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFeatures2.html vkGetPhysicalDeviceFeatures2 registry at www.khronos.org>+foreign import ccall safe "vkGetPhysicalDeviceFeatures2"+               vkGetPhysicalDeviceFeatures2Safe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures+                                                                 -> IO ()++-- | > () vkGetPhysicalDeviceProperties2+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceProperties2* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceProperties2.html vkGetPhysicalDeviceProperties2 registry at www.khronos.org>+foreign import ccall unsafe "vkGetPhysicalDeviceProperties2"+               vkGetPhysicalDeviceProperties2 ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties+                                                                   -> IO ()++-- | > () vkGetPhysicalDeviceProperties2+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceProperties2* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceProperties2.html vkGetPhysicalDeviceProperties2 registry at www.khronos.org>+foreign import ccall safe "vkGetPhysicalDeviceProperties2"+               vkGetPhysicalDeviceProperties2Safe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties+                                                                   -> IO ()++-- | > () vkGetPhysicalDeviceFormatProperties2+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkFormat format+--   >     , VkFormatProperties2* pFormatProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFormatProperties2.html vkGetPhysicalDeviceFormatProperties2 registry at www.khronos.org>+foreign import ccall unsafe "vkGetPhysicalDeviceFormatProperties2"+               vkGetPhysicalDeviceFormatProperties2 ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> VkFormat -- ^ format+                                            -> Ptr VkFormatProperties2 -- ^ pFormatProperties+                                                                       -> IO ()++-- | > () vkGetPhysicalDeviceFormatProperties2+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkFormat format+--   >     , VkFormatProperties2* pFormatProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFormatProperties2.html vkGetPhysicalDeviceFormatProperties2 registry at www.khronos.org>+foreign import ccall safe "vkGetPhysicalDeviceFormatProperties2"+               vkGetPhysicalDeviceFormatProperties2Safe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> VkFormat -- ^ format+                                            -> Ptr VkFormatProperties2 -- ^ pFormatProperties+                                                                       -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+--   > VkResult vkGetPhysicalDeviceImageFormatProperties2+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo+--   >     , VkImageFormatProperties2* pImageFormatProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceImageFormatProperties2.html vkGetPhysicalDeviceImageFormatProperties2 registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetPhysicalDeviceImageFormatProperties2"+               vkGetPhysicalDeviceImageFormatProperties2 ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo+                                                      ->+                   Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties+                                                -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+--   > VkResult vkGetPhysicalDeviceImageFormatProperties2+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo+--   >     , VkImageFormatProperties2* pImageFormatProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceImageFormatProperties2.html vkGetPhysicalDeviceImageFormatProperties2 registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceImageFormatProperties2"+               vkGetPhysicalDeviceImageFormatProperties2Safe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo+                                                      ->+                   Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties+                                                -> IO VkResult++-- | > () vkGetPhysicalDeviceQueueFamilyProperties2+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t* pQueueFamilyPropertyCount+--   >     , VkQueueFamilyProperties2* pQueueFamilyProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html vkGetPhysicalDeviceQueueFamilyProperties2 registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetPhysicalDeviceQueueFamilyProperties2"+               vkGetPhysicalDeviceQueueFamilyProperties2 ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr Word32 -- ^ pQueueFamilyPropertyCount+                            -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties+                                                            -> IO ()++-- | > () vkGetPhysicalDeviceQueueFamilyProperties2+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t* pQueueFamilyPropertyCount+--   >     , VkQueueFamilyProperties2* pQueueFamilyProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html vkGetPhysicalDeviceQueueFamilyProperties2 registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceQueueFamilyProperties2"+               vkGetPhysicalDeviceQueueFamilyProperties2Safe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr Word32 -- ^ pQueueFamilyPropertyCount+                            -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties+                                                            -> IO ()++-- | > () vkGetPhysicalDeviceMemoryProperties2+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceMemoryProperties2* pMemoryProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceMemoryProperties2.html vkGetPhysicalDeviceMemoryProperties2 registry at www.khronos.org>+foreign import ccall unsafe "vkGetPhysicalDeviceMemoryProperties2"+               vkGetPhysicalDeviceMemoryProperties2 ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties+                                                                         -> IO ()++-- | > () vkGetPhysicalDeviceMemoryProperties2+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceMemoryProperties2* pMemoryProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceMemoryProperties2.html vkGetPhysicalDeviceMemoryProperties2 registry at www.khronos.org>+foreign import ccall safe "vkGetPhysicalDeviceMemoryProperties2"+               vkGetPhysicalDeviceMemoryProperties2Safe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties+                                                                         -> IO ()++-- | > () vkGetPhysicalDeviceSparseImageFormatProperties2+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo+--   >     , uint32_t* pPropertyCount+--   >     , VkSparseImageFormatProperties2* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2.html vkGetPhysicalDeviceSparseImageFormatProperties2 registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetPhysicalDeviceSparseImageFormatProperties2"+               vkGetPhysicalDeviceSparseImageFormatProperties2 ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo+                                                            ->+                   Ptr Word32 -- ^ pPropertyCount+                              -> Ptr VkSparseImageFormatProperties2 -- ^ pProperties+                                                                    -> IO ()++-- | > () vkGetPhysicalDeviceSparseImageFormatProperties2+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo+--   >     , uint32_t* pPropertyCount+--   >     , VkSparseImageFormatProperties2* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2.html vkGetPhysicalDeviceSparseImageFormatProperties2 registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceSparseImageFormatProperties2"+               vkGetPhysicalDeviceSparseImageFormatProperties2Safe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo+                                                            ->+                   Ptr Word32 -- ^ pPropertyCount+                              -> Ptr VkSparseImageFormatProperties2 -- ^ pProperties+                                                                    -> IO ()++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 =+        VkStructureType 1000059000++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 =+        VkStructureType 1000059001++pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: VkStructureType++pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 =+        VkStructureType 1000059002++pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 =+        VkStructureType 1000059003++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 =+        VkStructureType 1000059004++pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 =+        VkStructureType 1000059005++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 =+        VkStructureType 1000059006++pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 =+        VkStructureType 1000059007++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2+        = VkStructureType 1000059008++-- | > () vkTrimCommandPool+--   >     ( VkDevice device+--   >     , VkCommandPool commandPool+--   >     , VkCommandPoolTrimFlags flags+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkTrimCommandPool.html vkTrimCommandPool registry at www.khronos.org>+foreign import ccall unsafe "vkTrimCommandPool" vkTrimCommandPool+               :: VkDevice -- ^ device+                           -> VkCommandPool -- ^ commandPool+                                            -> VkCommandPoolTrimFlags -- ^ flags+                                                                      -> IO ()++-- | > () vkTrimCommandPool+--   >     ( VkDevice device+--   >     , VkCommandPool commandPool+--   >     , VkCommandPoolTrimFlags flags+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkTrimCommandPool.html vkTrimCommandPool registry at www.khronos.org>+foreign import ccall safe "vkTrimCommandPool" vkTrimCommandPoolSafe+               :: VkDevice -- ^ device+                           -> VkCommandPool -- ^ commandPool+                                            -> VkCommandPoolTrimFlags -- ^ flags+                                                                      -> IO ()++pattern VK_ERROR_OUT_OF_POOL_MEMORY :: VkResult++pattern VK_ERROR_OUT_OF_POOL_MEMORY = VkResult (-1000069000)++-- | Format can be used as the source image of image transfer commands+--+--   bitpos = @14@+pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT ::+        VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT =+        VkFormatFeatureFlagBits 16384++-- | Format can be used as the destination image of image transfer commands+--+--   bitpos = @15@+pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT ::+        VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT =+        VkFormatFeatureFlagBits 32768++-- | The 3D image can be viewed as a 2D or 2D array image+--+--   bitpos = @5@+pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT ::+        VkImageCreateFlagBits++pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT =+        VkImageCreateFlagBits 32++-- | bitpos = @7@+pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT ::+        VkImageCreateFlagBits++pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT =+        VkImageCreateFlagBits 128++-- | bitpos = @8@+pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT :: VkImageCreateFlagBits++pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT =+        VkImageCreateFlagBits 256++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES+        = VkStructureType 1000117000++pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO+        = VkStructureType 1000117001++pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO =+        VkStructureType 1000117002++pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO+        = VkStructureType 1000117003++pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL+        :: VkImageLayout++pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL+        = VkImageLayout 1000117000++pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL+        :: VkImageLayout++pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL+        = VkImageLayout 1000117001++pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO =+        VkStructureType 1000053000++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES =+        VkStructureType 1000053001++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES =+        VkStructureType 1000053002++-- | bitpos = @1@+pattern VK_DEPENDENCY_VIEW_LOCAL_BIT :: VkDependencyFlagBits++pattern VK_DEPENDENCY_VIEW_LOCAL_BIT = VkDependencyFlagBits 2++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES+        = VkStructureType 1000120000++-- | > () vkGetDeviceQueue2+--   >     ( VkDevice device+--   >     , const VkDeviceQueueInfo2* pQueueInfo+--   >     , VkQueue* pQueue+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceQueue2.html vkGetDeviceQueue2 registry at www.khronos.org>+foreign import ccall unsafe "vkGetDeviceQueue2" vkGetDeviceQueue2+               :: VkDevice -- ^ device+                           -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo+                                                     -> Ptr VkQueue -- ^ pQueue+                                                                    -> IO ()++-- | > () vkGetDeviceQueue2+--   >     ( VkDevice device+--   >     , const VkDeviceQueueInfo2* pQueueInfo+--   >     , VkQueue* pQueue+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceQueue2.html vkGetDeviceQueue2 registry at www.khronos.org>+foreign import ccall safe "vkGetDeviceQueue2" vkGetDeviceQueue2Safe+               :: VkDevice -- ^ device+                           -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo+                                                     -> Ptr VkQueue -- ^ pQueue+                                                                    -> IO ()++pattern VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO =+        VkStructureType 1000145000++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES+        = VkStructureType 1000145001++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES+        = VkStructureType 1000145002++pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 =+        VkStructureType 1000145003++-- | Queues may support protected operations+--+--   bitpos = @4@+pattern VK_QUEUE_PROTECTED_BIT :: VkQueueFlagBits++pattern VK_QUEUE_PROTECTED_BIT = VkQueueFlagBits 16++-- | Queue is a protected-capable device queue+--+--   bitpos = @0@+pattern VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT ::+        VkDeviceQueueCreateFlagBits++pattern VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT =+        VkDeviceQueueCreateFlagBits 1++-- | Memory is protected+--+--   bitpos = @5@+pattern VK_MEMORY_PROPERTY_PROTECTED_BIT ::+        VkMemoryPropertyFlagBits++pattern VK_MEMORY_PROPERTY_PROTECTED_BIT =+        VkMemoryPropertyFlagBits 32++-- | Buffer requires protected memory+--+--   bitpos = @3@+pattern VK_BUFFER_CREATE_PROTECTED_BIT :: VkBufferCreateFlagBits++pattern VK_BUFFER_CREATE_PROTECTED_BIT = VkBufferCreateFlagBits 8++-- | Image requires protected memory+--+--   bitpos = @11@+pattern VK_IMAGE_CREATE_PROTECTED_BIT :: VkImageCreateFlagBits++pattern VK_IMAGE_CREATE_PROTECTED_BIT = VkImageCreateFlagBits 2048++-- | Command buffers allocated from pool are protected command buffers+--+--   bitpos = @2@+pattern VK_COMMAND_POOL_CREATE_PROTECTED_BIT ::+        VkCommandPoolCreateFlagBits++pattern VK_COMMAND_POOL_CREATE_PROTECTED_BIT =+        VkCommandPoolCreateFlagBits 4++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateSamplerYcbcrConversion+--   >     ( VkDevice device+--   >     , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkSamplerYcbcrConversion* pYcbcrConversion+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSamplerYcbcrConversion.html vkCreateSamplerYcbcrConversion registry at www.khronos.org>+foreign import ccall unsafe "vkCreateSamplerYcbcrConversion"+               vkCreateSamplerYcbcrConversion ::+               VkDevice -- ^ device+                        ->+                 Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo+                                                        ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             ->+                     Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion+                                                  -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateSamplerYcbcrConversion+--   >     ( VkDevice device+--   >     , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkSamplerYcbcrConversion* pYcbcrConversion+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSamplerYcbcrConversion.html vkCreateSamplerYcbcrConversion registry at www.khronos.org>+foreign import ccall safe "vkCreateSamplerYcbcrConversion"+               vkCreateSamplerYcbcrConversionSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo+                                                        ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             ->+                     Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion+                                                  -> IO VkResult++-- | > () vkDestroySamplerYcbcrConversion+--   >     ( VkDevice device+--   >     , VkSamplerYcbcrConversion ycbcrConversion+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySamplerYcbcrConversion.html vkDestroySamplerYcbcrConversion registry at www.khronos.org>+foreign import ccall unsafe "vkDestroySamplerYcbcrConversion"+               vkDestroySamplerYcbcrConversion ::+               VkDevice -- ^ device+                        ->+                 VkSamplerYcbcrConversion -- ^ ycbcrConversion+                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                       -> IO ()++-- | > () vkDestroySamplerYcbcrConversion+--   >     ( VkDevice device+--   >     , VkSamplerYcbcrConversion ycbcrConversion+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySamplerYcbcrConversion.html vkDestroySamplerYcbcrConversion registry at www.khronos.org>+foreign import ccall safe "vkDestroySamplerYcbcrConversion"+               vkDestroySamplerYcbcrConversionSafe ::+               VkDevice -- ^ device+                        ->+                 VkSamplerYcbcrConversion -- ^ ycbcrConversion+                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                       -> IO ()++pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO =+        VkStructureType 1000156000++pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO =+        VkStructureType 1000156001++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO =+        VkStructureType 1000156002++pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO =+        VkStructureType 1000156003++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES+        = VkStructureType 1000156004++pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES+        = VkStructureType 1000156005++pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION :: VkObjectType++pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION =+        VkObjectType 1000156000++pattern VK_FORMAT_G8B8G8R8_422_UNORM :: VkFormat++pattern VK_FORMAT_G8B8G8R8_422_UNORM = VkFormat 1000156000++pattern VK_FORMAT_B8G8R8G8_422_UNORM :: VkFormat++pattern VK_FORMAT_B8G8R8G8_422_UNORM = VkFormat 1000156001++pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM :: VkFormat++pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = VkFormat 1000156002++pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM :: VkFormat++pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = VkFormat 1000156003++pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM :: VkFormat++pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = VkFormat 1000156004++pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM :: VkFormat++pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = VkFormat 1000156005++pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM :: VkFormat++pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = VkFormat 1000156006++pattern VK_FORMAT_R10X6_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_R10X6_UNORM_PACK16 = VkFormat 1000156007++pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16 :: VkFormat++pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = VkFormat 1000156008++pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 :: VkFormat++pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 =+        VkFormat 1000156009++pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 ::+        VkFormat++pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 =+        VkFormat 1000156010++pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 ::+        VkFormat++pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 =+        VkFormat 1000156011++pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 ::+        VkFormat++pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 =+        VkFormat 1000156012++pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 ::+        VkFormat++pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 =+        VkFormat 1000156013++pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 ::+        VkFormat++pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 =+        VkFormat 1000156014++pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 ::+        VkFormat++pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 =+        VkFormat 1000156015++pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 ::+        VkFormat++pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 =+        VkFormat 1000156016++pattern VK_FORMAT_R12X4_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_R12X4_UNORM_PACK16 = VkFormat 1000156017++pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16 :: VkFormat++pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = VkFormat 1000156018++pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 :: VkFormat++pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 =+        VkFormat 1000156019++pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 ::+        VkFormat++pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 =+        VkFormat 1000156020++pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 ::+        VkFormat++pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 =+        VkFormat 1000156021++pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 ::+        VkFormat++pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 =+        VkFormat 1000156022++pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 ::+        VkFormat++pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 =+        VkFormat 1000156023++pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 ::+        VkFormat++pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 =+        VkFormat 1000156024++pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 ::+        VkFormat++pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 =+        VkFormat 1000156025++pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 ::+        VkFormat++pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 =+        VkFormat 1000156026++pattern VK_FORMAT_G16B16G16R16_422_UNORM :: VkFormat++pattern VK_FORMAT_G16B16G16R16_422_UNORM = VkFormat 1000156027++pattern VK_FORMAT_B16G16R16G16_422_UNORM :: VkFormat++pattern VK_FORMAT_B16G16R16G16_422_UNORM = VkFormat 1000156028++pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM :: VkFormat++pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM =+        VkFormat 1000156029++pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM :: VkFormat++pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = VkFormat 1000156030++pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM :: VkFormat++pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM =+        VkFormat 1000156031++pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM :: VkFormat++pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = VkFormat 1000156032++pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM :: VkFormat++pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM =+        VkFormat 1000156033++-- | bitpos = @4@+pattern VK_IMAGE_ASPECT_PLANE_0_BIT :: VkImageAspectFlagBits++pattern VK_IMAGE_ASPECT_PLANE_0_BIT = VkImageAspectFlagBits 16++-- | bitpos = @5@+pattern VK_IMAGE_ASPECT_PLANE_1_BIT :: VkImageAspectFlagBits++pattern VK_IMAGE_ASPECT_PLANE_1_BIT = VkImageAspectFlagBits 32++-- | bitpos = @6@+pattern VK_IMAGE_ASPECT_PLANE_2_BIT :: VkImageAspectFlagBits++pattern VK_IMAGE_ASPECT_PLANE_2_BIT = VkImageAspectFlagBits 64++-- | bitpos = @9@+pattern VK_IMAGE_CREATE_DISJOINT_BIT :: VkImageCreateFlagBits++pattern VK_IMAGE_CREATE_DISJOINT_BIT = VkImageCreateFlagBits 512++-- | Format can have midpoint rather than cosited chroma samples+--+--   bitpos = @17@+pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT ::+        VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT =+        VkFormatFeatureFlagBits 131072++-- | Format can be used with linear filtering whilst color conversion is enabled+--+--   bitpos = @18@+pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT+        :: VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT+        = VkFormatFeatureFlagBits 262144++-- | Format can have different chroma, min and mag filters+--+--   bitpos = @19@+pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT+        :: VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT+        = VkFormatFeatureFlagBits 524288++-- | bitpos = @20@+pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT+        :: VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT+        = VkFormatFeatureFlagBits 1048576++-- | bitpos = @21@+pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT+        :: VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT+        = VkFormatFeatureFlagBits 2097152++-- | Format supports disjoint planes+--+--   bitpos = @22@+pattern VK_FORMAT_FEATURE_DISJOINT_BIT :: VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_DISJOINT_BIT =+        VkFormatFeatureFlagBits 4194304++-- | Format can have cosited rather than midpoint chroma samples+--+--   bitpos = @23@+pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT ::+        VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT =+        VkFormatFeatureFlagBits 8388608++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateDescriptorUpdateTemplate+--   >     ( VkDevice device+--   >     , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDescriptorUpdateTemplate.html vkCreateDescriptorUpdateTemplate registry at www.khronos.org>+foreign import ccall unsafe "vkCreateDescriptorUpdateTemplate"+               vkCreateDescriptorUpdateTemplate ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo+                                                          ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             ->+                     Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate+                                                    -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateDescriptorUpdateTemplate+--   >     ( VkDevice device+--   >     , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDescriptorUpdateTemplate.html vkCreateDescriptorUpdateTemplate registry at www.khronos.org>+foreign import ccall safe "vkCreateDescriptorUpdateTemplate"+               vkCreateDescriptorUpdateTemplateSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo+                                                          ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             ->+                     Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate+                                                    -> IO VkResult++-- | > () vkDestroyDescriptorUpdateTemplate+--   >     ( VkDevice device+--   >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDescriptorUpdateTemplate.html vkDestroyDescriptorUpdateTemplate registry at www.khronos.org>+foreign import ccall unsafe "vkDestroyDescriptorUpdateTemplate"+               vkDestroyDescriptorUpdateTemplate ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                         -> IO ()++-- | > () vkDestroyDescriptorUpdateTemplate+--   >     ( VkDevice device+--   >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDescriptorUpdateTemplate.html vkDestroyDescriptorUpdateTemplate registry at www.khronos.org>+foreign import ccall safe "vkDestroyDescriptorUpdateTemplate"+               vkDestroyDescriptorUpdateTemplateSafe ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                         -> IO ()++-- | > () vkUpdateDescriptorSetWithTemplate+--   >     ( VkDevice device+--   >     , VkDescriptorSet descriptorSet+--   >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate+--   >     , const void* pData+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkUpdateDescriptorSetWithTemplate.html vkUpdateDescriptorSetWithTemplate registry at www.khronos.org>+foreign import ccall unsafe "vkUpdateDescriptorSetWithTemplate"+               vkUpdateDescriptorSetWithTemplate ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorSet -- ^ descriptorSet+                                 -> VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+                                                               -> Ptr Void -- ^ pData+                                                                           -> IO ()++-- | > () vkUpdateDescriptorSetWithTemplate+--   >     ( VkDevice device+--   >     , VkDescriptorSet descriptorSet+--   >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate+--   >     , const void* pData+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkUpdateDescriptorSetWithTemplate.html vkUpdateDescriptorSetWithTemplate registry at www.khronos.org>+foreign import ccall safe "vkUpdateDescriptorSetWithTemplate"+               vkUpdateDescriptorSetWithTemplateSafe ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorSet -- ^ descriptorSet+                                 -> VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+                                                               -> Ptr Void -- ^ pData+                                                                           -> IO ()++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO =+        VkStructureType 1000085000++pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE :: VkObjectType++pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE =+        VkObjectType 1000085000++-- | > () vkGetPhysicalDeviceExternalBufferProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo+--   >     , VkExternalBufferProperties* pExternalBufferProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalBufferProperties.html vkGetPhysicalDeviceExternalBufferProperties registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetPhysicalDeviceExternalBufferProperties"+               vkGetPhysicalDeviceExternalBufferProperties ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo+                                                        ->+                   Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties+                                                  -> IO ()++-- | > () vkGetPhysicalDeviceExternalBufferProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo+--   >     , VkExternalBufferProperties* pExternalBufferProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalBufferProperties.html vkGetPhysicalDeviceExternalBufferProperties registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceExternalBufferProperties"+               vkGetPhysicalDeviceExternalBufferPropertiesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo+                                                        ->+                   Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties+                                                  -> IO ()++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO+        = VkStructureType 1000071000++pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES =+        VkStructureType 1000071001++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO =+        VkStructureType 1000071002++pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES =+        VkStructureType 1000071003++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES =+        VkStructureType 1000071004++pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO =+        VkStructureType 1000072000++pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO =+        VkStructureType 1000072001++pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO =+        VkStructureType 1000072002++pattern VK_ERROR_INVALID_EXTERNAL_HANDLE :: VkResult++pattern VK_ERROR_INVALID_EXTERNAL_HANDLE = VkResult (-1000072003)++-- | > () vkGetPhysicalDeviceExternalFenceProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo+--   >     , VkExternalFenceProperties* pExternalFenceProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalFenceProperties.html vkGetPhysicalDeviceExternalFenceProperties registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetPhysicalDeviceExternalFenceProperties"+               vkGetPhysicalDeviceExternalFenceProperties ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo+                                                       ->+                   Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties+                                                 -> IO ()++-- | > () vkGetPhysicalDeviceExternalFenceProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo+--   >     , VkExternalFenceProperties* pExternalFenceProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalFenceProperties.html vkGetPhysicalDeviceExternalFenceProperties registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceExternalFenceProperties"+               vkGetPhysicalDeviceExternalFencePropertiesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo+                                                       ->+                   Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties+                                                 -> IO ()++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO =+        VkStructureType 1000112000++pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES =+        VkStructureType 1000112001++pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO =+        VkStructureType 1000113000++pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO =+        VkStructureType 1000077000++-- | > () vkGetPhysicalDeviceExternalSemaphoreProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo+--   >     , VkExternalSemaphoreProperties* pExternalSemaphoreProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalSemaphoreProperties.html vkGetPhysicalDeviceExternalSemaphoreProperties registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetPhysicalDeviceExternalSemaphoreProperties"+               vkGetPhysicalDeviceExternalSemaphoreProperties ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo+                                                           ->+                   Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties+                                                     -> IO ()++-- | > () vkGetPhysicalDeviceExternalSemaphoreProperties+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo+--   >     , VkExternalSemaphoreProperties* pExternalSemaphoreProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalSemaphoreProperties.html vkGetPhysicalDeviceExternalSemaphoreProperties registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceExternalSemaphoreProperties"+               vkGetPhysicalDeviceExternalSemaphorePropertiesSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo+                                                           ->+                   Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties+                                                     -> IO ()++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO =+        VkStructureType 1000076000++pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES =+        VkStructureType 1000076001++-- | > () vkGetDescriptorSetLayoutSupport+--   >     ( VkDevice device+--   >     , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+--   >     , VkDescriptorSetLayoutSupport* pSupport+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDescriptorSetLayoutSupport.html vkGetDescriptorSetLayoutSupport registry at www.khronos.org>+foreign import ccall unsafe "vkGetDescriptorSetLayoutSupport"+               vkGetDescriptorSetLayoutSupport ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+                                                     ->+                   Ptr VkDescriptorSetLayoutSupport -- ^ pSupport+                                                    -> IO ()++-- | > () vkGetDescriptorSetLayoutSupport+--   >     ( VkDevice device+--   >     , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+--   >     , VkDescriptorSetLayoutSupport* pSupport+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDescriptorSetLayoutSupport.html vkGetDescriptorSetLayoutSupport registry at www.khronos.org>+foreign import ccall safe "vkGetDescriptorSetLayoutSupport"+               vkGetDescriptorSetLayoutSupportSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+                                                     ->+                   Ptr VkDescriptorSetLayoutSupport -- ^ pSupport+                                                    -> IO ()++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES+        = VkStructureType 1000168000++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT =+        VkStructureType 1000168001++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES+        = VkStructureType 1000063000
src-gen/Graphics/Vulkan/Ext.hs view
@@ -47,7 +47,7 @@     , module Graphics.Vulkan.Ext.VK_AMD_texture_gather_bias_lod     , module Graphics.Vulkan.Ext.VK_AMD_shader_info     , module Graphics.Vulkan.Ext.VK_AMD_shader_image_load_store_lod-    , module Graphics.Vulkan.Ext.VK_KHX_multiview+    , module Graphics.Vulkan.Ext.VK_KHR_multiview     , module Graphics.Vulkan.Ext.VK_IMG_format_pvrtc     , module Graphics.Vulkan.Ext.VK_NV_external_memory_capabilities     , module Graphics.Vulkan.Ext.VK_NV_external_memory@@ -60,7 +60,7 @@ #endif      , module Graphics.Vulkan.Ext.VK_KHR_get_physical_device_properties2-    , module Graphics.Vulkan.Ext.VK_KHX_device_group+    , module Graphics.Vulkan.Ext.VK_KHR_device_group     , module Graphics.Vulkan.Ext.VK_EXT_validation_flags #ifdef VK_USE_PLATFORM_VI_NN     , module Graphics.Vulkan.Ext.VK_NN_vi_surface@@ -70,7 +70,7 @@     , module Graphics.Vulkan.Ext.VK_EXT_shader_subgroup_ballot     , module Graphics.Vulkan.Ext.VK_EXT_shader_subgroup_vote     , module Graphics.Vulkan.Ext.VK_KHR_maintenance1-    , module Graphics.Vulkan.Ext.VK_KHX_device_group_creation+    , module Graphics.Vulkan.Ext.VK_KHR_device_group_creation     , module Graphics.Vulkan.Ext.VK_KHR_external_memory_capabilities     , module Graphics.Vulkan.Ext.VK_KHR_external_memory #ifdef VK_USE_PLATFORM_WIN32_KHR@@ -134,6 +134,11 @@     , module Graphics.Vulkan.Ext.VK_EXT_external_memory_dma_buf     , module Graphics.Vulkan.Ext.VK_EXT_queue_family_foreign     , module Graphics.Vulkan.Ext.VK_KHR_dedicated_allocation+    , module Graphics.Vulkan.Ext.VK_EXT_debug_utils+#ifdef VK_USE_PLATFORM_ANDROID_KHR+    , module Graphics.Vulkan.Ext.VK_ANDROID_external_memory_android_hardware_buffer+#endif+     , module Graphics.Vulkan.Ext.VK_EXT_sampler_filter_minmax     , module Graphics.Vulkan.Ext.VK_KHR_storage_buffer_storage_class     , module Graphics.Vulkan.Ext.VK_AMD_gpu_shader_int16@@ -153,9 +158,11 @@     , module Graphics.Vulkan.Ext.VK_KHR_bind_memory2     , module Graphics.Vulkan.Ext.VK_EXT_validation_cache     , module Graphics.Vulkan.Ext.VK_EXT_shader_viewport_index_layer+    , module Graphics.Vulkan.Ext.VK_KHR_maintenance3     , module Graphics.Vulkan.Ext.VK_EXT_global_priority     , module Graphics.Vulkan.Ext.VK_EXT_external_memory_host     , module Graphics.Vulkan.Ext.VK_AMD_buffer_marker+    , module Graphics.Vulkan.Ext.VK_EXT_vertex_attribute_divisor     ) where  import Graphics.Vulkan.Ext.VK_KHR_surface@@ -204,7 +211,7 @@ import Graphics.Vulkan.Ext.VK_AMD_texture_gather_bias_lod import Graphics.Vulkan.Ext.VK_AMD_shader_info import Graphics.Vulkan.Ext.VK_AMD_shader_image_load_store_lod-import Graphics.Vulkan.Ext.VK_KHX_multiview+import Graphics.Vulkan.Ext.VK_KHR_multiview import Graphics.Vulkan.Ext.VK_IMG_format_pvrtc import Graphics.Vulkan.Ext.VK_NV_external_memory_capabilities import Graphics.Vulkan.Ext.VK_NV_external_memory@@ -217,7 +224,7 @@ #endif  import Graphics.Vulkan.Ext.VK_KHR_get_physical_device_properties2-import Graphics.Vulkan.Ext.VK_KHX_device_group+import Graphics.Vulkan.Ext.VK_KHR_device_group import Graphics.Vulkan.Ext.VK_EXT_validation_flags #ifdef VK_USE_PLATFORM_VI_NN import Graphics.Vulkan.Ext.VK_NN_vi_surface@@ -227,7 +234,7 @@ import Graphics.Vulkan.Ext.VK_EXT_shader_subgroup_ballot import Graphics.Vulkan.Ext.VK_EXT_shader_subgroup_vote import Graphics.Vulkan.Ext.VK_KHR_maintenance1-import Graphics.Vulkan.Ext.VK_KHX_device_group_creation+import Graphics.Vulkan.Ext.VK_KHR_device_group_creation import Graphics.Vulkan.Ext.VK_KHR_external_memory_capabilities import Graphics.Vulkan.Ext.VK_KHR_external_memory #ifdef VK_USE_PLATFORM_WIN32_KHR@@ -291,6 +298,11 @@ import Graphics.Vulkan.Ext.VK_EXT_external_memory_dma_buf import Graphics.Vulkan.Ext.VK_EXT_queue_family_foreign import Graphics.Vulkan.Ext.VK_KHR_dedicated_allocation+import Graphics.Vulkan.Ext.VK_EXT_debug_utils+#ifdef VK_USE_PLATFORM_ANDROID_KHR+import Graphics.Vulkan.Ext.VK_ANDROID_external_memory_android_hardware_buffer+#endif+ import Graphics.Vulkan.Ext.VK_EXT_sampler_filter_minmax import Graphics.Vulkan.Ext.VK_KHR_storage_buffer_storage_class import Graphics.Vulkan.Ext.VK_AMD_gpu_shader_int16@@ -310,6 +322,8 @@ import Graphics.Vulkan.Ext.VK_KHR_bind_memory2 import Graphics.Vulkan.Ext.VK_EXT_validation_cache import Graphics.Vulkan.Ext.VK_EXT_shader_viewport_index_layer+import Graphics.Vulkan.Ext.VK_KHR_maintenance3 import Graphics.Vulkan.Ext.VK_EXT_global_priority import Graphics.Vulkan.Ext.VK_EXT_external_memory_host import Graphics.Vulkan.Ext.VK_AMD_buffer_marker+import Graphics.Vulkan.Ext.VK_EXT_vertex_attribute_divisor
src-gen/Graphics/Vulkan/Ext/VK_AMD_buffer_marker.hs view
@@ -19,7 +19,8 @@         -- type: @device@         --         -- Extension number: @180@-        vkCmdWriteBufferMarkerAMD, module Graphics.Vulkan.Marshal,+        vkCmdWriteBufferMarkerAMD, vkCmdWriteBufferMarkerAMDSafe,+        module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.BaseTypes,         module Graphics.Vulkan.Types.Enum.VkPipelineStageFlags,         module Graphics.Vulkan.Types.Handles,@@ -48,7 +49,7 @@ --   >     , uint32_t marker --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdWriteBufferMarkerAMD.html vkCmdWriteBufferMarkerAMD registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdWriteBufferMarkerAMD.html vkCmdWriteBufferMarkerAMD registry at www.khronos.org> foreign import ccall unsafe "vkCmdWriteBufferMarkerAMD"                vkCmdWriteBufferMarkerAMD ::                VkCommandBuffer -- ^ commandBuffer@@ -60,6 +61,32 @@                                             -> Word32 -- ^ marker                                                       -> IO () +-- | queues: 'transfer', 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   pipeline: @transfer@+--+--   > () vkCmdWriteBufferMarkerAMD+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkPipelineStageFlagBits pipelineStage+--   >     , VkBuffer dstBuffer+--   >     , VkDeviceSize dstOffset+--   >     , uint32_t marker+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdWriteBufferMarkerAMD.html vkCmdWriteBufferMarkerAMD registry at www.khronos.org>+foreign import ccall safe "vkCmdWriteBufferMarkerAMD"+               vkCmdWriteBufferMarkerAMDSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkPipelineStageFlagBits -- ^ pipelineStage+                                         ->+                   VkBuffer -- ^ dstBuffer+                            -> VkDeviceSize -- ^ dstOffset+                                            -> Word32 -- ^ marker+                                                      -> IO ()+ pattern VK_AMD_BUFFER_MARKER_SPEC_VERSION :: (Num a, Eq a) => a  pattern VK_AMD_BUFFER_MARKER_SPEC_VERSION = 1@@ -83,6 +110,6 @@  is_VK_AMD_BUFFER_MARKER_EXTENSION_NAME :: CString -> Bool is_VK_AMD_BUFFER_MARKER_EXTENSION_NAME-  = eqCStrings _VK_AMD_BUFFER_MARKER_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_AMD_BUFFER_MARKER_EXTENSION_NAME  type VK_AMD_BUFFER_MARKER_EXTENSION_NAME = "VK_AMD_buffer_marker"
src-gen/Graphics/Vulkan/Ext/VK_AMD_draw_indirect_count.hs view
@@ -18,7 +18,9 @@         -- type: @device@         --         -- Extension number: @34@-        vkCmdDrawIndirectCountAMD, vkCmdDrawIndexedIndirectCountAMD,+        vkCmdDrawIndirectCountAMD, vkCmdDrawIndirectCountAMDSafe,+        vkCmdDrawIndexedIndirectCountAMD,+        vkCmdDrawIndexedIndirectCountAMDSafe,         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.BaseTypes,         module Graphics.Vulkan.Types.Handles,@@ -48,7 +50,7 @@ --   >     , uint32_t stride --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdDrawIndirectCountAMD.html vkCmdDrawIndirectCountAMD registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDrawIndirectCountAMD.html vkCmdDrawIndirectCountAMD registry at www.khronos.org> foreign import ccall unsafe "vkCmdDrawIndirectCountAMD"                vkCmdDrawIndirectCountAMD ::                VkCommandBuffer -- ^ commandBuffer@@ -69,6 +71,37 @@ -- --   pipeline: @graphics@ --+--   > () vkCmdDrawIndirectCountAMD+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer buffer+--   >     , VkDeviceSize offset+--   >     , VkBuffer countBuffer+--   >     , VkDeviceSize countBufferOffset+--   >     , uint32_t maxDrawCount+--   >     , uint32_t stride+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDrawIndirectCountAMD.html vkCmdDrawIndirectCountAMD registry at www.khronos.org>+foreign import ccall safe "vkCmdDrawIndirectCountAMD"+               vkCmdDrawIndirectCountAMDSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ buffer+                          ->+                   VkDeviceSize -- ^ offset+                                ->+                     VkBuffer -- ^ countBuffer+                              -> VkDeviceSize -- ^ countBufferOffset+                                              -> Word32 -- ^ maxDrawCount+                                                        -> Word32 -- ^ stride+                                                                  -> IO ()++-- | queues: 'graphics'.+--+--   renderpass: @inside@+--+--   pipeline: @graphics@+-- --   > () vkCmdDrawIndexedIndirectCountAMD --   >     ( VkCommandBuffer commandBuffer --   >     , VkBuffer buffer@@ -79,7 +112,7 @@ --   >     , uint32_t stride --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdDrawIndexedIndirectCountAMD.html vkCmdDrawIndexedIndirectCountAMD registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDrawIndexedIndirectCountAMD.html vkCmdDrawIndexedIndirectCountAMD registry at www.khronos.org> foreign import ccall unsafe "vkCmdDrawIndexedIndirectCountAMD"                vkCmdDrawIndexedIndirectCountAMD ::                VkCommandBuffer -- ^ commandBuffer@@ -94,6 +127,37 @@                                                         -> Word32 -- ^ stride                                                                   -> IO () +-- | queues: 'graphics'.+--+--   renderpass: @inside@+--+--   pipeline: @graphics@+--+--   > () vkCmdDrawIndexedIndirectCountAMD+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkBuffer buffer+--   >     , VkDeviceSize offset+--   >     , VkBuffer countBuffer+--   >     , VkDeviceSize countBufferOffset+--   >     , uint32_t maxDrawCount+--   >     , uint32_t stride+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDrawIndexedIndirectCountAMD.html vkCmdDrawIndexedIndirectCountAMD registry at www.khronos.org>+foreign import ccall safe "vkCmdDrawIndexedIndirectCountAMD"+               vkCmdDrawIndexedIndirectCountAMDSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkBuffer -- ^ buffer+                          ->+                   VkDeviceSize -- ^ offset+                                ->+                     VkBuffer -- ^ countBuffer+                              -> VkDeviceSize -- ^ countBufferOffset+                                              -> Word32 -- ^ maxDrawCount+                                                        -> Word32 -- ^ stride+                                                                  -> IO ()+ pattern VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION :: (Num a, Eq a) =>         a @@ -118,7 +182,7 @@  is_VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME :: CString -> Bool is_VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME-  = eqCStrings _VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME  type VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME =      "VK_AMD_draw_indirect_count"
src-gen/Graphics/Vulkan/Ext/VK_AMD_gcn_shader.hs view
@@ -47,6 +47,6 @@  is_VK_AMD_GCN_SHADER_EXTENSION_NAME :: CString -> Bool is_VK_AMD_GCN_SHADER_EXTENSION_NAME-  = eqCStrings _VK_AMD_GCN_SHADER_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_AMD_GCN_SHADER_EXTENSION_NAME  type VK_AMD_GCN_SHADER_EXTENSION_NAME = "VK_AMD_gcn_shader"
src-gen/Graphics/Vulkan/Ext/VK_AMD_gpu_shader_half_float.hs view
@@ -49,7 +49,8 @@  is_VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME :: CString -> Bool is_VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME-  = eqCStrings _VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME  type VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME =      "VK_AMD_gpu_shader_half_float"
src-gen/Graphics/Vulkan/Ext/VK_AMD_gpu_shader_int16.hs view
@@ -48,7 +48,7 @@  is_VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME :: CString -> Bool is_VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME-  = eqCStrings _VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME  type VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME =      "VK_AMD_gpu_shader_int16"
src-gen/Graphics/Vulkan/Ext/VK_AMD_mixed_attachment_samples.hs view
@@ -50,7 +50,8 @@ is_VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME ::                                                   CString -> Bool is_VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME-  = eqCStrings _VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME  type VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME =      "VK_AMD_mixed_attachment_samples"
src-gen/Graphics/Vulkan/Ext/VK_AMD_negative_viewport_height.hs view
@@ -50,7 +50,8 @@ is_VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME ::                                                   CString -> Bool is_VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME-  = eqCStrings _VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME  type VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME =      "VK_AMD_negative_viewport_height"
src-gen/Graphics/Vulkan/Ext/VK_AMD_rasterization_order.hs view
@@ -70,7 +70,7 @@  is_VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME :: CString -> Bool is_VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME-  = eqCStrings _VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME  type VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME =      "VK_AMD_rasterization_order"
src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_ballot.hs view
@@ -48,6 +48,6 @@  is_VK_AMD_SHADER_BALLOT_EXTENSION_NAME :: CString -> Bool is_VK_AMD_SHADER_BALLOT_EXTENSION_NAME-  = eqCStrings _VK_AMD_SHADER_BALLOT_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_AMD_SHADER_BALLOT_EXTENSION_NAME  type VK_AMD_SHADER_BALLOT_EXTENSION_NAME = "VK_AMD_shader_ballot"
src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_explicit_vertex_parameter.hs view
@@ -53,8 +53,8 @@ is_VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME ::                                                           CString -> Bool is_VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME-  = eqCStrings-      _VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME  type VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME =      "VK_AMD_shader_explicit_vertex_parameter"
src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_fragment_mask.hs view
@@ -49,7 +49,7 @@  is_VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME :: CString -> Bool is_VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME-  = eqCStrings _VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME  type VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME =      "VK_AMD_shader_fragment_mask"
src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_image_load_store_lod.hs view
@@ -51,7 +51,8 @@ is_VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME ::                                                      CString -> Bool is_VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME-  = eqCStrings _VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME  type VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME =      "VK_AMD_shader_image_load_store_lod"
src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_info.hs view
@@ -26,7 +26,8 @@         module Graphics.Vulkan.Types.Enum.VkShaderStageFlags,         module Graphics.Vulkan.Types.Struct.VkShaderStatisticsInfoAMD,         -- > #include "vk_platform.h"-        vkGetShaderInfoAMD, module Graphics.Vulkan.Types.Enum.VkResult,+        vkGetShaderInfoAMD, vkGetShaderInfoAMDSafe,+        module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Handles,         VK_AMD_SHADER_INFO_SPEC_VERSION,         pattern VK_AMD_SHADER_INFO_SPEC_VERSION,@@ -56,7 +57,7 @@ --   >     , void* pInfo --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetShaderInfoAMD.html vkGetShaderInfoAMD registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetShaderInfoAMD.html vkGetShaderInfoAMD registry at www.khronos.org> foreign import ccall unsafe "vkGetShaderInfoAMD" vkGetShaderInfoAMD                ::                VkDevice -- ^ device@@ -70,6 +71,33 @@                                                       -> Ptr Void -- ^ pInfo                                                                   -> IO VkResult +-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_FEATURE_NOT_PRESENT', 'VK_ERROR_OUT_OF_HOST_MEMORY'.+--+--   > VkResult vkGetShaderInfoAMD+--   >     ( VkDevice device+--   >     , VkPipeline pipeline+--   >     , VkShaderStageFlagBits shaderStage+--   >     , VkShaderInfoTypeAMD infoType+--   >     , size_t* pInfoSize+--   >     , void* pInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetShaderInfoAMD.html vkGetShaderInfoAMD registry at www.khronos.org>+foreign import ccall safe "vkGetShaderInfoAMD"+               vkGetShaderInfoAMDSafe ::+               VkDevice -- ^ device+                        ->+                 VkPipeline -- ^ pipeline+                            ->+                   VkShaderStageFlagBits -- ^ shaderStage+                                         ->+                     VkShaderInfoTypeAMD -- ^ infoType+                                         -> Ptr CSize -- ^ pInfoSize+                                                      -> Ptr Void -- ^ pInfo+                                                                  -> IO VkResult+ pattern VK_AMD_SHADER_INFO_SPEC_VERSION :: (Num a, Eq a) => a  pattern VK_AMD_SHADER_INFO_SPEC_VERSION = 1@@ -92,6 +120,6 @@  is_VK_AMD_SHADER_INFO_EXTENSION_NAME :: CString -> Bool is_VK_AMD_SHADER_INFO_EXTENSION_NAME-  = eqCStrings _VK_AMD_SHADER_INFO_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_AMD_SHADER_INFO_EXTENSION_NAME  type VK_AMD_SHADER_INFO_EXTENSION_NAME = "VK_AMD_shader_info"
src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_trinary_minmax.hs view
@@ -49,7 +49,8 @@  is_VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME :: CString -> Bool is_VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME-  = eqCStrings _VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME  type VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME =      "VK_AMD_shader_trinary_minmax"
src-gen/Graphics/Vulkan/Ext/VK_AMD_texture_gather_bias_lod.hs view
@@ -25,7 +25,7 @@         module Graphics.Vulkan.Types.BaseTypes,         module Graphics.Vulkan.Types.Struct.VkExtent3D,         module Graphics.Vulkan.Types.Struct.VkImageFormatProperties,-        module Graphics.Vulkan.Types.Struct.VkImageFormatProperties2KHR,+        module Graphics.Vulkan.Types.Struct.VkImageFormatProperties2,         module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,         module Graphics.Vulkan.Types.Enum.VkStructureType,         module Graphics.Vulkan.Types.Struct.VkTextureLODGatherFormatPropertiesAMD,@@ -44,7 +44,7 @@ import           Graphics.Vulkan.Types.Enum.VkStructureType import           Graphics.Vulkan.Types.Struct.VkExtent3D import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties-import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties2KHR+import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties2 import           Graphics.Vulkan.Types.Struct.VkTextureLODGatherFormatPropertiesAMD  pattern VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION ::@@ -71,7 +71,8 @@  is_VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME :: CString -> Bool is_VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME-  = eqCStrings _VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME  type VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME =      "VK_AMD_texture_gather_bias_lod"
+ src-gen/Graphics/Vulkan/Ext/VK_ANDROID_external_memory_android_hardware_buffer.hs view
@@ -0,0 +1,281 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_ANDROID_external_memory_android_hardware_buffer+       (-- * Vulkan extension: @VK_ANDROID_external_memory_android_hardware_buffer@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jesse Hall @jessehall@+        --+        -- author: @ANDROID@+        --+        -- type: @device@+        --+        -- platform: @android@+        --+        -- Extension number: @130@+        --+        -- Required extensions: 'VK_KHR_sampler_ycbcr_conversion', 'VK_KHR_external_memory'.+        --++        -- ** Required extensions: 'VK_KHR_sampler_ycbcr_conversion', 'VK_KHR_external_memory'.+        module Graphics.Vulkan.Types.Struct.VkAndroidHardwareBufferFormatPropertiesANDROID,+        module Graphics.Vulkan.Types.Struct.VkAndroidHardwareBufferPropertiesANDROID,+        module Graphics.Vulkan.Types.Struct.VkAndroidHardwareBufferUsageANDROID,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkChromaLocation,+        module Graphics.Vulkan.Types.Struct.VkComponentMapping,+        module Graphics.Vulkan.Types.Enum.VkComponentSwizzle,+        module Graphics.Vulkan.Types.Struct.VkExtent3D,+        module Graphics.Vulkan.Types.Struct.VkExternalFormatANDROID,+        module Graphics.Vulkan.Types.Enum.VkFilter,+        module Graphics.Vulkan.Types.Enum.VkFormat,+        module Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags,+        module Graphics.Vulkan.Types.Enum.VkImageCreateFlags,+        module Graphics.Vulkan.Types.Struct.VkImageCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkImageFormatProperties,+        module Graphics.Vulkan.Types.Struct.VkImageFormatProperties2,+        module Graphics.Vulkan.Types.Enum.VkImageLayout,+        module Graphics.Vulkan.Types.Enum.VkImageTiling,+        module Graphics.Vulkan.Types.Enum.VkImageType,+        module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,+        module Graphics.Vulkan.Types.Struct.VkImportAndroidHardwareBufferInfoANDROID,+        module Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo,+        module Graphics.Vulkan.Types.Struct.VkMemoryGetAndroidHardwareBufferInfoANDROID,+        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,+        module Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversion,+        module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRange,+        module Graphics.Vulkan.Types.Enum.VkSharingMode,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        -- > #include "vk_platform.h"+        vkGetAndroidHardwareBufferPropertiesANDROID,+        vkGetAndroidHardwareBufferPropertiesANDROIDSafe,+        vkGetMemoryAndroidHardwareBufferANDROID,+        vkGetMemoryAndroidHardwareBufferANDROIDSafe,+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Handles,+        VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION,+        pattern VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION,+        VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME,+        pattern VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME,+        pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID,+        pattern VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID,+        pattern VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID,+        pattern VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID,+        pattern VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,+        pattern VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,+        pattern VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID)+       where+import           GHC.Ptr+                                                                                              (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Defines+                                                                                              (AHardwareBuffer)+import           Graphics.Vulkan.Types.Enum.VkChromaLocation+import           Graphics.Vulkan.Types.Enum.VkComponentSwizzle+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags+                                                                                              (VkExternalMemoryHandleTypeBitmask (..),+                                                                                              VkExternalMemoryHandleTypeFlagBits)+import           Graphics.Vulkan.Types.Enum.VkFilter+import           Graphics.Vulkan.Types.Enum.VkFormat+import           Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags+import           Graphics.Vulkan.Types.Enum.VkImageCreateFlags+import           Graphics.Vulkan.Types.Enum.VkImageLayout+import           Graphics.Vulkan.Types.Enum.VkImageTiling+import           Graphics.Vulkan.Types.Enum.VkImageType+import           Graphics.Vulkan.Types.Enum.VkImageUsageFlags+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags+import           Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversion+import           Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRange+import           Graphics.Vulkan.Types.Enum.VkSharingMode+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkAndroidHardwareBufferFormatPropertiesANDROID+import           Graphics.Vulkan.Types.Struct.VkAndroidHardwareBufferPropertiesANDROID+import           Graphics.Vulkan.Types.Struct.VkAndroidHardwareBufferUsageANDROID+import           Graphics.Vulkan.Types.Struct.VkComponentMapping+import           Graphics.Vulkan.Types.Struct.VkExtent3D+import           Graphics.Vulkan.Types.Struct.VkExternalFormatANDROID+import           Graphics.Vulkan.Types.Struct.VkImageCreateInfo+import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties+import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties2+import           Graphics.Vulkan.Types.Struct.VkImportAndroidHardwareBufferInfoANDROID+import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo+import           Graphics.Vulkan.Types.Struct.VkMemoryGetAndroidHardwareBufferInfoANDROID+import           Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionCreateInfo++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR'.+--+--   > VkResult vkGetAndroidHardwareBufferPropertiesANDROID+--   >     ( VkDevice device+--   >     , const struct AHardwareBuffer* buffer+--   >     , VkAndroidHardwareBufferPropertiesANDROID* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html vkGetAndroidHardwareBufferPropertiesANDROID registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetAndroidHardwareBufferPropertiesANDROID"+               vkGetAndroidHardwareBufferPropertiesANDROID ::+               VkDevice -- ^ device+                        ->+                 Ptr AHardwareBuffer -- ^ buffer+                                     ->+                   Ptr VkAndroidHardwareBufferPropertiesANDROID -- ^ pProperties+                                                                -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR'.+--+--   > VkResult vkGetAndroidHardwareBufferPropertiesANDROID+--   >     ( VkDevice device+--   >     , const struct AHardwareBuffer* buffer+--   >     , VkAndroidHardwareBufferPropertiesANDROID* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html vkGetAndroidHardwareBufferPropertiesANDROID registry at www.khronos.org>+foreign import ccall safe+               "vkGetAndroidHardwareBufferPropertiesANDROID"+               vkGetAndroidHardwareBufferPropertiesANDROIDSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr AHardwareBuffer -- ^ buffer+                                     ->+                   Ptr VkAndroidHardwareBufferPropertiesANDROID -- ^ pProperties+                                                                -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'.+--+--   > VkResult vkGetMemoryAndroidHardwareBufferANDROID+--   >     ( VkDevice device+--   >     , const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo+--   >     , struct AHardwareBuffer** pBuffer+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryAndroidHardwareBufferANDROID.html vkGetMemoryAndroidHardwareBufferANDROID registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetMemoryAndroidHardwareBufferANDROID"+               vkGetMemoryAndroidHardwareBufferANDROID ::+               VkDevice -- ^ device+                        ->+                 Ptr VkMemoryGetAndroidHardwareBufferInfoANDROID -- ^ pInfo+                                                                 ->+                   Ptr (Ptr AHardwareBuffer) -- ^ pBuffer+                                             -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'.+--+--   > VkResult vkGetMemoryAndroidHardwareBufferANDROID+--   >     ( VkDevice device+--   >     , const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo+--   >     , struct AHardwareBuffer** pBuffer+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryAndroidHardwareBufferANDROID.html vkGetMemoryAndroidHardwareBufferANDROID registry at www.khronos.org>+foreign import ccall safe "vkGetMemoryAndroidHardwareBufferANDROID"+               vkGetMemoryAndroidHardwareBufferANDROIDSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkMemoryGetAndroidHardwareBufferInfoANDROID -- ^ pInfo+                                                                 ->+                   Ptr (Ptr AHardwareBuffer) -- ^ pBuffer+                                             -> IO VkResult++pattern VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION+        :: (Num a, Eq a) => a++pattern VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION+        = 3++type VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION+     = 3++pattern VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME+        :: CString++pattern VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME+        <-+        (is_VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME+           -> True)+  where VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME+          = _VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME++{-# INLINE _VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME+           #-}++_VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME ::+                                                                   CString+_VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME+  = Ptr "VK_ANDROID_external_memory_android_hardware_buffer\NUL"#++{-# INLINE is_VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME+           #-}++is_VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME ::+                                                                     CString -> Bool+is_VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings+        _VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME++type VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME+     = "VK_ANDROID_external_memory_android_hardware_buffer"++-- | bitpos = @10@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID+        :: VkExternalMemoryHandleTypeFlagBits++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID+        = VkExternalMemoryHandleTypeFlagBits 1024++pattern VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID =+        VkStructureType 1000129000++pattern VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID+        = VkStructureType 1000129001++pattern VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID+        = VkStructureType 1000129002++pattern VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID+        = VkStructureType 1000129003++pattern VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID+        = VkStructureType 1000129004++pattern VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID =+        VkStructureType 1000129005
src-gen/Graphics/Vulkan/Ext/VK_EXT_acquire_xlib_display.hs view
@@ -17,15 +17,16 @@         --         -- type: @instance@         --+        -- platform: @xlib_xrandr@+        --         -- Extension number: @90@         --         -- Required extensions: 'VK_EXT_direct_mode_display'.         ---        -- Protected by CPP ifdef: @VK_USE_PLATFORM_XLIB_XRANDR_EXT@-        --          -- ** Required extensions: 'VK_EXT_direct_mode_display'.-        vkAcquireXlibDisplayEXT, vkGetRandROutputDisplayEXT,+        vkAcquireXlibDisplayEXT, vkAcquireXlibDisplayEXTSafe,+        vkGetRandROutputDisplayEXT, vkGetRandROutputDisplayEXTSafe,         module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Handles,         VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION,@@ -49,7 +50,7 @@ --   >     , VkDisplayKHR display --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkAcquireXlibDisplayEXT.html vkAcquireXlibDisplayEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAcquireXlibDisplayEXT.html vkAcquireXlibDisplayEXT registry at www.khronos.org> foreign import ccall unsafe "vkAcquireXlibDisplayEXT"                vkAcquireXlibDisplayEXT ::                VkPhysicalDevice -- ^ physicalDevice@@ -59,6 +60,24 @@  -- | Success codes: 'VK_SUCCESS'. --+--   Error codes: 'VK_ERROR_INITIALIZATION_FAILED'.+--+--   > VkResult vkAcquireXlibDisplayEXT+--   >     ( VkPhysicalDevice physicalDevice+--   >     , Display* dpy+--   >     , VkDisplayKHR display+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAcquireXlibDisplayEXT.html vkAcquireXlibDisplayEXT registry at www.khronos.org>+foreign import ccall safe "vkAcquireXlibDisplayEXT"+               vkAcquireXlibDisplayEXTSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr Display -- ^ dpy+                                               -> VkDisplayKHR -- ^ display+                                                               -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+-- --   > VkResult vkGetRandROutputDisplayEXT --   >     ( VkPhysicalDevice physicalDevice --   >     , Display* dpy@@ -66,7 +85,7 @@ --   >     , VkDisplayKHR* pDisplay --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetRandROutputDisplayEXT.html vkGetRandROutputDisplayEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetRandROutputDisplayEXT.html vkGetRandROutputDisplayEXT registry at www.khronos.org> foreign import ccall unsafe "vkGetRandROutputDisplayEXT"                vkGetRandROutputDisplayEXT ::                VkPhysicalDevice -- ^ physicalDevice@@ -76,6 +95,25 @@                                          -> Ptr VkDisplayKHR -- ^ pDisplay                                                              -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   > VkResult vkGetRandROutputDisplayEXT+--   >     ( VkPhysicalDevice physicalDevice+--   >     , Display* dpy+--   >     , RROutput rrOutput+--   >     , VkDisplayKHR* pDisplay+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetRandROutputDisplayEXT.html vkGetRandROutputDisplayEXT registry at www.khronos.org>+foreign import ccall safe "vkGetRandROutputDisplayEXT"+               vkGetRandROutputDisplayEXTSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr Display -- ^ dpy+                             -> RROutput -- ^ rrOutput+                                         -> Ptr VkDisplayKHR -- ^ pDisplay+                                                             -> IO VkResult+ pattern VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION ::         (Num a, Eq a) => a @@ -100,7 +138,7 @@  is_VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME :: CString -> Bool is_VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME-  = eqCStrings _VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME  type VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME =      "VK_EXT_acquire_xlib_display"
src-gen/Graphics/Vulkan/Ext/VK_EXT_blend_operation_advanced.hs view
@@ -25,15 +25,16 @@         module Graphics.Vulkan.Types.Enum.VkColorComponentFlags,         module Graphics.Vulkan.Types.Bitmasks,         module Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags,         module Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo,         module Graphics.Vulkan.Types.Enum.VkLogicOp,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2KHR,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,         module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,         module Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAdvancedStateCreateInfoEXT,@@ -95,6 +96,7 @@ import           Graphics.Vulkan.Types.Enum.VkBlendOp import           Graphics.Vulkan.Types.Enum.VkBlendOverlapEXT import           Graphics.Vulkan.Types.Enum.VkColorComponentFlags+import           Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags import           Graphics.Vulkan.Types.Enum.VkLogicOp import           Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags@@ -104,10 +106,10 @@ import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2KHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2 import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2 import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties import           Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAdvancedStateCreateInfoEXT import           Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAttachmentState@@ -138,7 +140,8 @@ is_VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME ::                                                   CString -> Bool is_VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME-  = eqCStrings _VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME  type VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME =      "VK_EXT_blend_operation_advanced"
src-gen/Graphics/Vulkan/Ext/VK_EXT_conservative_rasterization.hs view
@@ -30,7 +30,7 @@         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceConservativeRasterizationPropertiesEXT,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,         module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,         module Graphics.Vulkan.Types.Bitmasks,@@ -62,7 +62,7 @@ import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceConservativeRasterizationPropertiesEXT import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2 import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties import           Graphics.Vulkan.Types.Struct.VkPipelineRasterizationConservativeStateCreateInfoEXT import           Graphics.Vulkan.Types.Struct.VkPipelineRasterizationStateCreateInfo@@ -92,7 +92,8 @@ is_VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME ::                                                     CString -> Bool is_VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME-  = eqCStrings _VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME  type VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME =      "VK_EXT_conservative_rasterization"
src-gen/Graphics/Vulkan/Ext/VK_EXT_debug_marker.hs view
@@ -30,9 +30,11 @@         module Graphics.Vulkan.Types.Enum.VkDebugReportObjectTypeEXT,         module Graphics.Vulkan.Types.Enum.VkStructureType,         -- > #include "vk_platform.h"-        vkDebugMarkerSetObjectTagEXT, vkDebugMarkerSetObjectNameEXT,-        vkCmdDebugMarkerBeginEXT, vkCmdDebugMarkerEndEXT,-        vkCmdDebugMarkerInsertEXT,+        vkDebugMarkerSetObjectTagEXT, vkDebugMarkerSetObjectTagEXTSafe,+        vkDebugMarkerSetObjectNameEXT, vkDebugMarkerSetObjectNameEXTSafe,+        vkCmdDebugMarkerBeginEXT, vkCmdDebugMarkerBeginEXTSafe,+        vkCmdDebugMarkerEndEXT, vkCmdDebugMarkerEndEXTSafe,+        vkCmdDebugMarkerInsertEXT, vkCmdDebugMarkerInsertEXTSafe,         module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Handles,         VK_EXT_DEBUG_MARKER_SPEC_VERSION,@@ -62,7 +64,7 @@ --   >     , const VkDebugMarkerObjectTagInfoEXT* pTagInfo --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDebugMarkerSetObjectTagEXT.html vkDebugMarkerSetObjectTagEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDebugMarkerSetObjectTagEXT.html vkDebugMarkerSetObjectTagEXT registry at www.khronos.org> foreign import ccall unsafe "vkDebugMarkerSetObjectTagEXT"                vkDebugMarkerSetObjectTagEXT ::                VkDevice -- ^ device@@ -73,18 +75,50 @@ -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'. --+--   > VkResult vkDebugMarkerSetObjectTagEXT+--   >     ( VkDevice device+--   >     , const VkDebugMarkerObjectTagInfoEXT* pTagInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDebugMarkerSetObjectTagEXT.html vkDebugMarkerSetObjectTagEXT registry at www.khronos.org>+foreign import ccall safe "vkDebugMarkerSetObjectTagEXT"+               vkDebugMarkerSetObjectTagEXTSafe ::+               VkDevice -- ^ device+                        -> Ptr VkDebugMarkerObjectTagInfoEXT -- ^ pTagInfo+                                                             -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+-- --   > VkResult vkDebugMarkerSetObjectNameEXT --   >     ( VkDevice device --   >     , const VkDebugMarkerObjectNameInfoEXT* pNameInfo --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDebugMarkerSetObjectNameEXT.html vkDebugMarkerSetObjectNameEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDebugMarkerSetObjectNameEXT.html vkDebugMarkerSetObjectNameEXT registry at www.khronos.org> foreign import ccall unsafe "vkDebugMarkerSetObjectNameEXT"                vkDebugMarkerSetObjectNameEXT ::                VkDevice -- ^ device                         -> Ptr VkDebugMarkerObjectNameInfoEXT -- ^ pNameInfo                                                               -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkDebugMarkerSetObjectNameEXT+--   >     ( VkDevice device+--   >     , const VkDebugMarkerObjectNameInfoEXT* pNameInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDebugMarkerSetObjectNameEXT.html vkDebugMarkerSetObjectNameEXT registry at www.khronos.org>+foreign import ccall safe "vkDebugMarkerSetObjectNameEXT"+               vkDebugMarkerSetObjectNameEXTSafe ::+               VkDevice -- ^ device+                        -> Ptr VkDebugMarkerObjectNameInfoEXT -- ^ pNameInfo+                                                              -> IO VkResult+ -- | queues: 'graphics', 'compute'. -- --   renderpass: @both@@@ -94,7 +128,7 @@ --   >     , const VkDebugMarkerMarkerInfoEXT* pMarkerInfo --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdDebugMarkerBeginEXT.html vkCmdDebugMarkerBeginEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDebugMarkerBeginEXT.html vkCmdDebugMarkerBeginEXT registry at www.khronos.org> foreign import ccall unsafe "vkCmdDebugMarkerBeginEXT"                vkCmdDebugMarkerBeginEXT ::                VkCommandBuffer -- ^ commandBuffer@@ -105,11 +139,27 @@ -- --   renderpass: @both@ --+--   > () vkCmdDebugMarkerBeginEXT+--   >     ( VkCommandBuffer commandBuffer+--   >     , const VkDebugMarkerMarkerInfoEXT* pMarkerInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDebugMarkerBeginEXT.html vkCmdDebugMarkerBeginEXT registry at www.khronos.org>+foreign import ccall safe "vkCmdDebugMarkerBeginEXT"+               vkCmdDebugMarkerBeginEXTSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Ptr VkDebugMarkerMarkerInfoEXT -- ^ pMarkerInfo+                                                                 -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+-- --   > () vkCmdDebugMarkerEndEXT --   >     ( VkCommandBuffer commandBuffer --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdDebugMarkerEndEXT.html vkCmdDebugMarkerEndEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDebugMarkerEndEXT.html vkCmdDebugMarkerEndEXT registry at www.khronos.org> foreign import ccall unsafe "vkCmdDebugMarkerEndEXT"                vkCmdDebugMarkerEndEXT :: VkCommandBuffer -- ^ commandBuffer                                                          -> IO ()@@ -118,18 +168,47 @@ -- --   renderpass: @both@ --+--   > () vkCmdDebugMarkerEndEXT+--   >     ( VkCommandBuffer commandBuffer+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDebugMarkerEndEXT.html vkCmdDebugMarkerEndEXT registry at www.khronos.org>+foreign import ccall safe "vkCmdDebugMarkerEndEXT"+               vkCmdDebugMarkerEndEXTSafe :: VkCommandBuffer -- ^ commandBuffer+                                                             -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+-- --   > () vkCmdDebugMarkerInsertEXT --   >     ( VkCommandBuffer commandBuffer --   >     , const VkDebugMarkerMarkerInfoEXT* pMarkerInfo --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdDebugMarkerInsertEXT.html vkCmdDebugMarkerInsertEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDebugMarkerInsertEXT.html vkCmdDebugMarkerInsertEXT registry at www.khronos.org> foreign import ccall unsafe "vkCmdDebugMarkerInsertEXT"                vkCmdDebugMarkerInsertEXT ::                VkCommandBuffer -- ^ commandBuffer                                -> Ptr VkDebugMarkerMarkerInfoEXT -- ^ pMarkerInfo                                                                  -> IO () +-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdDebugMarkerInsertEXT+--   >     ( VkCommandBuffer commandBuffer+--   >     , const VkDebugMarkerMarkerInfoEXT* pMarkerInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDebugMarkerInsertEXT.html vkCmdDebugMarkerInsertEXT registry at www.khronos.org>+foreign import ccall safe "vkCmdDebugMarkerInsertEXT"+               vkCmdDebugMarkerInsertEXTSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Ptr VkDebugMarkerMarkerInfoEXT -- ^ pMarkerInfo+                                                                 -> IO ()+ pattern VK_EXT_DEBUG_MARKER_SPEC_VERSION :: (Num a, Eq a) => a  pattern VK_EXT_DEBUG_MARKER_SPEC_VERSION = 4@@ -153,7 +232,7 @@  is_VK_EXT_DEBUG_MARKER_EXTENSION_NAME :: CString -> Bool is_VK_EXT_DEBUG_MARKER_EXTENSION_NAME-  = eqCStrings _VK_EXT_DEBUG_MARKER_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_EXT_DEBUG_MARKER_EXTENSION_NAME  type VK_EXT_DEBUG_MARKER_EXTENSION_NAME = "VK_EXT_debug_marker" 
src-gen/Graphics/Vulkan/Ext/VK_EXT_debug_report.hs view
@@ -30,8 +30,10 @@         module Graphics.Vulkan.Types.Struct.VkInstanceCreateInfo,         module Graphics.Vulkan.Types.Enum.VkStructureType,         -- > #include "vk_platform.h"-        vkCreateDebugReportCallbackEXT, vkDestroyDebugReportCallbackEXT,-        vkDebugReportMessageEXT,+        vkCreateDebugReportCallbackEXT, vkCreateDebugReportCallbackEXTSafe,+        vkDestroyDebugReportCallbackEXT,+        vkDestroyDebugReportCallbackEXTSafe, vkDebugReportMessageEXT,+        vkDebugReportMessageEXTSafe,         module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,         module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,@@ -46,7 +48,9 @@         pattern VK_ERROR_VALIDATION_FAILED_EXT,         pattern VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT,         pattern VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT,-        pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT)+        pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT,+        pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,+        pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT)        where import           GHC.Ptr                                                         (Ptr (..)) import           Graphics.Vulkan.Marshal@@ -77,7 +81,7 @@ --   >     , VkDebugReportCallbackEXT* pCallback --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateDebugReportCallbackEXT.html vkCreateDebugReportCallbackEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDebugReportCallbackEXT.html vkCreateDebugReportCallbackEXT registry at www.khronos.org> foreign import ccall unsafe "vkCreateDebugReportCallbackEXT"                vkCreateDebugReportCallbackEXT ::                VkInstance -- ^ instance@@ -89,13 +93,36 @@                      Ptr VkDebugReportCallbackEXT -- ^ pCallback                                                   -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY'.+--+--   > VkResult vkCreateDebugReportCallbackEXT+--   >     ( VkInstance instance+--   >     , const VkDebugReportCallbackCreateInfoEXT* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkDebugReportCallbackEXT* pCallback+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDebugReportCallbackEXT.html vkCreateDebugReportCallbackEXT registry at www.khronos.org>+foreign import ccall safe "vkCreateDebugReportCallbackEXT"+               vkCreateDebugReportCallbackEXTSafe ::+               VkInstance -- ^ instance+                          ->+                 Ptr VkDebugReportCallbackCreateInfoEXT -- ^ pCreateInfo+                                                        ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             ->+                     Ptr VkDebugReportCallbackEXT -- ^ pCallback+                                                  -> IO VkResult+ -- | > () vkDestroyDebugReportCallbackEXT --   >     ( VkInstance instance --   >     , VkDebugReportCallbackEXT callback --   >     , const VkAllocationCallbacks* pAllocator --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroyDebugReportCallbackEXT.html vkDestroyDebugReportCallbackEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDebugReportCallbackEXT.html vkDestroyDebugReportCallbackEXT registry at www.khronos.org> foreign import ccall unsafe "vkDestroyDebugReportCallbackEXT"                vkDestroyDebugReportCallbackEXT ::                VkInstance -- ^ instance@@ -104,6 +131,21 @@                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator                                                                        -> IO () +-- | > () vkDestroyDebugReportCallbackEXT+--   >     ( VkInstance instance+--   >     , VkDebugReportCallbackEXT callback+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDebugReportCallbackEXT.html vkDestroyDebugReportCallbackEXT registry at www.khronos.org>+foreign import ccall safe "vkDestroyDebugReportCallbackEXT"+               vkDestroyDebugReportCallbackEXTSafe ::+               VkInstance -- ^ instance+                          ->+                 VkDebugReportCallbackEXT -- ^ callback+                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                       -> IO ()+ -- | > () vkDebugReportMessageEXT --   >     ( VkInstance instance --   >     , VkDebugReportFlagsEXT flags@@ -115,7 +157,7 @@ --   >     , const char* pMessage --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDebugReportMessageEXT.html vkDebugReportMessageEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDebugReportMessageEXT.html vkDebugReportMessageEXT registry at www.khronos.org> foreign import ccall unsafe "vkDebugReportMessageEXT"                vkDebugReportMessageEXT ::                VkInstance -- ^ instance@@ -131,6 +173,33 @@                                                          -> CString -- ^ pMessage                                                                     -> IO () +-- | > () vkDebugReportMessageEXT+--   >     ( VkInstance instance+--   >     , VkDebugReportFlagsEXT flags+--   >     , VkDebugReportObjectTypeEXT objectType+--   >     , uint64_t object+--   >     , size_t location+--   >     , int32_t messageCode+--   >     , const char* pLayerPrefix+--   >     , const char* pMessage+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDebugReportMessageEXT.html vkDebugReportMessageEXT registry at www.khronos.org>+foreign import ccall safe "vkDebugReportMessageEXT"+               vkDebugReportMessageEXTSafe ::+               VkInstance -- ^ instance+                          ->+                 VkDebugReportFlagsEXT -- ^ flags+                                       ->+                   VkDebugReportObjectTypeEXT -- ^ objectType+                                              ->+                     Word64 -- ^ object+                            -> CSize -- ^ location+                                     -> Int32 -- ^ messageCode+                                              -> CString -- ^ pLayerPrefix+                                                         -> CString -- ^ pMessage+                                                                    -> IO ()+ pattern VK_EXT_DEBUG_REPORT_SPEC_VERSION :: (Num a, Eq a) => a  pattern VK_EXT_DEBUG_REPORT_SPEC_VERSION = 9@@ -154,7 +223,7 @@  is_VK_EXT_DEBUG_REPORT_EXTENSION_NAME :: CString -> Bool is_VK_EXT_DEBUG_REPORT_EXTENSION_NAME-  = eqCStrings _VK_EXT_DEBUG_REPORT_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_EXT_DEBUG_REPORT_EXTENSION_NAME  type VK_EXT_DEBUG_REPORT_EXTENSION_NAME = "VK_EXT_debug_report" @@ -179,3 +248,15 @@  pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT =         VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT =+        VkDebugReportObjectTypeEXT 1000156000++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT+        :: VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT+        = VkDebugReportObjectTypeEXT 1000085000
+ src-gen/Graphics/Vulkan/Ext/VK_EXT_debug_utils.hs view
@@ -0,0 +1,483 @@+{-# OPTIONS_GHC -fno-warn-unused-imports#-}+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_EXT_debug_utils+       (-- * Vulkan extension: @VK_EXT_debug_utils@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Mark Young @MarkY_LunarG@+        --+        -- author: @EXT@+        --+        -- type: @instance@+        --+        -- Extension number: @129@+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.Struct.VkApplicationInfo,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Struct.VkDebugUtilsLabelEXT,+        module Graphics.Vulkan.Types.Enum.VkDebugUtilsMessageSeverityFlagsEXT,+        module Graphics.Vulkan.Types.Enum.VkDebugUtilsMessageTypeFlagsEXT,+        module Graphics.Vulkan.Types.Struct.VkDebugUtilsMessengerCallbackDataEXT,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkDebugUtilsMessengerCreateInfoEXT,+        module Graphics.Vulkan.Types.Struct.VkDebugUtilsObjectNameInfoEXT,+        module Graphics.Vulkan.Types.Struct.VkDebugUtilsObjectTagInfoEXT,+        module Graphics.Vulkan.Types.Struct.VkInstanceCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkObjectType,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        -- > #include "vk_platform.h"+        vkSetDebugUtilsObjectNameEXT, vkSetDebugUtilsObjectNameEXTSafe,+        vkSetDebugUtilsObjectTagEXT, vkSetDebugUtilsObjectTagEXTSafe,+        vkQueueBeginDebugUtilsLabelEXT, vkQueueBeginDebugUtilsLabelEXTSafe,+        vkQueueEndDebugUtilsLabelEXT, vkQueueEndDebugUtilsLabelEXTSafe,+        vkQueueInsertDebugUtilsLabelEXT,+        vkQueueInsertDebugUtilsLabelEXTSafe, vkCmdBeginDebugUtilsLabelEXT,+        vkCmdBeginDebugUtilsLabelEXTSafe, vkCmdEndDebugUtilsLabelEXT,+        vkCmdEndDebugUtilsLabelEXTSafe, vkCmdInsertDebugUtilsLabelEXT,+        vkCmdInsertDebugUtilsLabelEXTSafe, vkCreateDebugUtilsMessengerEXT,+        vkCreateDebugUtilsMessengerEXTSafe,+        vkDestroyDebugUtilsMessengerEXT,+        vkDestroyDebugUtilsMessengerEXTSafe, vkSubmitDebugUtilsMessageEXT,+        vkSubmitDebugUtilsMessageEXTSafe,+        module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,+        module Graphics.Vulkan.Types.Funcpointers,+        module Graphics.Vulkan.Types.Handles,+        module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,+        VK_EXT_DEBUG_UTILS_SPEC_VERSION,+        pattern VK_EXT_DEBUG_UTILS_SPEC_VERSION,+        VK_EXT_DEBUG_UTILS_EXTENSION_NAME,+        pattern VK_EXT_DEBUG_UTILS_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT,+        pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT,+        pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT,+        pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT,+        pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT,+        pattern VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT)+       where+import           GHC.Ptr+                                                                                    (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Bitmasks+import           Graphics.Vulkan.Types.Enum.VkDebugUtilsMessageSeverityFlagsEXT+import           Graphics.Vulkan.Types.Enum.VkDebugUtilsMessageTypeFlagsEXT+import           Graphics.Vulkan.Types.Enum.VkInternalAllocationType+import           Graphics.Vulkan.Types.Enum.VkObjectType+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Enum.VkSystemAllocationScope+import           Graphics.Vulkan.Types.Funcpointers+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkAllocationCallbacks+import           Graphics.Vulkan.Types.Struct.VkApplicationInfo+import           Graphics.Vulkan.Types.Struct.VkDebugUtilsLabelEXT+import           Graphics.Vulkan.Types.Struct.VkDebugUtilsMessengerCallbackDataEXT+import           Graphics.Vulkan.Types.Struct.VkDebugUtilsMessengerCreateInfoEXT+import           Graphics.Vulkan.Types.Struct.VkDebugUtilsObjectNameInfoEXT+import           Graphics.Vulkan.Types.Struct.VkDebugUtilsObjectTagInfoEXT+import           Graphics.Vulkan.Types.Struct.VkInstanceCreateInfo++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkSetDebugUtilsObjectNameEXT+--   >     ( VkDevice device+--   >     , const VkDebugUtilsObjectNameInfoEXT* pNameInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkSetDebugUtilsObjectNameEXT.html vkSetDebugUtilsObjectNameEXT registry at www.khronos.org>+foreign import ccall unsafe "vkSetDebugUtilsObjectNameEXT"+               vkSetDebugUtilsObjectNameEXT ::+               VkDevice -- ^ device+                        -> Ptr VkDebugUtilsObjectNameInfoEXT -- ^ pNameInfo+                                                             -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkSetDebugUtilsObjectNameEXT+--   >     ( VkDevice device+--   >     , const VkDebugUtilsObjectNameInfoEXT* pNameInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkSetDebugUtilsObjectNameEXT.html vkSetDebugUtilsObjectNameEXT registry at www.khronos.org>+foreign import ccall safe "vkSetDebugUtilsObjectNameEXT"+               vkSetDebugUtilsObjectNameEXTSafe ::+               VkDevice -- ^ device+                        -> Ptr VkDebugUtilsObjectNameInfoEXT -- ^ pNameInfo+                                                             -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkSetDebugUtilsObjectTagEXT+--   >     ( VkDevice device+--   >     , const VkDebugUtilsObjectTagInfoEXT* pTagInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkSetDebugUtilsObjectTagEXT.html vkSetDebugUtilsObjectTagEXT registry at www.khronos.org>+foreign import ccall unsafe "vkSetDebugUtilsObjectTagEXT"+               vkSetDebugUtilsObjectTagEXT ::+               VkDevice -- ^ device+                        -> Ptr VkDebugUtilsObjectTagInfoEXT -- ^ pTagInfo+                                                            -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkSetDebugUtilsObjectTagEXT+--   >     ( VkDevice device+--   >     , const VkDebugUtilsObjectTagInfoEXT* pTagInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkSetDebugUtilsObjectTagEXT.html vkSetDebugUtilsObjectTagEXT registry at www.khronos.org>+foreign import ccall safe "vkSetDebugUtilsObjectTagEXT"+               vkSetDebugUtilsObjectTagEXTSafe ::+               VkDevice -- ^ device+                        -> Ptr VkDebugUtilsObjectTagInfoEXT -- ^ pTagInfo+                                                            -> IO VkResult++-- | > () vkQueueBeginDebugUtilsLabelEXT+--   >     ( VkQueue queue+--   >     , const VkDebugUtilsLabelEXT* pLabelInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueBeginDebugUtilsLabelEXT.html vkQueueBeginDebugUtilsLabelEXT registry at www.khronos.org>+foreign import ccall unsafe "vkQueueBeginDebugUtilsLabelEXT"+               vkQueueBeginDebugUtilsLabelEXT ::+               VkQueue -- ^ queue+                       -> Ptr VkDebugUtilsLabelEXT -- ^ pLabelInfo+                                                   -> IO ()++-- | > () vkQueueBeginDebugUtilsLabelEXT+--   >     ( VkQueue queue+--   >     , const VkDebugUtilsLabelEXT* pLabelInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueBeginDebugUtilsLabelEXT.html vkQueueBeginDebugUtilsLabelEXT registry at www.khronos.org>+foreign import ccall safe "vkQueueBeginDebugUtilsLabelEXT"+               vkQueueBeginDebugUtilsLabelEXTSafe ::+               VkQueue -- ^ queue+                       -> Ptr VkDebugUtilsLabelEXT -- ^ pLabelInfo+                                                   -> IO ()++-- | > () vkQueueEndDebugUtilsLabelEXT+--   >     ( VkQueue queue+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueEndDebugUtilsLabelEXT.html vkQueueEndDebugUtilsLabelEXT registry at www.khronos.org>+foreign import ccall unsafe "vkQueueEndDebugUtilsLabelEXT"+               vkQueueEndDebugUtilsLabelEXT :: VkQueue -- ^ queue+                                                       -> IO ()++-- | > () vkQueueEndDebugUtilsLabelEXT+--   >     ( VkQueue queue+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueEndDebugUtilsLabelEXT.html vkQueueEndDebugUtilsLabelEXT registry at www.khronos.org>+foreign import ccall safe "vkQueueEndDebugUtilsLabelEXT"+               vkQueueEndDebugUtilsLabelEXTSafe :: VkQueue -- ^ queue+                                                           -> IO ()++-- | > () vkQueueInsertDebugUtilsLabelEXT+--   >     ( VkQueue queue+--   >     , const VkDebugUtilsLabelEXT* pLabelInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueInsertDebugUtilsLabelEXT.html vkQueueInsertDebugUtilsLabelEXT registry at www.khronos.org>+foreign import ccall unsafe "vkQueueInsertDebugUtilsLabelEXT"+               vkQueueInsertDebugUtilsLabelEXT ::+               VkQueue -- ^ queue+                       -> Ptr VkDebugUtilsLabelEXT -- ^ pLabelInfo+                                                   -> IO ()++-- | > () vkQueueInsertDebugUtilsLabelEXT+--   >     ( VkQueue queue+--   >     , const VkDebugUtilsLabelEXT* pLabelInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueInsertDebugUtilsLabelEXT.html vkQueueInsertDebugUtilsLabelEXT registry at www.khronos.org>+foreign import ccall safe "vkQueueInsertDebugUtilsLabelEXT"+               vkQueueInsertDebugUtilsLabelEXTSafe ::+               VkQueue -- ^ queue+                       -> Ptr VkDebugUtilsLabelEXT -- ^ pLabelInfo+                                                   -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdBeginDebugUtilsLabelEXT+--   >     ( VkCommandBuffer commandBuffer+--   >     , const VkDebugUtilsLabelEXT* pLabelInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBeginDebugUtilsLabelEXT.html vkCmdBeginDebugUtilsLabelEXT registry at www.khronos.org>+foreign import ccall unsafe "vkCmdBeginDebugUtilsLabelEXT"+               vkCmdBeginDebugUtilsLabelEXT ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Ptr VkDebugUtilsLabelEXT -- ^ pLabelInfo+                                                           -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdBeginDebugUtilsLabelEXT+--   >     ( VkCommandBuffer commandBuffer+--   >     , const VkDebugUtilsLabelEXT* pLabelInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBeginDebugUtilsLabelEXT.html vkCmdBeginDebugUtilsLabelEXT registry at www.khronos.org>+foreign import ccall safe "vkCmdBeginDebugUtilsLabelEXT"+               vkCmdBeginDebugUtilsLabelEXTSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Ptr VkDebugUtilsLabelEXT -- ^ pLabelInfo+                                                           -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdEndDebugUtilsLabelEXT+--   >     ( VkCommandBuffer commandBuffer+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdEndDebugUtilsLabelEXT.html vkCmdEndDebugUtilsLabelEXT registry at www.khronos.org>+foreign import ccall unsafe "vkCmdEndDebugUtilsLabelEXT"+               vkCmdEndDebugUtilsLabelEXT :: VkCommandBuffer -- ^ commandBuffer+                                                             -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdEndDebugUtilsLabelEXT+--   >     ( VkCommandBuffer commandBuffer+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdEndDebugUtilsLabelEXT.html vkCmdEndDebugUtilsLabelEXT registry at www.khronos.org>+foreign import ccall safe "vkCmdEndDebugUtilsLabelEXT"+               vkCmdEndDebugUtilsLabelEXTSafe :: VkCommandBuffer -- ^ commandBuffer+                                                                 -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdInsertDebugUtilsLabelEXT+--   >     ( VkCommandBuffer commandBuffer+--   >     , const VkDebugUtilsLabelEXT* pLabelInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdInsertDebugUtilsLabelEXT.html vkCmdInsertDebugUtilsLabelEXT registry at www.khronos.org>+foreign import ccall unsafe "vkCmdInsertDebugUtilsLabelEXT"+               vkCmdInsertDebugUtilsLabelEXT ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Ptr VkDebugUtilsLabelEXT -- ^ pLabelInfo+                                                           -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdInsertDebugUtilsLabelEXT+--   >     ( VkCommandBuffer commandBuffer+--   >     , const VkDebugUtilsLabelEXT* pLabelInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdInsertDebugUtilsLabelEXT.html vkCmdInsertDebugUtilsLabelEXT registry at www.khronos.org>+foreign import ccall safe "vkCmdInsertDebugUtilsLabelEXT"+               vkCmdInsertDebugUtilsLabelEXTSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Ptr VkDebugUtilsLabelEXT -- ^ pLabelInfo+                                                           -> IO ()++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY'.+--+--   > VkResult vkCreateDebugUtilsMessengerEXT+--   >     ( VkInstance instance+--   >     , const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkDebugUtilsMessengerEXT* pMessenger+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDebugUtilsMessengerEXT.html vkCreateDebugUtilsMessengerEXT registry at www.khronos.org>+foreign import ccall unsafe "vkCreateDebugUtilsMessengerEXT"+               vkCreateDebugUtilsMessengerEXT ::+               VkInstance -- ^ instance+                          ->+                 Ptr VkDebugUtilsMessengerCreateInfoEXT -- ^ pCreateInfo+                                                        ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             ->+                     Ptr VkDebugUtilsMessengerEXT -- ^ pMessenger+                                                  -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY'.+--+--   > VkResult vkCreateDebugUtilsMessengerEXT+--   >     ( VkInstance instance+--   >     , const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkDebugUtilsMessengerEXT* pMessenger+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDebugUtilsMessengerEXT.html vkCreateDebugUtilsMessengerEXT registry at www.khronos.org>+foreign import ccall safe "vkCreateDebugUtilsMessengerEXT"+               vkCreateDebugUtilsMessengerEXTSafe ::+               VkInstance -- ^ instance+                          ->+                 Ptr VkDebugUtilsMessengerCreateInfoEXT -- ^ pCreateInfo+                                                        ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             ->+                     Ptr VkDebugUtilsMessengerEXT -- ^ pMessenger+                                                  -> IO VkResult++-- | > () vkDestroyDebugUtilsMessengerEXT+--   >     ( VkInstance instance+--   >     , VkDebugUtilsMessengerEXT messenger+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDebugUtilsMessengerEXT.html vkDestroyDebugUtilsMessengerEXT registry at www.khronos.org>+foreign import ccall unsafe "vkDestroyDebugUtilsMessengerEXT"+               vkDestroyDebugUtilsMessengerEXT ::+               VkInstance -- ^ instance+                          ->+                 VkDebugUtilsMessengerEXT -- ^ messenger+                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                       -> IO ()++-- | > () vkDestroyDebugUtilsMessengerEXT+--   >     ( VkInstance instance+--   >     , VkDebugUtilsMessengerEXT messenger+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDebugUtilsMessengerEXT.html vkDestroyDebugUtilsMessengerEXT registry at www.khronos.org>+foreign import ccall safe "vkDestroyDebugUtilsMessengerEXT"+               vkDestroyDebugUtilsMessengerEXTSafe ::+               VkInstance -- ^ instance+                          ->+                 VkDebugUtilsMessengerEXT -- ^ messenger+                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                       -> IO ()++-- | > () vkSubmitDebugUtilsMessageEXT+--   >     ( VkInstance instance+--   >     , VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity+--   >     , VkDebugUtilsMessageTypeFlagsEXT messageTypes+--   >     , const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkSubmitDebugUtilsMessageEXT.html vkSubmitDebugUtilsMessageEXT registry at www.khronos.org>+foreign import ccall unsafe "vkSubmitDebugUtilsMessageEXT"+               vkSubmitDebugUtilsMessageEXT ::+               VkInstance -- ^ instance+                          ->+                 VkDebugUtilsMessageSeverityFlagBitsEXT -- ^ messageSeverity+                                                        ->+                   VkDebugUtilsMessageTypeFlagsEXT -- ^ messageTypes+                                                   ->+                     Ptr VkDebugUtilsMessengerCallbackDataEXT -- ^ pCallbackData+                                                              -> IO ()++-- | > () vkSubmitDebugUtilsMessageEXT+--   >     ( VkInstance instance+--   >     , VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity+--   >     , VkDebugUtilsMessageTypeFlagsEXT messageTypes+--   >     , const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkSubmitDebugUtilsMessageEXT.html vkSubmitDebugUtilsMessageEXT registry at www.khronos.org>+foreign import ccall safe "vkSubmitDebugUtilsMessageEXT"+               vkSubmitDebugUtilsMessageEXTSafe ::+               VkInstance -- ^ instance+                          ->+                 VkDebugUtilsMessageSeverityFlagBitsEXT -- ^ messageSeverity+                                                        ->+                   VkDebugUtilsMessageTypeFlagsEXT -- ^ messageTypes+                                                   ->+                     Ptr VkDebugUtilsMessengerCallbackDataEXT -- ^ pCallbackData+                                                              -> IO ()++pattern VK_EXT_DEBUG_UTILS_SPEC_VERSION :: (Num a, Eq a) => a++pattern VK_EXT_DEBUG_UTILS_SPEC_VERSION = 1++type VK_EXT_DEBUG_UTILS_SPEC_VERSION = 1++pattern VK_EXT_DEBUG_UTILS_EXTENSION_NAME :: CString++pattern VK_EXT_DEBUG_UTILS_EXTENSION_NAME <-+        (is_VK_EXT_DEBUG_UTILS_EXTENSION_NAME -> True)+  where VK_EXT_DEBUG_UTILS_EXTENSION_NAME+          = _VK_EXT_DEBUG_UTILS_EXTENSION_NAME++{-# INLINE _VK_EXT_DEBUG_UTILS_EXTENSION_NAME #-}++_VK_EXT_DEBUG_UTILS_EXTENSION_NAME :: CString+_VK_EXT_DEBUG_UTILS_EXTENSION_NAME = Ptr "VK_EXT_debug_utils\NUL"#++{-# INLINE is_VK_EXT_DEBUG_UTILS_EXTENSION_NAME #-}++is_VK_EXT_DEBUG_UTILS_EXTENSION_NAME :: CString -> Bool+is_VK_EXT_DEBUG_UTILS_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_EXT_DEBUG_UTILS_EXTENSION_NAME++type VK_EXT_DEBUG_UTILS_EXTENSION_NAME = "VK_EXT_debug_utils"++pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT =+        VkStructureType 1000128000++pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT =+        VkStructureType 1000128001++pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: VkStructureType++pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT =+        VkStructureType 1000128002++pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT =+        VkStructureType 1000128003++pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT =+        VkStructureType 1000128004++-- | VkDebugUtilsMessengerEXT+pattern VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT :: VkObjectType++pattern VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT =+        VkObjectType 1000128000
src-gen/Graphics/Vulkan/Ext/VK_EXT_depth_range_unrestricted.hs view
@@ -50,7 +50,8 @@ is_VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME ::                                                   CString -> Bool is_VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME-  = eqCStrings _VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME  type VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME =      "VK_EXT_depth_range_unrestricted"
src-gen/Graphics/Vulkan/Ext/VK_EXT_direct_mode_display.hs view
@@ -23,7 +23,8 @@         --          -- ** Required extensions: 'VK_KHR_display'.-        vkReleaseDisplayEXT, module Graphics.Vulkan.Types.Enum.VkResult,+        vkReleaseDisplayEXT, vkReleaseDisplayEXTSafe,+        module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Handles,         VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION,         pattern VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION,@@ -42,13 +43,27 @@ --   >     , VkDisplayKHR display --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkReleaseDisplayEXT.html vkReleaseDisplayEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkReleaseDisplayEXT.html vkReleaseDisplayEXT registry at www.khronos.org> foreign import ccall unsafe "vkReleaseDisplayEXT"                vkReleaseDisplayEXT ::                VkPhysicalDevice -- ^ physicalDevice                                 -> VkDisplayKHR -- ^ display                                                 -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   > VkResult vkReleaseDisplayEXT+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkDisplayKHR display+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkReleaseDisplayEXT.html vkReleaseDisplayEXT registry at www.khronos.org>+foreign import ccall safe "vkReleaseDisplayEXT"+               vkReleaseDisplayEXTSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> VkDisplayKHR -- ^ display+                                                -> IO VkResult+ pattern VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION :: (Num a, Eq a) =>         a @@ -73,7 +88,7 @@  is_VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME :: CString -> Bool is_VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME-  = eqCStrings _VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME  type VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME =      "VK_EXT_direct_mode_display"
src-gen/Graphics/Vulkan/Ext/VK_EXT_discard_rectangles.hs view
@@ -41,7 +41,7 @@         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceDiscardRectanglePropertiesEXT,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,         module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,         module Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAttachmentState,@@ -73,7 +73,8 @@         module Graphics.Vulkan.Types.Enum.VkVertexInputRate,         module Graphics.Vulkan.Types.Struct.VkViewport,         -- > #include "vk_platform.h"-        vkCmdSetDiscardRectangleEXT, module Graphics.Vulkan.Types.Handles,+        vkCmdSetDiscardRectangleEXT, vkCmdSetDiscardRectangleEXTSafe,+        module Graphics.Vulkan.Types.Handles,         VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION,         pattern VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION,         VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME,@@ -113,7 +114,7 @@ import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceDiscardRectanglePropertiesEXT import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2 import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties import           Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAttachmentState import           Graphics.Vulkan.Types.Struct.VkPipelineColorBlendStateCreateInfo@@ -146,7 +147,7 @@ --   >     , const VkRect2D* pDiscardRectangles --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdSetDiscardRectangleEXT.html vkCmdSetDiscardRectangleEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetDiscardRectangleEXT.html vkCmdSetDiscardRectangleEXT registry at www.khronos.org> foreign import ccall unsafe "vkCmdSetDiscardRectangleEXT"                vkCmdSetDiscardRectangleEXT ::                VkCommandBuffer -- ^ commandBuffer@@ -155,6 +156,26 @@                                                    -> Ptr VkRect2D -- ^ pDiscardRectangles                                                                    -> IO () +-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetDiscardRectangleEXT+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t firstDiscardRectangle+--   >     , uint32_t discardRectangleCount+--   >     , const VkRect2D* pDiscardRectangles+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetDiscardRectangleEXT.html vkCmdSetDiscardRectangleEXT registry at www.khronos.org>+foreign import ccall safe "vkCmdSetDiscardRectangleEXT"+               vkCmdSetDiscardRectangleEXTSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Word32 -- ^ firstDiscardRectangle+                                         -> Word32 -- ^ discardRectangleCount+                                                   -> Ptr VkRect2D -- ^ pDiscardRectangles+                                                                   -> IO ()+ pattern VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION :: (Num a, Eq a) =>         a @@ -179,7 +200,7 @@  is_VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME :: CString -> Bool is_VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME-  = eqCStrings _VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME  type VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME =      "VK_EXT_discard_rectangles"
src-gen/Graphics/Vulkan/Ext/VK_EXT_display_control.hs view
@@ -45,8 +45,10 @@         module Graphics.Vulkan.Types.Enum.VkSwapchainCreateFlagsKHR,         module Graphics.Vulkan.Types.Struct.VkSwapchainCreateInfoKHR,         -- > #include "vk_platform.h"-        vkDisplayPowerControlEXT, vkRegisterDeviceEventEXT,-        vkRegisterDisplayEventEXT, vkGetSwapchainCounterEXT,+        vkDisplayPowerControlEXT, vkDisplayPowerControlEXTSafe,+        vkRegisterDeviceEventEXT, vkRegisterDeviceEventEXTSafe,+        vkRegisterDisplayEventEXT, vkRegisterDisplayEventEXTSafe,+        vkGetSwapchainCounterEXT, vkGetSwapchainCounterEXTSafe,         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,         module Graphics.Vulkan.Types.Enum.VkResult,@@ -100,7 +102,7 @@ --   >     , const VkDisplayPowerInfoEXT* pDisplayPowerInfo --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDisplayPowerControlEXT.html vkDisplayPowerControlEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDisplayPowerControlEXT.html vkDisplayPowerControlEXT registry at www.khronos.org> foreign import ccall unsafe "vkDisplayPowerControlEXT"                vkDisplayPowerControlEXT ::                VkDevice -- ^ device@@ -111,6 +113,23 @@  -- | Success codes: 'VK_SUCCESS'. --+--   > VkResult vkDisplayPowerControlEXT+--   >     ( VkDevice device+--   >     , VkDisplayKHR display+--   >     , const VkDisplayPowerInfoEXT* pDisplayPowerInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDisplayPowerControlEXT.html vkDisplayPowerControlEXT registry at www.khronos.org>+foreign import ccall safe "vkDisplayPowerControlEXT"+               vkDisplayPowerControlEXTSafe ::+               VkDevice -- ^ device+                        ->+                 VkDisplayKHR -- ^ display+                              -> Ptr VkDisplayPowerInfoEXT -- ^ pDisplayPowerInfo+                                                           -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+-- --   > VkResult vkRegisterDeviceEventEXT --   >     ( VkDevice device --   >     , const VkDeviceEventInfoEXT* pDeviceEventInfo@@ -118,7 +137,7 @@ --   >     , VkFence* pFence --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkRegisterDeviceEventEXT.html vkRegisterDeviceEventEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkRegisterDeviceEventEXT.html vkRegisterDeviceEventEXT registry at www.khronos.org> foreign import ccall unsafe "vkRegisterDeviceEventEXT"                vkRegisterDeviceEventEXT ::                VkDevice -- ^ device@@ -131,6 +150,26 @@  -- | Success codes: 'VK_SUCCESS'. --+--   > VkResult vkRegisterDeviceEventEXT+--   >     ( VkDevice device+--   >     , const VkDeviceEventInfoEXT* pDeviceEventInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkFence* pFence+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkRegisterDeviceEventEXT.html vkRegisterDeviceEventEXT registry at www.khronos.org>+foreign import ccall safe "vkRegisterDeviceEventEXT"+               vkRegisterDeviceEventEXTSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDeviceEventInfoEXT -- ^ pDeviceEventInfo+                                          ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkFence -- ^ pFence+                                                            -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+-- --   > VkResult vkRegisterDisplayEventEXT --   >     ( VkDevice device --   >     , VkDisplayKHR display@@ -139,7 +178,7 @@ --   >     , VkFence* pFence --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkRegisterDisplayEventEXT.html vkRegisterDisplayEventEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkRegisterDisplayEventEXT.html vkRegisterDisplayEventEXT registry at www.khronos.org> foreign import ccall unsafe "vkRegisterDisplayEventEXT"                vkRegisterDisplayEventEXT ::                VkDevice -- ^ device@@ -152,8 +191,33 @@                                                -> Ptr VkFence -- ^ pFence                                                               -> IO VkResult --- | Success codes: 'VK_SUCCESS', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR'.+-- | Success codes: 'VK_SUCCESS'. --+--   > VkResult vkRegisterDisplayEventEXT+--   >     ( VkDevice device+--   >     , VkDisplayKHR display+--   >     , const VkDisplayEventInfoEXT* pDisplayEventInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkFence* pFence+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkRegisterDisplayEventEXT.html vkRegisterDisplayEventEXT registry at www.khronos.org>+foreign import ccall safe "vkRegisterDisplayEventEXT"+               vkRegisterDisplayEventEXTSafe ::+               VkDevice -- ^ device+                        ->+                 VkDisplayKHR -- ^ display+                              ->+                   Ptr VkDisplayEventInfoEXT -- ^ pDisplayEventInfo+                                             ->+                     Ptr VkAllocationCallbacks -- ^ pAllocator+                                               -> Ptr VkFence -- ^ pFence+                                                              -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR'.+-- --   > VkResult vkGetSwapchainCounterEXT --   >     ( VkDevice device --   >     , VkSwapchainKHR swapchain@@ -161,7 +225,7 @@ --   >     , uint64_t* pCounterValue --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetSwapchainCounterEXT.html vkGetSwapchainCounterEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetSwapchainCounterEXT.html vkGetSwapchainCounterEXT registry at www.khronos.org> foreign import ccall unsafe "vkGetSwapchainCounterEXT"                vkGetSwapchainCounterEXT ::                VkDevice -- ^ device@@ -172,6 +236,28 @@                                                -> Ptr Word64 -- ^ pCounterValue                                                              -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR'.+--+--   > VkResult vkGetSwapchainCounterEXT+--   >     ( VkDevice device+--   >     , VkSwapchainKHR swapchain+--   >     , VkSurfaceCounterFlagBitsEXT counter+--   >     , uint64_t* pCounterValue+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetSwapchainCounterEXT.html vkGetSwapchainCounterEXT registry at www.khronos.org>+foreign import ccall safe "vkGetSwapchainCounterEXT"+               vkGetSwapchainCounterEXTSafe ::+               VkDevice -- ^ device+                        ->+                 VkSwapchainKHR -- ^ swapchain+                                ->+                   VkSurfaceCounterFlagBitsEXT -- ^ counter+                                               -> Ptr Word64 -- ^ pCounterValue+                                                             -> IO VkResult+ pattern VK_EXT_DISPLAY_CONTROL_SPEC_VERSION :: (Num a, Eq a) => a  pattern VK_EXT_DISPLAY_CONTROL_SPEC_VERSION = 1@@ -195,7 +281,7 @@  is_VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME :: CString -> Bool is_VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME-  = eqCStrings _VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME  type VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME =      "VK_EXT_display_control"
src-gen/Graphics/Vulkan/Ext/VK_EXT_display_surface_counter.hs view
@@ -34,6 +34,7 @@         module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR,         -- > #include "vk_platform.h"         vkGetPhysicalDeviceSurfaceCapabilities2EXT,+        vkGetPhysicalDeviceSurfaceCapabilities2EXTSafe,         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Handles,@@ -67,7 +68,7 @@ --   >     , VkSurfaceCapabilities2EXT* pSurfaceCapabilities --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceSurfaceCapabilities2EXT.html vkGetPhysicalDeviceSurfaceCapabilities2EXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceCapabilities2EXT.html vkGetPhysicalDeviceSurfaceCapabilities2EXT registry at www.khronos.org> foreign import ccall unsafe                "vkGetPhysicalDeviceSurfaceCapabilities2EXT"                vkGetPhysicalDeviceSurfaceCapabilities2EXT ::@@ -77,6 +78,26 @@                               -> Ptr VkSurfaceCapabilities2EXT -- ^ pSurfaceCapabilities                                                                -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+--   > VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkSurfaceKHR surface+--   >     , VkSurfaceCapabilities2EXT* pSurfaceCapabilities+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceCapabilities2EXT.html vkGetPhysicalDeviceSurfaceCapabilities2EXT registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceSurfaceCapabilities2EXT"+               vkGetPhysicalDeviceSurfaceCapabilities2EXTSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 VkSurfaceKHR -- ^ surface+                              -> Ptr VkSurfaceCapabilities2EXT -- ^ pSurfaceCapabilities+                                                               -> IO VkResult+ pattern VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION ::         (Num a, Eq a) => a @@ -101,7 +122,8 @@  is_VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME :: CString -> Bool is_VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME-  = eqCStrings _VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME  type VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME =      "VK_EXT_display_surface_counter"
src-gen/Graphics/Vulkan/Ext/VK_EXT_external_memory_dma_buf.hs view
@@ -28,10 +28,10 @@         pattern VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME,         pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT)        where-import           GHC.Ptr                                                       (Ptr (..))+import           GHC.Ptr                                                    (Ptr (..)) import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsKHR (VkExternalMemoryHandleTypeBitmaskKHR (..),-                                                                                VkExternalMemoryHandleTypeFlagBitsKHR)+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags (VkExternalMemoryHandleTypeBitmask (..),+                                                                             VkExternalMemoryHandleTypeFlagBits)  pattern VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION ::         (Num a, Eq a) => a@@ -57,14 +57,15 @@  is_VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME :: CString -> Bool is_VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME-  = eqCStrings _VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME  type VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME =      "VK_EXT_external_memory_dma_buf"  -- | bitpos = @9@ pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT ::-        VkExternalMemoryHandleTypeFlagBitsKHR+        VkExternalMemoryHandleTypeFlagBits  pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT =-        VkExternalMemoryHandleTypeFlagBitsKHR 512+        VkExternalMemoryHandleTypeFlagBits 512
src-gen/Graphics/Vulkan/Ext/VK_EXT_external_memory_host.hs view
@@ -26,20 +26,23 @@         -- ** Required extensions: 'VK_KHR_external_memory'.         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsKHR,+        module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags,+        module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagBitsKHR,+        module Graphics.Vulkan.Types.Bitmasks,         module Graphics.Vulkan.Types.Struct.VkImportMemoryHostPointerInfoEXT,         module Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo,         module Graphics.Vulkan.Types.Struct.VkMemoryHostPointerPropertiesEXT,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalMemoryHostPropertiesEXT,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,         module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,         module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,         module Graphics.Vulkan.Types.Enum.VkStructureType,         -- > #include "vk_platform.h"         vkGetMemoryHostPointerPropertiesEXT,+        vkGetMemoryHostPointerPropertiesEXTSafe,         module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Handles,         VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION,@@ -56,7 +59,9 @@                                                                                                (Ptr (..)) import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Types.BaseTypes-import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsKHR+import           Graphics.Vulkan.Types.Bitmasks+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagBitsKHR+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags import           Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType import           Graphics.Vulkan.Types.Enum.VkResult import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags@@ -68,31 +73,53 @@ import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalMemoryHostPropertiesEXT import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2 import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties  -- | Success codes: 'VK_SUCCESS'. -----   Error codes: 'VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR'.+--   Error codes: 'VK_ERROR_INVALID_EXTERNAL_HANDLE'. -- --   > VkResult vkGetMemoryHostPointerPropertiesEXT --   >     ( VkDevice device---   >     , VkExternalMemoryHandleTypeFlagBitsKHR handleType+--   >     , VkExternalMemoryHandleTypeFlagBits handleType --   >     , const void* pHostPointer --   >     , VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetMemoryHostPointerPropertiesEXT.html vkGetMemoryHostPointerPropertiesEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryHostPointerPropertiesEXT.html vkGetMemoryHostPointerPropertiesEXT registry at www.khronos.org> foreign import ccall unsafe "vkGetMemoryHostPointerPropertiesEXT"                vkGetMemoryHostPointerPropertiesEXT ::                VkDevice -- ^ device                         ->-                 VkExternalMemoryHandleTypeFlagBitsKHR -- ^ handleType-                                                       ->+                 VkExternalMemoryHandleTypeFlagBits -- ^ handleType+                                                    ->                    Ptr Void -- ^ pHostPointer                             -> Ptr VkMemoryHostPointerPropertiesEXT -- ^ pMemoryHostPointerProperties                                                                     -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.+--+--   > VkResult vkGetMemoryHostPointerPropertiesEXT+--   >     ( VkDevice device+--   >     , VkExternalMemoryHandleTypeFlagBits handleType+--   >     , const void* pHostPointer+--   >     , VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryHostPointerPropertiesEXT.html vkGetMemoryHostPointerPropertiesEXT registry at www.khronos.org>+foreign import ccall safe "vkGetMemoryHostPointerPropertiesEXT"+               vkGetMemoryHostPointerPropertiesEXTSafe ::+               VkDevice -- ^ device+                        ->+                 VkExternalMemoryHandleTypeFlagBits -- ^ handleType+                                                    ->+                   Ptr Void -- ^ pHostPointer+                            -> Ptr VkMemoryHostPointerPropertiesEXT -- ^ pMemoryHostPointerProperties+                                                                    -> IO VkResult+ pattern VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION ::         (Num a, Eq a) => a @@ -117,7 +144,7 @@  is_VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME :: CString -> Bool is_VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME-  = eqCStrings _VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME  type VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME =      "VK_EXT_external_memory_host"@@ -142,14 +169,14 @@  -- | bitpos = @7@ pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT ::-        VkExternalMemoryHandleTypeFlagBitsKHR+        VkExternalMemoryHandleTypeFlagBits  pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT =-        VkExternalMemoryHandleTypeFlagBitsKHR 128+        VkExternalMemoryHandleTypeFlagBits 128  -- | bitpos = @8@ pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT-        :: VkExternalMemoryHandleTypeFlagBitsKHR+        :: VkExternalMemoryHandleTypeFlagBits  pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT-        = VkExternalMemoryHandleTypeFlagBitsKHR 256+        = VkExternalMemoryHandleTypeFlagBits 256
src-gen/Graphics/Vulkan/Ext/VK_EXT_global_priority.hs view
@@ -17,7 +17,7 @@         -- type: @device@         --         -- Extension number: @175@-        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags,         module Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo,         module Graphics.Vulkan.Types.Struct.VkDeviceQueueGlobalPriorityCreateInfoEXT,         module Graphics.Vulkan.Types.BaseTypes,@@ -35,7 +35,7 @@                                                                                         (Ptr (..)) import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Types.BaseTypes-import           Graphics.Vulkan.Types.Bitmasks+import           Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags import           Graphics.Vulkan.Types.Enum.VkQueueGlobalPriorityEXT import           Graphics.Vulkan.Types.Enum.VkResult                                                                                         (VkResult (..))@@ -66,7 +66,7 @@  is_VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME :: CString -> Bool is_VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME-  = eqCStrings _VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME  type VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME =      "VK_EXT_global_priority"
src-gen/Graphics/Vulkan/Ext/VK_EXT_hdr_metadata.hs view
@@ -27,7 +27,8 @@         module Graphics.Vulkan.Types.Enum.VkStructureType,         module Graphics.Vulkan.Types.Struct.VkXYColorEXT,         -- > #include "vk_platform.h"-        vkSetHdrMetadataEXT, module Graphics.Vulkan.Types.Handles,+        vkSetHdrMetadataEXT, vkSetHdrMetadataEXTSafe,+        module Graphics.Vulkan.Types.Handles,         VK_EXT_HDR_METADATA_SPEC_VERSION,         pattern VK_EXT_HDR_METADATA_SPEC_VERSION,         VK_EXT_HDR_METADATA_EXTENSION_NAME,@@ -48,7 +49,7 @@ --   >     , const VkHdrMetadataEXT* pMetadata --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkSetHdrMetadataEXT.html vkSetHdrMetadataEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkSetHdrMetadataEXT.html vkSetHdrMetadataEXT registry at www.khronos.org> foreign import ccall unsafe "vkSetHdrMetadataEXT"                vkSetHdrMetadataEXT ::                VkDevice -- ^ device@@ -58,6 +59,23 @@                                               -> Ptr VkHdrMetadataEXT -- ^ pMetadata                                                                       -> IO () +-- | > () vkSetHdrMetadataEXT+--   >     ( VkDevice device+--   >     , uint32_t swapchainCount+--   >     , const VkSwapchainKHR* pSwapchains+--   >     , const VkHdrMetadataEXT* pMetadata+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkSetHdrMetadataEXT.html vkSetHdrMetadataEXT registry at www.khronos.org>+foreign import ccall safe "vkSetHdrMetadataEXT"+               vkSetHdrMetadataEXTSafe ::+               VkDevice -- ^ device+                        ->+                 Word32 -- ^ swapchainCount+                        -> Ptr VkSwapchainKHR -- ^ pSwapchains+                                              -> Ptr VkHdrMetadataEXT -- ^ pMetadata+                                                                      -> IO ()+ pattern VK_EXT_HDR_METADATA_SPEC_VERSION :: (Num a, Eq a) => a  pattern VK_EXT_HDR_METADATA_SPEC_VERSION = 1@@ -81,7 +99,7 @@  is_VK_EXT_HDR_METADATA_EXTENSION_NAME :: CString -> Bool is_VK_EXT_HDR_METADATA_EXTENSION_NAME-  = eqCStrings _VK_EXT_HDR_METADATA_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_EXT_HDR_METADATA_EXTENSION_NAME  type VK_EXT_HDR_METADATA_EXTENSION_NAME = "VK_EXT_hdr_metadata" 
src-gen/Graphics/Vulkan/Ext/VK_EXT_post_depth_coverage.hs view
@@ -49,7 +49,7 @@  is_VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME :: CString -> Bool is_VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME-  = eqCStrings _VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME  type VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME =      "VK_EXT_post_depth_coverage"
src-gen/Graphics/Vulkan/Ext/VK_EXT_queue_family_foreign.hs view
@@ -26,11 +26,10 @@         pattern VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION,         VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME,         pattern VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME,-        pattern VK_QUEUE_FAMILY_FOREIGN_EXT, VK_QUEUE_FAMILY_FOREIGN_EXT)+        pattern VK_QUEUE_FAMILY_FOREIGN_EXT)        where import           GHC.Ptr                   (Ptr (..))-import           Graphics.Vulkan.Constants (VK_QUEUE_FAMILY_FOREIGN_EXT,-                                            pattern VK_QUEUE_FAMILY_FOREIGN_EXT)+import           Graphics.Vulkan.Constants (pattern VK_QUEUE_FAMILY_FOREIGN_EXT) import           Graphics.Vulkan.Marshal  pattern VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION ::@@ -57,7 +56,7 @@  is_VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME :: CString -> Bool is_VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME-  = eqCStrings _VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME  type VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME =      "VK_EXT_queue_family_foreign"
src-gen/Graphics/Vulkan/Ext/VK_EXT_sample_locations.hs view
@@ -35,7 +35,7 @@         module Graphics.Vulkan.Types.Struct.VkOffset2D,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSampleLocationsPropertiesEXT,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,         module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,@@ -51,8 +51,9 @@         module Graphics.Vulkan.Types.Enum.VkStructureType,         module Graphics.Vulkan.Types.Struct.VkSubpassSampleLocationsEXT,         -- > #include "vk_platform.h"-        vkCmdSetSampleLocationsEXT,+        vkCmdSetSampleLocationsEXT, vkCmdSetSampleLocationsEXTSafe,         vkGetPhysicalDeviceMultisamplePropertiesEXT,+        vkGetPhysicalDeviceMultisamplePropertiesEXTSafe,         module Graphics.Vulkan.Types.Handles,         VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION,         pattern VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION,@@ -94,7 +95,7 @@ import           Graphics.Vulkan.Types.Struct.VkOffset2D import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2 import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSampleLocationsPropertiesEXT import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties import           Graphics.Vulkan.Types.Struct.VkPipelineMultisampleStateCreateInfo@@ -115,20 +116,36 @@ --   >     , const VkSampleLocationsInfoEXT* pSampleLocationsInfo --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdSetSampleLocationsEXT.html vkCmdSetSampleLocationsEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetSampleLocationsEXT.html vkCmdSetSampleLocationsEXT registry at www.khronos.org> foreign import ccall unsafe "vkCmdSetSampleLocationsEXT"                vkCmdSetSampleLocationsEXT ::                VkCommandBuffer -- ^ commandBuffer                                -> Ptr VkSampleLocationsInfoEXT -- ^ pSampleLocationsInfo                                                                -> IO () +-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetSampleLocationsEXT+--   >     ( VkCommandBuffer commandBuffer+--   >     , const VkSampleLocationsInfoEXT* pSampleLocationsInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetSampleLocationsEXT.html vkCmdSetSampleLocationsEXT registry at www.khronos.org>+foreign import ccall safe "vkCmdSetSampleLocationsEXT"+               vkCmdSetSampleLocationsEXTSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Ptr VkSampleLocationsInfoEXT -- ^ pSampleLocationsInfo+                                                               -> IO ()+ -- | > () vkGetPhysicalDeviceMultisamplePropertiesEXT --   >     ( VkPhysicalDevice physicalDevice --   >     , VkSampleCountFlagBits samples --   >     , VkMultisamplePropertiesEXT* pMultisampleProperties --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceMultisamplePropertiesEXT.html vkGetPhysicalDeviceMultisamplePropertiesEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceMultisamplePropertiesEXT.html vkGetPhysicalDeviceMultisamplePropertiesEXT registry at www.khronos.org> foreign import ccall unsafe                "vkGetPhysicalDeviceMultisamplePropertiesEXT"                vkGetPhysicalDeviceMultisamplePropertiesEXT ::@@ -138,6 +155,22 @@                                        -> Ptr VkMultisamplePropertiesEXT -- ^ pMultisampleProperties                                                                          -> IO () +-- | > () vkGetPhysicalDeviceMultisamplePropertiesEXT+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkSampleCountFlagBits samples+--   >     , VkMultisamplePropertiesEXT* pMultisampleProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceMultisamplePropertiesEXT.html vkGetPhysicalDeviceMultisamplePropertiesEXT registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceMultisamplePropertiesEXT"+               vkGetPhysicalDeviceMultisamplePropertiesEXTSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 VkSampleCountFlagBits -- ^ samples+                                       -> Ptr VkMultisamplePropertiesEXT -- ^ pMultisampleProperties+                                                                         -> IO ()+ pattern VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION :: (Num a, Eq a) => a  pattern VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION = 1@@ -161,7 +194,7 @@  is_VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME :: CString -> Bool is_VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME-  = eqCStrings _VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME  type VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME =      "VK_EXT_sample_locations"
src-gen/Graphics/Vulkan/Ext/VK_EXT_sampler_filter_minmax.hs view
@@ -29,7 +29,7 @@         module Graphics.Vulkan.Types.Enum.VkFilter,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,         module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,@@ -69,7 +69,7 @@ import           Graphics.Vulkan.Types.Enum.VkStructureType import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2 import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties import           Graphics.Vulkan.Types.Struct.VkSamplerCreateInfo@@ -99,7 +99,8 @@  is_VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME :: CString -> Bool is_VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME-  = eqCStrings _VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME  type VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME =      "VK_EXT_sampler_filter_minmax"
src-gen/Graphics/Vulkan/Ext/VK_EXT_shader_stencil_export.hs view
@@ -49,7 +49,8 @@  is_VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME :: CString -> Bool is_VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME-  = eqCStrings _VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME  type VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME =      "VK_EXT_shader_stencil_export"
src-gen/Graphics/Vulkan/Ext/VK_EXT_shader_subgroup_ballot.hs view
@@ -49,7 +49,8 @@  is_VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME :: CString -> Bool is_VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME-  = eqCStrings _VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME  type VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME =      "VK_EXT_shader_subgroup_ballot"
src-gen/Graphics/Vulkan/Ext/VK_EXT_shader_subgroup_vote.hs view
@@ -49,7 +49,7 @@  is_VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME :: CString -> Bool is_VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME-  = eqCStrings _VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME  type VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME =      "VK_EXT_shader_subgroup_vote"
src-gen/Graphics/Vulkan/Ext/VK_EXT_shader_viewport_index_layer.hs view
@@ -51,7 +51,8 @@ is_VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME ::                                                      CString -> Bool is_VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME-  = eqCStrings _VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME  type VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME =      "VK_EXT_shader_viewport_index_layer"
src-gen/Graphics/Vulkan/Ext/VK_EXT_swapchain_colorspace.hs view
@@ -69,7 +69,8 @@  is_VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME :: CString -> Bool is_VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME-  = eqCStrings _VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME  type VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME =      "VK_EXT_swapchain_colorspace"
src-gen/Graphics/Vulkan/Ext/VK_EXT_validation_cache.hs view
@@ -28,8 +28,10 @@         module Graphics.Vulkan.Types.Struct.VkValidationCacheCreateInfoEXT,         module Graphics.Vulkan.Types.Enum.VkValidationCacheHeaderVersionEXT,         -- > #include "vk_platform.h"-        vkCreateValidationCacheEXT, vkDestroyValidationCacheEXT,-        vkMergeValidationCachesEXT, vkGetValidationCacheDataEXT,+        vkCreateValidationCacheEXT, vkCreateValidationCacheEXTSafe,+        vkDestroyValidationCacheEXT, vkDestroyValidationCacheEXTSafe,+        vkMergeValidationCachesEXT, vkMergeValidationCachesEXTSafe,+        vkGetValidationCacheDataEXT, vkGetValidationCacheDataEXTSafe,         module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,         module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,@@ -77,7 +79,7 @@ --   >     , VkValidationCacheEXT* pValidationCache --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateValidationCacheEXT.html vkCreateValidationCacheEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateValidationCacheEXT.html vkCreateValidationCacheEXT registry at www.khronos.org> foreign import ccall unsafe "vkCreateValidationCacheEXT"                vkCreateValidationCacheEXT ::                VkDevice -- ^ device@@ -89,13 +91,36 @@                      Ptr VkValidationCacheEXT -- ^ pValidationCache                                               -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY'.+--+--   > VkResult vkCreateValidationCacheEXT+--   >     ( VkDevice device+--   >     , const VkValidationCacheCreateInfoEXT* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkValidationCacheEXT* pValidationCache+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateValidationCacheEXT.html vkCreateValidationCacheEXT registry at www.khronos.org>+foreign import ccall safe "vkCreateValidationCacheEXT"+               vkCreateValidationCacheEXTSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkValidationCacheCreateInfoEXT -- ^ pCreateInfo+                                                    ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             ->+                     Ptr VkValidationCacheEXT -- ^ pValidationCache+                                              -> IO VkResult+ -- | > () vkDestroyValidationCacheEXT --   >     ( VkDevice device --   >     , VkValidationCacheEXT validationCache --   >     , const VkAllocationCallbacks* pAllocator --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroyValidationCacheEXT.html vkDestroyValidationCacheEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyValidationCacheEXT.html vkDestroyValidationCacheEXT registry at www.khronos.org> foreign import ccall unsafe "vkDestroyValidationCacheEXT"                vkDestroyValidationCacheEXT ::                VkDevice -- ^ device@@ -104,6 +129,21 @@                                       -> Ptr VkAllocationCallbacks -- ^ pAllocator                                                                    -> IO () +-- | > () vkDestroyValidationCacheEXT+--   >     ( VkDevice device+--   >     , VkValidationCacheEXT validationCache+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyValidationCacheEXT.html vkDestroyValidationCacheEXT registry at www.khronos.org>+foreign import ccall safe "vkDestroyValidationCacheEXT"+               vkDestroyValidationCacheEXTSafe ::+               VkDevice -- ^ device+                        ->+                 VkValidationCacheEXT -- ^ validationCache+                                      -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                   -> IO ()+ -- | Success codes: 'VK_SUCCESS'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -115,7 +155,7 @@ --   >     , const VkValidationCacheEXT* pSrcCaches --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkMergeValidationCachesEXT.html vkMergeValidationCachesEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkMergeValidationCachesEXT.html vkMergeValidationCachesEXT registry at www.khronos.org> foreign import ccall unsafe "vkMergeValidationCachesEXT"                vkMergeValidationCachesEXT ::                VkDevice -- ^ device@@ -126,6 +166,28 @@                           -> Ptr VkValidationCacheEXT -- ^ pSrcCaches                                                       -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkMergeValidationCachesEXT+--   >     ( VkDevice device+--   >     , VkValidationCacheEXT dstCache+--   >     , uint32_t srcCacheCount+--   >     , const VkValidationCacheEXT* pSrcCaches+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkMergeValidationCachesEXT.html vkMergeValidationCachesEXT registry at www.khronos.org>+foreign import ccall safe "vkMergeValidationCachesEXT"+               vkMergeValidationCachesEXTSafe ::+               VkDevice -- ^ device+                        ->+                 VkValidationCacheEXT -- ^ dstCache+                                      ->+                   Word32 -- ^ srcCacheCount+                          -> Ptr VkValidationCacheEXT -- ^ pSrcCaches+                                                      -> IO VkResult+ -- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -137,7 +199,7 @@ --   >     , void* pData --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetValidationCacheDataEXT.html vkGetValidationCacheDataEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetValidationCacheDataEXT.html vkGetValidationCacheDataEXT registry at www.khronos.org> foreign import ccall unsafe "vkGetValidationCacheDataEXT"                vkGetValidationCacheDataEXT ::                VkDevice -- ^ device@@ -147,6 +209,27 @@                                                    -> Ptr Void -- ^ pData                                                                -> IO VkResult +-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkGetValidationCacheDataEXT+--   >     ( VkDevice device+--   >     , VkValidationCacheEXT validationCache+--   >     , size_t* pDataSize+--   >     , void* pData+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetValidationCacheDataEXT.html vkGetValidationCacheDataEXT registry at www.khronos.org>+foreign import ccall safe "vkGetValidationCacheDataEXT"+               vkGetValidationCacheDataEXTSafe ::+               VkDevice -- ^ device+                        ->+                 VkValidationCacheEXT -- ^ validationCache+                                      -> Ptr CSize -- ^ pDataSize+                                                   -> Ptr Void -- ^ pData+                                                               -> IO VkResult+ pattern VK_EXT_VALIDATION_CACHE_SPEC_VERSION :: (Num a, Eq a) => a  pattern VK_EXT_VALIDATION_CACHE_SPEC_VERSION = 1@@ -170,7 +253,7 @@  is_VK_EXT_VALIDATION_CACHE_EXTENSION_NAME :: CString -> Bool is_VK_EXT_VALIDATION_CACHE_EXTENSION_NAME-  = eqCStrings _VK_EXT_VALIDATION_CACHE_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_EXT_VALIDATION_CACHE_EXTENSION_NAME  type VK_EXT_VALIDATION_CACHE_EXTENSION_NAME =      "VK_EXT_validation_cache"
src-gen/Graphics/Vulkan/Ext/VK_EXT_validation_flags.hs view
@@ -65,7 +65,7 @@  is_VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME :: CString -> Bool is_VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME-  = eqCStrings _VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME  type VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME =      "VK_EXT_validation_flags"
+ src-gen/Graphics/Vulkan/Ext/VK_EXT_vertex_attribute_divisor.hs view
@@ -0,0 +1,113 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_EXT_vertex_attribute_divisor+       (-- * Vulkan extension: @VK_EXT_vertex_attribute_divisor@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Vikram Kushwaha @vkushwaha@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- Extension number: @191@+        --+        -- Required extensions: 'VK_KHR_get_physical_device_properties2'.+        --++        -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkFormat,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,+        module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT,+        module Graphics.Vulkan.Types.Struct.VkPipelineVertexInputDivisorStateCreateInfoEXT,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkPipelineVertexInputStateCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Struct.VkVertexInputAttributeDescription,+        module Graphics.Vulkan.Types.Struct.VkVertexInputBindingDescription,+        module Graphics.Vulkan.Types.Struct.VkVertexInputBindingDivisorDescriptionEXT,+        module Graphics.Vulkan.Types.Enum.VkVertexInputRate,+        -- > #include "vk_platform.h"+        VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION,+        pattern VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION,+        VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME,+        pattern VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT,+        pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT)+       where+import           GHC.Ptr+                                                                                                   (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Bitmasks+import           Graphics.Vulkan.Types.Enum.VkFormat+import           Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType+import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Enum.VkVertexInputRate+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+import           Graphics.Vulkan.Types.Struct.VkPipelineVertexInputDivisorStateCreateInfoEXT+import           Graphics.Vulkan.Types.Struct.VkPipelineVertexInputStateCreateInfo+import           Graphics.Vulkan.Types.Struct.VkVertexInputAttributeDescription+import           Graphics.Vulkan.Types.Struct.VkVertexInputBindingDescription+import           Graphics.Vulkan.Types.Struct.VkVertexInputBindingDivisorDescriptionEXT++pattern VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION = 1++type VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION = 1++pattern VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME :: CString++pattern VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME <-+        (is_VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME -> True)+  where VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME+          = _VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME++{-# INLINE _VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME #-}++_VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME :: CString+_VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME+  = Ptr "VK_EXT_vertex_attribute_divisor\NUL"#++{-# INLINE is_VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME #-}++is_VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME ::+                                                  CString -> Bool+is_VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME++type VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME =+     "VK_EXT_vertex_attribute_divisor"++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT+        = VkStructureType 1000190000++pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT+        = VkStructureType 1000190001
src-gen/Graphics/Vulkan/Ext/VK_GOOGLE_display_timing.hs view
@@ -31,7 +31,10 @@         module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Enum.VkStructureType,         -- > #include "vk_platform.h"-        vkGetRefreshCycleDurationGOOGLE, vkGetPastPresentationTimingGOOGLE,+        vkGetRefreshCycleDurationGOOGLE,+        vkGetRefreshCycleDurationGOOGLESafe,+        vkGetPastPresentationTimingGOOGLE,+        vkGetPastPresentationTimingGOOGLESafe,         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Handles,         VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION,@@ -61,7 +64,7 @@ --   >     , VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetRefreshCycleDurationGOOGLE.html vkGetRefreshCycleDurationGOOGLE registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetRefreshCycleDurationGOOGLE.html vkGetRefreshCycleDurationGOOGLE registry at www.khronos.org> foreign import ccall unsafe "vkGetRefreshCycleDurationGOOGLE"                vkGetRefreshCycleDurationGOOGLE ::                VkDevice -- ^ device@@ -70,6 +73,25 @@                                 -> Ptr VkRefreshCycleDurationGOOGLE -- ^ pDisplayTimingProperties                                                                     -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_SURFACE_LOST_KHR'.+--+--   > VkResult vkGetRefreshCycleDurationGOOGLE+--   >     ( VkDevice device+--   >     , VkSwapchainKHR swapchain+--   >     , VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetRefreshCycleDurationGOOGLE.html vkGetRefreshCycleDurationGOOGLE registry at www.khronos.org>+foreign import ccall safe "vkGetRefreshCycleDurationGOOGLE"+               vkGetRefreshCycleDurationGOOGLESafe ::+               VkDevice -- ^ device+                        ->+                 VkSwapchainKHR -- ^ swapchain+                                -> Ptr VkRefreshCycleDurationGOOGLE -- ^ pDisplayTimingProperties+                                                                    -> IO VkResult+ -- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'. -- --   Error codes: 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.@@ -81,7 +103,7 @@ --   >     , VkPastPresentationTimingGOOGLE* pPresentationTimings --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPastPresentationTimingGOOGLE.html vkGetPastPresentationTimingGOOGLE registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPastPresentationTimingGOOGLE.html vkGetPastPresentationTimingGOOGLE registry at www.khronos.org> foreign import ccall unsafe "vkGetPastPresentationTimingGOOGLE"                vkGetPastPresentationTimingGOOGLE ::                VkDevice -- ^ device@@ -92,6 +114,28 @@                               -> Ptr VkPastPresentationTimingGOOGLE -- ^ pPresentationTimings                                                                     -> IO VkResult +-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+--   > VkResult vkGetPastPresentationTimingGOOGLE+--   >     ( VkDevice device+--   >     , VkSwapchainKHR swapchain+--   >     , uint32_t* pPresentationTimingCount+--   >     , VkPastPresentationTimingGOOGLE* pPresentationTimings+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPastPresentationTimingGOOGLE.html vkGetPastPresentationTimingGOOGLE registry at www.khronos.org>+foreign import ccall safe "vkGetPastPresentationTimingGOOGLE"+               vkGetPastPresentationTimingGOOGLESafe ::+               VkDevice -- ^ device+                        ->+                 VkSwapchainKHR -- ^ swapchain+                                ->+                   Ptr Word32 -- ^ pPresentationTimingCount+                              -> Ptr VkPastPresentationTimingGOOGLE -- ^ pPresentationTimings+                                                                    -> IO VkResult+ pattern VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION :: (Num a, Eq a) => a  pattern VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION = 1@@ -115,7 +159,7 @@  is_VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME :: CString -> Bool is_VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME-  = eqCStrings _VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME  type VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME =      "VK_GOOGLE_display_timing"
src-gen/Graphics/Vulkan/Ext/VK_IMG_filter_cubic.hs view
@@ -53,7 +53,7 @@  is_VK_IMG_FILTER_CUBIC_EXTENSION_NAME :: CString -> Bool is_VK_IMG_FILTER_CUBIC_EXTENSION_NAME-  = eqCStrings _VK_IMG_FILTER_CUBIC_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_IMG_FILTER_CUBIC_EXTENSION_NAME  type VK_IMG_FILTER_CUBIC_EXTENSION_NAME = "VK_IMG_filter_cubic" 
src-gen/Graphics/Vulkan/Ext/VK_IMG_format_pvrtc.hs view
@@ -57,7 +57,7 @@  is_VK_IMG_FORMAT_PVRTC_EXTENSION_NAME :: CString -> Bool is_VK_IMG_FORMAT_PVRTC_EXTENSION_NAME-  = eqCStrings _VK_IMG_FORMAT_PVRTC_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_IMG_FORMAT_PVRTC_EXTENSION_NAME  type VK_IMG_FORMAT_PVRTC_EXTENSION_NAME = "VK_IMG_format_pvrtc" 
src-gen/Graphics/Vulkan/Ext/VK_KHR_16bit_storage.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds       #-} {-# LANGUAGE MagicHash       #-}@@ -22,16 +23,7 @@         --          -- ** Required extensions: 'VK_KHR_get_physical_device_properties2', 'VK_KHR_storage_buffer_storage_class'.-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Bitmasks,-        module Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo,         module Graphics.Vulkan.Types.Struct.VkPhysicalDevice16BitStorageFeaturesKHR,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2KHR,-        module Graphics.Vulkan.Types.Enum.VkStructureType,-        -- > #include "vk_platform.h"         VK_KHR_16BIT_STORAGE_SPEC_VERSION,         pattern VK_KHR_16BIT_STORAGE_SPEC_VERSION,         VK_KHR_16BIT_STORAGE_EXTENSION_NAME,@@ -40,15 +32,10 @@        where import           GHC.Ptr                                                                                        (Ptr (..))+import           Graphics.Vulkan.Core_1_1+                                                                                       (pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES) import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Types.BaseTypes-import           Graphics.Vulkan.Types.Bitmasks-import           Graphics.Vulkan.Types.Enum.VkStructureType-import           Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo-import           Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo import           Graphics.Vulkan.Types.Struct.VkPhysicalDevice16BitStorageFeaturesKHR-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2KHR  pattern VK_KHR_16BIT_STORAGE_SPEC_VERSION :: (Num a, Eq a) => a @@ -73,12 +60,9 @@  is_VK_KHR_16BIT_STORAGE_EXTENSION_NAME :: CString -> Bool is_VK_KHR_16BIT_STORAGE_EXTENSION_NAME-  = eqCStrings _VK_KHR_16BIT_STORAGE_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_16BIT_STORAGE_EXTENSION_NAME  type VK_KHR_16BIT_STORAGE_EXTENSION_NAME = "VK_KHR_16bit_storage"  pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR-        :: VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR-        = VkStructureType 1000083000+        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES
src-gen/Graphics/Vulkan/Ext/VK_KHR_android_surface.hs view
@@ -17,12 +17,12 @@         --         -- type: @instance@         --+        -- platform: @android@+        --         -- Extension number: @9@         --         -- Required extensions: 'VK_KHR_surface'.         ---        -- Protected by CPP ifdef: @VK_USE_PLATFORM_ANDROID_KHR@-        --          -- ** Required extensions: 'VK_KHR_surface'.         module Graphics.Vulkan.Types.Bitmasks,@@ -30,15 +30,14 @@         module Graphics.Vulkan.Types.BaseTypes,         module Graphics.Vulkan.Types.Enum.VkStructureType,         -- > #include "vk_platform.h"-        ---        -- > #include <android/native_window.h>-        vkCreateAndroidSurfaceKHR, module Graphics.Vulkan.Marshal,+        vkCreateAndroidSurfaceKHR, vkCreateAndroidSurfaceKHRSafe,+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.Defines,         module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,         module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,         module Graphics.Vulkan.Types.Funcpointers,         module Graphics.Vulkan.Types.Handles,-        module Graphics.Vulkan.Types.Include,         module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,         VK_KHR_ANDROID_SURFACE_SPEC_VERSION,         pattern VK_KHR_ANDROID_SURFACE_SPEC_VERSION,@@ -50,13 +49,13 @@ import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Types.BaseTypes import           Graphics.Vulkan.Types.Bitmasks+import           Graphics.Vulkan.Types.Defines import           Graphics.Vulkan.Types.Enum.VkInternalAllocationType import           Graphics.Vulkan.Types.Enum.VkResult import           Graphics.Vulkan.Types.Enum.VkStructureType import           Graphics.Vulkan.Types.Enum.VkSystemAllocationScope import           Graphics.Vulkan.Types.Funcpointers import           Graphics.Vulkan.Types.Handles-import           Graphics.Vulkan.Types.Include import           Graphics.Vulkan.Types.Struct.VkAllocationCallbacks import           Graphics.Vulkan.Types.Struct.VkAndroidSurfaceCreateInfoKHR @@ -71,7 +70,7 @@ --   >     , VkSurfaceKHR* pSurface --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateAndroidSurfaceKHR.html vkCreateAndroidSurfaceKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateAndroidSurfaceKHR.html vkCreateAndroidSurfaceKHR registry at www.khronos.org> foreign import ccall unsafe "vkCreateAndroidSurfaceKHR"                vkCreateAndroidSurfaceKHR ::                VkInstance -- ^ instance@@ -82,6 +81,28 @@                                              -> Ptr VkSurfaceKHR -- ^ pSurface                                                                  -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.+--+--   > VkResult vkCreateAndroidSurfaceKHR+--   >     ( VkInstance instance+--   >     , const VkAndroidSurfaceCreateInfoKHR* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkSurfaceKHR* pSurface+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateAndroidSurfaceKHR.html vkCreateAndroidSurfaceKHR registry at www.khronos.org>+foreign import ccall safe "vkCreateAndroidSurfaceKHR"+               vkCreateAndroidSurfaceKHRSafe ::+               VkInstance -- ^ instance+                          ->+                 Ptr VkAndroidSurfaceCreateInfoKHR -- ^ pCreateInfo+                                                   ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                 -> IO VkResult+ pattern VK_KHR_ANDROID_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a  pattern VK_KHR_ANDROID_SURFACE_SPEC_VERSION = 6@@ -105,7 +126,7 @@  is_VK_KHR_ANDROID_SURFACE_EXTENSION_NAME :: CString -> Bool is_VK_KHR_ANDROID_SURFACE_EXTENSION_NAME-  = eqCStrings _VK_KHR_ANDROID_SURFACE_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_ANDROID_SURFACE_EXTENSION_NAME  type VK_KHR_ANDROID_SURFACE_EXTENSION_NAME =      "VK_KHR_android_surface"
src-gen/Graphics/Vulkan/Ext/VK_KHR_bind_memory2.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -20,13 +21,15 @@         -- Extension number: @158@         module Graphics.Vulkan.Types.Struct.VkBindBufferMemoryInfoKHR,         module Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfoKHR,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.VkStructureType,-        -- > #include "vk_platform.h"-        vkBindBufferMemory2KHR, vkBindImageMemory2KHR,+        vkBindBufferMemory2KHR, vkBindBufferMemory2KHRSafe,+        vkBindImageMemory2KHR, vkBindImageMemory2KHRSafe,         module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.BaseTypes,         module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Enum.VkStructureType,         module Graphics.Vulkan.Types.Handles,+        module Graphics.Vulkan.Types.Struct.VkBindBufferMemoryInfo,+        module Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfo,         VK_KHR_BIND_MEMORY_2_SPEC_VERSION,         pattern VK_KHR_BIND_MEMORY_2_SPEC_VERSION,         VK_KHR_BIND_MEMORY_2_EXTENSION_NAME,@@ -36,52 +39,99 @@         pattern VK_IMAGE_CREATE_ALIAS_BIT_KHR)        where import           GHC.Ptr                                                (Ptr (..))+import           Graphics.Vulkan.Core_1_1                               (pattern VK_IMAGE_CREATE_ALIAS_BIT,+                                                                         pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,+                                                                         pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO) import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Types.BaseTypes-import           Graphics.Vulkan.Types.Enum.VkImageCreateFlags          (VkImageCreateBitmask (..),-                                                                         VkImageCreateFlagBits) import           Graphics.Vulkan.Types.Enum.VkResult import           Graphics.Vulkan.Types.Enum.VkStructureType import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkBindBufferMemoryInfo import           Graphics.Vulkan.Types.Struct.VkBindBufferMemoryInfoKHR+import           Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfo import           Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfoKHR --- | Success codes: 'VK_SUCCESS'.+-- | This is an alias for `vkBindBufferMemory2`. --+--   Success codes: 'VK_SUCCESS'.+-- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'. -- --   > VkResult vkBindBufferMemory2KHR --   >     ( VkDevice device --   >     , uint32_t bindInfoCount---   >     , const VkBindBufferMemoryInfoKHR* pBindInfos+--   >     , const VkBindBufferMemoryInfo* pBindInfos --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkBindBufferMemory2KHR.html vkBindBufferMemory2KHR registry at www.khronos.org>-foreign import ccall unsafe "vkBindBufferMemory2KHR"+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindBufferMemory2KHR.html vkBindBufferMemory2KHR registry at www.khronos.org>+foreign import ccall unsafe "vkBindBufferMemory2"                vkBindBufferMemory2KHR ::                VkDevice -- ^ device                         -> Word32 -- ^ bindInfoCount-                                  -> Ptr VkBindBufferMemoryInfoKHR -- ^ pBindInfos-                                                                   -> IO VkResult+                                  -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos+                                                                -> IO VkResult --- | Success codes: 'VK_SUCCESS'.+-- | This is an alias for `vkBindBufferMemory2`. --+--   Success codes: 'VK_SUCCESS'.+-- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'. --+--   > VkResult vkBindBufferMemory2KHR+--   >     ( VkDevice device+--   >     , uint32_t bindInfoCount+--   >     , const VkBindBufferMemoryInfo* pBindInfos+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindBufferMemory2KHR.html vkBindBufferMemory2KHR registry at www.khronos.org>+foreign import ccall safe "vkBindBufferMemory2"+               vkBindBufferMemory2KHRSafe ::+               VkDevice -- ^ device+                        -> Word32 -- ^ bindInfoCount+                                  -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos+                                                                -> IO VkResult++-- | This is an alias for `vkBindImageMemory2`.+--+--   Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+-- --   > VkResult vkBindImageMemory2KHR --   >     ( VkDevice device --   >     , uint32_t bindInfoCount---   >     , const VkBindImageMemoryInfoKHR* pBindInfos+--   >     , const VkBindImageMemoryInfo* pBindInfos --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkBindImageMemory2KHR.html vkBindImageMemory2KHR registry at www.khronos.org>-foreign import ccall unsafe "vkBindImageMemory2KHR"+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindImageMemory2KHR.html vkBindImageMemory2KHR registry at www.khronos.org>+foreign import ccall unsafe "vkBindImageMemory2"                vkBindImageMemory2KHR ::                VkDevice -- ^ device                         -> Word32 -- ^ bindInfoCount-                                  -> Ptr VkBindImageMemoryInfoKHR -- ^ pBindInfos-                                                                  -> IO VkResult+                                  -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos+                                                               -> IO VkResult +-- | This is an alias for `vkBindImageMemory2`.+--+--   Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkBindImageMemory2KHR+--   >     ( VkDevice device+--   >     , uint32_t bindInfoCount+--   >     , const VkBindImageMemoryInfo* pBindInfos+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindImageMemory2KHR.html vkBindImageMemory2KHR registry at www.khronos.org>+foreign import ccall safe "vkBindImageMemory2"+               vkBindImageMemory2KHRSafe ::+               VkDevice -- ^ device+                        -> Word32 -- ^ bindInfoCount+                                  -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos+                                                               -> IO VkResult+ pattern VK_KHR_BIND_MEMORY_2_SPEC_VERSION :: (Num a, Eq a) => a  pattern VK_KHR_BIND_MEMORY_2_SPEC_VERSION = 1@@ -105,23 +155,14 @@  is_VK_KHR_BIND_MEMORY_2_EXTENSION_NAME :: CString -> Bool is_VK_KHR_BIND_MEMORY_2_EXTENSION_NAME-  = eqCStrings _VK_KHR_BIND_MEMORY_2_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_BIND_MEMORY_2_EXTENSION_NAME  type VK_KHR_BIND_MEMORY_2_EXTENSION_NAME = "VK_KHR_bind_memory2" -pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR ::-        VkStructureType- pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR =-        VkStructureType 1000157000--pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR ::-        VkStructureType+        VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO  pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR =-        VkStructureType 1000157001---- | bitpos = @10@-pattern VK_IMAGE_CREATE_ALIAS_BIT_KHR :: VkImageCreateFlagBits+        VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO -pattern VK_IMAGE_CREATE_ALIAS_BIT_KHR = VkImageCreateFlagBits 1024+pattern VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT
src-gen/Graphics/Vulkan/Ext/VK_KHR_dedicated_allocation.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds       #-} {-# LANGUAGE MagicHash       #-}@@ -22,14 +23,8 @@         --          -- ** Required extensions: 'VK_KHR_get_memory_requirements2'.-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo,         module Graphics.Vulkan.Types.Struct.VkMemoryDedicatedAllocateInfoKHR,         module Graphics.Vulkan.Types.Struct.VkMemoryDedicatedRequirementsKHR,-        module Graphics.Vulkan.Types.Struct.VkMemoryRequirements,-        module Graphics.Vulkan.Types.Struct.VkMemoryRequirements2KHR,-        module Graphics.Vulkan.Types.Enum.VkStructureType,-        -- > #include "vk_platform.h"         VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION,         pattern VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION,         VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME,@@ -38,14 +33,11 @@         pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR)        where import           GHC.Ptr                                                       (Ptr (..))+import           Graphics.Vulkan.Core_1_1                                      (pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,+                                                                                pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS) import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Types.BaseTypes-import           Graphics.Vulkan.Types.Enum.VkStructureType-import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo import           Graphics.Vulkan.Types.Struct.VkMemoryDedicatedAllocateInfoKHR import           Graphics.Vulkan.Types.Struct.VkMemoryDedicatedRequirementsKHR-import           Graphics.Vulkan.Types.Struct.VkMemoryRequirements-import           Graphics.Vulkan.Types.Struct.VkMemoryRequirements2KHR  pattern VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION ::         (Num a, Eq a) => a@@ -71,19 +63,13 @@  is_VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME :: CString -> Bool is_VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME-  = eqCStrings _VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME  type VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME =      "VK_KHR_dedicated_allocation" -pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR ::-        VkStructureType- pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR =-        VkStructureType 1000127000--pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR ::-        VkStructureType+        VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS  pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR =-        VkStructureType 1000127001+        VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO
src-gen/Graphics/Vulkan/Ext/VK_KHR_descriptor_update_template.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -18,46 +19,62 @@         -- type: @device@         --         -- Extension number: @86@-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.VkDescriptorType,         module Graphics.Vulkan.Types.Bitmasks,         module Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateCreateInfoKHR,         module Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateEntryKHR,         module Graphics.Vulkan.Types.Enum.VkDescriptorUpdateTemplateTypeKHR,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.VkPipelineBindPoint,-        module Graphics.Vulkan.Types.Enum.VkStructureType,-        -- > #include "vk_platform.h"         vkCreateDescriptorUpdateTemplateKHR,+        vkCreateDescriptorUpdateTemplateKHRSafe,         vkDestroyDescriptorUpdateTemplateKHR,+        vkDestroyDescriptorUpdateTemplateKHRSafe,         vkUpdateDescriptorSetWithTemplateKHR,-        vkCmdPushDescriptorSetWithTemplateKHR,+        vkUpdateDescriptorSetWithTemplateKHRSafe,+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkDescriptorType,+        module Graphics.Vulkan.Types.Enum.VkDescriptorUpdateTemplateType,         module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,+        module Graphics.Vulkan.Types.Enum.VkPipelineBindPoint,         module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Enum.VkStructureType,         module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,         module Graphics.Vulkan.Types.Funcpointers,         module Graphics.Vulkan.Types.Handles,         module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,+        module Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateEntry,         VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION,         pattern VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION,         VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME,         pattern VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME,         pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR,-        pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT,-        pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR)+        pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR,+        pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR,+        -- ** Required extensions: 'VK_KHR_push_descriptor'.+        vkCmdPushDescriptorSetWithTemplateKHR,+        vkCmdPushDescriptorSetWithTemplateKHRSafe,+        pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR,+        -- ** Required extensions: 'VK_EXT_debug_report'.+        pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT)        where import           GHC.Ptr                                                                                        (Ptr (..))+import           Graphics.Vulkan.Core_1_1+                                                                                       (pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,+                                                                                       pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO)+import           Graphics.Vulkan.Ext.VK_EXT_debug_report+                                                                                       (pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT)+import           Graphics.Vulkan.Ext.VK_KHR_push_descriptor+                                                                                       (pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR,+                                                                                       vkCmdPushDescriptorSetWithTemplateKHR,+                                                                                       vkCmdPushDescriptorSetWithTemplateKHRSafe) import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Types.BaseTypes import           Graphics.Vulkan.Types.Bitmasks-import           Graphics.Vulkan.Types.Enum.VkDebugReportObjectTypeEXT-                                                                                       (VkDebugReportObjectTypeEXT (..)) import           Graphics.Vulkan.Types.Enum.VkDescriptorType+import           Graphics.Vulkan.Types.Enum.VkDescriptorUpdateTemplateType import           Graphics.Vulkan.Types.Enum.VkDescriptorUpdateTemplateTypeKHR import           Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import           Graphics.Vulkan.Types.Enum.VkObjectType-                                                                                       (VkObjectType (..)) import           Graphics.Vulkan.Types.Enum.VkPipelineBindPoint import           Graphics.Vulkan.Types.Enum.VkResult import           Graphics.Vulkan.Types.Enum.VkStructureType@@ -65,88 +82,132 @@ import           Graphics.Vulkan.Types.Funcpointers import           Graphics.Vulkan.Types.Handles import           Graphics.Vulkan.Types.Struct.VkAllocationCallbacks+import           Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateCreateInfo import           Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateCreateInfoKHR+import           Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateEntry import           Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateEntryKHR --- | Success codes: 'VK_SUCCESS'.+-- | This is an alias for `vkCreateDescriptorUpdateTemplate`. --+--   Success codes: 'VK_SUCCESS'.+-- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'. -- --   > VkResult vkCreateDescriptorUpdateTemplateKHR --   >     ( VkDevice device---   >     , const VkDescriptorUpdateTemplateCreateInfoKHR* pCreateInfo+--   >     , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo --   >     , const VkAllocationCallbacks* pAllocator---   >     , VkDescriptorUpdateTemplateKHR* pDescriptorUpdateTemplate+--   >     , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateDescriptorUpdateTemplateKHR.html vkCreateDescriptorUpdateTemplateKHR registry at www.khronos.org>-foreign import ccall unsafe "vkCreateDescriptorUpdateTemplateKHR"+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDescriptorUpdateTemplateKHR.html vkCreateDescriptorUpdateTemplateKHR registry at www.khronos.org>+foreign import ccall unsafe "vkCreateDescriptorUpdateTemplate"                vkCreateDescriptorUpdateTemplateKHR ::                VkDevice -- ^ device                         ->-                 Ptr VkDescriptorUpdateTemplateCreateInfoKHR -- ^ pCreateInfo-                                                             ->+                 Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo+                                                          ->                    Ptr VkAllocationCallbacks -- ^ pAllocator                                              ->-                     Ptr VkDescriptorUpdateTemplateKHR -- ^ pDescriptorUpdateTemplate-                                                       -> IO VkResult+                     Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate+                                                    -> IO VkResult --- | > () vkDestroyDescriptorUpdateTemplateKHR+-- | This is an alias for `vkCreateDescriptorUpdateTemplate`.+--+--   Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateDescriptorUpdateTemplateKHR --   >     ( VkDevice device---   >     , VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate+--   >     , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo --   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroyDescriptorUpdateTemplateKHR.html vkDestroyDescriptorUpdateTemplateKHR registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyDescriptorUpdateTemplateKHR"+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDescriptorUpdateTemplateKHR.html vkCreateDescriptorUpdateTemplateKHR registry at www.khronos.org>+foreign import ccall safe "vkCreateDescriptorUpdateTemplate"+               vkCreateDescriptorUpdateTemplateKHRSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo+                                                          ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             ->+                     Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate+                                                    -> IO VkResult++-- | This is an alias for `vkDestroyDescriptorUpdateTemplate`.+--+--   > () vkDestroyDescriptorUpdateTemplateKHR+--   >     ( VkDevice device+--   >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDescriptorUpdateTemplateKHR.html vkDestroyDescriptorUpdateTemplateKHR registry at www.khronos.org>+foreign import ccall unsafe "vkDestroyDescriptorUpdateTemplate"                vkDestroyDescriptorUpdateTemplateKHR ::                VkDevice -- ^ device                         ->-                 VkDescriptorUpdateTemplateKHR -- ^ descriptorUpdateTemplate-                                               -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                            -> IO ()+                 VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                         -> IO () --- | > () vkUpdateDescriptorSetWithTemplateKHR+-- | This is an alias for `vkDestroyDescriptorUpdateTemplate`.+--+--   > () vkDestroyDescriptorUpdateTemplateKHR --   >     ( VkDevice device+--   >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDescriptorUpdateTemplateKHR.html vkDestroyDescriptorUpdateTemplateKHR registry at www.khronos.org>+foreign import ccall safe "vkDestroyDescriptorUpdateTemplate"+               vkDestroyDescriptorUpdateTemplateKHRSafe ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                         -> IO ()++-- | This is an alias for `vkUpdateDescriptorSetWithTemplate`.+--+--   > () vkUpdateDescriptorSetWithTemplateKHR+--   >     ( VkDevice device --   >     , VkDescriptorSet descriptorSet---   >     , VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate+--   >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate --   >     , const void* pData --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkUpdateDescriptorSetWithTemplateKHR.html vkUpdateDescriptorSetWithTemplateKHR registry at www.khronos.org>-foreign import ccall unsafe "vkUpdateDescriptorSetWithTemplateKHR"+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkUpdateDescriptorSetWithTemplateKHR.html vkUpdateDescriptorSetWithTemplateKHR registry at www.khronos.org>+foreign import ccall unsafe "vkUpdateDescriptorSetWithTemplate"                vkUpdateDescriptorSetWithTemplateKHR ::                VkDevice -- ^ device                         ->                  VkDescriptorSet -- ^ descriptorSet-                                 ->-                   VkDescriptorUpdateTemplateKHR -- ^ descriptorUpdateTemplate-                                                 -> Ptr Void -- ^ pData-                                                             -> IO ()+                                 -> VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+                                                               -> Ptr Void -- ^ pData+                                                                           -> IO () --- | queues: 'graphics', 'compute'.------   renderpass: @both@+-- | This is an alias for `vkUpdateDescriptorSetWithTemplate`. -----   > () vkCmdPushDescriptorSetWithTemplateKHR---   >     ( VkCommandBuffer commandBuffer---   >     , VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate---   >     , VkPipelineLayout layout---   >     , uint32_t set+--   > () vkUpdateDescriptorSetWithTemplateKHR+--   >     ( VkDevice device+--   >     , VkDescriptorSet descriptorSet+--   >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate --   >     , const void* pData --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdPushDescriptorSetWithTemplateKHR.html vkCmdPushDescriptorSetWithTemplateKHR registry at www.khronos.org>-foreign import ccall unsafe "vkCmdPushDescriptorSetWithTemplateKHR"-               vkCmdPushDescriptorSetWithTemplateKHR ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 VkDescriptorUpdateTemplateKHR -- ^ descriptorUpdateTemplate-                                               ->-                   VkPipelineLayout -- ^ layout-                                    -> Word32 -- ^ set-                                              -> Ptr Void -- ^ pData-                                                          -> IO ()+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkUpdateDescriptorSetWithTemplateKHR.html vkUpdateDescriptorSetWithTemplateKHR registry at www.khronos.org>+foreign import ccall safe "vkUpdateDescriptorSetWithTemplate"+               vkUpdateDescriptorSetWithTemplateKHRSafe ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorSet -- ^ descriptorSet+                                 -> VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+                                                               -> Ptr Void -- ^ pData+                                                                           -> IO ()  pattern VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION ::         (Num a, Eq a) => a@@ -173,26 +234,20 @@ is_VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME ::                                                     CString -> Bool is_VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME-  = eqCStrings _VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME  type VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME =      "VK_KHR_descriptor_update_template"  pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR-        :: VkStructureType+        = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO -pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR-        = VkStructureType 1000085000+pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR =+        VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE -pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT-        :: VkDebugReportObjectTypeEXT+pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR =+        VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET  pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT-        = VkDebugReportObjectTypeEXT 1000085000---- | VkDescriptorUpdateTemplateKHR-pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR ::-        VkObjectType--pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR =-        VkObjectType 1000085000+        = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_device_group.hs view
@@ -0,0 +1,395 @@+{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-}+{-# OPTIONS_GHC -fno-warn-unused-imports#-}+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_device_group+       (-- * Vulkan extension: @VK_KHR_device_group@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jeff Bolz @jbolz@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @61@+        --+        -- Required extensions: 'VK_KHR_device_group_creation'.+        --++        -- ** Required extensions: 'VK_KHR_device_group_creation'.+        module Graphics.Vulkan.Types.Struct.VkDeviceGroupBindSparseInfoKHR,+        module Graphics.Vulkan.Types.Struct.VkDeviceGroupCommandBufferBeginInfoKHR,+        module Graphics.Vulkan.Types.Struct.VkDeviceGroupRenderPassBeginInfoKHR,+        module Graphics.Vulkan.Types.Struct.VkDeviceGroupSubmitInfoKHR,+        module Graphics.Vulkan.Types.Enum.VkMemoryAllocateFlagBitsKHR,+        module Graphics.Vulkan.Types.Struct.VkMemoryAllocateFlagsInfoKHR,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Enum.VkPeerMemoryFeatureFlagBitsKHR,+        vkGetDeviceGroupPeerMemoryFeaturesKHR,+        vkGetDeviceGroupPeerMemoryFeaturesKHRSafe, vkCmdSetDeviceMaskKHR,+        vkCmdSetDeviceMaskKHRSafe, vkCmdDispatchBaseKHR,+        vkCmdDispatchBaseKHRSafe, module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkPeerMemoryFeatureFlags,+        module Graphics.Vulkan.Types.Handles,+        VK_KHR_DEVICE_GROUP_SPEC_VERSION,+        pattern VK_KHR_DEVICE_GROUP_SPEC_VERSION,+        VK_KHR_DEVICE_GROUP_EXTENSION_NAME,+        pattern VK_KHR_DEVICE_GROUP_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR,+        pattern VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR,+        pattern VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR,+        pattern VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR,+        pattern VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR,+        pattern VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR,+        pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR,+        pattern VK_PIPELINE_CREATE_DISPATCH_BASE_KHR,+        pattern VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR,+        -- ** Required extensions: 'VK_KHR_bind_memory2', 'VK_KHR_device_group_creation'.+        module Graphics.Vulkan.Types.Struct.VkBindBufferMemoryDeviceGroupInfoKHR,+        module Graphics.Vulkan.Types.Struct.VkBindImageMemoryDeviceGroupInfoKHR,+        pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR,+        pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR,+        -- ** Required extensions: 'VK_KHR_surface', 'VK_KHR_device_group_creation'.+        module Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentCapabilitiesKHR,+        module Graphics.Vulkan.Types.Enum.VkDeviceGroupPresentModeFlagsKHR,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        -- > #include "vk_platform.h"+        vkGetDeviceGroupPresentCapabilitiesKHR,+        vkGetDeviceGroupPresentCapabilitiesKHRSafe,+        vkGetDeviceGroupSurfacePresentModesKHR,+        vkGetDeviceGroupSurfacePresentModesKHRSafe,+        vkGetPhysicalDevicePresentRectanglesKHR,+        vkGetPhysicalDevicePresentRectanglesKHRSafe,+        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,+        -- ** Required extensions: 'VK_KHR_swapchain', 'VK_KHR_device_group_creation'.+        module Graphics.Vulkan.Types.Struct.VkAcquireNextImageInfoKHR,+        module Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfo,+        module Graphics.Vulkan.Types.Struct.VkBindImageMemorySwapchainInfoKHR,+        module Graphics.Vulkan.Types.Enum.VkColorSpaceKHR,+        module Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR,+        module Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentInfoKHR,+        module Graphics.Vulkan.Types.Struct.VkDeviceGroupSwapchainCreateInfoKHR,+        module Graphics.Vulkan.Types.Struct.VkExtent2D,+        module Graphics.Vulkan.Types.Struct.VkExtent3D,+        module Graphics.Vulkan.Types.Enum.VkFormat,+        module Graphics.Vulkan.Types.Enum.VkImageCreateFlags,+        module Graphics.Vulkan.Types.Struct.VkImageCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkImageLayout,+        module Graphics.Vulkan.Types.Struct.VkImageSwapchainCreateInfoKHR,+        module Graphics.Vulkan.Types.Enum.VkImageTiling,+        module Graphics.Vulkan.Types.Enum.VkImageType,+        module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,+        module Graphics.Vulkan.Types.Struct.VkPresentInfoKHR,+        module Graphics.Vulkan.Types.Enum.VkPresentModeKHR,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,+        module Graphics.Vulkan.Types.Enum.VkSharingMode,+        module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR,+        module Graphics.Vulkan.Types.Enum.VkSwapchainCreateFlagsKHR,+        module Graphics.Vulkan.Types.Struct.VkSwapchainCreateInfoKHR,+        -- > #include "vk_platform.h"+        vkAcquireNextImage2KHR, vkAcquireNextImage2KHRSafe,+        pattern VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR,+        pattern VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR)+       where+import           GHC.Ptr+                                                                                      (Ptr (..))+import           Graphics.Vulkan.Core_1_1+                                                                                      (pattern VK_DEPENDENCY_DEVICE_GROUP_BIT,+                                                                                      pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,+                                                                                      pattern VK_PIPELINE_CREATE_DISPATCH_BASE,+                                                                                      pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,+                                                                                      pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,+                                                                                      pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,+                                                                                      pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,+                                                                                      pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,+                                                                                      pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,+                                                                                      pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,+                                                                                      pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO)+import           Graphics.Vulkan.Ext.VK_KHR_swapchain+                                                                                      (pattern VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR,+                                                                                      pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR,+                                                                                      pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,+                                                                                      pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR,+                                                                                      pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR,+                                                                                      pattern VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR,+                                                                                      pattern VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR,+                                                                                      vkAcquireNextImage2KHR,+                                                                                      vkAcquireNextImage2KHRSafe,+                                                                                      vkGetDeviceGroupPresentCapabilitiesKHR,+                                                                                      vkGetDeviceGroupPresentCapabilitiesKHRSafe,+                                                                                      vkGetDeviceGroupSurfacePresentModesKHR,+                                                                                      vkGetDeviceGroupSurfacePresentModesKHRSafe,+                                                                                      vkGetPhysicalDevicePresentRectanglesKHR,+                                                                                      vkGetPhysicalDevicePresentRectanglesKHRSafe)+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Bitmasks+import           Graphics.Vulkan.Types.Enum.VkColorSpaceKHR+import           Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkDeviceGroupPresentModeFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkFormat+import           Graphics.Vulkan.Types.Enum.VkImageCreateFlags+import           Graphics.Vulkan.Types.Enum.VkImageLayout+import           Graphics.Vulkan.Types.Enum.VkImageTiling+import           Graphics.Vulkan.Types.Enum.VkImageType+import           Graphics.Vulkan.Types.Enum.VkImageUsageFlags+import           Graphics.Vulkan.Types.Enum.VkMemoryAllocateFlagBitsKHR+import           Graphics.Vulkan.Types.Enum.VkMemoryAllocateFlags+                                                                                      (VkMemoryAllocateBitmask (..))+import           Graphics.Vulkan.Types.Enum.VkPeerMemoryFeatureFlagBitsKHR+import           Graphics.Vulkan.Types.Enum.VkPeerMemoryFeatureFlags+import           Graphics.Vulkan.Types.Enum.VkPresentModeKHR+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags+import           Graphics.Vulkan.Types.Enum.VkSharingMode+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkSwapchainCreateFlagsKHR+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkAcquireNextImageInfoKHR+import           Graphics.Vulkan.Types.Struct.VkBindBufferMemoryDeviceGroupInfoKHR+import           Graphics.Vulkan.Types.Struct.VkBindImageMemoryDeviceGroupInfoKHR+import           Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfo+import           Graphics.Vulkan.Types.Struct.VkBindImageMemorySwapchainInfoKHR+import           Graphics.Vulkan.Types.Struct.VkDeviceGroupBindSparseInfoKHR+import           Graphics.Vulkan.Types.Struct.VkDeviceGroupCommandBufferBeginInfoKHR+import           Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentCapabilitiesKHR+import           Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentInfoKHR+import           Graphics.Vulkan.Types.Struct.VkDeviceGroupRenderPassBeginInfoKHR+import           Graphics.Vulkan.Types.Struct.VkDeviceGroupSubmitInfoKHR+import           Graphics.Vulkan.Types.Struct.VkDeviceGroupSwapchainCreateInfoKHR+import           Graphics.Vulkan.Types.Struct.VkExtent2D+import           Graphics.Vulkan.Types.Struct.VkExtent3D+import           Graphics.Vulkan.Types.Struct.VkImageCreateInfo+import           Graphics.Vulkan.Types.Struct.VkImageSwapchainCreateInfoKHR+import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateFlagsInfoKHR+import           Graphics.Vulkan.Types.Struct.VkPresentInfoKHR+import           Graphics.Vulkan.Types.Struct.VkSwapchainCreateInfoKHR++-- | This is an alias for `vkGetDeviceGroupPeerMemoryFeatures`.+--+--   > () vkGetDeviceGroupPeerMemoryFeaturesKHR+--   >     ( VkDevice device+--   >     , uint32_t heapIndex+--   >     , uint32_t localDeviceIndex+--   >     , uint32_t remoteDeviceIndex+--   >     , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceGroupPeerMemoryFeaturesKHR.html vkGetDeviceGroupPeerMemoryFeaturesKHR registry at www.khronos.org>+foreign import ccall unsafe "vkGetDeviceGroupPeerMemoryFeatures"+               vkGetDeviceGroupPeerMemoryFeaturesKHR ::+               VkDevice -- ^ device+                        ->+                 Word32 -- ^ heapIndex+                        -> Word32 -- ^ localDeviceIndex+                                  -> Word32 -- ^ remoteDeviceIndex+                                            -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures+                                                                            -> IO ()++-- | This is an alias for `vkGetDeviceGroupPeerMemoryFeatures`.+--+--   > () vkGetDeviceGroupPeerMemoryFeaturesKHR+--   >     ( VkDevice device+--   >     , uint32_t heapIndex+--   >     , uint32_t localDeviceIndex+--   >     , uint32_t remoteDeviceIndex+--   >     , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceGroupPeerMemoryFeaturesKHR.html vkGetDeviceGroupPeerMemoryFeaturesKHR registry at www.khronos.org>+foreign import ccall safe "vkGetDeviceGroupPeerMemoryFeatures"+               vkGetDeviceGroupPeerMemoryFeaturesKHRSafe ::+               VkDevice -- ^ device+                        ->+                 Word32 -- ^ heapIndex+                        -> Word32 -- ^ localDeviceIndex+                                  -> Word32 -- ^ remoteDeviceIndex+                                            -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures+                                                                            -> IO ()++-- | This is an alias for `vkCmdSetDeviceMask`.+--+--   queues: 'graphics', 'compute', 'transfer'.+--+--   renderpass: @both@+--+--   > () vkCmdSetDeviceMaskKHR+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t deviceMask+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetDeviceMaskKHR.html vkCmdSetDeviceMaskKHR registry at www.khronos.org>+foreign import ccall unsafe "vkCmdSetDeviceMask"+               vkCmdSetDeviceMaskKHR :: VkCommandBuffer -- ^ commandBuffer+                                                        -> Word32 -- ^ deviceMask+                                                                  -> IO ()++-- | This is an alias for `vkCmdSetDeviceMask`.+--+--   queues: 'graphics', 'compute', 'transfer'.+--+--   renderpass: @both@+--+--   > () vkCmdSetDeviceMaskKHR+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t deviceMask+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetDeviceMaskKHR.html vkCmdSetDeviceMaskKHR registry at www.khronos.org>+foreign import ccall safe "vkCmdSetDeviceMask"+               vkCmdSetDeviceMaskKHRSafe :: VkCommandBuffer -- ^ commandBuffer+                                                            -> Word32 -- ^ deviceMask+                                                                      -> IO ()++-- | This is an alias for `vkCmdDispatchBase`.+--+--   queues: 'compute'.+--+--   renderpass: @outside@+--+--   > () vkCmdDispatchBaseKHR+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t baseGroupX+--   >     , uint32_t baseGroupY+--   >     , uint32_t baseGroupZ+--   >     , uint32_t groupCountX+--   >     , uint32_t groupCountY+--   >     , uint32_t groupCountZ+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDispatchBaseKHR.html vkCmdDispatchBaseKHR registry at www.khronos.org>+foreign import ccall unsafe "vkCmdDispatchBase"+               vkCmdDispatchBaseKHR ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ baseGroupX+                        -> Word32 -- ^ baseGroupY+                                  -> Word32 -- ^ baseGroupZ+                                            -> Word32 -- ^ groupCountX+                                                      -> Word32 -- ^ groupCountY+                                                                -> Word32 -- ^ groupCountZ+                                                                          -> IO ()++-- | This is an alias for `vkCmdDispatchBase`.+--+--   queues: 'compute'.+--+--   renderpass: @outside@+--+--   > () vkCmdDispatchBaseKHR+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t baseGroupX+--   >     , uint32_t baseGroupY+--   >     , uint32_t baseGroupZ+--   >     , uint32_t groupCountX+--   >     , uint32_t groupCountY+--   >     , uint32_t groupCountZ+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDispatchBaseKHR.html vkCmdDispatchBaseKHR registry at www.khronos.org>+foreign import ccall safe "vkCmdDispatchBase"+               vkCmdDispatchBaseKHRSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ baseGroupX+                        -> Word32 -- ^ baseGroupY+                                  -> Word32 -- ^ baseGroupZ+                                            -> Word32 -- ^ groupCountX+                                                      -> Word32 -- ^ groupCountY+                                                                -> Word32 -- ^ groupCountZ+                                                                          -> IO ()++pattern VK_KHR_DEVICE_GROUP_SPEC_VERSION :: (Num a, Eq a) => a++pattern VK_KHR_DEVICE_GROUP_SPEC_VERSION = 3++type VK_KHR_DEVICE_GROUP_SPEC_VERSION = 3++pattern VK_KHR_DEVICE_GROUP_EXTENSION_NAME :: CString++pattern VK_KHR_DEVICE_GROUP_EXTENSION_NAME <-+        (is_VK_KHR_DEVICE_GROUP_EXTENSION_NAME -> True)+  where VK_KHR_DEVICE_GROUP_EXTENSION_NAME+          = _VK_KHR_DEVICE_GROUP_EXTENSION_NAME++{-# INLINE _VK_KHR_DEVICE_GROUP_EXTENSION_NAME #-}++_VK_KHR_DEVICE_GROUP_EXTENSION_NAME :: CString+_VK_KHR_DEVICE_GROUP_EXTENSION_NAME+  = Ptr "VK_KHR_device_group\NUL"#++{-# INLINE is_VK_KHR_DEVICE_GROUP_EXTENSION_NAME #-}++is_VK_KHR_DEVICE_GROUP_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_DEVICE_GROUP_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_DEVICE_GROUP_EXTENSION_NAME++type VK_KHR_DEVICE_GROUP_EXTENSION_NAME = "VK_KHR_device_group"++pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR =+        VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR =+        VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR+        = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR =+        VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR =+        VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO++pattern VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR =+        VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT++pattern VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR =+        VK_PEER_MEMORY_FEATURE_COPY_DST_BIT++pattern VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR =+        VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT++pattern VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR =+        VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT++pattern VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR =+        VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT++pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR =+        VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT++pattern VK_PIPELINE_CREATE_DISPATCH_BASE_KHR =+        VK_PIPELINE_CREATE_DISPATCH_BASE++pattern VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR =+        VK_DEPENDENCY_DEVICE_GROUP_BIT++pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR+        = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR =+        VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO++pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR =+        VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_device_group_creation.hs view
@@ -0,0 +1,134 @@+{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-}+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_device_group_creation+       (-- * Vulkan extension: @VK_KHR_device_group_creation@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jeff Bolz @jbolz@+        --+        -- author: @KHR@+        --+        -- type: @instance@+        --+        -- Extension number: @71@+        module Graphics.Vulkan.Types.Struct.VkDeviceGroupDeviceCreateInfoKHR,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceGroupPropertiesKHR,+        vkEnumeratePhysicalDeviceGroupsKHR,+        vkEnumeratePhysicalDeviceGroupsKHRSafe,+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Handles,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceGroupProperties,+        VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION,+        pattern VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION,+        VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME,+        pattern VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR,+        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR,+        pattern VK_MAX_DEVICE_GROUP_SIZE_KHR,+        pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR)+       where+import           GHC.Ptr                                                         (Ptr (..))+import           Graphics.Vulkan.Constants                                       (pattern VK_MAX_DEVICE_GROUP_SIZE_KHR)+import           Graphics.Vulkan.Core_1_1                                        (pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,+                                                                                  pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,+                                                                                  pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES)+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkDeviceGroupDeviceCreateInfoKHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceGroupProperties+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceGroupPropertiesKHR++-- | This is an alias for `vkEnumeratePhysicalDeviceGroups`.+--+--   Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+--   > VkResult vkEnumeratePhysicalDeviceGroupsKHR+--   >     ( VkInstance instance+--   >     , uint32_t* pPhysicalDeviceGroupCount+--   >     , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumeratePhysicalDeviceGroupsKHR.html vkEnumeratePhysicalDeviceGroupsKHR registry at www.khronos.org>+foreign import ccall unsafe "vkEnumeratePhysicalDeviceGroups"+               vkEnumeratePhysicalDeviceGroupsKHR ::+               VkInstance -- ^ instance+                          ->+                 Ptr Word32 -- ^ pPhysicalDeviceGroupCount+                            -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties+                                                                   -> IO VkResult++-- | This is an alias for `vkEnumeratePhysicalDeviceGroups`.+--+--   Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+--   > VkResult vkEnumeratePhysicalDeviceGroupsKHR+--   >     ( VkInstance instance+--   >     , uint32_t* pPhysicalDeviceGroupCount+--   >     , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumeratePhysicalDeviceGroupsKHR.html vkEnumeratePhysicalDeviceGroupsKHR registry at www.khronos.org>+foreign import ccall safe "vkEnumeratePhysicalDeviceGroups"+               vkEnumeratePhysicalDeviceGroupsKHRSafe ::+               VkInstance -- ^ instance+                          ->+                 Ptr Word32 -- ^ pPhysicalDeviceGroupCount+                            -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties+                                                                   -> IO VkResult++pattern VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION = 1++type VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION = 1++pattern VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME :: CString++pattern VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME <-+        (is_VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME -> True)+  where VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME+          = _VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME++{-# INLINE _VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME #-}++_VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME :: CString+_VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME+  = Ptr "VK_KHR_device_group_creation\NUL"#++{-# INLINE is_VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME #-}++is_VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME++type VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME =+     "VK_KHR_device_group_creation"++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR =+        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR =+        VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO++pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR =+        VK_MEMORY_HEAP_MULTI_INSTANCE_BIT
src-gen/Graphics/Vulkan/Ext/VK_KHR_display.hs view
@@ -40,10 +40,16 @@         module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR,         -- > #include "vk_platform.h"         vkGetPhysicalDeviceDisplayPropertiesKHR,+        vkGetPhysicalDeviceDisplayPropertiesKHRSafe,         vkGetPhysicalDeviceDisplayPlanePropertiesKHR,+        vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe,         vkGetDisplayPlaneSupportedDisplaysKHR,-        vkGetDisplayModePropertiesKHR, vkCreateDisplayModeKHR,-        vkGetDisplayPlaneCapabilitiesKHR, vkCreateDisplayPlaneSurfaceKHR,+        vkGetDisplayPlaneSupportedDisplaysKHRSafe,+        vkGetDisplayModePropertiesKHR, vkGetDisplayModePropertiesKHRSafe,+        vkCreateDisplayModeKHR, vkCreateDisplayModeKHRSafe,+        vkGetDisplayPlaneCapabilitiesKHR,+        vkGetDisplayPlaneCapabilitiesKHRSafe,+        vkCreateDisplayPlaneSurfaceKHR, vkCreateDisplayPlaneSurfaceKHRSafe,         module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,         module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,@@ -92,7 +98,7 @@ --   >     , VkDisplayPropertiesKHR* pProperties --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceDisplayPropertiesKHR.html vkGetPhysicalDeviceDisplayPropertiesKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceDisplayPropertiesKHR.html vkGetPhysicalDeviceDisplayPropertiesKHR registry at www.khronos.org> foreign import ccall unsafe                "vkGetPhysicalDeviceDisplayPropertiesKHR"                vkGetPhysicalDeviceDisplayPropertiesKHR ::@@ -106,13 +112,32 @@ -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'. --+--   > VkResult vkGetPhysicalDeviceDisplayPropertiesKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t* pPropertyCount+--   >     , VkDisplayPropertiesKHR* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceDisplayPropertiesKHR.html vkGetPhysicalDeviceDisplayPropertiesKHR registry at www.khronos.org>+foreign import ccall safe "vkGetPhysicalDeviceDisplayPropertiesKHR"+               vkGetPhysicalDeviceDisplayPropertiesKHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr Word32 -- ^ pPropertyCount+                            -> Ptr VkDisplayPropertiesKHR -- ^ pProperties+                                                          -> IO VkResult++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+-- --   > VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR --   >     ( VkPhysicalDevice physicalDevice --   >     , uint32_t* pPropertyCount --   >     , VkDisplayPlanePropertiesKHR* pProperties --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceDisplayPlanePropertiesKHR.html vkGetPhysicalDeviceDisplayPlanePropertiesKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceDisplayPlanePropertiesKHR.html vkGetPhysicalDeviceDisplayPlanePropertiesKHR registry at www.khronos.org> foreign import ccall unsafe                "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"                vkGetPhysicalDeviceDisplayPlanePropertiesKHR ::@@ -126,6 +151,26 @@ -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'. --+--   > VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t* pPropertyCount+--   >     , VkDisplayPlanePropertiesKHR* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceDisplayPlanePropertiesKHR.html vkGetPhysicalDeviceDisplayPlanePropertiesKHR registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"+               vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr Word32 -- ^ pPropertyCount+                            -> Ptr VkDisplayPlanePropertiesKHR -- ^ pProperties+                                                               -> IO VkResult++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+-- --   > VkResult vkGetDisplayPlaneSupportedDisplaysKHR --   >     ( VkPhysicalDevice physicalDevice --   >     , uint32_t planeIndex@@ -133,7 +178,7 @@ --   >     , VkDisplayKHR* pDisplays --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetDisplayPlaneSupportedDisplaysKHR.html vkGetDisplayPlaneSupportedDisplaysKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDisplayPlaneSupportedDisplaysKHR.html vkGetDisplayPlaneSupportedDisplaysKHR registry at www.khronos.org> foreign import ccall unsafe "vkGetDisplayPlaneSupportedDisplaysKHR"                vkGetDisplayPlaneSupportedDisplaysKHR ::                VkPhysicalDevice -- ^ physicalDevice@@ -147,6 +192,27 @@ -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'. --+--   > VkResult vkGetDisplayPlaneSupportedDisplaysKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t planeIndex+--   >     , uint32_t* pDisplayCount+--   >     , VkDisplayKHR* pDisplays+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDisplayPlaneSupportedDisplaysKHR.html vkGetDisplayPlaneSupportedDisplaysKHR registry at www.khronos.org>+foreign import ccall safe "vkGetDisplayPlaneSupportedDisplaysKHR"+               vkGetDisplayPlaneSupportedDisplaysKHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Word32 -- ^ planeIndex+                        -> Ptr Word32 -- ^ pDisplayCount+                                      -> Ptr VkDisplayKHR -- ^ pDisplays+                                                          -> IO VkResult++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+-- --   > VkResult vkGetDisplayModePropertiesKHR --   >     ( VkPhysicalDevice physicalDevice --   >     , VkDisplayKHR display@@ -154,7 +220,7 @@ --   >     , VkDisplayModePropertiesKHR* pProperties --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetDisplayModePropertiesKHR.html vkGetDisplayModePropertiesKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDisplayModePropertiesKHR.html vkGetDisplayModePropertiesKHR registry at www.khronos.org> foreign import ccall unsafe "vkGetDisplayModePropertiesKHR"                vkGetDisplayModePropertiesKHR ::                VkPhysicalDevice -- ^ physicalDevice@@ -165,6 +231,28 @@                               -> Ptr VkDisplayModePropertiesKHR -- ^ pProperties                                                                 -> IO VkResult +-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkGetDisplayModePropertiesKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkDisplayKHR display+--   >     , uint32_t* pPropertyCount+--   >     , VkDisplayModePropertiesKHR* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDisplayModePropertiesKHR.html vkGetDisplayModePropertiesKHR registry at www.khronos.org>+foreign import ccall safe "vkGetDisplayModePropertiesKHR"+               vkGetDisplayModePropertiesKHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 VkDisplayKHR -- ^ display+                              ->+                   Ptr Word32 -- ^ pPropertyCount+                              -> Ptr VkDisplayModePropertiesKHR -- ^ pProperties+                                                                -> IO VkResult+ -- | Success codes: 'VK_SUCCESS'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.@@ -177,7 +265,7 @@ --   >     , VkDisplayModeKHR* pMode --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateDisplayModeKHR.html vkCreateDisplayModeKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDisplayModeKHR.html vkCreateDisplayModeKHR registry at www.khronos.org> foreign import ccall unsafe "vkCreateDisplayModeKHR"                vkCreateDisplayModeKHR ::                VkPhysicalDevice -- ^ physicalDevice@@ -192,6 +280,31 @@  -- | Success codes: 'VK_SUCCESS'. --+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+--   > VkResult vkCreateDisplayModeKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkDisplayKHR display+--   >     , const VkDisplayModeCreateInfoKHR* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkDisplayModeKHR* pMode+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDisplayModeKHR.html vkCreateDisplayModeKHR registry at www.khronos.org>+foreign import ccall safe "vkCreateDisplayModeKHR"+               vkCreateDisplayModeKHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 VkDisplayKHR -- ^ display+                              ->+                   Ptr VkDisplayModeCreateInfoKHR -- ^ pCreateInfo+                                                  ->+                     Ptr VkAllocationCallbacks -- ^ pAllocator+                                               -> Ptr VkDisplayModeKHR -- ^ pMode+                                                                       -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+-- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'. -- --   > VkResult vkGetDisplayPlaneCapabilitiesKHR@@ -201,7 +314,7 @@ --   >     , VkDisplayPlaneCapabilitiesKHR* pCapabilities --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetDisplayPlaneCapabilitiesKHR.html vkGetDisplayPlaneCapabilitiesKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDisplayPlaneCapabilitiesKHR.html vkGetDisplayPlaneCapabilitiesKHR registry at www.khronos.org> foreign import ccall unsafe "vkGetDisplayPlaneCapabilitiesKHR"                vkGetDisplayPlaneCapabilitiesKHR ::                VkPhysicalDevice -- ^ physicalDevice@@ -216,6 +329,28 @@ -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'. --+--   > VkResult vkGetDisplayPlaneCapabilitiesKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkDisplayModeKHR mode+--   >     , uint32_t planeIndex+--   >     , VkDisplayPlaneCapabilitiesKHR* pCapabilities+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDisplayPlaneCapabilitiesKHR.html vkGetDisplayPlaneCapabilitiesKHR registry at www.khronos.org>+foreign import ccall safe "vkGetDisplayPlaneCapabilitiesKHR"+               vkGetDisplayPlaneCapabilitiesKHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 VkDisplayModeKHR -- ^ mode+                                  ->+                   Word32 -- ^ planeIndex+                          -> Ptr VkDisplayPlaneCapabilitiesKHR -- ^ pCapabilities+                                                               -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+-- --   > VkResult vkCreateDisplayPlaneSurfaceKHR --   >     ( VkInstance instance --   >     , const VkDisplaySurfaceCreateInfoKHR* pCreateInfo@@ -223,7 +358,7 @@ --   >     , VkSurfaceKHR* pSurface --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateDisplayPlaneSurfaceKHR.html vkCreateDisplayPlaneSurfaceKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDisplayPlaneSurfaceKHR.html vkCreateDisplayPlaneSurfaceKHR registry at www.khronos.org> foreign import ccall unsafe "vkCreateDisplayPlaneSurfaceKHR"                vkCreateDisplayPlaneSurfaceKHR ::                VkInstance -- ^ instance@@ -234,6 +369,28 @@                                              -> Ptr VkSurfaceKHR -- ^ pSurface                                                                  -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateDisplayPlaneSurfaceKHR+--   >     ( VkInstance instance+--   >     , const VkDisplaySurfaceCreateInfoKHR* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkSurfaceKHR* pSurface+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDisplayPlaneSurfaceKHR.html vkCreateDisplayPlaneSurfaceKHR registry at www.khronos.org>+foreign import ccall safe "vkCreateDisplayPlaneSurfaceKHR"+               vkCreateDisplayPlaneSurfaceKHRSafe ::+               VkInstance -- ^ instance+                          ->+                 Ptr VkDisplaySurfaceCreateInfoKHR -- ^ pCreateInfo+                                                   ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                 -> IO VkResult+ pattern VK_KHR_DISPLAY_SPEC_VERSION :: (Num a, Eq a) => a  pattern VK_KHR_DISPLAY_SPEC_VERSION = 21@@ -256,7 +413,7 @@  is_VK_KHR_DISPLAY_EXTENSION_NAME :: CString -> Bool is_VK_KHR_DISPLAY_EXTENSION_NAME-  = eqCStrings _VK_KHR_DISPLAY_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_DISPLAY_EXTENSION_NAME  type VK_KHR_DISPLAY_EXTENSION_NAME = "VK_KHR_display" 
src-gen/Graphics/Vulkan/Ext/VK_KHR_display_swapchain.hs view
@@ -32,7 +32,8 @@         module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Enum.VkStructureType,         -- > #include "vk_platform.h"-        vkCreateSharedSwapchainsKHR, module Graphics.Vulkan.Marshal,+        vkCreateSharedSwapchainsKHR, vkCreateSharedSwapchainsKHRSafe,+        module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Enum.VkColorSpaceKHR,         module Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR,         module Graphics.Vulkan.Types.Enum.VkFormat,@@ -91,7 +92,7 @@ --   >     , VkSwapchainKHR* pSwapchains --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateSharedSwapchainsKHR.html vkCreateSharedSwapchainsKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSharedSwapchainsKHR.html vkCreateSharedSwapchainsKHR registry at www.khronos.org> foreign import ccall unsafe "vkCreateSharedSwapchainsKHR"                vkCreateSharedSwapchainsKHR ::                VkDevice -- ^ device@@ -104,6 +105,31 @@                                                -> Ptr VkSwapchainKHR -- ^ pSwapchains                                                                      -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INCOMPATIBLE_DISPLAY_KHR', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_SURFACE_LOST_KHR'.+--+--   > VkResult vkCreateSharedSwapchainsKHR+--   >     ( VkDevice device+--   >     , uint32_t swapchainCount+--   >     , const VkSwapchainCreateInfoKHR* pCreateInfos+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkSwapchainKHR* pSwapchains+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSharedSwapchainsKHR.html vkCreateSharedSwapchainsKHR registry at www.khronos.org>+foreign import ccall safe "vkCreateSharedSwapchainsKHR"+               vkCreateSharedSwapchainsKHRSafe ::+               VkDevice -- ^ device+                        ->+                 Word32 -- ^ swapchainCount+                        ->+                   Ptr VkSwapchainCreateInfoKHR -- ^ pCreateInfos+                                                ->+                     Ptr VkAllocationCallbacks -- ^ pAllocator+                                               -> Ptr VkSwapchainKHR -- ^ pSwapchains+                                                                     -> IO VkResult+ pattern VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION :: (Num a, Eq a) => a  pattern VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION = 9@@ -127,7 +153,7 @@  is_VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME :: CString -> Bool is_VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME-  = eqCStrings _VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME  type VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME =      "VK_KHR_display_swapchain"
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds       #-} {-# LANGUAGE MagicHash       #-}@@ -23,28 +24,22 @@          -- ** Required extensions: 'VK_KHR_external_fence_capabilities'.         module Graphics.Vulkan.Types.Struct.VkExportFenceCreateInfoKHR,-        module Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlagsKHR,-        module Graphics.Vulkan.Types.Enum.VkFenceCreateFlags,-        module Graphics.Vulkan.Types.Struct.VkFenceCreateInfo,-        module Graphics.Vulkan.Types.Enum.VkFenceImportFlagsKHR,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.VkStructureType,-        -- > #include "vk_platform.h"+        module Graphics.Vulkan.Types.Enum.VkFenceImportFlagBitsKHR,+        module Graphics.Vulkan.Types.Bitmasks,         VK_KHR_EXTERNAL_FENCE_SPEC_VERSION,         pattern VK_KHR_EXTERNAL_FENCE_SPEC_VERSION,         VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME,         pattern VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME,-        pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR)+        pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR,+        pattern VK_FENCE_IMPORT_TEMPORARY_BIT_KHR)        where-import           GHC.Ptr                                                      (Ptr (..))+import           GHC.Ptr                                                 (Ptr (..))+import           Graphics.Vulkan.Core_1_1                                (pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO) import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Types.BaseTypes-import           Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlagsKHR-import           Graphics.Vulkan.Types.Enum.VkFenceCreateFlags-import           Graphics.Vulkan.Types.Enum.VkFenceImportFlagsKHR-import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Bitmasks+import           Graphics.Vulkan.Types.Enum.VkFenceImportFlagBitsKHR+import           Graphics.Vulkan.Types.Enum.VkFenceImportFlags           (VkFenceImportBitmask (..)) import           Graphics.Vulkan.Types.Struct.VkExportFenceCreateInfoKHR-import           Graphics.Vulkan.Types.Struct.VkFenceCreateInfo  pattern VK_KHR_EXTERNAL_FENCE_SPEC_VERSION :: (Num a, Eq a) => a @@ -69,12 +64,12 @@  is_VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME :: CString -> Bool is_VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME-  = eqCStrings _VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME  type VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME = "VK_KHR_external_fence" -pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR ::-        VkStructureType- pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR =-        VkStructureType 1000113000+        VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO++pattern VK_FENCE_IMPORT_TEMPORARY_BIT_KHR =+        VK_FENCE_IMPORT_TEMPORARY_BIT
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence_capabilities.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -23,69 +24,96 @@         --          -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.VkExternalFenceFeatureFlagsKHR,-        module Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlagsKHR,+        module Graphics.Vulkan.Types.Enum.VkExternalFenceFeatureFlagBitsKHR,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlagBitsKHR,         module Graphics.Vulkan.Types.Struct.VkExternalFencePropertiesKHR,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalFenceInfoKHR,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceIDPropertiesKHR,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,-        module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,-        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,-        module Graphics.Vulkan.Types.Enum.VkStructureType,-        -- > #include "vk_platform.h"         vkGetPhysicalDeviceExternalFencePropertiesKHR,+        vkGetPhysicalDeviceExternalFencePropertiesKHRSafe,+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkExternalFenceFeatureFlags,+        module Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlags,+        module Graphics.Vulkan.Types.Enum.VkStructureType,         module Graphics.Vulkan.Types.Handles,+        module Graphics.Vulkan.Types.Struct.VkExternalFenceProperties,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalFenceInfo,         VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION,         pattern VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION,         VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME,         pattern VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME,         pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR,         pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR,-        pattern VK_LUID_SIZE_KHR, VK_LUID_SIZE_KHR)+        pattern VK_LUID_SIZE_KHR,+        pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR,+        pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR,+        pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR,+        pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR,+        pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR,+        pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR)        where import           GHC.Ptr                                                                                     (Ptr (..)) import           Graphics.Vulkan.Constants-                                                                                    (VK_LUID_SIZE_KHR,-                                                                                    pattern VK_LUID_SIZE_KHR)+                                                                                    (pattern VK_LUID_SIZE_KHR)+import           Graphics.Vulkan.Core_1_1+                                                                                    (pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,+                                                                                    pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO) import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Types.BaseTypes-import           Graphics.Vulkan.Types.Enum.VkExternalFenceFeatureFlagsKHR-import           Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlagsKHR-import           Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType-import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags+import           Graphics.Vulkan.Types.Bitmasks+import           Graphics.Vulkan.Types.Enum.VkExternalFenceFeatureFlagBitsKHR+import           Graphics.Vulkan.Types.Enum.VkExternalFenceFeatureFlags+import           Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlagBitsKHR+import           Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlags import           Graphics.Vulkan.Types.Enum.VkStructureType import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkExternalFenceProperties import           Graphics.Vulkan.Types.Struct.VkExternalFencePropertiesKHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalFenceInfo import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalFenceInfoKHR import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceIDPropertiesKHR-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties --- | > () vkGetPhysicalDeviceExternalFencePropertiesKHR+-- | This is an alias for `vkGetPhysicalDeviceExternalFenceProperties`.+--+--   > () vkGetPhysicalDeviceExternalFencePropertiesKHR --   >     ( VkPhysicalDevice physicalDevice---   >     , const VkPhysicalDeviceExternalFenceInfoKHR* pExternalFenceInfo---   >     , VkExternalFencePropertiesKHR* pExternalFenceProperties+--   >     , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo+--   >     , VkExternalFenceProperties* pExternalFenceProperties --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceExternalFencePropertiesKHR.html vkGetPhysicalDeviceExternalFencePropertiesKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalFencePropertiesKHR.html vkGetPhysicalDeviceExternalFencePropertiesKHR registry at www.khronos.org> foreign import ccall unsafe-               "vkGetPhysicalDeviceExternalFencePropertiesKHR"+               "vkGetPhysicalDeviceExternalFenceProperties"                vkGetPhysicalDeviceExternalFencePropertiesKHR ::                VkPhysicalDevice -- ^ physicalDevice                                 ->-                 Ptr VkPhysicalDeviceExternalFenceInfoKHR -- ^ pExternalFenceInfo-                                                          ->-                   Ptr VkExternalFencePropertiesKHR -- ^ pExternalFenceProperties-                                                    -> IO ()+                 Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo+                                                       ->+                   Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties+                                                 -> IO () +-- | This is an alias for `vkGetPhysicalDeviceExternalFenceProperties`.+--+--   > () vkGetPhysicalDeviceExternalFencePropertiesKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo+--   >     , VkExternalFenceProperties* pExternalFenceProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalFencePropertiesKHR.html vkGetPhysicalDeviceExternalFencePropertiesKHR registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceExternalFenceProperties"+               vkGetPhysicalDeviceExternalFencePropertiesKHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo+                                                       ->+                   Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties+                                                 -> IO ()+ pattern VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION ::         (Num a, Eq a) => a @@ -112,19 +140,32 @@ is_VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME ::                                                      CString -> Bool is_VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME-  = eqCStrings _VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME  type VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME =      "VK_KHR_external_fence_capabilities" -pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR-        :: VkStructureType- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR =-        VkStructureType 1000112000--pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR ::-        VkStructureType+        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO  pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR =-        VkStructureType 1000112001+        VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES++pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR =+        VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT++pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR =+        VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT++pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR =+        VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT++pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR =+        VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT++pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR =+        VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT++pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR =+        VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence_fd.hs view
@@ -24,15 +24,15 @@          -- ** Required extensions: 'VK_KHR_external_fence'.         module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlagsKHR,+        module Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlags,         module Graphics.Vulkan.Types.Struct.VkFenceGetFdInfoKHR,-        module Graphics.Vulkan.Types.Enum.VkFenceImportFlagsKHR,+        module Graphics.Vulkan.Types.Enum.VkFenceImportFlags,         module Graphics.Vulkan.Types.BaseTypes,         module Graphics.Vulkan.Types.Struct.VkImportFenceFdInfoKHR,         module Graphics.Vulkan.Types.Enum.VkStructureType,         -- > #include "vk_platform.h"-        vkImportFenceFdKHR, vkGetFenceFdKHR,-        module Graphics.Vulkan.Types.Enum.VkResult,+        vkImportFenceFdKHR, vkImportFenceFdKHRSafe, vkGetFenceFdKHR,+        vkGetFenceFdKHRSafe, module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Handles,         VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION,         pattern VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION,@@ -41,11 +41,11 @@         pattern VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR,         pattern VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR)        where-import           GHC.Ptr                                                      (Ptr (..))+import           GHC.Ptr                                                   (Ptr (..)) import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Types.BaseTypes-import           Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlagsKHR-import           Graphics.Vulkan.Types.Enum.VkFenceImportFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlags+import           Graphics.Vulkan.Types.Enum.VkFenceImportFlags import           Graphics.Vulkan.Types.Enum.VkResult import           Graphics.Vulkan.Types.Enum.VkStructureType import           Graphics.Vulkan.Types.Handles@@ -54,14 +54,14 @@  -- | Success codes: 'VK_SUCCESS'. -----   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR'.+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'. -- --   > VkResult vkImportFenceFdKHR --   >     ( VkDevice device --   >     , const VkImportFenceFdInfoKHR* pImportFenceFdInfo --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkImportFenceFdKHR.html vkImportFenceFdKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkImportFenceFdKHR.html vkImportFenceFdKHR registry at www.khronos.org> foreign import ccall unsafe "vkImportFenceFdKHR" vkImportFenceFdKHR                :: VkDevice -- ^ device                            -> Ptr VkImportFenceFdInfoKHR -- ^ pImportFenceFdInfo@@ -69,6 +69,22 @@  -- | Success codes: 'VK_SUCCESS'. --+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.+--+--   > VkResult vkImportFenceFdKHR+--   >     ( VkDevice device+--   >     , const VkImportFenceFdInfoKHR* pImportFenceFdInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkImportFenceFdKHR.html vkImportFenceFdKHR registry at www.khronos.org>+foreign import ccall safe "vkImportFenceFdKHR"+               vkImportFenceFdKHRSafe ::+               VkDevice -- ^ device+                        -> Ptr VkImportFenceFdInfoKHR -- ^ pImportFenceFdInfo+                                                      -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+-- --   Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'. -- --   > VkResult vkGetFenceFdKHR@@ -77,13 +93,30 @@ --   >     , int* pFd --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetFenceFdKHR.html vkGetFenceFdKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetFenceFdKHR.html vkGetFenceFdKHR registry at www.khronos.org> foreign import ccall unsafe "vkGetFenceFdKHR" vkGetFenceFdKHR ::                VkDevice -- ^ device                         -> Ptr VkFenceGetFdInfoKHR -- ^ pGetFdInfo                                                    -> Ptr CInt -- ^ pFd                                                                -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'.+--+--   > VkResult vkGetFenceFdKHR+--   >     ( VkDevice device+--   >     , const VkFenceGetFdInfoKHR* pGetFdInfo+--   >     , int* pFd+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetFenceFdKHR.html vkGetFenceFdKHR registry at www.khronos.org>+foreign import ccall safe "vkGetFenceFdKHR" vkGetFenceFdKHRSafe ::+               VkDevice -- ^ device+                        -> Ptr VkFenceGetFdInfoKHR -- ^ pGetFdInfo+                                                   -> Ptr CInt -- ^ pFd+                                                               -> IO VkResult+ pattern VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION :: (Num a, Eq a) => a  pattern VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION = 1@@ -107,7 +140,7 @@  is_VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME :: CString -> Bool is_VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME-  = eqCStrings _VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME  type VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME =      "VK_KHR_external_fence_fd"
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence_win32.hs view
@@ -17,27 +17,26 @@         --         -- type: @device@         --+        -- platform: @win32@+        --         -- Extension number: @115@         --         -- Required extensions: 'VK_KHR_external_fence'.         ---        -- Protected by CPP ifdef: @VK_USE_PLATFORM_WIN32_KHR@-        --          -- ** Required extensions: 'VK_KHR_external_fence'.         module Graphics.Vulkan.Types.Struct.VkExportFenceWin32HandleInfoKHR,-        module Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlagsKHR,+        module Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlags,         module Graphics.Vulkan.Types.Enum.VkFenceCreateFlags,         module Graphics.Vulkan.Types.Struct.VkFenceCreateInfo,         module Graphics.Vulkan.Types.Struct.VkFenceGetWin32HandleInfoKHR,-        module Graphics.Vulkan.Types.Enum.VkFenceImportFlagsKHR,+        module Graphics.Vulkan.Types.Enum.VkFenceImportFlags,         module Graphics.Vulkan.Types.BaseTypes,         module Graphics.Vulkan.Types.Struct.VkImportFenceWin32HandleInfoKHR,         module Graphics.Vulkan.Types.Enum.VkStructureType,         -- > #include "vk_platform.h"-        ---        -- > #include <windows.h>-        vkImportFenceWin32HandleKHR, vkGetFenceWin32HandleKHR,+        vkImportFenceWin32HandleKHR, vkImportFenceWin32HandleKHRSafe,+        vkGetFenceWin32HandleKHR, vkGetFenceWin32HandleKHRSafe,         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Handles,@@ -53,9 +52,9 @@ import           GHC.Ptr                                                      (Ptr (..)) import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Types.BaseTypes-import           Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlags import           Graphics.Vulkan.Types.Enum.VkFenceCreateFlags-import           Graphics.Vulkan.Types.Enum.VkFenceImportFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkFenceImportFlags import           Graphics.Vulkan.Types.Enum.VkResult import           Graphics.Vulkan.Types.Enum.VkStructureType import           Graphics.Vulkan.Types.Handles@@ -67,14 +66,14 @@  -- | Success codes: 'VK_SUCCESS'. -----   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR'.+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'. -- --   > VkResult vkImportFenceWin32HandleKHR --   >     ( VkDevice device --   >     , const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkImportFenceWin32HandleKHR.html vkImportFenceWin32HandleKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkImportFenceWin32HandleKHR.html vkImportFenceWin32HandleKHR registry at www.khronos.org> foreign import ccall unsafe "vkImportFenceWin32HandleKHR"                vkImportFenceWin32HandleKHR ::                VkDevice -- ^ device@@ -83,6 +82,22 @@  -- | Success codes: 'VK_SUCCESS'. --+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.+--+--   > VkResult vkImportFenceWin32HandleKHR+--   >     ( VkDevice device+--   >     , const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkImportFenceWin32HandleKHR.html vkImportFenceWin32HandleKHR registry at www.khronos.org>+foreign import ccall safe "vkImportFenceWin32HandleKHR"+               vkImportFenceWin32HandleKHRSafe ::+               VkDevice -- ^ device+                        -> Ptr VkImportFenceWin32HandleInfoKHR -- ^ pImportFenceWin32HandleInfo+                                                               -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+-- --   Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'. -- --   > VkResult vkGetFenceWin32HandleKHR@@ -91,7 +106,7 @@ --   >     , HANDLE* pHandle --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetFenceWin32HandleKHR.html vkGetFenceWin32HandleKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetFenceWin32HandleKHR.html vkGetFenceWin32HandleKHR registry at www.khronos.org> foreign import ccall unsafe "vkGetFenceWin32HandleKHR"                vkGetFenceWin32HandleKHR ::                VkDevice -- ^ device@@ -100,6 +115,25 @@                                                   -> Ptr HANDLE -- ^ pHandle                                                                 -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'.+--+--   > VkResult vkGetFenceWin32HandleKHR+--   >     ( VkDevice device+--   >     , const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo+--   >     , HANDLE* pHandle+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetFenceWin32HandleKHR.html vkGetFenceWin32HandleKHR registry at www.khronos.org>+foreign import ccall safe "vkGetFenceWin32HandleKHR"+               vkGetFenceWin32HandleKHRSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkFenceGetWin32HandleInfoKHR -- ^ pGetWin32HandleInfo+                                                  -> Ptr HANDLE -- ^ pHandle+                                                                -> IO VkResult+ pattern VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION ::         (Num a, Eq a) => a @@ -124,7 +158,7 @@  is_VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME :: CString -> Bool is_VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME-  = eqCStrings _VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME  type VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME =      "VK_KHR_external_fence_win32"
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_memory.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds       #-} {-# LANGUAGE MagicHash       #-}@@ -22,27 +23,9 @@         --          -- ** Required extensions: 'VK_KHR_external_memory_capabilities'.-        module Graphics.Vulkan.Types.Enum.VkBufferCreateFlags,-        module Graphics.Vulkan.Types.Struct.VkBufferCreateInfo,-        module Graphics.Vulkan.Types.Enum.VkBufferUsageFlags,-        module Graphics.Vulkan.Types.BaseTypes,         module Graphics.Vulkan.Types.Struct.VkExportMemoryAllocateInfoKHR,-        module Graphics.Vulkan.Types.Struct.VkExtent3D,         module Graphics.Vulkan.Types.Struct.VkExternalMemoryBufferCreateInfoKHR,-        module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsKHR,         module Graphics.Vulkan.Types.Struct.VkExternalMemoryImageCreateInfoKHR,-        module Graphics.Vulkan.Types.Enum.VkFormat,-        module Graphics.Vulkan.Types.Enum.VkImageCreateFlags,-        module Graphics.Vulkan.Types.Struct.VkImageCreateInfo,-        module Graphics.Vulkan.Types.Enum.VkImageLayout,-        module Graphics.Vulkan.Types.Enum.VkImageTiling,-        module Graphics.Vulkan.Types.Enum.VkImageType,-        module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,-        module Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo,-        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,-        module Graphics.Vulkan.Types.Enum.VkSharingMode,-        module Graphics.Vulkan.Types.Enum.VkStructureType,-        -- > #include "vk_platform.h"         VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION,         pattern VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION,         VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME,@@ -51,36 +34,21 @@         pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR,         pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR,         pattern VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR,-        pattern VK_QUEUE_FAMILY_EXTERNAL_KHR, VK_QUEUE_FAMILY_EXTERNAL_KHR)+        pattern VK_QUEUE_FAMILY_EXTERNAL_KHR)        where import           GHC.Ptr                                                                                    (Ptr (..)) import           Graphics.Vulkan.Constants-                                                                                   (VK_QUEUE_FAMILY_EXTERNAL_KHR,-                                                                                   pattern VK_QUEUE_FAMILY_EXTERNAL_KHR)+                                                                                   (pattern VK_QUEUE_FAMILY_EXTERNAL_KHR)+import           Graphics.Vulkan.Core_1_1+                                                                                   (pattern VK_ERROR_INVALID_EXTERNAL_HANDLE,+                                                                                   pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,+                                                                                   pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,+                                                                                   pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO) import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Types.BaseTypes-import           Graphics.Vulkan.Types.Enum.VkBufferCreateFlags-import           Graphics.Vulkan.Types.Enum.VkBufferUsageFlags-import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsKHR-import           Graphics.Vulkan.Types.Enum.VkFormat-import           Graphics.Vulkan.Types.Enum.VkImageCreateFlags-import           Graphics.Vulkan.Types.Enum.VkImageLayout-import           Graphics.Vulkan.Types.Enum.VkImageTiling-import           Graphics.Vulkan.Types.Enum.VkImageType-import           Graphics.Vulkan.Types.Enum.VkImageUsageFlags-import           Graphics.Vulkan.Types.Enum.VkResult-                                                                                   (VkResult (..))-import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import           Graphics.Vulkan.Types.Enum.VkSharingMode-import           Graphics.Vulkan.Types.Enum.VkStructureType-import           Graphics.Vulkan.Types.Struct.VkBufferCreateInfo import           Graphics.Vulkan.Types.Struct.VkExportMemoryAllocateInfoKHR-import           Graphics.Vulkan.Types.Struct.VkExtent3D import           Graphics.Vulkan.Types.Struct.VkExternalMemoryBufferCreateInfoKHR import           Graphics.Vulkan.Types.Struct.VkExternalMemoryImageCreateInfoKHR-import           Graphics.Vulkan.Types.Struct.VkImageCreateInfo-import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo  pattern VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION :: (Num a, Eq a) => a @@ -105,30 +73,19 @@  is_VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME :: CString -> Bool is_VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME-  = eqCStrings _VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME  type VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME =      "VK_KHR_external_memory" -pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR ::-        VkStructureType- pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR =-        VkStructureType 1000072000--pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR ::-        VkStructureType+        VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO  pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR =-        VkStructureType 1000072001--pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR ::-        VkStructureType+        VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO  pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR =-        VkStructureType 1000072002--pattern VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR :: VkResult+        VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO  pattern VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR =-        VkResult (-1000072003)+        VK_ERROR_INVALID_EXTERNAL_HANDLE
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_memory_capabilities.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -23,37 +24,28 @@         --          -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.VkBufferCreateFlags,-        module Graphics.Vulkan.Types.Enum.VkBufferUsageFlags,-        module Graphics.Vulkan.Types.Struct.VkExtent3D,         module Graphics.Vulkan.Types.Struct.VkExternalBufferPropertiesKHR,         module Graphics.Vulkan.Types.Struct.VkExternalImageFormatPropertiesKHR,-        module Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlagsKHR,-        module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsKHR,+        module Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlagBitsKHR,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagBitsKHR,         module Graphics.Vulkan.Types.Struct.VkExternalMemoryPropertiesKHR,-        module Graphics.Vulkan.Types.Enum.VkFormat,-        module Graphics.Vulkan.Types.Enum.VkImageCreateFlags,-        module Graphics.Vulkan.Types.Struct.VkImageFormatProperties,-        module Graphics.Vulkan.Types.Struct.VkImageFormatProperties2KHR,-        module Graphics.Vulkan.Types.Enum.VkImageTiling,-        module Graphics.Vulkan.Types.Enum.VkImageType,-        module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalBufferInfoKHR,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalImageFormatInfoKHR,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceIDPropertiesKHR,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceImageFormatInfo2KHR,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,-        module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,-        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,-        module Graphics.Vulkan.Types.Enum.VkStructureType,-        -- > #include "vk_platform.h"         vkGetPhysicalDeviceExternalBufferPropertiesKHR,+        vkGetPhysicalDeviceExternalBufferPropertiesKHRSafe,+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkBufferCreateFlags,+        module Graphics.Vulkan.Types.Enum.VkBufferUsageFlags,+        module Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlags,+        module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags,+        module Graphics.Vulkan.Types.Enum.VkStructureType,         module Graphics.Vulkan.Types.Handles,+        module Graphics.Vulkan.Types.Struct.VkExternalBufferProperties,+        module Graphics.Vulkan.Types.Struct.VkExternalMemoryProperties,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalBufferInfo,         VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION,         pattern VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION,         VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME,@@ -63,60 +55,87 @@         pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR,         pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR,         pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR,-        pattern VK_LUID_SIZE_KHR, VK_LUID_SIZE_KHR)+        pattern VK_LUID_SIZE_KHR,+        pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR,+        pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR,+        pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR,+        pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR,+        pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR,+        pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR,+        pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR,+        pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR,+        pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR,+        pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR)        where import           GHC.Ptr                                                                                           (Ptr (..)) import           Graphics.Vulkan.Constants-                                                                                          (VK_LUID_SIZE_KHR,-                                                                                          pattern VK_LUID_SIZE_KHR)+                                                                                          (pattern VK_LUID_SIZE_KHR)+import           Graphics.Vulkan.Core_1_1+                                                                                          (pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,+                                                                                          pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,+                                                                                          pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,+                                                                                          pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,+                                                                                          pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES) import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Bitmasks import           Graphics.Vulkan.Types.Enum.VkBufferCreateFlags import           Graphics.Vulkan.Types.Enum.VkBufferUsageFlags-import           Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlagsKHR-import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsKHR-import           Graphics.Vulkan.Types.Enum.VkFormat-import           Graphics.Vulkan.Types.Enum.VkImageCreateFlags-import           Graphics.Vulkan.Types.Enum.VkImageTiling-import           Graphics.Vulkan.Types.Enum.VkImageType-import           Graphics.Vulkan.Types.Enum.VkImageUsageFlags-import           Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType-import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlagBitsKHR+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlags+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagBitsKHR+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags import           Graphics.Vulkan.Types.Enum.VkStructureType import           Graphics.Vulkan.Types.Handles-import           Graphics.Vulkan.Types.Struct.VkExtent3D+import           Graphics.Vulkan.Types.Struct.VkExternalBufferProperties import           Graphics.Vulkan.Types.Struct.VkExternalBufferPropertiesKHR import           Graphics.Vulkan.Types.Struct.VkExternalImageFormatPropertiesKHR+import           Graphics.Vulkan.Types.Struct.VkExternalMemoryProperties import           Graphics.Vulkan.Types.Struct.VkExternalMemoryPropertiesKHR-import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties-import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties2KHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalBufferInfo import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalBufferInfoKHR import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalImageFormatInfoKHR import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceIDPropertiesKHR-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceImageFormatInfo2KHR-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties --- | > () vkGetPhysicalDeviceExternalBufferPropertiesKHR+-- | This is an alias for `vkGetPhysicalDeviceExternalBufferProperties`.+--+--   > () vkGetPhysicalDeviceExternalBufferPropertiesKHR --   >     ( VkPhysicalDevice physicalDevice---   >     , const VkPhysicalDeviceExternalBufferInfoKHR* pExternalBufferInfo---   >     , VkExternalBufferPropertiesKHR* pExternalBufferProperties+--   >     , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo+--   >     , VkExternalBufferProperties* pExternalBufferProperties --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceExternalBufferPropertiesKHR.html vkGetPhysicalDeviceExternalBufferPropertiesKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalBufferPropertiesKHR.html vkGetPhysicalDeviceExternalBufferPropertiesKHR registry at www.khronos.org> foreign import ccall unsafe-               "vkGetPhysicalDeviceExternalBufferPropertiesKHR"+               "vkGetPhysicalDeviceExternalBufferProperties"                vkGetPhysicalDeviceExternalBufferPropertiesKHR ::                VkPhysicalDevice -- ^ physicalDevice                                 ->-                 Ptr VkPhysicalDeviceExternalBufferInfoKHR -- ^ pExternalBufferInfo-                                                           ->-                   Ptr VkExternalBufferPropertiesKHR -- ^ pExternalBufferProperties-                                                     -> IO ()+                 Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo+                                                        ->+                   Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties+                                                  -> IO () +-- | This is an alias for `vkGetPhysicalDeviceExternalBufferProperties`.+--+--   > () vkGetPhysicalDeviceExternalBufferPropertiesKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo+--   >     , VkExternalBufferProperties* pExternalBufferProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalBufferPropertiesKHR.html vkGetPhysicalDeviceExternalBufferPropertiesKHR registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceExternalBufferProperties"+               vkGetPhysicalDeviceExternalBufferPropertiesKHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo+                                                        ->+                   Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties+                                                  -> IO ()+ pattern VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION ::         (Num a, Eq a) => a @@ -144,37 +163,53 @@ is_VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME ::                                                       CString -> Bool is_VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME-  = eqCStrings _VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME  type VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME =      "VK_KHR_external_memory_capabilities"  pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR-        :: VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR-        = VkStructureType 1000071000--pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR ::-        VkStructureType+        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO  pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR =-        VkStructureType 1000071001+        VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES  pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR-        :: VkStructureType+        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO -pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR-        = VkStructureType 1000071002+pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR =+        VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES -pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR ::-        VkStructureType+pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR =+        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES -pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR =-        VkStructureType 1000071003+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR =+        VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT -pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR ::-        VkStructureType+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR =+        VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT -pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR =-        VkStructureType 1000071004+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR =+        VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR =+        VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR =+        VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR =+        VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR =+        VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT++pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR =+        VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT++pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR =+        VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT++pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR =+        VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_memory_fd.hs view
@@ -14,7 +14,7 @@         --         -- contact: @James Jones @cubanismo@         ---        -- author: @KHX@+        -- author: @KHR@         --         -- type: @device@         --@@ -26,14 +26,15 @@         -- ** Required extensions: 'VK_KHR_external_memory'.         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsKHR,+        module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags,         module Graphics.Vulkan.Types.Struct.VkImportMemoryFdInfoKHR,         module Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo,         module Graphics.Vulkan.Types.Struct.VkMemoryFdPropertiesKHR,         module Graphics.Vulkan.Types.Struct.VkMemoryGetFdInfoKHR,         module Graphics.Vulkan.Types.Enum.VkStructureType,         -- > #include "vk_platform.h"-        vkGetMemoryFdKHR, vkGetMemoryFdPropertiesKHR,+        vkGetMemoryFdKHR, vkGetMemoryFdKHRSafe, vkGetMemoryFdPropertiesKHR,+        vkGetMemoryFdPropertiesKHRSafe,         module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Handles,         VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION,@@ -44,10 +45,10 @@         pattern VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR,         pattern VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR)        where-import           GHC.Ptr                                                       (Ptr (..))+import           GHC.Ptr                                                    (Ptr (..)) import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Types.BaseTypes-import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags import           Graphics.Vulkan.Types.Enum.VkResult import           Graphics.Vulkan.Types.Enum.VkStructureType import           Graphics.Vulkan.Types.Handles@@ -66,7 +67,7 @@ --   >     , int* pFd --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetMemoryFdKHR.html vkGetMemoryFdKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryFdKHR.html vkGetMemoryFdKHR registry at www.khronos.org> foreign import ccall unsafe "vkGetMemoryFdKHR" vkGetMemoryFdKHR ::                VkDevice -- ^ device                         -> Ptr VkMemoryGetFdInfoKHR -- ^ pGetFdInfo@@ -75,26 +76,65 @@  -- | Success codes: 'VK_SUCCESS'. -----   Error codes: 'VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR'.+--   Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'. --+--   > VkResult vkGetMemoryFdKHR+--   >     ( VkDevice device+--   >     , const VkMemoryGetFdInfoKHR* pGetFdInfo+--   >     , int* pFd+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryFdKHR.html vkGetMemoryFdKHR registry at www.khronos.org>+foreign import ccall safe "vkGetMemoryFdKHR" vkGetMemoryFdKHRSafe+               :: VkDevice -- ^ device+                           -> Ptr VkMemoryGetFdInfoKHR -- ^ pGetFdInfo+                                                       -> Ptr CInt -- ^ pFd+                                                                   -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.+-- --   > VkResult vkGetMemoryFdPropertiesKHR --   >     ( VkDevice device---   >     , VkExternalMemoryHandleTypeFlagBitsKHR handleType+--   >     , VkExternalMemoryHandleTypeFlagBits handleType --   >     , int fd --   >     , VkMemoryFdPropertiesKHR* pMemoryFdProperties --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetMemoryFdPropertiesKHR.html vkGetMemoryFdPropertiesKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryFdPropertiesKHR.html vkGetMemoryFdPropertiesKHR registry at www.khronos.org> foreign import ccall unsafe "vkGetMemoryFdPropertiesKHR"                vkGetMemoryFdPropertiesKHR ::                VkDevice -- ^ device                         ->-                 VkExternalMemoryHandleTypeFlagBitsKHR -- ^ handleType-                                                       ->+                 VkExternalMemoryHandleTypeFlagBits -- ^ handleType+                                                    ->                    CInt -- ^ fd                         -> Ptr VkMemoryFdPropertiesKHR -- ^ pMemoryFdProperties                                                        -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.+--+--   > VkResult vkGetMemoryFdPropertiesKHR+--   >     ( VkDevice device+--   >     , VkExternalMemoryHandleTypeFlagBits handleType+--   >     , int fd+--   >     , VkMemoryFdPropertiesKHR* pMemoryFdProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryFdPropertiesKHR.html vkGetMemoryFdPropertiesKHR registry at www.khronos.org>+foreign import ccall safe "vkGetMemoryFdPropertiesKHR"+               vkGetMemoryFdPropertiesKHRSafe ::+               VkDevice -- ^ device+                        ->+                 VkExternalMemoryHandleTypeFlagBits -- ^ handleType+                                                    ->+                   CInt -- ^ fd+                        -> Ptr VkMemoryFdPropertiesKHR -- ^ pMemoryFdProperties+                                                       -> IO VkResult+ pattern VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION :: (Num a, Eq a) =>         a @@ -119,7 +159,7 @@  is_VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME :: CString -> Bool is_VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME-  = eqCStrings _VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME  type VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME =      "VK_KHR_external_memory_fd"
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_memory_win32.hs view
@@ -18,26 +18,26 @@         --         -- type: @device@         --+        -- platform: @win32@+        --         -- Extension number: @74@         --         -- Required extensions: 'VK_KHR_external_memory'.         ---        -- Protected by CPP ifdef: @VK_USE_PLATFORM_WIN32_KHR@-        --          -- ** Required extensions: 'VK_KHR_external_memory'.         module Graphics.Vulkan.Types.BaseTypes,         module Graphics.Vulkan.Types.Struct.VkExportMemoryWin32HandleInfoKHR,-        module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsKHR,+        module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags,         module Graphics.Vulkan.Types.Struct.VkImportMemoryWin32HandleInfoKHR,         module Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo,         module Graphics.Vulkan.Types.Struct.VkMemoryGetWin32HandleInfoKHR,         module Graphics.Vulkan.Types.Struct.VkMemoryWin32HandlePropertiesKHR,         module Graphics.Vulkan.Types.Enum.VkStructureType,         -- > #include "vk_platform.h"-        ---        -- > #include <windows.h>-        vkGetMemoryWin32HandleKHR, vkGetMemoryWin32HandlePropertiesKHR,+        vkGetMemoryWin32HandleKHR, vkGetMemoryWin32HandleKHRSafe,+        vkGetMemoryWin32HandlePropertiesKHR,+        vkGetMemoryWin32HandlePropertiesKHRSafe,         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Handles,@@ -53,7 +53,7 @@ import           GHC.Ptr                                                       (Ptr (..)) import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Types.BaseTypes-import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags import           Graphics.Vulkan.Types.Enum.VkResult import           Graphics.Vulkan.Types.Enum.VkStructureType import           Graphics.Vulkan.Types.Handles@@ -74,7 +74,7 @@ --   >     , HANDLE* pHandle --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetMemoryWin32HandleKHR.html vkGetMemoryWin32HandleKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryWin32HandleKHR.html vkGetMemoryWin32HandleKHR registry at www.khronos.org> foreign import ccall unsafe "vkGetMemoryWin32HandleKHR"                vkGetMemoryWin32HandleKHR ::                VkDevice -- ^ device@@ -85,26 +85,67 @@  -- | Success codes: 'VK_SUCCESS'. -----   Error codes: 'VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR'.+--   Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'. --+--   > VkResult vkGetMemoryWin32HandleKHR+--   >     ( VkDevice device+--   >     , const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo+--   >     , HANDLE* pHandle+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryWin32HandleKHR.html vkGetMemoryWin32HandleKHR registry at www.khronos.org>+foreign import ccall safe "vkGetMemoryWin32HandleKHR"+               vkGetMemoryWin32HandleKHRSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkMemoryGetWin32HandleInfoKHR -- ^ pGetWin32HandleInfo+                                                   -> Ptr HANDLE -- ^ pHandle+                                                                 -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.+-- --   > VkResult vkGetMemoryWin32HandlePropertiesKHR --   >     ( VkDevice device---   >     , VkExternalMemoryHandleTypeFlagBitsKHR handleType+--   >     , VkExternalMemoryHandleTypeFlagBits handleType --   >     , HANDLE handle --   >     , VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetMemoryWin32HandlePropertiesKHR.html vkGetMemoryWin32HandlePropertiesKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryWin32HandlePropertiesKHR.html vkGetMemoryWin32HandlePropertiesKHR registry at www.khronos.org> foreign import ccall unsafe "vkGetMemoryWin32HandlePropertiesKHR"                vkGetMemoryWin32HandlePropertiesKHR ::                VkDevice -- ^ device                         ->-                 VkExternalMemoryHandleTypeFlagBitsKHR -- ^ handleType-                                                       ->+                 VkExternalMemoryHandleTypeFlagBits -- ^ handleType+                                                    ->                    HANDLE -- ^ handle                           -> Ptr VkMemoryWin32HandlePropertiesKHR -- ^ pMemoryWin32HandleProperties                                                                   -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.+--+--   > VkResult vkGetMemoryWin32HandlePropertiesKHR+--   >     ( VkDevice device+--   >     , VkExternalMemoryHandleTypeFlagBits handleType+--   >     , HANDLE handle+--   >     , VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryWin32HandlePropertiesKHR.html vkGetMemoryWin32HandlePropertiesKHR registry at www.khronos.org>+foreign import ccall safe "vkGetMemoryWin32HandlePropertiesKHR"+               vkGetMemoryWin32HandlePropertiesKHRSafe ::+               VkDevice -- ^ device+                        ->+                 VkExternalMemoryHandleTypeFlagBits -- ^ handleType+                                                    ->+                   HANDLE -- ^ handle+                          -> Ptr VkMemoryWin32HandlePropertiesKHR -- ^ pMemoryWin32HandleProperties+                                                                  -> IO VkResult+ pattern VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION ::         (Num a, Eq a) => a @@ -129,7 +170,8 @@  is_VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME :: CString -> Bool is_VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME-  = eqCStrings _VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME  type VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME =      "VK_KHR_external_memory_win32"
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_semaphore.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds       #-} {-# LANGUAGE MagicHash       #-}@@ -23,29 +24,22 @@          -- ** Required extensions: 'VK_KHR_external_semaphore_capabilities'.         module Graphics.Vulkan.Types.Struct.VkExportSemaphoreCreateInfoKHR,-        module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlagsKHR,-        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlagBitsKHR,         module Graphics.Vulkan.Types.Bitmasks,-        module Graphics.Vulkan.Types.Struct.VkSemaphoreCreateInfo,-        module Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlagsKHR,-        module Graphics.Vulkan.Types.Enum.VkStructureType,-        -- > #include "vk_platform.h"         VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION,         pattern VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION,         VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME,         pattern VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME,-        pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR)+        pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR,+        pattern VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR)        where-import           GHC.Ptr-                                                                                   (Ptr (..))+import           GHC.Ptr                                                     (Ptr (..))+import           Graphics.Vulkan.Core_1_1                                    (pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO) import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Types.BaseTypes import           Graphics.Vulkan.Types.Bitmasks-import           Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlagsKHR-import           Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlagsKHR-import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlagBitsKHR+import           Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlags           (VkSemaphoreImportBitmask (..)) import           Graphics.Vulkan.Types.Struct.VkExportSemaphoreCreateInfoKHR-import           Graphics.Vulkan.Types.Struct.VkSemaphoreCreateInfo  pattern VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION :: (Num a, Eq a) =>         a@@ -71,13 +65,13 @@  is_VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME :: CString -> Bool is_VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME-  = eqCStrings _VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME  type VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME =      "VK_KHR_external_semaphore" -pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR ::-        VkStructureType- pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR =-        VkStructureType 1000077000+        VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO++pattern VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR =+        VK_SEMAPHORE_IMPORT_TEMPORARY_BIT
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_semaphore_capabilities.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -23,69 +24,97 @@         --          -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreFeatureFlagsKHR,-        module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlagsKHR,+        module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreFeatureFlagBitsKHR,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlagBitsKHR,         module Graphics.Vulkan.Types.Struct.VkExternalSemaphorePropertiesKHR,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalSemaphoreInfoKHR,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceIDPropertiesKHR,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,-        module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,-        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,-        module Graphics.Vulkan.Types.Enum.VkStructureType,-        -- > #include "vk_platform.h"         vkGetPhysicalDeviceExternalSemaphorePropertiesKHR,+        vkGetPhysicalDeviceExternalSemaphorePropertiesKHRSafe,+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreFeatureFlags,+        module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlags,+        module Graphics.Vulkan.Types.Enum.VkStructureType,         module Graphics.Vulkan.Types.Handles,+        module Graphics.Vulkan.Types.Struct.VkExternalSemaphoreProperties,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalSemaphoreInfo,         VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION,         pattern VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION,         VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME,         pattern VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME,         pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR,         pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR,-        pattern VK_LUID_SIZE_KHR, VK_LUID_SIZE_KHR)+        pattern VK_LUID_SIZE_KHR,+        pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR,+        pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR,+        pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR,+        pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR,+        pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR,+        pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR,+        pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR)        where import           GHC.Ptr                                                                                         (Ptr (..)) import           Graphics.Vulkan.Constants-                                                                                        (VK_LUID_SIZE_KHR,-                                                                                        pattern VK_LUID_SIZE_KHR)+                                                                                        (pattern VK_LUID_SIZE_KHR)+import           Graphics.Vulkan.Core_1_1+                                                                                        (pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,+                                                                                        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO) import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Types.BaseTypes-import           Graphics.Vulkan.Types.Enum.VkExternalSemaphoreFeatureFlagsKHR-import           Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlagsKHR-import           Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType-import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags+import           Graphics.Vulkan.Types.Bitmasks+import           Graphics.Vulkan.Types.Enum.VkExternalSemaphoreFeatureFlagBitsKHR+import           Graphics.Vulkan.Types.Enum.VkExternalSemaphoreFeatureFlags+import           Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlagBitsKHR+import           Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlags import           Graphics.Vulkan.Types.Enum.VkStructureType import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkExternalSemaphoreProperties import           Graphics.Vulkan.Types.Struct.VkExternalSemaphorePropertiesKHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalSemaphoreInfo import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalSemaphoreInfoKHR import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceIDPropertiesKHR-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties --- | > () vkGetPhysicalDeviceExternalSemaphorePropertiesKHR+-- | This is an alias for `vkGetPhysicalDeviceExternalSemaphoreProperties`.+--+--   > () vkGetPhysicalDeviceExternalSemaphorePropertiesKHR --   >     ( VkPhysicalDevice physicalDevice---   >     , const VkPhysicalDeviceExternalSemaphoreInfoKHR* pExternalSemaphoreInfo---   >     , VkExternalSemaphorePropertiesKHR* pExternalSemaphoreProperties+--   >     , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo+--   >     , VkExternalSemaphoreProperties* pExternalSemaphoreProperties --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceExternalSemaphorePropertiesKHR.html vkGetPhysicalDeviceExternalSemaphorePropertiesKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalSemaphorePropertiesKHR.html vkGetPhysicalDeviceExternalSemaphorePropertiesKHR registry at www.khronos.org> foreign import ccall unsafe-               "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"+               "vkGetPhysicalDeviceExternalSemaphoreProperties"                vkGetPhysicalDeviceExternalSemaphorePropertiesKHR ::                VkPhysicalDevice -- ^ physicalDevice                                 ->-                 Ptr VkPhysicalDeviceExternalSemaphoreInfoKHR -- ^ pExternalSemaphoreInfo-                                                              ->-                   Ptr VkExternalSemaphorePropertiesKHR -- ^ pExternalSemaphoreProperties-                                                        -> IO ()+                 Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo+                                                           ->+                   Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties+                                                     -> IO () +-- | This is an alias for `vkGetPhysicalDeviceExternalSemaphoreProperties`.+--+--   > () vkGetPhysicalDeviceExternalSemaphorePropertiesKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo+--   >     , VkExternalSemaphoreProperties* pExternalSemaphoreProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalSemaphorePropertiesKHR.html vkGetPhysicalDeviceExternalSemaphorePropertiesKHR registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceExternalSemaphoreProperties"+               vkGetPhysicalDeviceExternalSemaphorePropertiesKHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo+                                                           ->+                   Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties+                                                     -> IO ()+ pattern VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION ::         (Num a, Eq a) => a @@ -114,19 +143,35 @@ is_VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME ::                                                          CString -> Bool is_VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME-  = eqCStrings _VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME  type VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME =      "VK_KHR_external_semaphore_capabilities"  pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR-        :: VkStructureType+        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO -pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR-        = VkStructureType 1000076000+pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR =+        VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES -pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR ::-        VkStructureType+pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR =+        VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT -pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR =-        VkStructureType 1000076001+pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR =+        VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT++pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR+        = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT++pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR =+        VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT++pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR =+        VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT++pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR =+        VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT++pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR =+        VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_semaphore_fd.hs view
@@ -24,14 +24,15 @@          -- ** Required extensions: 'VK_KHR_external_semaphore'.         module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlagsKHR,+        module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlags,         module Graphics.Vulkan.Types.BaseTypes,         module Graphics.Vulkan.Types.Struct.VkImportSemaphoreFdInfoKHR,         module Graphics.Vulkan.Types.Struct.VkSemaphoreGetFdInfoKHR,-        module Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlagsKHR,+        module Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlags,         module Graphics.Vulkan.Types.Enum.VkStructureType,         -- > #include "vk_platform.h"-        vkImportSemaphoreFdKHR, vkGetSemaphoreFdKHR,+        vkImportSemaphoreFdKHR, vkImportSemaphoreFdKHRSafe,+        vkGetSemaphoreFdKHR, vkGetSemaphoreFdKHRSafe,         module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Handles,         VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION,@@ -41,13 +42,12 @@         pattern VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR,         pattern VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR)        where-import           GHC.Ptr-                                                                                   (Ptr (..))+import           GHC.Ptr                                                       (Ptr (..)) import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Types.BaseTypes-import           Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlags import           Graphics.Vulkan.Types.Enum.VkResult-import           Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlags import           Graphics.Vulkan.Types.Enum.VkStructureType import           Graphics.Vulkan.Types.Handles import           Graphics.Vulkan.Types.Struct.VkImportSemaphoreFdInfoKHR@@ -55,14 +55,14 @@  -- | Success codes: 'VK_SUCCESS'. -----   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR'.+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'. -- --   > VkResult vkImportSemaphoreFdKHR --   >     ( VkDevice device --   >     , const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkImportSemaphoreFdKHR.html vkImportSemaphoreFdKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkImportSemaphoreFdKHR.html vkImportSemaphoreFdKHR registry at www.khronos.org> foreign import ccall unsafe "vkImportSemaphoreFdKHR"                vkImportSemaphoreFdKHR ::                VkDevice -- ^ device@@ -71,6 +71,22 @@  -- | Success codes: 'VK_SUCCESS'. --+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.+--+--   > VkResult vkImportSemaphoreFdKHR+--   >     ( VkDevice device+--   >     , const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkImportSemaphoreFdKHR.html vkImportSemaphoreFdKHR registry at www.khronos.org>+foreign import ccall safe "vkImportSemaphoreFdKHR"+               vkImportSemaphoreFdKHRSafe ::+               VkDevice -- ^ device+                        -> Ptr VkImportSemaphoreFdInfoKHR -- ^ pImportSemaphoreFdInfo+                                                          -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+-- --   Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'. -- --   > VkResult vkGetSemaphoreFdKHR@@ -79,7 +95,7 @@ --   >     , int* pFd --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetSemaphoreFdKHR.html vkGetSemaphoreFdKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetSemaphoreFdKHR.html vkGetSemaphoreFdKHR registry at www.khronos.org> foreign import ccall unsafe "vkGetSemaphoreFdKHR"                vkGetSemaphoreFdKHR ::                VkDevice -- ^ device@@ -87,6 +103,24 @@                                                        -> Ptr CInt -- ^ pFd                                                                    -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'.+--+--   > VkResult vkGetSemaphoreFdKHR+--   >     ( VkDevice device+--   >     , const VkSemaphoreGetFdInfoKHR* pGetFdInfo+--   >     , int* pFd+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetSemaphoreFdKHR.html vkGetSemaphoreFdKHR registry at www.khronos.org>+foreign import ccall safe "vkGetSemaphoreFdKHR"+               vkGetSemaphoreFdKHRSafe ::+               VkDevice -- ^ device+                        -> Ptr VkSemaphoreGetFdInfoKHR -- ^ pGetFdInfo+                                                       -> Ptr CInt -- ^ pFd+                                                                   -> IO VkResult+ pattern VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION ::         (Num a, Eq a) => a @@ -111,7 +145,8 @@  is_VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME :: CString -> Bool is_VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME-  = eqCStrings _VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME  type VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME =      "VK_KHR_external_semaphore_fd"
src-gen/Graphics/Vulkan/Ext/VK_KHR_external_semaphore_win32.hs view
@@ -17,31 +17,30 @@         --         -- type: @device@         --+        -- platform: @win32@+        --         -- Extension number: @79@         --         -- Required extensions: 'VK_KHR_external_semaphore'.         ---        -- Protected by CPP ifdef: @VK_USE_PLATFORM_WIN32_KHR@-        --          -- ** Required extensions: 'VK_KHR_external_semaphore'.         module Graphics.Vulkan.Types.Struct.VkD3D12FenceSubmitInfoKHR,         module Graphics.Vulkan.Types.Struct.VkExportSemaphoreWin32HandleInfoKHR,-        module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlagsKHR,+        module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlags,         module Graphics.Vulkan.Types.BaseTypes,         module Graphics.Vulkan.Types.Struct.VkImportSemaphoreWin32HandleInfoKHR,         module Graphics.Vulkan.Types.Enum.VkPipelineStageFlags,         module Graphics.Vulkan.Types.Bitmasks,         module Graphics.Vulkan.Types.Struct.VkSemaphoreCreateInfo,         module Graphics.Vulkan.Types.Struct.VkSemaphoreGetWin32HandleInfoKHR,-        module Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlagsKHR,+        module Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlags,         module Graphics.Vulkan.Types.Enum.VkStructureType,         module Graphics.Vulkan.Types.Struct.VkSubmitInfo,         -- > #include "vk_platform.h"-        ---        -- > #include <windows.h>-        vkImportSemaphoreWin32HandleKHR, vkGetSemaphoreWin32HandleKHR,-        module Graphics.Vulkan.Marshal,+        vkImportSemaphoreWin32HandleKHR,+        vkImportSemaphoreWin32HandleKHRSafe, vkGetSemaphoreWin32HandleKHR,+        vkGetSemaphoreWin32HandleKHRSafe, module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Handles,         module Graphics.Vulkan.Types.Include,@@ -59,10 +58,10 @@ import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Types.BaseTypes import           Graphics.Vulkan.Types.Bitmasks-import           Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlags import           Graphics.Vulkan.Types.Enum.VkPipelineStageFlags import           Graphics.Vulkan.Types.Enum.VkResult-import           Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlags import           Graphics.Vulkan.Types.Enum.VkStructureType import           Graphics.Vulkan.Types.Handles import           Graphics.Vulkan.Types.Include@@ -75,14 +74,14 @@  -- | Success codes: 'VK_SUCCESS'. -----   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR'.+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'. -- --   > VkResult vkImportSemaphoreWin32HandleKHR --   >     ( VkDevice device --   >     , const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkImportSemaphoreWin32HandleKHR.html vkImportSemaphoreWin32HandleKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkImportSemaphoreWin32HandleKHR.html vkImportSemaphoreWin32HandleKHR registry at www.khronos.org> foreign import ccall unsafe "vkImportSemaphoreWin32HandleKHR"                vkImportSemaphoreWin32HandleKHR ::                VkDevice -- ^ device@@ -91,6 +90,22 @@  -- | Success codes: 'VK_SUCCESS'. --+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.+--+--   > VkResult vkImportSemaphoreWin32HandleKHR+--   >     ( VkDevice device+--   >     , const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkImportSemaphoreWin32HandleKHR.html vkImportSemaphoreWin32HandleKHR registry at www.khronos.org>+foreign import ccall safe "vkImportSemaphoreWin32HandleKHR"+               vkImportSemaphoreWin32HandleKHRSafe ::+               VkDevice -- ^ device+                        -> Ptr VkImportSemaphoreWin32HandleInfoKHR -- ^ pImportSemaphoreWin32HandleInfo+                                                                   -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+-- --   Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'. -- --   > VkResult vkGetSemaphoreWin32HandleKHR@@ -99,7 +114,7 @@ --   >     , HANDLE* pHandle --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetSemaphoreWin32HandleKHR.html vkGetSemaphoreWin32HandleKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetSemaphoreWin32HandleKHR.html vkGetSemaphoreWin32HandleKHR registry at www.khronos.org> foreign import ccall unsafe "vkGetSemaphoreWin32HandleKHR"                vkGetSemaphoreWin32HandleKHR ::                VkDevice -- ^ device@@ -108,6 +123,25 @@                                                       -> Ptr HANDLE -- ^ pHandle                                                                     -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'.+--+--   > VkResult vkGetSemaphoreWin32HandleKHR+--   >     ( VkDevice device+--   >     , const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo+--   >     , HANDLE* pHandle+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetSemaphoreWin32HandleKHR.html vkGetSemaphoreWin32HandleKHR registry at www.khronos.org>+foreign import ccall safe "vkGetSemaphoreWin32HandleKHR"+               vkGetSemaphoreWin32HandleKHRSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkSemaphoreGetWin32HandleInfoKHR -- ^ pGetWin32HandleInfo+                                                      -> Ptr HANDLE -- ^ pHandle+                                                                    -> IO VkResult+ pattern VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION ::         (Num a, Eq a) => a @@ -133,7 +167,8 @@ is_VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME ::                                                   CString -> Bool is_VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME-  = eqCStrings _VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME  type VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME =      "VK_KHR_external_semaphore_win32"
src-gen/Graphics/Vulkan/Ext/VK_KHR_get_memory_requirements2.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -19,24 +20,31 @@         --         -- Extension number: @147@         module Graphics.Vulkan.Types.Struct.VkBufferMemoryRequirementsInfo2KHR,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Struct.VkExtent3D,-        module Graphics.Vulkan.Types.Enum.VkImageAspectFlags,         module Graphics.Vulkan.Types.Struct.VkImageMemoryRequirementsInfo2KHR,         module Graphics.Vulkan.Types.Struct.VkImageSparseMemoryRequirementsInfo2KHR,-        module Graphics.Vulkan.Types.Struct.VkMemoryRequirements,         module Graphics.Vulkan.Types.Struct.VkMemoryRequirements2KHR,-        module Graphics.Vulkan.Types.Enum.VkSparseImageFormatFlags,-        module Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties,-        module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements,         module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements2KHR,-        module Graphics.Vulkan.Types.Enum.VkStructureType,-        -- > #include "vk_platform.h"         vkGetImageMemoryRequirements2KHR,+        vkGetImageMemoryRequirements2KHRSafe,         vkGetBufferMemoryRequirements2KHR,+        vkGetBufferMemoryRequirements2KHRSafe,         vkGetImageSparseMemoryRequirements2KHR,+        vkGetImageSparseMemoryRequirements2KHRSafe,         module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkImageAspectFlags,+        module Graphics.Vulkan.Types.Enum.VkSparseImageFormatFlags,+        module Graphics.Vulkan.Types.Enum.VkStructureType,         module Graphics.Vulkan.Types.Handles,+        module Graphics.Vulkan.Types.Struct.VkBufferMemoryRequirementsInfo2,+        module Graphics.Vulkan.Types.Struct.VkExtent3D,+        module Graphics.Vulkan.Types.Struct.VkImageMemoryRequirementsInfo2,+        module Graphics.Vulkan.Types.Struct.VkImageSparseMemoryRequirementsInfo2,+        module Graphics.Vulkan.Types.Struct.VkMemoryRequirements,+        module Graphics.Vulkan.Types.Struct.VkMemoryRequirements2,+        module Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties,+        module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements,+        module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements2,         VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION,         pattern VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION,         VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME,@@ -49,73 +57,145 @@        where import           GHC.Ptr                                                                                        (Ptr (..))+import           Graphics.Vulkan.Core_1_1+                                                                                       (pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,+                                                                                       pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,+                                                                                       pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,+                                                                                       pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,+                                                                                       pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2) import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Types.BaseTypes import           Graphics.Vulkan.Types.Enum.VkImageAspectFlags import           Graphics.Vulkan.Types.Enum.VkSparseImageFormatFlags import           Graphics.Vulkan.Types.Enum.VkStructureType import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkBufferMemoryRequirementsInfo2 import           Graphics.Vulkan.Types.Struct.VkBufferMemoryRequirementsInfo2KHR import           Graphics.Vulkan.Types.Struct.VkExtent3D+import           Graphics.Vulkan.Types.Struct.VkImageMemoryRequirementsInfo2 import           Graphics.Vulkan.Types.Struct.VkImageMemoryRequirementsInfo2KHR+import           Graphics.Vulkan.Types.Struct.VkImageSparseMemoryRequirementsInfo2 import           Graphics.Vulkan.Types.Struct.VkImageSparseMemoryRequirementsInfo2KHR import           Graphics.Vulkan.Types.Struct.VkMemoryRequirements+import           Graphics.Vulkan.Types.Struct.VkMemoryRequirements2 import           Graphics.Vulkan.Types.Struct.VkMemoryRequirements2KHR import           Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties import           Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements+import           Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements2 import           Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements2KHR --- | > () vkGetImageMemoryRequirements2KHR+-- | This is an alias for `vkGetImageMemoryRequirements2`.+--+--   > () vkGetImageMemoryRequirements2KHR --   >     ( VkDevice device---   >     , const VkImageMemoryRequirementsInfo2KHR* pInfo---   >     , VkMemoryRequirements2KHR* pMemoryRequirements+--   >     , const VkImageMemoryRequirementsInfo2* pInfo+--   >     , VkMemoryRequirements2* pMemoryRequirements --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetImageMemoryRequirements2KHR.html vkGetImageMemoryRequirements2KHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetImageMemoryRequirements2KHR"+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageMemoryRequirements2KHR.html vkGetImageMemoryRequirements2KHR registry at www.khronos.org>+foreign import ccall unsafe "vkGetImageMemoryRequirements2"                vkGetImageMemoryRequirements2KHR ::                VkDevice -- ^ device                         ->-                 Ptr VkImageMemoryRequirementsInfo2KHR -- ^ pInfo-                                                       ->-                   Ptr VkMemoryRequirements2KHR -- ^ pMemoryRequirements-                                                -> IO ()+                 Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo+                                                    ->+                   Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+                                             -> IO () --- | > () vkGetBufferMemoryRequirements2KHR+-- | This is an alias for `vkGetImageMemoryRequirements2`.+--+--   > () vkGetImageMemoryRequirements2KHR --   >     ( VkDevice device---   >     , const VkBufferMemoryRequirementsInfo2KHR* pInfo---   >     , VkMemoryRequirements2KHR* pMemoryRequirements+--   >     , const VkImageMemoryRequirementsInfo2* pInfo+--   >     , VkMemoryRequirements2* pMemoryRequirements --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetBufferMemoryRequirements2KHR.html vkGetBufferMemoryRequirements2KHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetBufferMemoryRequirements2KHR"+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageMemoryRequirements2KHR.html vkGetImageMemoryRequirements2KHR registry at www.khronos.org>+foreign import ccall safe "vkGetImageMemoryRequirements2"+               vkGetImageMemoryRequirements2KHRSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo+                                                    ->+                   Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+                                             -> IO ()++-- | This is an alias for `vkGetBufferMemoryRequirements2`.+--+--   > () vkGetBufferMemoryRequirements2KHR+--   >     ( VkDevice device+--   >     , const VkBufferMemoryRequirementsInfo2* pInfo+--   >     , VkMemoryRequirements2* pMemoryRequirements+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetBufferMemoryRequirements2KHR.html vkGetBufferMemoryRequirements2KHR registry at www.khronos.org>+foreign import ccall unsafe "vkGetBufferMemoryRequirements2"                vkGetBufferMemoryRequirements2KHR ::                VkDevice -- ^ device                         ->-                 Ptr VkBufferMemoryRequirementsInfo2KHR -- ^ pInfo-                                                        ->-                   Ptr VkMemoryRequirements2KHR -- ^ pMemoryRequirements-                                                -> IO ()+                 Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo+                                                     ->+                   Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+                                             -> IO () --- | > () vkGetImageSparseMemoryRequirements2KHR+-- | This is an alias for `vkGetBufferMemoryRequirements2`.+--+--   > () vkGetBufferMemoryRequirements2KHR --   >     ( VkDevice device---   >     , const VkImageSparseMemoryRequirementsInfo2KHR* pInfo+--   >     , const VkBufferMemoryRequirementsInfo2* pInfo+--   >     , VkMemoryRequirements2* pMemoryRequirements+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetBufferMemoryRequirements2KHR.html vkGetBufferMemoryRequirements2KHR registry at www.khronos.org>+foreign import ccall safe "vkGetBufferMemoryRequirements2"+               vkGetBufferMemoryRequirements2KHRSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo+                                                     ->+                   Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+                                             -> IO ()++-- | This is an alias for `vkGetImageSparseMemoryRequirements2`.+--+--   > () vkGetImageSparseMemoryRequirements2KHR+--   >     ( VkDevice device+--   >     , const VkImageSparseMemoryRequirementsInfo2* pInfo --   >     , uint32_t* pSparseMemoryRequirementCount---   >     , VkSparseImageMemoryRequirements2KHR* pSparseMemoryRequirements+--   >     , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetImageSparseMemoryRequirements2KHR.html vkGetImageSparseMemoryRequirements2KHR registry at www.khronos.org>-foreign import ccall unsafe-               "vkGetImageSparseMemoryRequirements2KHR"+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageSparseMemoryRequirements2KHR.html vkGetImageSparseMemoryRequirements2KHR registry at www.khronos.org>+foreign import ccall unsafe "vkGetImageSparseMemoryRequirements2"                vkGetImageSparseMemoryRequirements2KHR ::                VkDevice -- ^ device                         ->-                 Ptr VkImageSparseMemoryRequirementsInfo2KHR -- ^ pInfo-                                                             ->+                 Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo+                                                          ->                    Ptr Word32 -- ^ pSparseMemoryRequirementCount-                              -> Ptr VkSparseImageMemoryRequirements2KHR -- ^ pSparseMemoryRequirements-                                                                         -> IO ()+                              -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements+                                                                      -> IO () +-- | This is an alias for `vkGetImageSparseMemoryRequirements2`.+--+--   > () vkGetImageSparseMemoryRequirements2KHR+--   >     ( VkDevice device+--   >     , const VkImageSparseMemoryRequirementsInfo2* pInfo+--   >     , uint32_t* pSparseMemoryRequirementCount+--   >     , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageSparseMemoryRequirements2KHR.html vkGetImageSparseMemoryRequirements2KHR registry at www.khronos.org>+foreign import ccall safe "vkGetImageSparseMemoryRequirements2"+               vkGetImageSparseMemoryRequirements2KHRSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo+                                                          ->+                   Ptr Word32 -- ^ pSparseMemoryRequirementCount+                              -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements+                                                                      -> IO ()+ pattern VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION ::         (Num a, Eq a) => a @@ -141,37 +221,23 @@ is_VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME ::                                                    CString -> Bool is_VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME-  = eqCStrings _VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME  type VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME =      "VK_KHR_get_memory_requirements2" -pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR ::-        VkStructureType- pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR =-        VkStructureType 1000146000--pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR ::-        VkStructureType+        VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2  pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR =-        VkStructureType 1000146001--pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR-        :: VkStructureType+        VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2  pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR-        = VkStructureType 1000146002--pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR ::-        VkStructureType+        = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2  pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR =-        VkStructureType 1000146003--pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR ::-        VkStructureType+        VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2  pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR =-        VkStructureType 1000146004+        VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2
src-gen/Graphics/Vulkan/Ext/VK_KHR_get_physical_device_properties2.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -18,55 +19,72 @@         -- type: @instance@         --         -- Extension number: @60@+        module Graphics.Vulkan.Types.Struct.VkFormatProperties2KHR,+        module Graphics.Vulkan.Types.Struct.VkImageFormatProperties2KHR,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2KHR,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceImageFormatInfo2KHR,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties2KHR,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseImageFormatInfo2KHR,+        module Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties2KHR,+        module Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties2KHR,+        vkGetPhysicalDeviceFeatures2KHR,+        vkGetPhysicalDeviceFeatures2KHRSafe,+        vkGetPhysicalDeviceProperties2KHR,+        vkGetPhysicalDeviceProperties2KHRSafe,+        vkGetPhysicalDeviceFormatProperties2KHR,+        vkGetPhysicalDeviceFormatProperties2KHRSafe,+        vkGetPhysicalDeviceImageFormatProperties2KHR,+        vkGetPhysicalDeviceImageFormatProperties2KHRSafe,+        vkGetPhysicalDeviceQueueFamilyProperties2KHR,+        vkGetPhysicalDeviceQueueFamilyProperties2KHRSafe,+        vkGetPhysicalDeviceMemoryProperties2KHR,+        vkGetPhysicalDeviceMemoryProperties2KHRSafe,+        vkGetPhysicalDeviceSparseImageFormatProperties2KHR,+        vkGetPhysicalDeviceSparseImageFormatProperties2KHRSafe,         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.BaseTypes,         module Graphics.Vulkan.Types.Bitmasks,-        module Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkExtent3D,+        module Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags,         module Graphics.Vulkan.Types.Enum.VkFormat,         module Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags,-        module Graphics.Vulkan.Types.Struct.VkFormatProperties,-        module Graphics.Vulkan.Types.Struct.VkFormatProperties2KHR,         module Graphics.Vulkan.Types.Enum.VkImageAspectFlags,         module Graphics.Vulkan.Types.Enum.VkImageCreateFlags,-        module Graphics.Vulkan.Types.Struct.VkImageFormatProperties,-        module Graphics.Vulkan.Types.Struct.VkImageFormatProperties2KHR,         module Graphics.Vulkan.Types.Enum.VkImageTiling,         module Graphics.Vulkan.Types.Enum.VkImageType,         module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,-        module Graphics.Vulkan.Types.Struct.VkMemoryHeap,         module Graphics.Vulkan.Types.Enum.VkMemoryHeapFlags,         module Graphics.Vulkan.Types.Enum.VkMemoryPropertyFlags,+        module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,+        module Graphics.Vulkan.Types.Enum.VkQueueFlags,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,+        module Graphics.Vulkan.Types.Enum.VkSparseImageFormatFlags,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Handles,+        module Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkExtent3D,+        module Graphics.Vulkan.Types.Struct.VkFormatProperties,+        module Graphics.Vulkan.Types.Struct.VkFormatProperties2,+        module Graphics.Vulkan.Types.Struct.VkImageFormatProperties,+        module Graphics.Vulkan.Types.Struct.VkImageFormatProperties2,+        module Graphics.Vulkan.Types.Struct.VkMemoryHeap,         module Graphics.Vulkan.Types.Struct.VkMemoryType,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2KHR,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceImageFormatInfo2KHR,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceImageFormatInfo2,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties2KHR,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties2,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseImageFormatInfo2KHR,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseImageFormatInfo2,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,-        module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,         module Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties,-        module Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties2KHR,-        module Graphics.Vulkan.Types.Enum.VkQueueFlags,-        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,-        module Graphics.Vulkan.Types.Enum.VkSparseImageFormatFlags,+        module Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties2,         module Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties,-        module Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties2KHR,-        module Graphics.Vulkan.Types.Enum.VkStructureType,-        -- > #include "vk_platform.h"-        vkGetPhysicalDeviceFeatures2KHR, vkGetPhysicalDeviceProperties2KHR,-        vkGetPhysicalDeviceFormatProperties2KHR,-        vkGetPhysicalDeviceImageFormatProperties2KHR,-        vkGetPhysicalDeviceQueueFamilyProperties2KHR,-        vkGetPhysicalDeviceMemoryProperties2KHR,-        vkGetPhysicalDeviceSparseImageFormatProperties2KHR,-        module Graphics.Vulkan.Types.Enum.VkResult,-        module Graphics.Vulkan.Types.Handles,+        module Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties2,         VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION,         pattern VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION,         VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME,@@ -83,9 +101,20 @@        where import           GHC.Ptr                                                                                          (Ptr (..))+import           Graphics.Vulkan.Core_1_1+                                                                                         (pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,+                                                                                         pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,+                                                                                         pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,+                                                                                         pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,+                                                                                         pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,+                                                                                         pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,+                                                                                         pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,+                                                                                         pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,+                                                                                         pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2) import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Types.BaseTypes import           Graphics.Vulkan.Types.Bitmasks+import           Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags import           Graphics.Vulkan.Types.Enum.VkFormat import           Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags import           Graphics.Vulkan.Types.Enum.VkImageAspectFlags@@ -106,135 +135,275 @@ import           Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo import           Graphics.Vulkan.Types.Struct.VkExtent3D import           Graphics.Vulkan.Types.Struct.VkFormatProperties+import           Graphics.Vulkan.Types.Struct.VkFormatProperties2 import           Graphics.Vulkan.Types.Struct.VkFormatProperties2KHR import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties+import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties2 import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties2KHR import           Graphics.Vulkan.Types.Struct.VkMemoryHeap import           Graphics.Vulkan.Types.Struct.VkMemoryType import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2 import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2KHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceImageFormatInfo2 import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceImageFormatInfo2KHR import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties2 import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties2KHR import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2 import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseImageFormatInfo2 import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseImageFormatInfo2KHR import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties import           Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties+import           Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties2 import           Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties2KHR import           Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties+import           Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties2 import           Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties2KHR --- | > () vkGetPhysicalDeviceFeatures2KHR+-- | This is an alias for `vkGetPhysicalDeviceFeatures2`.+--+--   > () vkGetPhysicalDeviceFeatures2KHR --   >     ( VkPhysicalDevice physicalDevice---   >     , VkPhysicalDeviceFeatures2KHR* pFeatures+--   >     , VkPhysicalDeviceFeatures2* pFeatures --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceFeatures2KHR.html vkGetPhysicalDeviceFeatures2KHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetPhysicalDeviceFeatures2KHR"+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFeatures2KHR.html vkGetPhysicalDeviceFeatures2KHR registry at www.khronos.org>+foreign import ccall unsafe "vkGetPhysicalDeviceFeatures2"                vkGetPhysicalDeviceFeatures2KHR ::                VkPhysicalDevice -- ^ physicalDevice-                                -> Ptr VkPhysicalDeviceFeatures2KHR -- ^ pFeatures-                                                                    -> IO ()+                                -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures+                                                                 -> IO () --- | > () vkGetPhysicalDeviceProperties2KHR+-- | This is an alias for `vkGetPhysicalDeviceFeatures2`.+--+--   > () vkGetPhysicalDeviceFeatures2KHR --   >     ( VkPhysicalDevice physicalDevice---   >     , VkPhysicalDeviceProperties2KHR* pProperties+--   >     , VkPhysicalDeviceFeatures2* pFeatures --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceProperties2KHR.html vkGetPhysicalDeviceProperties2KHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetPhysicalDeviceProperties2KHR"+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFeatures2KHR.html vkGetPhysicalDeviceFeatures2KHR registry at www.khronos.org>+foreign import ccall safe "vkGetPhysicalDeviceFeatures2"+               vkGetPhysicalDeviceFeatures2KHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures+                                                                 -> IO ()++-- | This is an alias for `vkGetPhysicalDeviceProperties2`.+--+--   > () vkGetPhysicalDeviceProperties2KHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceProperties2* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceProperties2KHR.html vkGetPhysicalDeviceProperties2KHR registry at www.khronos.org>+foreign import ccall unsafe "vkGetPhysicalDeviceProperties2"                vkGetPhysicalDeviceProperties2KHR ::                VkPhysicalDevice -- ^ physicalDevice-                                -> Ptr VkPhysicalDeviceProperties2KHR -- ^ pProperties-                                                                      -> IO ()+                                -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties+                                                                   -> IO () --- | > () vkGetPhysicalDeviceFormatProperties2KHR+-- | This is an alias for `vkGetPhysicalDeviceProperties2`.+--+--   > () vkGetPhysicalDeviceProperties2KHR --   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceProperties2* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceProperties2KHR.html vkGetPhysicalDeviceProperties2KHR registry at www.khronos.org>+foreign import ccall safe "vkGetPhysicalDeviceProperties2"+               vkGetPhysicalDeviceProperties2KHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties+                                                                   -> IO ()++-- | This is an alias for `vkGetPhysicalDeviceFormatProperties2`.+--+--   > () vkGetPhysicalDeviceFormatProperties2KHR+--   >     ( VkPhysicalDevice physicalDevice --   >     , VkFormat format---   >     , VkFormatProperties2KHR* pFormatProperties+--   >     , VkFormatProperties2* pFormatProperties --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceFormatProperties2KHR.html vkGetPhysicalDeviceFormatProperties2KHR registry at www.khronos.org>-foreign import ccall unsafe-               "vkGetPhysicalDeviceFormatProperties2KHR"+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFormatProperties2KHR.html vkGetPhysicalDeviceFormatProperties2KHR registry at www.khronos.org>+foreign import ccall unsafe "vkGetPhysicalDeviceFormatProperties2"                vkGetPhysicalDeviceFormatProperties2KHR ::                VkPhysicalDevice -- ^ physicalDevice                                 -> VkFormat -- ^ format-                                            -> Ptr VkFormatProperties2KHR -- ^ pFormatProperties-                                                                          -> IO ()+                                            -> Ptr VkFormatProperties2 -- ^ pFormatProperties+                                                                       -> IO () --- | Success codes: 'VK_SUCCESS'.+-- | This is an alias for `vkGetPhysicalDeviceFormatProperties2`. --+--   > () vkGetPhysicalDeviceFormatProperties2KHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkFormat format+--   >     , VkFormatProperties2* pFormatProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFormatProperties2KHR.html vkGetPhysicalDeviceFormatProperties2KHR registry at www.khronos.org>+foreign import ccall safe "vkGetPhysicalDeviceFormatProperties2"+               vkGetPhysicalDeviceFormatProperties2KHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> VkFormat -- ^ format+                                            -> Ptr VkFormatProperties2 -- ^ pFormatProperties+                                                                       -> IO ()++-- | This is an alias for `vkGetPhysicalDeviceImageFormatProperties2`.+--+--   Success codes: 'VK_SUCCESS'.+-- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'. -- --   > VkResult vkGetPhysicalDeviceImageFormatProperties2KHR --   >     ( VkPhysicalDevice physicalDevice---   >     , const VkPhysicalDeviceImageFormatInfo2KHR* pImageFormatInfo---   >     , VkImageFormatProperties2KHR* pImageFormatProperties+--   >     , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo+--   >     , VkImageFormatProperties2* pImageFormatProperties --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html vkGetPhysicalDeviceImageFormatProperties2KHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html vkGetPhysicalDeviceImageFormatProperties2KHR registry at www.khronos.org> foreign import ccall unsafe-               "vkGetPhysicalDeviceImageFormatProperties2KHR"+               "vkGetPhysicalDeviceImageFormatProperties2"                vkGetPhysicalDeviceImageFormatProperties2KHR ::                VkPhysicalDevice -- ^ physicalDevice                                 ->-                 Ptr VkPhysicalDeviceImageFormatInfo2KHR -- ^ pImageFormatInfo-                                                         ->-                   Ptr VkImageFormatProperties2KHR -- ^ pImageFormatProperties-                                                   -> IO VkResult+                 Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo+                                                      ->+                   Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties+                                                -> IO VkResult --- | > () vkGetPhysicalDeviceQueueFamilyProperties2KHR+-- | This is an alias for `vkGetPhysicalDeviceImageFormatProperties2`.+--+--   Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+--   > VkResult vkGetPhysicalDeviceImageFormatProperties2KHR --   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo+--   >     , VkImageFormatProperties2* pImageFormatProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html vkGetPhysicalDeviceImageFormatProperties2KHR registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceImageFormatProperties2"+               vkGetPhysicalDeviceImageFormatProperties2KHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo+                                                      ->+                   Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties+                                                -> IO VkResult++-- | This is an alias for `vkGetPhysicalDeviceQueueFamilyProperties2`.+--+--   > () vkGetPhysicalDeviceQueueFamilyProperties2KHR+--   >     ( VkPhysicalDevice physicalDevice --   >     , uint32_t* pQueueFamilyPropertyCount---   >     , VkQueueFamilyProperties2KHR* pQueueFamilyProperties+--   >     , VkQueueFamilyProperties2* pQueueFamilyProperties --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html vkGetPhysicalDeviceQueueFamilyProperties2KHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html vkGetPhysicalDeviceQueueFamilyProperties2KHR registry at www.khronos.org> foreign import ccall unsafe-               "vkGetPhysicalDeviceQueueFamilyProperties2KHR"+               "vkGetPhysicalDeviceQueueFamilyProperties2"                vkGetPhysicalDeviceQueueFamilyProperties2KHR ::                VkPhysicalDevice -- ^ physicalDevice                                 ->                  Ptr Word32 -- ^ pQueueFamilyPropertyCount-                            -> Ptr VkQueueFamilyProperties2KHR -- ^ pQueueFamilyProperties-                                                               -> IO ()+                            -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties+                                                            -> IO () --- | > () vkGetPhysicalDeviceMemoryProperties2KHR+-- | This is an alias for `vkGetPhysicalDeviceQueueFamilyProperties2`.+--+--   > () vkGetPhysicalDeviceQueueFamilyProperties2KHR --   >     ( VkPhysicalDevice physicalDevice---   >     , VkPhysicalDeviceMemoryProperties2KHR* pMemoryProperties+--   >     , uint32_t* pQueueFamilyPropertyCount+--   >     , VkQueueFamilyProperties2* pQueueFamilyProperties --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceMemoryProperties2KHR.html vkGetPhysicalDeviceMemoryProperties2KHR registry at www.khronos.org>-foreign import ccall unsafe-               "vkGetPhysicalDeviceMemoryProperties2KHR"-               vkGetPhysicalDeviceMemoryProperties2KHR ::+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html vkGetPhysicalDeviceQueueFamilyProperties2KHR registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceQueueFamilyProperties2"+               vkGetPhysicalDeviceQueueFamilyProperties2KHRSafe ::                VkPhysicalDevice -- ^ physicalDevice                                 ->-                 Ptr VkPhysicalDeviceMemoryProperties2KHR -- ^ pMemoryProperties-                                                          -> IO ()+                 Ptr Word32 -- ^ pQueueFamilyPropertyCount+                            -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties+                                                            -> IO () --- | > () vkGetPhysicalDeviceSparseImageFormatProperties2KHR+-- | This is an alias for `vkGetPhysicalDeviceMemoryProperties2`.+--+--   > () vkGetPhysicalDeviceMemoryProperties2KHR --   >     ( VkPhysicalDevice physicalDevice---   >     , const VkPhysicalDeviceSparseImageFormatInfo2KHR* pFormatInfo+--   >     , VkPhysicalDeviceMemoryProperties2* pMemoryProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceMemoryProperties2KHR.html vkGetPhysicalDeviceMemoryProperties2KHR registry at www.khronos.org>+foreign import ccall unsafe "vkGetPhysicalDeviceMemoryProperties2"+               vkGetPhysicalDeviceMemoryProperties2KHR ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties+                                                                         -> IO ()++-- | This is an alias for `vkGetPhysicalDeviceMemoryProperties2`.+--+--   > () vkGetPhysicalDeviceMemoryProperties2KHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceMemoryProperties2* pMemoryProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceMemoryProperties2KHR.html vkGetPhysicalDeviceMemoryProperties2KHR registry at www.khronos.org>+foreign import ccall safe "vkGetPhysicalDeviceMemoryProperties2"+               vkGetPhysicalDeviceMemoryProperties2KHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties+                                                                         -> IO ()++-- | This is an alias for `vkGetPhysicalDeviceSparseImageFormatProperties2`.+--+--   > () vkGetPhysicalDeviceSparseImageFormatProperties2KHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo --   >     , uint32_t* pPropertyCount---   >     , VkSparseImageFormatProperties2KHR* pProperties+--   >     , VkSparseImageFormatProperties2* pProperties --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2KHR.html vkGetPhysicalDeviceSparseImageFormatProperties2KHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2KHR.html vkGetPhysicalDeviceSparseImageFormatProperties2KHR registry at www.khronos.org> foreign import ccall unsafe-               "vkGetPhysicalDeviceSparseImageFormatProperties2KHR"+               "vkGetPhysicalDeviceSparseImageFormatProperties2"                vkGetPhysicalDeviceSparseImageFormatProperties2KHR ::                VkPhysicalDevice -- ^ physicalDevice                                 ->-                 Ptr VkPhysicalDeviceSparseImageFormatInfo2KHR -- ^ pFormatInfo-                                                               ->+                 Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo+                                                            ->                    Ptr Word32 -- ^ pPropertyCount-                              -> Ptr VkSparseImageFormatProperties2KHR -- ^ pProperties-                                                                       -> IO ()+                              -> Ptr VkSparseImageFormatProperties2 -- ^ pProperties+                                                                    -> IO () +-- | This is an alias for `vkGetPhysicalDeviceSparseImageFormatProperties2`.+--+--   > () vkGetPhysicalDeviceSparseImageFormatProperties2KHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo+--   >     , uint32_t* pPropertyCount+--   >     , VkSparseImageFormatProperties2* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2KHR.html vkGetPhysicalDeviceSparseImageFormatProperties2KHR registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceSparseImageFormatProperties2"+               vkGetPhysicalDeviceSparseImageFormatProperties2KHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo+                                                            ->+                   Ptr Word32 -- ^ pPropertyCount+                              -> Ptr VkSparseImageFormatProperties2 -- ^ pProperties+                                                                    -> IO ()+ pattern VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION ::         (Num a, Eq a) => a @@ -263,62 +432,35 @@ is_VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME ::                                                           CString -> Bool is_VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME-  = eqCStrings-      _VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME  type VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME =      "VK_KHR_get_physical_device_properties2" -pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR ::-        VkStructureType- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR =-        VkStructureType 1000059000--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR ::-        VkStructureType+        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2  pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR =-        VkStructureType 1000059001--pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR ::-        VkStructureType+        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2  pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR =-        VkStructureType 1000059002--pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR ::-        VkStructureType+        VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2  pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR =-        VkStructureType 1000059003--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR-        :: VkStructureType+        VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2  pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR =-        VkStructureType 1000059004--pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR ::-        VkStructureType+        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2  pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR =-        VkStructureType 1000059005--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR-        :: VkStructureType+        VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2  pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR =-        VkStructureType 1000059006--pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR ::-        VkStructureType+        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2  pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR =-        VkStructureType 1000059007--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR-        :: VkStructureType+        VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2  pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR-        = VkStructureType 1000059008+        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2
src-gen/Graphics/Vulkan/Ext/VK_KHR_get_surface_capabilities2.hs view
@@ -38,7 +38,9 @@         module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR,         -- > #include "vk_platform.h"         vkGetPhysicalDeviceSurfaceCapabilities2KHR,+        vkGetPhysicalDeviceSurfaceCapabilities2KHRSafe,         vkGetPhysicalDeviceSurfaceFormats2KHR,+        vkGetPhysicalDeviceSurfaceFormats2KHRSafe,         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Handles,@@ -78,7 +80,7 @@ --   >     , VkSurfaceCapabilities2KHR* pSurfaceCapabilities --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html vkGetPhysicalDeviceSurfaceCapabilities2KHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html vkGetPhysicalDeviceSurfaceCapabilities2KHR registry at www.khronos.org> foreign import ccall unsafe                "vkGetPhysicalDeviceSurfaceCapabilities2KHR"                vkGetPhysicalDeviceSurfaceCapabilities2KHR ::@@ -89,6 +91,27 @@                    Ptr VkSurfaceCapabilities2KHR -- ^ pSurfaceCapabilities                                                  -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+--   > VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo+--   >     , VkSurfaceCapabilities2KHR* pSurfaceCapabilities+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html vkGetPhysicalDeviceSurfaceCapabilities2KHR registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceSurfaceCapabilities2KHR"+               vkGetPhysicalDeviceSurfaceCapabilities2KHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceSurfaceInfo2KHR -- ^ pSurfaceInfo+                                                     ->+                   Ptr VkSurfaceCapabilities2KHR -- ^ pSurfaceCapabilities+                                                 -> IO VkResult+ -- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.@@ -100,7 +123,7 @@ --   >     , VkSurfaceFormat2KHR* pSurfaceFormats --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html vkGetPhysicalDeviceSurfaceFormats2KHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html vkGetPhysicalDeviceSurfaceFormats2KHR registry at www.khronos.org> foreign import ccall unsafe "vkGetPhysicalDeviceSurfaceFormats2KHR"                vkGetPhysicalDeviceSurfaceFormats2KHR ::                VkPhysicalDevice -- ^ physicalDevice@@ -111,6 +134,28 @@                               -> Ptr VkSurfaceFormat2KHR -- ^ pSurfaceFormats                                                          -> IO VkResult +-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+--   > VkResult vkGetPhysicalDeviceSurfaceFormats2KHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo+--   >     , uint32_t* pSurfaceFormatCount+--   >     , VkSurfaceFormat2KHR* pSurfaceFormats+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html vkGetPhysicalDeviceSurfaceFormats2KHR registry at www.khronos.org>+foreign import ccall safe "vkGetPhysicalDeviceSurfaceFormats2KHR"+               vkGetPhysicalDeviceSurfaceFormats2KHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceSurfaceInfo2KHR -- ^ pSurfaceInfo+                                                     ->+                   Ptr Word32 -- ^ pSurfaceFormatCount+                              -> Ptr VkSurfaceFormat2KHR -- ^ pSurfaceFormats+                                                         -> IO VkResult+ pattern VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION ::         (Num a, Eq a) => a @@ -136,7 +181,8 @@ is_VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME ::                                                     CString -> Bool is_VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME-  = eqCStrings _VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME  type VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME =      "VK_KHR_get_surface_capabilities2"
src-gen/Graphics/Vulkan/Ext/VK_KHR_image_format_list.hs view
@@ -76,7 +76,7 @@  is_VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME :: CString -> Bool is_VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME-  = eqCStrings _VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME  type VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME =      "VK_KHR_image_format_list"
src-gen/Graphics/Vulkan/Ext/VK_KHR_incremental_present.hs view
@@ -72,7 +72,7 @@  is_VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME :: CString -> Bool is_VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME-  = eqCStrings _VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME  type VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME =      "VK_KHR_incremental_present"
src-gen/Graphics/Vulkan/Ext/VK_KHR_maintenance1.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds                #-}@@ -19,9 +20,9 @@         -- type: @device@         --         -- Extension number: @70@-        vkTrimCommandPoolKHR, module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.Bitmasks, vkTrimCommandPoolKHR,+        vkTrimCommandPoolKHRSafe, module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Bitmasks,         module Graphics.Vulkan.Types.Handles,         VK_KHR_MAINTENANCE1_SPEC_VERSION,         pattern VK_KHR_MAINTENANCE1_SPEC_VERSION,@@ -32,36 +33,53 @@         pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR,         pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR)        where-import           GHC.Ptr                                         (Ptr (..))+import           GHC.Ptr                         (Ptr (..))+import           Graphics.Vulkan.Core_1_1        (pattern VK_ERROR_OUT_OF_POOL_MEMORY,+                                                  pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT,+                                                  pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,+                                                  pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT) import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Types.BaseTypes import           Graphics.Vulkan.Types.Bitmasks-import           Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags (VkFormatFeatureBitmask (..),-                                                                  VkFormatFeatureFlagBits)-import           Graphics.Vulkan.Types.Enum.VkImageCreateFlags   (VkImageCreateBitmask (..),-                                                                  VkImageCreateFlagBits)-import           Graphics.Vulkan.Types.Enum.VkResult             (VkResult (..)) import           Graphics.Vulkan.Types.Handles --- | > () vkTrimCommandPoolKHR+-- | This is an alias for `vkTrimCommandPool`.+--+--   > () vkTrimCommandPoolKHR --   >     ( VkDevice device --   >     , VkCommandPool commandPool---   >     , VkCommandPoolTrimFlagsKHR flags+--   >     , VkCommandPoolTrimFlags flags --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkTrimCommandPoolKHR.html vkTrimCommandPoolKHR registry at www.khronos.org>-foreign import ccall unsafe "vkTrimCommandPoolKHR"+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkTrimCommandPoolKHR.html vkTrimCommandPoolKHR registry at www.khronos.org>+foreign import ccall unsafe "vkTrimCommandPool"                vkTrimCommandPoolKHR ::                VkDevice -- ^ device                         -> VkCommandPool -- ^ commandPool-                                         -> VkCommandPoolTrimFlagsKHR -- ^ flags-                                                                      -> IO ()+                                         -> VkCommandPoolTrimFlags -- ^ flags+                                                                   -> IO () +-- | This is an alias for `vkTrimCommandPool`.+--+--   > () vkTrimCommandPoolKHR+--   >     ( VkDevice device+--   >     , VkCommandPool commandPool+--   >     , VkCommandPoolTrimFlags flags+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkTrimCommandPoolKHR.html vkTrimCommandPoolKHR registry at www.khronos.org>+foreign import ccall safe "vkTrimCommandPool"+               vkTrimCommandPoolKHRSafe ::+               VkDevice -- ^ device+                        -> VkCommandPool -- ^ commandPool+                                         -> VkCommandPoolTrimFlags -- ^ flags+                                                                   -> IO ()+ pattern VK_KHR_MAINTENANCE1_SPEC_VERSION :: (Num a, Eq a) => a -pattern VK_KHR_MAINTENANCE1_SPEC_VERSION = 1+pattern VK_KHR_MAINTENANCE1_SPEC_VERSION = 2 -type VK_KHR_MAINTENANCE1_SPEC_VERSION = 1+type VK_KHR_MAINTENANCE1_SPEC_VERSION = 2  pattern VK_KHR_MAINTENANCE1_EXTENSION_NAME :: CString @@ -80,37 +98,18 @@  is_VK_KHR_MAINTENANCE1_EXTENSION_NAME :: CString -> Bool is_VK_KHR_MAINTENANCE1_EXTENSION_NAME-  = eqCStrings _VK_KHR_MAINTENANCE1_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_MAINTENANCE1_EXTENSION_NAME  type VK_KHR_MAINTENANCE1_EXTENSION_NAME = "VK_KHR_maintenance1" -pattern VK_ERROR_OUT_OF_POOL_MEMORY_KHR :: VkResult--pattern VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VkResult (-1000069000)---- | Format can be used as the source image of image transfer commands------   bitpos = @14@-pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR ::-        VkFormatFeatureFlagBits+pattern VK_ERROR_OUT_OF_POOL_MEMORY_KHR =+        VK_ERROR_OUT_OF_POOL_MEMORY  pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR =-        VkFormatFeatureFlagBits 16384---- | Format can be used as the destination image of image transfer commands------   bitpos = @15@-pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR ::-        VkFormatFeatureFlagBits+        VK_FORMAT_FEATURE_TRANSFER_SRC_BIT  pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR =-        VkFormatFeatureFlagBits 32768---- | The 3D image can be viewed as a 2D or 2D array image------   bitpos = @5@-pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR ::-        VkImageCreateFlagBits+        VK_FORMAT_FEATURE_TRANSFER_DST_BIT  pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR =-        VkImageCreateFlagBits 32+        VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT
src-gen/Graphics/Vulkan/Ext/VK_KHR_maintenance2.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds       #-} {-# LANGUAGE MagicHash       #-}@@ -17,47 +18,13 @@         -- type: @device@         --         -- Extension number: @118@-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.VkAccessFlags,-        module Graphics.Vulkan.Types.Struct.VkAttachmentDescription,-        module Graphics.Vulkan.Types.Enum.VkAttachmentDescriptionFlags,-        module Graphics.Vulkan.Types.Enum.VkAttachmentLoadOp,-        module Graphics.Vulkan.Types.Struct.VkAttachmentReference,-        module Graphics.Vulkan.Types.Enum.VkAttachmentStoreOp,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Struct.VkComponentMapping,-        module Graphics.Vulkan.Types.Enum.VkComponentSwizzle,-        module Graphics.Vulkan.Types.Enum.VkDependencyFlags,-        module Graphics.Vulkan.Types.Enum.VkFormat,-        module Graphics.Vulkan.Types.Enum.VkImageAspectFlags,-        module Graphics.Vulkan.Types.Enum.VkImageLayout,-        module Graphics.Vulkan.Types.Struct.VkImageSubresourceRange,-        module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,-        module Graphics.Vulkan.Types.Bitmasks,-        module Graphics.Vulkan.Types.Struct.VkImageViewCreateInfo,-        module Graphics.Vulkan.Types.Enum.VkImageViewType,         module Graphics.Vulkan.Types.Struct.VkImageViewUsageCreateInfoKHR,         module Graphics.Vulkan.Types.Struct.VkInputAttachmentAspectReferenceKHR,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,         module Graphics.Vulkan.Types.Struct.VkPhysicalDevicePointClippingPropertiesKHR,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,-        module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,-        module Graphics.Vulkan.Types.Enum.VkPipelineBindPoint,-        module Graphics.Vulkan.Types.Enum.VkPipelineStageFlags,         module Graphics.Vulkan.Types.Struct.VkPipelineTessellationDomainOriginStateCreateInfoKHR,-        module Graphics.Vulkan.Types.Struct.VkPipelineTessellationStateCreateInfo,         module Graphics.Vulkan.Types.Enum.VkPointClippingBehaviorKHR,-        module Graphics.Vulkan.Types.Struct.VkRenderPassCreateInfo,         module Graphics.Vulkan.Types.Struct.VkRenderPassInputAttachmentAspectCreateInfoKHR,-        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,-        module Graphics.Vulkan.Types.Enum.VkStructureType,-        module Graphics.Vulkan.Types.Struct.VkSubpassDependency,-        module Graphics.Vulkan.Types.Struct.VkSubpassDescription,-        module Graphics.Vulkan.Types.Enum.VkSubpassDescriptionFlags,         module Graphics.Vulkan.Types.Enum.VkTessellationDomainOriginKHR,-        -- > #include "vk_platform.h"         VK_KHR_MAINTENANCE2_SPEC_VERSION,         pattern VK_KHR_MAINTENANCE2_SPEC_VERSION,         VK_KHR_MAINTENANCE2_EXTENSION_NAME,@@ -69,53 +36,35 @@         pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR,         pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR,         pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR,-        pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR)+        pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR,+        pattern VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR,+        pattern VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR,+        pattern VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR,+        pattern VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR)        where import           GHC.Ptr                                                                                                     (Ptr (..))+import           Graphics.Vulkan.Core_1_1+                                                                                                    (pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,+                                                                                                    pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,+                                                                                                    pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,+                                                                                                    pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,+                                                                                                    pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,+                                                                                                    pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,+                                                                                                    pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,+                                                                                                    pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO) import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Types.BaseTypes-import           Graphics.Vulkan.Types.Bitmasks-import           Graphics.Vulkan.Types.Enum.VkAccessFlags-import           Graphics.Vulkan.Types.Enum.VkAttachmentDescriptionFlags-import           Graphics.Vulkan.Types.Enum.VkAttachmentLoadOp-import           Graphics.Vulkan.Types.Enum.VkAttachmentStoreOp-import           Graphics.Vulkan.Types.Enum.VkComponentSwizzle-import           Graphics.Vulkan.Types.Enum.VkDependencyFlags-import           Graphics.Vulkan.Types.Enum.VkFormat-import           Graphics.Vulkan.Types.Enum.VkImageAspectFlags-import           Graphics.Vulkan.Types.Enum.VkImageCreateFlags-                                                                                                    (VkImageCreateBitmask (..),-                                                                                                    VkImageCreateFlagBits)-import           Graphics.Vulkan.Types.Enum.VkImageLayout-import           Graphics.Vulkan.Types.Enum.VkImageUsageFlags-import           Graphics.Vulkan.Types.Enum.VkImageViewType-import           Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType-import           Graphics.Vulkan.Types.Enum.VkPipelineBindPoint-import           Graphics.Vulkan.Types.Enum.VkPipelineStageFlags+import           Graphics.Vulkan.Types.Enum.VkPointClippingBehavior+                                                                                                    (VkPointClippingBehavior (..)) import           Graphics.Vulkan.Types.Enum.VkPointClippingBehaviorKHR-import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import           Graphics.Vulkan.Types.Enum.VkStructureType-import           Graphics.Vulkan.Types.Enum.VkSubpassDescriptionFlags+import           Graphics.Vulkan.Types.Enum.VkTessellationDomainOrigin+                                                                                                    (VkTessellationDomainOrigin (..)) import           Graphics.Vulkan.Types.Enum.VkTessellationDomainOriginKHR-import           Graphics.Vulkan.Types.Struct.VkAttachmentDescription-import           Graphics.Vulkan.Types.Struct.VkAttachmentReference-import           Graphics.Vulkan.Types.Struct.VkComponentMapping-import           Graphics.Vulkan.Types.Struct.VkImageSubresourceRange-import           Graphics.Vulkan.Types.Struct.VkImageViewCreateInfo import           Graphics.Vulkan.Types.Struct.VkImageViewUsageCreateInfoKHR import           Graphics.Vulkan.Types.Struct.VkInputAttachmentAspectReferenceKHR-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits import           Graphics.Vulkan.Types.Struct.VkPhysicalDevicePointClippingPropertiesKHR-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties import           Graphics.Vulkan.Types.Struct.VkPipelineTessellationDomainOriginStateCreateInfoKHR-import           Graphics.Vulkan.Types.Struct.VkPipelineTessellationStateCreateInfo-import           Graphics.Vulkan.Types.Struct.VkRenderPassCreateInfo import           Graphics.Vulkan.Types.Struct.VkRenderPassInputAttachmentAspectCreateInfoKHR-import           Graphics.Vulkan.Types.Struct.VkSubpassDependency-import           Graphics.Vulkan.Types.Struct.VkSubpassDescription  pattern VK_KHR_MAINTENANCE2_SPEC_VERSION :: (Num a, Eq a) => a @@ -140,56 +89,43 @@  is_VK_KHR_MAINTENANCE2_EXTENSION_NAME :: CString -> Bool is_VK_KHR_MAINTENANCE2_EXTENSION_NAME-  = eqCStrings _VK_KHR_MAINTENANCE2_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_MAINTENANCE2_EXTENSION_NAME  type VK_KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2" --- | bitpos = @7@-pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR ::-        VkImageCreateFlagBits- pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR =-        VkImageCreateFlagBits 128---- | bitpos = @8@-pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR ::-        VkImageCreateFlagBits+        VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT  pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR =-        VkImageCreateFlagBits 256--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR-        :: VkStructureType+        VK_IMAGE_CREATE_EXTENDED_USAGE_BIT  pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR-        = VkStructureType 1000117000--pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR-        :: VkStructureType+        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES  pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR-        = VkStructureType 1000117001--pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR ::-        VkStructureType+        = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO  pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR =-        VkStructureType 1000117002--pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR-        :: VkStructureType+        VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO  pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR-        = VkStructureType 1000117003--pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR-        :: VkImageLayout+        =+        VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO  pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR-        = VkImageLayout 1000117000+        = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL  pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR-        :: VkImageLayout+        = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL -pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR-        = VkImageLayout 1000117001+pattern VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR =+        VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES++pattern VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR =+        VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY++pattern VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR =+        VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT++pattern VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR =+        VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_maintenance3.hs view
@@ -0,0 +1,133 @@+{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-}+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_maintenance3+       (-- * Vulkan extension: @VK_KHR_maintenance3@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jeff Bolz @jbolz@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @169@+        --+        -- Required extensions: 'VK_KHR_get_physical_device_properties2'.+        --++        -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.+        module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutSupportKHR,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMaintenance3PropertiesKHR,+        vkGetDescriptorSetLayoutSupportKHR,+        vkGetDescriptorSetLayoutSupportKHRSafe,+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkDescriptorSetLayoutCreateFlags,+        module Graphics.Vulkan.Types.Enum.VkDescriptorType,+        module Graphics.Vulkan.Types.Enum.VkShaderStageFlags,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Handles,+        module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutBinding,+        module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutSupport,+        VK_KHR_MAINTENANCE3_SPEC_VERSION,+        pattern VK_KHR_MAINTENANCE3_SPEC_VERSION,+        VK_KHR_MAINTENANCE3_EXTENSION_NAME,+        pattern VK_KHR_MAINTENANCE3_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR,+        pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR)+       where+import           GHC.Ptr+                                                                                         (Ptr (..))+import           Graphics.Vulkan.Core_1_1+                                                                                         (pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,+                                                                                         pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES)+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Enum.VkDescriptorSetLayoutCreateFlags+import           Graphics.Vulkan.Types.Enum.VkDescriptorType+import           Graphics.Vulkan.Types.Enum.VkShaderStageFlags+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutBinding+import           Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutCreateInfo+import           Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutSupport+import           Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutSupportKHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMaintenance3PropertiesKHR++-- | This is an alias for `vkGetDescriptorSetLayoutSupport`.+--+--   > () vkGetDescriptorSetLayoutSupportKHR+--   >     ( VkDevice device+--   >     , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+--   >     , VkDescriptorSetLayoutSupport* pSupport+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDescriptorSetLayoutSupportKHR.html vkGetDescriptorSetLayoutSupportKHR registry at www.khronos.org>+foreign import ccall unsafe "vkGetDescriptorSetLayoutSupport"+               vkGetDescriptorSetLayoutSupportKHR ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+                                                     ->+                   Ptr VkDescriptorSetLayoutSupport -- ^ pSupport+                                                    -> IO ()++-- | This is an alias for `vkGetDescriptorSetLayoutSupport`.+--+--   > () vkGetDescriptorSetLayoutSupportKHR+--   >     ( VkDevice device+--   >     , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+--   >     , VkDescriptorSetLayoutSupport* pSupport+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDescriptorSetLayoutSupportKHR.html vkGetDescriptorSetLayoutSupportKHR registry at www.khronos.org>+foreign import ccall safe "vkGetDescriptorSetLayoutSupport"+               vkGetDescriptorSetLayoutSupportKHRSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+                                                     ->+                   Ptr VkDescriptorSetLayoutSupport -- ^ pSupport+                                                    -> IO ()++pattern VK_KHR_MAINTENANCE3_SPEC_VERSION :: (Num a, Eq a) => a++pattern VK_KHR_MAINTENANCE3_SPEC_VERSION = 1++type VK_KHR_MAINTENANCE3_SPEC_VERSION = 1++pattern VK_KHR_MAINTENANCE3_EXTENSION_NAME :: CString++pattern VK_KHR_MAINTENANCE3_EXTENSION_NAME <-+        (is_VK_KHR_MAINTENANCE3_EXTENSION_NAME -> True)+  where VK_KHR_MAINTENANCE3_EXTENSION_NAME+          = _VK_KHR_MAINTENANCE3_EXTENSION_NAME++{-# INLINE _VK_KHR_MAINTENANCE3_EXTENSION_NAME #-}++_VK_KHR_MAINTENANCE3_EXTENSION_NAME :: CString+_VK_KHR_MAINTENANCE3_EXTENSION_NAME+  = Ptr "VK_KHR_maintenance3\NUL"#++{-# INLINE is_VK_KHR_MAINTENANCE3_EXTENSION_NAME #-}++is_VK_KHR_MAINTENANCE3_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_MAINTENANCE3_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_MAINTENANCE3_EXTENSION_NAME++type VK_KHR_MAINTENANCE3_EXTENSION_NAME = "VK_KHR_maintenance3"++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR+        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR =+        VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT
src-gen/Graphics/Vulkan/Ext/VK_KHR_mir_surface.hs view
@@ -17,12 +17,12 @@         --         -- type: @instance@         --+        -- platform: @mir@+        --         -- Extension number: @8@         --         -- Required extensions: 'VK_KHR_surface'.         ---        -- Protected by CPP ifdef: @VK_USE_PLATFORM_MIR_KHR@-        --          -- ** Required extensions: 'VK_KHR_surface'.         module Graphics.Vulkan.Types.BaseTypes,@@ -30,10 +30,9 @@         module Graphics.Vulkan.Types.Struct.VkMirSurfaceCreateInfoKHR,         module Graphics.Vulkan.Types.Enum.VkStructureType,         -- > #include "vk_platform.h"-        ---        -- > #include <mir_toolkit/client_types.h>-        vkCreateMirSurfaceKHR,+        vkCreateMirSurfaceKHR, vkCreateMirSurfaceKHRSafe,         vkGetPhysicalDeviceMirPresentationSupportKHR,+        vkGetPhysicalDeviceMirPresentationSupportKHRSafe,         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,         module Graphics.Vulkan.Types.Enum.VkResult,@@ -73,7 +72,7 @@ --   >     , VkSurfaceKHR* pSurface --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateMirSurfaceKHR.html vkCreateMirSurfaceKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateMirSurfaceKHR.html vkCreateMirSurfaceKHR registry at www.khronos.org> foreign import ccall unsafe "vkCreateMirSurfaceKHR"                vkCreateMirSurfaceKHR ::                VkInstance -- ^ instance@@ -84,13 +83,35 @@                                              -> Ptr VkSurfaceKHR -- ^ pSurface                                                                  -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateMirSurfaceKHR+--   >     ( VkInstance instance+--   >     , const VkMirSurfaceCreateInfoKHR* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkSurfaceKHR* pSurface+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateMirSurfaceKHR.html vkCreateMirSurfaceKHR registry at www.khronos.org>+foreign import ccall safe "vkCreateMirSurfaceKHR"+               vkCreateMirSurfaceKHRSafe ::+               VkInstance -- ^ instance+                          ->+                 Ptr VkMirSurfaceCreateInfoKHR -- ^ pCreateInfo+                                               ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                 -> IO VkResult+ -- | > VkBool32 vkGetPhysicalDeviceMirPresentationSupportKHR --   >     ( VkPhysicalDevice physicalDevice --   >     , uint32_t queueFamilyIndex --   >     , MirConnection* connection --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceMirPresentationSupportKHR.html vkGetPhysicalDeviceMirPresentationSupportKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceMirPresentationSupportKHR.html vkGetPhysicalDeviceMirPresentationSupportKHR registry at www.khronos.org> foreign import ccall unsafe                "vkGetPhysicalDeviceMirPresentationSupportKHR"                vkGetPhysicalDeviceMirPresentationSupportKHR ::@@ -99,6 +120,21 @@                                           -> Ptr MirConnection -- ^ connection                                                                -> IO VkBool32 +-- | > VkBool32 vkGetPhysicalDeviceMirPresentationSupportKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t queueFamilyIndex+--   >     , MirConnection* connection+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceMirPresentationSupportKHR.html vkGetPhysicalDeviceMirPresentationSupportKHR registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceMirPresentationSupportKHR"+               vkGetPhysicalDeviceMirPresentationSupportKHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Word32 -- ^ queueFamilyIndex+                                          -> Ptr MirConnection -- ^ connection+                                                               -> IO VkBool32+ pattern VK_KHR_MIR_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a  pattern VK_KHR_MIR_SURFACE_SPEC_VERSION = 4@@ -121,7 +157,7 @@  is_VK_KHR_MIR_SURFACE_EXTENSION_NAME :: CString -> Bool is_VK_KHR_MIR_SURFACE_EXTENSION_NAME-  = eqCStrings _VK_KHR_MIR_SURFACE_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_MIR_SURFACE_EXTENSION_NAME  type VK_KHR_MIR_SURFACE_EXTENSION_NAME = "VK_KHR_mir_surface" 
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_multiview.hs view
@@ -0,0 +1,86 @@+{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-}+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_KHR_multiview+       (-- * Vulkan extension: @VK_KHR_multiview@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jeff Bolz @jbolz@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @54@+        --+        -- Required extensions: 'VK_KHR_get_physical_device_properties2'.+        --++        -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewFeaturesKHR,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewPropertiesKHR,+        module Graphics.Vulkan.Types.Struct.VkRenderPassMultiviewCreateInfoKHR,+        VK_KHR_MULTIVIEW_SPEC_VERSION,+        pattern VK_KHR_MULTIVIEW_SPEC_VERSION,+        VK_KHR_MULTIVIEW_EXTENSION_NAME,+        pattern VK_KHR_MULTIVIEW_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR,+        pattern VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR)+       where+import           GHC.Ptr+                                                                                      (Ptr (..))+import           Graphics.Vulkan.Core_1_1+                                                                                      (pattern VK_DEPENDENCY_VIEW_LOCAL_BIT,+                                                                                      pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,+                                                                                      pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,+                                                                                      pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO)+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewFeaturesKHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewPropertiesKHR+import           Graphics.Vulkan.Types.Struct.VkRenderPassMultiviewCreateInfoKHR++pattern VK_KHR_MULTIVIEW_SPEC_VERSION :: (Num a, Eq a) => a++pattern VK_KHR_MULTIVIEW_SPEC_VERSION = 1++type VK_KHR_MULTIVIEW_SPEC_VERSION = 1++pattern VK_KHR_MULTIVIEW_EXTENSION_NAME :: CString++pattern VK_KHR_MULTIVIEW_EXTENSION_NAME <-+        (is_VK_KHR_MULTIVIEW_EXTENSION_NAME -> True)+  where VK_KHR_MULTIVIEW_EXTENSION_NAME+          = _VK_KHR_MULTIVIEW_EXTENSION_NAME++{-# INLINE _VK_KHR_MULTIVIEW_EXTENSION_NAME #-}++_VK_KHR_MULTIVIEW_EXTENSION_NAME :: CString+_VK_KHR_MULTIVIEW_EXTENSION_NAME = Ptr "VK_KHR_multiview\NUL"#++{-# INLINE is_VK_KHR_MULTIVIEW_EXTENSION_NAME #-}++is_VK_KHR_MULTIVIEW_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_MULTIVIEW_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_MULTIVIEW_EXTENSION_NAME++type VK_KHR_MULTIVIEW_EXTENSION_NAME = "VK_KHR_multiview"++pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR =+        VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR =+        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR+        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES++pattern VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR =+        VK_DEPENDENCY_VIEW_LOCAL_BIT
src-gen/Graphics/Vulkan/Ext/VK_KHR_push_descriptor.hs view
@@ -27,14 +27,14 @@         module Graphics.Vulkan.Types.BaseTypes,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2,         module Graphics.Vulkan.Types.Struct.VkPhysicalDevicePushDescriptorPropertiesKHR,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,         module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,         module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,         module Graphics.Vulkan.Types.Enum.VkStructureType,         -- > #include "vk_platform.h"-        vkCmdPushDescriptorSetKHR,+        vkCmdPushDescriptorSetKHR, vkCmdPushDescriptorSetKHRSafe,         module Graphics.Vulkan.Types.Enum.VkDescriptorType,         module Graphics.Vulkan.Types.Enum.VkImageLayout,         module Graphics.Vulkan.Types.Enum.VkPipelineBindPoint,@@ -47,7 +47,11 @@         VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME,         pattern VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME,         pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR,-        pattern VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR)+        pattern VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR,+        -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.+        vkCmdPushDescriptorSetWithTemplateKHR,+        vkCmdPushDescriptorSetWithTemplateKHRSafe,+        pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR)        where import           GHC.Ptr                                                                                            (Ptr (..))@@ -57,6 +61,8 @@                                                                                            (VkDescriptorSetLayoutCreateBitmask (..),                                                                                            VkDescriptorSetLayoutCreateFlagBits) import           Graphics.Vulkan.Types.Enum.VkDescriptorType+import           Graphics.Vulkan.Types.Enum.VkDescriptorUpdateTemplateType+                                                                                           (VkDescriptorUpdateTemplateType (..)) import           Graphics.Vulkan.Types.Enum.VkImageLayout import           Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType import           Graphics.Vulkan.Types.Enum.VkPipelineBindPoint@@ -67,7 +73,7 @@ import           Graphics.Vulkan.Types.Struct.VkDescriptorImageInfo import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2 import           Graphics.Vulkan.Types.Struct.VkPhysicalDevicePushDescriptorPropertiesKHR import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties import           Graphics.Vulkan.Types.Struct.VkWriteDescriptorSet@@ -85,7 +91,7 @@ --   >     , const VkWriteDescriptorSet* pDescriptorWrites --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdPushDescriptorSetKHR.html vkCmdPushDescriptorSetKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdPushDescriptorSetKHR.html vkCmdPushDescriptorSetKHR registry at www.khronos.org> foreign import ccall unsafe "vkCmdPushDescriptorSetKHR"                vkCmdPushDescriptorSetKHR ::                VkCommandBuffer -- ^ commandBuffer@@ -99,11 +105,38 @@                                       -> Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites                                                                   -> IO () +-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdPushDescriptorSetKHR+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkPipelineBindPoint pipelineBindPoint+--   >     , VkPipelineLayout layout+--   >     , uint32_t set+--   >     , uint32_t descriptorWriteCount+--   >     , const VkWriteDescriptorSet* pDescriptorWrites+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdPushDescriptorSetKHR.html vkCmdPushDescriptorSetKHR registry at www.khronos.org>+foreign import ccall safe "vkCmdPushDescriptorSetKHR"+               vkCmdPushDescriptorSetKHRSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkPipelineBindPoint -- ^ pipelineBindPoint+                                     ->+                   VkPipelineLayout -- ^ layout+                                    ->+                     Word32 -- ^ set+                            -> Word32 -- ^ descriptorWriteCount+                                      -> Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites+                                                                  -> IO ()+ pattern VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION :: (Num a, Eq a) => a -pattern VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION = 1+pattern VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION = 2 -type VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION = 1+type VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION = 2  pattern VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME :: CString @@ -122,7 +155,7 @@  is_VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME :: CString -> Bool is_VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME-  = eqCStrings _VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME  type VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME =      "VK_KHR_push_descriptor"@@ -141,3 +174,58 @@  pattern VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR =         VkDescriptorSetLayoutCreateFlagBits 1++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdPushDescriptorSetWithTemplateKHR+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate+--   >     , VkPipelineLayout layout+--   >     , uint32_t set+--   >     , const void* pData+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdPushDescriptorSetWithTemplateKHR.html vkCmdPushDescriptorSetWithTemplateKHR registry at www.khronos.org>+foreign import ccall unsafe "vkCmdPushDescriptorSetWithTemplateKHR"+               vkCmdPushDescriptorSetWithTemplateKHR ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+                                            ->+                   VkPipelineLayout -- ^ layout+                                    -> Word32 -- ^ set+                                              -> Ptr Void -- ^ pData+                                                          -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdPushDescriptorSetWithTemplateKHR+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkDescriptorUpdateTemplate descriptorUpdateTemplate+--   >     , VkPipelineLayout layout+--   >     , uint32_t set+--   >     , const void* pData+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdPushDescriptorSetWithTemplateKHR.html vkCmdPushDescriptorSetWithTemplateKHR registry at www.khronos.org>+foreign import ccall safe "vkCmdPushDescriptorSetWithTemplateKHR"+               vkCmdPushDescriptorSetWithTemplateKHRSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+                                            ->+                   VkPipelineLayout -- ^ layout+                                    -> Word32 -- ^ set+                                              -> Ptr Void -- ^ pData+                                                          -> IO ()++-- | Create descriptor update template for pushed descriptor updates+pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR ::+        VkDescriptorUpdateTemplateType++pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR =+        VkDescriptorUpdateTemplateType 1
src-gen/Graphics/Vulkan/Ext/VK_KHR_relaxed_block_layout.hs view
@@ -49,7 +49,7 @@  is_VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME :: CString -> Bool is_VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME-  = eqCStrings _VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME  type VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME =      "VK_KHR_relaxed_block_layout"
src-gen/Graphics/Vulkan/Ext/VK_KHR_sampler_mirror_clamp_to_edge.hs view
@@ -54,7 +54,8 @@ is_VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME ::                                                       CString -> Bool is_VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME-  = eqCStrings _VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME  type VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME =      "VK_KHR_sampler_mirror_clamp_to_edge"
src-gen/Graphics/Vulkan/Ext/VK_KHR_sampler_ycbcr_conversion.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -23,51 +24,36 @@         --          -- ** Required extensions: 'VK_KHR_maintenance1', 'VK_KHR_bind_memory2', 'VK_KHR_get_memory_requirements2', 'VK_KHR_get_physical_device_properties2'.-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfoKHR,         module Graphics.Vulkan.Types.Struct.VkBindImagePlaneMemoryInfoKHR,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.VkBorderColor,         module Graphics.Vulkan.Types.Enum.VkChromaLocationKHR,-        module Graphics.Vulkan.Types.Enum.VkCompareOp,-        module Graphics.Vulkan.Types.Struct.VkComponentMapping,-        module Graphics.Vulkan.Types.Enum.VkComponentSwizzle,-        module Graphics.Vulkan.Types.Bitmasks,-        module Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkExtent3D,-        module Graphics.Vulkan.Types.Enum.VkFilter,-        module Graphics.Vulkan.Types.Enum.VkFormat,-        module Graphics.Vulkan.Types.Enum.VkImageAspectFlags,-        module Graphics.Vulkan.Types.Struct.VkImageFormatProperties,-        module Graphics.Vulkan.Types.Struct.VkImageFormatProperties2KHR,-        module Graphics.Vulkan.Types.Struct.VkImageMemoryRequirementsInfo2KHR,         module Graphics.Vulkan.Types.Struct.VkImagePlaneMemoryRequirementsInfoKHR,-        module Graphics.Vulkan.Types.Struct.VkImageSubresourceRange,-        module Graphics.Vulkan.Types.Struct.VkImageViewCreateInfo,-        module Graphics.Vulkan.Types.Enum.VkImageViewType,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2KHR,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR,-        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,-        module Graphics.Vulkan.Types.Enum.VkSamplerAddressMode,-        module Graphics.Vulkan.Types.Struct.VkSamplerCreateInfo,-        module Graphics.Vulkan.Types.Enum.VkSamplerMipmapMode,         module Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionCreateInfoKHR,         module Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionImageFormatPropertiesKHR,         module Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionInfoKHR,         module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversionKHR,         module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRangeKHR,-        module Graphics.Vulkan.Types.Enum.VkStructureType,-        -- > #include "vk_platform.h"         vkCreateSamplerYcbcrConversionKHR,+        vkCreateSamplerYcbcrConversionKHRSafe,         vkDestroySamplerYcbcrConversionKHR,+        vkDestroySamplerYcbcrConversionKHRSafe,+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkChromaLocation,+        module Graphics.Vulkan.Types.Enum.VkComponentSwizzle,+        module Graphics.Vulkan.Types.Enum.VkFilter,+        module Graphics.Vulkan.Types.Enum.VkFormat,         module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,         module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversion,+        module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRange,+        module Graphics.Vulkan.Types.Enum.VkStructureType,         module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,         module Graphics.Vulkan.Types.Funcpointers,         module Graphics.Vulkan.Types.Handles,         module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,+        module Graphics.Vulkan.Types.Struct.VkComponentMapping,+        module Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionCreateInfo,         VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION,         pattern VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION,         VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME,@@ -124,101 +110,187 @@         pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR,         pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR,         pattern VK_FORMAT_FEATURE_DISJOINT_BIT_KHR,-        pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR)+        pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR,+        pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR,+        pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR,+        pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR,+        pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR,+        pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR,+        pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR,+        pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR,+        pattern VK_CHROMA_LOCATION_COSITED_EVEN_KHR,+        pattern VK_CHROMA_LOCATION_MIDPOINT_KHR,+        -- ** Required extensions: 'VK_EXT_debug_report', 'VK_KHR_maintenance1', 'VK_KHR_bind_memory2', 'VK_KHR_get_memory_requirements2', 'VK_KHR_get_physical_device_properties2'.+        pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT)        where import           GHC.Ptr                                                                                                  (Ptr (..))+import           Graphics.Vulkan.Core_1_1+                                                                                                 (pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,+                                                                                                 pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,+                                                                                                 pattern VK_FORMAT_B16G16R16G16_422_UNORM,+                                                                                                 pattern VK_FORMAT_B8G8R8G8_422_UNORM,+                                                                                                 pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,+                                                                                                 pattern VK_FORMAT_FEATURE_DISJOINT_BIT,+                                                                                                 pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,+                                                                                                 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,+                                                                                                 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,+                                                                                                 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,+                                                                                                 pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,+                                                                                                 pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,+                                                                                                 pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,+                                                                                                 pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,+                                                                                                 pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,+                                                                                                 pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,+                                                                                                 pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,+                                                                                                 pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,+                                                                                                 pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,+                                                                                                 pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,+                                                                                                 pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,+                                                                                                 pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,+                                                                                                 pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,+                                                                                                 pattern VK_FORMAT_G16B16G16R16_422_UNORM,+                                                                                                 pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,+                                                                                                 pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,+                                                                                                 pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,+                                                                                                 pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,+                                                                                                 pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,+                                                                                                 pattern VK_FORMAT_G8B8G8R8_422_UNORM,+                                                                                                 pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,+                                                                                                 pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,+                                                                                                 pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,+                                                                                                 pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,+                                                                                                 pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,+                                                                                                 pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,+                                                                                                 pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16,+                                                                                                 pattern VK_FORMAT_R10X6_UNORM_PACK16,+                                                                                                 pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,+                                                                                                 pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16,+                                                                                                 pattern VK_FORMAT_R12X4_UNORM_PACK16,+                                                                                                 pattern VK_IMAGE_ASPECT_PLANE_0_BIT,+                                                                                                 pattern VK_IMAGE_ASPECT_PLANE_1_BIT,+                                                                                                 pattern VK_IMAGE_ASPECT_PLANE_2_BIT,+                                                                                                 pattern VK_IMAGE_CREATE_DISJOINT_BIT,+                                                                                                 pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,+                                                                                                 pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,+                                                                                                 pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,+                                                                                                 pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,+                                                                                                 pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,+                                                                                                 pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,+                                                                                                 pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO)+import           Graphics.Vulkan.Ext.VK_EXT_debug_report+                                                                                                 (pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT) import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Types.BaseTypes-import           Graphics.Vulkan.Types.Bitmasks-import           Graphics.Vulkan.Types.Enum.VkBorderColor+import           Graphics.Vulkan.Types.Enum.VkChromaLocation import           Graphics.Vulkan.Types.Enum.VkChromaLocationKHR-import           Graphics.Vulkan.Types.Enum.VkCompareOp import           Graphics.Vulkan.Types.Enum.VkComponentSwizzle-import           Graphics.Vulkan.Types.Enum.VkDebugReportObjectTypeEXT-                                                                                                 (VkDebugReportObjectTypeEXT (..)) import           Graphics.Vulkan.Types.Enum.VkFilter import           Graphics.Vulkan.Types.Enum.VkFormat-import           Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags-                                                                                                 (VkFormatFeatureBitmask (..),-                                                                                                 VkFormatFeatureFlagBits)-import           Graphics.Vulkan.Types.Enum.VkImageAspectFlags-import           Graphics.Vulkan.Types.Enum.VkImageCreateFlags-                                                                                                 (VkImageCreateBitmask (..),-                                                                                                 VkImageCreateFlagBits)-import           Graphics.Vulkan.Types.Enum.VkImageViewType import           Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import           Graphics.Vulkan.Types.Enum.VkObjectType-                                                                                                 (VkObjectType (..)) import           Graphics.Vulkan.Types.Enum.VkResult-import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import           Graphics.Vulkan.Types.Enum.VkSamplerAddressMode-import           Graphics.Vulkan.Types.Enum.VkSamplerMipmapMode+import           Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversion import           Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversionKHR+import           Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRange import           Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRangeKHR import           Graphics.Vulkan.Types.Enum.VkStructureType import           Graphics.Vulkan.Types.Enum.VkSystemAllocationScope import           Graphics.Vulkan.Types.Funcpointers import           Graphics.Vulkan.Types.Handles import           Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import           Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfoKHR import           Graphics.Vulkan.Types.Struct.VkBindImagePlaneMemoryInfoKHR import           Graphics.Vulkan.Types.Struct.VkComponentMapping-import           Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo-import           Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo-import           Graphics.Vulkan.Types.Struct.VkExtent3D-import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties-import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties2KHR-import           Graphics.Vulkan.Types.Struct.VkImageMemoryRequirementsInfo2KHR import           Graphics.Vulkan.Types.Struct.VkImagePlaneMemoryRequirementsInfoKHR-import           Graphics.Vulkan.Types.Struct.VkImageSubresourceRange-import           Graphics.Vulkan.Types.Struct.VkImageViewCreateInfo-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2KHR import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR-import           Graphics.Vulkan.Types.Struct.VkSamplerCreateInfo+import           Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionCreateInfo import           Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionCreateInfoKHR import           Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionImageFormatPropertiesKHR import           Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionInfoKHR --- | Success codes: 'VK_SUCCESS'.+-- | This is an alias for `vkCreateSamplerYcbcrConversion`. --+--   Success codes: 'VK_SUCCESS'.+-- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'. -- --   > VkResult vkCreateSamplerYcbcrConversionKHR --   >     ( VkDevice device---   >     , const VkSamplerYcbcrConversionCreateInfoKHR* pCreateInfo+--   >     , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo --   >     , const VkAllocationCallbacks* pAllocator---   >     , VkSamplerYcbcrConversionKHR* pYcbcrConversion+--   >     , VkSamplerYcbcrConversion* pYcbcrConversion --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateSamplerYcbcrConversionKHR.html vkCreateSamplerYcbcrConversionKHR registry at www.khronos.org>-foreign import ccall unsafe "vkCreateSamplerYcbcrConversionKHR"+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSamplerYcbcrConversionKHR.html vkCreateSamplerYcbcrConversionKHR registry at www.khronos.org>+foreign import ccall unsafe "vkCreateSamplerYcbcrConversion"                vkCreateSamplerYcbcrConversionKHR ::                VkDevice -- ^ device                         ->-                 Ptr VkSamplerYcbcrConversionCreateInfoKHR -- ^ pCreateInfo-                                                           ->+                 Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo+                                                        ->                    Ptr VkAllocationCallbacks -- ^ pAllocator                                              ->-                     Ptr VkSamplerYcbcrConversionKHR -- ^ pYcbcrConversion-                                                     -> IO VkResult+                     Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion+                                                  -> IO VkResult --- | > () vkDestroySamplerYcbcrConversionKHR+-- | This is an alias for `vkCreateSamplerYcbcrConversion`.+--+--   Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateSamplerYcbcrConversionKHR --   >     ( VkDevice device---   >     , VkSamplerYcbcrConversionKHR ycbcrConversion+--   >     , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo --   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkSamplerYcbcrConversion* pYcbcrConversion --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroySamplerYcbcrConversionKHR.html vkDestroySamplerYcbcrConversionKHR registry at www.khronos.org>-foreign import ccall unsafe "vkDestroySamplerYcbcrConversionKHR"+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSamplerYcbcrConversionKHR.html vkCreateSamplerYcbcrConversionKHR registry at www.khronos.org>+foreign import ccall safe "vkCreateSamplerYcbcrConversion"+               vkCreateSamplerYcbcrConversionKHRSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo+                                                        ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             ->+                     Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion+                                                  -> IO VkResult++-- | This is an alias for `vkDestroySamplerYcbcrConversion`.+--+--   > () vkDestroySamplerYcbcrConversionKHR+--   >     ( VkDevice device+--   >     , VkSamplerYcbcrConversion ycbcrConversion+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySamplerYcbcrConversionKHR.html vkDestroySamplerYcbcrConversionKHR registry at www.khronos.org>+foreign import ccall unsafe "vkDestroySamplerYcbcrConversion"                vkDestroySamplerYcbcrConversionKHR ::                VkDevice -- ^ device                         ->-                 VkSamplerYcbcrConversionKHR -- ^ ycbcrConversion-                                             -> Ptr VkAllocationCallbacks -- ^ pAllocator-                                                                          -> IO ()+                 VkSamplerYcbcrConversion -- ^ ycbcrConversion+                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                       -> IO () +-- | This is an alias for `vkDestroySamplerYcbcrConversion`.+--+--   > () vkDestroySamplerYcbcrConversionKHR+--   >     ( VkDevice device+--   >     , VkSamplerYcbcrConversion ycbcrConversion+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySamplerYcbcrConversionKHR.html vkDestroySamplerYcbcrConversionKHR registry at www.khronos.org>+foreign import ccall safe "vkDestroySamplerYcbcrConversion"+               vkDestroySamplerYcbcrConversionKHRSafe ::+               VkDevice -- ^ device+                        ->+                 VkSamplerYcbcrConversion -- ^ ycbcrConversion+                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                       -> IO ()+ pattern VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION ::         (Num a, Eq a) => a @@ -244,314 +316,200 @@ is_VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME ::                                                   CString -> Bool is_VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME-  = eqCStrings _VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME  type VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME =      "VK_KHR_sampler_ycbcr_conversion"  pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR-        :: VkStructureType--pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR-        = VkStructureType 1000156000--pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR ::-        VkStructureType+        = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO  pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR =-        VkStructureType 1000156001--pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR ::-        VkStructureType+        VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO  pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR =-        VkStructureType 1000156002--pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR-        :: VkStructureType+        VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO  pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR-        = VkStructureType 1000156003--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR-        :: VkStructureType+        = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO  pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR-        = VkStructureType 1000156004--pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR-        :: VkStructureType+        =+        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES  pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR-        = VkStructureType 1000156005--pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT-        :: VkDebugReportObjectTypeEXT+        =+        VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES  pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT-        = VkDebugReportObjectTypeEXT 1000156000--pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR :: VkObjectType+        = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT  pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR =-        VkObjectType 1000156000--pattern VK_FORMAT_G8B8G8R8_422_UNORM_KHR :: VkFormat--pattern VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VkFormat 1000156000--pattern VK_FORMAT_B8G8R8G8_422_UNORM_KHR :: VkFormat+        VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION -pattern VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VkFormat 1000156001+pattern VK_FORMAT_G8B8G8R8_422_UNORM_KHR =+        VK_FORMAT_G8B8G8R8_422_UNORM -pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR :: VkFormat+pattern VK_FORMAT_B8G8R8G8_422_UNORM_KHR =+        VK_FORMAT_B8G8R8G8_422_UNORM  pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR =-        VkFormat 1000156002--pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR :: VkFormat+        VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM  pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR =-        VkFormat 1000156003--pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR :: VkFormat+        VK_FORMAT_G8_B8R8_2PLANE_420_UNORM  pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR =-        VkFormat 1000156004--pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR :: VkFormat+        VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM  pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR =-        VkFormat 1000156005--pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR :: VkFormat+        VK_FORMAT_G8_B8R8_2PLANE_422_UNORM  pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR =-        VkFormat 1000156006--pattern VK_FORMAT_R10X6_UNORM_PACK16_KHR :: VkFormat--pattern VK_FORMAT_R10X6_UNORM_PACK16_KHR = VkFormat 1000156007+        VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM -pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR :: VkFormat+pattern VK_FORMAT_R10X6_UNORM_PACK16_KHR =+        VK_FORMAT_R10X6_UNORM_PACK16  pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR =-        VkFormat 1000156008--pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR ::-        VkFormat+        VK_FORMAT_R10X6G10X6_UNORM_2PACK16  pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR =-        VkFormat 1000156009--pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR ::-        VkFormat+        VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16  pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR =-        VkFormat 1000156010--pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR ::-        VkFormat+        VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16  pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR =-        VkFormat 1000156011--pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR ::-        VkFormat+        VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16  pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR =-        VkFormat 1000156012--pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR ::-        VkFormat+        VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16  pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR =-        VkFormat 1000156013--pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR ::-        VkFormat+        VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16  pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR =-        VkFormat 1000156014--pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR ::-        VkFormat+        VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16  pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR =-        VkFormat 1000156015--pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR ::-        VkFormat+        VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16  pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR =-        VkFormat 1000156016--pattern VK_FORMAT_R12X4_UNORM_PACK16_KHR :: VkFormat--pattern VK_FORMAT_R12X4_UNORM_PACK16_KHR = VkFormat 1000156017+        VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 -pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR :: VkFormat+pattern VK_FORMAT_R12X4_UNORM_PACK16_KHR =+        VK_FORMAT_R12X4_UNORM_PACK16  pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR =-        VkFormat 1000156018--pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR ::-        VkFormat+        VK_FORMAT_R12X4G12X4_UNORM_2PACK16  pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR =-        VkFormat 1000156019--pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR ::-        VkFormat+        VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16  pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR =-        VkFormat 1000156020--pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR ::-        VkFormat+        VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16  pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR =-        VkFormat 1000156021--pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR ::-        VkFormat+        VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16  pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR =-        VkFormat 1000156022--pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR ::-        VkFormat+        VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16  pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR =-        VkFormat 1000156023--pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR ::-        VkFormat+        VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16  pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR =-        VkFormat 1000156024--pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR ::-        VkFormat+        VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16  pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR =-        VkFormat 1000156025--pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR ::-        VkFormat+        VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16  pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR =-        VkFormat 1000156026--pattern VK_FORMAT_G16B16G16R16_422_UNORM_KHR :: VkFormat--pattern VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VkFormat 1000156027--pattern VK_FORMAT_B16G16R16G16_422_UNORM_KHR :: VkFormat+        VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 -pattern VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VkFormat 1000156028+pattern VK_FORMAT_G16B16G16R16_422_UNORM_KHR =+        VK_FORMAT_G16B16G16R16_422_UNORM -pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR :: VkFormat+pattern VK_FORMAT_B16G16R16G16_422_UNORM_KHR =+        VK_FORMAT_B16G16R16G16_422_UNORM  pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR =-        VkFormat 1000156029--pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR :: VkFormat+        VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM  pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR =-        VkFormat 1000156030--pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR :: VkFormat+        VK_FORMAT_G16_B16R16_2PLANE_420_UNORM  pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR =-        VkFormat 1000156031--pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR :: VkFormat+        VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM  pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR =-        VkFormat 1000156032--pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR :: VkFormat+        VK_FORMAT_G16_B16R16_2PLANE_422_UNORM  pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR =-        VkFormat 1000156033---- | bitpos = @4@-pattern VK_IMAGE_ASPECT_PLANE_0_BIT_KHR :: VkImageAspectFlagBits--pattern VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VkImageAspectFlagBits 16---- | bitpos = @5@-pattern VK_IMAGE_ASPECT_PLANE_1_BIT_KHR :: VkImageAspectFlagBits--pattern VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VkImageAspectFlagBits 32+        VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM --- | bitpos = @6@-pattern VK_IMAGE_ASPECT_PLANE_2_BIT_KHR :: VkImageAspectFlagBits+pattern VK_IMAGE_ASPECT_PLANE_0_BIT_KHR =+        VK_IMAGE_ASPECT_PLANE_0_BIT -pattern VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VkImageAspectFlagBits 64+pattern VK_IMAGE_ASPECT_PLANE_1_BIT_KHR =+        VK_IMAGE_ASPECT_PLANE_1_BIT --- | bitpos = @9@-pattern VK_IMAGE_CREATE_DISJOINT_BIT_KHR :: VkImageCreateFlagBits+pattern VK_IMAGE_ASPECT_PLANE_2_BIT_KHR =+        VK_IMAGE_ASPECT_PLANE_2_BIT  pattern VK_IMAGE_CREATE_DISJOINT_BIT_KHR =-        VkImageCreateFlagBits 512---- | Format can have midpoint rather than cosited chroma samples------   bitpos = @17@-pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR ::-        VkFormatFeatureFlagBits+        VK_IMAGE_CREATE_DISJOINT_BIT  pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR =-        VkFormatFeatureFlagBits 131072---- | Format can be used with linear filtering whilst color conversion is enabled------   bitpos = @18@-pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR-        :: VkFormatFeatureFlagBits+        VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT  pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR-        = VkFormatFeatureFlagBits 262144---- | Format can have different chroma, min and mag filters------   bitpos = @19@-pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR-        :: VkFormatFeatureFlagBits+        =+        VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT  pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR-        = VkFormatFeatureFlagBits 524288---- | bitpos = @20@-pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR-        :: VkFormatFeatureFlagBits+        =+        VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT  pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR-        = VkFormatFeatureFlagBits 1048576+        =+        VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT --- | bitpos = @21@ pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR-        :: VkFormatFeatureFlagBits+        =+        VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT -pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR-        = VkFormatFeatureFlagBits 2097152+pattern VK_FORMAT_FEATURE_DISJOINT_BIT_KHR =+        VK_FORMAT_FEATURE_DISJOINT_BIT --- | Format supports disjoint planes------   bitpos = @22@-pattern VK_FORMAT_FEATURE_DISJOINT_BIT_KHR ::-        VkFormatFeatureFlagBits+pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR =+        VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT -pattern VK_FORMAT_FEATURE_DISJOINT_BIT_KHR =-        VkFormatFeatureFlagBits 4194304+pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR =+        VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY --- | Format can have cosited rather than midpoint chroma samples------   bitpos = @23@-pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR ::-        VkFormatFeatureFlagBits+pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR =+        VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY -pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR =-        VkFormatFeatureFlagBits 8388608+pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR =+        VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709++pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR =+        VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601++pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR =+        VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020++pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR =+        VK_SAMPLER_YCBCR_RANGE_ITU_FULL++pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR =+        VK_SAMPLER_YCBCR_RANGE_ITU_NARROW++pattern VK_CHROMA_LOCATION_COSITED_EVEN_KHR =+        VK_CHROMA_LOCATION_COSITED_EVEN++pattern VK_CHROMA_LOCATION_MIDPOINT_KHR =+        VK_CHROMA_LOCATION_MIDPOINT
src-gen/Graphics/Vulkan/Ext/VK_KHR_shader_draw_parameters.hs view
@@ -49,7 +49,8 @@  is_VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME :: CString -> Bool is_VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME-  = eqCStrings _VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME  type VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME =      "VK_KHR_shader_draw_parameters"
src-gen/Graphics/Vulkan/Ext/VK_KHR_shared_presentable_image.hs view
@@ -33,7 +33,7 @@         module Graphics.Vulkan.Types.Struct.VkSurfaceCapabilitiesKHR,         module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR,         -- > #include "vk_platform.h"-        vkGetSwapchainStatusKHR,+        vkGetSwapchainStatusKHR, vkGetSwapchainStatusKHRSafe,         module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Handles,         VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION,@@ -73,13 +73,29 @@ --   >     , VkSwapchainKHR swapchain --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetSwapchainStatusKHR.html vkGetSwapchainStatusKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetSwapchainStatusKHR.html vkGetSwapchainStatusKHR registry at www.khronos.org> foreign import ccall unsafe "vkGetSwapchainStatusKHR"                vkGetSwapchainStatusKHR ::                VkDevice -- ^ device                         -> VkSwapchainKHR -- ^ swapchain                                           -> IO VkResult +-- | Success codes: 'VK_SUCCESS', 'VK_SUBOPTIMAL_KHR'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+--   > VkResult vkGetSwapchainStatusKHR+--   >     ( VkDevice device+--   >     , VkSwapchainKHR swapchain+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetSwapchainStatusKHR.html vkGetSwapchainStatusKHR registry at www.khronos.org>+foreign import ccall safe "vkGetSwapchainStatusKHR"+               vkGetSwapchainStatusKHRSafe ::+               VkDevice -- ^ device+                        -> VkSwapchainKHR -- ^ swapchain+                                          -> IO VkResult+ pattern VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION ::         (Num a, Eq a) => a @@ -105,7 +121,8 @@ is_VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME ::                                                   CString -> Bool is_VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME-  = eqCStrings _VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME  type VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME =      "VK_KHR_shared_presentable_image"
src-gen/Graphics/Vulkan/Ext/VK_KHR_storage_buffer_storage_class.hs view
@@ -52,7 +52,8 @@ is_VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME ::                                                       CString -> Bool is_VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME-  = eqCStrings _VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME  type VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME =      "VK_KHR_storage_buffer_storage_class"
src-gen/Graphics/Vulkan/Ext/VK_KHR_surface.hs view
@@ -19,10 +19,15 @@         -- type: @instance@         --         -- Extension number: @1@-        vkDestroySurfaceKHR, vkGetPhysicalDeviceSurfaceSupportKHR,+        vkDestroySurfaceKHR, vkDestroySurfaceKHRSafe,+        vkGetPhysicalDeviceSurfaceSupportKHR,+        vkGetPhysicalDeviceSurfaceSupportKHRSafe,         vkGetPhysicalDeviceSurfaceCapabilitiesKHR,+        vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe,         vkGetPhysicalDeviceSurfaceFormatsKHR,+        vkGetPhysicalDeviceSurfaceFormatsKHRSafe,         vkGetPhysicalDeviceSurfacePresentModesKHR,+        vkGetPhysicalDeviceSurfacePresentModesKHRSafe,         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.BaseTypes,         module Graphics.Vulkan.Types.Enum.VkColorSpaceKHR,@@ -74,7 +79,7 @@ --   >     , const VkAllocationCallbacks* pAllocator --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroySurfaceKHR.html vkDestroySurfaceKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySurfaceKHR.html vkDestroySurfaceKHR registry at www.khronos.org> foreign import ccall unsafe "vkDestroySurfaceKHR"                vkDestroySurfaceKHR ::                VkInstance -- ^ instance@@ -82,6 +87,20 @@                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator                                                                        -> IO () +-- | > () vkDestroySurfaceKHR+--   >     ( VkInstance instance+--   >     , VkSurfaceKHR surface+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySurfaceKHR.html vkDestroySurfaceKHR registry at www.khronos.org>+foreign import ccall safe "vkDestroySurfaceKHR"+               vkDestroySurfaceKHRSafe ::+               VkInstance -- ^ instance+                          -> VkSurfaceKHR -- ^ surface+                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                       -> IO ()+ -- | Success codes: 'VK_SUCCESS'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.@@ -93,7 +112,7 @@ --   >     , VkBool32* pSupported --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceSurfaceSupportKHR.html vkGetPhysicalDeviceSurfaceSupportKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceSupportKHR.html vkGetPhysicalDeviceSurfaceSupportKHR registry at www.khronos.org> foreign import ccall unsafe "vkGetPhysicalDeviceSurfaceSupportKHR"                vkGetPhysicalDeviceSurfaceSupportKHR ::                VkPhysicalDevice -- ^ physicalDevice@@ -107,13 +126,34 @@ -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'. --+--   > VkResult vkGetPhysicalDeviceSurfaceSupportKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t queueFamilyIndex+--   >     , VkSurfaceKHR surface+--   >     , VkBool32* pSupported+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceSupportKHR.html vkGetPhysicalDeviceSurfaceSupportKHR registry at www.khronos.org>+foreign import ccall safe "vkGetPhysicalDeviceSurfaceSupportKHR"+               vkGetPhysicalDeviceSurfaceSupportKHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Word32 -- ^ queueFamilyIndex+                        -> VkSurfaceKHR -- ^ surface+                                        -> Ptr VkBool32 -- ^ pSupported+                                                        -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+-- --   > VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR --   >     ( VkPhysicalDevice physicalDevice --   >     , VkSurfaceKHR surface --   >     , VkSurfaceCapabilitiesKHR* pSurfaceCapabilities --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceSurfaceCapabilitiesKHR.html vkGetPhysicalDeviceSurfaceCapabilitiesKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceCapabilitiesKHR.html vkGetPhysicalDeviceSurfaceCapabilitiesKHR registry at www.khronos.org> foreign import ccall unsafe                "vkGetPhysicalDeviceSurfaceCapabilitiesKHR"                vkGetPhysicalDeviceSurfaceCapabilitiesKHR ::@@ -123,6 +163,26 @@                               -> Ptr VkSurfaceCapabilitiesKHR -- ^ pSurfaceCapabilities                                                               -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+--   > VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkSurfaceKHR surface+--   >     , VkSurfaceCapabilitiesKHR* pSurfaceCapabilities+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceCapabilitiesKHR.html vkGetPhysicalDeviceSurfaceCapabilitiesKHR registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceSurfaceCapabilitiesKHR"+               vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 VkSurfaceKHR -- ^ surface+                              -> Ptr VkSurfaceCapabilitiesKHR -- ^ pSurfaceCapabilities+                                                              -> IO VkResult+ -- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.@@ -134,7 +194,7 @@ --   >     , VkSurfaceFormatKHR* pSurfaceFormats --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceSurfaceFormatsKHR.html vkGetPhysicalDeviceSurfaceFormatsKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceFormatsKHR.html vkGetPhysicalDeviceSurfaceFormatsKHR registry at www.khronos.org> foreign import ccall unsafe "vkGetPhysicalDeviceSurfaceFormatsKHR"                vkGetPhysicalDeviceSurfaceFormatsKHR ::                VkPhysicalDevice -- ^ physicalDevice@@ -148,6 +208,27 @@ -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'. --+--   > VkResult vkGetPhysicalDeviceSurfaceFormatsKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkSurfaceKHR surface+--   >     , uint32_t* pSurfaceFormatCount+--   >     , VkSurfaceFormatKHR* pSurfaceFormats+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceFormatsKHR.html vkGetPhysicalDeviceSurfaceFormatsKHR registry at www.khronos.org>+foreign import ccall safe "vkGetPhysicalDeviceSurfaceFormatsKHR"+               vkGetPhysicalDeviceSurfaceFormatsKHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 VkSurfaceKHR -- ^ surface+                              -> Ptr Word32 -- ^ pSurfaceFormatCount+                                            -> Ptr VkSurfaceFormatKHR -- ^ pSurfaceFormats+                                                                      -> IO VkResult++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+-- --   > VkResult vkGetPhysicalDeviceSurfacePresentModesKHR --   >     ( VkPhysicalDevice physicalDevice --   >     , VkSurfaceKHR surface@@ -155,7 +236,7 @@ --   >     , VkPresentModeKHR* pPresentModes --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceSurfacePresentModesKHR.html vkGetPhysicalDeviceSurfacePresentModesKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfacePresentModesKHR.html vkGetPhysicalDeviceSurfacePresentModesKHR registry at www.khronos.org> foreign import ccall unsafe                "vkGetPhysicalDeviceSurfacePresentModesKHR"                vkGetPhysicalDeviceSurfacePresentModesKHR ::@@ -166,6 +247,28 @@                                             -> Ptr VkPresentModeKHR -- ^ pPresentModes                                                                     -> IO VkResult +-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+--   > VkResult vkGetPhysicalDeviceSurfacePresentModesKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkSurfaceKHR surface+--   >     , uint32_t* pPresentModeCount+--   >     , VkPresentModeKHR* pPresentModes+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfacePresentModesKHR.html vkGetPhysicalDeviceSurfacePresentModesKHR registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceSurfacePresentModesKHR"+               vkGetPhysicalDeviceSurfacePresentModesKHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 VkSurfaceKHR -- ^ surface+                              -> Ptr Word32 -- ^ pPresentModeCount+                                            -> Ptr VkPresentModeKHR -- ^ pPresentModes+                                                                    -> IO VkResult+ pattern VK_KHR_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a  pattern VK_KHR_SURFACE_SPEC_VERSION = 25@@ -188,7 +291,7 @@  is_VK_KHR_SURFACE_EXTENSION_NAME :: CString -> Bool is_VK_KHR_SURFACE_EXTENSION_NAME-  = eqCStrings _VK_KHR_SURFACE_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_SURFACE_EXTENSION_NAME  type VK_KHR_SURFACE_EXTENSION_NAME = "VK_KHR_surface" 
src-gen/Graphics/Vulkan/Ext/VK_KHR_swapchain.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds                #-} {-# LANGUAGE ForeignFunctionInterface #-}@@ -23,8 +24,11 @@         --          -- ** Required extensions: 'VK_KHR_surface'.-        vkCreateSwapchainKHR, vkDestroySwapchainKHR,-        vkGetSwapchainImagesKHR, vkAcquireNextImageKHR, vkQueuePresentKHR,+        vkCreateSwapchainKHR, vkCreateSwapchainKHRSafe,+        vkDestroySwapchainKHR, vkDestroySwapchainKHRSafe,+        vkGetSwapchainImagesKHR, vkGetSwapchainImagesKHRSafe,+        vkAcquireNextImageKHR, vkAcquireNextImageKHRSafe,+        vkQueuePresentKHR, vkQueuePresentKHRSafe,         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.BaseTypes,         module Graphics.Vulkan.Types.Enum.VkColorSpaceKHR,@@ -53,20 +57,61 @@         pattern VK_STRUCTURE_TYPE_PRESENT_INFO_KHR,         pattern VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, pattern VK_SUBOPTIMAL_KHR,         pattern VK_ERROR_OUT_OF_DATE_KHR,-        pattern VK_OBJECT_TYPE_SWAPCHAIN_KHR)+        pattern VK_OBJECT_TYPE_SWAPCHAIN_KHR,+        -- ** Required extensions: 'VK_KHR_surface'.+        module Graphics.Vulkan.Types.Struct.VkAcquireNextImageInfoKHR,+        module Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfo,+        module Graphics.Vulkan.Types.Struct.VkBindImageMemorySwapchainInfoKHR,+        module Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentCapabilitiesKHR,+        module Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentInfoKHR,+        module Graphics.Vulkan.Types.Enum.VkDeviceGroupPresentModeFlagsKHR,+        module Graphics.Vulkan.Types.Struct.VkDeviceGroupSwapchainCreateInfoKHR,+        module Graphics.Vulkan.Types.Struct.VkExtent3D,+        module Graphics.Vulkan.Types.Enum.VkImageCreateFlags,+        module Graphics.Vulkan.Types.Struct.VkImageCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkImageLayout,+        module Graphics.Vulkan.Types.Struct.VkImageSwapchainCreateInfoKHR,+        module Graphics.Vulkan.Types.Enum.VkImageTiling,+        module Graphics.Vulkan.Types.Enum.VkImageType,+        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,+        -- > #include "vk_platform.h"+        vkGetDeviceGroupPresentCapabilitiesKHR,+        vkGetDeviceGroupPresentCapabilitiesKHRSafe,+        vkGetDeviceGroupSurfacePresentModesKHR,+        vkGetDeviceGroupSurfacePresentModesKHRSafe,+        vkGetPhysicalDevicePresentRectanglesKHR,+        vkGetPhysicalDevicePresentRectanglesKHRSafe,+        vkAcquireNextImage2KHR, vkAcquireNextImage2KHRSafe,+        module Graphics.Vulkan.Types.Struct.VkOffset2D,+        module Graphics.Vulkan.Types.Struct.VkRect2D,+        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,+        pattern VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR,+        pattern VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR,+        pattern VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR)        where-import           GHC.Ptr                                               (Ptr (..))+import           GHC.Ptr+                                                                                   (Ptr (..)) import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Types.BaseTypes import           Graphics.Vulkan.Types.Enum.VkColorSpaceKHR import           Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkDeviceGroupPresentModeFlagsKHR import           Graphics.Vulkan.Types.Enum.VkFormat-import           Graphics.Vulkan.Types.Enum.VkImageLayout              (VkImageLayout (..))+import           Graphics.Vulkan.Types.Enum.VkImageCreateFlags+import           Graphics.Vulkan.Types.Enum.VkImageLayout+import           Graphics.Vulkan.Types.Enum.VkImageTiling+import           Graphics.Vulkan.Types.Enum.VkImageType import           Graphics.Vulkan.Types.Enum.VkImageUsageFlags import           Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import           Graphics.Vulkan.Types.Enum.VkObjectType               (VkObjectType (..))+import           Graphics.Vulkan.Types.Enum.VkObjectType+                                                                                   (VkObjectType (..)) import           Graphics.Vulkan.Types.Enum.VkPresentModeKHR import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags import           Graphics.Vulkan.Types.Enum.VkSharingMode import           Graphics.Vulkan.Types.Enum.VkStructureType import           Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR@@ -74,9 +119,20 @@ import           Graphics.Vulkan.Types.Enum.VkSystemAllocationScope import           Graphics.Vulkan.Types.Funcpointers import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkAcquireNextImageInfoKHR import           Graphics.Vulkan.Types.Struct.VkAllocationCallbacks+import           Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfo+import           Graphics.Vulkan.Types.Struct.VkBindImageMemorySwapchainInfoKHR+import           Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentCapabilitiesKHR+import           Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentInfoKHR+import           Graphics.Vulkan.Types.Struct.VkDeviceGroupSwapchainCreateInfoKHR import           Graphics.Vulkan.Types.Struct.VkExtent2D+import           Graphics.Vulkan.Types.Struct.VkExtent3D+import           Graphics.Vulkan.Types.Struct.VkImageCreateInfo+import           Graphics.Vulkan.Types.Struct.VkImageSwapchainCreateInfoKHR+import           Graphics.Vulkan.Types.Struct.VkOffset2D import           Graphics.Vulkan.Types.Struct.VkPresentInfoKHR+import           Graphics.Vulkan.Types.Struct.VkRect2D import           Graphics.Vulkan.Types.Struct.VkSwapchainCreateInfoKHR  -- | Success codes: 'VK_SUCCESS'.@@ -90,7 +146,7 @@ --   >     , VkSwapchainKHR* pSwapchain --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateSwapchainKHR.html vkCreateSwapchainKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSwapchainKHR.html vkCreateSwapchainKHR registry at www.khronos.org> foreign import ccall unsafe "vkCreateSwapchainKHR"                vkCreateSwapchainKHR ::                VkDevice -- ^ device@@ -101,13 +157,35 @@                                              -> Ptr VkSwapchainKHR -- ^ pSwapchain                                                                    -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_SURFACE_LOST_KHR', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.+--+--   > VkResult vkCreateSwapchainKHR+--   >     ( VkDevice device+--   >     , const VkSwapchainCreateInfoKHR* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkSwapchainKHR* pSwapchain+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSwapchainKHR.html vkCreateSwapchainKHR registry at www.khronos.org>+foreign import ccall safe "vkCreateSwapchainKHR"+               vkCreateSwapchainKHRSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkSwapchainCreateInfoKHR -- ^ pCreateInfo+                                              ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkSwapchainKHR -- ^ pSwapchain+                                                                   -> IO VkResult+ -- | > () vkDestroySwapchainKHR --   >     ( VkDevice device --   >     , VkSwapchainKHR swapchain --   >     , const VkAllocationCallbacks* pAllocator --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroySwapchainKHR.html vkDestroySwapchainKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySwapchainKHR.html vkDestroySwapchainKHR registry at www.khronos.org> foreign import ccall unsafe "vkDestroySwapchainKHR"                vkDestroySwapchainKHR ::                VkDevice -- ^ device@@ -115,6 +193,20 @@                                           -> Ptr VkAllocationCallbacks -- ^ pAllocator                                                                        -> IO () +-- | > () vkDestroySwapchainKHR+--   >     ( VkDevice device+--   >     , VkSwapchainKHR swapchain+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySwapchainKHR.html vkDestroySwapchainKHR registry at www.khronos.org>+foreign import ccall safe "vkDestroySwapchainKHR"+               vkDestroySwapchainKHRSafe ::+               VkDevice -- ^ device+                        -> VkSwapchainKHR -- ^ swapchain+                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                       -> IO ()+ -- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -126,7 +218,7 @@ --   >     , VkImage* pSwapchainImages --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetSwapchainImagesKHR.html vkGetSwapchainImagesKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetSwapchainImagesKHR.html vkGetSwapchainImagesKHR registry at www.khronos.org> foreign import ccall unsafe "vkGetSwapchainImagesKHR"                vkGetSwapchainImagesKHR ::                VkDevice -- ^ device@@ -136,6 +228,27 @@                                               -> Ptr VkImage -- ^ pSwapchainImages                                                              -> IO VkResult +-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkGetSwapchainImagesKHR+--   >     ( VkDevice device+--   >     , VkSwapchainKHR swapchain+--   >     , uint32_t* pSwapchainImageCount+--   >     , VkImage* pSwapchainImages+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetSwapchainImagesKHR.html vkGetSwapchainImagesKHR registry at www.khronos.org>+foreign import ccall safe "vkGetSwapchainImagesKHR"+               vkGetSwapchainImagesKHRSafe ::+               VkDevice -- ^ device+                        ->+                 VkSwapchainKHR -- ^ swapchain+                                -> Ptr Word32 -- ^ pSwapchainImageCount+                                              -> Ptr VkImage -- ^ pSwapchainImages+                                                             -> IO VkResult+ -- | Success codes: 'VK_SUCCESS', 'VK_TIMEOUT', 'VK_NOT_READY', 'VK_SUBOPTIMAL_KHR'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.@@ -149,7 +262,7 @@ --   >     , uint32_t* pImageIndex --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkAcquireNextImageKHR.html vkAcquireNextImageKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAcquireNextImageKHR.html vkAcquireNextImageKHR registry at www.khronos.org> foreign import ccall unsafe "vkAcquireNextImageKHR"                vkAcquireNextImageKHR ::                VkDevice -- ^ device@@ -162,6 +275,32 @@                                                     -> Ptr Word32 -- ^ pImageIndex                                                                   -> IO VkResult +-- | Success codes: 'VK_SUCCESS', 'VK_TIMEOUT', 'VK_NOT_READY', 'VK_SUBOPTIMAL_KHR'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+--   > VkResult vkAcquireNextImageKHR+--   >     ( VkDevice device+--   >     , VkSwapchainKHR swapchain+--   >     , uint64_t timeout+--   >     , VkSemaphore semaphore+--   >     , VkFence fence+--   >     , uint32_t* pImageIndex+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAcquireNextImageKHR.html vkAcquireNextImageKHR registry at www.khronos.org>+foreign import ccall safe "vkAcquireNextImageKHR"+               vkAcquireNextImageKHRSafe ::+               VkDevice -- ^ device+                        ->+                 VkSwapchainKHR -- ^ swapchain+                                ->+                   Word64 -- ^ timeout+                          -> VkSemaphore -- ^ semaphore+                                         -> VkFence -- ^ fence+                                                    -> Ptr Word32 -- ^ pImageIndex+                                                                  -> IO VkResult+ -- | Success codes: 'VK_SUCCESS', 'VK_SUBOPTIMAL_KHR'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.@@ -171,17 +310,32 @@ --   >     , const VkPresentInfoKHR* pPresentInfo --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkQueuePresentKHR.html vkQueuePresentKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueuePresentKHR.html vkQueuePresentKHR registry at www.khronos.org> foreign import ccall unsafe "vkQueuePresentKHR" vkQueuePresentKHR                :: VkQueue -- ^ queue                           -> Ptr VkPresentInfoKHR -- ^ pPresentInfo                                                   -> IO VkResult +-- | Success codes: 'VK_SUCCESS', 'VK_SUBOPTIMAL_KHR'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+--   > VkResult vkQueuePresentKHR+--   >     ( VkQueue queue+--   >     , const VkPresentInfoKHR* pPresentInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueuePresentKHR.html vkQueuePresentKHR registry at www.khronos.org>+foreign import ccall safe "vkQueuePresentKHR" vkQueuePresentKHRSafe+               :: VkQueue -- ^ queue+                          -> Ptr VkPresentInfoKHR -- ^ pPresentInfo+                                                  -> IO VkResult+ pattern VK_KHR_SWAPCHAIN_SPEC_VERSION :: (Num a, Eq a) => a -pattern VK_KHR_SWAPCHAIN_SPEC_VERSION = 68+pattern VK_KHR_SWAPCHAIN_SPEC_VERSION = 70 -type VK_KHR_SWAPCHAIN_SPEC_VERSION = 68+type VK_KHR_SWAPCHAIN_SPEC_VERSION = 70  pattern VK_KHR_SWAPCHAIN_EXTENSION_NAME :: CString @@ -199,7 +353,7 @@  is_VK_KHR_SWAPCHAIN_EXTENSION_NAME :: CString -> Bool is_VK_KHR_SWAPCHAIN_EXTENSION_NAME-  = eqCStrings _VK_KHR_SWAPCHAIN_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_SWAPCHAIN_EXTENSION_NAME  type VK_KHR_SWAPCHAIN_EXTENSION_NAME = "VK_KHR_swapchain" @@ -230,3 +384,210 @@ pattern VK_OBJECT_TYPE_SWAPCHAIN_KHR :: VkObjectType  pattern VK_OBJECT_TYPE_SWAPCHAIN_KHR = VkObjectType 1000001000++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkGetDeviceGroupPresentCapabilitiesKHR+--   >     ( VkDevice device+--   >     , VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceGroupPresentCapabilitiesKHR.html vkGetDeviceGroupPresentCapabilitiesKHR registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetDeviceGroupPresentCapabilitiesKHR"+               vkGetDeviceGroupPresentCapabilitiesKHR ::+               VkDevice -- ^ device+                        -> Ptr VkDeviceGroupPresentCapabilitiesKHR -- ^ pDeviceGroupPresentCapabilities+                                                                   -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkGetDeviceGroupPresentCapabilitiesKHR+--   >     ( VkDevice device+--   >     , VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceGroupPresentCapabilitiesKHR.html vkGetDeviceGroupPresentCapabilitiesKHR registry at www.khronos.org>+foreign import ccall safe "vkGetDeviceGroupPresentCapabilitiesKHR"+               vkGetDeviceGroupPresentCapabilitiesKHRSafe ::+               VkDevice -- ^ device+                        -> Ptr VkDeviceGroupPresentCapabilitiesKHR -- ^ pDeviceGroupPresentCapabilities+                                                                   -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+--   > VkResult vkGetDeviceGroupSurfacePresentModesKHR+--   >     ( VkDevice device+--   >     , VkSurfaceKHR surface+--   >     , VkDeviceGroupPresentModeFlagsKHR* pModes+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceGroupSurfacePresentModesKHR.html vkGetDeviceGroupSurfacePresentModesKHR registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetDeviceGroupSurfacePresentModesKHR"+               vkGetDeviceGroupSurfacePresentModesKHR ::+               VkDevice -- ^ device+                        ->+                 VkSurfaceKHR -- ^ surface+                              -> Ptr VkDeviceGroupPresentModeFlagsKHR -- ^ pModes+                                                                      -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+--   > VkResult vkGetDeviceGroupSurfacePresentModesKHR+--   >     ( VkDevice device+--   >     , VkSurfaceKHR surface+--   >     , VkDeviceGroupPresentModeFlagsKHR* pModes+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceGroupSurfacePresentModesKHR.html vkGetDeviceGroupSurfacePresentModesKHR registry at www.khronos.org>+foreign import ccall safe "vkGetDeviceGroupSurfacePresentModesKHR"+               vkGetDeviceGroupSurfacePresentModesKHRSafe ::+               VkDevice -- ^ device+                        ->+                 VkSurfaceKHR -- ^ surface+                              -> Ptr VkDeviceGroupPresentModeFlagsKHR -- ^ pModes+                                                                      -> IO VkResult++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkGetPhysicalDevicePresentRectanglesKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkSurfaceKHR surface+--   >     , uint32_t* pRectCount+--   >     , VkRect2D* pRects+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDevicePresentRectanglesKHR.html vkGetPhysicalDevicePresentRectanglesKHR registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetPhysicalDevicePresentRectanglesKHR"+               vkGetPhysicalDevicePresentRectanglesKHR ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 VkSurfaceKHR -- ^ surface+                              -> Ptr Word32 -- ^ pRectCount+                                            -> Ptr VkRect2D -- ^ pRects+                                                            -> IO VkResult++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkGetPhysicalDevicePresentRectanglesKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkSurfaceKHR surface+--   >     , uint32_t* pRectCount+--   >     , VkRect2D* pRects+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDevicePresentRectanglesKHR.html vkGetPhysicalDevicePresentRectanglesKHR registry at www.khronos.org>+foreign import ccall safe "vkGetPhysicalDevicePresentRectanglesKHR"+               vkGetPhysicalDevicePresentRectanglesKHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 VkSurfaceKHR -- ^ surface+                              -> Ptr Word32 -- ^ pRectCount+                                            -> Ptr VkRect2D -- ^ pRects+                                                            -> IO VkResult++-- | Success codes: 'VK_SUCCESS', 'VK_TIMEOUT', 'VK_NOT_READY', 'VK_SUBOPTIMAL_KHR'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+--   > VkResult vkAcquireNextImage2KHR+--   >     ( VkDevice device+--   >     , const VkAcquireNextImageInfoKHR* pAcquireInfo+--   >     , uint32_t* pImageIndex+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAcquireNextImage2KHR.html vkAcquireNextImage2KHR registry at www.khronos.org>+foreign import ccall unsafe "vkAcquireNextImage2KHR"+               vkAcquireNextImage2KHR ::+               VkDevice -- ^ device+                        ->+                 Ptr VkAcquireNextImageInfoKHR -- ^ pAcquireInfo+                                               -> Ptr Word32 -- ^ pImageIndex+                                                             -> IO VkResult++-- | Success codes: 'VK_SUCCESS', 'VK_TIMEOUT', 'VK_NOT_READY', 'VK_SUBOPTIMAL_KHR'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+--   > VkResult vkAcquireNextImage2KHR+--   >     ( VkDevice device+--   >     , const VkAcquireNextImageInfoKHR* pAcquireInfo+--   >     , uint32_t* pImageIndex+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAcquireNextImage2KHR.html vkAcquireNextImage2KHR registry at www.khronos.org>+foreign import ccall safe "vkAcquireNextImage2KHR"+               vkAcquireNextImage2KHRSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkAcquireNextImageInfoKHR -- ^ pAcquireInfo+                                               -> Ptr Word32 -- ^ pImageIndex+                                                             -> IO VkResult++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR =+        VkStructureType 1000060007++pattern VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR =+        VkStructureType 1000060008++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR =+        VkStructureType 1000060009++pattern VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR =+        VkStructureType 1000060010++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR =+        VkStructureType 1000060011++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR =+        VkStructureType 1000060012++-- | Allow images with VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT+--+--   bitpos = @0@+pattern VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR ::+        VkSwapchainCreateFlagBitsKHR++pattern VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR =+        VkSwapchainCreateFlagBitsKHR 1++-- | Swapchain is protected+--+--   bitpos = @1@+pattern VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR ::+        VkSwapchainCreateFlagBitsKHR++pattern VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR =+        VkSwapchainCreateFlagBitsKHR 2
src-gen/Graphics/Vulkan/Ext/VK_KHR_variable_pointers.hs view
@@ -1,3 +1,4 @@+{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds       #-} {-# LANGUAGE MagicHash       #-}@@ -22,16 +23,7 @@         --          -- ** Required extensions: 'VK_KHR_get_physical_device_properties2', 'VK_KHR_storage_buffer_storage_class'.-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Bitmasks,-        module Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2KHR,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceVariablePointerFeaturesKHR,-        module Graphics.Vulkan.Types.Enum.VkStructureType,-        -- > #include "vk_platform.h"         VK_KHR_VARIABLE_POINTERS_SPEC_VERSION,         pattern VK_KHR_VARIABLE_POINTERS_SPEC_VERSION,         VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME,@@ -40,14 +32,9 @@        where import           GHC.Ptr                                                                                           (Ptr (..))+import           Graphics.Vulkan.Core_1_1+                                                                                          (pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES) import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Types.BaseTypes-import           Graphics.Vulkan.Types.Bitmasks-import           Graphics.Vulkan.Types.Enum.VkStructureType-import           Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo-import           Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2KHR import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceVariablePointerFeaturesKHR  pattern VK_KHR_VARIABLE_POINTERS_SPEC_VERSION :: (Num a, Eq a) => a@@ -73,13 +60,10 @@  is_VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME :: CString -> Bool is_VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME-  = eqCStrings _VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME  type VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME =      "VK_KHR_variable_pointers"  pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR-        :: VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR-        = VkStructureType 1000120000+        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES
src-gen/Graphics/Vulkan/Ext/VK_KHR_wayland_surface.hs view
@@ -17,12 +17,12 @@         --         -- type: @instance@         --+        -- platform: @wayland@+        --         -- Extension number: @7@         --         -- Required extensions: 'VK_KHR_surface'.         ---        -- Protected by CPP ifdef: @VK_USE_PLATFORM_WAYLAND_KHR@-        --          -- ** Required extensions: 'VK_KHR_surface'.         module Graphics.Vulkan.Types.BaseTypes,@@ -30,10 +30,9 @@         module Graphics.Vulkan.Types.Bitmasks,         module Graphics.Vulkan.Types.Struct.VkWaylandSurfaceCreateInfoKHR,         -- > #include "vk_platform.h"-        ---        -- > #include <wayland-client.h>-        vkCreateWaylandSurfaceKHR,+        vkCreateWaylandSurfaceKHR, vkCreateWaylandSurfaceKHRSafe,         vkGetPhysicalDeviceWaylandPresentationSupportKHR,+        vkGetPhysicalDeviceWaylandPresentationSupportKHRSafe,         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,         module Graphics.Vulkan.Types.Enum.VkResult,@@ -73,7 +72,7 @@ --   >     , VkSurfaceKHR* pSurface --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateWaylandSurfaceKHR.html vkCreateWaylandSurfaceKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateWaylandSurfaceKHR.html vkCreateWaylandSurfaceKHR registry at www.khronos.org> foreign import ccall unsafe "vkCreateWaylandSurfaceKHR"                vkCreateWaylandSurfaceKHR ::                VkInstance -- ^ instance@@ -84,13 +83,35 @@                                              -> Ptr VkSurfaceKHR -- ^ pSurface                                                                  -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateWaylandSurfaceKHR+--   >     ( VkInstance instance+--   >     , const VkWaylandSurfaceCreateInfoKHR* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkSurfaceKHR* pSurface+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateWaylandSurfaceKHR.html vkCreateWaylandSurfaceKHR registry at www.khronos.org>+foreign import ccall safe "vkCreateWaylandSurfaceKHR"+               vkCreateWaylandSurfaceKHRSafe ::+               VkInstance -- ^ instance+                          ->+                 Ptr VkWaylandSurfaceCreateInfoKHR -- ^ pCreateInfo+                                                   ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                 -> IO VkResult+ -- | > VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR --   >     ( VkPhysicalDevice physicalDevice --   >     , uint32_t queueFamilyIndex --   >     , struct wl_display* display --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceWaylandPresentationSupportKHR.html vkGetPhysicalDeviceWaylandPresentationSupportKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceWaylandPresentationSupportKHR.html vkGetPhysicalDeviceWaylandPresentationSupportKHR registry at www.khronos.org> foreign import ccall unsafe                "vkGetPhysicalDeviceWaylandPresentationSupportKHR"                vkGetPhysicalDeviceWaylandPresentationSupportKHR ::@@ -99,6 +120,21 @@                                           -> Ptr WlDisplay -- ^ display                                                            -> IO VkBool32 +-- | > VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t queueFamilyIndex+--   >     , struct wl_display* display+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceWaylandPresentationSupportKHR.html vkGetPhysicalDeviceWaylandPresentationSupportKHR registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceWaylandPresentationSupportKHR"+               vkGetPhysicalDeviceWaylandPresentationSupportKHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Word32 -- ^ queueFamilyIndex+                                          -> Ptr WlDisplay -- ^ display+                                                           -> IO VkBool32+ pattern VK_KHR_WAYLAND_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a  pattern VK_KHR_WAYLAND_SURFACE_SPEC_VERSION = 6@@ -122,7 +158,7 @@  is_VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME :: CString -> Bool is_VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME-  = eqCStrings _VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME  type VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME =      "VK_KHR_wayland_surface"
src-gen/Graphics/Vulkan/Ext/VK_KHR_win32_keyed_mutex.hs view
@@ -16,12 +16,12 @@         --         -- type: @device@         --+        -- platform: @win32@+        --         -- Extension number: @76@         --         -- Required extensions: 'VK_KHR_external_memory_win32'.         ---        -- Protected by CPP ifdef: @VK_USE_PLATFORM_WIN32_KHR@-        --          -- ** Required extensions: 'VK_KHR_external_memory_win32'.         module Graphics.Vulkan.Types.BaseTypes,@@ -68,7 +68,7 @@  is_VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME :: CString -> Bool is_VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME-  = eqCStrings _VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME  type VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME =      "VK_KHR_win32_keyed_mutex"
src-gen/Graphics/Vulkan/Ext/VK_KHR_win32_surface.hs view
@@ -17,12 +17,12 @@         --         -- type: @instance@         --+        -- platform: @win32@+        --         -- Extension number: @10@         --         -- Required extensions: 'VK_KHR_surface'.         ---        -- Protected by CPP ifdef: @VK_USE_PLATFORM_WIN32_KHR@-        --          -- ** Required extensions: 'VK_KHR_surface'.         module Graphics.Vulkan.Types.BaseTypes,@@ -30,10 +30,9 @@         module Graphics.Vulkan.Types.Bitmasks,         module Graphics.Vulkan.Types.Struct.VkWin32SurfaceCreateInfoKHR,         -- > #include "vk_platform.h"-        ---        -- > #include <windows.h>-        vkCreateWin32SurfaceKHR,+        vkCreateWin32SurfaceKHR, vkCreateWin32SurfaceKHRSafe,         vkGetPhysicalDeviceWin32PresentationSupportKHR,+        vkGetPhysicalDeviceWin32PresentationSupportKHRSafe,         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,         module Graphics.Vulkan.Types.Enum.VkResult,@@ -73,7 +72,7 @@ --   >     , VkSurfaceKHR* pSurface --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateWin32SurfaceKHR.html vkCreateWin32SurfaceKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateWin32SurfaceKHR.html vkCreateWin32SurfaceKHR registry at www.khronos.org> foreign import ccall unsafe "vkCreateWin32SurfaceKHR"                vkCreateWin32SurfaceKHR ::                VkInstance -- ^ instance@@ -84,12 +83,34 @@                                              -> Ptr VkSurfaceKHR -- ^ pSurface                                                                  -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateWin32SurfaceKHR+--   >     ( VkInstance instance+--   >     , const VkWin32SurfaceCreateInfoKHR* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkSurfaceKHR* pSurface+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateWin32SurfaceKHR.html vkCreateWin32SurfaceKHR registry at www.khronos.org>+foreign import ccall safe "vkCreateWin32SurfaceKHR"+               vkCreateWin32SurfaceKHRSafe ::+               VkInstance -- ^ instance+                          ->+                 Ptr VkWin32SurfaceCreateInfoKHR -- ^ pCreateInfo+                                                 ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                 -> IO VkResult+ -- | > VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR --   >     ( VkPhysicalDevice physicalDevice --   >     , uint32_t queueFamilyIndex --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceWin32PresentationSupportKHR.html vkGetPhysicalDeviceWin32PresentationSupportKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceWin32PresentationSupportKHR.html vkGetPhysicalDeviceWin32PresentationSupportKHR registry at www.khronos.org> foreign import ccall unsafe                "vkGetPhysicalDeviceWin32PresentationSupportKHR"                vkGetPhysicalDeviceWin32PresentationSupportKHR ::@@ -97,6 +118,19 @@                                 -> Word32 -- ^ queueFamilyIndex                                           -> IO VkBool32 +-- | > VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t queueFamilyIndex+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceWin32PresentationSupportKHR.html vkGetPhysicalDeviceWin32PresentationSupportKHR registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceWin32PresentationSupportKHR"+               vkGetPhysicalDeviceWin32PresentationSupportKHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Word32 -- ^ queueFamilyIndex+                                          -> IO VkBool32+ pattern VK_KHR_WIN32_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a  pattern VK_KHR_WIN32_SURFACE_SPEC_VERSION = 6@@ -120,7 +154,7 @@  is_VK_KHR_WIN32_SURFACE_EXTENSION_NAME :: CString -> Bool is_VK_KHR_WIN32_SURFACE_EXTENSION_NAME-  = eqCStrings _VK_KHR_WIN32_SURFACE_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_WIN32_SURFACE_EXTENSION_NAME  type VK_KHR_WIN32_SURFACE_EXTENSION_NAME = "VK_KHR_win32_surface" 
src-gen/Graphics/Vulkan/Ext/VK_KHR_xcb_surface.hs view
@@ -17,12 +17,12 @@         --         -- type: @instance@         --+        -- platform: @xcb@+        --         -- Extension number: @6@         --         -- Required extensions: 'VK_KHR_surface'.         ---        -- Protected by CPP ifdef: @VK_USE_PLATFORM_XCB_KHR@-        --          -- ** Required extensions: 'VK_KHR_surface'.         module Graphics.Vulkan.Types.BaseTypes,@@ -30,10 +30,9 @@         module Graphics.Vulkan.Types.Bitmasks,         module Graphics.Vulkan.Types.Struct.VkXcbSurfaceCreateInfoKHR,         -- > #include "vk_platform.h"-        ---        -- > #include <xcb/xcb.h>-        vkCreateXcbSurfaceKHR,+        vkCreateXcbSurfaceKHR, vkCreateXcbSurfaceKHRSafe,         vkGetPhysicalDeviceXcbPresentationSupportKHR,+        vkGetPhysicalDeviceXcbPresentationSupportKHRSafe,         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,         module Graphics.Vulkan.Types.Enum.VkResult,@@ -73,7 +72,7 @@ --   >     , VkSurfaceKHR* pSurface --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateXcbSurfaceKHR.html vkCreateXcbSurfaceKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateXcbSurfaceKHR.html vkCreateXcbSurfaceKHR registry at www.khronos.org> foreign import ccall unsafe "vkCreateXcbSurfaceKHR"                vkCreateXcbSurfaceKHR ::                VkInstance -- ^ instance@@ -84,6 +83,28 @@                                              -> Ptr VkSurfaceKHR -- ^ pSurface                                                                  -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateXcbSurfaceKHR+--   >     ( VkInstance instance+--   >     , const VkXcbSurfaceCreateInfoKHR* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkSurfaceKHR* pSurface+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateXcbSurfaceKHR.html vkCreateXcbSurfaceKHR registry at www.khronos.org>+foreign import ccall safe "vkCreateXcbSurfaceKHR"+               vkCreateXcbSurfaceKHRSafe ::+               VkInstance -- ^ instance+                          ->+                 Ptr VkXcbSurfaceCreateInfoKHR -- ^ pCreateInfo+                                               ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                 -> IO VkResult+ -- | > VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR --   >     ( VkPhysicalDevice physicalDevice --   >     , uint32_t queueFamilyIndex@@ -91,7 +112,7 @@ --   >     , xcb_visualid_t visual_id --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceXcbPresentationSupportKHR.html vkGetPhysicalDeviceXcbPresentationSupportKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceXcbPresentationSupportKHR.html vkGetPhysicalDeviceXcbPresentationSupportKHR registry at www.khronos.org> foreign import ccall unsafe                "vkGetPhysicalDeviceXcbPresentationSupportKHR"                vkGetPhysicalDeviceXcbPresentationSupportKHR ::@@ -102,6 +123,24 @@                                               -> XcbVisualidT -- ^ visual_id                                                               -> IO VkBool32 +-- | > VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t queueFamilyIndex+--   >     , xcb_connection_t* connection+--   >     , xcb_visualid_t visual_id+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceXcbPresentationSupportKHR.html vkGetPhysicalDeviceXcbPresentationSupportKHR registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceXcbPresentationSupportKHR"+               vkGetPhysicalDeviceXcbPresentationSupportKHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Word32 -- ^ queueFamilyIndex+                        -> Ptr XcbConnectionT -- ^ connection+                                              -> XcbVisualidT -- ^ visual_id+                                                              -> IO VkBool32+ pattern VK_KHR_XCB_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a  pattern VK_KHR_XCB_SURFACE_SPEC_VERSION = 6@@ -124,7 +163,7 @@  is_VK_KHR_XCB_SURFACE_EXTENSION_NAME :: CString -> Bool is_VK_KHR_XCB_SURFACE_EXTENSION_NAME-  = eqCStrings _VK_KHR_XCB_SURFACE_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_XCB_SURFACE_EXTENSION_NAME  type VK_KHR_XCB_SURFACE_EXTENSION_NAME = "VK_KHR_xcb_surface" 
src-gen/Graphics/Vulkan/Ext/VK_KHR_xlib_surface.hs view
@@ -17,12 +17,12 @@         --         -- type: @instance@         --+        -- platform: @xlib@+        --         -- Extension number: @5@         --         -- Required extensions: 'VK_KHR_surface'.         ---        -- Protected by CPP ifdef: @VK_USE_PLATFORM_XLIB_KHR@-        --          -- ** Required extensions: 'VK_KHR_surface'.         module Graphics.Vulkan.Types.BaseTypes,@@ -30,10 +30,9 @@         module Graphics.Vulkan.Types.Bitmasks,         module Graphics.Vulkan.Types.Struct.VkXlibSurfaceCreateInfoKHR,         -- > #include "vk_platform.h"-        ---        -- > #include <X11/Xlib.h>-        vkCreateXlibSurfaceKHR,+        vkCreateXlibSurfaceKHR, vkCreateXlibSurfaceKHRSafe,         vkGetPhysicalDeviceXlibPresentationSupportKHR,+        vkGetPhysicalDeviceXlibPresentationSupportKHRSafe,         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,         module Graphics.Vulkan.Types.Enum.VkResult,@@ -73,7 +72,7 @@ --   >     , VkSurfaceKHR* pSurface --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateXlibSurfaceKHR.html vkCreateXlibSurfaceKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateXlibSurfaceKHR.html vkCreateXlibSurfaceKHR registry at www.khronos.org> foreign import ccall unsafe "vkCreateXlibSurfaceKHR"                vkCreateXlibSurfaceKHR ::                VkInstance -- ^ instance@@ -84,6 +83,28 @@                                              -> Ptr VkSurfaceKHR -- ^ pSurface                                                                  -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateXlibSurfaceKHR+--   >     ( VkInstance instance+--   >     , const VkXlibSurfaceCreateInfoKHR* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkSurfaceKHR* pSurface+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateXlibSurfaceKHR.html vkCreateXlibSurfaceKHR registry at www.khronos.org>+foreign import ccall safe "vkCreateXlibSurfaceKHR"+               vkCreateXlibSurfaceKHRSafe ::+               VkInstance -- ^ instance+                          ->+                 Ptr VkXlibSurfaceCreateInfoKHR -- ^ pCreateInfo+                                                ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                 -> IO VkResult+ -- | > VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR --   >     ( VkPhysicalDevice physicalDevice --   >     , uint32_t queueFamilyIndex@@ -91,7 +112,7 @@ --   >     , VisualID visualID --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceXlibPresentationSupportKHR.html vkGetPhysicalDeviceXlibPresentationSupportKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceXlibPresentationSupportKHR.html vkGetPhysicalDeviceXlibPresentationSupportKHR registry at www.khronos.org> foreign import ccall unsafe                "vkGetPhysicalDeviceXlibPresentationSupportKHR"                vkGetPhysicalDeviceXlibPresentationSupportKHR ::@@ -102,6 +123,24 @@                                        -> VisualID -- ^ visualID                                                    -> IO VkBool32 +-- | > VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t queueFamilyIndex+--   >     , Display* dpy+--   >     , VisualID visualID+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceXlibPresentationSupportKHR.html vkGetPhysicalDeviceXlibPresentationSupportKHR registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceXlibPresentationSupportKHR"+               vkGetPhysicalDeviceXlibPresentationSupportKHRSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Word32 -- ^ queueFamilyIndex+                        -> Ptr Display -- ^ dpy+                                       -> VisualID -- ^ visualID+                                                   -> IO VkBool32+ pattern VK_KHR_XLIB_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a  pattern VK_KHR_XLIB_SURFACE_SPEC_VERSION = 6@@ -125,7 +164,7 @@  is_VK_KHR_XLIB_SURFACE_EXTENSION_NAME :: CString -> Bool is_VK_KHR_XLIB_SURFACE_EXTENSION_NAME-  = eqCStrings _VK_KHR_XLIB_SURFACE_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_KHR_XLIB_SURFACE_EXTENSION_NAME  type VK_KHR_XLIB_SURFACE_EXTENSION_NAME = "VK_KHR_xlib_surface" 
− src-gen/Graphics/Vulkan/Ext/VK_KHX_device_group.hs
@@ -1,481 +0,0 @@-{-# OPTIONS_GHC -fno-warn-unused-imports#-}-{-# OPTIONS_HADDOCK not-home#-}-{-# LANGUAGE DataKinds                #-}-{-# LANGUAGE ForeignFunctionInterface #-}-{-# LANGUAGE MagicHash                #-}-{-# LANGUAGE PatternSynonyms          #-}-{-# LANGUAGE Strict                   #-}-{-# LANGUAGE ViewPatterns             #-}-module Graphics.Vulkan.Ext.VK_KHX_device_group-       (-- * Vulkan extension: @VK_KHX_device_group@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @Jeff Bolz @jbolz@-        ---        -- author: @KHX@-        ---        -- type: @device@-        ---        -- Extension number: @61@-        ---        -- Required extensions: 'VK_KHX_device_group_creation'.-        ----        -- ** Required extensions: 'VK_KHX_device_group_creation'.-        module Graphics.Vulkan.Types.Struct.VkBindSparseInfo,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Struct.VkClearColorValue,-        module Graphics.Vulkan.Types.Struct.VkClearDepthStencilValue,-        module Graphics.Vulkan.Types.Struct.VkClearValue,-        module Graphics.Vulkan.Types.Struct.VkCommandBufferBeginInfo,-        module Graphics.Vulkan.Types.Struct.VkCommandBufferInheritanceInfo,-        module Graphics.Vulkan.Types.Enum.VkCommandBufferUsageFlags,-        module Graphics.Vulkan.Types.Struct.VkDeviceGroupBindSparseInfoKHX,-        module Graphics.Vulkan.Types.Struct.VkDeviceGroupCommandBufferBeginInfoKHX,-        module Graphics.Vulkan.Types.Struct.VkDeviceGroupRenderPassBeginInfoKHX,-        module Graphics.Vulkan.Types.Struct.VkDeviceGroupSubmitInfoKHX,-        module Graphics.Vulkan.Types.Struct.VkExtent2D,-        module Graphics.Vulkan.Types.Struct.VkExtent3D,-        module Graphics.Vulkan.Types.Enum.VkImageAspectFlags,-        module Graphics.Vulkan.Types.Struct.VkImageSubresource,-        module Graphics.Vulkan.Types.Enum.VkMemoryAllocateFlagsKHX,-        module Graphics.Vulkan.Types.Struct.VkMemoryAllocateFlagsInfoKHX,-        module Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo,-        module Graphics.Vulkan.Types.Struct.VkOffset2D,-        module Graphics.Vulkan.Types.Struct.VkOffset3D,-        module Graphics.Vulkan.Types.Enum.VkPeerMemoryFeatureFlagsKHX,-        module Graphics.Vulkan.Types.Enum.VkPipelineStageFlags,-        module Graphics.Vulkan.Types.Enum.VkQueryControlFlags,-        module Graphics.Vulkan.Types.Enum.VkQueryPipelineStatisticFlags,-        module Graphics.Vulkan.Types.Struct.VkRect2D,-        module Graphics.Vulkan.Types.Struct.VkRenderPassBeginInfo,-        module Graphics.Vulkan.Types.Struct.VkSparseBufferMemoryBindInfo,-        module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBind,-        module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBindInfo,-        module Graphics.Vulkan.Types.Struct.VkSparseImageOpaqueMemoryBindInfo,-        module Graphics.Vulkan.Types.Struct.VkSparseMemoryBind,-        module Graphics.Vulkan.Types.Enum.VkSparseMemoryBindFlags,-        module Graphics.Vulkan.Types.Enum.VkStructureType,-        module Graphics.Vulkan.Types.Struct.VkSubmitInfo,-        -- > #include "vk_platform.h"-        vkGetDeviceGroupPeerMemoryFeaturesKHX, vkCmdSetDeviceMaskKHX,-        vkCmdDispatchBaseKHX, module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Handles,-        VK_KHX_DEVICE_GROUP_SPEC_VERSION,-        pattern VK_KHX_DEVICE_GROUP_SPEC_VERSION,-        VK_KHX_DEVICE_GROUP_EXTENSION_NAME,-        pattern VK_KHX_DEVICE_GROUP_EXTENSION_NAME,-        pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHX,-        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHX,-        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHX,-        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHX,-        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHX,-        pattern VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHX,-        pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHX,-        pattern VK_PIPELINE_CREATE_DISPATCH_BASE_KHX,-        pattern VK_DEPENDENCY_DEVICE_GROUP_BIT_KHX,-        -- ** Required extensions: 'VK_KHR_bind_memory2', 'VK_KHX_device_group_creation'.-        module Graphics.Vulkan.Types.Struct.VkBindBufferMemoryDeviceGroupInfoKHX,-        module Graphics.Vulkan.Types.Struct.VkBindBufferMemoryInfoKHR,-        module Graphics.Vulkan.Types.Struct.VkBindImageMemoryDeviceGroupInfoKHX,-        module Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfoKHR,-        -- > #include "vk_platform.h"-        pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHX,-        pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHX,-        pattern VK_IMAGE_CREATE_BIND_SFR_BIT_KHX,-        -- ** Required extensions: 'VK_KHR_surface', 'VK_KHX_device_group_creation'.-        module Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentCapabilitiesKHX,-        module Graphics.Vulkan.Types.Enum.VkDeviceGroupPresentModeFlagsKHX,-        -- > #include "vk_platform.h"-        vkGetDeviceGroupPresentCapabilitiesKHX,-        vkGetDeviceGroupSurfacePresentModesKHX,-        vkGetPhysicalDevicePresentRectanglesKHX,-        module Graphics.Vulkan.Types.Enum.VkResult,-        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHX,-        -- ** Required extensions: 'VK_KHR_swapchain', 'VK_KHX_device_group_creation'.-        module Graphics.Vulkan.Types.Struct.VkAcquireNextImageInfoKHX,-        module Graphics.Vulkan.Types.Struct.VkBindImageMemorySwapchainInfoKHX,-        module Graphics.Vulkan.Types.Enum.VkColorSpaceKHR,-        module Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR,-        module Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentInfoKHX,-        module Graphics.Vulkan.Types.Struct.VkDeviceGroupSwapchainCreateInfoKHX,-        module Graphics.Vulkan.Types.Enum.VkFormat,-        module Graphics.Vulkan.Types.Enum.VkImageCreateFlags,-        module Graphics.Vulkan.Types.Struct.VkImageCreateInfo,-        module Graphics.Vulkan.Types.Enum.VkImageLayout,-        module Graphics.Vulkan.Types.Struct.VkImageSwapchainCreateInfoKHX,-        module Graphics.Vulkan.Types.Enum.VkImageTiling,-        module Graphics.Vulkan.Types.Enum.VkImageType,-        module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,-        module Graphics.Vulkan.Types.Struct.VkPresentInfoKHR,-        module Graphics.Vulkan.Types.Enum.VkPresentModeKHR,-        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,-        module Graphics.Vulkan.Types.Enum.VkSharingMode,-        module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR,-        module Graphics.Vulkan.Types.Enum.VkSwapchainCreateFlagsKHR,-        module Graphics.Vulkan.Types.Struct.VkSwapchainCreateInfoKHR,-        -- > #include "vk_platform.h"-        vkAcquireNextImage2KHX,-        pattern VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHX,-        pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHX,-        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHX,-        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHX,-        pattern VK_SWAPCHAIN_CREATE_BIND_SFR_BIT_KHX)-       where-import           GHC.Ptr-                                                                                      (Ptr (..))-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Types.BaseTypes-import           Graphics.Vulkan.Types.Enum.VkColorSpaceKHR-import           Graphics.Vulkan.Types.Enum.VkCommandBufferUsageFlags-import           Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR-import           Graphics.Vulkan.Types.Enum.VkDependencyFlags-                                                                                      (VkDependencyBitmask (..),-                                                                                      VkDependencyFlagBits)-import           Graphics.Vulkan.Types.Enum.VkDeviceGroupPresentModeFlagsKHX-import           Graphics.Vulkan.Types.Enum.VkFormat-import           Graphics.Vulkan.Types.Enum.VkImageAspectFlags-import           Graphics.Vulkan.Types.Enum.VkImageCreateFlags-import           Graphics.Vulkan.Types.Enum.VkImageLayout-import           Graphics.Vulkan.Types.Enum.VkImageTiling-import           Graphics.Vulkan.Types.Enum.VkImageType-import           Graphics.Vulkan.Types.Enum.VkImageUsageFlags-import           Graphics.Vulkan.Types.Enum.VkMemoryAllocateFlagsKHX-import           Graphics.Vulkan.Types.Enum.VkPeerMemoryFeatureFlagsKHX-import           Graphics.Vulkan.Types.Enum.VkPipelineCreateFlags-                                                                                      (VkPipelineCreateBitmask (..),-                                                                                      VkPipelineCreateFlagBits)-import           Graphics.Vulkan.Types.Enum.VkPipelineStageFlags-import           Graphics.Vulkan.Types.Enum.VkPresentModeKHR-import           Graphics.Vulkan.Types.Enum.VkQueryControlFlags-import           Graphics.Vulkan.Types.Enum.VkQueryPipelineStatisticFlags-import           Graphics.Vulkan.Types.Enum.VkResult-import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import           Graphics.Vulkan.Types.Enum.VkSharingMode-import           Graphics.Vulkan.Types.Enum.VkSparseMemoryBindFlags-import           Graphics.Vulkan.Types.Enum.VkStructureType-import           Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR-import           Graphics.Vulkan.Types.Enum.VkSwapchainCreateFlagsKHR-import           Graphics.Vulkan.Types.Handles-import           Graphics.Vulkan.Types.Struct.VkAcquireNextImageInfoKHX-import           Graphics.Vulkan.Types.Struct.VkBindBufferMemoryDeviceGroupInfoKHX-import           Graphics.Vulkan.Types.Struct.VkBindBufferMemoryInfoKHR-import           Graphics.Vulkan.Types.Struct.VkBindImageMemoryDeviceGroupInfoKHX-import           Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfoKHR-import           Graphics.Vulkan.Types.Struct.VkBindImageMemorySwapchainInfoKHX-import           Graphics.Vulkan.Types.Struct.VkBindSparseInfo-import           Graphics.Vulkan.Types.Struct.VkClearColorValue-import           Graphics.Vulkan.Types.Struct.VkClearDepthStencilValue-import           Graphics.Vulkan.Types.Struct.VkClearValue-import           Graphics.Vulkan.Types.Struct.VkCommandBufferBeginInfo-import           Graphics.Vulkan.Types.Struct.VkCommandBufferInheritanceInfo-import           Graphics.Vulkan.Types.Struct.VkDeviceGroupBindSparseInfoKHX-import           Graphics.Vulkan.Types.Struct.VkDeviceGroupCommandBufferBeginInfoKHX-import           Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentCapabilitiesKHX-import           Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentInfoKHX-import           Graphics.Vulkan.Types.Struct.VkDeviceGroupRenderPassBeginInfoKHX-import           Graphics.Vulkan.Types.Struct.VkDeviceGroupSubmitInfoKHX-import           Graphics.Vulkan.Types.Struct.VkDeviceGroupSwapchainCreateInfoKHX-import           Graphics.Vulkan.Types.Struct.VkExtent2D-import           Graphics.Vulkan.Types.Struct.VkExtent3D-import           Graphics.Vulkan.Types.Struct.VkImageCreateInfo-import           Graphics.Vulkan.Types.Struct.VkImageSubresource-import           Graphics.Vulkan.Types.Struct.VkImageSwapchainCreateInfoKHX-import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateFlagsInfoKHX-import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo-import           Graphics.Vulkan.Types.Struct.VkOffset2D-import           Graphics.Vulkan.Types.Struct.VkOffset3D-import           Graphics.Vulkan.Types.Struct.VkPresentInfoKHR-import           Graphics.Vulkan.Types.Struct.VkRect2D-import           Graphics.Vulkan.Types.Struct.VkRenderPassBeginInfo-import           Graphics.Vulkan.Types.Struct.VkSparseBufferMemoryBindInfo-import           Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBind-import           Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBindInfo-import           Graphics.Vulkan.Types.Struct.VkSparseImageOpaqueMemoryBindInfo-import           Graphics.Vulkan.Types.Struct.VkSparseMemoryBind-import           Graphics.Vulkan.Types.Struct.VkSubmitInfo-import           Graphics.Vulkan.Types.Struct.VkSwapchainCreateInfoKHR---- | > () vkGetDeviceGroupPeerMemoryFeaturesKHX---   >     ( VkDevice device---   >     , uint32_t heapIndex---   >     , uint32_t localDeviceIndex---   >     , uint32_t remoteDeviceIndex---   >     , VkPeerMemoryFeatureFlagsKHX* pPeerMemoryFeatures---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetDeviceGroupPeerMemoryFeaturesKHX.html vkGetDeviceGroupPeerMemoryFeaturesKHX registry at www.khronos.org>-foreign import ccall unsafe "vkGetDeviceGroupPeerMemoryFeaturesKHX"-               vkGetDeviceGroupPeerMemoryFeaturesKHX ::-               VkDevice -- ^ device-                        ->-                 Word32 -- ^ heapIndex-                        ->-                   Word32 -- ^ localDeviceIndex-                          -> Word32 -- ^ remoteDeviceIndex-                                    -> Ptr VkPeerMemoryFeatureFlagsKHX -- ^ pPeerMemoryFeatures-                                                                       -> IO ()---- | queues: 'graphics', 'compute', 'transfer'.------   renderpass: @both@------   > () vkCmdSetDeviceMaskKHX---   >     ( VkCommandBuffer commandBuffer---   >     , uint32_t deviceMask---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdSetDeviceMaskKHX.html vkCmdSetDeviceMaskKHX registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetDeviceMaskKHX"-               vkCmdSetDeviceMaskKHX :: VkCommandBuffer -- ^ commandBuffer-                                                        -> Word32 -- ^ deviceMask-                                                                  -> IO ()---- | queues: 'compute'.------   renderpass: @outside@------   > () vkCmdDispatchBaseKHX---   >     ( VkCommandBuffer commandBuffer---   >     , uint32_t baseGroupX---   >     , uint32_t baseGroupY---   >     , uint32_t baseGroupZ---   >     , uint32_t groupCountX---   >     , uint32_t groupCountY---   >     , uint32_t groupCountZ---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdDispatchBaseKHX.html vkCmdDispatchBaseKHX registry at www.khronos.org>-foreign import ccall unsafe "vkCmdDispatchBaseKHX"-               vkCmdDispatchBaseKHX ::-               VkCommandBuffer -- ^ commandBuffer-                               ->-                 Word32 -- ^ baseGroupX-                        -> Word32 -- ^ baseGroupY-                                  -> Word32 -- ^ baseGroupZ-                                            -> Word32 -- ^ groupCountX-                                                      -> Word32 -- ^ groupCountY-                                                                -> Word32 -- ^ groupCountZ-                                                                          -> IO ()--pattern VK_KHX_DEVICE_GROUP_SPEC_VERSION :: (Num a, Eq a) => a--pattern VK_KHX_DEVICE_GROUP_SPEC_VERSION = 2--type VK_KHX_DEVICE_GROUP_SPEC_VERSION = 2--pattern VK_KHX_DEVICE_GROUP_EXTENSION_NAME :: CString--pattern VK_KHX_DEVICE_GROUP_EXTENSION_NAME <--        (is_VK_KHX_DEVICE_GROUP_EXTENSION_NAME -> True)-  where VK_KHX_DEVICE_GROUP_EXTENSION_NAME-          = _VK_KHX_DEVICE_GROUP_EXTENSION_NAME--{-# INLINE _VK_KHX_DEVICE_GROUP_EXTENSION_NAME #-}--_VK_KHX_DEVICE_GROUP_EXTENSION_NAME :: CString-_VK_KHX_DEVICE_GROUP_EXTENSION_NAME-  = Ptr "VK_KHX_device_group\NUL"#--{-# INLINE is_VK_KHX_DEVICE_GROUP_EXTENSION_NAME #-}--is_VK_KHX_DEVICE_GROUP_EXTENSION_NAME :: CString -> Bool-is_VK_KHX_DEVICE_GROUP_EXTENSION_NAME-  = eqCStrings _VK_KHX_DEVICE_GROUP_EXTENSION_NAME--type VK_KHX_DEVICE_GROUP_EXTENSION_NAME = "VK_KHX_device_group"--pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHX ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHX =-        VkStructureType 1000060000--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHX-        :: VkStructureType--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHX =-        VkStructureType 1000060003--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHX-        :: VkStructureType--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHX-        = VkStructureType 1000060004--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHX ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHX =-        VkStructureType 1000060005--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHX ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHX =-        VkStructureType 1000060006--pattern VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHX ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHX =-        VkStructureType 1000060010---- | bitpos = @3@-pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHX ::-        VkPipelineCreateFlagBits--pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHX =-        VkPipelineCreateFlagBits 8---- | bitpos = @4@-pattern VK_PIPELINE_CREATE_DISPATCH_BASE_KHX ::-        VkPipelineCreateFlagBits--pattern VK_PIPELINE_CREATE_DISPATCH_BASE_KHX =-        VkPipelineCreateFlagBits 16---- | Dependency is across devices------   bitpos = @2@-pattern VK_DEPENDENCY_DEVICE_GROUP_BIT_KHX :: VkDependencyFlagBits--pattern VK_DEPENDENCY_DEVICE_GROUP_BIT_KHX = VkDependencyFlagBits 4--pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHX-        :: VkStructureType--pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHX-        = VkStructureType 1000060013--pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHX-        :: VkStructureType--pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHX =-        VkStructureType 1000060014---- | Allows using VkBindImageMemoryDeviceGroupInfoKHX::pSFRRects when binding memory to the image------   bitpos = @6@-pattern VK_IMAGE_CREATE_BIND_SFR_BIT_KHX :: VkImageCreateFlagBits--pattern VK_IMAGE_CREATE_BIND_SFR_BIT_KHX = VkImageCreateFlagBits 64---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkGetDeviceGroupPresentCapabilitiesKHX---   >     ( VkDevice device---   >     , VkDeviceGroupPresentCapabilitiesKHX* pDeviceGroupPresentCapabilities---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetDeviceGroupPresentCapabilitiesKHX.html vkGetDeviceGroupPresentCapabilitiesKHX registry at www.khronos.org>-foreign import ccall unsafe-               "vkGetDeviceGroupPresentCapabilitiesKHX"-               vkGetDeviceGroupPresentCapabilitiesKHX ::-               VkDevice -- ^ device-                        -> Ptr VkDeviceGroupPresentCapabilitiesKHX -- ^ pDeviceGroupPresentCapabilities-                                                                   -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.------   > VkResult vkGetDeviceGroupSurfacePresentModesKHX---   >     ( VkDevice device---   >     , VkSurfaceKHR surface---   >     , VkDeviceGroupPresentModeFlagsKHX* pModes---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetDeviceGroupSurfacePresentModesKHX.html vkGetDeviceGroupSurfacePresentModesKHX registry at www.khronos.org>-foreign import ccall unsafe-               "vkGetDeviceGroupSurfacePresentModesKHX"-               vkGetDeviceGroupSurfacePresentModesKHX ::-               VkDevice -- ^ device-                        ->-                 VkSurfaceKHR -- ^ surface-                              -> Ptr VkDeviceGroupPresentModeFlagsKHX -- ^ pModes-                                                                      -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------   > VkResult vkGetPhysicalDevicePresentRectanglesKHX---   >     ( VkPhysicalDevice physicalDevice---   >     , VkSurfaceKHR surface---   >     , uint32_t* pRectCount---   >     , VkRect2D* pRects---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDevicePresentRectanglesKHX.html vkGetPhysicalDevicePresentRectanglesKHX registry at www.khronos.org>-foreign import ccall unsafe-               "vkGetPhysicalDevicePresentRectanglesKHX"-               vkGetPhysicalDevicePresentRectanglesKHX ::-               VkPhysicalDevice -- ^ physicalDevice-                                ->-                 VkSurfaceKHR -- ^ surface-                              -> Ptr Word32 -- ^ pRectCount-                                            -> Ptr VkRect2D -- ^ pRects-                                                            -> IO VkResult--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHX ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHX =-        VkStructureType 1000060007---- | Success codes: 'VK_SUCCESS', 'VK_TIMEOUT', 'VK_NOT_READY', 'VK_SUBOPTIMAL_KHR'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.------   > VkResult vkAcquireNextImage2KHX---   >     ( VkDevice device---   >     , const VkAcquireNextImageInfoKHX* pAcquireInfo---   >     , uint32_t* pImageIndex---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkAcquireNextImage2KHX.html vkAcquireNextImage2KHX registry at www.khronos.org>-foreign import ccall unsafe "vkAcquireNextImage2KHX"-               vkAcquireNextImage2KHX ::-               VkDevice -- ^ device-                        ->-                 Ptr VkAcquireNextImageInfoKHX -- ^ pAcquireInfo-                                               -> Ptr Word32 -- ^ pImageIndex-                                                             -> IO VkResult--pattern VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHX ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHX =-        VkStructureType 1000060008--pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHX ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHX =-        VkStructureType 1000060009--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHX ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHX =-        VkStructureType 1000060011--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHX ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHX =-        VkStructureType 1000060012---- | Allow images with VK_IMAGE_CREATE_BIND_SFR_BIT_KHX------   bitpos = @0@-pattern VK_SWAPCHAIN_CREATE_BIND_SFR_BIT_KHX ::-        VkSwapchainCreateFlagBitsKHR--pattern VK_SWAPCHAIN_CREATE_BIND_SFR_BIT_KHX =-        VkSwapchainCreateFlagBitsKHR 1
− src-gen/Graphics/Vulkan/Ext/VK_KHX_device_group_creation.hs
@@ -1,127 +0,0 @@-{-# OPTIONS_HADDOCK not-home#-}-{-# LANGUAGE DataKinds                #-}-{-# LANGUAGE ForeignFunctionInterface #-}-{-# LANGUAGE MagicHash                #-}-{-# LANGUAGE PatternSynonyms          #-}-{-# LANGUAGE Strict                   #-}-{-# LANGUAGE ViewPatterns             #-}-module Graphics.Vulkan.Ext.VK_KHX_device_group_creation-       (-- * Vulkan extension: @VK_KHX_device_group_creation@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @Jeff Bolz @jbolz@-        ---        -- author: @KHX@-        ---        -- type: @instance@-        ---        -- Extension number: @71@-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Bitmasks,-        module Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkDeviceGroupDeviceCreateInfoKHX,-        module Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceGroupPropertiesKHX,-        module Graphics.Vulkan.Types.Enum.VkStructureType,-        -- > #include "vk_platform.h"-        vkEnumeratePhysicalDeviceGroupsKHX,-        module Graphics.Vulkan.Types.Enum.VkResult,-        module Graphics.Vulkan.Types.Handles,-        VK_KHX_DEVICE_GROUP_CREATION_SPEC_VERSION,-        pattern VK_KHX_DEVICE_GROUP_CREATION_SPEC_VERSION,-        VK_KHX_DEVICE_GROUP_CREATION_EXTENSION_NAME,-        pattern VK_KHX_DEVICE_GROUP_CREATION_EXTENSION_NAME,-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHX,-        pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHX,-        pattern VK_MAX_DEVICE_GROUP_SIZE_KHX, VK_MAX_DEVICE_GROUP_SIZE_KHX,-        pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHX)-       where-import           GHC.Ptr                                                         (Ptr (..))-import           Graphics.Vulkan.Constants                                       (VK_MAX_DEVICE_GROUP_SIZE_KHX,-                                                                                  pattern VK_MAX_DEVICE_GROUP_SIZE_KHX)-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Types.BaseTypes-import           Graphics.Vulkan.Types.Bitmasks-import           Graphics.Vulkan.Types.Enum.VkMemoryHeapFlags                    (VkMemoryHeapBitmask (..),-                                                                                  VkMemoryHeapFlagBits)-import           Graphics.Vulkan.Types.Enum.VkResult-import           Graphics.Vulkan.Types.Enum.VkStructureType-import           Graphics.Vulkan.Types.Handles-import           Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo-import           Graphics.Vulkan.Types.Struct.VkDeviceGroupDeviceCreateInfoKHX-import           Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceGroupPropertiesKHX---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.------   > VkResult vkEnumeratePhysicalDeviceGroupsKHX---   >     ( VkInstance instance---   >     , uint32_t* pPhysicalDeviceGroupCount---   >     , VkPhysicalDeviceGroupPropertiesKHX* pPhysicalDeviceGroupProperties---   >     )------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkEnumeratePhysicalDeviceGroupsKHX.html vkEnumeratePhysicalDeviceGroupsKHX registry at www.khronos.org>-foreign import ccall unsafe "vkEnumeratePhysicalDeviceGroupsKHX"-               vkEnumeratePhysicalDeviceGroupsKHX ::-               VkInstance -- ^ instance-                          ->-                 Ptr Word32 -- ^ pPhysicalDeviceGroupCount-                            -> Ptr VkPhysicalDeviceGroupPropertiesKHX -- ^ pPhysicalDeviceGroupProperties-                                                                      -> IO VkResult--pattern VK_KHX_DEVICE_GROUP_CREATION_SPEC_VERSION ::-        (Num a, Eq a) => a--pattern VK_KHX_DEVICE_GROUP_CREATION_SPEC_VERSION = 1--type VK_KHX_DEVICE_GROUP_CREATION_SPEC_VERSION = 1--pattern VK_KHX_DEVICE_GROUP_CREATION_EXTENSION_NAME :: CString--pattern VK_KHX_DEVICE_GROUP_CREATION_EXTENSION_NAME <--        (is_VK_KHX_DEVICE_GROUP_CREATION_EXTENSION_NAME -> True)-  where VK_KHX_DEVICE_GROUP_CREATION_EXTENSION_NAME-          = _VK_KHX_DEVICE_GROUP_CREATION_EXTENSION_NAME--{-# INLINE _VK_KHX_DEVICE_GROUP_CREATION_EXTENSION_NAME #-}--_VK_KHX_DEVICE_GROUP_CREATION_EXTENSION_NAME :: CString-_VK_KHX_DEVICE_GROUP_CREATION_EXTENSION_NAME-  = Ptr "VK_KHX_device_group_creation\NUL"#--{-# INLINE is_VK_KHX_DEVICE_GROUP_CREATION_EXTENSION_NAME #-}--is_VK_KHX_DEVICE_GROUP_CREATION_EXTENSION_NAME :: CString -> Bool-is_VK_KHX_DEVICE_GROUP_CREATION_EXTENSION_NAME-  = eqCStrings _VK_KHX_DEVICE_GROUP_CREATION_EXTENSION_NAME--type VK_KHX_DEVICE_GROUP_CREATION_EXTENSION_NAME =-     "VK_KHX_device_group_creation"--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHX ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHX =-        VkStructureType 1000070000--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHX ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHX =-        VkStructureType 1000070001---- | If set, heap allocations allocate multiple instances by default------   bitpos = @1@-pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHX ::-        VkMemoryHeapFlagBits--pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHX =-        VkMemoryHeapFlagBits 2
− src-gen/Graphics/Vulkan/Ext/VK_KHX_multiview.hs
@@ -1,149 +0,0 @@-{-# OPTIONS_HADDOCK not-home#-}-{-# LANGUAGE DataKinds       #-}-{-# LANGUAGE MagicHash       #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict          #-}-{-# LANGUAGE ViewPatterns    #-}-module Graphics.Vulkan.Ext.VK_KHX_multiview-       (-- * Vulkan extension: @VK_KHX_multiview@-        -- |-        ---        -- supported: @vulkan@-        ---        -- contact: @Jeff Bolz @jbolz@-        ---        -- author: @NV@-        ---        -- type: @device@-        ---        -- Extension number: @54@-        ---        -- Required extensions: 'VK_KHR_get_physical_device_properties2'.-        ----        -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.-        module Graphics.Vulkan.Marshal,-        module Graphics.Vulkan.Types.Enum.VkAccessFlags,-        module Graphics.Vulkan.Types.Struct.VkAttachmentDescription,-        module Graphics.Vulkan.Types.Enum.VkAttachmentDescriptionFlags,-        module Graphics.Vulkan.Types.Enum.VkAttachmentLoadOp,-        module Graphics.Vulkan.Types.Struct.VkAttachmentReference,-        module Graphics.Vulkan.Types.Enum.VkAttachmentStoreOp,-        module Graphics.Vulkan.Types.BaseTypes,-        module Graphics.Vulkan.Types.Enum.VkDependencyFlags,-        module Graphics.Vulkan.Types.Bitmasks,-        module Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo,-        module Graphics.Vulkan.Types.Enum.VkFormat,-        module Graphics.Vulkan.Types.Enum.VkImageLayout,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2KHR,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewFeaturesKHX,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewPropertiesKHX,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,-        module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,-        module Graphics.Vulkan.Types.Enum.VkPipelineBindPoint,-        module Graphics.Vulkan.Types.Enum.VkPipelineStageFlags,-        module Graphics.Vulkan.Types.Struct.VkRenderPassCreateInfo,-        module Graphics.Vulkan.Types.Struct.VkRenderPassMultiviewCreateInfoKHX,-        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,-        module Graphics.Vulkan.Types.Enum.VkStructureType,-        module Graphics.Vulkan.Types.Struct.VkSubpassDependency,-        module Graphics.Vulkan.Types.Struct.VkSubpassDescription,-        module Graphics.Vulkan.Types.Enum.VkSubpassDescriptionFlags,-        -- > #include "vk_platform.h"-        VK_KHX_MULTIVIEW_SPEC_VERSION,-        pattern VK_KHX_MULTIVIEW_SPEC_VERSION,-        VK_KHX_MULTIVIEW_EXTENSION_NAME,-        pattern VK_KHX_MULTIVIEW_EXTENSION_NAME,-        pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHX,-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHX,-        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHX,-        pattern VK_DEPENDENCY_VIEW_LOCAL_BIT_KHX)-       where-import           GHC.Ptr-                                                                                      (Ptr (..))-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Types.BaseTypes-import           Graphics.Vulkan.Types.Bitmasks-import           Graphics.Vulkan.Types.Enum.VkAccessFlags-import           Graphics.Vulkan.Types.Enum.VkAttachmentDescriptionFlags-import           Graphics.Vulkan.Types.Enum.VkAttachmentLoadOp-import           Graphics.Vulkan.Types.Enum.VkAttachmentStoreOp-import           Graphics.Vulkan.Types.Enum.VkDependencyFlags-import           Graphics.Vulkan.Types.Enum.VkFormat-import           Graphics.Vulkan.Types.Enum.VkImageLayout-import           Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType-import           Graphics.Vulkan.Types.Enum.VkPipelineBindPoint-import           Graphics.Vulkan.Types.Enum.VkPipelineStageFlags-import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import           Graphics.Vulkan.Types.Enum.VkStructureType-import           Graphics.Vulkan.Types.Enum.VkSubpassDescriptionFlags-import           Graphics.Vulkan.Types.Struct.VkAttachmentDescription-import           Graphics.Vulkan.Types.Struct.VkAttachmentReference-import           Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo-import           Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2KHR-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewFeaturesKHX-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewPropertiesKHX-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties-import           Graphics.Vulkan.Types.Struct.VkRenderPassCreateInfo-import           Graphics.Vulkan.Types.Struct.VkRenderPassMultiviewCreateInfoKHX-import           Graphics.Vulkan.Types.Struct.VkSubpassDependency-import           Graphics.Vulkan.Types.Struct.VkSubpassDescription--pattern VK_KHX_MULTIVIEW_SPEC_VERSION :: (Num a, Eq a) => a--pattern VK_KHX_MULTIVIEW_SPEC_VERSION = 1--type VK_KHX_MULTIVIEW_SPEC_VERSION = 1--pattern VK_KHX_MULTIVIEW_EXTENSION_NAME :: CString--pattern VK_KHX_MULTIVIEW_EXTENSION_NAME <--        (is_VK_KHX_MULTIVIEW_EXTENSION_NAME -> True)-  where VK_KHX_MULTIVIEW_EXTENSION_NAME-          = _VK_KHX_MULTIVIEW_EXTENSION_NAME--{-# INLINE _VK_KHX_MULTIVIEW_EXTENSION_NAME #-}--_VK_KHX_MULTIVIEW_EXTENSION_NAME :: CString-_VK_KHX_MULTIVIEW_EXTENSION_NAME = Ptr "VK_KHX_multiview\NUL"#--{-# INLINE is_VK_KHX_MULTIVIEW_EXTENSION_NAME #-}--is_VK_KHX_MULTIVIEW_EXTENSION_NAME :: CString -> Bool-is_VK_KHX_MULTIVIEW_EXTENSION_NAME-  = eqCStrings _VK_KHX_MULTIVIEW_EXTENSION_NAME--type VK_KHX_MULTIVIEW_EXTENSION_NAME = "VK_KHX_multiview"--pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHX ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHX =-        VkStructureType 1000053000--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHX ::-        VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHX =-        VkStructureType 1000053001--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHX-        :: VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHX-        = VkStructureType 1000053002---- | bitpos = @1@-pattern VK_DEPENDENCY_VIEW_LOCAL_BIT_KHX :: VkDependencyFlagBits--pattern VK_DEPENDENCY_VIEW_LOCAL_BIT_KHX = VkDependencyFlagBits 2
src-gen/Graphics/Vulkan/Ext/VK_MVK_ios_surface.hs view
@@ -17,12 +17,12 @@         --         -- type: @instance@         --+        -- platform: @ios@+        --         -- Extension number: @123@         --         -- Required extensions: 'VK_KHR_surface'.         ---        -- Protected by CPP ifdef: @VK_USE_PLATFORM_IOS_MVK@-        --          -- ** Required extensions: 'VK_KHR_surface'.         module Graphics.Vulkan.Types.BaseTypes,@@ -30,7 +30,8 @@         module Graphics.Vulkan.Types.Struct.VkIOSSurfaceCreateInfoMVK,         module Graphics.Vulkan.Types.Enum.VkStructureType,         -- > #include "vk_platform.h"-        vkCreateIOSSurfaceMVK, module Graphics.Vulkan.Marshal,+        vkCreateIOSSurfaceMVK, vkCreateIOSSurfaceMVKSafe,+        module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,         module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,@@ -67,7 +68,7 @@ --   >     , VkSurfaceKHR* pSurface --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateIOSSurfaceMVK.html vkCreateIOSSurfaceMVK registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateIOSSurfaceMVK.html vkCreateIOSSurfaceMVK registry at www.khronos.org> foreign import ccall unsafe "vkCreateIOSSurfaceMVK"                vkCreateIOSSurfaceMVK ::                VkInstance -- ^ instance@@ -78,6 +79,28 @@                                              -> Ptr VkSurfaceKHR -- ^ pSurface                                                                  -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.+--+--   > VkResult vkCreateIOSSurfaceMVK+--   >     ( VkInstance instance+--   >     , const VkIOSSurfaceCreateInfoMVK* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkSurfaceKHR* pSurface+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateIOSSurfaceMVK.html vkCreateIOSSurfaceMVK registry at www.khronos.org>+foreign import ccall safe "vkCreateIOSSurfaceMVK"+               vkCreateIOSSurfaceMVKSafe ::+               VkInstance -- ^ instance+                          ->+                 Ptr VkIOSSurfaceCreateInfoMVK -- ^ pCreateInfo+                                               ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                 -> IO VkResult+ pattern VK_MVK_IOS_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a  pattern VK_MVK_IOS_SURFACE_SPEC_VERSION = 2@@ -100,7 +123,7 @@  is_VK_MVK_IOS_SURFACE_EXTENSION_NAME :: CString -> Bool is_VK_MVK_IOS_SURFACE_EXTENSION_NAME-  = eqCStrings _VK_MVK_IOS_SURFACE_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_MVK_IOS_SURFACE_EXTENSION_NAME  type VK_MVK_IOS_SURFACE_EXTENSION_NAME = "VK_MVK_ios_surface" 
src-gen/Graphics/Vulkan/Ext/VK_MVK_macos_surface.hs view
@@ -17,12 +17,12 @@         --         -- type: @instance@         --+        -- platform: @macos@+        --         -- Extension number: @124@         --         -- Required extensions: 'VK_KHR_surface'.         ---        -- Protected by CPP ifdef: @VK_USE_PLATFORM_MACOS_MVK@-        --          -- ** Required extensions: 'VK_KHR_surface'.         module Graphics.Vulkan.Types.BaseTypes,@@ -30,7 +30,8 @@         module Graphics.Vulkan.Types.Struct.VkMacOSSurfaceCreateInfoMVK,         module Graphics.Vulkan.Types.Enum.VkStructureType,         -- > #include "vk_platform.h"-        vkCreateMacOSSurfaceMVK, module Graphics.Vulkan.Marshal,+        vkCreateMacOSSurfaceMVK, vkCreateMacOSSurfaceMVKSafe,+        module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,         module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,@@ -67,7 +68,7 @@ --   >     , VkSurfaceKHR* pSurface --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateMacOSSurfaceMVK.html vkCreateMacOSSurfaceMVK registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateMacOSSurfaceMVK.html vkCreateMacOSSurfaceMVK registry at www.khronos.org> foreign import ccall unsafe "vkCreateMacOSSurfaceMVK"                vkCreateMacOSSurfaceMVK ::                VkInstance -- ^ instance@@ -78,6 +79,28 @@                                              -> Ptr VkSurfaceKHR -- ^ pSurface                                                                  -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.+--+--   > VkResult vkCreateMacOSSurfaceMVK+--   >     ( VkInstance instance+--   >     , const VkMacOSSurfaceCreateInfoMVK* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkSurfaceKHR* pSurface+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateMacOSSurfaceMVK.html vkCreateMacOSSurfaceMVK registry at www.khronos.org>+foreign import ccall safe "vkCreateMacOSSurfaceMVK"+               vkCreateMacOSSurfaceMVKSafe ::+               VkInstance -- ^ instance+                          ->+                 Ptr VkMacOSSurfaceCreateInfoMVK -- ^ pCreateInfo+                                                 ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                 -> IO VkResult+ pattern VK_MVK_MACOS_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a  pattern VK_MVK_MACOS_SURFACE_SPEC_VERSION = 2@@ -101,7 +124,7 @@  is_VK_MVK_MACOS_SURFACE_EXTENSION_NAME :: CString -> Bool is_VK_MVK_MACOS_SURFACE_EXTENSION_NAME-  = eqCStrings _VK_MVK_MACOS_SURFACE_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_MVK_MACOS_SURFACE_EXTENSION_NAME  type VK_MVK_MACOS_SURFACE_EXTENSION_NAME = "VK_MVK_macos_surface" 
src-gen/Graphics/Vulkan/Ext/VK_NN_vi_surface.hs view
@@ -17,12 +17,12 @@         --         -- type: @instance@         --+        -- platform: @vi@+        --         -- Extension number: @63@         --         -- Required extensions: 'VK_KHR_surface'.         ---        -- Protected by CPP ifdef: @VK_USE_PLATFORM_VI_NN@-        --          -- ** Required extensions: 'VK_KHR_surface'.         module Graphics.Vulkan.Types.BaseTypes,@@ -30,7 +30,8 @@         module Graphics.Vulkan.Types.Bitmasks,         module Graphics.Vulkan.Types.Struct.VkViSurfaceCreateInfoNN,         -- > #include "vk_platform.h"-        vkCreateViSurfaceNN, module Graphics.Vulkan.Marshal,+        vkCreateViSurfaceNN, vkCreateViSurfaceNNSafe,+        module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,         module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,@@ -67,7 +68,7 @@ --   >     , VkSurfaceKHR* pSurface --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateViSurfaceNN.html vkCreateViSurfaceNN registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateViSurfaceNN.html vkCreateViSurfaceNN registry at www.khronos.org> foreign import ccall unsafe "vkCreateViSurfaceNN"                vkCreateViSurfaceNN ::                VkInstance -- ^ instance@@ -78,6 +79,28 @@                                              -> Ptr VkSurfaceKHR -- ^ pSurface                                                                  -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.+--+--   > VkResult vkCreateViSurfaceNN+--   >     ( VkInstance instance+--   >     , const VkViSurfaceCreateInfoNN* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkSurfaceKHR* pSurface+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateViSurfaceNN.html vkCreateViSurfaceNN registry at www.khronos.org>+foreign import ccall safe "vkCreateViSurfaceNN"+               vkCreateViSurfaceNNSafe ::+               VkInstance -- ^ instance+                          ->+                 Ptr VkViSurfaceCreateInfoNN -- ^ pCreateInfo+                                             ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                 -> IO VkResult+ pattern VK_NN_VI_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a  pattern VK_NN_VI_SURFACE_SPEC_VERSION = 1@@ -100,7 +123,7 @@  is_VK_NN_VI_SURFACE_EXTENSION_NAME :: CString -> Bool is_VK_NN_VI_SURFACE_EXTENSION_NAME-  = eqCStrings _VK_NN_VI_SURFACE_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_NN_VI_SURFACE_EXTENSION_NAME  type VK_NN_VI_SURFACE_EXTENSION_NAME = "VK_NN_vi_surface" 
src-gen/Graphics/Vulkan/Ext/VK_NVX_device_generated_commands.hs view
@@ -42,12 +42,19 @@         module Graphics.Vulkan.Types.Enum.VkShaderStageFlags,         module Graphics.Vulkan.Types.Enum.VkStructureType,         -- > #include "vk_platform.h"-        vkCmdProcessCommandsNVX, vkCmdReserveSpaceForCommandsNVX,+        vkCmdProcessCommandsNVX, vkCmdProcessCommandsNVXSafe,+        vkCmdReserveSpaceForCommandsNVX,+        vkCmdReserveSpaceForCommandsNVXSafe,         vkCreateIndirectCommandsLayoutNVX,-        vkDestroyIndirectCommandsLayoutNVX, vkCreateObjectTableNVX,-        vkDestroyObjectTableNVX, vkRegisterObjectsNVX,-        vkUnregisterObjectsNVX,+        vkCreateIndirectCommandsLayoutNVXSafe,+        vkDestroyIndirectCommandsLayoutNVX,+        vkDestroyIndirectCommandsLayoutNVXSafe, vkCreateObjectTableNVX,+        vkCreateObjectTableNVXSafe, vkDestroyObjectTableNVX,+        vkDestroyObjectTableNVXSafe, vkRegisterObjectsNVX,+        vkRegisterObjectsNVXSafe, vkUnregisterObjectsNVX,+        vkUnregisterObjectsNVXSafe,         vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX,+        vkGetPhysicalDeviceGeneratedCommandsPropertiesNVXSafe,         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,         module Graphics.Vulkan.Types.Enum.VkResult,@@ -121,7 +128,7 @@ --   >     , const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdProcessCommandsNVX.html vkCmdProcessCommandsNVX registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdProcessCommandsNVX.html vkCmdProcessCommandsNVX registry at www.khronos.org> foreign import ccall unsafe "vkCmdProcessCommandsNVX"                vkCmdProcessCommandsNVX ::                VkCommandBuffer -- ^ commandBuffer@@ -132,18 +139,50 @@ -- --   renderpass: @inside@ --+--   > () vkCmdProcessCommandsNVX+--   >     ( VkCommandBuffer commandBuffer+--   >     , const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdProcessCommandsNVX.html vkCmdProcessCommandsNVX registry at www.khronos.org>+foreign import ccall safe "vkCmdProcessCommandsNVX"+               vkCmdProcessCommandsNVXSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Ptr VkCmdProcessCommandsInfoNVX -- ^ pProcessCommandsInfo+                                                                  -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @inside@+-- --   > () vkCmdReserveSpaceForCommandsNVX --   >     ( VkCommandBuffer commandBuffer --   >     , const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdReserveSpaceForCommandsNVX.html vkCmdReserveSpaceForCommandsNVX registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdReserveSpaceForCommandsNVX.html vkCmdReserveSpaceForCommandsNVX registry at www.khronos.org> foreign import ccall unsafe "vkCmdReserveSpaceForCommandsNVX"                vkCmdReserveSpaceForCommandsNVX ::                VkCommandBuffer -- ^ commandBuffer                                -> Ptr VkCmdReserveSpaceForCommandsInfoNVX -- ^ pReserveSpaceInfo                                                                           -> IO () +-- | queues: 'graphics', 'compute'.+--+--   renderpass: @inside@+--+--   > () vkCmdReserveSpaceForCommandsNVX+--   >     ( VkCommandBuffer commandBuffer+--   >     , const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdReserveSpaceForCommandsNVX.html vkCmdReserveSpaceForCommandsNVX registry at www.khronos.org>+foreign import ccall safe "vkCmdReserveSpaceForCommandsNVX"+               vkCmdReserveSpaceForCommandsNVXSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Ptr VkCmdReserveSpaceForCommandsInfoNVX -- ^ pReserveSpaceInfo+                                                                          -> IO ()+ -- | Success codes: 'VK_SUCCESS'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -155,7 +194,7 @@ --   >     , VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateIndirectCommandsLayoutNVX.html vkCreateIndirectCommandsLayoutNVX registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateIndirectCommandsLayoutNVX.html vkCreateIndirectCommandsLayoutNVX registry at www.khronos.org> foreign import ccall unsafe "vkCreateIndirectCommandsLayoutNVX"                vkCreateIndirectCommandsLayoutNVX ::                VkDevice -- ^ device@@ -167,13 +206,36 @@                      Ptr VkIndirectCommandsLayoutNVX -- ^ pIndirectCommandsLayout                                                      -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateIndirectCommandsLayoutNVX+--   >     ( VkDevice device+--   >     , const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateIndirectCommandsLayoutNVX.html vkCreateIndirectCommandsLayoutNVX registry at www.khronos.org>+foreign import ccall safe "vkCreateIndirectCommandsLayoutNVX"+               vkCreateIndirectCommandsLayoutNVXSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkIndirectCommandsLayoutCreateInfoNVX -- ^ pCreateInfo+                                                           ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             ->+                     Ptr VkIndirectCommandsLayoutNVX -- ^ pIndirectCommandsLayout+                                                     -> IO VkResult+ -- | > () vkDestroyIndirectCommandsLayoutNVX --   >     ( VkDevice device --   >     , VkIndirectCommandsLayoutNVX indirectCommandsLayout --   >     , const VkAllocationCallbacks* pAllocator --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroyIndirectCommandsLayoutNVX.html vkDestroyIndirectCommandsLayoutNVX registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyIndirectCommandsLayoutNVX.html vkDestroyIndirectCommandsLayoutNVX registry at www.khronos.org> foreign import ccall unsafe "vkDestroyIndirectCommandsLayoutNVX"                vkDestroyIndirectCommandsLayoutNVX ::                VkDevice -- ^ device@@ -182,6 +244,21 @@                                              -> Ptr VkAllocationCallbacks -- ^ pAllocator                                                                           -> IO () +-- | > () vkDestroyIndirectCommandsLayoutNVX+--   >     ( VkDevice device+--   >     , VkIndirectCommandsLayoutNVX indirectCommandsLayout+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyIndirectCommandsLayoutNVX.html vkDestroyIndirectCommandsLayoutNVX registry at www.khronos.org>+foreign import ccall safe "vkDestroyIndirectCommandsLayoutNVX"+               vkDestroyIndirectCommandsLayoutNVXSafe ::+               VkDevice -- ^ device+                        ->+                 VkIndirectCommandsLayoutNVX -- ^ indirectCommandsLayout+                                             -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                          -> IO ()+ -- | Success codes: 'VK_SUCCESS'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -193,7 +270,7 @@ --   >     , VkObjectTableNVX* pObjectTable --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateObjectTableNVX.html vkCreateObjectTableNVX registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateObjectTableNVX.html vkCreateObjectTableNVX registry at www.khronos.org> foreign import ccall unsafe "vkCreateObjectTableNVX"                vkCreateObjectTableNVX ::                VkDevice -- ^ device@@ -204,13 +281,35 @@                                              -> Ptr VkObjectTableNVX -- ^ pObjectTable                                                                      -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkCreateObjectTableNVX+--   >     ( VkDevice device+--   >     , const VkObjectTableCreateInfoNVX* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkObjectTableNVX* pObjectTable+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateObjectTableNVX.html vkCreateObjectTableNVX registry at www.khronos.org>+foreign import ccall safe "vkCreateObjectTableNVX"+               vkCreateObjectTableNVXSafe ::+               VkDevice -- ^ device+                        ->+                 Ptr VkObjectTableCreateInfoNVX -- ^ pCreateInfo+                                                ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkObjectTableNVX -- ^ pObjectTable+                                                                     -> IO VkResult+ -- | > () vkDestroyObjectTableNVX --   >     ( VkDevice device --   >     , VkObjectTableNVX objectTable --   >     , const VkAllocationCallbacks* pAllocator --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroyObjectTableNVX.html vkDestroyObjectTableNVX registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyObjectTableNVX.html vkDestroyObjectTableNVX registry at www.khronos.org> foreign import ccall unsafe "vkDestroyObjectTableNVX"                vkDestroyObjectTableNVX ::                VkDevice -- ^ device@@ -218,6 +317,20 @@                                             -> Ptr VkAllocationCallbacks -- ^ pAllocator                                                                          -> IO () +-- | > () vkDestroyObjectTableNVX+--   >     ( VkDevice device+--   >     , VkObjectTableNVX objectTable+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyObjectTableNVX.html vkDestroyObjectTableNVX registry at www.khronos.org>+foreign import ccall safe "vkDestroyObjectTableNVX"+               vkDestroyObjectTableNVXSafe ::+               VkDevice -- ^ device+                        -> VkObjectTableNVX -- ^ objectTable+                                            -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                         -> IO ()+ -- | Success codes: 'VK_SUCCESS'. -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -230,7 +343,7 @@ --   >     , const uint32_t* pObjectIndices --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkRegisterObjectsNVX.html vkRegisterObjectsNVX registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkRegisterObjectsNVX.html vkRegisterObjectsNVX registry at www.khronos.org> foreign import ccall unsafe "vkRegisterObjectsNVX"                vkRegisterObjectsNVX ::                VkDevice -- ^ device@@ -247,6 +360,31 @@ -- --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'. --+--   > VkResult vkRegisterObjectsNVX+--   >     ( VkDevice device+--   >     , VkObjectTableNVX objectTable+--   >     , uint32_t objectCount+--   >     , const VkObjectTableEntryNVX* const*    ppObjectTableEntries+--   >     , const uint32_t* pObjectIndices+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkRegisterObjectsNVX.html vkRegisterObjectsNVX registry at www.khronos.org>+foreign import ccall safe "vkRegisterObjectsNVX"+               vkRegisterObjectsNVXSafe ::+               VkDevice -- ^ device+                        ->+                 VkObjectTableNVX -- ^ objectTable+                                  ->+                   Word32 -- ^ objectCount+                          ->+                     Ptr (Ptr VkObjectTableEntryNVX) -- ^ ppObjectTableEntries+                                                     -> Ptr Word32 -- ^ pObjectIndices+                                                                   -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+-- --   > VkResult vkUnregisterObjectsNVX --   >     ( VkDevice device --   >     , VkObjectTableNVX objectTable@@ -255,7 +393,7 @@ --   >     , const uint32_t* pObjectIndices --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkUnregisterObjectsNVX.html vkUnregisterObjectsNVX registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkUnregisterObjectsNVX.html vkUnregisterObjectsNVX registry at www.khronos.org> foreign import ccall unsafe "vkUnregisterObjectsNVX"                vkUnregisterObjectsNVX ::                VkDevice -- ^ device@@ -267,13 +405,37 @@                                                       -> Ptr Word32 -- ^ pObjectIndices                                                                     -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+--   > VkResult vkUnregisterObjectsNVX+--   >     ( VkDevice device+--   >     , VkObjectTableNVX objectTable+--   >     , uint32_t objectCount+--   >     , const VkObjectEntryTypeNVX* pObjectEntryTypes+--   >     , const uint32_t* pObjectIndices+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkUnregisterObjectsNVX.html vkUnregisterObjectsNVX registry at www.khronos.org>+foreign import ccall safe "vkUnregisterObjectsNVX"+               vkUnregisterObjectsNVXSafe ::+               VkDevice -- ^ device+                        ->+                 VkObjectTableNVX -- ^ objectTable+                                  ->+                   Word32 -- ^ objectCount+                          -> Ptr VkObjectEntryTypeNVX -- ^ pObjectEntryTypes+                                                      -> Ptr Word32 -- ^ pObjectIndices+                                                                    -> IO VkResult+ -- | > () vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX --   >     ( VkPhysicalDevice physicalDevice --   >     , VkDeviceGeneratedCommandsFeaturesNVX* pFeatures --   >     , VkDeviceGeneratedCommandsLimitsNVX* pLimits --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX.html vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX.html vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX registry at www.khronos.org> foreign import ccall unsafe                "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"                vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX ::@@ -284,6 +446,23 @@                    Ptr VkDeviceGeneratedCommandsLimitsNVX -- ^ pLimits                                                           -> IO () +-- | > () vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkDeviceGeneratedCommandsFeaturesNVX* pFeatures+--   >     , VkDeviceGeneratedCommandsLimitsNVX* pLimits+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX.html vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"+               vkGetPhysicalDeviceGeneratedCommandsPropertiesNVXSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkDeviceGeneratedCommandsFeaturesNVX -- ^ pFeatures+                                                          ->+                   Ptr VkDeviceGeneratedCommandsLimitsNVX -- ^ pLimits+                                                          -> IO ()+ pattern VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION ::         (Num a, Eq a) => a @@ -309,7 +488,8 @@ is_VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME ::                                                    CString -> Bool is_VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME-  = eqCStrings _VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME  type VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME =      "VK_NVX_device_generated_commands"
src-gen/Graphics/Vulkan/Ext/VK_NVX_multiview_per_view_attributes.hs view
@@ -18,16 +18,16 @@         --         -- Extension number: @98@         ---        -- Required extensions: 'VK_KHX_multiview'.+        -- Required extensions: 'VK_KHR_multiview'.         -- -        -- ** Required extensions: 'VK_KHX_multiview'.+        -- ** Required extensions: 'VK_KHR_multiview'.         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.BaseTypes,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,-        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2,         module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,         module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,         module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,@@ -54,7 +54,7 @@ import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2 import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties  pattern VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION ::@@ -84,7 +84,8 @@ is_VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME ::                                                        CString -> Bool is_VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME-  = eqCStrings _VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME  type VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME =      "VK_NVX_multiview_per_view_attributes"
src-gen/Graphics/Vulkan/Ext/VK_NV_clip_space_w_scaling.hs view
@@ -29,7 +29,8 @@         module Graphics.Vulkan.Types.Struct.VkViewport,         module Graphics.Vulkan.Types.Struct.VkViewportWScalingNV,         -- > #include "vk_platform.h"-        vkCmdSetViewportWScalingNV, module Graphics.Vulkan.Types.Handles,+        vkCmdSetViewportWScalingNV, vkCmdSetViewportWScalingNVSafe,+        module Graphics.Vulkan.Types.Handles,         VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION,         pattern VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION,         VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME,@@ -65,7 +66,7 @@ --   >     , const VkViewportWScalingNV* pViewportWScalings --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdSetViewportWScalingNV.html vkCmdSetViewportWScalingNV registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetViewportWScalingNV.html vkCmdSetViewportWScalingNV registry at www.khronos.org> foreign import ccall unsafe "vkCmdSetViewportWScalingNV"                vkCmdSetViewportWScalingNV ::                VkCommandBuffer -- ^ commandBuffer@@ -75,6 +76,27 @@                                   -> Ptr VkViewportWScalingNV -- ^ pViewportWScalings                                                               -> IO () +-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetViewportWScalingNV+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t firstViewport+--   >     , uint32_t viewportCount+--   >     , const VkViewportWScalingNV* pViewportWScalings+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetViewportWScalingNV.html vkCmdSetViewportWScalingNV registry at www.khronos.org>+foreign import ccall safe "vkCmdSetViewportWScalingNV"+               vkCmdSetViewportWScalingNVSafe ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ firstViewport+                        -> Word32 -- ^ viewportCount+                                  -> Ptr VkViewportWScalingNV -- ^ pViewportWScalings+                                                              -> IO ()+ pattern VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION :: (Num a, Eq a) =>         a @@ -99,7 +121,7 @@  is_VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME :: CString -> Bool is_VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME-  = eqCStrings _VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME  type VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME =      "VK_NV_clip_space_w_scaling"
src-gen/Graphics/Vulkan/Ext/VK_NV_dedicated_allocation.hs view
@@ -92,7 +92,7 @@  is_VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME :: CString -> Bool is_VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME-  = eqCStrings _VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME  type VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME =      "VK_NV_dedicated_allocation"
src-gen/Graphics/Vulkan/Ext/VK_NV_external_memory.hs view
@@ -88,7 +88,7 @@  is_VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME :: CString -> Bool is_VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME-  = eqCStrings _VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME  type VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME = "VK_NV_external_memory" 
src-gen/Graphics/Vulkan/Ext/VK_NV_external_memory_capabilities.hs view
@@ -28,6 +28,7 @@         module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,         -- > #include "vk_platform.h"         vkGetPhysicalDeviceExternalImageFormatPropertiesNV,+        vkGetPhysicalDeviceExternalImageFormatPropertiesNVSafe,         module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Enum.VkFormat,         module Graphics.Vulkan.Types.Enum.VkImageCreateFlags,@@ -73,7 +74,7 @@ --   >     , VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceExternalImageFormatPropertiesNV.html vkGetPhysicalDeviceExternalImageFormatPropertiesNV registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalImageFormatPropertiesNV.html vkGetPhysicalDeviceExternalImageFormatPropertiesNV registry at www.khronos.org> foreign import ccall unsafe                "vkGetPhysicalDeviceExternalImageFormatPropertiesNV"                vkGetPhysicalDeviceExternalImageFormatPropertiesNV ::@@ -94,6 +95,42 @@                              Ptr VkExternalImageFormatPropertiesNV -- ^ pExternalImageFormatProperties                                                                    -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+--   > VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkFormat format+--   >     , VkImageType type+--   >     , VkImageTiling tiling+--   >     , VkImageUsageFlags usage+--   >     , VkImageCreateFlags flags+--   >     , VkExternalMemoryHandleTypeFlagsNV externalHandleType+--   >     , VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalImageFormatPropertiesNV.html vkGetPhysicalDeviceExternalImageFormatPropertiesNV registry at www.khronos.org>+foreign import ccall safe+               "vkGetPhysicalDeviceExternalImageFormatPropertiesNV"+               vkGetPhysicalDeviceExternalImageFormatPropertiesNVSafe ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 VkFormat -- ^ format+                          ->+                   VkImageType -- ^ type+                               ->+                     VkImageTiling -- ^ tiling+                                   ->+                       VkImageUsageFlags -- ^ usage+                                         ->+                         VkImageCreateFlags -- ^ flags+                                            ->+                           VkExternalMemoryHandleTypeFlagsNV -- ^ externalHandleType+                                                             ->+                             Ptr VkExternalImageFormatPropertiesNV -- ^ pExternalImageFormatProperties+                                                                   -> IO VkResult+ pattern VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION ::         (Num a, Eq a) => a @@ -120,7 +157,8 @@ is_VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME ::                                                      CString -> Bool is_VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME-  = eqCStrings _VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME  type VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME =      "VK_NV_external_memory_capabilities"
src-gen/Graphics/Vulkan/Ext/VK_NV_external_memory_win32.hs view
@@ -18,12 +18,12 @@         --         -- type: @device@         --+        -- platform: @win32@+        --         -- Extension number: @58@         --         -- Required extensions: 'VK_NV_external_memory'.         ---        -- Protected by CPP ifdef: @VK_USE_PLATFORM_WIN32_KHR@-        --          -- ** Required extensions: 'VK_NV_external_memory'.         module Graphics.Vulkan.Types.BaseTypes,@@ -33,9 +33,8 @@         module Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo,         module Graphics.Vulkan.Types.Enum.VkStructureType,         -- > #include "vk_platform.h"-        ---        -- > #include <windows.h>-        vkGetMemoryWin32HandleNV, module Graphics.Vulkan.Marshal,+        vkGetMemoryWin32HandleNV, vkGetMemoryWin32HandleNVSafe,+        module Graphics.Vulkan.Marshal,         module Graphics.Vulkan.Types.Enum.VkResult,         module Graphics.Vulkan.Types.Handles,         VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION,@@ -68,7 +67,7 @@ --   >     , HANDLE* pHandle --   >     ) -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetMemoryWin32HandleNV.html vkGetMemoryWin32HandleNV registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryWin32HandleNV.html vkGetMemoryWin32HandleNV registry at www.khronos.org> foreign import ccall unsafe "vkGetMemoryWin32HandleNV"                vkGetMemoryWin32HandleNV ::                VkDevice -- ^ device@@ -79,6 +78,28 @@                                                      -> Ptr HANDLE -- ^ pHandle                                                                    -> IO VkResult +-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'.+--+--   > VkResult vkGetMemoryWin32HandleNV+--   >     ( VkDevice device+--   >     , VkDeviceMemory memory+--   >     , VkExternalMemoryHandleTypeFlagsNV handleType+--   >     , HANDLE* pHandle+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryWin32HandleNV.html vkGetMemoryWin32HandleNV registry at www.khronos.org>+foreign import ccall safe "vkGetMemoryWin32HandleNV"+               vkGetMemoryWin32HandleNVSafe ::+               VkDevice -- ^ device+                        ->+                 VkDeviceMemory -- ^ memory+                                ->+                   VkExternalMemoryHandleTypeFlagsNV -- ^ handleType+                                                     -> Ptr HANDLE -- ^ pHandle+                                                                   -> IO VkResult+ pattern VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION ::         (Num a, Eq a) => a @@ -103,7 +124,7 @@  is_VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME :: CString -> Bool is_VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME-  = eqCStrings _VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME  type VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME =      "VK_NV_external_memory_win32"
src-gen/Graphics/Vulkan/Ext/VK_NV_fill_rectangle.hs view
@@ -50,7 +50,7 @@  is_VK_NV_FILL_RECTANGLE_EXTENSION_NAME :: CString -> Bool is_VK_NV_FILL_RECTANGLE_EXTENSION_NAME-  = eqCStrings _VK_NV_FILL_RECTANGLE_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_NV_FILL_RECTANGLE_EXTENSION_NAME  type VK_NV_FILL_RECTANGLE_EXTENSION_NAME = "VK_NV_fill_rectangle" 
src-gen/Graphics/Vulkan/Ext/VK_NV_fragment_coverage_to_color.hs view
@@ -65,7 +65,8 @@ is_VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME ::                                                    CString -> Bool is_VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME-  = eqCStrings _VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME  type VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME =      "VK_NV_fragment_coverage_to_color"
src-gen/Graphics/Vulkan/Ext/VK_NV_framebuffer_mixed_samples.hs view
@@ -67,7 +67,8 @@ is_VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME ::                                                   CString -> Bool is_VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME-  = eqCStrings _VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME  type VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME =      "VK_NV_framebuffer_mixed_samples"
src-gen/Graphics/Vulkan/Ext/VK_NV_geometry_shader_passthrough.hs view
@@ -50,7 +50,8 @@ is_VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME ::                                                     CString -> Bool is_VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME-  = eqCStrings _VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME  type VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME =      "VK_NV_geometry_shader_passthrough"
src-gen/Graphics/Vulkan/Ext/VK_NV_glsl_shader.hs view
@@ -49,7 +49,7 @@  is_VK_NV_GLSL_SHADER_EXTENSION_NAME :: CString -> Bool is_VK_NV_GLSL_SHADER_EXTENSION_NAME-  = eqCStrings _VK_NV_GLSL_SHADER_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_NV_GLSL_SHADER_EXTENSION_NAME  type VK_NV_GLSL_SHADER_EXTENSION_NAME = "VK_NV_glsl_shader" 
src-gen/Graphics/Vulkan/Ext/VK_NV_sample_mask_override_coverage.hs view
@@ -52,7 +52,8 @@ is_VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME ::                                                       CString -> Bool is_VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME-  = eqCStrings _VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME+  = (EQ ==) .+      cmpCStrings _VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME  type VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME =      "VK_NV_sample_mask_override_coverage"
src-gen/Graphics/Vulkan/Ext/VK_NV_viewport_array2.hs view
@@ -48,6 +48,6 @@  is_VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME :: CString -> Bool is_VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME-  = eqCStrings _VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME  type VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2"
src-gen/Graphics/Vulkan/Ext/VK_NV_viewport_swizzle.hs view
@@ -73,7 +73,7 @@  is_VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME :: CString -> Bool is_VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME-  = eqCStrings _VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME  type VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME =      "VK_NV_viewport_swizzle"
src-gen/Graphics/Vulkan/Ext/VK_NV_win32_keyed_mutex.hs view
@@ -16,12 +16,12 @@         --         -- type: @device@         --+        -- platform: @win32@+        --         -- Extension number: @59@         --         -- Required extensions: 'VK_NV_external_memory_win32'.         ---        -- Protected by CPP ifdef: @VK_USE_PLATFORM_WIN32_KHR@-        --          -- ** Required extensions: 'VK_NV_external_memory_win32'.         module Graphics.Vulkan.Types.BaseTypes,@@ -68,7 +68,7 @@  is_VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME :: CString -> Bool is_VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME-  = eqCStrings _VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME+  = (EQ ==) . cmpCStrings _VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME  type VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME =      "VK_NV_win32_keyed_mutex"
src-gen/Graphics/Vulkan/Types/Bitmasks.hs view
@@ -5,15 +5,26 @@ {-# LANGUAGE Strict                     #-} module Graphics.Vulkan.Types.Bitmasks        (VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),-        VkCommandPoolTrimFlagsKHR(..), VkDescriptorPoolResetFlags(..),+        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),+        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),+        VkDebugUtilsMessengerCreateFlagsEXT(..),+        VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlags(..),         VkDescriptorUpdateTemplateCreateFlagsKHR(..),-        VkDeviceCreateFlags(..), VkDeviceQueueCreateFlags(..),-        VkDisplayModeCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDisplayModeCreateFlagsKHR(..),         VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),-        VkFramebufferCreateFlags(..), VkIOSSurfaceCreateFlagsMVK(..),-        VkImageViewCreateFlags(..), VkInstanceCreateFlags(..),-        VkMacOSSurfaceCreateFlagsMVK(..), VkMemoryMapFlags(..),-        VkMirSurfaceCreateFlagsKHR(..), VkPipelineCacheCreateFlags(..),+        VkExternalFenceFeatureFlagsKHR(..),+        VkExternalFenceHandleTypeFlagsKHR(..),+        VkExternalMemoryFeatureFlagsKHR(..),+        VkExternalMemoryHandleTypeFlagsKHR(..),+        VkExternalSemaphoreFeatureFlagsKHR(..),+        VkExternalSemaphoreHandleTypeFlagsKHR(..),+        VkFenceImportFlagsKHR(..), VkFramebufferCreateFlags(..),+        VkIOSSurfaceCreateFlagsMVK(..), VkImageViewCreateFlags(..),+        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),+        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPeerMemoryFeatureFlagsKHR(..),+        VkPipelineCacheCreateFlags(..),         VkPipelineColorBlendStateCreateFlags(..),         VkPipelineCoverageModulationStateCreateFlagsNV(..),         VkPipelineCoverageToColorStateCreateFlagsNV(..),@@ -32,8 +43,9 @@         VkPipelineViewportSwizzleStateCreateFlagsNV(..),         VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),         VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),-        VkShaderModuleCreateFlags(..), VkValidationCacheCreateFlagsEXT(..),-        VkViSurfaceCreateFlagsNN(..), VkWaylandSurfaceCreateFlagsKHR(..),+        VkSemaphoreImportFlagsKHR(..), VkShaderModuleCreateFlags(..),+        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),+        VkWaylandSurfaceCreateFlagsKHR(..),         VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),         VkXlibSurfaceCreateFlagsKHR(..))        where@@ -68,6 +80,18 @@         {-# INLINE readsPrec #-}         readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags) +newtype VkCommandPoolTrimFlags = VkCommandPoolTrimFlags VkFlags+                                   deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                             FiniteBits, Storable, Real, Data, Generic)++instance Show VkCommandPoolTrimFlags where+        {-# INLINE show #-}+        show (VkCommandPoolTrimFlags x) = show x++instance Read VkCommandPoolTrimFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+ newtype VkCommandPoolTrimFlagsKHR = VkCommandPoolTrimFlagsKHR VkFlags                                       deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,                                                 FiniteBits, Storable, Real, Data, Generic)@@ -80,6 +104,32 @@         {-# INLINE readsPrec #-}         readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags) +newtype VkDebugUtilsMessengerCallbackDataFlagsEXT = VkDebugUtilsMessengerCallbackDataFlagsEXT VkFlags+                                                      deriving (Eq, Ord, Num, Bounded, Enum,+                                                                Integral, Bits, FiniteBits,+                                                                Storable, Real, Data, Generic)++instance Show VkDebugUtilsMessengerCallbackDataFlagsEXT where+        {-# INLINE show #-}+        show (VkDebugUtilsMessengerCallbackDataFlagsEXT x) = show x++instance Read VkDebugUtilsMessengerCallbackDataFlagsEXT where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkDebugUtilsMessengerCreateFlagsEXT = VkDebugUtilsMessengerCreateFlagsEXT VkFlags+                                                deriving (Eq, Ord, Num, Bounded, Enum, Integral,+                                                          Bits, FiniteBits, Storable, Real, Data,+                                                          Generic)++instance Show VkDebugUtilsMessengerCreateFlagsEXT where+        {-# INLINE show #-}+        show (VkDebugUtilsMessengerCreateFlagsEXT x) = show x++instance Read VkDebugUtilsMessengerCreateFlagsEXT where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+ newtype VkDescriptorPoolResetFlags = VkDescriptorPoolResetFlags VkFlags                                        deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,                                                  FiniteBits, Storable, Real, Data, Generic)@@ -92,6 +142,19 @@         {-# INLINE readsPrec #-}         readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags) +newtype VkDescriptorUpdateTemplateCreateFlags = VkDescriptorUpdateTemplateCreateFlags VkFlags+                                                  deriving (Eq, Ord, Num, Bounded, Enum, Integral,+                                                            Bits, FiniteBits, Storable, Real, Data,+                                                            Generic)++instance Show VkDescriptorUpdateTemplateCreateFlags where+        {-# INLINE show #-}+        show (VkDescriptorUpdateTemplateCreateFlags x) = show x++instance Read VkDescriptorUpdateTemplateCreateFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+ newtype VkDescriptorUpdateTemplateCreateFlagsKHR = VkDescriptorUpdateTemplateCreateFlagsKHR VkFlags                                                      deriving (Eq, Ord, Num, Bounded, Enum,                                                                Integral, Bits, FiniteBits, Storable,@@ -117,18 +180,6 @@         {-# INLINE readsPrec #-}         readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags) -newtype VkDeviceQueueCreateFlags = VkDeviceQueueCreateFlags VkFlags-                                     deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                               FiniteBits, Storable, Real, Data, Generic)--instance Show VkDeviceQueueCreateFlags where-        {-# INLINE show #-}-        show (VkDeviceQueueCreateFlags x) = show x--instance Read VkDeviceQueueCreateFlags where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)- newtype VkDisplayModeCreateFlagsKHR = VkDisplayModeCreateFlagsKHR VkFlags                                         deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,                                                   FiniteBits, Storable, Real, Data, Generic)@@ -165,6 +216,93 @@         {-# INLINE readsPrec #-}         readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags) +newtype VkExternalFenceFeatureFlagsKHR = VkExternalFenceFeatureFlagsKHR VkFlags+                                           deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                     FiniteBits, Storable, Real, Data, Generic)++instance Show VkExternalFenceFeatureFlagsKHR where+        {-# INLINE show #-}+        show (VkExternalFenceFeatureFlagsKHR x) = show x++instance Read VkExternalFenceFeatureFlagsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkExternalFenceHandleTypeFlagsKHR = VkExternalFenceHandleTypeFlagsKHR VkFlags+                                              deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                        FiniteBits, Storable, Real, Data, Generic)++instance Show VkExternalFenceHandleTypeFlagsKHR where+        {-# INLINE show #-}+        show (VkExternalFenceHandleTypeFlagsKHR x) = show x++instance Read VkExternalFenceHandleTypeFlagsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkExternalMemoryFeatureFlagsKHR = VkExternalMemoryFeatureFlagsKHR VkFlags+                                            deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                      FiniteBits, Storable, Real, Data, Generic)++instance Show VkExternalMemoryFeatureFlagsKHR where+        {-# INLINE show #-}+        show (VkExternalMemoryFeatureFlagsKHR x) = show x++instance Read VkExternalMemoryFeatureFlagsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkExternalMemoryHandleTypeFlagsKHR = VkExternalMemoryHandleTypeFlagsKHR VkFlags+                                               deriving (Eq, Ord, Num, Bounded, Enum, Integral,+                                                         Bits, FiniteBits, Storable, Real, Data,+                                                         Generic)++instance Show VkExternalMemoryHandleTypeFlagsKHR where+        {-# INLINE show #-}+        show (VkExternalMemoryHandleTypeFlagsKHR x) = show x++instance Read VkExternalMemoryHandleTypeFlagsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkExternalSemaphoreFeatureFlagsKHR = VkExternalSemaphoreFeatureFlagsKHR VkFlags+                                               deriving (Eq, Ord, Num, Bounded, Enum, Integral,+                                                         Bits, FiniteBits, Storable, Real, Data,+                                                         Generic)++instance Show VkExternalSemaphoreFeatureFlagsKHR where+        {-# INLINE show #-}+        show (VkExternalSemaphoreFeatureFlagsKHR x) = show x++instance Read VkExternalSemaphoreFeatureFlagsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkExternalSemaphoreHandleTypeFlagsKHR = VkExternalSemaphoreHandleTypeFlagsKHR VkFlags+                                                  deriving (Eq, Ord, Num, Bounded, Enum, Integral,+                                                            Bits, FiniteBits, Storable, Real, Data,+                                                            Generic)++instance Show VkExternalSemaphoreHandleTypeFlagsKHR where+        {-# INLINE show #-}+        show (VkExternalSemaphoreHandleTypeFlagsKHR x) = show x++instance Read VkExternalSemaphoreHandleTypeFlagsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkFenceImportFlagsKHR = VkFenceImportFlagsKHR VkFlags+                                  deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,+                                            Storable, Real, Data, Generic)++instance Show VkFenceImportFlagsKHR where+        {-# INLINE show #-}+        show (VkFenceImportFlagsKHR x) = show x++instance Read VkFenceImportFlagsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+ newtype VkFramebufferCreateFlags = VkFramebufferCreateFlags VkFlags                                      deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,                                                FiniteBits, Storable, Real, Data, Generic)@@ -225,6 +363,18 @@         {-# INLINE readsPrec #-}         readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags) +newtype VkMemoryAllocateFlagsKHR = VkMemoryAllocateFlagsKHR VkFlags+                                     deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                               FiniteBits, Storable, Real, Data, Generic)++instance Show VkMemoryAllocateFlagsKHR where+        {-# INLINE show #-}+        show (VkMemoryAllocateFlagsKHR x) = show x++instance Read VkMemoryAllocateFlagsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+ newtype VkMemoryMapFlags = VkMemoryMapFlags VkFlags                              deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,                                        Storable, Real, Data, Generic)@@ -249,6 +399,18 @@         {-# INLINE readsPrec #-}         readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags) +newtype VkPeerMemoryFeatureFlagsKHR = VkPeerMemoryFeatureFlagsKHR VkFlags+                                        deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                  FiniteBits, Storable, Real, Data, Generic)++instance Show VkPeerMemoryFeatureFlagsKHR where+        {-# INLINE show #-}+        show (VkPeerMemoryFeatureFlagsKHR x) = show x++instance Read VkPeerMemoryFeatureFlagsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)+ newtype VkPipelineCacheCreateFlags = VkPipelineCacheCreateFlags VkFlags                                        deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,                                                  FiniteBits, Storable, Real, Data, Generic)@@ -517,6 +679,18 @@         show (VkSemaphoreCreateFlags x) = show x  instance Read VkSemaphoreCreateFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkSemaphoreImportFlagsKHR = VkSemaphoreImportFlagsKHR VkFlags+                                      deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                FiniteBits, Storable, Real, Data, Generic)++instance Show VkSemaphoreImportFlagsKHR where+        {-# INLINE show #-}+        show (VkSemaphoreImportFlagsKHR x) = show x++instance Read VkSemaphoreImportFlagsKHR where         {-# INLINE readsPrec #-}         readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags) 
src-gen/Graphics/Vulkan/Types/Defines.hs view
@@ -1,36 +1,45 @@ {-# LANGUAGE CPP             #-} {-# LANGUAGE DataKinds       #-}+{-# LANGUAGE EmptyDataDecls  #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict          #-} module Graphics.Vulkan.Types.Defines-       (-- | ===== @VK_API_VERSION@-        -- > // DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead.-        -- > //#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0-        VK_API_VERSION_1_0, pattern VK_API_VERSION_1_0, Ptr(), -- | ===== @VK_DEFINE_HANDLE@-                                                               -- Dispatchable handles are represented as `Foreign.Ptr`-                                                               ---                                                               -- >-                                                               -- > #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;-                                                               VkPtr(..),-        -- | ===== @VK_DEFINE_NON_DISPATCHABLE_HANDLE@-        -- Non-dispatchable handles are represented as `VkPtr`-        ---        -- >-        -- > #if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)-        -- > #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)-        -- >         #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;-        -- > #else-        -- >         #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;-        -- > #endif-        -- > #endif-        -- >-        VK_HEADER_VERSION, pattern VK_HEADER_VERSION, _VK_MAKE_VERSION,-        VulkanPtr(..), pattern VK_NULL_HANDLE, _VK_VERSION_MAJOR,-        _VK_VERSION_MINOR, _VK_VERSION_PATCH)+       (AHardwareBuffer(), ANativeWindow(), -- | ===== @VK_API_VERSION@+                                            -- > // DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead.+                                            -- > //#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0+                                            VK_API_VERSION_1_0,+        pattern VK_API_VERSION_1_0, VK_API_VERSION_1_1,+        pattern VK_API_VERSION_1_1, Ptr(), -- | ===== @VK_DEFINE_HANDLE@+                                           -- Dispatchable handles are represented as `Foreign.Ptr`+                                           --+                                           -- >+                                           -- > #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;+                                           VkPtr(..), -- | ===== @VK_DEFINE_NON_DISPATCHABLE_HANDLE@+                                                      -- Non-dispatchable handles are represented as `VkPtr`+                                                      --+                                                      -- >+                                                      -- > #if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)+                                                      -- > #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)+                                                      -- >         #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;+                                                      -- > #else+                                                      -- >         #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;+                                                      -- > #endif+                                                      -- > #endif+                                                      -- >+                                                      VK_HEADER_VERSION,+        pattern VK_HEADER_VERSION, _VK_MAKE_VERSION, VulkanPtr(..),+        pattern VK_NULL_HANDLE, _VK_VERSION_MAJOR, _VK_VERSION_MINOR,+        _VK_VERSION_PATCH)        where import           Data.Bits               (Bits (..)) import           Graphics.Vulkan.Marshal +-- | > struct AHardwareBuffer;+data AHardwareBuffer++-- | > struct ANativeWindow;+data ANativeWindow+ -- | > // Vulkan 1.0 version number --   > #define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)// Patch version should always be set to 0 pattern VK_API_VERSION_1_0 :: (Num a, Eq a) => a@@ -39,13 +48,21 @@  type VK_API_VERSION_1_0 = 4194304 +-- | > // Vulkan 1.1 version number+--   > #define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)// Patch version should always be set to 0+pattern VK_API_VERSION_1_1 :: (Num a, Eq a) => a++pattern VK_API_VERSION_1_1 = 4198400++type VK_API_VERSION_1_1 = 4198400+ -- | > // Version of this file---   > #define VK_HEADER_VERSION 69+--   > #define VK_HEADER_VERSION 71 pattern VK_HEADER_VERSION :: (Num a, Eq a) => a -pattern VK_HEADER_VERSION = 69+pattern VK_HEADER_VERSION = 71 -type VK_HEADER_VERSION = 69+type VK_HEADER_VERSION = 71  -- | > #define VK_MAKE_VERSION(major, minor, patch) \ --   >     (((major) << 22) | ((minor) << 12) | (patch))
src-gen/Graphics/Vulkan/Types/Enum/VkAttachmentLoadOp.hs view
@@ -20,7 +20,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkAttachmentLoadOp.html VkAttachmentLoadOp registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkAttachmentLoadOp.html VkAttachmentLoadOp registry at www.khronos.org> newtype VkAttachmentLoadOp = VkAttachmentLoadOp Int32                                deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkAttachmentStoreOp.hs view
@@ -20,7 +20,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkAttachmentStoreOp.html VkAttachmentStoreOp registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkAttachmentStoreOp.html VkAttachmentStoreOp registry at www.khronos.org> newtype VkAttachmentStoreOp = VkAttachmentStoreOp Int32                                 deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkBlendFactor.hs view
@@ -31,7 +31,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkBlendFactor.html VkBlendFactor registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkBlendFactor.html VkBlendFactor registry at www.khronos.org> newtype VkBlendFactor = VkBlendFactor Int32                           deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkBlendOp.hs view
@@ -20,7 +20,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkBlendOp.html VkBlendOp registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkBlendOp.html VkBlendOp registry at www.khronos.org> newtype VkBlendOp = VkBlendOp Int32                       deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkBlendOverlapEXT.hs view
@@ -21,7 +21,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkBlendOverlapEXT.html VkBlendOverlapEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkBlendOverlapEXT.html VkBlendOverlapEXT registry at www.khronos.org> newtype VkBlendOverlapEXT = VkBlendOverlapEXT Int32                               deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkBorderColor.hs view
@@ -25,7 +25,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkBorderColor.html VkBorderColor registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkBorderColor.html VkBorderColor registry at www.khronos.org> newtype VkBorderColor = VkBorderColor Int32                           deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
+ src-gen/Graphics/Vulkan/Types/Enum/VkChromaLocation.hs view
@@ -0,0 +1,54 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkChromaLocation+       (VkChromaLocation(VkChromaLocation,+                         VK_CHROMA_LOCATION_COSITED_EVEN, VK_CHROMA_LOCATION_MIDPOINT))+       where+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           GHC.Read                        (choose, expectP)+import           Graphics.Vulkan.Marshal         (Int32)+import           Text.ParserCombinators.ReadPrec (prec, step, (+++))+import           Text.Read                       (Read (..), parens)+import           Text.Read.Lex                   (Lexeme (..))++-- | type = @enum@+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkChromaLocation.html VkChromaLocation registry at www.khronos.org>+newtype VkChromaLocation = VkChromaLocation Int32+                             deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkChromaLocation where+        showsPrec _ VK_CHROMA_LOCATION_COSITED_EVEN+          = showString "VK_CHROMA_LOCATION_COSITED_EVEN"+        showsPrec _ VK_CHROMA_LOCATION_MIDPOINT+          = showString "VK_CHROMA_LOCATION_MIDPOINT"+        showsPrec p (VkChromaLocation x)+          = showParen (p >= 11)+              (showString "VkChromaLocation " . showsPrec 11 x)++instance Read VkChromaLocation where+        readPrec+          = parens+              (choose+                 [("VK_CHROMA_LOCATION_COSITED_EVEN",+                   pure VK_CHROMA_LOCATION_COSITED_EVEN),+                  ("VK_CHROMA_LOCATION_MIDPOINT", pure VK_CHROMA_LOCATION_MIDPOINT)]+                 ++++                 prec 10+                   (expectP (Ident "VkChromaLocation") >>+                      (VkChromaLocation <$> step readPrec)))++pattern VK_CHROMA_LOCATION_COSITED_EVEN :: VkChromaLocation++pattern VK_CHROMA_LOCATION_COSITED_EVEN = VkChromaLocation 0++pattern VK_CHROMA_LOCATION_MIDPOINT :: VkChromaLocation++pattern VK_CHROMA_LOCATION_MIDPOINT = VkChromaLocation 1
src-gen/Graphics/Vulkan/Types/Enum/VkChromaLocationKHR.hs view
@@ -1,56 +1,25 @@-{-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-} {-# LANGUAGE DeriveDataTypeable         #-} {-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-} module Graphics.Vulkan.Types.Enum.VkChromaLocationKHR-       (VkChromaLocationKHR(VkChromaLocationKHR,-                            VK_CHROMA_LOCATION_COSITED_EVEN_KHR,-                            VK_CHROMA_LOCATION_MIDPOINT_KHR))-       where+       (VkChromaLocationKHR(..)) where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Coerce                     (coerce) import           Data.Data                       (Data) import           Foreign.Storable                (Storable) import           GHC.Generics                    (Generic)-import           GHC.Read                        (choose, expectP)-import           Graphics.Vulkan.Marshal         (Int32)-import           Text.ParserCombinators.ReadPrec (prec, step, (+++))-import           Text.Read                       (Read (..), parens)-import           Text.Read.Lex                   (Lexeme (..))+import           Graphics.Vulkan.Types.BaseTypes (VkFlags) --- | type = @enum@------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkChromaLocationKHR.html VkChromaLocationKHR registry at www.khronos.org>-newtype VkChromaLocationKHR = VkChromaLocationKHR Int32-                                deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+newtype VkChromaLocationKHR = VkChromaLocationKHR VkFlags+                                deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,+                                          Storable, Real, Data, Generic)  instance Show VkChromaLocationKHR where-        showsPrec _ VK_CHROMA_LOCATION_COSITED_EVEN_KHR-          = showString "VK_CHROMA_LOCATION_COSITED_EVEN_KHR"-        showsPrec _ VK_CHROMA_LOCATION_MIDPOINT_KHR-          = showString "VK_CHROMA_LOCATION_MIDPOINT_KHR"-        showsPrec p (VkChromaLocationKHR x)-          = showParen (p >= 11)-              (showString "VkChromaLocationKHR " . showsPrec 11 x)+        {-# INLINE show #-}+        show (VkChromaLocationKHR x) = show x  instance Read VkChromaLocationKHR where-        readPrec-          = parens-              (choose-                 [("VK_CHROMA_LOCATION_COSITED_EVEN_KHR",-                   pure VK_CHROMA_LOCATION_COSITED_EVEN_KHR),-                  ("VK_CHROMA_LOCATION_MIDPOINT_KHR",-                   pure VK_CHROMA_LOCATION_MIDPOINT_KHR)]-                 +++-                 prec 10-                   (expectP (Ident "VkChromaLocationKHR") >>-                      (VkChromaLocationKHR <$> step readPrec)))--pattern VK_CHROMA_LOCATION_COSITED_EVEN_KHR :: VkChromaLocationKHR--pattern VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VkChromaLocationKHR 0--pattern VK_CHROMA_LOCATION_MIDPOINT_KHR :: VkChromaLocationKHR--pattern VK_CHROMA_LOCATION_MIDPOINT_KHR = VkChromaLocationKHR 1+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
src-gen/Graphics/Vulkan/Types/Enum/VkColorSpaceKHR.hs view
@@ -20,7 +20,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkColorSpaceKHR.html VkColorSpaceKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkColorSpaceKHR.html VkColorSpaceKHR registry at www.khronos.org> newtype VkColorSpaceKHR = VkColorSpaceKHR Int32                             deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkCommandBufferLevel.hs view
@@ -21,7 +21,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkCommandBufferLevel.html VkCommandBufferLevel registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkCommandBufferLevel.html VkCommandBufferLevel registry at www.khronos.org> newtype VkCommandBufferLevel = VkCommandBufferLevel Int32                                  deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkCompareOp.hs view
@@ -22,7 +22,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkCompareOp.html VkCompareOp registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkCompareOp.html VkCompareOp registry at www.khronos.org> newtype VkCompareOp = VkCompareOp Int32                         deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkComponentSwizzle.hs view
@@ -23,7 +23,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkComponentSwizzle.html VkComponentSwizzle registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkComponentSwizzle.html VkComponentSwizzle registry at www.khronos.org> newtype VkComponentSwizzle = VkComponentSwizzle Int32                                deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkConservativeRasterizationModeEXT.hs view
@@ -22,7 +22,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkConservativeRasterizationModeEXT.html VkConservativeRasterizationModeEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkConservativeRasterizationModeEXT.html VkConservativeRasterizationModeEXT registry at www.khronos.org> newtype VkConservativeRasterizationModeEXT = VkConservativeRasterizationModeEXT Int32                                                deriving (Eq, Ord, Num, Bounded, Storable, Enum,                                                          Data, Generic)
src-gen/Graphics/Vulkan/Types/Enum/VkCoverageModulationModeNV.hs view
@@ -23,7 +23,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkCoverageModulationModeNV.html VkCoverageModulationModeNV registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkCoverageModulationModeNV.html VkCoverageModulationModeNV registry at www.khronos.org> newtype VkCoverageModulationModeNV = VkCoverageModulationModeNV Int32                                        deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,                                                  Generic)
src-gen/Graphics/Vulkan/Types/Enum/VkDebugReportObjectTypeEXT.hs view
@@ -53,7 +53,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDebugReportObjectTypeEXT.html VkDebugReportObjectTypeEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDebugReportObjectTypeEXT.html VkDebugReportObjectTypeEXT registry at www.khronos.org> newtype VkDebugReportObjectTypeEXT = VkDebugReportObjectTypeEXT Int32                                        deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,                                                  Generic)
+ src-gen/Graphics/Vulkan/Types/Enum/VkDebugUtilsMessageSeverityFlagsEXT.hs view
@@ -0,0 +1,135 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE FlexibleInstances          #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures             #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE StandaloneDeriving         #-}+{-# LANGUAGE Strict                     #-}+{-# LANGUAGE TypeSynonymInstances       #-}+module Graphics.Vulkan.Types.Enum.VkDebugUtilsMessageSeverityFlagsEXT+       (VkDebugUtilsMessageSeverityBitmaskEXT(VkDebugUtilsMessageSeverityBitmaskEXT,+                                              VkDebugUtilsMessageSeverityFlagsEXT,+                                              VkDebugUtilsMessageSeverityFlagBitsEXT,+                                              VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT,+                                              VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT,+                                              VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT,+                                              VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT),+        VkDebugUtilsMessageSeverityFlagsEXT,+        VkDebugUtilsMessageSeverityFlagBitsEXT)+       where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           GHC.Read                        (choose, expectP)+import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import           Text.ParserCombinators.ReadPrec (prec, step, (+++))+import           Text.Read                       (Read (..), parens)+import           Text.Read.Lex                   (Lexeme (..))++newtype VkDebugUtilsMessageSeverityBitmaskEXT (a ::+                                                 FlagType) = VkDebugUtilsMessageSeverityBitmaskEXT VkFlags+                                                               deriving (Eq, Ord, Storable, Data,+                                                                         Generic)++type VkDebugUtilsMessageSeverityFlagsEXT =+     VkDebugUtilsMessageSeverityBitmaskEXT FlagMask++type VkDebugUtilsMessageSeverityFlagBitsEXT =+     VkDebugUtilsMessageSeverityBitmaskEXT FlagBit++pattern VkDebugUtilsMessageSeverityFlagBitsEXT ::+        VkFlags -> VkDebugUtilsMessageSeverityBitmaskEXT FlagBit++pattern VkDebugUtilsMessageSeverityFlagBitsEXT n =+        VkDebugUtilsMessageSeverityBitmaskEXT n++pattern VkDebugUtilsMessageSeverityFlagsEXT ::+        VkFlags -> VkDebugUtilsMessageSeverityBitmaskEXT FlagMask++pattern VkDebugUtilsMessageSeverityFlagsEXT n =+        VkDebugUtilsMessageSeverityBitmaskEXT n++deriving instance+         Bits (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)++deriving instance+         FiniteBits (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)++deriving instance+         Integral (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)++deriving instance+         Num (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)++deriving instance+         Bounded (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)++deriving instance+         Enum (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)++deriving instance+         Real (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)++instance Show (VkDebugUtilsMessageSeverityBitmaskEXT a) where+        showsPrec _ VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT+          = showString "VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT"+        showsPrec _ VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT+          = showString "VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT"+        showsPrec _ VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT+          = showString "VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT"+        showsPrec _ VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT+          = showString "VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT"+        showsPrec p (VkDebugUtilsMessageSeverityBitmaskEXT x)+          = showParen (p >= 11)+              (showString "VkDebugUtilsMessageSeverityBitmaskEXT " .+                 showsPrec 11 x)++instance Read (VkDebugUtilsMessageSeverityBitmaskEXT a) where+        readPrec+          = parens+              (choose+                 [("VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT",+                   pure VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT),+                  ("VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT",+                   pure VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT),+                  ("VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT",+                   pure VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT),+                  ("VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT",+                   pure VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT)]+                 ++++                 prec 10+                   (expectP (Ident "VkDebugUtilsMessageSeverityBitmaskEXT") >>+                      (VkDebugUtilsMessageSeverityBitmaskEXT <$> step readPrec)))++-- | bitpos = @0@+pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT ::+        VkDebugUtilsMessageSeverityBitmaskEXT a++pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT =+        VkDebugUtilsMessageSeverityBitmaskEXT 1++-- | bitpos = @4@+pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT ::+        VkDebugUtilsMessageSeverityBitmaskEXT a++pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT =+        VkDebugUtilsMessageSeverityBitmaskEXT 16++-- | bitpos = @8@+pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT ::+        VkDebugUtilsMessageSeverityBitmaskEXT a++pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT =+        VkDebugUtilsMessageSeverityBitmaskEXT 256++-- | bitpos = @12@+pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT ::+        VkDebugUtilsMessageSeverityBitmaskEXT a++pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT =+        VkDebugUtilsMessageSeverityBitmaskEXT 4096
+ src-gen/Graphics/Vulkan/Types/Enum/VkDebugUtilsMessageTypeFlagsEXT.hs view
@@ -0,0 +1,118 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE FlexibleInstances          #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures             #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE StandaloneDeriving         #-}+{-# LANGUAGE Strict                     #-}+{-# LANGUAGE TypeSynonymInstances       #-}+module Graphics.Vulkan.Types.Enum.VkDebugUtilsMessageTypeFlagsEXT+       (VkDebugUtilsMessageTypeBitmaskEXT(VkDebugUtilsMessageTypeBitmaskEXT,+                                          VkDebugUtilsMessageTypeFlagsEXT,+                                          VkDebugUtilsMessageTypeFlagBitsEXT,+                                          VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT,+                                          VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT,+                                          VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT),+        VkDebugUtilsMessageTypeFlagsEXT,+        VkDebugUtilsMessageTypeFlagBitsEXT)+       where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           GHC.Read                        (choose, expectP)+import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import           Text.ParserCombinators.ReadPrec (prec, step, (+++))+import           Text.Read                       (Read (..), parens)+import           Text.Read.Lex                   (Lexeme (..))++newtype VkDebugUtilsMessageTypeBitmaskEXT (a ::+                                             FlagType) = VkDebugUtilsMessageTypeBitmaskEXT VkFlags+                                                           deriving (Eq, Ord, Storable, Data,+                                                                     Generic)++type VkDebugUtilsMessageTypeFlagsEXT =+     VkDebugUtilsMessageTypeBitmaskEXT FlagMask++type VkDebugUtilsMessageTypeFlagBitsEXT =+     VkDebugUtilsMessageTypeBitmaskEXT FlagBit++pattern VkDebugUtilsMessageTypeFlagBitsEXT ::+        VkFlags -> VkDebugUtilsMessageTypeBitmaskEXT FlagBit++pattern VkDebugUtilsMessageTypeFlagBitsEXT n =+        VkDebugUtilsMessageTypeBitmaskEXT n++pattern VkDebugUtilsMessageTypeFlagsEXT ::+        VkFlags -> VkDebugUtilsMessageTypeBitmaskEXT FlagMask++pattern VkDebugUtilsMessageTypeFlagsEXT n =+        VkDebugUtilsMessageTypeBitmaskEXT n++deriving instance Bits (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)++deriving instance+         FiniteBits (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)++deriving instance+         Integral (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)++deriving instance Num (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)++deriving instance+         Bounded (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)++deriving instance Enum (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)++deriving instance Real (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)++instance Show (VkDebugUtilsMessageTypeBitmaskEXT a) where+        showsPrec _ VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT+          = showString "VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT"+        showsPrec _ VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT+          = showString "VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT"+        showsPrec _ VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT+          = showString "VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT"+        showsPrec p (VkDebugUtilsMessageTypeBitmaskEXT x)+          = showParen (p >= 11)+              (showString "VkDebugUtilsMessageTypeBitmaskEXT " . showsPrec 11 x)++instance Read (VkDebugUtilsMessageTypeBitmaskEXT a) where+        readPrec+          = parens+              (choose+                 [("VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT",+                   pure VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT),+                  ("VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT",+                   pure VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT),+                  ("VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT",+                   pure VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT)]+                 ++++                 prec 10+                   (expectP (Ident "VkDebugUtilsMessageTypeBitmaskEXT") >>+                      (VkDebugUtilsMessageTypeBitmaskEXT <$> step readPrec)))++-- | bitpos = @0@+pattern VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT ::+        VkDebugUtilsMessageTypeBitmaskEXT a++pattern VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT =+        VkDebugUtilsMessageTypeBitmaskEXT 1++-- | bitpos = @1@+pattern VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT ::+        VkDebugUtilsMessageTypeBitmaskEXT a++pattern VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT =+        VkDebugUtilsMessageTypeBitmaskEXT 2++-- | bitpos = @2@+pattern VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT ::+        VkDebugUtilsMessageTypeBitmaskEXT a++pattern VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT =+        VkDebugUtilsMessageTypeBitmaskEXT 4
src-gen/Graphics/Vulkan/Types/Enum/VkDescriptorType.hs view
@@ -28,7 +28,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDescriptorType.html VkDescriptorType registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDescriptorType.html VkDescriptorType registry at www.khronos.org> newtype VkDescriptorType = VkDescriptorType Int32                              deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
+ src-gen/Graphics/Vulkan/Types/Enum/VkDescriptorUpdateTemplateType.hs view
@@ -0,0 +1,51 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkDescriptorUpdateTemplateType+       (VkDescriptorUpdateTemplateType(VkDescriptorUpdateTemplateType,+                                       VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET))+       where+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           GHC.Read                        (choose, expectP)+import           Graphics.Vulkan.Marshal         (Int32)+import           Text.ParserCombinators.ReadPrec (prec, step, (+++))+import           Text.Read                       (Read (..), parens)+import           Text.Read.Lex                   (Lexeme (..))++-- | type = @enum@+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDescriptorUpdateTemplateType.html VkDescriptorUpdateTemplateType registry at www.khronos.org>+newtype VkDescriptorUpdateTemplateType = VkDescriptorUpdateTemplateType Int32+                                           deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,+                                                     Generic)++instance Show VkDescriptorUpdateTemplateType where+        showsPrec _ VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET+          = showString "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET"+        showsPrec p (VkDescriptorUpdateTemplateType x)+          = showParen (p >= 11)+              (showString "VkDescriptorUpdateTemplateType " . showsPrec 11 x)++instance Read VkDescriptorUpdateTemplateType where+        readPrec+          = parens+              (choose+                 [("VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET",+                   pure VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET)]+                 ++++                 prec 10+                   (expectP (Ident "VkDescriptorUpdateTemplateType") >>+                      (VkDescriptorUpdateTemplateType <$> step readPrec)))++-- | Create descriptor update template for descriptor set updates+pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET ::+        VkDescriptorUpdateTemplateType++pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET =+        VkDescriptorUpdateTemplateType 0
src-gen/Graphics/Vulkan/Types/Enum/VkDescriptorUpdateTemplateTypeKHR.hs view
@@ -1,65 +1,25 @@-{-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-} {-# LANGUAGE DeriveDataTypeable         #-} {-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-} module Graphics.Vulkan.Types.Enum.VkDescriptorUpdateTemplateTypeKHR-       (VkDescriptorUpdateTemplateTypeKHR(VkDescriptorUpdateTemplateTypeKHR,-                                          VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR,-                                          VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR))-       where+       (VkDescriptorUpdateTemplateTypeKHR(..)) where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Coerce                     (coerce) import           Data.Data                       (Data) import           Foreign.Storable                (Storable) import           GHC.Generics                    (Generic)-import           GHC.Read                        (choose, expectP)-import           Graphics.Vulkan.Marshal         (Int32)-import           Text.ParserCombinators.ReadPrec (prec, step, (+++))-import           Text.Read                       (Read (..), parens)-import           Text.Read.Lex                   (Lexeme (..))+import           Graphics.Vulkan.Types.BaseTypes (VkFlags) --- | type = @enum@------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDescriptorUpdateTemplateTypeKHR.html VkDescriptorUpdateTemplateTypeKHR registry at www.khronos.org>-newtype VkDescriptorUpdateTemplateTypeKHR = VkDescriptorUpdateTemplateTypeKHR Int32-                                              deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,-                                                        Generic)+newtype VkDescriptorUpdateTemplateTypeKHR = VkDescriptorUpdateTemplateTypeKHR VkFlags+                                              deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                        FiniteBits, Storable, Real, Data, Generic)  instance Show VkDescriptorUpdateTemplateTypeKHR where-        showsPrec _ VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR-          = showString-              "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR"-        showsPrec _ VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR-          = showString-              "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR"-        showsPrec p (VkDescriptorUpdateTemplateTypeKHR x)-          = showParen (p >= 11)-              (showString "VkDescriptorUpdateTemplateTypeKHR " . showsPrec 11 x)+        {-# INLINE show #-}+        show (VkDescriptorUpdateTemplateTypeKHR x) = show x  instance Read VkDescriptorUpdateTemplateTypeKHR where-        readPrec-          = parens-              (choose-                 [("VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR",-                   pure VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR),-                  ("VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR",-                   pure VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR)]-                 +++-                 prec 10-                   (expectP (Ident "VkDescriptorUpdateTemplateTypeKHR") >>-                      (VkDescriptorUpdateTemplateTypeKHR <$> step readPrec)))---- | Create descriptor update template for descriptor set updates-pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR ::-        VkDescriptorUpdateTemplateTypeKHR--pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR =-        VkDescriptorUpdateTemplateTypeKHR 0---- | Create descriptor update template for pushed descriptor updates-pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR ::-        VkDescriptorUpdateTemplateTypeKHR--pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR =-        VkDescriptorUpdateTemplateTypeKHR 1+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
src-gen/Graphics/Vulkan/Types/Enum/VkDeviceEventTypeEXT.hs view
@@ -20,7 +20,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDeviceEventTypeEXT.html VkDeviceEventTypeEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDeviceEventTypeEXT.html VkDeviceEventTypeEXT registry at www.khronos.org> newtype VkDeviceEventTypeEXT = VkDeviceEventTypeEXT Int32                                  deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
+ src-gen/Graphics/Vulkan/Types/Enum/VkDeviceGroupPresentModeFlagsKHR.hs view
@@ -0,0 +1,142 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE FlexibleInstances          #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures             #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE StandaloneDeriving         #-}+{-# LANGUAGE Strict                     #-}+{-# LANGUAGE TypeSynonymInstances       #-}+module Graphics.Vulkan.Types.Enum.VkDeviceGroupPresentModeFlagsKHR+       (VkDeviceGroupPresentModeBitmaskKHR(VkDeviceGroupPresentModeBitmaskKHR,+                                           VkDeviceGroupPresentModeFlagsKHR,+                                           VkDeviceGroupPresentModeFlagBitsKHR,+                                           VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR,+                                           VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR,+                                           VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR,+                                           VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR),+        VkDeviceGroupPresentModeFlagsKHR,+        VkDeviceGroupPresentModeFlagBitsKHR)+       where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           GHC.Read                        (choose, expectP)+import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import           Text.ParserCombinators.ReadPrec (prec, step, (+++))+import           Text.Read                       (Read (..), parens)+import           Text.Read.Lex                   (Lexeme (..))++newtype VkDeviceGroupPresentModeBitmaskKHR (a ::+                                              FlagType) = VkDeviceGroupPresentModeBitmaskKHR VkFlags+                                                            deriving (Eq, Ord, Storable, Data,+                                                                      Generic)++type VkDeviceGroupPresentModeFlagsKHR =+     VkDeviceGroupPresentModeBitmaskKHR FlagMask++type VkDeviceGroupPresentModeFlagBitsKHR =+     VkDeviceGroupPresentModeBitmaskKHR FlagBit++pattern VkDeviceGroupPresentModeFlagBitsKHR ::+        VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit++pattern VkDeviceGroupPresentModeFlagBitsKHR n =+        VkDeviceGroupPresentModeBitmaskKHR n++pattern VkDeviceGroupPresentModeFlagsKHR ::+        VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask++pattern VkDeviceGroupPresentModeFlagsKHR n =+        VkDeviceGroupPresentModeBitmaskKHR n++deriving instance+         Bits (VkDeviceGroupPresentModeBitmaskKHR FlagMask)++deriving instance+         FiniteBits (VkDeviceGroupPresentModeBitmaskKHR FlagMask)++deriving instance+         Integral (VkDeviceGroupPresentModeBitmaskKHR FlagMask)++deriving instance Num (VkDeviceGroupPresentModeBitmaskKHR FlagMask)++deriving instance+         Bounded (VkDeviceGroupPresentModeBitmaskKHR FlagMask)++deriving instance+         Enum (VkDeviceGroupPresentModeBitmaskKHR FlagMask)++deriving instance+         Real (VkDeviceGroupPresentModeBitmaskKHR FlagMask)++instance Show (VkDeviceGroupPresentModeBitmaskKHR a) where+        showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR+          = showString "VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR"+        showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR+          = showString "VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR"+        showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR+          = showString "VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR"+        showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR+          = showString+              "VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR"+        showsPrec p (VkDeviceGroupPresentModeBitmaskKHR x)+          = showParen (p >= 11)+              (showString "VkDeviceGroupPresentModeBitmaskKHR " . showsPrec 11 x)++instance Read (VkDeviceGroupPresentModeBitmaskKHR a) where+        readPrec+          = parens+              (choose+                 [("VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR",+                   pure VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR),+                  ("VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR",+                   pure VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR),+                  ("VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR",+                   pure VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR),+                  ("VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR",+                   pure VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR)]+                 ++++                 prec 10+                   (expectP (Ident "VkDeviceGroupPresentModeBitmaskKHR") >>+                      (VkDeviceGroupPresentModeBitmaskKHR <$> step readPrec)))++-- | Present from local memory+--+--   bitpos = @0@+pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR ::+        VkDeviceGroupPresentModeBitmaskKHR a++pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR =+        VkDeviceGroupPresentModeBitmaskKHR 1++-- | Present from remote memory+--+--   bitpos = @1@+pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR ::+        VkDeviceGroupPresentModeBitmaskKHR a++pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR =+        VkDeviceGroupPresentModeBitmaskKHR 2++-- | Present sum of local and/or remote memory+--+--   bitpos = @2@+pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR ::+        VkDeviceGroupPresentModeBitmaskKHR a++pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR =+        VkDeviceGroupPresentModeBitmaskKHR 4++-- | Each physical device presents from local memory+--+--   bitpos = @3@+pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR ::+        VkDeviceGroupPresentModeBitmaskKHR a++pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR =+        VkDeviceGroupPresentModeBitmaskKHR 8
− src-gen/Graphics/Vulkan/Types/Enum/VkDeviceGroupPresentModeFlagsKHX.hs
@@ -1,142 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-}-{-# LANGUAGE FlexibleInstances          #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures             #-}-{-# LANGUAGE PatternSynonyms            #-}-{-# LANGUAGE StandaloneDeriving         #-}-{-# LANGUAGE Strict                     #-}-{-# LANGUAGE TypeSynonymInstances       #-}-module Graphics.Vulkan.Types.Enum.VkDeviceGroupPresentModeFlagsKHX-       (VkDeviceGroupPresentModeBitmaskKHX(VkDeviceGroupPresentModeBitmaskKHX,-                                           VkDeviceGroupPresentModeFlagsKHX,-                                           VkDeviceGroupPresentModeFlagBitsKHX,-                                           VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHX,-                                           VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHX,-                                           VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHX,-                                           VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHX),-        VkDeviceGroupPresentModeFlagsKHX,-        VkDeviceGroupPresentModeFlagBitsKHX)-       where-import           Data.Bits                       (Bits, FiniteBits)-import           Data.Data                       (Data)-import           Foreign.Storable                (Storable)-import           GHC.Generics                    (Generic)-import           GHC.Read                        (choose, expectP)-import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)-import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import           Text.ParserCombinators.ReadPrec (prec, step, (+++))-import           Text.Read                       (Read (..), parens)-import           Text.Read.Lex                   (Lexeme (..))--newtype VkDeviceGroupPresentModeBitmaskKHX (a ::-                                              FlagType) = VkDeviceGroupPresentModeBitmaskKHX VkFlags-                                                            deriving (Eq, Ord, Storable, Data,-                                                                      Generic)--type VkDeviceGroupPresentModeFlagsKHX =-     VkDeviceGroupPresentModeBitmaskKHX FlagMask--type VkDeviceGroupPresentModeFlagBitsKHX =-     VkDeviceGroupPresentModeBitmaskKHX FlagBit--pattern VkDeviceGroupPresentModeFlagBitsKHX ::-        VkFlags -> VkDeviceGroupPresentModeBitmaskKHX FlagBit--pattern VkDeviceGroupPresentModeFlagBitsKHX n =-        VkDeviceGroupPresentModeBitmaskKHX n--pattern VkDeviceGroupPresentModeFlagsKHX ::-        VkFlags -> VkDeviceGroupPresentModeBitmaskKHX FlagMask--pattern VkDeviceGroupPresentModeFlagsKHX n =-        VkDeviceGroupPresentModeBitmaskKHX n--deriving instance-         Bits (VkDeviceGroupPresentModeBitmaskKHX FlagMask)--deriving instance-         FiniteBits (VkDeviceGroupPresentModeBitmaskKHX FlagMask)--deriving instance-         Integral (VkDeviceGroupPresentModeBitmaskKHX FlagMask)--deriving instance Num (VkDeviceGroupPresentModeBitmaskKHX FlagMask)--deriving instance-         Bounded (VkDeviceGroupPresentModeBitmaskKHX FlagMask)--deriving instance-         Enum (VkDeviceGroupPresentModeBitmaskKHX FlagMask)--deriving instance-         Real (VkDeviceGroupPresentModeBitmaskKHX FlagMask)--instance Show (VkDeviceGroupPresentModeBitmaskKHX a) where-        showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHX-          = showString "VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHX"-        showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHX-          = showString "VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHX"-        showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHX-          = showString "VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHX"-        showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHX-          = showString-              "VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHX"-        showsPrec p (VkDeviceGroupPresentModeBitmaskKHX x)-          = showParen (p >= 11)-              (showString "VkDeviceGroupPresentModeBitmaskKHX " . showsPrec 11 x)--instance Read (VkDeviceGroupPresentModeBitmaskKHX a) where-        readPrec-          = parens-              (choose-                 [("VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHX",-                   pure VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHX),-                  ("VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHX",-                   pure VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHX),-                  ("VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHX",-                   pure VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHX),-                  ("VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHX",-                   pure VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHX)]-                 +++-                 prec 10-                   (expectP (Ident "VkDeviceGroupPresentModeBitmaskKHX") >>-                      (VkDeviceGroupPresentModeBitmaskKHX <$> step readPrec)))---- | Present from local memory------   bitpos = @0@-pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHX ::-        VkDeviceGroupPresentModeBitmaskKHX a--pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHX =-        VkDeviceGroupPresentModeBitmaskKHX 1---- | Present from remote memory------   bitpos = @1@-pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHX ::-        VkDeviceGroupPresentModeBitmaskKHX a--pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHX =-        VkDeviceGroupPresentModeBitmaskKHX 2---- | Present sum of local and/or remote memory------   bitpos = @2@-pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHX ::-        VkDeviceGroupPresentModeBitmaskKHX a--pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHX =-        VkDeviceGroupPresentModeBitmaskKHX 4---- | Each physical device presents from local memory------   bitpos = @3@-pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHX ::-        VkDeviceGroupPresentModeBitmaskKHX a--pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHX =-        VkDeviceGroupPresentModeBitmaskKHX 8
− src-gen/Graphics/Vulkan/Types/Enum/VkDeviceQueueCreateFlagBits.hs
@@ -1,25 +0,0 @@-{-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict                     #-}-module Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlagBits-       (VkDeviceQueueCreateFlagBits(..)) where-import           Data.Bits                       (Bits, FiniteBits)-import           Data.Coerce                     (coerce)-import           Data.Data                       (Data)-import           Foreign.Storable                (Storable)-import           GHC.Generics                    (Generic)-import           Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateFlagBits VkFlags-                                        deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,-                                                  FiniteBits, Storable, Real, Data, Generic)--instance Show VkDeviceQueueCreateFlagBits where-        {-# INLINE show #-}-        show (VkDeviceQueueCreateFlagBits x) = show x--instance Read VkDeviceQueueCreateFlagBits where-        {-# INLINE readsPrec #-}-        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkDeviceQueueCreateFlags.hs view
@@ -0,0 +1,73 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE FlexibleInstances          #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures             #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE StandaloneDeriving         #-}+{-# LANGUAGE Strict                     #-}+{-# LANGUAGE TypeSynonymInstances       #-}+module Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags+       (VkDeviceQueueCreateBitmask(VkDeviceQueueCreateBitmask,+                                   VkDeviceQueueCreateFlags, VkDeviceQueueCreateFlagBits),+        VkDeviceQueueCreateFlags, VkDeviceQueueCreateFlagBits)+       where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           GHC.Read                        (choose, expectP)+import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import           Text.ParserCombinators.ReadPrec (prec, step, (+++))+import           Text.Read                       (Read (..), parens)+import           Text.Read.Lex                   (Lexeme (..))++newtype VkDeviceQueueCreateBitmask (a ::+                                      FlagType) = VkDeviceQueueCreateBitmask VkFlags+                                                    deriving (Eq, Ord, Storable, Data, Generic)++type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask++type VkDeviceQueueCreateFlagBits =+     VkDeviceQueueCreateBitmask FlagBit++pattern VkDeviceQueueCreateFlagBits ::+        VkFlags -> VkDeviceQueueCreateBitmask FlagBit++pattern VkDeviceQueueCreateFlagBits n =+        VkDeviceQueueCreateBitmask n++pattern VkDeviceQueueCreateFlags ::+        VkFlags -> VkDeviceQueueCreateBitmask FlagMask++pattern VkDeviceQueueCreateFlags n = VkDeviceQueueCreateBitmask n++deriving instance Bits (VkDeviceQueueCreateBitmask FlagMask)++deriving instance FiniteBits (VkDeviceQueueCreateBitmask FlagMask)++deriving instance Integral (VkDeviceQueueCreateBitmask FlagMask)++deriving instance Num (VkDeviceQueueCreateBitmask FlagMask)++deriving instance Bounded (VkDeviceQueueCreateBitmask FlagMask)++deriving instance Enum (VkDeviceQueueCreateBitmask FlagMask)++deriving instance Real (VkDeviceQueueCreateBitmask FlagMask)++instance Show (VkDeviceQueueCreateBitmask a) where+        showsPrec p (VkDeviceQueueCreateBitmask x)+          = showParen (p >= 11)+              (showString "VkDeviceQueueCreateBitmask " . showsPrec 11 x)++instance Read (VkDeviceQueueCreateBitmask a) where+        readPrec+          = parens+              (choose [] ++++                 prec 10+                   (expectP (Ident "VkDeviceQueueCreateBitmask") >>+                      (VkDeviceQueueCreateBitmask <$> step readPrec)))
src-gen/Graphics/Vulkan/Types/Enum/VkDiscardRectangleModeEXT.hs view
@@ -21,7 +21,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDiscardRectangleModeEXT.html VkDiscardRectangleModeEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDiscardRectangleModeEXT.html VkDiscardRectangleModeEXT registry at www.khronos.org> newtype VkDiscardRectangleModeEXT = VkDiscardRectangleModeEXT Int32                                       deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,                                                 Generic)
src-gen/Graphics/Vulkan/Types/Enum/VkDisplayEventTypeEXT.hs view
@@ -20,7 +20,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDisplayEventTypeEXT.html VkDisplayEventTypeEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDisplayEventTypeEXT.html VkDisplayEventTypeEXT registry at www.khronos.org> newtype VkDisplayEventTypeEXT = VkDisplayEventTypeEXT Int32                                   deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkDisplayPowerStateEXT.hs view
@@ -21,7 +21,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDisplayPowerStateEXT.html VkDisplayPowerStateEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDisplayPowerStateEXT.html VkDisplayPowerStateEXT registry at www.khronos.org> newtype VkDisplayPowerStateEXT = VkDisplayPowerStateEXT Int32                                    deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkDynamicState.hs view
@@ -25,7 +25,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDynamicState.html VkDynamicState registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDynamicState.html VkDynamicState registry at www.khronos.org> newtype VkDynamicState = VkDynamicState Int32                            deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
+ src-gen/Graphics/Vulkan/Types/Enum/VkExternalFenceFeatureFlagBitsKHR.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkExternalFenceFeatureFlagBitsKHR+       (VkExternalFenceFeatureFlagBitsKHR(..)) where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Coerce                     (coerce)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags)++newtype VkExternalFenceFeatureFlagBitsKHR = VkExternalFenceFeatureFlagBitsKHR VkFlags+                                              deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                        FiniteBits, Storable, Real, Data, Generic)++instance Show VkExternalFenceFeatureFlagBitsKHR where+        {-# INLINE show #-}+        show (VkExternalFenceFeatureFlagBitsKHR x) = show x++instance Read VkExternalFenceFeatureFlagBitsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkExternalFenceFeatureFlags.hs view
@@ -0,0 +1,101 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE FlexibleInstances          #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures             #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE StandaloneDeriving         #-}+{-# LANGUAGE Strict                     #-}+{-# LANGUAGE TypeSynonymInstances       #-}+module Graphics.Vulkan.Types.Enum.VkExternalFenceFeatureFlags+       (VkExternalFenceFeatureBitmask(VkExternalFenceFeatureBitmask,+                                      VkExternalFenceFeatureFlags, VkExternalFenceFeatureFlagBits,+                                      VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,+                                      VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT),+        VkExternalFenceFeatureFlags, VkExternalFenceFeatureFlagBits)+       where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           GHC.Read                        (choose, expectP)+import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import           Text.ParserCombinators.ReadPrec (prec, step, (+++))+import           Text.Read                       (Read (..), parens)+import           Text.Read.Lex                   (Lexeme (..))++newtype VkExternalFenceFeatureBitmask (a ::+                                         FlagType) = VkExternalFenceFeatureBitmask VkFlags+                                                       deriving (Eq, Ord, Storable, Data, Generic)++type VkExternalFenceFeatureFlags =+     VkExternalFenceFeatureBitmask FlagMask++type VkExternalFenceFeatureFlagBits =+     VkExternalFenceFeatureBitmask FlagBit++pattern VkExternalFenceFeatureFlagBits ::+        VkFlags -> VkExternalFenceFeatureBitmask FlagBit++pattern VkExternalFenceFeatureFlagBits n =+        VkExternalFenceFeatureBitmask n++pattern VkExternalFenceFeatureFlags ::+        VkFlags -> VkExternalFenceFeatureBitmask FlagMask++pattern VkExternalFenceFeatureFlags n =+        VkExternalFenceFeatureBitmask n++deriving instance Bits (VkExternalFenceFeatureBitmask FlagMask)++deriving instance+         FiniteBits (VkExternalFenceFeatureBitmask FlagMask)++deriving instance Integral (VkExternalFenceFeatureBitmask FlagMask)++deriving instance Num (VkExternalFenceFeatureBitmask FlagMask)++deriving instance Bounded (VkExternalFenceFeatureBitmask FlagMask)++deriving instance Enum (VkExternalFenceFeatureBitmask FlagMask)++deriving instance Real (VkExternalFenceFeatureBitmask FlagMask)++instance Show (VkExternalFenceFeatureBitmask a) where+        showsPrec _ VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT+          = showString "VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT"+        showsPrec _ VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT+          = showString "VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT"+        showsPrec p (VkExternalFenceFeatureBitmask x)+          = showParen (p >= 11)+              (showString "VkExternalFenceFeatureBitmask " . showsPrec 11 x)++instance Read (VkExternalFenceFeatureBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT",+                   pure VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT),+                  ("VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT",+                   pure VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkExternalFenceFeatureBitmask") >>+                      (VkExternalFenceFeatureBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT ::+        VkExternalFenceFeatureBitmask a++pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT =+        VkExternalFenceFeatureBitmask 1++-- | bitpos = @1@+pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT ::+        VkExternalFenceFeatureBitmask a++pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT =+        VkExternalFenceFeatureBitmask 2
− src-gen/Graphics/Vulkan/Types/Enum/VkExternalFenceFeatureFlagsKHR.hs
@@ -1,105 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-}-{-# LANGUAGE FlexibleInstances          #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures             #-}-{-# LANGUAGE PatternSynonyms            #-}-{-# LANGUAGE StandaloneDeriving         #-}-{-# LANGUAGE Strict                     #-}-{-# LANGUAGE TypeSynonymInstances       #-}-module Graphics.Vulkan.Types.Enum.VkExternalFenceFeatureFlagsKHR-       (VkExternalFenceFeatureBitmaskKHR(VkExternalFenceFeatureBitmaskKHR,-                                         VkExternalFenceFeatureFlagsKHR,-                                         VkExternalFenceFeatureFlagBitsKHR,-                                         VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR,-                                         VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR),-        VkExternalFenceFeatureFlagsKHR, VkExternalFenceFeatureFlagBitsKHR)-       where-import           Data.Bits                       (Bits, FiniteBits)-import           Data.Data                       (Data)-import           Foreign.Storable                (Storable)-import           GHC.Generics                    (Generic)-import           GHC.Read                        (choose, expectP)-import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)-import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import           Text.ParserCombinators.ReadPrec (prec, step, (+++))-import           Text.Read                       (Read (..), parens)-import           Text.Read.Lex                   (Lexeme (..))--newtype VkExternalFenceFeatureBitmaskKHR (a ::-                                            FlagType) = VkExternalFenceFeatureBitmaskKHR VkFlags-                                                          deriving (Eq, Ord, Storable, Data,-                                                                    Generic)--type VkExternalFenceFeatureFlagsKHR =-     VkExternalFenceFeatureBitmaskKHR FlagMask--type VkExternalFenceFeatureFlagBitsKHR =-     VkExternalFenceFeatureBitmaskKHR FlagBit--pattern VkExternalFenceFeatureFlagBitsKHR ::-        VkFlags -> VkExternalFenceFeatureBitmaskKHR FlagBit--pattern VkExternalFenceFeatureFlagBitsKHR n =-        VkExternalFenceFeatureBitmaskKHR n--pattern VkExternalFenceFeatureFlagsKHR ::-        VkFlags -> VkExternalFenceFeatureBitmaskKHR FlagMask--pattern VkExternalFenceFeatureFlagsKHR n =-        VkExternalFenceFeatureBitmaskKHR n--deriving instance Bits (VkExternalFenceFeatureBitmaskKHR FlagMask)--deriving instance-         FiniteBits (VkExternalFenceFeatureBitmaskKHR FlagMask)--deriving instance-         Integral (VkExternalFenceFeatureBitmaskKHR FlagMask)--deriving instance Num (VkExternalFenceFeatureBitmaskKHR FlagMask)--deriving instance-         Bounded (VkExternalFenceFeatureBitmaskKHR FlagMask)--deriving instance Enum (VkExternalFenceFeatureBitmaskKHR FlagMask)--deriving instance Real (VkExternalFenceFeatureBitmaskKHR FlagMask)--instance Show (VkExternalFenceFeatureBitmaskKHR a) where-        showsPrec _ VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR-          = showString "VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR"-        showsPrec _ VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR-          = showString "VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR"-        showsPrec p (VkExternalFenceFeatureBitmaskKHR x)-          = showParen (p >= 11)-              (showString "VkExternalFenceFeatureBitmaskKHR " . showsPrec 11 x)--instance Read (VkExternalFenceFeatureBitmaskKHR a) where-        readPrec-          = parens-              (choose-                 [("VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR",-                   pure VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR),-                  ("VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR",-                   pure VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR)]-                 +++-                 prec 10-                   (expectP (Ident "VkExternalFenceFeatureBitmaskKHR") >>-                      (VkExternalFenceFeatureBitmaskKHR <$> step readPrec)))---- | bitpos = @0@-pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR ::-        VkExternalFenceFeatureBitmaskKHR a--pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR =-        VkExternalFenceFeatureBitmaskKHR 1---- | bitpos = @1@-pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR ::-        VkExternalFenceFeatureBitmaskKHR a--pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR =-        VkExternalFenceFeatureBitmaskKHR 2
+ src-gen/Graphics/Vulkan/Types/Enum/VkExternalFenceHandleTypeFlagBitsKHR.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlagBitsKHR+       (VkExternalFenceHandleTypeFlagBitsKHR(..)) where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Coerce                     (coerce)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags)++newtype VkExternalFenceHandleTypeFlagBitsKHR = VkExternalFenceHandleTypeFlagBitsKHR VkFlags+                                                 deriving (Eq, Ord, Num, Bounded, Enum, Integral,+                                                           Bits, FiniteBits, Storable, Real, Data,+                                                           Generic)++instance Show VkExternalFenceHandleTypeFlagBitsKHR where+        {-# INLINE show #-}+        show (VkExternalFenceHandleTypeFlagBitsKHR x) = show x++instance Read VkExternalFenceHandleTypeFlagBitsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkExternalFenceHandleTypeFlags.hs view
@@ -0,0 +1,129 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE FlexibleInstances          #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures             #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE StandaloneDeriving         #-}+{-# LANGUAGE Strict                     #-}+{-# LANGUAGE TypeSynonymInstances       #-}+module Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlags+       (VkExternalFenceHandleTypeBitmask(VkExternalFenceHandleTypeBitmask,+                                         VkExternalFenceHandleTypeFlags,+                                         VkExternalFenceHandleTypeFlagBits,+                                         VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,+                                         VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,+                                         VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,+                                         VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT),+        VkExternalFenceHandleTypeFlags, VkExternalFenceHandleTypeFlagBits)+       where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           GHC.Read                        (choose, expectP)+import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import           Text.ParserCombinators.ReadPrec (prec, step, (+++))+import           Text.Read                       (Read (..), parens)+import           Text.Read.Lex                   (Lexeme (..))++newtype VkExternalFenceHandleTypeBitmask (a ::+                                            FlagType) = VkExternalFenceHandleTypeBitmask VkFlags+                                                          deriving (Eq, Ord, Storable, Data,+                                                                    Generic)++type VkExternalFenceHandleTypeFlags =+     VkExternalFenceHandleTypeBitmask FlagMask++type VkExternalFenceHandleTypeFlagBits =+     VkExternalFenceHandleTypeBitmask FlagBit++pattern VkExternalFenceHandleTypeFlagBits ::+        VkFlags -> VkExternalFenceHandleTypeBitmask FlagBit++pattern VkExternalFenceHandleTypeFlagBits n =+        VkExternalFenceHandleTypeBitmask n++pattern VkExternalFenceHandleTypeFlags ::+        VkFlags -> VkExternalFenceHandleTypeBitmask FlagMask++pattern VkExternalFenceHandleTypeFlags n =+        VkExternalFenceHandleTypeBitmask n++deriving instance Bits (VkExternalFenceHandleTypeBitmask FlagMask)++deriving instance+         FiniteBits (VkExternalFenceHandleTypeBitmask FlagMask)++deriving instance+         Integral (VkExternalFenceHandleTypeBitmask FlagMask)++deriving instance Num (VkExternalFenceHandleTypeBitmask FlagMask)++deriving instance+         Bounded (VkExternalFenceHandleTypeBitmask FlagMask)++deriving instance Enum (VkExternalFenceHandleTypeBitmask FlagMask)++deriving instance Real (VkExternalFenceHandleTypeBitmask FlagMask)++instance Show (VkExternalFenceHandleTypeBitmask a) where+        showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT+          = showString "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT"+        showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT+          = showString "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT"+        showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT+          = showString "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"+        showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT+          = showString "VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT"+        showsPrec p (VkExternalFenceHandleTypeBitmask x)+          = showParen (p >= 11)+              (showString "VkExternalFenceHandleTypeBitmask " . showsPrec 11 x)++instance Read (VkExternalFenceHandleTypeBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT",+                   pure VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT),+                  ("VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT",+                   pure VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT),+                  ("VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT",+                   pure VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT),+                  ("VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT",+                   pure VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkExternalFenceHandleTypeBitmask") >>+                      (VkExternalFenceHandleTypeBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT ::+        VkExternalFenceHandleTypeBitmask a++pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT =+        VkExternalFenceHandleTypeBitmask 1++-- | bitpos = @1@+pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT ::+        VkExternalFenceHandleTypeBitmask a++pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT =+        VkExternalFenceHandleTypeBitmask 2++-- | bitpos = @2@+pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT ::+        VkExternalFenceHandleTypeBitmask a++pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT =+        VkExternalFenceHandleTypeBitmask 4++-- | bitpos = @3@+pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT ::+        VkExternalFenceHandleTypeBitmask a++pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT =+        VkExternalFenceHandleTypeBitmask 8
− src-gen/Graphics/Vulkan/Types/Enum/VkExternalFenceHandleTypeFlagsKHR.hs
@@ -1,136 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-}-{-# LANGUAGE FlexibleInstances          #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures             #-}-{-# LANGUAGE PatternSynonyms            #-}-{-# LANGUAGE StandaloneDeriving         #-}-{-# LANGUAGE Strict                     #-}-{-# LANGUAGE TypeSynonymInstances       #-}-module Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlagsKHR-       (VkExternalFenceHandleTypeBitmaskKHR(VkExternalFenceHandleTypeBitmaskKHR,-                                            VkExternalFenceHandleTypeFlagsKHR,-                                            VkExternalFenceHandleTypeFlagBitsKHR,-                                            VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR,-                                            VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR,-                                            VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR,-                                            VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR),-        VkExternalFenceHandleTypeFlagsKHR,-        VkExternalFenceHandleTypeFlagBitsKHR)-       where-import           Data.Bits                       (Bits, FiniteBits)-import           Data.Data                       (Data)-import           Foreign.Storable                (Storable)-import           GHC.Generics                    (Generic)-import           GHC.Read                        (choose, expectP)-import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)-import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import           Text.ParserCombinators.ReadPrec (prec, step, (+++))-import           Text.Read                       (Read (..), parens)-import           Text.Read.Lex                   (Lexeme (..))--newtype VkExternalFenceHandleTypeBitmaskKHR (a ::-                                               FlagType) = VkExternalFenceHandleTypeBitmaskKHR VkFlags-                                                             deriving (Eq, Ord, Storable, Data,-                                                                       Generic)--type VkExternalFenceHandleTypeFlagsKHR =-     VkExternalFenceHandleTypeBitmaskKHR FlagMask--type VkExternalFenceHandleTypeFlagBitsKHR =-     VkExternalFenceHandleTypeBitmaskKHR FlagBit--pattern VkExternalFenceHandleTypeFlagBitsKHR ::-        VkFlags -> VkExternalFenceHandleTypeBitmaskKHR FlagBit--pattern VkExternalFenceHandleTypeFlagBitsKHR n =-        VkExternalFenceHandleTypeBitmaskKHR n--pattern VkExternalFenceHandleTypeFlagsKHR ::-        VkFlags -> VkExternalFenceHandleTypeBitmaskKHR FlagMask--pattern VkExternalFenceHandleTypeFlagsKHR n =-        VkExternalFenceHandleTypeBitmaskKHR n--deriving instance-         Bits (VkExternalFenceHandleTypeBitmaskKHR FlagMask)--deriving instance-         FiniteBits (VkExternalFenceHandleTypeBitmaskKHR FlagMask)--deriving instance-         Integral (VkExternalFenceHandleTypeBitmaskKHR FlagMask)--deriving instance-         Num (VkExternalFenceHandleTypeBitmaskKHR FlagMask)--deriving instance-         Bounded (VkExternalFenceHandleTypeBitmaskKHR FlagMask)--deriving instance-         Enum (VkExternalFenceHandleTypeBitmaskKHR FlagMask)--deriving instance-         Real (VkExternalFenceHandleTypeBitmaskKHR FlagMask)--instance Show (VkExternalFenceHandleTypeBitmaskKHR a) where-        showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR-          = showString "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR"-        showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR-          = showString "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR"-        showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR-          = showString-              "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR"-        showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR-          = showString "VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR"-        showsPrec p (VkExternalFenceHandleTypeBitmaskKHR x)-          = showParen (p >= 11)-              (showString "VkExternalFenceHandleTypeBitmaskKHR " .-                 showsPrec 11 x)--instance Read (VkExternalFenceHandleTypeBitmaskKHR a) where-        readPrec-          = parens-              (choose-                 [("VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR",-                   pure VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR),-                  ("VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR",-                   pure VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR),-                  ("VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR",-                   pure VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR),-                  ("VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR",-                   pure VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR)]-                 +++-                 prec 10-                   (expectP (Ident "VkExternalFenceHandleTypeBitmaskKHR") >>-                      (VkExternalFenceHandleTypeBitmaskKHR <$> step readPrec)))---- | bitpos = @0@-pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR ::-        VkExternalFenceHandleTypeBitmaskKHR a--pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR =-        VkExternalFenceHandleTypeBitmaskKHR 1---- | bitpos = @1@-pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR ::-        VkExternalFenceHandleTypeBitmaskKHR a--pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR =-        VkExternalFenceHandleTypeBitmaskKHR 2---- | bitpos = @2@-pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR ::-        VkExternalFenceHandleTypeBitmaskKHR a--pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR =-        VkExternalFenceHandleTypeBitmaskKHR 4---- | bitpos = @3@-pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR ::-        VkExternalFenceHandleTypeBitmaskKHR a--pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR =-        VkExternalFenceHandleTypeBitmaskKHR 8
+ src-gen/Graphics/Vulkan/Types/Enum/VkExternalMemoryFeatureFlagBitsKHR.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlagBitsKHR+       (VkExternalMemoryFeatureFlagBitsKHR(..)) where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Coerce                     (coerce)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags)++newtype VkExternalMemoryFeatureFlagBitsKHR = VkExternalMemoryFeatureFlagBitsKHR VkFlags+                                               deriving (Eq, Ord, Num, Bounded, Enum, Integral,+                                                         Bits, FiniteBits, Storable, Real, Data,+                                                         Generic)++instance Show VkExternalMemoryFeatureFlagBitsKHR where+        {-# INLINE show #-}+        show (VkExternalMemoryFeatureFlagBitsKHR x) = show x++instance Read VkExternalMemoryFeatureFlagBitsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkExternalMemoryFeatureFlags.hs view
@@ -0,0 +1,115 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE FlexibleInstances          #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures             #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE StandaloneDeriving         #-}+{-# LANGUAGE Strict                     #-}+{-# LANGUAGE TypeSynonymInstances       #-}+module Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlags+       (VkExternalMemoryFeatureBitmask(VkExternalMemoryFeatureBitmask,+                                       VkExternalMemoryFeatureFlags,+                                       VkExternalMemoryFeatureFlagBits,+                                       VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,+                                       VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,+                                       VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT),+        VkExternalMemoryFeatureFlags, VkExternalMemoryFeatureFlagBits)+       where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           GHC.Read                        (choose, expectP)+import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import           Text.ParserCombinators.ReadPrec (prec, step, (+++))+import           Text.Read                       (Read (..), parens)+import           Text.Read.Lex                   (Lexeme (..))++newtype VkExternalMemoryFeatureBitmask (a ::+                                          FlagType) = VkExternalMemoryFeatureBitmask VkFlags+                                                        deriving (Eq, Ord, Storable, Data, Generic)++type VkExternalMemoryFeatureFlags =+     VkExternalMemoryFeatureBitmask FlagMask++type VkExternalMemoryFeatureFlagBits =+     VkExternalMemoryFeatureBitmask FlagBit++pattern VkExternalMemoryFeatureFlagBits ::+        VkFlags -> VkExternalMemoryFeatureBitmask FlagBit++pattern VkExternalMemoryFeatureFlagBits n =+        VkExternalMemoryFeatureBitmask n++pattern VkExternalMemoryFeatureFlags ::+        VkFlags -> VkExternalMemoryFeatureBitmask FlagMask++pattern VkExternalMemoryFeatureFlags n =+        VkExternalMemoryFeatureBitmask n++deriving instance Bits (VkExternalMemoryFeatureBitmask FlagMask)++deriving instance+         FiniteBits (VkExternalMemoryFeatureBitmask FlagMask)++deriving instance+         Integral (VkExternalMemoryFeatureBitmask FlagMask)++deriving instance Num (VkExternalMemoryFeatureBitmask FlagMask)++deriving instance Bounded (VkExternalMemoryFeatureBitmask FlagMask)++deriving instance Enum (VkExternalMemoryFeatureBitmask FlagMask)++deriving instance Real (VkExternalMemoryFeatureBitmask FlagMask)++instance Show (VkExternalMemoryFeatureBitmask a) where+        showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT+          = showString "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT"+        showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT+          = showString "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT"+        showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT+          = showString "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT"+        showsPrec p (VkExternalMemoryFeatureBitmask x)+          = showParen (p >= 11)+              (showString "VkExternalMemoryFeatureBitmask " . showsPrec 11 x)++instance Read (VkExternalMemoryFeatureBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT",+                   pure VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT),+                  ("VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT",+                   pure VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT),+                  ("VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT",+                   pure VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkExternalMemoryFeatureBitmask") >>+                      (VkExternalMemoryFeatureBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT ::+        VkExternalMemoryFeatureBitmask a++pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT =+        VkExternalMemoryFeatureBitmask 1++-- | bitpos = @1@+pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT ::+        VkExternalMemoryFeatureBitmask a++pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT =+        VkExternalMemoryFeatureBitmask 2++-- | bitpos = @2@+pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT ::+        VkExternalMemoryFeatureBitmask a++pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT =+        VkExternalMemoryFeatureBitmask 4
− src-gen/Graphics/Vulkan/Types/Enum/VkExternalMemoryFeatureFlagsKHR.hs
@@ -1,118 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-}-{-# LANGUAGE FlexibleInstances          #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures             #-}-{-# LANGUAGE PatternSynonyms            #-}-{-# LANGUAGE StandaloneDeriving         #-}-{-# LANGUAGE Strict                     #-}-{-# LANGUAGE TypeSynonymInstances       #-}-module Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlagsKHR-       (VkExternalMemoryFeatureBitmaskKHR(VkExternalMemoryFeatureBitmaskKHR,-                                          VkExternalMemoryFeatureFlagsKHR,-                                          VkExternalMemoryFeatureFlagBitsKHR,-                                          VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR,-                                          VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR,-                                          VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR),-        VkExternalMemoryFeatureFlagsKHR,-        VkExternalMemoryFeatureFlagBitsKHR)-       where-import           Data.Bits                       (Bits, FiniteBits)-import           Data.Data                       (Data)-import           Foreign.Storable                (Storable)-import           GHC.Generics                    (Generic)-import           GHC.Read                        (choose, expectP)-import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)-import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import           Text.ParserCombinators.ReadPrec (prec, step, (+++))-import           Text.Read                       (Read (..), parens)-import           Text.Read.Lex                   (Lexeme (..))--newtype VkExternalMemoryFeatureBitmaskKHR (a ::-                                             FlagType) = VkExternalMemoryFeatureBitmaskKHR VkFlags-                                                           deriving (Eq, Ord, Storable, Data,-                                                                     Generic)--type VkExternalMemoryFeatureFlagsKHR =-     VkExternalMemoryFeatureBitmaskKHR FlagMask--type VkExternalMemoryFeatureFlagBitsKHR =-     VkExternalMemoryFeatureBitmaskKHR FlagBit--pattern VkExternalMemoryFeatureFlagBitsKHR ::-        VkFlags -> VkExternalMemoryFeatureBitmaskKHR FlagBit--pattern VkExternalMemoryFeatureFlagBitsKHR n =-        VkExternalMemoryFeatureBitmaskKHR n--pattern VkExternalMemoryFeatureFlagsKHR ::-        VkFlags -> VkExternalMemoryFeatureBitmaskKHR FlagMask--pattern VkExternalMemoryFeatureFlagsKHR n =-        VkExternalMemoryFeatureBitmaskKHR n--deriving instance Bits (VkExternalMemoryFeatureBitmaskKHR FlagMask)--deriving instance-         FiniteBits (VkExternalMemoryFeatureBitmaskKHR FlagMask)--deriving instance-         Integral (VkExternalMemoryFeatureBitmaskKHR FlagMask)--deriving instance Num (VkExternalMemoryFeatureBitmaskKHR FlagMask)--deriving instance-         Bounded (VkExternalMemoryFeatureBitmaskKHR FlagMask)--deriving instance Enum (VkExternalMemoryFeatureBitmaskKHR FlagMask)--deriving instance Real (VkExternalMemoryFeatureBitmaskKHR FlagMask)--instance Show (VkExternalMemoryFeatureBitmaskKHR a) where-        showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR-          = showString "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR"-        showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR-          = showString "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR"-        showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR-          = showString "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR"-        showsPrec p (VkExternalMemoryFeatureBitmaskKHR x)-          = showParen (p >= 11)-              (showString "VkExternalMemoryFeatureBitmaskKHR " . showsPrec 11 x)--instance Read (VkExternalMemoryFeatureBitmaskKHR a) where-        readPrec-          = parens-              (choose-                 [("VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR",-                   pure VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR),-                  ("VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR",-                   pure VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR),-                  ("VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR",-                   pure VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR)]-                 +++-                 prec 10-                   (expectP (Ident "VkExternalMemoryFeatureBitmaskKHR") >>-                      (VkExternalMemoryFeatureBitmaskKHR <$> step readPrec)))---- | bitpos = @0@-pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR ::-        VkExternalMemoryFeatureBitmaskKHR a--pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR =-        VkExternalMemoryFeatureBitmaskKHR 1---- | bitpos = @1@-pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR ::-        VkExternalMemoryFeatureBitmaskKHR a--pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR =-        VkExternalMemoryFeatureBitmaskKHR 2---- | bitpos = @2@-pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR ::-        VkExternalMemoryFeatureBitmaskKHR a--pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR =-        VkExternalMemoryFeatureBitmaskKHR 4
+ src-gen/Graphics/Vulkan/Types/Enum/VkExternalMemoryHandleTypeFlagBitsKHR.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagBitsKHR+       (VkExternalMemoryHandleTypeFlagBitsKHR(..)) where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Coerce                     (coerce)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags)++newtype VkExternalMemoryHandleTypeFlagBitsKHR = VkExternalMemoryHandleTypeFlagBitsKHR VkFlags+                                                  deriving (Eq, Ord, Num, Bounded, Enum, Integral,+                                                            Bits, FiniteBits, Storable, Real, Data,+                                                            Generic)++instance Show VkExternalMemoryHandleTypeFlagBitsKHR where+        {-# INLINE show #-}+        show (VkExternalMemoryHandleTypeFlagBitsKHR x) = show x++instance Read VkExternalMemoryHandleTypeFlagBitsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkExternalMemoryHandleTypeFlags.hs view
@@ -0,0 +1,166 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE FlexibleInstances          #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures             #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE StandaloneDeriving         #-}+{-# LANGUAGE Strict                     #-}+{-# LANGUAGE TypeSynonymInstances       #-}+module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags+       (VkExternalMemoryHandleTypeBitmask(VkExternalMemoryHandleTypeBitmask,+                                          VkExternalMemoryHandleTypeFlags,+                                          VkExternalMemoryHandleTypeFlagBits,+                                          VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,+                                          VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,+                                          VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,+                                          VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,+                                          VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,+                                          VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,+                                          VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT),+        VkExternalMemoryHandleTypeFlags,+        VkExternalMemoryHandleTypeFlagBits)+       where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           GHC.Read                        (choose, expectP)+import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import           Text.ParserCombinators.ReadPrec (prec, step, (+++))+import           Text.Read                       (Read (..), parens)+import           Text.Read.Lex                   (Lexeme (..))++newtype VkExternalMemoryHandleTypeBitmask (a ::+                                             FlagType) = VkExternalMemoryHandleTypeBitmask VkFlags+                                                           deriving (Eq, Ord, Storable, Data,+                                                                     Generic)++type VkExternalMemoryHandleTypeFlags =+     VkExternalMemoryHandleTypeBitmask FlagMask++type VkExternalMemoryHandleTypeFlagBits =+     VkExternalMemoryHandleTypeBitmask FlagBit++pattern VkExternalMemoryHandleTypeFlagBits ::+        VkFlags -> VkExternalMemoryHandleTypeBitmask FlagBit++pattern VkExternalMemoryHandleTypeFlagBits n =+        VkExternalMemoryHandleTypeBitmask n++pattern VkExternalMemoryHandleTypeFlags ::+        VkFlags -> VkExternalMemoryHandleTypeBitmask FlagMask++pattern VkExternalMemoryHandleTypeFlags n =+        VkExternalMemoryHandleTypeBitmask n++deriving instance Bits (VkExternalMemoryHandleTypeBitmask FlagMask)++deriving instance+         FiniteBits (VkExternalMemoryHandleTypeBitmask FlagMask)++deriving instance+         Integral (VkExternalMemoryHandleTypeBitmask FlagMask)++deriving instance Num (VkExternalMemoryHandleTypeBitmask FlagMask)++deriving instance+         Bounded (VkExternalMemoryHandleTypeBitmask FlagMask)++deriving instance Enum (VkExternalMemoryHandleTypeBitmask FlagMask)++deriving instance Real (VkExternalMemoryHandleTypeBitmask FlagMask)++instance Show (VkExternalMemoryHandleTypeBitmask a) where+        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT+          = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT"+        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT+          = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT"+        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT+          = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"+        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT+          = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT"+        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT+          = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT"+        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT+          = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT"+        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT+          = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT"+        showsPrec p (VkExternalMemoryHandleTypeBitmask x)+          = showParen (p >= 11)+              (showString "VkExternalMemoryHandleTypeBitmask " . showsPrec 11 x)++instance Read (VkExternalMemoryHandleTypeBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT",+                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT),+                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT",+                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT),+                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT",+                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT),+                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT",+                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT),+                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT",+                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT),+                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT",+                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT),+                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT",+                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkExternalMemoryHandleTypeBitmask") >>+                      (VkExternalMemoryHandleTypeBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT ::+        VkExternalMemoryHandleTypeBitmask a++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT =+        VkExternalMemoryHandleTypeBitmask 1++-- | bitpos = @1@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT ::+        VkExternalMemoryHandleTypeBitmask a++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT =+        VkExternalMemoryHandleTypeBitmask 2++-- | bitpos = @2@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT ::+        VkExternalMemoryHandleTypeBitmask a++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT =+        VkExternalMemoryHandleTypeBitmask 4++-- | bitpos = @3@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT ::+        VkExternalMemoryHandleTypeBitmask a++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT =+        VkExternalMemoryHandleTypeBitmask 8++-- | bitpos = @4@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT ::+        VkExternalMemoryHandleTypeBitmask a++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT =+        VkExternalMemoryHandleTypeBitmask 16++-- | bitpos = @5@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT ::+        VkExternalMemoryHandleTypeBitmask a++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT =+        VkExternalMemoryHandleTypeBitmask 32++-- | bitpos = @6@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT ::+        VkExternalMemoryHandleTypeBitmask a++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT =+        VkExternalMemoryHandleTypeBitmask 64
− src-gen/Graphics/Vulkan/Types/Enum/VkExternalMemoryHandleTypeFlagsKHR.hs
@@ -1,175 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-}-{-# LANGUAGE FlexibleInstances          #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures             #-}-{-# LANGUAGE PatternSynonyms            #-}-{-# LANGUAGE StandaloneDeriving         #-}-{-# LANGUAGE Strict                     #-}-{-# LANGUAGE TypeSynonymInstances       #-}-module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsKHR-       (VkExternalMemoryHandleTypeBitmaskKHR(VkExternalMemoryHandleTypeBitmaskKHR,-                                             VkExternalMemoryHandleTypeFlagsKHR,-                                             VkExternalMemoryHandleTypeFlagBitsKHR,-                                             VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR,-                                             VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR,-                                             VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR,-                                             VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR,-                                             VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR,-                                             VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR,-                                             VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR),-        VkExternalMemoryHandleTypeFlagsKHR,-        VkExternalMemoryHandleTypeFlagBitsKHR)-       where-import           Data.Bits                       (Bits, FiniteBits)-import           Data.Data                       (Data)-import           Foreign.Storable                (Storable)-import           GHC.Generics                    (Generic)-import           GHC.Read                        (choose, expectP)-import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)-import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import           Text.ParserCombinators.ReadPrec (prec, step, (+++))-import           Text.Read                       (Read (..), parens)-import           Text.Read.Lex                   (Lexeme (..))--newtype VkExternalMemoryHandleTypeBitmaskKHR (a ::-                                                FlagType) = VkExternalMemoryHandleTypeBitmaskKHR VkFlags-                                                              deriving (Eq, Ord, Storable, Data,-                                                                        Generic)--type VkExternalMemoryHandleTypeFlagsKHR =-     VkExternalMemoryHandleTypeBitmaskKHR FlagMask--type VkExternalMemoryHandleTypeFlagBitsKHR =-     VkExternalMemoryHandleTypeBitmaskKHR FlagBit--pattern VkExternalMemoryHandleTypeFlagBitsKHR ::-        VkFlags -> VkExternalMemoryHandleTypeBitmaskKHR FlagBit--pattern VkExternalMemoryHandleTypeFlagBitsKHR n =-        VkExternalMemoryHandleTypeBitmaskKHR n--pattern VkExternalMemoryHandleTypeFlagsKHR ::-        VkFlags -> VkExternalMemoryHandleTypeBitmaskKHR FlagMask--pattern VkExternalMemoryHandleTypeFlagsKHR n =-        VkExternalMemoryHandleTypeBitmaskKHR n--deriving instance-         Bits (VkExternalMemoryHandleTypeBitmaskKHR FlagMask)--deriving instance-         FiniteBits (VkExternalMemoryHandleTypeBitmaskKHR FlagMask)--deriving instance-         Integral (VkExternalMemoryHandleTypeBitmaskKHR FlagMask)--deriving instance-         Num (VkExternalMemoryHandleTypeBitmaskKHR FlagMask)--deriving instance-         Bounded (VkExternalMemoryHandleTypeBitmaskKHR FlagMask)--deriving instance-         Enum (VkExternalMemoryHandleTypeBitmaskKHR FlagMask)--deriving instance-         Real (VkExternalMemoryHandleTypeBitmaskKHR FlagMask)--instance Show (VkExternalMemoryHandleTypeBitmaskKHR a) where-        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR-          = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR"-        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR-          = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR"-        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR-          = showString-              "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR"-        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR-          = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR"-        showsPrec _-          VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR-          = showString-              "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR"-        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR-          = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR"-        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR-          = showString-              "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR"-        showsPrec p (VkExternalMemoryHandleTypeBitmaskKHR x)-          = showParen (p >= 11)-              (showString "VkExternalMemoryHandleTypeBitmaskKHR " .-                 showsPrec 11 x)--instance Read (VkExternalMemoryHandleTypeBitmaskKHR a) where-        readPrec-          = parens-              (choose-                 [("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR",-                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR),-                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR",-                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR),-                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR",-                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR),-                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR",-                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR),-                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR",-                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR),-                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR",-                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR),-                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR",-                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR)]-                 +++-                 prec 10-                   (expectP (Ident "VkExternalMemoryHandleTypeBitmaskKHR") >>-                      (VkExternalMemoryHandleTypeBitmaskKHR <$> step readPrec)))---- | bitpos = @0@-pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR ::-        VkExternalMemoryHandleTypeBitmaskKHR a--pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR =-        VkExternalMemoryHandleTypeBitmaskKHR 1---- | bitpos = @1@-pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR ::-        VkExternalMemoryHandleTypeBitmaskKHR a--pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR =-        VkExternalMemoryHandleTypeBitmaskKHR 2---- | bitpos = @2@-pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR ::-        VkExternalMemoryHandleTypeBitmaskKHR a--pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR =-        VkExternalMemoryHandleTypeBitmaskKHR 4---- | bitpos = @3@-pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR ::-        VkExternalMemoryHandleTypeBitmaskKHR a--pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR =-        VkExternalMemoryHandleTypeBitmaskKHR 8---- | bitpos = @4@-pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR ::-        VkExternalMemoryHandleTypeBitmaskKHR a--pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR =-        VkExternalMemoryHandleTypeBitmaskKHR 16---- | bitpos = @5@-pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR ::-        VkExternalMemoryHandleTypeBitmaskKHR a--pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR =-        VkExternalMemoryHandleTypeBitmaskKHR 32---- | bitpos = @6@-pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR ::-        VkExternalMemoryHandleTypeBitmaskKHR a--pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR =-        VkExternalMemoryHandleTypeBitmaskKHR 64
+ src-gen/Graphics/Vulkan/Types/Enum/VkExternalSemaphoreFeatureFlagBitsKHR.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreFeatureFlagBitsKHR+       (VkExternalSemaphoreFeatureFlagBitsKHR(..)) where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Coerce                     (coerce)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags)++newtype VkExternalSemaphoreFeatureFlagBitsKHR = VkExternalSemaphoreFeatureFlagBitsKHR VkFlags+                                                  deriving (Eq, Ord, Num, Bounded, Enum, Integral,+                                                            Bits, FiniteBits, Storable, Real, Data,+                                                            Generic)++instance Show VkExternalSemaphoreFeatureFlagBitsKHR where+        {-# INLINE show #-}+        show (VkExternalSemaphoreFeatureFlagBitsKHR x) = show x++instance Read VkExternalSemaphoreFeatureFlagBitsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkExternalSemaphoreFeatureFlags.hs view
@@ -0,0 +1,106 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE FlexibleInstances          #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures             #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE StandaloneDeriving         #-}+{-# LANGUAGE Strict                     #-}+{-# LANGUAGE TypeSynonymInstances       #-}+module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreFeatureFlags+       (VkExternalSemaphoreFeatureBitmask(VkExternalSemaphoreFeatureBitmask,+                                          VkExternalSemaphoreFeatureFlags,+                                          VkExternalSemaphoreFeatureFlagBits,+                                          VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,+                                          VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT),+        VkExternalSemaphoreFeatureFlags,+        VkExternalSemaphoreFeatureFlagBits)+       where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           GHC.Read                        (choose, expectP)+import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import           Text.ParserCombinators.ReadPrec (prec, step, (+++))+import           Text.Read                       (Read (..), parens)+import           Text.Read.Lex                   (Lexeme (..))++newtype VkExternalSemaphoreFeatureBitmask (a ::+                                             FlagType) = VkExternalSemaphoreFeatureBitmask VkFlags+                                                           deriving (Eq, Ord, Storable, Data,+                                                                     Generic)++type VkExternalSemaphoreFeatureFlags =+     VkExternalSemaphoreFeatureBitmask FlagMask++type VkExternalSemaphoreFeatureFlagBits =+     VkExternalSemaphoreFeatureBitmask FlagBit++pattern VkExternalSemaphoreFeatureFlagBits ::+        VkFlags -> VkExternalSemaphoreFeatureBitmask FlagBit++pattern VkExternalSemaphoreFeatureFlagBits n =+        VkExternalSemaphoreFeatureBitmask n++pattern VkExternalSemaphoreFeatureFlags ::+        VkFlags -> VkExternalSemaphoreFeatureBitmask FlagMask++pattern VkExternalSemaphoreFeatureFlags n =+        VkExternalSemaphoreFeatureBitmask n++deriving instance Bits (VkExternalSemaphoreFeatureBitmask FlagMask)++deriving instance+         FiniteBits (VkExternalSemaphoreFeatureBitmask FlagMask)++deriving instance+         Integral (VkExternalSemaphoreFeatureBitmask FlagMask)++deriving instance Num (VkExternalSemaphoreFeatureBitmask FlagMask)++deriving instance+         Bounded (VkExternalSemaphoreFeatureBitmask FlagMask)++deriving instance Enum (VkExternalSemaphoreFeatureBitmask FlagMask)++deriving instance Real (VkExternalSemaphoreFeatureBitmask FlagMask)++instance Show (VkExternalSemaphoreFeatureBitmask a) where+        showsPrec _ VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT+          = showString "VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT"+        showsPrec _ VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT+          = showString "VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT"+        showsPrec p (VkExternalSemaphoreFeatureBitmask x)+          = showParen (p >= 11)+              (showString "VkExternalSemaphoreFeatureBitmask " . showsPrec 11 x)++instance Read (VkExternalSemaphoreFeatureBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT",+                   pure VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT),+                  ("VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT",+                   pure VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkExternalSemaphoreFeatureBitmask") >>+                      (VkExternalSemaphoreFeatureBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT ::+        VkExternalSemaphoreFeatureBitmask a++pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT =+        VkExternalSemaphoreFeatureBitmask 1++-- | bitpos = @1@+pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT ::+        VkExternalSemaphoreFeatureBitmask a++pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT =+        VkExternalSemaphoreFeatureBitmask 2
− src-gen/Graphics/Vulkan/Types/Enum/VkExternalSemaphoreFeatureFlagsKHR.hs
@@ -1,111 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-}-{-# LANGUAGE FlexibleInstances          #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures             #-}-{-# LANGUAGE PatternSynonyms            #-}-{-# LANGUAGE StandaloneDeriving         #-}-{-# LANGUAGE Strict                     #-}-{-# LANGUAGE TypeSynonymInstances       #-}-module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreFeatureFlagsKHR-       (VkExternalSemaphoreFeatureBitmaskKHR(VkExternalSemaphoreFeatureBitmaskKHR,-                                             VkExternalSemaphoreFeatureFlagsKHR,-                                             VkExternalSemaphoreFeatureFlagBitsKHR,-                                             VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR,-                                             VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR),-        VkExternalSemaphoreFeatureFlagsKHR,-        VkExternalSemaphoreFeatureFlagBitsKHR)-       where-import           Data.Bits                       (Bits, FiniteBits)-import           Data.Data                       (Data)-import           Foreign.Storable                (Storable)-import           GHC.Generics                    (Generic)-import           GHC.Read                        (choose, expectP)-import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)-import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import           Text.ParserCombinators.ReadPrec (prec, step, (+++))-import           Text.Read                       (Read (..), parens)-import           Text.Read.Lex                   (Lexeme (..))--newtype VkExternalSemaphoreFeatureBitmaskKHR (a ::-                                                FlagType) = VkExternalSemaphoreFeatureBitmaskKHR VkFlags-                                                              deriving (Eq, Ord, Storable, Data,-                                                                        Generic)--type VkExternalSemaphoreFeatureFlagsKHR =-     VkExternalSemaphoreFeatureBitmaskKHR FlagMask--type VkExternalSemaphoreFeatureFlagBitsKHR =-     VkExternalSemaphoreFeatureBitmaskKHR FlagBit--pattern VkExternalSemaphoreFeatureFlagBitsKHR ::-        VkFlags -> VkExternalSemaphoreFeatureBitmaskKHR FlagBit--pattern VkExternalSemaphoreFeatureFlagBitsKHR n =-        VkExternalSemaphoreFeatureBitmaskKHR n--pattern VkExternalSemaphoreFeatureFlagsKHR ::-        VkFlags -> VkExternalSemaphoreFeatureBitmaskKHR FlagMask--pattern VkExternalSemaphoreFeatureFlagsKHR n =-        VkExternalSemaphoreFeatureBitmaskKHR n--deriving instance-         Bits (VkExternalSemaphoreFeatureBitmaskKHR FlagMask)--deriving instance-         FiniteBits (VkExternalSemaphoreFeatureBitmaskKHR FlagMask)--deriving instance-         Integral (VkExternalSemaphoreFeatureBitmaskKHR FlagMask)--deriving instance-         Num (VkExternalSemaphoreFeatureBitmaskKHR FlagMask)--deriving instance-         Bounded (VkExternalSemaphoreFeatureBitmaskKHR FlagMask)--deriving instance-         Enum (VkExternalSemaphoreFeatureBitmaskKHR FlagMask)--deriving instance-         Real (VkExternalSemaphoreFeatureBitmaskKHR FlagMask)--instance Show (VkExternalSemaphoreFeatureBitmaskKHR a) where-        showsPrec _ VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR-          = showString "VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR"-        showsPrec _ VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR-          = showString "VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR"-        showsPrec p (VkExternalSemaphoreFeatureBitmaskKHR x)-          = showParen (p >= 11)-              (showString "VkExternalSemaphoreFeatureBitmaskKHR " .-                 showsPrec 11 x)--instance Read (VkExternalSemaphoreFeatureBitmaskKHR a) where-        readPrec-          = parens-              (choose-                 [("VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR",-                   pure VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR),-                  ("VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR",-                   pure VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR)]-                 +++-                 prec 10-                   (expectP (Ident "VkExternalSemaphoreFeatureBitmaskKHR") >>-                      (VkExternalSemaphoreFeatureBitmaskKHR <$> step readPrec)))---- | bitpos = @0@-pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR ::-        VkExternalSemaphoreFeatureBitmaskKHR a--pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR =-        VkExternalSemaphoreFeatureBitmaskKHR 1---- | bitpos = @1@-pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR ::-        VkExternalSemaphoreFeatureBitmaskKHR a--pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR =-        VkExternalSemaphoreFeatureBitmaskKHR 2
+ src-gen/Graphics/Vulkan/Types/Enum/VkExternalSemaphoreHandleTypeFlagBitsKHR.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlagBitsKHR+       (VkExternalSemaphoreHandleTypeFlagBitsKHR(..)) where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Coerce                     (coerce)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags)++newtype VkExternalSemaphoreHandleTypeFlagBitsKHR = VkExternalSemaphoreHandleTypeFlagBitsKHR VkFlags+                                                     deriving (Eq, Ord, Num, Bounded, Enum,+                                                               Integral, Bits, FiniteBits, Storable,+                                                               Real, Data, Generic)++instance Show VkExternalSemaphoreHandleTypeFlagBitsKHR where+        {-# INLINE show #-}+        show (VkExternalSemaphoreHandleTypeFlagBitsKHR x) = show x++instance Read VkExternalSemaphoreHandleTypeFlagBitsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkExternalSemaphoreHandleTypeFlags.hs view
@@ -0,0 +1,148 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE FlexibleInstances          #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures             #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE StandaloneDeriving         #-}+{-# LANGUAGE Strict                     #-}+{-# LANGUAGE TypeSynonymInstances       #-}+module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlags+       (VkExternalSemaphoreHandleTypeBitmask(VkExternalSemaphoreHandleTypeBitmask,+                                             VkExternalSemaphoreHandleTypeFlags,+                                             VkExternalSemaphoreHandleTypeFlagBits,+                                             VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,+                                             VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,+                                             VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,+                                             VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,+                                             VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT),+        VkExternalSemaphoreHandleTypeFlags,+        VkExternalSemaphoreHandleTypeFlagBits)+       where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           GHC.Read                        (choose, expectP)+import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import           Text.ParserCombinators.ReadPrec (prec, step, (+++))+import           Text.Read                       (Read (..), parens)+import           Text.Read.Lex                   (Lexeme (..))++newtype VkExternalSemaphoreHandleTypeBitmask (a ::+                                                FlagType) = VkExternalSemaphoreHandleTypeBitmask VkFlags+                                                              deriving (Eq, Ord, Storable, Data,+                                                                        Generic)++type VkExternalSemaphoreHandleTypeFlags =+     VkExternalSemaphoreHandleTypeBitmask FlagMask++type VkExternalSemaphoreHandleTypeFlagBits =+     VkExternalSemaphoreHandleTypeBitmask FlagBit++pattern VkExternalSemaphoreHandleTypeFlagBits ::+        VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagBit++pattern VkExternalSemaphoreHandleTypeFlagBits n =+        VkExternalSemaphoreHandleTypeBitmask n++pattern VkExternalSemaphoreHandleTypeFlags ::+        VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagMask++pattern VkExternalSemaphoreHandleTypeFlags n =+        VkExternalSemaphoreHandleTypeBitmask n++deriving instance+         Bits (VkExternalSemaphoreHandleTypeBitmask FlagMask)++deriving instance+         FiniteBits (VkExternalSemaphoreHandleTypeBitmask FlagMask)++deriving instance+         Integral (VkExternalSemaphoreHandleTypeBitmask FlagMask)++deriving instance+         Num (VkExternalSemaphoreHandleTypeBitmask FlagMask)++deriving instance+         Bounded (VkExternalSemaphoreHandleTypeBitmask FlagMask)++deriving instance+         Enum (VkExternalSemaphoreHandleTypeBitmask FlagMask)++deriving instance+         Real (VkExternalSemaphoreHandleTypeBitmask FlagMask)++instance Show (VkExternalSemaphoreHandleTypeBitmask a) where+        showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT+          = showString "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT"+        showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT+          = showString "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT"+        showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT+          = showString+              "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"+        showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT+          = showString "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT"+        showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT+          = showString "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT"+        showsPrec p (VkExternalSemaphoreHandleTypeBitmask x)+          = showParen (p >= 11)+              (showString "VkExternalSemaphoreHandleTypeBitmask " .+                 showsPrec 11 x)++instance Read (VkExternalSemaphoreHandleTypeBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT",+                   pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT),+                  ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT",+                   pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT),+                  ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT",+                   pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT),+                  ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT",+                   pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT),+                  ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT",+                   pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkExternalSemaphoreHandleTypeBitmask") >>+                      (VkExternalSemaphoreHandleTypeBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT ::+        VkExternalSemaphoreHandleTypeBitmask a++pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT =+        VkExternalSemaphoreHandleTypeBitmask 1++-- | bitpos = @1@+pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT ::+        VkExternalSemaphoreHandleTypeBitmask a++pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT =+        VkExternalSemaphoreHandleTypeBitmask 2++-- | bitpos = @2@+pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT ::+        VkExternalSemaphoreHandleTypeBitmask a++pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT =+        VkExternalSemaphoreHandleTypeBitmask 4++-- | bitpos = @3@+pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT ::+        VkExternalSemaphoreHandleTypeBitmask a++pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT =+        VkExternalSemaphoreHandleTypeBitmask 8++-- | bitpos = @4@+pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT ::+        VkExternalSemaphoreHandleTypeBitmask a++pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT =+        VkExternalSemaphoreHandleTypeBitmask 16
− src-gen/Graphics/Vulkan/Types/Enum/VkExternalSemaphoreHandleTypeFlagsKHR.hs
@@ -1,151 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-}-{-# LANGUAGE FlexibleInstances          #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures             #-}-{-# LANGUAGE PatternSynonyms            #-}-{-# LANGUAGE StandaloneDeriving         #-}-{-# LANGUAGE Strict                     #-}-{-# LANGUAGE TypeSynonymInstances       #-}-module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlagsKHR-       (VkExternalSemaphoreHandleTypeBitmaskKHR(VkExternalSemaphoreHandleTypeBitmaskKHR,-                                                VkExternalSemaphoreHandleTypeFlagsKHR,-                                                VkExternalSemaphoreHandleTypeFlagBitsKHR,-                                                VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR,-                                                VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR,-                                                VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR,-                                                VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR,-                                                VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR),-        VkExternalSemaphoreHandleTypeFlagsKHR,-        VkExternalSemaphoreHandleTypeFlagBitsKHR)-       where-import           Data.Bits                       (Bits, FiniteBits)-import           Data.Data                       (Data)-import           Foreign.Storable                (Storable)-import           GHC.Generics                    (Generic)-import           GHC.Read                        (choose, expectP)-import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)-import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import           Text.ParserCombinators.ReadPrec (prec, step, (+++))-import           Text.Read                       (Read (..), parens)-import           Text.Read.Lex                   (Lexeme (..))--newtype VkExternalSemaphoreHandleTypeBitmaskKHR (a ::-                                                   FlagType) = VkExternalSemaphoreHandleTypeBitmaskKHR VkFlags-                                                                 deriving (Eq, Ord, Storable, Data,-                                                                           Generic)--type VkExternalSemaphoreHandleTypeFlagsKHR =-     VkExternalSemaphoreHandleTypeBitmaskKHR FlagMask--type VkExternalSemaphoreHandleTypeFlagBitsKHR =-     VkExternalSemaphoreHandleTypeBitmaskKHR FlagBit--pattern VkExternalSemaphoreHandleTypeFlagBitsKHR ::-        VkFlags -> VkExternalSemaphoreHandleTypeBitmaskKHR FlagBit--pattern VkExternalSemaphoreHandleTypeFlagBitsKHR n =-        VkExternalSemaphoreHandleTypeBitmaskKHR n--pattern VkExternalSemaphoreHandleTypeFlagsKHR ::-        VkFlags -> VkExternalSemaphoreHandleTypeBitmaskKHR FlagMask--pattern VkExternalSemaphoreHandleTypeFlagsKHR n =-        VkExternalSemaphoreHandleTypeBitmaskKHR n--deriving instance-         Bits (VkExternalSemaphoreHandleTypeBitmaskKHR FlagMask)--deriving instance-         FiniteBits (VkExternalSemaphoreHandleTypeBitmaskKHR FlagMask)--deriving instance-         Integral (VkExternalSemaphoreHandleTypeBitmaskKHR FlagMask)--deriving instance-         Num (VkExternalSemaphoreHandleTypeBitmaskKHR FlagMask)--deriving instance-         Bounded (VkExternalSemaphoreHandleTypeBitmaskKHR FlagMask)--deriving instance-         Enum (VkExternalSemaphoreHandleTypeBitmaskKHR FlagMask)--deriving instance-         Real (VkExternalSemaphoreHandleTypeBitmaskKHR FlagMask)--instance Show (VkExternalSemaphoreHandleTypeBitmaskKHR a) where-        showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR-          = showString "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR"-        showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR-          = showString-              "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR"-        showsPrec _-          VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR-          = showString-              "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR"-        showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR-          = showString-              "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR"-        showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR-          = showString "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR"-        showsPrec p (VkExternalSemaphoreHandleTypeBitmaskKHR x)-          = showParen (p >= 11)-              (showString "VkExternalSemaphoreHandleTypeBitmaskKHR " .-                 showsPrec 11 x)--instance Read (VkExternalSemaphoreHandleTypeBitmaskKHR a) where-        readPrec-          = parens-              (choose-                 [("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR",-                   pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR),-                  ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR",-                   pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR),-                  ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR",-                   pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR),-                  ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR",-                   pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR),-                  ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR",-                   pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR)]-                 +++-                 prec 10-                   (expectP (Ident "VkExternalSemaphoreHandleTypeBitmaskKHR") >>-                      (VkExternalSemaphoreHandleTypeBitmaskKHR <$> step readPrec)))---- | bitpos = @0@-pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR ::-        VkExternalSemaphoreHandleTypeBitmaskKHR a--pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR =-        VkExternalSemaphoreHandleTypeBitmaskKHR 1---- | bitpos = @1@-pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR ::-        VkExternalSemaphoreHandleTypeBitmaskKHR a--pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR =-        VkExternalSemaphoreHandleTypeBitmaskKHR 2---- | bitpos = @2@-pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR-        :: VkExternalSemaphoreHandleTypeBitmaskKHR a--pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR-        = VkExternalSemaphoreHandleTypeBitmaskKHR 4---- | bitpos = @3@-pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR ::-        VkExternalSemaphoreHandleTypeBitmaskKHR a--pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR =-        VkExternalSemaphoreHandleTypeBitmaskKHR 8---- | bitpos = @4@-pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR ::-        VkExternalSemaphoreHandleTypeBitmaskKHR a--pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR =-        VkExternalSemaphoreHandleTypeBitmaskKHR 16
+ src-gen/Graphics/Vulkan/Types/Enum/VkFenceImportFlagBitsKHR.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkFenceImportFlagBitsKHR+       (VkFenceImportFlagBitsKHR(..)) where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Coerce                     (coerce)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags)++newtype VkFenceImportFlagBitsKHR = VkFenceImportFlagBitsKHR VkFlags+                                     deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                               FiniteBits, Storable, Real, Data, Generic)++instance Show VkFenceImportFlagBitsKHR where+        {-# INLINE show #-}+        show (VkFenceImportFlagBitsKHR x) = show x++instance Read VkFenceImportFlagBitsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkFenceImportFlags.hs view
@@ -0,0 +1,81 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE FlexibleInstances          #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures             #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE StandaloneDeriving         #-}+{-# LANGUAGE Strict                     #-}+{-# LANGUAGE TypeSynonymInstances       #-}+module Graphics.Vulkan.Types.Enum.VkFenceImportFlags+       (VkFenceImportBitmask(VkFenceImportBitmask, VkFenceImportFlags,+                             VkFenceImportFlagBits, VK_FENCE_IMPORT_TEMPORARY_BIT),+        VkFenceImportFlags, VkFenceImportFlagBits)+       where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           GHC.Read                        (choose, expectP)+import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import           Text.ParserCombinators.ReadPrec (prec, step, (+++))+import           Text.Read                       (Read (..), parens)+import           Text.Read.Lex                   (Lexeme (..))++newtype VkFenceImportBitmask (a ::+                                FlagType) = VkFenceImportBitmask VkFlags+                                              deriving (Eq, Ord, Storable, Data, Generic)++type VkFenceImportFlags = VkFenceImportBitmask FlagMask++type VkFenceImportFlagBits = VkFenceImportBitmask FlagBit++pattern VkFenceImportFlagBits ::+        VkFlags -> VkFenceImportBitmask FlagBit++pattern VkFenceImportFlagBits n = VkFenceImportBitmask n++pattern VkFenceImportFlags ::+        VkFlags -> VkFenceImportBitmask FlagMask++pattern VkFenceImportFlags n = VkFenceImportBitmask n++deriving instance Bits (VkFenceImportBitmask FlagMask)++deriving instance FiniteBits (VkFenceImportBitmask FlagMask)++deriving instance Integral (VkFenceImportBitmask FlagMask)++deriving instance Num (VkFenceImportBitmask FlagMask)++deriving instance Bounded (VkFenceImportBitmask FlagMask)++deriving instance Enum (VkFenceImportBitmask FlagMask)++deriving instance Real (VkFenceImportBitmask FlagMask)++instance Show (VkFenceImportBitmask a) where+        showsPrec _ VK_FENCE_IMPORT_TEMPORARY_BIT+          = showString "VK_FENCE_IMPORT_TEMPORARY_BIT"+        showsPrec p (VkFenceImportBitmask x)+          = showParen (p >= 11)+              (showString "VkFenceImportBitmask " . showsPrec 11 x)++instance Read (VkFenceImportBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_FENCE_IMPORT_TEMPORARY_BIT",+                   pure VK_FENCE_IMPORT_TEMPORARY_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkFenceImportBitmask") >>+                      (VkFenceImportBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_FENCE_IMPORT_TEMPORARY_BIT :: VkFenceImportBitmask a++pattern VK_FENCE_IMPORT_TEMPORARY_BIT = VkFenceImportBitmask 1
− src-gen/Graphics/Vulkan/Types/Enum/VkFenceImportFlagsKHR.hs
@@ -1,84 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-}-{-# LANGUAGE FlexibleInstances          #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures             #-}-{-# LANGUAGE PatternSynonyms            #-}-{-# LANGUAGE StandaloneDeriving         #-}-{-# LANGUAGE Strict                     #-}-{-# LANGUAGE TypeSynonymInstances       #-}-module Graphics.Vulkan.Types.Enum.VkFenceImportFlagsKHR-       (VkFenceImportBitmaskKHR(VkFenceImportBitmaskKHR,-                                VkFenceImportFlagsKHR, VkFenceImportFlagBitsKHR,-                                VK_FENCE_IMPORT_TEMPORARY_BIT_KHR),-        VkFenceImportFlagsKHR, VkFenceImportFlagBitsKHR)-       where-import           Data.Bits                       (Bits, FiniteBits)-import           Data.Data                       (Data)-import           Foreign.Storable                (Storable)-import           GHC.Generics                    (Generic)-import           GHC.Read                        (choose, expectP)-import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)-import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import           Text.ParserCombinators.ReadPrec (prec, step, (+++))-import           Text.Read                       (Read (..), parens)-import           Text.Read.Lex                   (Lexeme (..))--newtype VkFenceImportBitmaskKHR (a ::-                                   FlagType) = VkFenceImportBitmaskKHR VkFlags-                                                 deriving (Eq, Ord, Storable, Data, Generic)--type VkFenceImportFlagsKHR = VkFenceImportBitmaskKHR FlagMask--type VkFenceImportFlagBitsKHR = VkFenceImportBitmaskKHR FlagBit--pattern VkFenceImportFlagBitsKHR ::-        VkFlags -> VkFenceImportBitmaskKHR FlagBit--pattern VkFenceImportFlagBitsKHR n = VkFenceImportBitmaskKHR n--pattern VkFenceImportFlagsKHR ::-        VkFlags -> VkFenceImportBitmaskKHR FlagMask--pattern VkFenceImportFlagsKHR n = VkFenceImportBitmaskKHR n--deriving instance Bits (VkFenceImportBitmaskKHR FlagMask)--deriving instance FiniteBits (VkFenceImportBitmaskKHR FlagMask)--deriving instance Integral (VkFenceImportBitmaskKHR FlagMask)--deriving instance Num (VkFenceImportBitmaskKHR FlagMask)--deriving instance Bounded (VkFenceImportBitmaskKHR FlagMask)--deriving instance Enum (VkFenceImportBitmaskKHR FlagMask)--deriving instance Real (VkFenceImportBitmaskKHR FlagMask)--instance Show (VkFenceImportBitmaskKHR a) where-        showsPrec _ VK_FENCE_IMPORT_TEMPORARY_BIT_KHR-          = showString "VK_FENCE_IMPORT_TEMPORARY_BIT_KHR"-        showsPrec p (VkFenceImportBitmaskKHR x)-          = showParen (p >= 11)-              (showString "VkFenceImportBitmaskKHR " . showsPrec 11 x)--instance Read (VkFenceImportBitmaskKHR a) where-        readPrec-          = parens-              (choose-                 [("VK_FENCE_IMPORT_TEMPORARY_BIT_KHR",-                   pure VK_FENCE_IMPORT_TEMPORARY_BIT_KHR)]-                 +++-                 prec 10-                   (expectP (Ident "VkFenceImportBitmaskKHR") >>-                      (VkFenceImportBitmaskKHR <$> step readPrec)))---- | bitpos = @0@-pattern VK_FENCE_IMPORT_TEMPORARY_BIT_KHR ::-        VkFenceImportBitmaskKHR a--pattern VK_FENCE_IMPORT_TEMPORARY_BIT_KHR =-        VkFenceImportBitmaskKHR 1
src-gen/Graphics/Vulkan/Types/Enum/VkFilter.hs view
@@ -18,7 +18,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkFilter.html VkFilter registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkFilter.html VkFilter registry at www.khronos.org> newtype VkFilter = VkFilter Int32                      deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkFormat.hs view
@@ -119,7 +119,7 @@ --   type = @enum@ -- -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkFormat.html VkFormat registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkFormat.html VkFormat registry at www.khronos.org> newtype VkFormat = VkFormat Int32                      deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkFrontFace.hs view
@@ -20,7 +20,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkFrontFace.html VkFrontFace registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkFrontFace.html VkFrontFace registry at www.khronos.org> newtype VkFrontFace = VkFrontFace Int32                         deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkImageLayout.hs view
@@ -26,7 +26,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImageLayout.html VkImageLayout registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkImageLayout.html VkImageLayout registry at www.khronos.org> newtype VkImageLayout = VkImageLayout Int32                           deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkImageTiling.hs view
@@ -20,7 +20,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImageTiling.html VkImageTiling registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkImageTiling.html VkImageTiling registry at www.khronos.org> newtype VkImageTiling = VkImageTiling Int32                           deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkImageType.hs view
@@ -20,7 +20,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImageType.html VkImageType registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkImageType.html VkImageType registry at www.khronos.org> newtype VkImageType = VkImageType Int32                         deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkImageViewType.hs view
@@ -22,7 +22,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImageViewType.html VkImageViewType registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkImageViewType.html VkImageViewType registry at www.khronos.org> newtype VkImageViewType = VkImageViewType Int32                             deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkIndexType.hs view
@@ -20,7 +20,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkIndexType.html VkIndexType registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkIndexType.html VkIndexType registry at www.khronos.org> newtype VkIndexType = VkIndexType Int32                         deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkIndirectCommandsTokenTypeNVX.hs view
@@ -27,7 +27,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkIndirectCommandsTokenTypeNVX.html VkIndirectCommandsTokenTypeNVX registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkIndirectCommandsTokenTypeNVX.html VkIndirectCommandsTokenTypeNVX registry at www.khronos.org> newtype VkIndirectCommandsTokenTypeNVX = VkIndirectCommandsTokenTypeNVX Int32                                            deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,                                                      Generic)
src-gen/Graphics/Vulkan/Types/Enum/VkInternalAllocationType.hs view
@@ -20,7 +20,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkInternalAllocationType.html VkInternalAllocationType registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkInternalAllocationType.html VkInternalAllocationType registry at www.khronos.org> newtype VkInternalAllocationType = VkInternalAllocationType Int32                                      deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkLogicOp.hs view
@@ -25,7 +25,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkLogicOp.html VkLogicOp registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkLogicOp.html VkLogicOp registry at www.khronos.org> newtype VkLogicOp = VkLogicOp Int32                       deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
+ src-gen/Graphics/Vulkan/Types/Enum/VkMemoryAllocateFlagBitsKHR.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkMemoryAllocateFlagBitsKHR+       (VkMemoryAllocateFlagBitsKHR(..)) where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Coerce                     (coerce)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags)++newtype VkMemoryAllocateFlagBitsKHR = VkMemoryAllocateFlagBitsKHR VkFlags+                                        deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                  FiniteBits, Storable, Real, Data, Generic)++instance Show VkMemoryAllocateFlagBitsKHR where+        {-# INLINE show #-}+        show (VkMemoryAllocateFlagBitsKHR x) = show x++instance Read VkMemoryAllocateFlagBitsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkMemoryAllocateFlags.hs view
@@ -0,0 +1,86 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE FlexibleInstances          #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures             #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE StandaloneDeriving         #-}+{-# LANGUAGE Strict                     #-}+{-# LANGUAGE TypeSynonymInstances       #-}+module Graphics.Vulkan.Types.Enum.VkMemoryAllocateFlags+       (VkMemoryAllocateBitmask(VkMemoryAllocateBitmask,+                                VkMemoryAllocateFlags, VkMemoryAllocateFlagBits,+                                VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT),+        VkMemoryAllocateFlags, VkMemoryAllocateFlagBits)+       where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           GHC.Read                        (choose, expectP)+import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import           Text.ParserCombinators.ReadPrec (prec, step, (+++))+import           Text.Read                       (Read (..), parens)+import           Text.Read.Lex                   (Lexeme (..))++newtype VkMemoryAllocateBitmask (a ::+                                   FlagType) = VkMemoryAllocateBitmask VkFlags+                                                 deriving (Eq, Ord, Storable, Data, Generic)++type VkMemoryAllocateFlags = VkMemoryAllocateBitmask FlagMask++type VkMemoryAllocateFlagBits = VkMemoryAllocateBitmask FlagBit++pattern VkMemoryAllocateFlagBits ::+        VkFlags -> VkMemoryAllocateBitmask FlagBit++pattern VkMemoryAllocateFlagBits n = VkMemoryAllocateBitmask n++pattern VkMemoryAllocateFlags ::+        VkFlags -> VkMemoryAllocateBitmask FlagMask++pattern VkMemoryAllocateFlags n = VkMemoryAllocateBitmask n++deriving instance Bits (VkMemoryAllocateBitmask FlagMask)++deriving instance FiniteBits (VkMemoryAllocateBitmask FlagMask)++deriving instance Integral (VkMemoryAllocateBitmask FlagMask)++deriving instance Num (VkMemoryAllocateBitmask FlagMask)++deriving instance Bounded (VkMemoryAllocateBitmask FlagMask)++deriving instance Enum (VkMemoryAllocateBitmask FlagMask)++deriving instance Real (VkMemoryAllocateBitmask FlagMask)++instance Show (VkMemoryAllocateBitmask a) where+        showsPrec _ VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT+          = showString "VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT"+        showsPrec p (VkMemoryAllocateBitmask x)+          = showParen (p >= 11)+              (showString "VkMemoryAllocateBitmask " . showsPrec 11 x)++instance Read (VkMemoryAllocateBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT",+                   pure VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkMemoryAllocateBitmask") >>+                      (VkMemoryAllocateBitmask <$> step readPrec)))++-- | Force allocation on specific devices+--+--   bitpos = @0@+pattern VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT ::+        VkMemoryAllocateBitmask a++pattern VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT =+        VkMemoryAllocateBitmask 1
− src-gen/Graphics/Vulkan/Types/Enum/VkMemoryAllocateFlagsKHX.hs
@@ -1,88 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-}-{-# LANGUAGE FlexibleInstances          #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures             #-}-{-# LANGUAGE PatternSynonyms            #-}-{-# LANGUAGE StandaloneDeriving         #-}-{-# LANGUAGE Strict                     #-}-{-# LANGUAGE TypeSynonymInstances       #-}-module Graphics.Vulkan.Types.Enum.VkMemoryAllocateFlagsKHX-       (VkMemoryAllocateBitmaskKHX(VkMemoryAllocateBitmaskKHX,-                                   VkMemoryAllocateFlagsKHX, VkMemoryAllocateFlagBitsKHX,-                                   VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHX),-        VkMemoryAllocateFlagsKHX, VkMemoryAllocateFlagBitsKHX)-       where-import           Data.Bits                       (Bits, FiniteBits)-import           Data.Data                       (Data)-import           Foreign.Storable                (Storable)-import           GHC.Generics                    (Generic)-import           GHC.Read                        (choose, expectP)-import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)-import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import           Text.ParserCombinators.ReadPrec (prec, step, (+++))-import           Text.Read                       (Read (..), parens)-import           Text.Read.Lex                   (Lexeme (..))--newtype VkMemoryAllocateBitmaskKHX (a ::-                                      FlagType) = VkMemoryAllocateBitmaskKHX VkFlags-                                                    deriving (Eq, Ord, Storable, Data, Generic)--type VkMemoryAllocateFlagsKHX = VkMemoryAllocateBitmaskKHX FlagMask--type VkMemoryAllocateFlagBitsKHX =-     VkMemoryAllocateBitmaskKHX FlagBit--pattern VkMemoryAllocateFlagBitsKHX ::-        VkFlags -> VkMemoryAllocateBitmaskKHX FlagBit--pattern VkMemoryAllocateFlagBitsKHX n =-        VkMemoryAllocateBitmaskKHX n--pattern VkMemoryAllocateFlagsKHX ::-        VkFlags -> VkMemoryAllocateBitmaskKHX FlagMask--pattern VkMemoryAllocateFlagsKHX n = VkMemoryAllocateBitmaskKHX n--deriving instance Bits (VkMemoryAllocateBitmaskKHX FlagMask)--deriving instance FiniteBits (VkMemoryAllocateBitmaskKHX FlagMask)--deriving instance Integral (VkMemoryAllocateBitmaskKHX FlagMask)--deriving instance Num (VkMemoryAllocateBitmaskKHX FlagMask)--deriving instance Bounded (VkMemoryAllocateBitmaskKHX FlagMask)--deriving instance Enum (VkMemoryAllocateBitmaskKHX FlagMask)--deriving instance Real (VkMemoryAllocateBitmaskKHX FlagMask)--instance Show (VkMemoryAllocateBitmaskKHX a) where-        showsPrec _ VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHX-          = showString "VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHX"-        showsPrec p (VkMemoryAllocateBitmaskKHX x)-          = showParen (p >= 11)-              (showString "VkMemoryAllocateBitmaskKHX " . showsPrec 11 x)--instance Read (VkMemoryAllocateBitmaskKHX a) where-        readPrec-          = parens-              (choose-                 [("VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHX",-                   pure VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHX)]-                 +++-                 prec 10-                   (expectP (Ident "VkMemoryAllocateBitmaskKHX") >>-                      (VkMemoryAllocateBitmaskKHX <$> step readPrec)))---- | Force allocation on specific devices------   bitpos = @0@-pattern VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHX ::-        VkMemoryAllocateBitmaskKHX a--pattern VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHX =-        VkMemoryAllocateBitmaskKHX 1
src-gen/Graphics/Vulkan/Types/Enum/VkObjectEntryTypeNVX.hs view
@@ -24,7 +24,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkObjectEntryTypeNVX.html VkObjectEntryTypeNVX registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkObjectEntryTypeNVX.html VkObjectEntryTypeNVX registry at www.khronos.org> newtype VkObjectEntryTypeNVX = VkObjectEntryTypeNVX Int32                                  deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkObjectType.hs view
@@ -34,7 +34,7 @@ --   type = @enum@ -- -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkObjectType.html VkObjectType registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkObjectType.html VkObjectType registry at www.khronos.org> newtype VkObjectType = VkObjectType Int32                          deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
+ src-gen/Graphics/Vulkan/Types/Enum/VkPeerMemoryFeatureFlagBitsKHR.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkPeerMemoryFeatureFlagBitsKHR+       (VkPeerMemoryFeatureFlagBitsKHR(..)) where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Coerce                     (coerce)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags)++newtype VkPeerMemoryFeatureFlagBitsKHR = VkPeerMemoryFeatureFlagBitsKHR VkFlags+                                           deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                     FiniteBits, Storable, Real, Data, Generic)++instance Show VkPeerMemoryFeatureFlagBitsKHR where+        {-# INLINE show #-}+        show (VkPeerMemoryFeatureFlagBitsKHR x) = show x++instance Read VkPeerMemoryFeatureFlagBitsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkPeerMemoryFeatureFlags.hs view
@@ -0,0 +1,130 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE FlexibleInstances          #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures             #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE StandaloneDeriving         #-}+{-# LANGUAGE Strict                     #-}+{-# LANGUAGE TypeSynonymInstances       #-}+module Graphics.Vulkan.Types.Enum.VkPeerMemoryFeatureFlags+       (VkPeerMemoryFeatureBitmask(VkPeerMemoryFeatureBitmask,+                                   VkPeerMemoryFeatureFlags, VkPeerMemoryFeatureFlagBits,+                                   VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,+                                   VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,+                                   VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,+                                   VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT),+        VkPeerMemoryFeatureFlags, VkPeerMemoryFeatureFlagBits)+       where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           GHC.Read                        (choose, expectP)+import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import           Text.ParserCombinators.ReadPrec (prec, step, (+++))+import           Text.Read                       (Read (..), parens)+import           Text.Read.Lex                   (Lexeme (..))++newtype VkPeerMemoryFeatureBitmask (a ::+                                      FlagType) = VkPeerMemoryFeatureBitmask VkFlags+                                                    deriving (Eq, Ord, Storable, Data, Generic)++type VkPeerMemoryFeatureFlags = VkPeerMemoryFeatureBitmask FlagMask++type VkPeerMemoryFeatureFlagBits =+     VkPeerMemoryFeatureBitmask FlagBit++pattern VkPeerMemoryFeatureFlagBits ::+        VkFlags -> VkPeerMemoryFeatureBitmask FlagBit++pattern VkPeerMemoryFeatureFlagBits n =+        VkPeerMemoryFeatureBitmask n++pattern VkPeerMemoryFeatureFlags ::+        VkFlags -> VkPeerMemoryFeatureBitmask FlagMask++pattern VkPeerMemoryFeatureFlags n = VkPeerMemoryFeatureBitmask n++deriving instance Bits (VkPeerMemoryFeatureBitmask FlagMask)++deriving instance FiniteBits (VkPeerMemoryFeatureBitmask FlagMask)++deriving instance Integral (VkPeerMemoryFeatureBitmask FlagMask)++deriving instance Num (VkPeerMemoryFeatureBitmask FlagMask)++deriving instance Bounded (VkPeerMemoryFeatureBitmask FlagMask)++deriving instance Enum (VkPeerMemoryFeatureBitmask FlagMask)++deriving instance Real (VkPeerMemoryFeatureBitmask FlagMask)++instance Show (VkPeerMemoryFeatureBitmask a) where+        showsPrec _ VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT+          = showString "VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT"+        showsPrec _ VK_PEER_MEMORY_FEATURE_COPY_DST_BIT+          = showString "VK_PEER_MEMORY_FEATURE_COPY_DST_BIT"+        showsPrec _ VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT+          = showString "VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT"+        showsPrec _ VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT+          = showString "VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT"+        showsPrec p (VkPeerMemoryFeatureBitmask x)+          = showParen (p >= 11)+              (showString "VkPeerMemoryFeatureBitmask " . showsPrec 11 x)++instance Read (VkPeerMemoryFeatureBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT",+                   pure VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT),+                  ("VK_PEER_MEMORY_FEATURE_COPY_DST_BIT",+                   pure VK_PEER_MEMORY_FEATURE_COPY_DST_BIT),+                  ("VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT",+                   pure VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT),+                  ("VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT",+                   pure VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkPeerMemoryFeatureBitmask") >>+                      (VkPeerMemoryFeatureBitmask <$> step readPrec)))++-- | Can read with vkCmdCopy commands+--+--   bitpos = @0@+pattern VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT ::+        VkPeerMemoryFeatureBitmask a++pattern VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT =+        VkPeerMemoryFeatureBitmask 1++-- | Can write with vkCmdCopy commands+--+--   bitpos = @1@+pattern VK_PEER_MEMORY_FEATURE_COPY_DST_BIT ::+        VkPeerMemoryFeatureBitmask a++pattern VK_PEER_MEMORY_FEATURE_COPY_DST_BIT =+        VkPeerMemoryFeatureBitmask 2++-- | Can read with any access type/command+--+--   bitpos = @2@+pattern VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT ::+        VkPeerMemoryFeatureBitmask a++pattern VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT =+        VkPeerMemoryFeatureBitmask 4++-- | Can write with and access type/command+--+--   bitpos = @3@+pattern VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT ::+        VkPeerMemoryFeatureBitmask a++pattern VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT =+        VkPeerMemoryFeatureBitmask 8
− src-gen/Graphics/Vulkan/Types/Enum/VkPeerMemoryFeatureFlagsKHX.hs
@@ -1,133 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-}-{-# LANGUAGE FlexibleInstances          #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures             #-}-{-# LANGUAGE PatternSynonyms            #-}-{-# LANGUAGE StandaloneDeriving         #-}-{-# LANGUAGE Strict                     #-}-{-# LANGUAGE TypeSynonymInstances       #-}-module Graphics.Vulkan.Types.Enum.VkPeerMemoryFeatureFlagsKHX-       (VkPeerMemoryFeatureBitmaskKHX(VkPeerMemoryFeatureBitmaskKHX,-                                      VkPeerMemoryFeatureFlagsKHX, VkPeerMemoryFeatureFlagBitsKHX,-                                      VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHX,-                                      VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHX,-                                      VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHX,-                                      VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHX),-        VkPeerMemoryFeatureFlagsKHX, VkPeerMemoryFeatureFlagBitsKHX)-       where-import           Data.Bits                       (Bits, FiniteBits)-import           Data.Data                       (Data)-import           Foreign.Storable                (Storable)-import           GHC.Generics                    (Generic)-import           GHC.Read                        (choose, expectP)-import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)-import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import           Text.ParserCombinators.ReadPrec (prec, step, (+++))-import           Text.Read                       (Read (..), parens)-import           Text.Read.Lex                   (Lexeme (..))--newtype VkPeerMemoryFeatureBitmaskKHX (a ::-                                         FlagType) = VkPeerMemoryFeatureBitmaskKHX VkFlags-                                                       deriving (Eq, Ord, Storable, Data, Generic)--type VkPeerMemoryFeatureFlagsKHX =-     VkPeerMemoryFeatureBitmaskKHX FlagMask--type VkPeerMemoryFeatureFlagBitsKHX =-     VkPeerMemoryFeatureBitmaskKHX FlagBit--pattern VkPeerMemoryFeatureFlagBitsKHX ::-        VkFlags -> VkPeerMemoryFeatureBitmaskKHX FlagBit--pattern VkPeerMemoryFeatureFlagBitsKHX n =-        VkPeerMemoryFeatureBitmaskKHX n--pattern VkPeerMemoryFeatureFlagsKHX ::-        VkFlags -> VkPeerMemoryFeatureBitmaskKHX FlagMask--pattern VkPeerMemoryFeatureFlagsKHX n =-        VkPeerMemoryFeatureBitmaskKHX n--deriving instance Bits (VkPeerMemoryFeatureBitmaskKHX FlagMask)--deriving instance-         FiniteBits (VkPeerMemoryFeatureBitmaskKHX FlagMask)--deriving instance Integral (VkPeerMemoryFeatureBitmaskKHX FlagMask)--deriving instance Num (VkPeerMemoryFeatureBitmaskKHX FlagMask)--deriving instance Bounded (VkPeerMemoryFeatureBitmaskKHX FlagMask)--deriving instance Enum (VkPeerMemoryFeatureBitmaskKHX FlagMask)--deriving instance Real (VkPeerMemoryFeatureBitmaskKHX FlagMask)--instance Show (VkPeerMemoryFeatureBitmaskKHX a) where-        showsPrec _ VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHX-          = showString "VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHX"-        showsPrec _ VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHX-          = showString "VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHX"-        showsPrec _ VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHX-          = showString "VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHX"-        showsPrec _ VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHX-          = showString "VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHX"-        showsPrec p (VkPeerMemoryFeatureBitmaskKHX x)-          = showParen (p >= 11)-              (showString "VkPeerMemoryFeatureBitmaskKHX " . showsPrec 11 x)--instance Read (VkPeerMemoryFeatureBitmaskKHX a) where-        readPrec-          = parens-              (choose-                 [("VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHX",-                   pure VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHX),-                  ("VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHX",-                   pure VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHX),-                  ("VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHX",-                   pure VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHX),-                  ("VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHX",-                   pure VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHX)]-                 +++-                 prec 10-                   (expectP (Ident "VkPeerMemoryFeatureBitmaskKHX") >>-                      (VkPeerMemoryFeatureBitmaskKHX <$> step readPrec)))---- | Can read with vkCmdCopy commands------   bitpos = @0@-pattern VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHX ::-        VkPeerMemoryFeatureBitmaskKHX a--pattern VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHX =-        VkPeerMemoryFeatureBitmaskKHX 1---- | Can write with vkCmdCopy commands------   bitpos = @1@-pattern VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHX ::-        VkPeerMemoryFeatureBitmaskKHX a--pattern VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHX =-        VkPeerMemoryFeatureBitmaskKHX 2---- | Can read with any access type/command------   bitpos = @2@-pattern VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHX ::-        VkPeerMemoryFeatureBitmaskKHX a--pattern VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHX =-        VkPeerMemoryFeatureBitmaskKHX 4---- | Can write with and access type/command------   bitpos = @3@-pattern VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHX ::-        VkPeerMemoryFeatureBitmaskKHX a--pattern VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHX =-        VkPeerMemoryFeatureBitmaskKHX 8
src-gen/Graphics/Vulkan/Types/Enum/VkPhysicalDeviceType.hs view
@@ -23,7 +23,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkPhysicalDeviceType.html VkPhysicalDeviceType registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkPhysicalDeviceType.html VkPhysicalDeviceType registry at www.khronos.org> newtype VkPhysicalDeviceType = VkPhysicalDeviceType Int32                                  deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkPipelineBindPoint.hs view
@@ -20,7 +20,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkPipelineBindPoint.html VkPipelineBindPoint registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkPipelineBindPoint.html VkPipelineBindPoint registry at www.khronos.org> newtype VkPipelineBindPoint = VkPipelineBindPoint Int32                                 deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkPipelineCacheHeaderVersion.hs view
@@ -20,7 +20,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkPipelineCacheHeaderVersion.html VkPipelineCacheHeaderVersion registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkPipelineCacheHeaderVersion.html VkPipelineCacheHeaderVersion registry at www.khronos.org> newtype VkPipelineCacheHeaderVersion = VkPipelineCacheHeaderVersion Int32                                          deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,                                                    Generic)
+ src-gen/Graphics/Vulkan/Types/Enum/VkPointClippingBehavior.hs view
@@ -0,0 +1,60 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkPointClippingBehavior+       (VkPointClippingBehavior(VkPointClippingBehavior,+                                VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,+                                VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY))+       where+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           GHC.Read                        (choose, expectP)+import           Graphics.Vulkan.Marshal         (Int32)+import           Text.ParserCombinators.ReadPrec (prec, step, (+++))+import           Text.Read                       (Read (..), parens)+import           Text.Read.Lex                   (Lexeme (..))++-- | type = @enum@+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkPointClippingBehavior.html VkPointClippingBehavior registry at www.khronos.org>+newtype VkPointClippingBehavior = VkPointClippingBehavior Int32+                                    deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkPointClippingBehavior where+        showsPrec _ VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES+          = showString "VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES"+        showsPrec _ VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY+          = showString "VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY"+        showsPrec p (VkPointClippingBehavior x)+          = showParen (p >= 11)+              (showString "VkPointClippingBehavior " . showsPrec 11 x)++instance Read VkPointClippingBehavior where+        readPrec+          = parens+              (choose+                 [("VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES",+                   pure VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES),+                  ("VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY",+                   pure VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY)]+                 ++++                 prec 10+                   (expectP (Ident "VkPointClippingBehavior") >>+                      (VkPointClippingBehavior <$> step readPrec)))++pattern VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES ::+        VkPointClippingBehavior++pattern VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES =+        VkPointClippingBehavior 0++pattern VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY ::+        VkPointClippingBehavior++pattern VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY =+        VkPointClippingBehavior 1
src-gen/Graphics/Vulkan/Types/Enum/VkPointClippingBehaviorKHR.hs view
@@ -1,61 +1,25 @@-{-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-} {-# LANGUAGE DeriveDataTypeable         #-} {-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-} module Graphics.Vulkan.Types.Enum.VkPointClippingBehaviorKHR-       (VkPointClippingBehaviorKHR(VkPointClippingBehaviorKHR,-                                   VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR,-                                   VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR))-       where+       (VkPointClippingBehaviorKHR(..)) where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Coerce                     (coerce) import           Data.Data                       (Data) import           Foreign.Storable                (Storable) import           GHC.Generics                    (Generic)-import           GHC.Read                        (choose, expectP)-import           Graphics.Vulkan.Marshal         (Int32)-import           Text.ParserCombinators.ReadPrec (prec, step, (+++))-import           Text.Read                       (Read (..), parens)-import           Text.Read.Lex                   (Lexeme (..))+import           Graphics.Vulkan.Types.BaseTypes (VkFlags) --- | type = @enum@------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkPointClippingBehaviorKHR.html VkPointClippingBehaviorKHR registry at www.khronos.org>-newtype VkPointClippingBehaviorKHR = VkPointClippingBehaviorKHR Int32-                                       deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,-                                                 Generic)+newtype VkPointClippingBehaviorKHR = VkPointClippingBehaviorKHR VkFlags+                                       deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                 FiniteBits, Storable, Real, Data, Generic)  instance Show VkPointClippingBehaviorKHR where-        showsPrec _ VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR-          = showString "VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR"-        showsPrec _ VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR-          = showString "VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR"-        showsPrec p (VkPointClippingBehaviorKHR x)-          = showParen (p >= 11)-              (showString "VkPointClippingBehaviorKHR " . showsPrec 11 x)+        {-# INLINE show #-}+        show (VkPointClippingBehaviorKHR x) = show x  instance Read VkPointClippingBehaviorKHR where-        readPrec-          = parens-              (choose-                 [("VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR",-                   pure VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR),-                  ("VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR",-                   pure VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR)]-                 +++-                 prec 10-                   (expectP (Ident "VkPointClippingBehaviorKHR") >>-                      (VkPointClippingBehaviorKHR <$> step readPrec)))--pattern VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR ::-        VkPointClippingBehaviorKHR--pattern VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR =-        VkPointClippingBehaviorKHR 0--pattern VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR ::-        VkPointClippingBehaviorKHR--pattern VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR =-        VkPointClippingBehaviorKHR 1+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
src-gen/Graphics/Vulkan/Types/Enum/VkPolygonMode.hs view
@@ -20,7 +20,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkPolygonMode.html VkPolygonMode registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkPolygonMode.html VkPolygonMode registry at www.khronos.org> newtype VkPolygonMode = VkPolygonMode Int32                           deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkPresentModeKHR.hs view
@@ -21,7 +21,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkPresentModeKHR.html VkPresentModeKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkPresentModeKHR.html VkPresentModeKHR registry at www.khronos.org> newtype VkPresentModeKHR = VkPresentModeKHR Int32                              deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkPrimitiveTopology.hs view
@@ -29,7 +29,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkPrimitiveTopology.html VkPrimitiveTopology registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkPrimitiveTopology.html VkPrimitiveTopology registry at www.khronos.org> newtype VkPrimitiveTopology = VkPrimitiveTopology Int32                                 deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkQueryType.hs view
@@ -20,7 +20,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkQueryType.html VkQueryType registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkQueryType.html VkQueryType registry at www.khronos.org> newtype VkQueryType = VkQueryType Int32                         deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkQueueGlobalPriorityEXT.hs view
@@ -23,7 +23,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkQueueGlobalPriorityEXT.html VkQueueGlobalPriorityEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkQueueGlobalPriorityEXT.html VkQueueGlobalPriorityEXT registry at www.khronos.org> newtype VkQueueGlobalPriorityEXT = VkQueueGlobalPriorityEXT Int32                                      deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkRasterizationOrderAMD.hs view
@@ -21,7 +21,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkRasterizationOrderAMD.html VkRasterizationOrderAMD registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkRasterizationOrderAMD.html VkRasterizationOrderAMD registry at www.khronos.org> newtype VkRasterizationOrderAMD = VkRasterizationOrderAMD Int32                                     deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkResult.hs view
@@ -29,7 +29,7 @@ --   type = @enum@ -- -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkResult.html VkResult registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkResult.html VkResult registry at www.khronos.org> newtype VkResult = VkResult Int32                      deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkSamplerAddressMode.hs view
@@ -23,7 +23,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkSamplerAddressMode.html VkSamplerAddressMode registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkSamplerAddressMode.html VkSamplerAddressMode registry at www.khronos.org> newtype VkSamplerAddressMode = VkSamplerAddressMode Int32                                  deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkSamplerMipmapMode.hs view
@@ -20,7 +20,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkSamplerMipmapMode.html VkSamplerMipmapMode registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkSamplerMipmapMode.html VkSamplerMipmapMode registry at www.khronos.org> newtype VkSamplerMipmapMode = VkSamplerMipmapMode Int32                                 deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkSamplerReductionModeEXT.hs view
@@ -22,7 +22,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkSamplerReductionModeEXT.html VkSamplerReductionModeEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkSamplerReductionModeEXT.html VkSamplerReductionModeEXT registry at www.khronos.org> newtype VkSamplerReductionModeEXT = VkSamplerReductionModeEXT Int32                                       deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,                                                 Generic)
+ src-gen/Graphics/Vulkan/Types/Enum/VkSamplerYcbcrModelConversion.hs view
@@ -0,0 +1,98 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversion+       (VkSamplerYcbcrModelConversion(VkSamplerYcbcrModelConversion,+                                      VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,+                                      VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,+                                      VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,+                                      VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,+                                      VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020))+       where+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           GHC.Read                        (choose, expectP)+import           Graphics.Vulkan.Marshal         (Int32)+import           Text.ParserCombinators.ReadPrec (prec, step, (+++))+import           Text.Read                       (Read (..), parens)+import           Text.Read.Lex                   (Lexeme (..))++-- | type = @enum@+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkSamplerYcbcrModelConversion.html VkSamplerYcbcrModelConversion registry at www.khronos.org>+newtype VkSamplerYcbcrModelConversion = VkSamplerYcbcrModelConversion Int32+                                          deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,+                                                    Generic)++instance Show VkSamplerYcbcrModelConversion where+        showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY+          = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY"+        showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY+          = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY"+        showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709+          = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709"+        showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601+          = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601"+        showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020+          = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020"+        showsPrec p (VkSamplerYcbcrModelConversion x)+          = showParen (p >= 11)+              (showString "VkSamplerYcbcrModelConversion " . showsPrec 11 x)++instance Read VkSamplerYcbcrModelConversion where+        readPrec+          = parens+              (choose+                 [("VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY",+                   pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY),+                  ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY",+                   pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY),+                  ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709",+                   pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709),+                  ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601",+                   pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601),+                  ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020",+                   pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020)]+                 ++++                 prec 10+                   (expectP (Ident "VkSamplerYcbcrModelConversion") >>+                      (VkSamplerYcbcrModelConversion <$> step readPrec)))++pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY ::+        VkSamplerYcbcrModelConversion++pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY =+        VkSamplerYcbcrModelConversion 0++-- | just range expansion+pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY ::+        VkSamplerYcbcrModelConversion++pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY =+        VkSamplerYcbcrModelConversion 1++-- | aka HD YUV+pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 ::+        VkSamplerYcbcrModelConversion++pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 =+        VkSamplerYcbcrModelConversion 2++-- | aka SD YUV+pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 ::+        VkSamplerYcbcrModelConversion++pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 =+        VkSamplerYcbcrModelConversion 3++-- | aka UHD YUV+pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 ::+        VkSamplerYcbcrModelConversion++pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 =+        VkSamplerYcbcrModelConversion 4
src-gen/Graphics/Vulkan/Types/Enum/VkSamplerYcbcrModelConversionKHR.hs view
@@ -1,98 +1,25 @@-{-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-} {-# LANGUAGE DeriveDataTypeable         #-} {-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-} module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversionKHR-       (VkSamplerYcbcrModelConversionKHR(VkSamplerYcbcrModelConversionKHR,-                                         VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR,-                                         VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR,-                                         VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR,-                                         VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR,-                                         VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR))-       where+       (VkSamplerYcbcrModelConversionKHR(..)) where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Coerce                     (coerce) import           Data.Data                       (Data) import           Foreign.Storable                (Storable) import           GHC.Generics                    (Generic)-import           GHC.Read                        (choose, expectP)-import           Graphics.Vulkan.Marshal         (Int32)-import           Text.ParserCombinators.ReadPrec (prec, step, (+++))-import           Text.Read                       (Read (..), parens)-import           Text.Read.Lex                   (Lexeme (..))+import           Graphics.Vulkan.Types.BaseTypes (VkFlags) --- | type = @enum@------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkSamplerYcbcrModelConversionKHR.html VkSamplerYcbcrModelConversionKHR registry at www.khronos.org>-newtype VkSamplerYcbcrModelConversionKHR = VkSamplerYcbcrModelConversionKHR Int32-                                             deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,-                                                       Generic)+newtype VkSamplerYcbcrModelConversionKHR = VkSamplerYcbcrModelConversionKHR VkFlags+                                             deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                       FiniteBits, Storable, Real, Data, Generic)  instance Show VkSamplerYcbcrModelConversionKHR where-        showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR-          = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR"-        showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR-          = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR"-        showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR-          = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR"-        showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR-          = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR"-        showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR-          = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR"-        showsPrec p (VkSamplerYcbcrModelConversionKHR x)-          = showParen (p >= 11)-              (showString "VkSamplerYcbcrModelConversionKHR " . showsPrec 11 x)+        {-# INLINE show #-}+        show (VkSamplerYcbcrModelConversionKHR x) = show x  instance Read VkSamplerYcbcrModelConversionKHR where-        readPrec-          = parens-              (choose-                 [("VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR",-                   pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR),-                  ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR",-                   pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR),-                  ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR",-                   pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR),-                  ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR",-                   pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR),-                  ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR",-                   pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR)]-                 +++-                 prec 10-                   (expectP (Ident "VkSamplerYcbcrModelConversionKHR") >>-                      (VkSamplerYcbcrModelConversionKHR <$> step readPrec)))--pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR ::-        VkSamplerYcbcrModelConversionKHR--pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR =-        VkSamplerYcbcrModelConversionKHR 0---- | just range expansion-pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR ::-        VkSamplerYcbcrModelConversionKHR--pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR =-        VkSamplerYcbcrModelConversionKHR 1---- | aka HD YUV-pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR ::-        VkSamplerYcbcrModelConversionKHR--pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR =-        VkSamplerYcbcrModelConversionKHR 2---- | aka SD YUV-pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR ::-        VkSamplerYcbcrModelConversionKHR--pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR =-        VkSamplerYcbcrModelConversionKHR 3---- | aka UHD YUV-pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR ::-        VkSamplerYcbcrModelConversionKHR--pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR =-        VkSamplerYcbcrModelConversionKHR 4+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkSamplerYcbcrRange.hs view
@@ -0,0 +1,58 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRange+       (VkSamplerYcbcrRange(VkSamplerYcbcrRange,+                            VK_SAMPLER_YCBCR_RANGE_ITU_FULL,+                            VK_SAMPLER_YCBCR_RANGE_ITU_NARROW))+       where+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           GHC.Read                        (choose, expectP)+import           Graphics.Vulkan.Marshal         (Int32)+import           Text.ParserCombinators.ReadPrec (prec, step, (+++))+import           Text.Read                       (Read (..), parens)+import           Text.Read.Lex                   (Lexeme (..))++-- | type = @enum@+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkSamplerYcbcrRange.html VkSamplerYcbcrRange registry at www.khronos.org>+newtype VkSamplerYcbcrRange = VkSamplerYcbcrRange Int32+                                deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkSamplerYcbcrRange where+        showsPrec _ VK_SAMPLER_YCBCR_RANGE_ITU_FULL+          = showString "VK_SAMPLER_YCBCR_RANGE_ITU_FULL"+        showsPrec _ VK_SAMPLER_YCBCR_RANGE_ITU_NARROW+          = showString "VK_SAMPLER_YCBCR_RANGE_ITU_NARROW"+        showsPrec p (VkSamplerYcbcrRange x)+          = showParen (p >= 11)+              (showString "VkSamplerYcbcrRange " . showsPrec 11 x)++instance Read VkSamplerYcbcrRange where+        readPrec+          = parens+              (choose+                 [("VK_SAMPLER_YCBCR_RANGE_ITU_FULL",+                   pure VK_SAMPLER_YCBCR_RANGE_ITU_FULL),+                  ("VK_SAMPLER_YCBCR_RANGE_ITU_NARROW",+                   pure VK_SAMPLER_YCBCR_RANGE_ITU_NARROW)]+                 ++++                 prec 10+                   (expectP (Ident "VkSamplerYcbcrRange") >>+                      (VkSamplerYcbcrRange <$> step readPrec)))++-- | Luma 0..1 maps to 0..255, chroma -0.5..0.5 to 1..255 (clamped)+pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL :: VkSamplerYcbcrRange++pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL = VkSamplerYcbcrRange 0++-- | Luma 0..1 maps to 16..235, chroma -0.5..0.5 to 16..240+pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW :: VkSamplerYcbcrRange++pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = VkSamplerYcbcrRange 1
src-gen/Graphics/Vulkan/Types/Enum/VkSamplerYcbcrRangeKHR.hs view
@@ -1,62 +1,25 @@-{-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-} {-# LANGUAGE DeriveDataTypeable         #-} {-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-} module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRangeKHR-       (VkSamplerYcbcrRangeKHR(VkSamplerYcbcrRangeKHR,-                               VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR,-                               VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR))-       where+       (VkSamplerYcbcrRangeKHR(..)) where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Coerce                     (coerce) import           Data.Data                       (Data) import           Foreign.Storable                (Storable) import           GHC.Generics                    (Generic)-import           GHC.Read                        (choose, expectP)-import           Graphics.Vulkan.Marshal         (Int32)-import           Text.ParserCombinators.ReadPrec (prec, step, (+++))-import           Text.Read                       (Read (..), parens)-import           Text.Read.Lex                   (Lexeme (..))+import           Graphics.Vulkan.Types.BaseTypes (VkFlags) --- | type = @enum@------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkSamplerYcbcrRangeKHR.html VkSamplerYcbcrRangeKHR registry at www.khronos.org>-newtype VkSamplerYcbcrRangeKHR = VkSamplerYcbcrRangeKHR Int32-                                   deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)+newtype VkSamplerYcbcrRangeKHR = VkSamplerYcbcrRangeKHR VkFlags+                                   deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                             FiniteBits, Storable, Real, Data, Generic)  instance Show VkSamplerYcbcrRangeKHR where-        showsPrec _ VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR-          = showString "VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR"-        showsPrec _ VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR-          = showString "VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR"-        showsPrec p (VkSamplerYcbcrRangeKHR x)-          = showParen (p >= 11)-              (showString "VkSamplerYcbcrRangeKHR " . showsPrec 11 x)+        {-# INLINE show #-}+        show (VkSamplerYcbcrRangeKHR x) = show x  instance Read VkSamplerYcbcrRangeKHR where-        readPrec-          = parens-              (choose-                 [("VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR",-                   pure VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR),-                  ("VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR",-                   pure VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR)]-                 +++-                 prec 10-                   (expectP (Ident "VkSamplerYcbcrRangeKHR") >>-                      (VkSamplerYcbcrRangeKHR <$> step readPrec)))---- | Luma 0..1 maps to 0..255, chroma -0.5..0.5 to 1..255 (clamped)-pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR ::-        VkSamplerYcbcrRangeKHR--pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR =-        VkSamplerYcbcrRangeKHR 0---- | Luma 0..1 maps to 16..235, chroma -0.5..0.5 to 16..240-pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR ::-        VkSamplerYcbcrRangeKHR--pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR =-        VkSamplerYcbcrRangeKHR 1+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkSemaphoreImportFlagBitsKHR.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlagBitsKHR+       (VkSemaphoreImportFlagBitsKHR(..)) where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Coerce                     (coerce)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags)++newtype VkSemaphoreImportFlagBitsKHR = VkSemaphoreImportFlagBitsKHR VkFlags+                                         deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                   FiniteBits, Storable, Real, Data, Generic)++instance Show VkSemaphoreImportFlagBitsKHR where+        {-# INLINE show #-}+        show (VkSemaphoreImportFlagBitsKHR x) = show x++instance Read VkSemaphoreImportFlagBitsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkSemaphoreImportFlags.hs view
@@ -0,0 +1,84 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE FlexibleInstances          #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures             #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE StandaloneDeriving         #-}+{-# LANGUAGE Strict                     #-}+{-# LANGUAGE TypeSynonymInstances       #-}+module Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlags+       (VkSemaphoreImportBitmask(VkSemaphoreImportBitmask,+                                 VkSemaphoreImportFlags, VkSemaphoreImportFlagBits,+                                 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT),+        VkSemaphoreImportFlags, VkSemaphoreImportFlagBits)+       where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           GHC.Read                        (choose, expectP)+import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import           Text.ParserCombinators.ReadPrec (prec, step, (+++))+import           Text.Read                       (Read (..), parens)+import           Text.Read.Lex                   (Lexeme (..))++newtype VkSemaphoreImportBitmask (a ::+                                    FlagType) = VkSemaphoreImportBitmask VkFlags+                                                  deriving (Eq, Ord, Storable, Data, Generic)++type VkSemaphoreImportFlags = VkSemaphoreImportBitmask FlagMask++type VkSemaphoreImportFlagBits = VkSemaphoreImportBitmask FlagBit++pattern VkSemaphoreImportFlagBits ::+        VkFlags -> VkSemaphoreImportBitmask FlagBit++pattern VkSemaphoreImportFlagBits n = VkSemaphoreImportBitmask n++pattern VkSemaphoreImportFlags ::+        VkFlags -> VkSemaphoreImportBitmask FlagMask++pattern VkSemaphoreImportFlags n = VkSemaphoreImportBitmask n++deriving instance Bits (VkSemaphoreImportBitmask FlagMask)++deriving instance FiniteBits (VkSemaphoreImportBitmask FlagMask)++deriving instance Integral (VkSemaphoreImportBitmask FlagMask)++deriving instance Num (VkSemaphoreImportBitmask FlagMask)++deriving instance Bounded (VkSemaphoreImportBitmask FlagMask)++deriving instance Enum (VkSemaphoreImportBitmask FlagMask)++deriving instance Real (VkSemaphoreImportBitmask FlagMask)++instance Show (VkSemaphoreImportBitmask a) where+        showsPrec _ VK_SEMAPHORE_IMPORT_TEMPORARY_BIT+          = showString "VK_SEMAPHORE_IMPORT_TEMPORARY_BIT"+        showsPrec p (VkSemaphoreImportBitmask x)+          = showParen (p >= 11)+              (showString "VkSemaphoreImportBitmask " . showsPrec 11 x)++instance Read (VkSemaphoreImportBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_SEMAPHORE_IMPORT_TEMPORARY_BIT",+                   pure VK_SEMAPHORE_IMPORT_TEMPORARY_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkSemaphoreImportBitmask") >>+                      (VkSemaphoreImportBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_SEMAPHORE_IMPORT_TEMPORARY_BIT ::+        VkSemaphoreImportBitmask a++pattern VK_SEMAPHORE_IMPORT_TEMPORARY_BIT =+        VkSemaphoreImportBitmask 1
− src-gen/Graphics/Vulkan/Types/Enum/VkSemaphoreImportFlagsKHR.hs
@@ -1,87 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds                  #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-}-{-# LANGUAGE FlexibleInstances          #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures             #-}-{-# LANGUAGE PatternSynonyms            #-}-{-# LANGUAGE StandaloneDeriving         #-}-{-# LANGUAGE Strict                     #-}-{-# LANGUAGE TypeSynonymInstances       #-}-module Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlagsKHR-       (VkSemaphoreImportBitmaskKHR(VkSemaphoreImportBitmaskKHR,-                                    VkSemaphoreImportFlagsKHR, VkSemaphoreImportFlagBitsKHR,-                                    VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR),-        VkSemaphoreImportFlagsKHR, VkSemaphoreImportFlagBitsKHR)-       where-import           Data.Bits                       (Bits, FiniteBits)-import           Data.Data                       (Data)-import           Foreign.Storable                (Storable)-import           GHC.Generics                    (Generic)-import           GHC.Read                        (choose, expectP)-import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)-import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import           Text.ParserCombinators.ReadPrec (prec, step, (+++))-import           Text.Read                       (Read (..), parens)-import           Text.Read.Lex                   (Lexeme (..))--newtype VkSemaphoreImportBitmaskKHR (a ::-                                       FlagType) = VkSemaphoreImportBitmaskKHR VkFlags-                                                     deriving (Eq, Ord, Storable, Data, Generic)--type VkSemaphoreImportFlagsKHR =-     VkSemaphoreImportBitmaskKHR FlagMask--type VkSemaphoreImportFlagBitsKHR =-     VkSemaphoreImportBitmaskKHR FlagBit--pattern VkSemaphoreImportFlagBitsKHR ::-        VkFlags -> VkSemaphoreImportBitmaskKHR FlagBit--pattern VkSemaphoreImportFlagBitsKHR n =-        VkSemaphoreImportBitmaskKHR n--pattern VkSemaphoreImportFlagsKHR ::-        VkFlags -> VkSemaphoreImportBitmaskKHR FlagMask--pattern VkSemaphoreImportFlagsKHR n = VkSemaphoreImportBitmaskKHR n--deriving instance Bits (VkSemaphoreImportBitmaskKHR FlagMask)--deriving instance FiniteBits (VkSemaphoreImportBitmaskKHR FlagMask)--deriving instance Integral (VkSemaphoreImportBitmaskKHR FlagMask)--deriving instance Num (VkSemaphoreImportBitmaskKHR FlagMask)--deriving instance Bounded (VkSemaphoreImportBitmaskKHR FlagMask)--deriving instance Enum (VkSemaphoreImportBitmaskKHR FlagMask)--deriving instance Real (VkSemaphoreImportBitmaskKHR FlagMask)--instance Show (VkSemaphoreImportBitmaskKHR a) where-        showsPrec _ VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR-          = showString "VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR"-        showsPrec p (VkSemaphoreImportBitmaskKHR x)-          = showParen (p >= 11)-              (showString "VkSemaphoreImportBitmaskKHR " . showsPrec 11 x)--instance Read (VkSemaphoreImportBitmaskKHR a) where-        readPrec-          = parens-              (choose-                 [("VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR",-                   pure VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR)]-                 +++-                 prec 10-                   (expectP (Ident "VkSemaphoreImportBitmaskKHR") >>-                      (VkSemaphoreImportBitmaskKHR <$> step readPrec)))---- | bitpos = @0@-pattern VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR ::-        VkSemaphoreImportBitmaskKHR a--pattern VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR =-        VkSemaphoreImportBitmaskKHR 1
src-gen/Graphics/Vulkan/Types/Enum/VkShaderInfoTypeAMD.hs view
@@ -21,7 +21,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkShaderInfoTypeAMD.html VkShaderInfoTypeAMD registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkShaderInfoTypeAMD.html VkShaderInfoTypeAMD registry at www.khronos.org> newtype VkShaderInfoTypeAMD = VkShaderInfoTypeAMD Int32                                 deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkSharingMode.hs view
@@ -20,7 +20,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkSharingMode.html VkSharingMode registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkSharingMode.html VkSharingMode registry at www.khronos.org> newtype VkSharingMode = VkSharingMode Int32                           deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkStencilOp.hs view
@@ -23,7 +23,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkStencilOp.html VkStencilOp registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkStencilOp.html VkStencilOp registry at www.khronos.org> newtype VkStencilOp = VkStencilOp Int32                         deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkStructureType.hs view
@@ -71,7 +71,7 @@ --   type = @enum@ -- -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkStructureType.html VkStructureType registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkStructureType.html VkStructureType registry at www.khronos.org> newtype VkStructureType = VkStructureType Int32                             deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
+ src-gen/Graphics/Vulkan/Types/Enum/VkSubgroupFeatureFlags.hs view
@@ -0,0 +1,174 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE FlexibleInstances          #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures             #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE StandaloneDeriving         #-}+{-# LANGUAGE Strict                     #-}+{-# LANGUAGE TypeSynonymInstances       #-}+module Graphics.Vulkan.Types.Enum.VkSubgroupFeatureFlags+       (VkSubgroupFeatureBitmask(VkSubgroupFeatureBitmask,+                                 VkSubgroupFeatureFlags, VkSubgroupFeatureFlagBits,+                                 VK_SUBGROUP_FEATURE_BASIC_BIT, VK_SUBGROUP_FEATURE_VOTE_BIT,+                                 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT, VK_SUBGROUP_FEATURE_BALLOT_BIT,+                                 VK_SUBGROUP_FEATURE_SHUFFLE_BIT,+                                 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT,+                                 VK_SUBGROUP_FEATURE_CLUSTERED_BIT, VK_SUBGROUP_FEATURE_QUAD_BIT),+        VkSubgroupFeatureFlags, VkSubgroupFeatureFlagBits)+       where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           GHC.Read                        (choose, expectP)+import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)+import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import           Text.ParserCombinators.ReadPrec (prec, step, (+++))+import           Text.Read                       (Read (..), parens)+import           Text.Read.Lex                   (Lexeme (..))++newtype VkSubgroupFeatureBitmask (a ::+                                    FlagType) = VkSubgroupFeatureBitmask VkFlags+                                                  deriving (Eq, Ord, Storable, Data, Generic)++type VkSubgroupFeatureFlags = VkSubgroupFeatureBitmask FlagMask++type VkSubgroupFeatureFlagBits = VkSubgroupFeatureBitmask FlagBit++pattern VkSubgroupFeatureFlagBits ::+        VkFlags -> VkSubgroupFeatureBitmask FlagBit++pattern VkSubgroupFeatureFlagBits n = VkSubgroupFeatureBitmask n++pattern VkSubgroupFeatureFlags ::+        VkFlags -> VkSubgroupFeatureBitmask FlagMask++pattern VkSubgroupFeatureFlags n = VkSubgroupFeatureBitmask n++deriving instance Bits (VkSubgroupFeatureBitmask FlagMask)++deriving instance FiniteBits (VkSubgroupFeatureBitmask FlagMask)++deriving instance Integral (VkSubgroupFeatureBitmask FlagMask)++deriving instance Num (VkSubgroupFeatureBitmask FlagMask)++deriving instance Bounded (VkSubgroupFeatureBitmask FlagMask)++deriving instance Enum (VkSubgroupFeatureBitmask FlagMask)++deriving instance Real (VkSubgroupFeatureBitmask FlagMask)++instance Show (VkSubgroupFeatureBitmask a) where+        showsPrec _ VK_SUBGROUP_FEATURE_BASIC_BIT+          = showString "VK_SUBGROUP_FEATURE_BASIC_BIT"+        showsPrec _ VK_SUBGROUP_FEATURE_VOTE_BIT+          = showString "VK_SUBGROUP_FEATURE_VOTE_BIT"+        showsPrec _ VK_SUBGROUP_FEATURE_ARITHMETIC_BIT+          = showString "VK_SUBGROUP_FEATURE_ARITHMETIC_BIT"+        showsPrec _ VK_SUBGROUP_FEATURE_BALLOT_BIT+          = showString "VK_SUBGROUP_FEATURE_BALLOT_BIT"+        showsPrec _ VK_SUBGROUP_FEATURE_SHUFFLE_BIT+          = showString "VK_SUBGROUP_FEATURE_SHUFFLE_BIT"+        showsPrec _ VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT+          = showString "VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT"+        showsPrec _ VK_SUBGROUP_FEATURE_CLUSTERED_BIT+          = showString "VK_SUBGROUP_FEATURE_CLUSTERED_BIT"+        showsPrec _ VK_SUBGROUP_FEATURE_QUAD_BIT+          = showString "VK_SUBGROUP_FEATURE_QUAD_BIT"+        showsPrec p (VkSubgroupFeatureBitmask x)+          = showParen (p >= 11)+              (showString "VkSubgroupFeatureBitmask " . showsPrec 11 x)++instance Read (VkSubgroupFeatureBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_SUBGROUP_FEATURE_BASIC_BIT",+                   pure VK_SUBGROUP_FEATURE_BASIC_BIT),+                  ("VK_SUBGROUP_FEATURE_VOTE_BIT",+                   pure VK_SUBGROUP_FEATURE_VOTE_BIT),+                  ("VK_SUBGROUP_FEATURE_ARITHMETIC_BIT",+                   pure VK_SUBGROUP_FEATURE_ARITHMETIC_BIT),+                  ("VK_SUBGROUP_FEATURE_BALLOT_BIT",+                   pure VK_SUBGROUP_FEATURE_BALLOT_BIT),+                  ("VK_SUBGROUP_FEATURE_SHUFFLE_BIT",+                   pure VK_SUBGROUP_FEATURE_SHUFFLE_BIT),+                  ("VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT",+                   pure VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT),+                  ("VK_SUBGROUP_FEATURE_CLUSTERED_BIT",+                   pure VK_SUBGROUP_FEATURE_CLUSTERED_BIT),+                  ("VK_SUBGROUP_FEATURE_QUAD_BIT",+                   pure VK_SUBGROUP_FEATURE_QUAD_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkSubgroupFeatureBitmask") >>+                      (VkSubgroupFeatureBitmask <$> step readPrec)))++-- | Basic subgroup operations+--+--   bitpos = @0@+pattern VK_SUBGROUP_FEATURE_BASIC_BIT :: VkSubgroupFeatureBitmask a++pattern VK_SUBGROUP_FEATURE_BASIC_BIT = VkSubgroupFeatureBitmask 1++-- | Vote subgroup operations+--+--   bitpos = @1@+pattern VK_SUBGROUP_FEATURE_VOTE_BIT :: VkSubgroupFeatureBitmask a++pattern VK_SUBGROUP_FEATURE_VOTE_BIT = VkSubgroupFeatureBitmask 2++-- | Arithmetic subgroup operations+--+--   bitpos = @2@+pattern VK_SUBGROUP_FEATURE_ARITHMETIC_BIT ::+        VkSubgroupFeatureBitmask a++pattern VK_SUBGROUP_FEATURE_ARITHMETIC_BIT =+        VkSubgroupFeatureBitmask 4++-- | Ballot subgroup operations+--+--   bitpos = @3@+pattern VK_SUBGROUP_FEATURE_BALLOT_BIT ::+        VkSubgroupFeatureBitmask a++pattern VK_SUBGROUP_FEATURE_BALLOT_BIT = VkSubgroupFeatureBitmask 8++-- | Shuffle subgroup operations+--+--   bitpos = @4@+pattern VK_SUBGROUP_FEATURE_SHUFFLE_BIT ::+        VkSubgroupFeatureBitmask a++pattern VK_SUBGROUP_FEATURE_SHUFFLE_BIT =+        VkSubgroupFeatureBitmask 16++-- | Shuffle relative subgroup operations+--+--   bitpos = @5@+pattern VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT ::+        VkSubgroupFeatureBitmask a++pattern VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT =+        VkSubgroupFeatureBitmask 32++-- | Clustered subgroup operations+--+--   bitpos = @6@+pattern VK_SUBGROUP_FEATURE_CLUSTERED_BIT ::+        VkSubgroupFeatureBitmask a++pattern VK_SUBGROUP_FEATURE_CLUSTERED_BIT =+        VkSubgroupFeatureBitmask 64++-- | Quad subgroup operations+--+--   bitpos = @7@+pattern VK_SUBGROUP_FEATURE_QUAD_BIT :: VkSubgroupFeatureBitmask a++pattern VK_SUBGROUP_FEATURE_QUAD_BIT = VkSubgroupFeatureBitmask 128
src-gen/Graphics/Vulkan/Types/Enum/VkSubpassContents.hs view
@@ -20,7 +20,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkSubpassContents.html VkSubpassContents registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkSubpassContents.html VkSubpassContents registry at www.khronos.org> newtype VkSubpassContents = VkSubpassContents Int32                               deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkSystemAllocationScope.hs view
@@ -24,7 +24,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkSystemAllocationScope.html VkSystemAllocationScope registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkSystemAllocationScope.html VkSystemAllocationScope registry at www.khronos.org> newtype VkSystemAllocationScope = VkSystemAllocationScope Int32                                     deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
+ src-gen/Graphics/Vulkan/Types/Enum/VkTessellationDomainOrigin.hs view
@@ -0,0 +1,61 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkTessellationDomainOrigin+       (VkTessellationDomainOrigin(VkTessellationDomainOrigin,+                                   VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,+                                   VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT))+       where+import           Data.Data                       (Data)+import           Foreign.Storable                (Storable)+import           GHC.Generics                    (Generic)+import           GHC.Read                        (choose, expectP)+import           Graphics.Vulkan.Marshal         (Int32)+import           Text.ParserCombinators.ReadPrec (prec, step, (+++))+import           Text.Read                       (Read (..), parens)+import           Text.Read.Lex                   (Lexeme (..))++-- | type = @enum@+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkTessellationDomainOrigin.html VkTessellationDomainOrigin registry at www.khronos.org>+newtype VkTessellationDomainOrigin = VkTessellationDomainOrigin Int32+                                       deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,+                                                 Generic)++instance Show VkTessellationDomainOrigin where+        showsPrec _ VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT+          = showString "VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT"+        showsPrec _ VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT+          = showString "VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT"+        showsPrec p (VkTessellationDomainOrigin x)+          = showParen (p >= 11)+              (showString "VkTessellationDomainOrigin " . showsPrec 11 x)++instance Read VkTessellationDomainOrigin where+        readPrec+          = parens+              (choose+                 [("VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT",+                   pure VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT),+                  ("VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT",+                   pure VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT)]+                 ++++                 prec 10+                   (expectP (Ident "VkTessellationDomainOrigin") >>+                      (VkTessellationDomainOrigin <$> step readPrec)))++pattern VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT ::+        VkTessellationDomainOrigin++pattern VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT =+        VkTessellationDomainOrigin 0++pattern VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT ::+        VkTessellationDomainOrigin++pattern VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT =+        VkTessellationDomainOrigin 1
src-gen/Graphics/Vulkan/Types/Enum/VkTessellationDomainOriginKHR.hs view
@@ -1,61 +1,25 @@-{-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds                  #-} {-# LANGUAGE DeriveDataTypeable         #-} {-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms            #-} {-# LANGUAGE Strict                     #-} module Graphics.Vulkan.Types.Enum.VkTessellationDomainOriginKHR-       (VkTessellationDomainOriginKHR(VkTessellationDomainOriginKHR,-                                      VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR,-                                      VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR))-       where+       (VkTessellationDomainOriginKHR(..)) where+import           Data.Bits                       (Bits, FiniteBits)+import           Data.Coerce                     (coerce) import           Data.Data                       (Data) import           Foreign.Storable                (Storable) import           GHC.Generics                    (Generic)-import           GHC.Read                        (choose, expectP)-import           Graphics.Vulkan.Marshal         (Int32)-import           Text.ParserCombinators.ReadPrec (prec, step, (+++))-import           Text.Read                       (Read (..), parens)-import           Text.Read.Lex                   (Lexeme (..))+import           Graphics.Vulkan.Types.BaseTypes (VkFlags) --- | type = @enum@------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkTessellationDomainOriginKHR.html VkTessellationDomainOriginKHR registry at www.khronos.org>-newtype VkTessellationDomainOriginKHR = VkTessellationDomainOriginKHR Int32-                                          deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,-                                                    Generic)+newtype VkTessellationDomainOriginKHR = VkTessellationDomainOriginKHR VkFlags+                                          deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                    FiniteBits, Storable, Real, Data, Generic)  instance Show VkTessellationDomainOriginKHR where-        showsPrec _ VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR-          = showString "VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR"-        showsPrec _ VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR-          = showString "VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR"-        showsPrec p (VkTessellationDomainOriginKHR x)-          = showParen (p >= 11)-              (showString "VkTessellationDomainOriginKHR " . showsPrec 11 x)+        {-# INLINE show #-}+        show (VkTessellationDomainOriginKHR x) = show x  instance Read VkTessellationDomainOriginKHR where-        readPrec-          = parens-              (choose-                 [("VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR",-                   pure VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR),-                  ("VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR",-                   pure VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR)]-                 +++-                 prec 10-                   (expectP (Ident "VkTessellationDomainOriginKHR") >>-                      (VkTessellationDomainOriginKHR <$> step readPrec)))--pattern VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR ::-        VkTessellationDomainOriginKHR--pattern VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR =-        VkTessellationDomainOriginKHR 0--pattern VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR ::-        VkTessellationDomainOriginKHR--pattern VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR =-        VkTessellationDomainOriginKHR 1+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
src-gen/Graphics/Vulkan/Types/Enum/VkValidationCacheHeaderVersionEXT.hs view
@@ -20,7 +20,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkValidationCacheHeaderVersionEXT.html VkValidationCacheHeaderVersionEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkValidationCacheHeaderVersionEXT.html VkValidationCacheHeaderVersionEXT registry at www.khronos.org> newtype VkValidationCacheHeaderVersionEXT = VkValidationCacheHeaderVersionEXT Int32                                               deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,                                                         Generic)
src-gen/Graphics/Vulkan/Types/Enum/VkValidationCheckEXT.hs view
@@ -20,7 +20,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkValidationCheckEXT.html VkValidationCheckEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkValidationCheckEXT.html VkValidationCheckEXT registry at www.khronos.org> newtype VkValidationCheckEXT = VkValidationCheckEXT Int32                                  deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkVertexInputRate.hs view
@@ -20,7 +20,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkVertexInputRate.html VkVertexInputRate registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkVertexInputRate.html VkVertexInputRate registry at www.khronos.org> newtype VkVertexInputRate = VkVertexInputRate Int32                               deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic) 
src-gen/Graphics/Vulkan/Types/Enum/VkViewportCoordinateSwizzleNV.hs view
@@ -27,7 +27,7 @@  -- | type = @enum@ -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkViewportCoordinateSwizzleNV.html VkViewportCoordinateSwizzleNV registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkViewportCoordinateSwizzleNV.html VkViewportCoordinateSwizzleNV registry at www.khronos.org> newtype VkViewportCoordinateSwizzleNV = VkViewportCoordinateSwizzleNV Int32                                           deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,                                                     Generic)
src-gen/Graphics/Vulkan/Types/Funcpointers.hs view
@@ -5,8 +5,12 @@         newVkAllocationFunction, unwrapVkAllocationFunction,         PFN_vkDebugReportCallbackEXT, HS_vkDebugReportCallbackEXT,         newVkDebugReportCallbackEXT, unwrapVkDebugReportCallbackEXT,-        PFN_vkFreeFunction, HS_vkFreeFunction, newVkFreeFunction,-        unwrapVkFreeFunction, PFN_vkInternalAllocationNotification,+        PFN_vkDebugUtilsMessengerCallbackEXT,+        HS_vkDebugUtilsMessengerCallbackEXT,+        newVkDebugUtilsMessengerCallbackEXT,+        unwrapVkDebugUtilsMessengerCallbackEXT, PFN_vkFreeFunction,+        HS_vkFreeFunction, newVkFreeFunction, unwrapVkFreeFunction,+        PFN_vkInternalAllocationNotification,         HS_vkInternalAllocationNotification,         newVkInternalAllocationNotification,         unwrapVkInternalAllocationNotification,@@ -18,13 +22,26 @@         unwrapVkVoidFunction)        where import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Types.BaseTypes                       (VkBool32 (..),-                                                                        VkFlags (..))-import           Graphics.Vulkan.Types.Enum.VkDebugReportFlagsEXT      (VkDebugReportBitmaskEXT (..),-                                                                        VkDebugReportFlagsEXT)-import           Graphics.Vulkan.Types.Enum.VkDebugReportObjectTypeEXT (VkDebugReportObjectTypeEXT (..))-import           Graphics.Vulkan.Types.Enum.VkInternalAllocationType   (VkInternalAllocationType (..))-import           Graphics.Vulkan.Types.Enum.VkSystemAllocationScope    (VkSystemAllocationScope (..))+import           Graphics.Vulkan.Types.BaseTypes+                                                                                    (VkBool32 (..),+                                                                                    VkFlags (..))+import           Graphics.Vulkan.Types.Enum.VkDebugReportFlagsEXT+                                                                                    (VkDebugReportBitmaskEXT (..),+                                                                                    VkDebugReportFlagsEXT)+import           Graphics.Vulkan.Types.Enum.VkDebugReportObjectTypeEXT+                                                                                    (VkDebugReportObjectTypeEXT (..))+import           Graphics.Vulkan.Types.Enum.VkDebugUtilsMessageSeverityFlagsEXT+                                                                                    (VkDebugUtilsMessageSeverityBitmaskEXT (..),+                                                                                    VkDebugUtilsMessageSeverityFlagBitsEXT)+import           Graphics.Vulkan.Types.Enum.VkDebugUtilsMessageTypeFlagsEXT+                                                                                    (VkDebugUtilsMessageTypeBitmaskEXT (..),+                                                                                    VkDebugUtilsMessageTypeFlagsEXT)+import           Graphics.Vulkan.Types.Enum.VkInternalAllocationType+                                                                                    (VkInternalAllocationType (..))+import           Graphics.Vulkan.Types.Enum.VkSystemAllocationScope+                                                                                    (VkSystemAllocationScope (..))+import           Graphics.Vulkan.Types.Struct.VkDebugUtilsMessengerCallbackDataEXT+                                                                                    (VkDebugUtilsMessengerCallbackDataEXT (..))  type HS_vkAllocationFunction =      Ptr Void ->@@ -70,6 +87,31 @@  foreign import ccall "dynamic" unwrapVkDebugReportCallbackEXT ::                PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT++type HS_vkDebugUtilsMessengerCallbackEXT =+     VkDebugUtilsMessageSeverityFlagBitsEXT ->+       VkDebugUtilsMessageTypeFlagsEXT ->+         Ptr VkDebugUtilsMessengerCallbackDataEXT -> Ptr Void -> IO VkBool32++-- | > typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(+--   >     VkDebugUtilsMessageSeverityFlagBitsEXT           messageSeverity,+--   >     VkDebugUtilsMessageTypeFlagsEXT                  messageType,+--   >     const VkDebugUtilsMessengerCallbackDataEXT*      pCallbackData,+--   >     void*                                            pUserData);+type PFN_vkDebugUtilsMessengerCallbackEXT =+     FunPtr HS_vkDebugUtilsMessengerCallbackEXT++-- | Wrap haskell function into C-callable FunPtr.+--   Note, you need to free resources after using it.+foreign import ccall "wrapper" newVkDebugUtilsMessengerCallbackEXT+               ::+               HS_vkDebugUtilsMessengerCallbackEXT ->+                 IO PFN_vkDebugUtilsMessengerCallbackEXT++foreign import ccall "dynamic"+               unwrapVkDebugUtilsMessengerCallbackEXT ::+               PFN_vkDebugUtilsMessengerCallbackEXT ->+                 HS_vkDebugUtilsMessengerCallbackEXT  type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO () 
src-gen/Graphics/Vulkan/Types/Handles.hs view
@@ -5,9 +5,11 @@        (VkBuffer, VkBuffer_T(), VkBufferView, VkBufferView_T(),         VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,         VkCommandPool_T(), VkDebugReportCallbackEXT,-        VkDebugReportCallbackEXT_T(), VkDescriptorPool,+        VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT,+        VkDebugUtilsMessengerEXT_T(), VkDescriptorPool,         VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSet_T(),         VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplate_T(),         VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),         VkDevice, VkDevice_T(), VkDeviceMemory, VkDeviceMemory_T(),         VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,@@ -20,6 +22,7 @@         VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),         VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(), VkRenderPass,         VkRenderPass_T(), VkSampler, VkSampler_T(),+        VkSamplerYcbcrConversion, VkSamplerYcbcrConversion_T(),         VkSamplerYcbcrConversionKHR, VkSamplerYcbcrConversionKHR_T(),         VkSemaphore, VkSemaphore_T(), VkShaderModule, VkShaderModule_T(),         VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR, VkSwapchainKHR_T(),@@ -52,6 +55,11 @@ -- | Opaque data type referenced by VkDebugReportCallbackEXT data VkDebugReportCallbackEXT_T +type VkDebugUtilsMessengerEXT = VkPtr VkDebugUtilsMessengerEXT_T++-- | Opaque data type referenced by VkDebugUtilsMessengerEXT+data VkDebugUtilsMessengerEXT_T+ type VkDescriptorPool = VkPtr VkDescriptorPool_T  -- | Opaque data type referenced by VkDescriptorPool@@ -67,6 +75,12 @@ -- | Opaque data type referenced by VkDescriptorSetLayout data VkDescriptorSetLayout_T +type VkDescriptorUpdateTemplate =+     VkPtr VkDescriptorUpdateTemplate_T++-- | Opaque data type referenced by VkDescriptorUpdateTemplate+data VkDescriptorUpdateTemplate_T+ type VkDescriptorUpdateTemplateKHR =      VkPtr VkDescriptorUpdateTemplateKHR_T @@ -173,6 +187,11 @@  -- | Opaque data type referenced by VkSampler data VkSampler_T++type VkSamplerYcbcrConversion = VkPtr VkSamplerYcbcrConversion_T++-- | Opaque data type referenced by VkSamplerYcbcrConversion+data VkSamplerYcbcrConversion_T  type VkSamplerYcbcrConversionKHR =      VkPtr VkSamplerYcbcrConversionKHR_T
src-gen/Graphics/Vulkan/Types/Include.hs view
@@ -3,31 +3,11 @@ {-# LANGUAGE Strict         #-} module Graphics.Vulkan.Types.Include        (-- > #include "vk_platform.h"-        ---        -- > #include <X11/Xlib.h>-        ---        -- > #include <X11/extensions/Xrandr.h>-        ---        -- > #include <android/native_window.h>-        ---        -- > #include <mir_toolkit/client_types.h>-        ---        -- > #include "vulkan.h"-        ---        -- > #include <wayland-client.h>-        ---        -- > #include <windows.h>-        ---        -- > #include <xcb/xcb.h>-        ANativeWindow, DWORD, Display, HANDLE, HINSTANCE, HWND, LPCWSTR,-        MirConnection, MirSurface, RROutput, SECURITY_ATTRIBUTES, VisualID,-        Window, WlDisplay, WlSurface, XcbConnectionT, XcbVisualidT,-        XcbWindowT)+        DWORD, Display, HANDLE, HINSTANCE, HWND, LPCWSTR, MirConnection,+        MirSurface, RROutput, SECURITY_ATTRIBUTES, VisualID, Window,+        WlDisplay, WlSurface, XcbConnectionT, XcbVisualidT, XcbWindowT)        where import           Graphics.Vulkan.Marshal (CULong (..), CWchar (..), Ptr, Word32)---- | Requires @android/native_window.h@-data ANativeWindow  -- | Requires @windows.h@ type DWORD = Word32
+ src-gen/Graphics/Vulkan/Types/Struct/VkAcquireNextImageInfoKHR.hsc view
@@ -0,0 +1,331 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkAcquireNextImageInfoKHR+       (VkAcquireNextImageInfoKHR(..)) where+import           Foreign.Storable                           (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)+import           Graphics.Vulkan.Types.Handles              (VkFence,+                                                             VkSemaphore,+                                                             VkSwapchainKHR)+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkAcquireNextImageInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkSwapchainKHR swapchain;+--   >     uint64_t                         timeout;+--   >     VkSemaphore semaphore;+--   >     VkFence fence;+--   >     uint32_t                         deviceMask;+--   > } VkAcquireNextImageInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkAcquireNextImageInfoKHR.html VkAcquireNextImageInfoKHR registry at www.khronos.org>+data VkAcquireNextImageInfoKHR = VkAcquireNextImageInfoKHR## Addr##+                                                            ByteArray##++instance Eq VkAcquireNextImageInfoKHR where+        (VkAcquireNextImageInfoKHR## a _) ==+          x@(VkAcquireNextImageInfoKHR## b _) = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkAcquireNextImageInfoKHR where+        (VkAcquireNextImageInfoKHR## a _) `compare`+          x@(VkAcquireNextImageInfoKHR## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkAcquireNextImageInfoKHR where+        sizeOf ~_ = #{size VkAcquireNextImageInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkAcquireNextImageInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkAcquireNextImageInfoKHR where+        unsafeAddr (VkAcquireNextImageInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkAcquireNextImageInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkAcquireNextImageInfoKHR## (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkAcquireNextImageInfoKHR where+        type StructFields VkAcquireNextImageInfoKHR =+             '["sType", "pNext", "swapchain", "timeout", "semaphore", "fence", -- ' closing tick for hsc2hs+               "deviceMask"]+        type CUnionType VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs+        type StructExtends VkAcquireNextImageInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkAcquireNextImageInfoKHR where+        type FieldType "sType" VkAcquireNextImageInfoKHR = VkStructureType+        type FieldOptional "sType" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkAcquireNextImageInfoKHR =+             #{offset VkAcquireNextImageInfoKHR, sType}+        type FieldIsArray "sType" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAcquireNextImageInfoKHR, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkAcquireNextImageInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAcquireNextImageInfoKHR, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkAcquireNextImageInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkAcquireNextImageInfoKHR where+        type FieldType "pNext" VkAcquireNextImageInfoKHR = Ptr Void+        type FieldOptional "pNext" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkAcquireNextImageInfoKHR =+             #{offset VkAcquireNextImageInfoKHR, pNext}+        type FieldIsArray "pNext" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAcquireNextImageInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkAcquireNextImageInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAcquireNextImageInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkAcquireNextImageInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "swapchain" VkAcquireNextImageInfoKHR where+        type FieldType "swapchain" VkAcquireNextImageInfoKHR =+             VkSwapchainKHR+        type FieldOptional "swapchain" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "swapchain" VkAcquireNextImageInfoKHR =+             #{offset VkAcquireNextImageInfoKHR, swapchain}+        type FieldIsArray "swapchain" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAcquireNextImageInfoKHR, swapchain}++instance {-# OVERLAPPING #-}+         CanReadField "swapchain" VkAcquireNextImageInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, swapchain})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAcquireNextImageInfoKHR, swapchain}++instance {-# OVERLAPPING #-}+         CanWriteField "swapchain" VkAcquireNextImageInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, swapchain}++instance {-# OVERLAPPING #-}+         HasField "timeout" VkAcquireNextImageInfoKHR where+        type FieldType "timeout" VkAcquireNextImageInfoKHR = Word64+        type FieldOptional "timeout" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "timeout" VkAcquireNextImageInfoKHR =+             #{offset VkAcquireNextImageInfoKHR, timeout}+        type FieldIsArray "timeout" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAcquireNextImageInfoKHR, timeout}++instance {-# OVERLAPPING #-}+         CanReadField "timeout" VkAcquireNextImageInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, timeout})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAcquireNextImageInfoKHR, timeout}++instance {-# OVERLAPPING #-}+         CanWriteField "timeout" VkAcquireNextImageInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, timeout}++instance {-# OVERLAPPING #-}+         HasField "semaphore" VkAcquireNextImageInfoKHR where+        type FieldType "semaphore" VkAcquireNextImageInfoKHR = VkSemaphore+        type FieldOptional "semaphore" VkAcquireNextImageInfoKHR = 'True -- ' closing tick for hsc2hs+        type FieldOffset "semaphore" VkAcquireNextImageInfoKHR =+             #{offset VkAcquireNextImageInfoKHR, semaphore}+        type FieldIsArray "semaphore" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAcquireNextImageInfoKHR, semaphore}++instance {-# OVERLAPPING #-}+         CanReadField "semaphore" VkAcquireNextImageInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, semaphore})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAcquireNextImageInfoKHR, semaphore}++instance {-# OVERLAPPING #-}+         CanWriteField "semaphore" VkAcquireNextImageInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, semaphore}++instance {-# OVERLAPPING #-}+         HasField "fence" VkAcquireNextImageInfoKHR where+        type FieldType "fence" VkAcquireNextImageInfoKHR = VkFence+        type FieldOptional "fence" VkAcquireNextImageInfoKHR = 'True -- ' closing tick for hsc2hs+        type FieldOffset "fence" VkAcquireNextImageInfoKHR =+             #{offset VkAcquireNextImageInfoKHR, fence}+        type FieldIsArray "fence" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAcquireNextImageInfoKHR, fence}++instance {-# OVERLAPPING #-}+         CanReadField "fence" VkAcquireNextImageInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, fence})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAcquireNextImageInfoKHR, fence}++instance {-# OVERLAPPING #-}+         CanWriteField "fence" VkAcquireNextImageInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, fence}++instance {-# OVERLAPPING #-}+         HasField "deviceMask" VkAcquireNextImageInfoKHR where+        type FieldType "deviceMask" VkAcquireNextImageInfoKHR = Word32+        type FieldOptional "deviceMask" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "deviceMask" VkAcquireNextImageInfoKHR =+             #{offset VkAcquireNextImageInfoKHR, deviceMask}+        type FieldIsArray "deviceMask" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAcquireNextImageInfoKHR, deviceMask}++instance {-# OVERLAPPING #-}+         CanReadField "deviceMask" VkAcquireNextImageInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, deviceMask})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAcquireNextImageInfoKHR, deviceMask}++instance {-# OVERLAPPING #-}+         CanWriteField "deviceMask" VkAcquireNextImageInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, deviceMask}++instance Show VkAcquireNextImageInfoKHR where+        showsPrec d x+          = showString "VkAcquireNextImageInfoKHR {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "swapchain = " .+                            showsPrec d (getField @"swapchain" x) .+                              showString ", " .+                                showString "timeout = " .+                                  showsPrec d (getField @"timeout" x) .+                                    showString ", " .+                                      showString "semaphore = " .+                                        showsPrec d (getField @"semaphore" x) .+                                          showString ", " .+                                            showString "fence = " .+                                              showsPrec d (getField @"fence" x) .+                                                showString ", " .+                                                  showString "deviceMask = " .+                                                    showsPrec d (getField @"deviceMask" x) .+                                                      showChar '}'
− src-gen/Graphics/Vulkan/Types/Struct/VkAcquireNextImageInfoKHX.hsc
@@ -1,435 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkAcquireNextImageInfoKHX-       (VkAcquireNextImageInfoKHX(..)) where-import           Foreign.Storable                           (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)-import           Graphics.Vulkan.Types.Handles              (VkFence,-                                                             VkSemaphore,-                                                             VkSwapchainKHR)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                           (unsafeDupablePerformIO)---- | > typedef struct VkAcquireNextImageInfoKHX {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkSwapchainKHR swapchain;---   >     uint64_t                         timeout;---   >     VkSemaphore semaphore;---   >     VkFence fence;---   >     uint32_t                         deviceMask;---   > } VkAcquireNextImageInfoKHX;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkAcquireNextImageInfoKHX.html VkAcquireNextImageInfoKHX registry at www.khronos.org>-data VkAcquireNextImageInfoKHX = VkAcquireNextImageInfoKHX## Addr##-                                                            ByteArray##--instance Eq VkAcquireNextImageInfoKHX where-        (VkAcquireNextImageInfoKHX## a _) ==-          x@(VkAcquireNextImageInfoKHX## b _) = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkAcquireNextImageInfoKHX where-        (VkAcquireNextImageInfoKHX## a _) `compare`-          x@(VkAcquireNextImageInfoKHX## b _) = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkAcquireNextImageInfoKHX where-        sizeOf ~_ = #{size VkAcquireNextImageInfoKHX}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkAcquireNextImageInfoKHX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkAcquireNextImageInfoKHX where-        unsafeAddr (VkAcquireNextImageInfoKHX## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkAcquireNextImageInfoKHX## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkAcquireNextImageInfoKHX## (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkAcquireNextImageInfoKHX where-        type StructFields VkAcquireNextImageInfoKHX =-             '["sType", "pNext", "swapchain", "timeout", "semaphore", "fence", -- ' closing tick for hsc2hs-               "deviceMask"]-        type CUnionType VkAcquireNextImageInfoKHX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkAcquireNextImageInfoKHX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkAcquireNextImageInfoKHX = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasVkSType VkAcquireNextImageInfoKHX-         where-        type VkSTypeMType VkAcquireNextImageInfoKHX = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHX, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkAcquireNextImageInfoKHX, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkAcquireNextImageInfoKHX, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkAcquireNextImageInfoKHX, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkAcquireNextImageInfoKHX where-        type FieldType "sType" VkAcquireNextImageInfoKHX = VkStructureType-        type FieldOptional "sType" VkAcquireNextImageInfoKHX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkAcquireNextImageInfoKHX =-             #{offset VkAcquireNextImageInfoKHX, sType}-        type FieldIsArray "sType" VkAcquireNextImageInfoKHX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAcquireNextImageInfoKHX, sType}--instance CanReadField "sType" VkAcquireNextImageInfoKHX where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkAcquireNextImageInfoKHX where-        {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkAcquireNextImageInfoKHX-         where-        type VkPNextMType VkAcquireNextImageInfoKHX = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHX, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkAcquireNextImageInfoKHX, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkAcquireNextImageInfoKHX, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkAcquireNextImageInfoKHX, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkAcquireNextImageInfoKHX where-        type FieldType "pNext" VkAcquireNextImageInfoKHX = Ptr Void-        type FieldOptional "pNext" VkAcquireNextImageInfoKHX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkAcquireNextImageInfoKHX =-             #{offset VkAcquireNextImageInfoKHX, pNext}-        type FieldIsArray "pNext" VkAcquireNextImageInfoKHX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAcquireNextImageInfoKHX, pNext}--instance CanReadField "pNext" VkAcquireNextImageInfoKHX where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkAcquireNextImageInfoKHX where-        {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-}-         HasVkSwapchain VkAcquireNextImageInfoKHX where-        type VkSwapchainMType VkAcquireNextImageInfoKHX = VkSwapchainKHR--        {-# NOINLINE vkSwapchain #-}-        vkSwapchain x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHX, swapchain})--        {-# INLINE vkSwapchainByteOffset #-}-        vkSwapchainByteOffset ~_-          = #{offset VkAcquireNextImageInfoKHX, swapchain}--        {-# INLINE readVkSwapchain #-}-        readVkSwapchain p-          = peekByteOff p #{offset VkAcquireNextImageInfoKHX, swapchain}--        {-# INLINE writeVkSwapchain #-}-        writeVkSwapchain p-          = pokeByteOff p #{offset VkAcquireNextImageInfoKHX, swapchain}--instance {-# OVERLAPPING #-}-         HasField "swapchain" VkAcquireNextImageInfoKHX where-        type FieldType "swapchain" VkAcquireNextImageInfoKHX =-             VkSwapchainKHR-        type FieldOptional "swapchain" VkAcquireNextImageInfoKHX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "swapchain" VkAcquireNextImageInfoKHX =-             #{offset VkAcquireNextImageInfoKHX, swapchain}-        type FieldIsArray "swapchain" VkAcquireNextImageInfoKHX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAcquireNextImageInfoKHX, swapchain}--instance CanReadField "swapchain" VkAcquireNextImageInfoKHX where-        {-# INLINE getField #-}-        getField = vkSwapchain--        {-# INLINE readField #-}-        readField = readVkSwapchain--instance CanWriteField "swapchain" VkAcquireNextImageInfoKHX where-        {-# INLINE writeField #-}-        writeField = writeVkSwapchain--instance {-# OVERLAPPING #-} HasVkTimeout VkAcquireNextImageInfoKHX-         where-        type VkTimeoutMType VkAcquireNextImageInfoKHX = Word64--        {-# NOINLINE vkTimeout #-}-        vkTimeout x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHX, timeout})--        {-# INLINE vkTimeoutByteOffset #-}-        vkTimeoutByteOffset ~_-          = #{offset VkAcquireNextImageInfoKHX, timeout}--        {-# INLINE readVkTimeout #-}-        readVkTimeout p-          = peekByteOff p #{offset VkAcquireNextImageInfoKHX, timeout}--        {-# INLINE writeVkTimeout #-}-        writeVkTimeout p-          = pokeByteOff p #{offset VkAcquireNextImageInfoKHX, timeout}--instance {-# OVERLAPPING #-}-         HasField "timeout" VkAcquireNextImageInfoKHX where-        type FieldType "timeout" VkAcquireNextImageInfoKHX = Word64-        type FieldOptional "timeout" VkAcquireNextImageInfoKHX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "timeout" VkAcquireNextImageInfoKHX =-             #{offset VkAcquireNextImageInfoKHX, timeout}-        type FieldIsArray "timeout" VkAcquireNextImageInfoKHX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAcquireNextImageInfoKHX, timeout}--instance CanReadField "timeout" VkAcquireNextImageInfoKHX where-        {-# INLINE getField #-}-        getField = vkTimeout--        {-# INLINE readField #-}-        readField = readVkTimeout--instance CanWriteField "timeout" VkAcquireNextImageInfoKHX where-        {-# INLINE writeField #-}-        writeField = writeVkTimeout--instance {-# OVERLAPPING #-}-         HasVkSemaphore VkAcquireNextImageInfoKHX where-        type VkSemaphoreMType VkAcquireNextImageInfoKHX = VkSemaphore--        {-# NOINLINE vkSemaphore #-}-        vkSemaphore x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHX, semaphore})--        {-# INLINE vkSemaphoreByteOffset #-}-        vkSemaphoreByteOffset ~_-          = #{offset VkAcquireNextImageInfoKHX, semaphore}--        {-# INLINE readVkSemaphore #-}-        readVkSemaphore p-          = peekByteOff p #{offset VkAcquireNextImageInfoKHX, semaphore}--        {-# INLINE writeVkSemaphore #-}-        writeVkSemaphore p-          = pokeByteOff p #{offset VkAcquireNextImageInfoKHX, semaphore}--instance {-# OVERLAPPING #-}-         HasField "semaphore" VkAcquireNextImageInfoKHX where-        type FieldType "semaphore" VkAcquireNextImageInfoKHX = VkSemaphore-        type FieldOptional "semaphore" VkAcquireNextImageInfoKHX = 'True -- ' closing tick for hsc2hs-        type FieldOffset "semaphore" VkAcquireNextImageInfoKHX =-             #{offset VkAcquireNextImageInfoKHX, semaphore}-        type FieldIsArray "semaphore" VkAcquireNextImageInfoKHX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAcquireNextImageInfoKHX, semaphore}--instance CanReadField "semaphore" VkAcquireNextImageInfoKHX where-        {-# INLINE getField #-}-        getField = vkSemaphore--        {-# INLINE readField #-}-        readField = readVkSemaphore--instance CanWriteField "semaphore" VkAcquireNextImageInfoKHX where-        {-# INLINE writeField #-}-        writeField = writeVkSemaphore--instance {-# OVERLAPPING #-} HasVkFence VkAcquireNextImageInfoKHX-         where-        type VkFenceMType VkAcquireNextImageInfoKHX = VkFence--        {-# NOINLINE vkFence #-}-        vkFence x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHX, fence})--        {-# INLINE vkFenceByteOffset #-}-        vkFenceByteOffset ~_-          = #{offset VkAcquireNextImageInfoKHX, fence}--        {-# INLINE readVkFence #-}-        readVkFence p-          = peekByteOff p #{offset VkAcquireNextImageInfoKHX, fence}--        {-# INLINE writeVkFence #-}-        writeVkFence p-          = pokeByteOff p #{offset VkAcquireNextImageInfoKHX, fence}--instance {-# OVERLAPPING #-}-         HasField "fence" VkAcquireNextImageInfoKHX where-        type FieldType "fence" VkAcquireNextImageInfoKHX = VkFence-        type FieldOptional "fence" VkAcquireNextImageInfoKHX = 'True -- ' closing tick for hsc2hs-        type FieldOffset "fence" VkAcquireNextImageInfoKHX =-             #{offset VkAcquireNextImageInfoKHX, fence}-        type FieldIsArray "fence" VkAcquireNextImageInfoKHX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAcquireNextImageInfoKHX, fence}--instance CanReadField "fence" VkAcquireNextImageInfoKHX where-        {-# INLINE getField #-}-        getField = vkFence--        {-# INLINE readField #-}-        readField = readVkFence--instance CanWriteField "fence" VkAcquireNextImageInfoKHX where-        {-# INLINE writeField #-}-        writeField = writeVkFence--instance {-# OVERLAPPING #-}-         HasVkDeviceMask VkAcquireNextImageInfoKHX where-        type VkDeviceMaskMType VkAcquireNextImageInfoKHX = Word32--        {-# NOINLINE vkDeviceMask #-}-        vkDeviceMask x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHX, deviceMask})--        {-# INLINE vkDeviceMaskByteOffset #-}-        vkDeviceMaskByteOffset ~_-          = #{offset VkAcquireNextImageInfoKHX, deviceMask}--        {-# INLINE readVkDeviceMask #-}-        readVkDeviceMask p-          = peekByteOff p #{offset VkAcquireNextImageInfoKHX, deviceMask}--        {-# INLINE writeVkDeviceMask #-}-        writeVkDeviceMask p-          = pokeByteOff p #{offset VkAcquireNextImageInfoKHX, deviceMask}--instance {-# OVERLAPPING #-}-         HasField "deviceMask" VkAcquireNextImageInfoKHX where-        type FieldType "deviceMask" VkAcquireNextImageInfoKHX = Word32-        type FieldOptional "deviceMask" VkAcquireNextImageInfoKHX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "deviceMask" VkAcquireNextImageInfoKHX =-             #{offset VkAcquireNextImageInfoKHX, deviceMask}-        type FieldIsArray "deviceMask" VkAcquireNextImageInfoKHX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkAcquireNextImageInfoKHX, deviceMask}--instance CanReadField "deviceMask" VkAcquireNextImageInfoKHX where-        {-# INLINE getField #-}-        getField = vkDeviceMask--        {-# INLINE readField #-}-        readField = readVkDeviceMask--instance CanWriteField "deviceMask" VkAcquireNextImageInfoKHX where-        {-# INLINE writeField #-}-        writeField = writeVkDeviceMask--instance Show VkAcquireNextImageInfoKHX where-        showsPrec d x-          = showString "VkAcquireNextImageInfoKHX {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkSwapchain = " .-                            showsPrec d (vkSwapchain x) .-                              showString ", " .-                                showString "vkTimeout = " .-                                  showsPrec d (vkTimeout x) .-                                    showString ", " .-                                      showString "vkSemaphore = " .-                                        showsPrec d (vkSemaphore x) .-                                          showString ", " .-                                            showString "vkFence = " .-                                              showsPrec d (vkFence x) .-                                                showString ", " .-                                                  showString "vkDeviceMask = " .-                                                    showsPrec d (vkDeviceMask x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkAllocationCallbacks.hsc view
@@ -5,20 +5,20 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks        (VkAllocationCallbacks(..)) where-import           Foreign.Storable                    (Storable (..))+import           Foreign.Storable                   (Storable (..)) import           GHC.Prim import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Funcpointers  (PFN_vkAllocationFunction,-                                                      PFN_vkFreeFunction,-                                                      PFN_vkInternalAllocationNotification,-                                                      PFN_vkInternalFreeNotification,-                                                      PFN_vkReallocationFunction)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                    (unsafeDupablePerformIO)+import           Graphics.Vulkan.Types.Funcpointers (PFN_vkAllocationFunction,+                                                     PFN_vkFreeFunction,+                                                     PFN_vkInternalAllocationNotification,+                                                     PFN_vkInternalFreeNotification,+                                                     PFN_vkReallocationFunction)+import           System.IO.Unsafe                   (unsafeDupablePerformIO)  -- | > typedef struct VkAllocationCallbacks { --   >     void*           pUserData;@@ -29,7 +29,7 @@ --   >     PFN_vkInternalFreeNotification pfnInternalFree; --   > } VkAllocationCallbacks; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkAllocationCallbacks.html VkAllocationCallbacks registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkAllocationCallbacks.html VkAllocationCallbacks registry at www.khronos.org> data VkAllocationCallbacks = VkAllocationCallbacks## Addr##                                                     ByteArray## @@ -79,27 +79,6 @@         type ReturnedOnly VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs         type StructExtends VkAllocationCallbacks = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkPUserData VkAllocationCallbacks-         where-        type VkPUserDataMType VkAllocationCallbacks = Ptr Void--        {-# NOINLINE vkPUserData #-}-        vkPUserData x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pUserData})--        {-# INLINE vkPUserDataByteOffset #-}-        vkPUserDataByteOffset ~_-          = #{offset VkAllocationCallbacks, pUserData}--        {-# INLINE readVkPUserData #-}-        readVkPUserData p-          = peekByteOff p #{offset VkAllocationCallbacks, pUserData}--        {-# INLINE writeVkPUserData #-}-        writeVkPUserData p-          = pokeByteOff p #{offset VkAllocationCallbacks, pUserData}- instance {-# OVERLAPPING #-}          HasField "pUserData" VkAllocationCallbacks where         type FieldType "pUserData" VkAllocationCallbacks = Ptr Void@@ -115,38 +94,22 @@         fieldOffset           = #{offset VkAllocationCallbacks, pUserData} -instance CanReadField "pUserData" VkAllocationCallbacks where-        {-# INLINE getField #-}-        getField = vkPUserData--        {-# INLINE readField #-}-        readField = readVkPUserData--instance CanWriteField "pUserData" VkAllocationCallbacks where-        {-# INLINE writeField #-}-        writeField = writeVkPUserData- instance {-# OVERLAPPING #-}-         HasVkPfnAllocation VkAllocationCallbacks where-        type VkPfnAllocationMType VkAllocationCallbacks =-             PFN_vkAllocationFunction--        {-# NOINLINE vkPfnAllocation #-}-        vkPfnAllocation x+         CanReadField "pUserData" VkAllocationCallbacks where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnAllocation})--        {-# INLINE vkPfnAllocationByteOffset #-}-        vkPfnAllocationByteOffset ~_-          = #{offset VkAllocationCallbacks, pfnAllocation}+              (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pUserData}) -        {-# INLINE readVkPfnAllocation #-}-        readVkPfnAllocation p-          = peekByteOff p #{offset VkAllocationCallbacks, pfnAllocation}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAllocationCallbacks, pUserData} -        {-# INLINE writeVkPfnAllocation #-}-        writeVkPfnAllocation p-          = pokeByteOff p #{offset VkAllocationCallbacks, pfnAllocation}+instance {-# OVERLAPPING #-}+         CanWriteField "pUserData" VkAllocationCallbacks where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAllocationCallbacks, pUserData}  instance {-# OVERLAPPING #-}          HasField "pfnAllocation" VkAllocationCallbacks where@@ -164,38 +127,22 @@         fieldOffset           = #{offset VkAllocationCallbacks, pfnAllocation} -instance CanReadField "pfnAllocation" VkAllocationCallbacks where-        {-# INLINE getField #-}-        getField = vkPfnAllocation--        {-# INLINE readField #-}-        readField = readVkPfnAllocation--instance CanWriteField "pfnAllocation" VkAllocationCallbacks where-        {-# INLINE writeField #-}-        writeField = writeVkPfnAllocation- instance {-# OVERLAPPING #-}-         HasVkPfnReallocation VkAllocationCallbacks where-        type VkPfnReallocationMType VkAllocationCallbacks =-             PFN_vkReallocationFunction--        {-# NOINLINE vkPfnReallocation #-}-        vkPfnReallocation x+         CanReadField "pfnAllocation" VkAllocationCallbacks where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnReallocation})--        {-# INLINE vkPfnReallocationByteOffset #-}-        vkPfnReallocationByteOffset ~_-          = #{offset VkAllocationCallbacks, pfnReallocation}+              (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnAllocation}) -        {-# INLINE readVkPfnReallocation #-}-        readVkPfnReallocation p-          = peekByteOff p #{offset VkAllocationCallbacks, pfnReallocation}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAllocationCallbacks, pfnAllocation} -        {-# INLINE writeVkPfnReallocation #-}-        writeVkPfnReallocation p-          = pokeByteOff p #{offset VkAllocationCallbacks, pfnReallocation}+instance {-# OVERLAPPING #-}+         CanWriteField "pfnAllocation" VkAllocationCallbacks where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAllocationCallbacks, pfnAllocation}  instance {-# OVERLAPPING #-}          HasField "pfnReallocation" VkAllocationCallbacks where@@ -213,38 +160,22 @@         fieldOffset           = #{offset VkAllocationCallbacks, pfnReallocation} -instance CanReadField "pfnReallocation" VkAllocationCallbacks where-        {-# INLINE getField #-}-        getField = vkPfnReallocation+instance {-# OVERLAPPING #-}+         CanReadField "pfnReallocation" VkAllocationCallbacks where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnReallocation})          {-# INLINE readField #-}-        readField = readVkPfnReallocation+        readField p+          = peekByteOff p #{offset VkAllocationCallbacks, pfnReallocation} -instance CanWriteField "pfnReallocation" VkAllocationCallbacks-         where+instance {-# OVERLAPPING #-}+         CanWriteField "pfnReallocation" VkAllocationCallbacks where         {-# INLINE writeField #-}-        writeField = writeVkPfnReallocation--instance {-# OVERLAPPING #-} HasVkPfnFree VkAllocationCallbacks-         where-        type VkPfnFreeMType VkAllocationCallbacks = PFN_vkFreeFunction--        {-# NOINLINE vkPfnFree #-}-        vkPfnFree x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnFree})--        {-# INLINE vkPfnFreeByteOffset #-}-        vkPfnFreeByteOffset ~_-          = #{offset VkAllocationCallbacks, pfnFree}--        {-# INLINE readVkPfnFree #-}-        readVkPfnFree p-          = peekByteOff p #{offset VkAllocationCallbacks, pfnFree}--        {-# INLINE writeVkPfnFree #-}-        writeVkPfnFree p-          = pokeByteOff p #{offset VkAllocationCallbacks, pfnFree}+        writeField p+          = pokeByteOff p #{offset VkAllocationCallbacks, pfnReallocation}  instance {-# OVERLAPPING #-}          HasField "pfnFree" VkAllocationCallbacks where@@ -260,38 +191,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkAllocationCallbacks, pfnFree} -instance CanReadField "pfnFree" VkAllocationCallbacks where-        {-# INLINE getField #-}-        getField = vkPfnFree--        {-# INLINE readField #-}-        readField = readVkPfnFree--instance CanWriteField "pfnFree" VkAllocationCallbacks where-        {-# INLINE writeField #-}-        writeField = writeVkPfnFree- instance {-# OVERLAPPING #-}-         HasVkPfnInternalAllocation VkAllocationCallbacks where-        type VkPfnInternalAllocationMType VkAllocationCallbacks =-             PFN_vkInternalAllocationNotification--        {-# NOINLINE vkPfnInternalAllocation #-}-        vkPfnInternalAllocation x+         CanReadField "pfnFree" VkAllocationCallbacks where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnInternalAllocation})--        {-# INLINE vkPfnInternalAllocationByteOffset #-}-        vkPfnInternalAllocationByteOffset ~_-          = #{offset VkAllocationCallbacks, pfnInternalAllocation}+              (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnFree}) -        {-# INLINE readVkPfnInternalAllocation #-}-        readVkPfnInternalAllocation p-          = peekByteOff p #{offset VkAllocationCallbacks, pfnInternalAllocation}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAllocationCallbacks, pfnFree} -        {-# INLINE writeVkPfnInternalAllocation #-}-        writeVkPfnInternalAllocation p-          = pokeByteOff p #{offset VkAllocationCallbacks, pfnInternalAllocation}+instance {-# OVERLAPPING #-}+         CanWriteField "pfnFree" VkAllocationCallbacks where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAllocationCallbacks, pfnFree}  instance {-# OVERLAPPING #-}          HasField "pfnInternalAllocation" VkAllocationCallbacks where@@ -311,41 +226,22 @@         fieldOffset           = #{offset VkAllocationCallbacks, pfnInternalAllocation} -instance CanReadField "pfnInternalAllocation" VkAllocationCallbacks-         where-        {-# INLINE getField #-}-        getField = vkPfnInternalAllocation--        {-# INLINE readField #-}-        readField = readVkPfnInternalAllocation--instance CanWriteField "pfnInternalAllocation"-           VkAllocationCallbacks-         where-        {-# INLINE writeField #-}-        writeField = writeVkPfnInternalAllocation- instance {-# OVERLAPPING #-}-         HasVkPfnInternalFree VkAllocationCallbacks where-        type VkPfnInternalFreeMType VkAllocationCallbacks =-             PFN_vkInternalFreeNotification--        {-# NOINLINE vkPfnInternalFree #-}-        vkPfnInternalFree x+         CanReadField "pfnInternalAllocation" VkAllocationCallbacks where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnInternalFree})--        {-# INLINE vkPfnInternalFreeByteOffset #-}-        vkPfnInternalFreeByteOffset ~_-          = #{offset VkAllocationCallbacks, pfnInternalFree}+              (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnInternalAllocation}) -        {-# INLINE readVkPfnInternalFree #-}-        readVkPfnInternalFree p-          = peekByteOff p #{offset VkAllocationCallbacks, pfnInternalFree}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAllocationCallbacks, pfnInternalAllocation} -        {-# INLINE writeVkPfnInternalFree #-}-        writeVkPfnInternalFree p-          = pokeByteOff p #{offset VkAllocationCallbacks, pfnInternalFree}+instance {-# OVERLAPPING #-}+         CanWriteField "pfnInternalAllocation" VkAllocationCallbacks where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAllocationCallbacks, pfnInternalAllocation}  instance {-# OVERLAPPING #-}          HasField "pfnInternalFree" VkAllocationCallbacks where@@ -363,35 +259,41 @@         fieldOffset           = #{offset VkAllocationCallbacks, pfnInternalFree} -instance CanReadField "pfnInternalFree" VkAllocationCallbacks where-        {-# INLINE getField #-}-        getField = vkPfnInternalFree+instance {-# OVERLAPPING #-}+         CanReadField "pfnInternalFree" VkAllocationCallbacks where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnInternalFree})          {-# INLINE readField #-}-        readField = readVkPfnInternalFree+        readField p+          = peekByteOff p #{offset VkAllocationCallbacks, pfnInternalFree} -instance CanWriteField "pfnInternalFree" VkAllocationCallbacks-         where+instance {-# OVERLAPPING #-}+         CanWriteField "pfnInternalFree" VkAllocationCallbacks where         {-# INLINE writeField #-}-        writeField = writeVkPfnInternalFree+        writeField p+          = pokeByteOff p #{offset VkAllocationCallbacks, pfnInternalFree}  instance Show VkAllocationCallbacks where         showsPrec d x           = showString "VkAllocationCallbacks {" .-              showString "vkPUserData = " .-                showsPrec d (vkPUserData x) .+              showString "pUserData = " .+                showsPrec d (getField @"pUserData" x) .                   showString ", " .-                    showString "vkPfnAllocation = " .-                      showsPrec d (vkPfnAllocation x) .+                    showString "pfnAllocation = " .+                      showsPrec d (getField @"pfnAllocation" x) .                         showString ", " .-                          showString "vkPfnReallocation = " .-                            showsPrec d (vkPfnReallocation x) .+                          showString "pfnReallocation = " .+                            showsPrec d (getField @"pfnReallocation" x) .                               showString ", " .-                                showString "vkPfnFree = " .-                                  showsPrec d (vkPfnFree x) .+                                showString "pfnFree = " .+                                  showsPrec d (getField @"pfnFree" x) .                                     showString ", " .-                                      showString "vkPfnInternalAllocation = " .-                                        showsPrec d (vkPfnInternalAllocation x) .+                                      showString "pfnInternalAllocation = " .+                                        showsPrec d (getField @"pfnInternalAllocation" x) .                                           showString ", " .-                                            showString "vkPfnInternalFree = " .-                                              showsPrec d (vkPfnInternalFree x) . showChar '}'+                                            showString "pfnInternalFree = " .+                                              showsPrec d (getField @"pfnInternalFree" x) .+                                                showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkAndroidHardwareBufferFormatPropertiesANDROID.hsc view
@@ -0,0 +1,619 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkAndroidHardwareBufferFormatPropertiesANDROID+       (VkAndroidHardwareBufferFormatPropertiesANDROID(..)) where+import           Foreign.Storable+                                                                                        (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkChromaLocation+                                                                                        (VkChromaLocation)+import           Graphics.Vulkan.Types.Enum.VkFormat+                                                                                        (VkFormat)+import           Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags+                                                                                        (VkFormatFeatureFlags)+import           Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversion+                                                                                        (VkSamplerYcbcrModelConversion)+import           Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRange+                                                                                        (VkSamplerYcbcrRange)+import           Graphics.Vulkan.Types.Enum.VkStructureType+                                                                                        (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkAndroidHardwareBufferPropertiesANDROID+                                                                                        (VkAndroidHardwareBufferPropertiesANDROID)+import           Graphics.Vulkan.Types.Struct.VkComponentMapping+                                                                                        (VkComponentMapping)+import           System.IO.Unsafe+                                                                                        (unsafeDupablePerformIO)++-- | > typedef struct VkAndroidHardwareBufferFormatPropertiesANDROID {+--   >     VkStructureType sType;+--   >     void*                              pNext;+--   >     VkFormat                           format;+--   >     uint64_t                           externalFormat;+--   >     VkFormatFeatureFlags               formatFeatures;+--   >     VkComponentMapping                 samplerYcbcrConversionComponents;+--   >     VkSamplerYcbcrModelConversion      suggestedYcbcrModel;+--   >     VkSamplerYcbcrRange                suggestedYcbcrRange;+--   >     VkChromaLocation                   suggestedXChromaOffset;+--   >     VkChromaLocation                   suggestedYChromaOffset;+--   > } VkAndroidHardwareBufferFormatPropertiesANDROID;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkAndroidHardwareBufferFormatPropertiesANDROID.html VkAndroidHardwareBufferFormatPropertiesANDROID registry at www.khronos.org>+data VkAndroidHardwareBufferFormatPropertiesANDROID = VkAndroidHardwareBufferFormatPropertiesANDROID## Addr##+                                                                                                      ByteArray##++instance Eq VkAndroidHardwareBufferFormatPropertiesANDROID where+        (VkAndroidHardwareBufferFormatPropertiesANDROID## a _) ==+          x@(VkAndroidHardwareBufferFormatPropertiesANDROID## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkAndroidHardwareBufferFormatPropertiesANDROID where+        (VkAndroidHardwareBufferFormatPropertiesANDROID## a _) `compare`+          x@(VkAndroidHardwareBufferFormatPropertiesANDROID## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        sizeOf ~_+          = #{size VkAndroidHardwareBufferFormatPropertiesANDROID}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkAndroidHardwareBufferFormatPropertiesANDROID}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        unsafeAddr (VkAndroidHardwareBufferFormatPropertiesANDROID## a _)+          = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray+          (VkAndroidHardwareBufferFormatPropertiesANDROID## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkAndroidHardwareBufferFormatPropertiesANDROID##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        type StructFields VkAndroidHardwareBufferFormatPropertiesANDROID =+             '["sType", "pNext", "format", "externalFormat", "formatFeatures", -- ' closing tick for hsc2hs+               "samplerYcbcrConversionComponents", "suggestedYcbcrModel",+               "suggestedYcbcrRange", "suggestedXChromaOffset",+               "suggestedYChromaOffset"]+        type CUnionType VkAndroidHardwareBufferFormatPropertiesANDROID =+             'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkAndroidHardwareBufferFormatPropertiesANDROID =+             'True -- ' closing tick for hsc2hs+        type StructExtends VkAndroidHardwareBufferFormatPropertiesANDROID =+             '[VkAndroidHardwareBufferPropertiesANDROID] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        type FieldType "sType"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = VkStructureType+        type FieldOptional "sType"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             =+             #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, sType}+        type FieldIsArray "sType"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        type FieldType "pNext"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = Ptr Void+        type FieldOptional "pNext"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             =+             #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, pNext}+        type FieldIsArray "pNext"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, pNext}++instance {-# OVERLAPPING #-}+         HasField "format" VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        type FieldType "format"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = VkFormat+        type FieldOptional "format"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "format"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             =+             #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, format}+        type FieldIsArray "format"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, format}++instance {-# OVERLAPPING #-}+         CanReadField "format"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, format})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, format}++instance {-# OVERLAPPING #-}+         CanWriteField "format"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, format}++instance {-# OVERLAPPING #-}+         HasField "externalFormat"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        type FieldType "externalFormat"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = Word64+        type FieldOptional "externalFormat"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "externalFormat"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             =+             #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, externalFormat}+        type FieldIsArray "externalFormat"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, externalFormat}++instance {-# OVERLAPPING #-}+         CanReadField "externalFormat"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, externalFormat})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, externalFormat}++instance {-# OVERLAPPING #-}+         CanWriteField "externalFormat"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, externalFormat}++instance {-# OVERLAPPING #-}+         HasField "formatFeatures"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        type FieldType "formatFeatures"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = VkFormatFeatureFlags+        type FieldOptional "formatFeatures"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "formatFeatures"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             =+             #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, formatFeatures}+        type FieldIsArray "formatFeatures"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, formatFeatures}++instance {-# OVERLAPPING #-}+         CanReadField "formatFeatures"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, formatFeatures})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, formatFeatures}++instance {-# OVERLAPPING #-}+         CanWriteField "formatFeatures"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, formatFeatures}++instance {-# OVERLAPPING #-}+         HasField "samplerYcbcrConversionComponents"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        type FieldType "samplerYcbcrConversionComponents"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = VkComponentMapping+        type FieldOptional "samplerYcbcrConversionComponents"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "samplerYcbcrConversionComponents"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             =+             #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, samplerYcbcrConversionComponents}+        type FieldIsArray "samplerYcbcrConversionComponents"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, samplerYcbcrConversionComponents}++instance {-# OVERLAPPING #-}+         CanReadField "samplerYcbcrConversionComponents"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, samplerYcbcrConversionComponents})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, samplerYcbcrConversionComponents}++instance {-# OVERLAPPING #-}+         CanWriteField "samplerYcbcrConversionComponents"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, samplerYcbcrConversionComponents}++instance {-# OVERLAPPING #-}+         HasField "suggestedYcbcrModel"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        type FieldType "suggestedYcbcrModel"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = VkSamplerYcbcrModelConversion+        type FieldOptional "suggestedYcbcrModel"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "suggestedYcbcrModel"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             =+             #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrModel}+        type FieldIsArray "suggestedYcbcrModel"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrModel}++instance {-# OVERLAPPING #-}+         CanReadField "suggestedYcbcrModel"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrModel})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrModel}++instance {-# OVERLAPPING #-}+         CanWriteField "suggestedYcbcrModel"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrModel}++instance {-# OVERLAPPING #-}+         HasField "suggestedYcbcrRange"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        type FieldType "suggestedYcbcrRange"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = VkSamplerYcbcrRange+        type FieldOptional "suggestedYcbcrRange"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "suggestedYcbcrRange"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             =+             #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrRange}+        type FieldIsArray "suggestedYcbcrRange"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrRange}++instance {-# OVERLAPPING #-}+         CanReadField "suggestedYcbcrRange"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrRange})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrRange}++instance {-# OVERLAPPING #-}+         CanWriteField "suggestedYcbcrRange"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrRange}++instance {-# OVERLAPPING #-}+         HasField "suggestedXChromaOffset"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        type FieldType "suggestedXChromaOffset"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = VkChromaLocation+        type FieldOptional "suggestedXChromaOffset"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "suggestedXChromaOffset"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             =+             #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedXChromaOffset}+        type FieldIsArray "suggestedXChromaOffset"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedXChromaOffset}++instance {-# OVERLAPPING #-}+         CanReadField "suggestedXChromaOffset"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedXChromaOffset})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedXChromaOffset}++instance {-# OVERLAPPING #-}+         CanWriteField "suggestedXChromaOffset"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedXChromaOffset}++instance {-# OVERLAPPING #-}+         HasField "suggestedYChromaOffset"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        type FieldType "suggestedYChromaOffset"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = VkChromaLocation+        type FieldOptional "suggestedYChromaOffset"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "suggestedYChromaOffset"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             =+             #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYChromaOffset}+        type FieldIsArray "suggestedYChromaOffset"+               VkAndroidHardwareBufferFormatPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYChromaOffset}++instance {-# OVERLAPPING #-}+         CanReadField "suggestedYChromaOffset"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYChromaOffset})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYChromaOffset}++instance {-# OVERLAPPING #-}+         CanWriteField "suggestedYChromaOffset"+           VkAndroidHardwareBufferFormatPropertiesANDROID+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYChromaOffset}++instance Show VkAndroidHardwareBufferFormatPropertiesANDROID where+        showsPrec d x+          = showString "VkAndroidHardwareBufferFormatPropertiesANDROID {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "format = " .+                            showsPrec d (getField @"format" x) .+                              showString ", " .+                                showString "externalFormat = " .+                                  showsPrec d (getField @"externalFormat" x) .+                                    showString ", " .+                                      showString "formatFeatures = " .+                                        showsPrec d (getField @"formatFeatures" x) .+                                          showString ", " .+                                            showString "samplerYcbcrConversionComponents = " .+                                              showsPrec d+                                                (getField @"samplerYcbcrConversionComponents" x)+                                                .+                                                showString ", " .+                                                  showString "suggestedYcbcrModel = " .+                                                    showsPrec d (getField @"suggestedYcbcrModel" x)+                                                      .+                                                      showString ", " .+                                                        showString "suggestedYcbcrRange = " .+                                                          showsPrec d+                                                            (getField @"suggestedYcbcrRange" x)+                                                            .+                                                            showString ", " .+                                                              showString "suggestedXChromaOffset = "+                                                                .+                                                                showsPrec d+                                                                  (getField+                                                                     @"suggestedXChromaOffset"+                                                                     x)+                                                                  .+                                                                  showString ", " .+                                                                    showString+                                                                      "suggestedYChromaOffset = "+                                                                      .+                                                                      showsPrec d+                                                                        (getField+                                                                           @"suggestedYChromaOffset"+                                                                           x)+                                                                        . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkAndroidHardwareBufferPropertiesANDROID.hsc view
@@ -0,0 +1,259 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkAndroidHardwareBufferPropertiesANDROID+       (VkAndroidHardwareBufferPropertiesANDROID(..)) where+import           Foreign.Storable                           (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.BaseTypes            (VkDeviceSize)+import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkAndroidHardwareBufferPropertiesANDROID {+--   >     VkStructureType sType;+--   >     void*                              pNext;+--   >     VkDeviceSize                       allocationSize;+--   >     uint32_t                           memoryTypeBits;+--   > } VkAndroidHardwareBufferPropertiesANDROID;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkAndroidHardwareBufferPropertiesANDROID.html VkAndroidHardwareBufferPropertiesANDROID registry at www.khronos.org>+data VkAndroidHardwareBufferPropertiesANDROID = VkAndroidHardwareBufferPropertiesANDROID## Addr##+                                                                                          ByteArray##++instance Eq VkAndroidHardwareBufferPropertiesANDROID where+        (VkAndroidHardwareBufferPropertiesANDROID## a _) ==+          x@(VkAndroidHardwareBufferPropertiesANDROID## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkAndroidHardwareBufferPropertiesANDROID where+        (VkAndroidHardwareBufferPropertiesANDROID## a _) `compare`+          x@(VkAndroidHardwareBufferPropertiesANDROID## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkAndroidHardwareBufferPropertiesANDROID where+        sizeOf ~_+          = #{size VkAndroidHardwareBufferPropertiesANDROID}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkAndroidHardwareBufferPropertiesANDROID}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkAndroidHardwareBufferPropertiesANDROID+         where+        unsafeAddr (VkAndroidHardwareBufferPropertiesANDROID## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkAndroidHardwareBufferPropertiesANDROID## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkAndroidHardwareBufferPropertiesANDROID##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkAndroidHardwareBufferPropertiesANDROID+         where+        type StructFields VkAndroidHardwareBufferPropertiesANDROID =+             '["sType", "pNext", "allocationSize", "memoryTypeBits"] -- ' closing tick for hsc2hs+        type CUnionType VkAndroidHardwareBufferPropertiesANDROID = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkAndroidHardwareBufferPropertiesANDROID = 'True -- ' closing tick for hsc2hs+        type StructExtends VkAndroidHardwareBufferPropertiesANDROID = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkAndroidHardwareBufferPropertiesANDROID where+        type FieldType "sType" VkAndroidHardwareBufferPropertiesANDROID =+             VkStructureType+        type FieldOptional "sType" VkAndroidHardwareBufferPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkAndroidHardwareBufferPropertiesANDROID =+             #{offset VkAndroidHardwareBufferPropertiesANDROID, sType}+        type FieldIsArray "sType" VkAndroidHardwareBufferPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAndroidHardwareBufferPropertiesANDROID, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkAndroidHardwareBufferPropertiesANDROID where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferPropertiesANDROID, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkAndroidHardwareBufferPropertiesANDROID+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkAndroidHardwareBufferPropertiesANDROID where+        type FieldType "pNext" VkAndroidHardwareBufferPropertiesANDROID =+             Ptr Void+        type FieldOptional "pNext" VkAndroidHardwareBufferPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkAndroidHardwareBufferPropertiesANDROID =+             #{offset VkAndroidHardwareBufferPropertiesANDROID, pNext}+        type FieldIsArray "pNext" VkAndroidHardwareBufferPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAndroidHardwareBufferPropertiesANDROID, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkAndroidHardwareBufferPropertiesANDROID where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferPropertiesANDROID, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkAndroidHardwareBufferPropertiesANDROID+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, pNext}++instance {-# OVERLAPPING #-}+         HasField "allocationSize" VkAndroidHardwareBufferPropertiesANDROID+         where+        type FieldType "allocationSize"+               VkAndroidHardwareBufferPropertiesANDROID+             = VkDeviceSize+        type FieldOptional "allocationSize"+               VkAndroidHardwareBufferPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "allocationSize"+               VkAndroidHardwareBufferPropertiesANDROID+             =+             #{offset VkAndroidHardwareBufferPropertiesANDROID, allocationSize}+        type FieldIsArray "allocationSize"+               VkAndroidHardwareBufferPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAndroidHardwareBufferPropertiesANDROID, allocationSize}++instance {-# OVERLAPPING #-}+         CanReadField "allocationSize"+           VkAndroidHardwareBufferPropertiesANDROID+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferPropertiesANDROID, allocationSize})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, allocationSize}++instance {-# OVERLAPPING #-}+         CanWriteField "allocationSize"+           VkAndroidHardwareBufferPropertiesANDROID+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, allocationSize}++instance {-# OVERLAPPING #-}+         HasField "memoryTypeBits" VkAndroidHardwareBufferPropertiesANDROID+         where+        type FieldType "memoryTypeBits"+               VkAndroidHardwareBufferPropertiesANDROID+             = Word32+        type FieldOptional "memoryTypeBits"+               VkAndroidHardwareBufferPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "memoryTypeBits"+               VkAndroidHardwareBufferPropertiesANDROID+             =+             #{offset VkAndroidHardwareBufferPropertiesANDROID, memoryTypeBits}+        type FieldIsArray "memoryTypeBits"+               VkAndroidHardwareBufferPropertiesANDROID+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAndroidHardwareBufferPropertiesANDROID, memoryTypeBits}++instance {-# OVERLAPPING #-}+         CanReadField "memoryTypeBits"+           VkAndroidHardwareBufferPropertiesANDROID+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferPropertiesANDROID, memoryTypeBits})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, memoryTypeBits}++instance {-# OVERLAPPING #-}+         CanWriteField "memoryTypeBits"+           VkAndroidHardwareBufferPropertiesANDROID+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, memoryTypeBits}++instance Show VkAndroidHardwareBufferPropertiesANDROID where+        showsPrec d x+          = showString "VkAndroidHardwareBufferPropertiesANDROID {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "allocationSize = " .+                            showsPrec d (getField @"allocationSize" x) .+                              showString ", " .+                                showString "memoryTypeBits = " .+                                  showsPrec d (getField @"memoryTypeBits" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkAndroidHardwareBufferUsageANDROID.hsc view
@@ -0,0 +1,209 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkAndroidHardwareBufferUsageANDROID+       (VkAndroidHardwareBufferUsageANDROID(..)) where+import           Foreign.Storable                                      (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkStructureType            (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties2 (VkImageFormatProperties2)+import           System.IO.Unsafe                                      (unsafeDupablePerformIO)++-- | > typedef struct VkAndroidHardwareBufferUsageANDROID {+--   >     VkStructureType sType;+--   >     void*                              pNext;+--   >     uint64_t                           androidHardwareBufferUsage;+--   > } VkAndroidHardwareBufferUsageANDROID;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkAndroidHardwareBufferUsageANDROID.html VkAndroidHardwareBufferUsageANDROID registry at www.khronos.org>+data VkAndroidHardwareBufferUsageANDROID = VkAndroidHardwareBufferUsageANDROID## Addr##+                                                                                ByteArray##++instance Eq VkAndroidHardwareBufferUsageANDROID where+        (VkAndroidHardwareBufferUsageANDROID## a _) ==+          x@(VkAndroidHardwareBufferUsageANDROID## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkAndroidHardwareBufferUsageANDROID where+        (VkAndroidHardwareBufferUsageANDROID## a _) `compare`+          x@(VkAndroidHardwareBufferUsageANDROID## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkAndroidHardwareBufferUsageANDROID where+        sizeOf ~_ = #{size VkAndroidHardwareBufferUsageANDROID}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkAndroidHardwareBufferUsageANDROID}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkAndroidHardwareBufferUsageANDROID+         where+        unsafeAddr (VkAndroidHardwareBufferUsageANDROID## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkAndroidHardwareBufferUsageANDROID## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkAndroidHardwareBufferUsageANDROID##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkAndroidHardwareBufferUsageANDROID where+        type StructFields VkAndroidHardwareBufferUsageANDROID =+             '["sType", "pNext", "androidHardwareBufferUsage"] -- ' closing tick for hsc2hs+        type CUnionType VkAndroidHardwareBufferUsageANDROID = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkAndroidHardwareBufferUsageANDROID = 'True -- ' closing tick for hsc2hs+        type StructExtends VkAndroidHardwareBufferUsageANDROID =+             '[VkImageFormatProperties2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkAndroidHardwareBufferUsageANDROID where+        type FieldType "sType" VkAndroidHardwareBufferUsageANDROID =+             VkStructureType+        type FieldOptional "sType" VkAndroidHardwareBufferUsageANDROID =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkAndroidHardwareBufferUsageANDROID =+             #{offset VkAndroidHardwareBufferUsageANDROID, sType}+        type FieldIsArray "sType" VkAndroidHardwareBufferUsageANDROID =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAndroidHardwareBufferUsageANDROID, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkAndroidHardwareBufferUsageANDROID where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferUsageANDROID, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAndroidHardwareBufferUsageANDROID, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkAndroidHardwareBufferUsageANDROID where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAndroidHardwareBufferUsageANDROID, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkAndroidHardwareBufferUsageANDROID where+        type FieldType "pNext" VkAndroidHardwareBufferUsageANDROID =+             Ptr Void+        type FieldOptional "pNext" VkAndroidHardwareBufferUsageANDROID =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkAndroidHardwareBufferUsageANDROID =+             #{offset VkAndroidHardwareBufferUsageANDROID, pNext}+        type FieldIsArray "pNext" VkAndroidHardwareBufferUsageANDROID =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAndroidHardwareBufferUsageANDROID, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkAndroidHardwareBufferUsageANDROID where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferUsageANDROID, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAndroidHardwareBufferUsageANDROID, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkAndroidHardwareBufferUsageANDROID where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAndroidHardwareBufferUsageANDROID, pNext}++instance {-# OVERLAPPING #-}+         HasField "androidHardwareBufferUsage"+           VkAndroidHardwareBufferUsageANDROID+         where+        type FieldType "androidHardwareBufferUsage"+               VkAndroidHardwareBufferUsageANDROID+             = Word64+        type FieldOptional "androidHardwareBufferUsage"+               VkAndroidHardwareBufferUsageANDROID+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "androidHardwareBufferUsage"+               VkAndroidHardwareBufferUsageANDROID+             =+             #{offset VkAndroidHardwareBufferUsageANDROID, androidHardwareBufferUsage}+        type FieldIsArray "androidHardwareBufferUsage"+               VkAndroidHardwareBufferUsageANDROID+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAndroidHardwareBufferUsageANDROID, androidHardwareBufferUsage}++instance {-# OVERLAPPING #-}+         CanReadField "androidHardwareBufferUsage"+           VkAndroidHardwareBufferUsageANDROID+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferUsageANDROID, androidHardwareBufferUsage})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAndroidHardwareBufferUsageANDROID, androidHardwareBufferUsage}++instance {-# OVERLAPPING #-}+         CanWriteField "androidHardwareBufferUsage"+           VkAndroidHardwareBufferUsageANDROID+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAndroidHardwareBufferUsageANDROID, androidHardwareBufferUsage}++instance Show VkAndroidHardwareBufferUsageANDROID where+        showsPrec d x+          = showString "VkAndroidHardwareBufferUsageANDROID {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "androidHardwareBufferUsage = " .+                            showsPrec d (getField @"androidHardwareBufferUsage" x) .+                              showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkAndroidSurfaceCreateInfoKHR.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkAndroidSurfaceCreateInfoKHR        (VkAndroidSurfaceCreateInfoKHR(..)) where@@ -13,19 +14,18 @@ import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.Bitmasks             (VkAndroidSurfaceCreateFlagsKHR)+import           Graphics.Vulkan.Types.Defines              (ANativeWindow) import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)-import           Graphics.Vulkan.Types.Include              (ANativeWindow)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                           (unsafeDupablePerformIO)  -- | > typedef struct VkAndroidSurfaceCreateInfoKHR { --   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkAndroidSurfaceCreateFlagsKHR   flags;---   >     ANativeWindow*                   window;+--   >     const void*                                    pNext;+--   >     VkAndroidSurfaceCreateFlagsKHR flags;+--   >     struct ANativeWindow*    window; --   > } VkAndroidSurfaceCreateInfoKHR; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkAndroidSurfaceCreateInfoKHR.html VkAndroidSurfaceCreateInfoKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkAndroidSurfaceCreateInfoKHR.html VkAndroidSurfaceCreateInfoKHR registry at www.khronos.org> data VkAndroidSurfaceCreateInfoKHR = VkAndroidSurfaceCreateInfoKHR## Addr##                                                                     ByteArray## @@ -79,27 +79,6 @@         type StructExtends VkAndroidSurfaceCreateInfoKHR = '[] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkSType VkAndroidSurfaceCreateInfoKHR where-        type VkSTypeMType VkAndroidSurfaceCreateInfoKHR = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidSurfaceCreateInfoKHR, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkAndroidSurfaceCreateInfoKHR, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}          HasField "sType" VkAndroidSurfaceCreateInfoKHR where         type FieldType "sType" VkAndroidSurfaceCreateInfoKHR =              VkStructureType@@ -115,37 +94,22 @@         fieldOffset           = #{offset VkAndroidSurfaceCreateInfoKHR, sType} -instance CanReadField "sType" VkAndroidSurfaceCreateInfoKHR where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkAndroidSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkSType- instance {-# OVERLAPPING #-}-         HasVkPNext VkAndroidSurfaceCreateInfoKHR where-        type VkPNextMType VkAndroidSurfaceCreateInfoKHR = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x+         CanReadField "sType" VkAndroidSurfaceCreateInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidSurfaceCreateInfoKHR, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkAndroidSurfaceCreateInfoKHR, pNext}+              (peekByteOff (unsafePtr x) #{offset VkAndroidSurfaceCreateInfoKHR, sType}) -        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, pNext}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, sType} -        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, pNext}+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkAndroidSurfaceCreateInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkAndroidSurfaceCreateInfoKHR where@@ -162,38 +126,22 @@         fieldOffset           = #{offset VkAndroidSurfaceCreateInfoKHR, pNext} -instance CanReadField "pNext" VkAndroidSurfaceCreateInfoKHR where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkAndroidSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkFlags VkAndroidSurfaceCreateInfoKHR where-        type VkFlagsMType VkAndroidSurfaceCreateInfoKHR =-             VkAndroidSurfaceCreateFlagsKHR--        {-# NOINLINE vkFlags #-}-        vkFlags x+         CanReadField "pNext" VkAndroidSurfaceCreateInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidSurfaceCreateInfoKHR, flags})--        {-# INLINE vkFlagsByteOffset #-}-        vkFlagsByteOffset ~_-          = #{offset VkAndroidSurfaceCreateInfoKHR, flags}+              (peekByteOff (unsafePtr x) #{offset VkAndroidSurfaceCreateInfoKHR, pNext}) -        {-# INLINE readVkFlags #-}-        readVkFlags p-          = peekByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, flags}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, pNext} -        {-# INLINE writeVkFlags #-}-        writeVkFlags p-          = pokeByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, flags}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkAndroidSurfaceCreateInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, pNext}  instance {-# OVERLAPPING #-}          HasField "flags" VkAndroidSurfaceCreateInfoKHR where@@ -211,38 +159,22 @@         fieldOffset           = #{offset VkAndroidSurfaceCreateInfoKHR, flags} -instance CanReadField "flags" VkAndroidSurfaceCreateInfoKHR where-        {-# INLINE getField #-}-        getField = vkFlags--        {-# INLINE readField #-}-        readField = readVkFlags--instance CanWriteField "flags" VkAndroidSurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkFlags- instance {-# OVERLAPPING #-}-         HasVkWindow VkAndroidSurfaceCreateInfoKHR where-        type VkWindowMType VkAndroidSurfaceCreateInfoKHR =-             Ptr ANativeWindow--        {-# NOINLINE vkWindow #-}-        vkWindow x+         CanReadField "flags" VkAndroidSurfaceCreateInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAndroidSurfaceCreateInfoKHR, window})--        {-# INLINE vkWindowByteOffset #-}-        vkWindowByteOffset ~_-          = #{offset VkAndroidSurfaceCreateInfoKHR, window}+              (peekByteOff (unsafePtr x) #{offset VkAndroidSurfaceCreateInfoKHR, flags}) -        {-# INLINE readVkWindow #-}-        readVkWindow p-          = peekByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, window}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, flags} -        {-# INLINE writeVkWindow #-}-        writeVkWindow p-          = pokeByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, window}+instance {-# OVERLAPPING #-}+         CanWriteField "flags" VkAndroidSurfaceCreateInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, flags}  instance {-# OVERLAPPING #-}          HasField "window" VkAndroidSurfaceCreateInfoKHR where@@ -260,27 +192,34 @@         fieldOffset           = #{offset VkAndroidSurfaceCreateInfoKHR, window} -instance CanReadField "window" VkAndroidSurfaceCreateInfoKHR where-        {-# INLINE getField #-}-        getField = vkWindow+instance {-# OVERLAPPING #-}+         CanReadField "window" VkAndroidSurfaceCreateInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAndroidSurfaceCreateInfoKHR, window})          {-# INLINE readField #-}-        readField = readVkWindow+        readField p+          = peekByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, window} -instance CanWriteField "window" VkAndroidSurfaceCreateInfoKHR where+instance {-# OVERLAPPING #-}+         CanWriteField "window" VkAndroidSurfaceCreateInfoKHR where         {-# INLINE writeField #-}-        writeField = writeVkWindow+        writeField p+          = pokeByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, window}  instance Show VkAndroidSurfaceCreateInfoKHR where         showsPrec d x           = showString "VkAndroidSurfaceCreateInfoKHR {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkFlags = " .-                            showsPrec d (vkFlags x) .+                          showString "flags = " .+                            showsPrec d (getField @"flags" x) .                               showString ", " .-                                showString "vkWindow = " . showsPrec d (vkWindow x) . showChar '}'+                                showString "window = " .+                                  showsPrec d (getField @"window" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkApplicationInfo.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkApplicationInfo        (VkApplicationInfo(..)) where@@ -13,7 +14,6 @@ import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                           (unsafeDupablePerformIO)  -- | > typedef struct VkApplicationInfo {@@ -26,7 +26,7 @@ --   >     uint32_t        apiVersion; --   > } VkApplicationInfo; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkApplicationInfo.html VkApplicationInfo registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkApplicationInfo.html VkApplicationInfo registry at www.khronos.org> data VkApplicationInfo = VkApplicationInfo## Addr## ByteArray##  instance Eq VkApplicationInfo where@@ -75,26 +75,6 @@         type ReturnedOnly VkApplicationInfo = 'False -- ' closing tick for hsc2hs         type StructExtends VkApplicationInfo = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSType VkApplicationInfo where-        type VkSTypeMType VkApplicationInfo = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkApplicationInfo, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkApplicationInfo, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkApplicationInfo, sType}- instance {-# OVERLAPPING #-} HasField "sType" VkApplicationInfo          where         type FieldType "sType" VkApplicationInfo = VkStructureType@@ -109,36 +89,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkApplicationInfo, sType} -instance CanReadField "sType" VkApplicationInfo where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-} CanReadField "sType" VkApplicationInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkApplicationInfo, sType} -instance CanWriteField "sType" VkApplicationInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkApplicationInfo where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkApplicationInfo where-        type VkPNextMType VkApplicationInfo = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkApplicationInfo, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkApplicationInfo, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkApplicationInfo, pNext}+        writeField p+          = pokeByteOff p #{offset VkApplicationInfo, sType}  instance {-# OVERLAPPING #-} HasField "pNext" VkApplicationInfo          where@@ -154,37 +120,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkApplicationInfo, pNext} -instance CanReadField "pNext" VkApplicationInfo where-        {-# INLINE getField #-}-        getField = vkPNext+instance {-# OVERLAPPING #-} CanReadField "pNext" VkApplicationInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, pNext})          {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkApplicationInfo where-        {-# INLINE writeField #-}-        writeField = writeVkPNext+        readField p+          = peekByteOff p #{offset VkApplicationInfo, pNext}  instance {-# OVERLAPPING #-}-         HasVkPApplicationName VkApplicationInfo where-        type VkPApplicationNameMType VkApplicationInfo = CString--        {-# NOINLINE vkPApplicationName #-}-        vkPApplicationName x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, pApplicationName})--        {-# INLINE vkPApplicationNameByteOffset #-}-        vkPApplicationNameByteOffset ~_-          = #{offset VkApplicationInfo, pApplicationName}--        {-# INLINE readVkPApplicationName #-}-        readVkPApplicationName p-          = peekByteOff p #{offset VkApplicationInfo, pApplicationName}--        {-# INLINE writeVkPApplicationName #-}-        writeVkPApplicationName p-          = pokeByteOff p #{offset VkApplicationInfo, pApplicationName}+         CanWriteField "pNext" VkApplicationInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkApplicationInfo, pNext}  instance {-# OVERLAPPING #-}          HasField "pApplicationName" VkApplicationInfo where@@ -201,37 +152,22 @@         fieldOffset           = #{offset VkApplicationInfo, pApplicationName} -instance CanReadField "pApplicationName" VkApplicationInfo where-        {-# INLINE getField #-}-        getField = vkPApplicationName--        {-# INLINE readField #-}-        readField = readVkPApplicationName--instance CanWriteField "pApplicationName" VkApplicationInfo where-        {-# INLINE writeField #-}-        writeField = writeVkPApplicationName- instance {-# OVERLAPPING #-}-         HasVkApplicationVersion VkApplicationInfo where-        type VkApplicationVersionMType VkApplicationInfo = Word32--        {-# NOINLINE vkApplicationVersion #-}-        vkApplicationVersion x+         CanReadField "pApplicationName" VkApplicationInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, applicationVersion})--        {-# INLINE vkApplicationVersionByteOffset #-}-        vkApplicationVersionByteOffset ~_-          = #{offset VkApplicationInfo, applicationVersion}+              (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, pApplicationName}) -        {-# INLINE readVkApplicationVersion #-}-        readVkApplicationVersion p-          = peekByteOff p #{offset VkApplicationInfo, applicationVersion}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkApplicationInfo, pApplicationName} -        {-# INLINE writeVkApplicationVersion #-}-        writeVkApplicationVersion p-          = pokeByteOff p #{offset VkApplicationInfo, applicationVersion}+instance {-# OVERLAPPING #-}+         CanWriteField "pApplicationName" VkApplicationInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkApplicationInfo, pApplicationName}  instance {-# OVERLAPPING #-}          HasField "applicationVersion" VkApplicationInfo where@@ -248,37 +184,22 @@         fieldOffset           = #{offset VkApplicationInfo, applicationVersion} -instance CanReadField "applicationVersion" VkApplicationInfo where-        {-# INLINE getField #-}-        getField = vkApplicationVersion+instance {-# OVERLAPPING #-}+         CanReadField "applicationVersion" VkApplicationInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, applicationVersion})          {-# INLINE readField #-}-        readField = readVkApplicationVersion+        readField p+          = peekByteOff p #{offset VkApplicationInfo, applicationVersion} -instance CanWriteField "applicationVersion" VkApplicationInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "applicationVersion" VkApplicationInfo where         {-# INLINE writeField #-}-        writeField = writeVkApplicationVersion--instance {-# OVERLAPPING #-} HasVkPEngineName VkApplicationInfo-         where-        type VkPEngineNameMType VkApplicationInfo = CString--        {-# NOINLINE vkPEngineName #-}-        vkPEngineName x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, pEngineName})--        {-# INLINE vkPEngineNameByteOffset #-}-        vkPEngineNameByteOffset ~_-          = #{offset VkApplicationInfo, pEngineName}--        {-# INLINE readVkPEngineName #-}-        readVkPEngineName p-          = peekByteOff p #{offset VkApplicationInfo, pEngineName}--        {-# INLINE writeVkPEngineName #-}-        writeVkPEngineName p-          = pokeByteOff p #{offset VkApplicationInfo, pEngineName}+        writeField p+          = pokeByteOff p #{offset VkApplicationInfo, applicationVersion}  instance {-# OVERLAPPING #-}          HasField "pEngineName" VkApplicationInfo where@@ -294,37 +215,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkApplicationInfo, pEngineName} -instance CanReadField "pEngineName" VkApplicationInfo where-        {-# INLINE getField #-}-        getField = vkPEngineName+instance {-# OVERLAPPING #-}+         CanReadField "pEngineName" VkApplicationInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, pEngineName})          {-# INLINE readField #-}-        readField = readVkPEngineName+        readField p+          = peekByteOff p #{offset VkApplicationInfo, pEngineName} -instance CanWriteField "pEngineName" VkApplicationInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "pEngineName" VkApplicationInfo where         {-# INLINE writeField #-}-        writeField = writeVkPEngineName--instance {-# OVERLAPPING #-} HasVkEngineVersion VkApplicationInfo-         where-        type VkEngineVersionMType VkApplicationInfo = Word32--        {-# NOINLINE vkEngineVersion #-}-        vkEngineVersion x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, engineVersion})--        {-# INLINE vkEngineVersionByteOffset #-}-        vkEngineVersionByteOffset ~_-          = #{offset VkApplicationInfo, engineVersion}--        {-# INLINE readVkEngineVersion #-}-        readVkEngineVersion p-          = peekByteOff p #{offset VkApplicationInfo, engineVersion}--        {-# INLINE writeVkEngineVersion #-}-        writeVkEngineVersion p-          = pokeByteOff p #{offset VkApplicationInfo, engineVersion}+        writeField p+          = pokeByteOff p #{offset VkApplicationInfo, pEngineName}  instance {-# OVERLAPPING #-}          HasField "engineVersion" VkApplicationInfo where@@ -341,37 +247,22 @@         fieldOffset           = #{offset VkApplicationInfo, engineVersion} -instance CanReadField "engineVersion" VkApplicationInfo where-        {-# INLINE getField #-}-        getField = vkEngineVersion+instance {-# OVERLAPPING #-}+         CanReadField "engineVersion" VkApplicationInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, engineVersion})          {-# INLINE readField #-}-        readField = readVkEngineVersion+        readField p+          = peekByteOff p #{offset VkApplicationInfo, engineVersion} -instance CanWriteField "engineVersion" VkApplicationInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "engineVersion" VkApplicationInfo where         {-# INLINE writeField #-}-        writeField = writeVkEngineVersion--instance {-# OVERLAPPING #-} HasVkApiVersion VkApplicationInfo-         where-        type VkApiVersionMType VkApplicationInfo = Word32--        {-# NOINLINE vkApiVersion #-}-        vkApiVersion x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, apiVersion})--        {-# INLINE vkApiVersionByteOffset #-}-        vkApiVersionByteOffset ~_-          = #{offset VkApplicationInfo, apiVersion}--        {-# INLINE readVkApiVersion #-}-        readVkApiVersion p-          = peekByteOff p #{offset VkApplicationInfo, apiVersion}--        {-# INLINE writeVkApiVersion #-}-        writeVkApiVersion p-          = pokeByteOff p #{offset VkApplicationInfo, apiVersion}+        writeField p+          = pokeByteOff p #{offset VkApplicationInfo, engineVersion}  instance {-# OVERLAPPING #-}          HasField "apiVersion" VkApplicationInfo where@@ -387,37 +278,44 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkApplicationInfo, apiVersion} -instance CanReadField "apiVersion" VkApplicationInfo where-        {-# INLINE getField #-}-        getField = vkApiVersion+instance {-# OVERLAPPING #-}+         CanReadField "apiVersion" VkApplicationInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, apiVersion})          {-# INLINE readField #-}-        readField = readVkApiVersion+        readField p+          = peekByteOff p #{offset VkApplicationInfo, apiVersion} -instance CanWriteField "apiVersion" VkApplicationInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "apiVersion" VkApplicationInfo where         {-# INLINE writeField #-}-        writeField = writeVkApiVersion+        writeField p+          = pokeByteOff p #{offset VkApplicationInfo, apiVersion}  instance Show VkApplicationInfo where         showsPrec d x           = showString "VkApplicationInfo {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkPApplicationName = " .-                            showsPrec d (vkPApplicationName x) .+                          showString "pApplicationName = " .+                            showsPrec d (getField @"pApplicationName" x) .                               showString ", " .-                                showString "vkApplicationVersion = " .-                                  showsPrec d (vkApplicationVersion x) .+                                showString "applicationVersion = " .+                                  showsPrec d (getField @"applicationVersion" x) .                                     showString ", " .-                                      showString "vkPEngineName = " .-                                        showsPrec d (vkPEngineName x) .+                                      showString "pEngineName = " .+                                        showsPrec d (getField @"pEngineName" x) .                                           showString ", " .-                                            showString "vkEngineVersion = " .-                                              showsPrec d (vkEngineVersion x) .+                                            showString "engineVersion = " .+                                              showsPrec d (getField @"engineVersion" x) .                                                 showString ", " .-                                                  showString "vkApiVersion = " .-                                                    showsPrec d (vkApiVersion x) . showChar '}'+                                                  showString "apiVersion = " .+                                                    showsPrec d (getField @"apiVersion" x) .+                                                      showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkAttachmentDescription.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkAttachmentDescription        (VkAttachmentDescription(..)) where@@ -18,7 +19,6 @@ import           Graphics.Vulkan.Types.Enum.VkFormat                     (VkFormat) import           Graphics.Vulkan.Types.Enum.VkImageLayout                (VkImageLayout) import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags           (VkSampleCountFlagBits)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                        (unsafeDupablePerformIO)  -- | > typedef struct VkAttachmentDescription {@@ -33,7 +33,7 @@ --   >     VkImageLayout          finalLayout; --   > } VkAttachmentDescription; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkAttachmentDescription.html VkAttachmentDescription registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkAttachmentDescription.html VkAttachmentDescription registry at www.khronos.org> data VkAttachmentDescription = VkAttachmentDescription## Addr##                                                         ByteArray## @@ -83,28 +83,6 @@         type ReturnedOnly VkAttachmentDescription = 'False -- ' closing tick for hsc2hs         type StructExtends VkAttachmentDescription = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkFlags VkAttachmentDescription-         where-        type VkFlagsMType VkAttachmentDescription =-             VkAttachmentDescriptionFlags--        {-# NOINLINE vkFlags #-}-        vkFlags x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, flags})--        {-# INLINE vkFlagsByteOffset #-}-        vkFlagsByteOffset ~_-          = #{offset VkAttachmentDescription, flags}--        {-# INLINE readVkFlags #-}-        readVkFlags p-          = peekByteOff p #{offset VkAttachmentDescription, flags}--        {-# INLINE writeVkFlags #-}-        writeVkFlags p-          = pokeByteOff p #{offset VkAttachmentDescription, flags}- instance {-# OVERLAPPING #-}          HasField "flags" VkAttachmentDescription where         type FieldType "flags" VkAttachmentDescription =@@ -120,37 +98,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkAttachmentDescription, flags} -instance CanReadField "flags" VkAttachmentDescription where-        {-# INLINE getField #-}-        getField = vkFlags+instance {-# OVERLAPPING #-}+         CanReadField "flags" VkAttachmentDescription where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, flags})          {-# INLINE readField #-}-        readField = readVkFlags+        readField p+          = peekByteOff p #{offset VkAttachmentDescription, flags} -instance CanWriteField "flags" VkAttachmentDescription where+instance {-# OVERLAPPING #-}+         CanWriteField "flags" VkAttachmentDescription where         {-# INLINE writeField #-}-        writeField = writeVkFlags--instance {-# OVERLAPPING #-} HasVkFormat VkAttachmentDescription-         where-        type VkFormatMType VkAttachmentDescription = VkFormat--        {-# NOINLINE vkFormat #-}-        vkFormat x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, format})--        {-# INLINE vkFormatByteOffset #-}-        vkFormatByteOffset ~_-          = #{offset VkAttachmentDescription, format}--        {-# INLINE readVkFormat #-}-        readVkFormat p-          = peekByteOff p #{offset VkAttachmentDescription, format}--        {-# INLINE writeVkFormat #-}-        writeVkFormat p-          = pokeByteOff p #{offset VkAttachmentDescription, format}+        writeField p+          = pokeByteOff p #{offset VkAttachmentDescription, flags}  instance {-# OVERLAPPING #-}          HasField "format" VkAttachmentDescription where@@ -166,37 +129,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkAttachmentDescription, format} -instance CanReadField "format" VkAttachmentDescription where-        {-# INLINE getField #-}-        getField = vkFormat+instance {-# OVERLAPPING #-}+         CanReadField "format" VkAttachmentDescription where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, format})          {-# INLINE readField #-}-        readField = readVkFormat+        readField p+          = peekByteOff p #{offset VkAttachmentDescription, format} -instance CanWriteField "format" VkAttachmentDescription where+instance {-# OVERLAPPING #-}+         CanWriteField "format" VkAttachmentDescription where         {-# INLINE writeField #-}-        writeField = writeVkFormat--instance {-# OVERLAPPING #-} HasVkSamples VkAttachmentDescription-         where-        type VkSamplesMType VkAttachmentDescription = VkSampleCountFlagBits--        {-# NOINLINE vkSamples #-}-        vkSamples x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, samples})--        {-# INLINE vkSamplesByteOffset #-}-        vkSamplesByteOffset ~_-          = #{offset VkAttachmentDescription, samples}--        {-# INLINE readVkSamples #-}-        readVkSamples p-          = peekByteOff p #{offset VkAttachmentDescription, samples}--        {-# INLINE writeVkSamples #-}-        writeVkSamples p-          = pokeByteOff p #{offset VkAttachmentDescription, samples}+        writeField p+          = pokeByteOff p #{offset VkAttachmentDescription, format}  instance {-# OVERLAPPING #-}          HasField "samples" VkAttachmentDescription where@@ -214,37 +162,22 @@         fieldOffset           = #{offset VkAttachmentDescription, samples} -instance CanReadField "samples" VkAttachmentDescription where-        {-# INLINE getField #-}-        getField = vkSamples+instance {-# OVERLAPPING #-}+         CanReadField "samples" VkAttachmentDescription where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, samples})          {-# INLINE readField #-}-        readField = readVkSamples+        readField p+          = peekByteOff p #{offset VkAttachmentDescription, samples} -instance CanWriteField "samples" VkAttachmentDescription where+instance {-# OVERLAPPING #-}+         CanWriteField "samples" VkAttachmentDescription where         {-# INLINE writeField #-}-        writeField = writeVkSamples--instance {-# OVERLAPPING #-} HasVkLoadOp VkAttachmentDescription-         where-        type VkLoadOpMType VkAttachmentDescription = VkAttachmentLoadOp--        {-# NOINLINE vkLoadOp #-}-        vkLoadOp x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, loadOp})--        {-# INLINE vkLoadOpByteOffset #-}-        vkLoadOpByteOffset ~_-          = #{offset VkAttachmentDescription, loadOp}--        {-# INLINE readVkLoadOp #-}-        readVkLoadOp p-          = peekByteOff p #{offset VkAttachmentDescription, loadOp}--        {-# INLINE writeVkLoadOp #-}-        writeVkLoadOp p-          = pokeByteOff p #{offset VkAttachmentDescription, loadOp}+        writeField p+          = pokeByteOff p #{offset VkAttachmentDescription, samples}  instance {-# OVERLAPPING #-}          HasField "loadOp" VkAttachmentDescription where@@ -261,37 +194,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkAttachmentDescription, loadOp} -instance CanReadField "loadOp" VkAttachmentDescription where-        {-# INLINE getField #-}-        getField = vkLoadOp+instance {-# OVERLAPPING #-}+         CanReadField "loadOp" VkAttachmentDescription where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, loadOp})          {-# INLINE readField #-}-        readField = readVkLoadOp+        readField p+          = peekByteOff p #{offset VkAttachmentDescription, loadOp} -instance CanWriteField "loadOp" VkAttachmentDescription where+instance {-# OVERLAPPING #-}+         CanWriteField "loadOp" VkAttachmentDescription where         {-# INLINE writeField #-}-        writeField = writeVkLoadOp--instance {-# OVERLAPPING #-} HasVkStoreOp VkAttachmentDescription-         where-        type VkStoreOpMType VkAttachmentDescription = VkAttachmentStoreOp--        {-# NOINLINE vkStoreOp #-}-        vkStoreOp x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, storeOp})--        {-# INLINE vkStoreOpByteOffset #-}-        vkStoreOpByteOffset ~_-          = #{offset VkAttachmentDescription, storeOp}--        {-# INLINE readVkStoreOp #-}-        readVkStoreOp p-          = peekByteOff p #{offset VkAttachmentDescription, storeOp}--        {-# INLINE writeVkStoreOp #-}-        writeVkStoreOp p-          = pokeByteOff p #{offset VkAttachmentDescription, storeOp}+        writeField p+          = pokeByteOff p #{offset VkAttachmentDescription, loadOp}  instance {-# OVERLAPPING #-}          HasField "storeOp" VkAttachmentDescription where@@ -309,38 +227,22 @@         fieldOffset           = #{offset VkAttachmentDescription, storeOp} -instance CanReadField "storeOp" VkAttachmentDescription where-        {-# INLINE getField #-}-        getField = vkStoreOp--        {-# INLINE readField #-}-        readField = readVkStoreOp--instance CanWriteField "storeOp" VkAttachmentDescription where-        {-# INLINE writeField #-}-        writeField = writeVkStoreOp- instance {-# OVERLAPPING #-}-         HasVkStencilLoadOp VkAttachmentDescription where-        type VkStencilLoadOpMType VkAttachmentDescription =-             VkAttachmentLoadOp--        {-# NOINLINE vkStencilLoadOp #-}-        vkStencilLoadOp x+         CanReadField "storeOp" VkAttachmentDescription where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, stencilLoadOp})--        {-# INLINE vkStencilLoadOpByteOffset #-}-        vkStencilLoadOpByteOffset ~_-          = #{offset VkAttachmentDescription, stencilLoadOp}+              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, storeOp}) -        {-# INLINE readVkStencilLoadOp #-}-        readVkStencilLoadOp p-          = peekByteOff p #{offset VkAttachmentDescription, stencilLoadOp}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAttachmentDescription, storeOp} -        {-# INLINE writeVkStencilLoadOp #-}-        writeVkStencilLoadOp p-          = pokeByteOff p #{offset VkAttachmentDescription, stencilLoadOp}+instance {-# OVERLAPPING #-}+         CanWriteField "storeOp" VkAttachmentDescription where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAttachmentDescription, storeOp}  instance {-# OVERLAPPING #-}          HasField "stencilLoadOp" VkAttachmentDescription where@@ -358,39 +260,22 @@         fieldOffset           = #{offset VkAttachmentDescription, stencilLoadOp} -instance CanReadField "stencilLoadOp" VkAttachmentDescription where-        {-# INLINE getField #-}-        getField = vkStencilLoadOp--        {-# INLINE readField #-}-        readField = readVkStencilLoadOp--instance CanWriteField "stencilLoadOp" VkAttachmentDescription-         where-        {-# INLINE writeField #-}-        writeField = writeVkStencilLoadOp- instance {-# OVERLAPPING #-}-         HasVkStencilStoreOp VkAttachmentDescription where-        type VkStencilStoreOpMType VkAttachmentDescription =-             VkAttachmentStoreOp--        {-# NOINLINE vkStencilStoreOp #-}-        vkStencilStoreOp x+         CanReadField "stencilLoadOp" VkAttachmentDescription where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, stencilStoreOp})--        {-# INLINE vkStencilStoreOpByteOffset #-}-        vkStencilStoreOpByteOffset ~_-          = #{offset VkAttachmentDescription, stencilStoreOp}+              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, stencilLoadOp}) -        {-# INLINE readVkStencilStoreOp #-}-        readVkStencilStoreOp p-          = peekByteOff p #{offset VkAttachmentDescription, stencilStoreOp}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAttachmentDescription, stencilLoadOp} -        {-# INLINE writeVkStencilStoreOp #-}-        writeVkStencilStoreOp p-          = pokeByteOff p #{offset VkAttachmentDescription, stencilStoreOp}+instance {-# OVERLAPPING #-}+         CanWriteField "stencilLoadOp" VkAttachmentDescription where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAttachmentDescription, stencilLoadOp}  instance {-# OVERLAPPING #-}          HasField "stencilStoreOp" VkAttachmentDescription where@@ -409,39 +294,22 @@         fieldOffset           = #{offset VkAttachmentDescription, stencilStoreOp} -instance CanReadField "stencilStoreOp" VkAttachmentDescription-         where-        {-# INLINE getField #-}-        getField = vkStencilStoreOp--        {-# INLINE readField #-}-        readField = readVkStencilStoreOp--instance CanWriteField "stencilStoreOp" VkAttachmentDescription-         where-        {-# INLINE writeField #-}-        writeField = writeVkStencilStoreOp- instance {-# OVERLAPPING #-}-         HasVkInitialLayout VkAttachmentDescription where-        type VkInitialLayoutMType VkAttachmentDescription = VkImageLayout--        {-# NOINLINE vkInitialLayout #-}-        vkInitialLayout x+         CanReadField "stencilStoreOp" VkAttachmentDescription where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, initialLayout})--        {-# INLINE vkInitialLayoutByteOffset #-}-        vkInitialLayoutByteOffset ~_-          = #{offset VkAttachmentDescription, initialLayout}+              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, stencilStoreOp}) -        {-# INLINE readVkInitialLayout #-}-        readVkInitialLayout p-          = peekByteOff p #{offset VkAttachmentDescription, initialLayout}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAttachmentDescription, stencilStoreOp} -        {-# INLINE writeVkInitialLayout #-}-        writeVkInitialLayout p-          = pokeByteOff p #{offset VkAttachmentDescription, initialLayout}+instance {-# OVERLAPPING #-}+         CanWriteField "stencilStoreOp" VkAttachmentDescription where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAttachmentDescription, stencilStoreOp}  instance {-# OVERLAPPING #-}          HasField "initialLayout" VkAttachmentDescription where@@ -459,38 +327,22 @@         fieldOffset           = #{offset VkAttachmentDescription, initialLayout} -instance CanReadField "initialLayout" VkAttachmentDescription where-        {-# INLINE getField #-}-        getField = vkInitialLayout--        {-# INLINE readField #-}-        readField = readVkInitialLayout--instance CanWriteField "initialLayout" VkAttachmentDescription-         where-        {-# INLINE writeField #-}-        writeField = writeVkInitialLayout- instance {-# OVERLAPPING #-}-         HasVkFinalLayout VkAttachmentDescription where-        type VkFinalLayoutMType VkAttachmentDescription = VkImageLayout--        {-# NOINLINE vkFinalLayout #-}-        vkFinalLayout x+         CanReadField "initialLayout" VkAttachmentDescription where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, finalLayout})--        {-# INLINE vkFinalLayoutByteOffset #-}-        vkFinalLayoutByteOffset ~_-          = #{offset VkAttachmentDescription, finalLayout}+              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, initialLayout}) -        {-# INLINE readVkFinalLayout #-}-        readVkFinalLayout p-          = peekByteOff p #{offset VkAttachmentDescription, finalLayout}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkAttachmentDescription, initialLayout} -        {-# INLINE writeVkFinalLayout #-}-        writeVkFinalLayout p-          = pokeByteOff p #{offset VkAttachmentDescription, finalLayout}+instance {-# OVERLAPPING #-}+         CanWriteField "initialLayout" VkAttachmentDescription where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkAttachmentDescription, initialLayout}  instance {-# OVERLAPPING #-}          HasField "finalLayout" VkAttachmentDescription where@@ -508,44 +360,52 @@         fieldOffset           = #{offset VkAttachmentDescription, finalLayout} -instance CanReadField "finalLayout" VkAttachmentDescription where-        {-# INLINE getField #-}-        getField = vkFinalLayout+instance {-# OVERLAPPING #-}+         CanReadField "finalLayout" VkAttachmentDescription where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, finalLayout})          {-# INLINE readField #-}-        readField = readVkFinalLayout+        readField p+          = peekByteOff p #{offset VkAttachmentDescription, finalLayout} -instance CanWriteField "finalLayout" VkAttachmentDescription where+instance {-# OVERLAPPING #-}+         CanWriteField "finalLayout" VkAttachmentDescription where         {-# INLINE writeField #-}-        writeField = writeVkFinalLayout+        writeField p+          = pokeByteOff p #{offset VkAttachmentDescription, finalLayout}  instance Show VkAttachmentDescription where         showsPrec d x           = showString "VkAttachmentDescription {" .-              showString "vkFlags = " .-                showsPrec d (vkFlags x) .+              showString "flags = " .+                showsPrec d (getField @"flags" x) .                   showString ", " .-                    showString "vkFormat = " .-                      showsPrec d (vkFormat x) .+                    showString "format = " .+                      showsPrec d (getField @"format" x) .                         showString ", " .-                          showString "vkSamples = " .-                            showsPrec d (vkSamples x) .+                          showString "samples = " .+                            showsPrec d (getField @"samples" x) .                               showString ", " .-                                showString "vkLoadOp = " .-                                  showsPrec d (vkLoadOp x) .+                                showString "loadOp = " .+                                  showsPrec d (getField @"loadOp" x) .                                     showString ", " .-                                      showString "vkStoreOp = " .-                                        showsPrec d (vkStoreOp x) .+                                      showString "storeOp = " .+                                        showsPrec d (getField @"storeOp" x) .                                           showString ", " .-                                            showString "vkStencilLoadOp = " .-                                              showsPrec d (vkStencilLoadOp x) .+                                            showString "stencilLoadOp = " .+                                              showsPrec d (getField @"stencilLoadOp" x) .                                                 showString ", " .-                                                  showString "vkStencilStoreOp = " .-                                                    showsPrec d (vkStencilStoreOp x) .+                                                  showString "stencilStoreOp = " .+                                                    showsPrec d (getField @"stencilStoreOp" x) .                                                       showString ", " .-                                                        showString "vkInitialLayout = " .-                                                          showsPrec d (vkInitialLayout x) .+                                                        showString "initialLayout = " .+                                                          showsPrec d (getField @"initialLayout" x)+                                                            .                                                             showString ", " .-                                                              showString "vkFinalLayout = " .-                                                                showsPrec d (vkFinalLayout x) .-                                                                  showChar '}'+                                                              showString "finalLayout = " .+                                                                showsPrec d+                                                                  (getField @"finalLayout" x)+                                                                  . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkAttachmentReference.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkAttachmentReference        (VkAttachmentReference(..)) where@@ -13,7 +14,6 @@ import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.Enum.VkImageLayout (VkImageLayout)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkAttachmentReference {@@ -21,7 +21,7 @@ --   >     VkImageLayout          layout; --   > } VkAttachmentReference; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkAttachmentReference.html VkAttachmentReference registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkAttachmentReference.html VkAttachmentReference registry at www.khronos.org> data VkAttachmentReference = VkAttachmentReference## Addr##                                                     ByteArray## @@ -69,27 +69,6 @@         type ReturnedOnly VkAttachmentReference = 'False -- ' closing tick for hsc2hs         type StructExtends VkAttachmentReference = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkAttachment VkAttachmentReference-         where-        type VkAttachmentMType VkAttachmentReference = Word32--        {-# NOINLINE vkAttachment #-}-        vkAttachment x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentReference, attachment})--        {-# INLINE vkAttachmentByteOffset #-}-        vkAttachmentByteOffset ~_-          = #{offset VkAttachmentReference, attachment}--        {-# INLINE readVkAttachment #-}-        readVkAttachment p-          = peekByteOff p #{offset VkAttachmentReference, attachment}--        {-# INLINE writeVkAttachment #-}-        writeVkAttachment p-          = pokeByteOff p #{offset VkAttachmentReference, attachment}- instance {-# OVERLAPPING #-}          HasField "attachment" VkAttachmentReference where         type FieldType "attachment" VkAttachmentReference = Word32@@ -105,37 +84,22 @@         fieldOffset           = #{offset VkAttachmentReference, attachment} -instance CanReadField "attachment" VkAttachmentReference where-        {-# INLINE getField #-}-        getField = vkAttachment+instance {-# OVERLAPPING #-}+         CanReadField "attachment" VkAttachmentReference where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAttachmentReference, attachment})          {-# INLINE readField #-}-        readField = readVkAttachment+        readField p+          = peekByteOff p #{offset VkAttachmentReference, attachment} -instance CanWriteField "attachment" VkAttachmentReference where+instance {-# OVERLAPPING #-}+         CanWriteField "attachment" VkAttachmentReference where         {-# INLINE writeField #-}-        writeField = writeVkAttachment--instance {-# OVERLAPPING #-} HasVkLayout VkAttachmentReference-         where-        type VkLayoutMType VkAttachmentReference = VkImageLayout--        {-# NOINLINE vkLayout #-}-        vkLayout x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentReference, layout})--        {-# INLINE vkLayoutByteOffset #-}-        vkLayoutByteOffset ~_-          = #{offset VkAttachmentReference, layout}--        {-# INLINE readVkLayout #-}-        readVkLayout p-          = peekByteOff p #{offset VkAttachmentReference, layout}--        {-# INLINE writeVkLayout #-}-        writeVkLayout p-          = pokeByteOff p #{offset VkAttachmentReference, layout}+        writeField p+          = pokeByteOff p #{offset VkAttachmentReference, attachment}  instance {-# OVERLAPPING #-}          HasField "layout" VkAttachmentReference where@@ -151,21 +115,28 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkAttachmentReference, layout} -instance CanReadField "layout" VkAttachmentReference where-        {-# INLINE getField #-}-        getField = vkLayout+instance {-# OVERLAPPING #-}+         CanReadField "layout" VkAttachmentReference where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAttachmentReference, layout})          {-# INLINE readField #-}-        readField = readVkLayout+        readField p+          = peekByteOff p #{offset VkAttachmentReference, layout} -instance CanWriteField "layout" VkAttachmentReference where+instance {-# OVERLAPPING #-}+         CanWriteField "layout" VkAttachmentReference where         {-# INLINE writeField #-}-        writeField = writeVkLayout+        writeField p+          = pokeByteOff p #{offset VkAttachmentReference, layout}  instance Show VkAttachmentReference where         showsPrec d x           = showString "VkAttachmentReference {" .-              showString "vkAttachment = " .-                showsPrec d (vkAttachment x) .+              showString "attachment = " .+                showsPrec d (getField @"attachment" x) .                   showString ", " .-                    showString "vkLayout = " . showsPrec d (vkLayout x) . showChar '}'+                    showString "layout = " .+                      showsPrec d (getField @"layout" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkAttachmentSampleLocationsEXT.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkAttachmentSampleLocationsEXT        (VkAttachmentSampleLocationsEXT(..)) where@@ -13,7 +14,6 @@ import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.Struct.VkSampleLocationsInfoEXT (VkSampleLocationsInfoEXT)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                      (unsafeDupablePerformIO)  -- | > typedef struct VkAttachmentSampleLocationsEXT {@@ -21,7 +21,7 @@ --   >     VkSampleLocationsInfoEXT         sampleLocationsInfo; --   > } VkAttachmentSampleLocationsEXT; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkAttachmentSampleLocationsEXT.html VkAttachmentSampleLocationsEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkAttachmentSampleLocationsEXT.html VkAttachmentSampleLocationsEXT registry at www.khronos.org> data VkAttachmentSampleLocationsEXT = VkAttachmentSampleLocationsEXT## Addr##                                                                       ByteArray## @@ -75,27 +75,6 @@         type StructExtends VkAttachmentSampleLocationsEXT = '[] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkAttachmentIndex VkAttachmentSampleLocationsEXT where-        type VkAttachmentIndexMType VkAttachmentSampleLocationsEXT = Word32--        {-# NOINLINE vkAttachmentIndex #-}-        vkAttachmentIndex x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentSampleLocationsEXT, attachmentIndex})--        {-# INLINE vkAttachmentIndexByteOffset #-}-        vkAttachmentIndexByteOffset ~_-          = #{offset VkAttachmentSampleLocationsEXT, attachmentIndex}--        {-# INLINE readVkAttachmentIndex #-}-        readVkAttachmentIndex p-          = peekByteOff p #{offset VkAttachmentSampleLocationsEXT, attachmentIndex}--        {-# INLINE writeVkAttachmentIndex #-}-        writeVkAttachmentIndex p-          = pokeByteOff p #{offset VkAttachmentSampleLocationsEXT, attachmentIndex}--instance {-# OVERLAPPING #-}          HasField "attachmentIndex" VkAttachmentSampleLocationsEXT where         type FieldType "attachmentIndex" VkAttachmentSampleLocationsEXT =              Word32@@ -113,42 +92,23 @@         fieldOffset           = #{offset VkAttachmentSampleLocationsEXT, attachmentIndex} -instance CanReadField "attachmentIndex"-           VkAttachmentSampleLocationsEXT-         where-        {-# INLINE getField #-}-        getField = vkAttachmentIndex+instance {-# OVERLAPPING #-}+         CanReadField "attachmentIndex" VkAttachmentSampleLocationsEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAttachmentSampleLocationsEXT, attachmentIndex})          {-# INLINE readField #-}-        readField = readVkAttachmentIndex+        readField p+          = peekByteOff p #{offset VkAttachmentSampleLocationsEXT, attachmentIndex} -instance CanWriteField "attachmentIndex"-           VkAttachmentSampleLocationsEXT+instance {-# OVERLAPPING #-}+         CanWriteField "attachmentIndex" VkAttachmentSampleLocationsEXT          where         {-# INLINE writeField #-}-        writeField = writeVkAttachmentIndex--instance {-# OVERLAPPING #-}-         HasVkSampleLocationsInfo VkAttachmentSampleLocationsEXT where-        type VkSampleLocationsInfoMType VkAttachmentSampleLocationsEXT =-             VkSampleLocationsInfoEXT--        {-# NOINLINE vkSampleLocationsInfo #-}-        vkSampleLocationsInfo x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkAttachmentSampleLocationsEXT, sampleLocationsInfo})--        {-# INLINE vkSampleLocationsInfoByteOffset #-}-        vkSampleLocationsInfoByteOffset ~_-          = #{offset VkAttachmentSampleLocationsEXT, sampleLocationsInfo}--        {-# INLINE readVkSampleLocationsInfo #-}-        readVkSampleLocationsInfo p-          = peekByteOff p #{offset VkAttachmentSampleLocationsEXT, sampleLocationsInfo}--        {-# INLINE writeVkSampleLocationsInfo #-}-        writeVkSampleLocationsInfo p-          = pokeByteOff p #{offset VkAttachmentSampleLocationsEXT, sampleLocationsInfo}+        writeField p+          = pokeByteOff p #{offset VkAttachmentSampleLocationsEXT, attachmentIndex}  instance {-# OVERLAPPING #-}          HasField "sampleLocationsInfo" VkAttachmentSampleLocationsEXT where@@ -172,26 +132,30 @@         fieldOffset           = #{offset VkAttachmentSampleLocationsEXT, sampleLocationsInfo} -instance CanReadField "sampleLocationsInfo"-           VkAttachmentSampleLocationsEXT+instance {-# OVERLAPPING #-}+         CanReadField "sampleLocationsInfo" VkAttachmentSampleLocationsEXT          where-        {-# INLINE getField #-}-        getField = vkSampleLocationsInfo+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAttachmentSampleLocationsEXT, sampleLocationsInfo})          {-# INLINE readField #-}-        readField = readVkSampleLocationsInfo+        readField p+          = peekByteOff p #{offset VkAttachmentSampleLocationsEXT, sampleLocationsInfo} -instance CanWriteField "sampleLocationsInfo"-           VkAttachmentSampleLocationsEXT+instance {-# OVERLAPPING #-}+         CanWriteField "sampleLocationsInfo" VkAttachmentSampleLocationsEXT          where         {-# INLINE writeField #-}-        writeField = writeVkSampleLocationsInfo+        writeField p+          = pokeByteOff p #{offset VkAttachmentSampleLocationsEXT, sampleLocationsInfo}  instance Show VkAttachmentSampleLocationsEXT where         showsPrec d x           = showString "VkAttachmentSampleLocationsEXT {" .-              showString "vkAttachmentIndex = " .-                showsPrec d (vkAttachmentIndex x) .+              showString "attachmentIndex = " .+                showsPrec d (getField @"attachmentIndex" x) .                   showString ", " .-                    showString "vkSampleLocationsInfo = " .-                      showsPrec d (vkSampleLocationsInfo x) . showChar '}'+                    showString "sampleLocationsInfo = " .+                      showsPrec d (getField @"sampleLocationsInfo" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkBindBufferMemoryDeviceGroupInfo.hsc view
@@ -0,0 +1,245 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkBindBufferMemoryDeviceGroupInfo+       (VkBindBufferMemoryDeviceGroupInfo(..)) where+import           Foreign.Storable                                    (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkStructureType          (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkBindBufferMemoryInfo (VkBindBufferMemoryInfo)+import           System.IO.Unsafe                                    (unsafeDupablePerformIO)++-- | > typedef struct VkBindBufferMemoryDeviceGroupInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t         deviceIndexCount;+--   >     const uint32_t*  pDeviceIndices;+--   > } VkBindBufferMemoryDeviceGroupInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkBindBufferMemoryDeviceGroupInfo.html VkBindBufferMemoryDeviceGroupInfo registry at www.khronos.org>+data VkBindBufferMemoryDeviceGroupInfo = VkBindBufferMemoryDeviceGroupInfo## Addr##+                                                                            ByteArray##++instance Eq VkBindBufferMemoryDeviceGroupInfo where+        (VkBindBufferMemoryDeviceGroupInfo## a _) ==+          x@(VkBindBufferMemoryDeviceGroupInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkBindBufferMemoryDeviceGroupInfo where+        (VkBindBufferMemoryDeviceGroupInfo## a _) `compare`+          x@(VkBindBufferMemoryDeviceGroupInfo## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkBindBufferMemoryDeviceGroupInfo where+        sizeOf ~_ = #{size VkBindBufferMemoryDeviceGroupInfo}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkBindBufferMemoryDeviceGroupInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkBindBufferMemoryDeviceGroupInfo where+        unsafeAddr (VkBindBufferMemoryDeviceGroupInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkBindBufferMemoryDeviceGroupInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkBindBufferMemoryDeviceGroupInfo##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBindBufferMemoryDeviceGroupInfo where+        type StructFields VkBindBufferMemoryDeviceGroupInfo =+             '["sType", "pNext", "deviceIndexCount", "pDeviceIndices"] -- ' closing tick for hsc2hs+        type CUnionType VkBindBufferMemoryDeviceGroupInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkBindBufferMemoryDeviceGroupInfo = 'False -- ' closing tick for hsc2hs+        type StructExtends VkBindBufferMemoryDeviceGroupInfo =+             '[VkBindBufferMemoryInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkBindBufferMemoryDeviceGroupInfo where+        type FieldType "sType" VkBindBufferMemoryDeviceGroupInfo =+             VkStructureType+        type FieldOptional "sType" VkBindBufferMemoryDeviceGroupInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkBindBufferMemoryDeviceGroupInfo =+             #{offset VkBindBufferMemoryDeviceGroupInfo, sType}+        type FieldIsArray "sType" VkBindBufferMemoryDeviceGroupInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindBufferMemoryDeviceGroupInfo, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkBindBufferMemoryDeviceGroupInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryDeviceGroupInfo, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkBindBufferMemoryDeviceGroupInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkBindBufferMemoryDeviceGroupInfo where+        type FieldType "pNext" VkBindBufferMemoryDeviceGroupInfo = Ptr Void+        type FieldOptional "pNext" VkBindBufferMemoryDeviceGroupInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkBindBufferMemoryDeviceGroupInfo =+             #{offset VkBindBufferMemoryDeviceGroupInfo, pNext}+        type FieldIsArray "pNext" VkBindBufferMemoryDeviceGroupInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindBufferMemoryDeviceGroupInfo, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkBindBufferMemoryDeviceGroupInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryDeviceGroupInfo, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkBindBufferMemoryDeviceGroupInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, pNext}++instance {-# OVERLAPPING #-}+         HasField "deviceIndexCount" VkBindBufferMemoryDeviceGroupInfo where+        type FieldType "deviceIndexCount" VkBindBufferMemoryDeviceGroupInfo+             = Word32+        type FieldOptional "deviceIndexCount"+               VkBindBufferMemoryDeviceGroupInfo+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "deviceIndexCount"+               VkBindBufferMemoryDeviceGroupInfo+             =+             #{offset VkBindBufferMemoryDeviceGroupInfo, deviceIndexCount}+        type FieldIsArray "deviceIndexCount"+               VkBindBufferMemoryDeviceGroupInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindBufferMemoryDeviceGroupInfo, deviceIndexCount}++instance {-# OVERLAPPING #-}+         CanReadField "deviceIndexCount" VkBindBufferMemoryDeviceGroupInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryDeviceGroupInfo, deviceIndexCount})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, deviceIndexCount}++instance {-# OVERLAPPING #-}+         CanWriteField "deviceIndexCount" VkBindBufferMemoryDeviceGroupInfo+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, deviceIndexCount}++instance {-# OVERLAPPING #-}+         HasField "pDeviceIndices" VkBindBufferMemoryDeviceGroupInfo where+        type FieldType "pDeviceIndices" VkBindBufferMemoryDeviceGroupInfo =+             Ptr Word32+        type FieldOptional "pDeviceIndices"+               VkBindBufferMemoryDeviceGroupInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pDeviceIndices" VkBindBufferMemoryDeviceGroupInfo+             =+             #{offset VkBindBufferMemoryDeviceGroupInfo, pDeviceIndices}+        type FieldIsArray "pDeviceIndices"+               VkBindBufferMemoryDeviceGroupInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindBufferMemoryDeviceGroupInfo, pDeviceIndices}++instance {-# OVERLAPPING #-}+         CanReadField "pDeviceIndices" VkBindBufferMemoryDeviceGroupInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryDeviceGroupInfo, pDeviceIndices})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, pDeviceIndices}++instance {-# OVERLAPPING #-}+         CanWriteField "pDeviceIndices" VkBindBufferMemoryDeviceGroupInfo+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, pDeviceIndices}++instance Show VkBindBufferMemoryDeviceGroupInfo where+        showsPrec d x+          = showString "VkBindBufferMemoryDeviceGroupInfo {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "deviceIndexCount = " .+                            showsPrec d (getField @"deviceIndexCount" x) .+                              showString ", " .+                                showString "pDeviceIndices = " .+                                  showsPrec d (getField @"pDeviceIndices" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkBindBufferMemoryDeviceGroupInfoKHR.hs view
@@ -0,0 +1,11 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Struct.VkBindBufferMemoryDeviceGroupInfoKHR+       (VkBindBufferMemoryDeviceGroupInfo(..),+        VkBindBufferMemoryDeviceGroupInfoKHR)+       where+import           Graphics.Vulkan.Types.Struct.VkBindBufferMemoryDeviceGroupInfo (VkBindBufferMemoryDeviceGroupInfo (..))++-- | Alias for `VkBindBufferMemoryDeviceGroupInfo`+type VkBindBufferMemoryDeviceGroupInfoKHR =+     VkBindBufferMemoryDeviceGroupInfo
− src-gen/Graphics/Vulkan/Types/Struct/VkBindBufferMemoryDeviceGroupInfoKHX.hsc
@@ -1,324 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkBindBufferMemoryDeviceGroupInfoKHX-       (VkBindBufferMemoryDeviceGroupInfoKHX(..)) where-import           Foreign.Storable                                       (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkStructureType             (VkStructureType)-import           Graphics.Vulkan.Types.Struct.VkBindBufferMemoryInfoKHR (VkBindBufferMemoryInfoKHR)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                                       (unsafeDupablePerformIO)---- | > typedef struct VkBindBufferMemoryDeviceGroupInfoKHX {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t         deviceIndexCount;---   >     const uint32_t*  pDeviceIndices;---   > } VkBindBufferMemoryDeviceGroupInfoKHX;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkBindBufferMemoryDeviceGroupInfoKHX.html VkBindBufferMemoryDeviceGroupInfoKHX registry at www.khronos.org>-data VkBindBufferMemoryDeviceGroupInfoKHX = VkBindBufferMemoryDeviceGroupInfoKHX## Addr##-                                                                                  ByteArray##--instance Eq VkBindBufferMemoryDeviceGroupInfoKHX where-        (VkBindBufferMemoryDeviceGroupInfoKHX## a _) ==-          x@(VkBindBufferMemoryDeviceGroupInfoKHX## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkBindBufferMemoryDeviceGroupInfoKHX where-        (VkBindBufferMemoryDeviceGroupInfoKHX## a _) `compare`-          x@(VkBindBufferMemoryDeviceGroupInfoKHX## b _)-          = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkBindBufferMemoryDeviceGroupInfoKHX where-        sizeOf ~_-          = #{size VkBindBufferMemoryDeviceGroupInfoKHX}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkBindBufferMemoryDeviceGroupInfoKHX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkBindBufferMemoryDeviceGroupInfoKHX-         where-        unsafeAddr (VkBindBufferMemoryDeviceGroupInfoKHX## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkBindBufferMemoryDeviceGroupInfoKHX## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkBindBufferMemoryDeviceGroupInfoKHX##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkBindBufferMemoryDeviceGroupInfoKHX where-        type StructFields VkBindBufferMemoryDeviceGroupInfoKHX =-             '["sType", "pNext", "deviceIndexCount", "pDeviceIndices"] -- ' closing tick for hsc2hs-        type CUnionType VkBindBufferMemoryDeviceGroupInfoKHX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkBindBufferMemoryDeviceGroupInfoKHX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkBindBufferMemoryDeviceGroupInfoKHX =-             '[VkBindBufferMemoryInfoKHR] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasVkSType VkBindBufferMemoryDeviceGroupInfoKHX where-        type VkSTypeMType VkBindBufferMemoryDeviceGroupInfoKHX =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryDeviceGroupInfoKHX, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkBindBufferMemoryDeviceGroupInfoKHX, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkBindBufferMemoryDeviceGroupInfoKHX, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkBindBufferMemoryDeviceGroupInfoKHX, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkBindBufferMemoryDeviceGroupInfoKHX where-        type FieldType "sType" VkBindBufferMemoryDeviceGroupInfoKHX =-             VkStructureType-        type FieldOptional "sType" VkBindBufferMemoryDeviceGroupInfoKHX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkBindBufferMemoryDeviceGroupInfoKHX =-             #{offset VkBindBufferMemoryDeviceGroupInfoKHX, sType}-        type FieldIsArray "sType" VkBindBufferMemoryDeviceGroupInfoKHX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindBufferMemoryDeviceGroupInfoKHX, sType}--instance CanReadField "sType" VkBindBufferMemoryDeviceGroupInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkBindBufferMemoryDeviceGroupInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-}-         HasVkPNext VkBindBufferMemoryDeviceGroupInfoKHX where-        type VkPNextMType VkBindBufferMemoryDeviceGroupInfoKHX = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryDeviceGroupInfoKHX, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkBindBufferMemoryDeviceGroupInfoKHX, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkBindBufferMemoryDeviceGroupInfoKHX, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkBindBufferMemoryDeviceGroupInfoKHX, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkBindBufferMemoryDeviceGroupInfoKHX where-        type FieldType "pNext" VkBindBufferMemoryDeviceGroupInfoKHX =-             Ptr Void-        type FieldOptional "pNext" VkBindBufferMemoryDeviceGroupInfoKHX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkBindBufferMemoryDeviceGroupInfoKHX =-             #{offset VkBindBufferMemoryDeviceGroupInfoKHX, pNext}-        type FieldIsArray "pNext" VkBindBufferMemoryDeviceGroupInfoKHX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindBufferMemoryDeviceGroupInfoKHX, pNext}--instance CanReadField "pNext" VkBindBufferMemoryDeviceGroupInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkBindBufferMemoryDeviceGroupInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-}-         HasVkDeviceIndexCount VkBindBufferMemoryDeviceGroupInfoKHX where-        type VkDeviceIndexCountMType VkBindBufferMemoryDeviceGroupInfoKHX =-             Word32--        {-# NOINLINE vkDeviceIndexCount #-}-        vkDeviceIndexCount x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryDeviceGroupInfoKHX, deviceIndexCount})--        {-# INLINE vkDeviceIndexCountByteOffset #-}-        vkDeviceIndexCountByteOffset ~_-          = #{offset VkBindBufferMemoryDeviceGroupInfoKHX, deviceIndexCount}--        {-# INLINE readVkDeviceIndexCount #-}-        readVkDeviceIndexCount p-          = peekByteOff p #{offset VkBindBufferMemoryDeviceGroupInfoKHX, deviceIndexCount}--        {-# INLINE writeVkDeviceIndexCount #-}-        writeVkDeviceIndexCount p-          = pokeByteOff p #{offset VkBindBufferMemoryDeviceGroupInfoKHX, deviceIndexCount}--instance {-# OVERLAPPING #-}-         HasField "deviceIndexCount" VkBindBufferMemoryDeviceGroupInfoKHX-         where-        type FieldType "deviceIndexCount"-               VkBindBufferMemoryDeviceGroupInfoKHX-             = Word32-        type FieldOptional "deviceIndexCount"-               VkBindBufferMemoryDeviceGroupInfoKHX-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "deviceIndexCount"-               VkBindBufferMemoryDeviceGroupInfoKHX-             =-             #{offset VkBindBufferMemoryDeviceGroupInfoKHX, deviceIndexCount}-        type FieldIsArray "deviceIndexCount"-               VkBindBufferMemoryDeviceGroupInfoKHX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindBufferMemoryDeviceGroupInfoKHX, deviceIndexCount}--instance CanReadField "deviceIndexCount"-           VkBindBufferMemoryDeviceGroupInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkDeviceIndexCount--        {-# INLINE readField #-}-        readField = readVkDeviceIndexCount--instance CanWriteField "deviceIndexCount"-           VkBindBufferMemoryDeviceGroupInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkDeviceIndexCount--instance {-# OVERLAPPING #-}-         HasVkPDeviceIndices VkBindBufferMemoryDeviceGroupInfoKHX where-        type VkPDeviceIndicesMType VkBindBufferMemoryDeviceGroupInfoKHX =-             Ptr Word32--        {-# NOINLINE vkPDeviceIndices #-}-        vkPDeviceIndices x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryDeviceGroupInfoKHX, pDeviceIndices})--        {-# INLINE vkPDeviceIndicesByteOffset #-}-        vkPDeviceIndicesByteOffset ~_-          = #{offset VkBindBufferMemoryDeviceGroupInfoKHX, pDeviceIndices}--        {-# INLINE readVkPDeviceIndices #-}-        readVkPDeviceIndices p-          = peekByteOff p #{offset VkBindBufferMemoryDeviceGroupInfoKHX, pDeviceIndices}--        {-# INLINE writeVkPDeviceIndices #-}-        writeVkPDeviceIndices p-          = pokeByteOff p #{offset VkBindBufferMemoryDeviceGroupInfoKHX, pDeviceIndices}--instance {-# OVERLAPPING #-}-         HasField "pDeviceIndices" VkBindBufferMemoryDeviceGroupInfoKHX-         where-        type FieldType "pDeviceIndices"-               VkBindBufferMemoryDeviceGroupInfoKHX-             = Ptr Word32-        type FieldOptional "pDeviceIndices"-               VkBindBufferMemoryDeviceGroupInfoKHX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pDeviceIndices"-               VkBindBufferMemoryDeviceGroupInfoKHX-             =-             #{offset VkBindBufferMemoryDeviceGroupInfoKHX, pDeviceIndices}-        type FieldIsArray "pDeviceIndices"-               VkBindBufferMemoryDeviceGroupInfoKHX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindBufferMemoryDeviceGroupInfoKHX, pDeviceIndices}--instance CanReadField "pDeviceIndices"-           VkBindBufferMemoryDeviceGroupInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkPDeviceIndices--        {-# INLINE readField #-}-        readField = readVkPDeviceIndices--instance CanWriteField "pDeviceIndices"-           VkBindBufferMemoryDeviceGroupInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkPDeviceIndices--instance Show VkBindBufferMemoryDeviceGroupInfoKHX where-        showsPrec d x-          = showString "VkBindBufferMemoryDeviceGroupInfoKHX {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkDeviceIndexCount = " .-                            showsPrec d (vkDeviceIndexCount x) .-                              showString ", " .-                                showString "vkPDeviceIndices = " .-                                  showsPrec d (vkPDeviceIndices x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkBindBufferMemoryInfo.hsc view
@@ -0,0 +1,251 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkBindBufferMemoryInfo+       (VkBindBufferMemoryInfo(..)) where+import           Foreign.Storable                           (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.BaseTypes            (VkDeviceSize)+import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)+import           Graphics.Vulkan.Types.Handles              (VkBuffer,+                                                             VkDeviceMemory)+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkBindBufferMemoryInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkBuffer                         buffer;+--   >     VkDeviceMemory                   memory;+--   >     VkDeviceSize                     memoryOffset;+--   > } VkBindBufferMemoryInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkBindBufferMemoryInfo.html VkBindBufferMemoryInfo registry at www.khronos.org>+data VkBindBufferMemoryInfo = VkBindBufferMemoryInfo## Addr##+                                                      ByteArray##++instance Eq VkBindBufferMemoryInfo where+        (VkBindBufferMemoryInfo## a _) == x@(VkBindBufferMemoryInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkBindBufferMemoryInfo where+        (VkBindBufferMemoryInfo## a _) `compare`+          x@(VkBindBufferMemoryInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkBindBufferMemoryInfo where+        sizeOf ~_ = #{size VkBindBufferMemoryInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkBindBufferMemoryInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkBindBufferMemoryInfo where+        unsafeAddr (VkBindBufferMemoryInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkBindBufferMemoryInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkBindBufferMemoryInfo## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBindBufferMemoryInfo where+        type StructFields VkBindBufferMemoryInfo =+             '["sType", "pNext", "buffer", "memory", "memoryOffset"] -- ' closing tick for hsc2hs+        type CUnionType VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs+        type StructExtends VkBindBufferMemoryInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkBindBufferMemoryInfo where+        type FieldType "sType" VkBindBufferMemoryInfo = VkStructureType+        type FieldOptional "sType" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkBindBufferMemoryInfo =+             #{offset VkBindBufferMemoryInfo, sType}+        type FieldIsArray "sType" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBindBufferMemoryInfo, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkBindBufferMemoryInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryInfo, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindBufferMemoryInfo, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkBindBufferMemoryInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindBufferMemoryInfo, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkBindBufferMemoryInfo where+        type FieldType "pNext" VkBindBufferMemoryInfo = Ptr Void+        type FieldOptional "pNext" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkBindBufferMemoryInfo =+             #{offset VkBindBufferMemoryInfo, pNext}+        type FieldIsArray "pNext" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBindBufferMemoryInfo, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkBindBufferMemoryInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryInfo, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindBufferMemoryInfo, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkBindBufferMemoryInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindBufferMemoryInfo, pNext}++instance {-# OVERLAPPING #-}+         HasField "buffer" VkBindBufferMemoryInfo where+        type FieldType "buffer" VkBindBufferMemoryInfo = VkBuffer+        type FieldOptional "buffer" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "buffer" VkBindBufferMemoryInfo =+             #{offset VkBindBufferMemoryInfo, buffer}+        type FieldIsArray "buffer" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBindBufferMemoryInfo, buffer}++instance {-# OVERLAPPING #-}+         CanReadField "buffer" VkBindBufferMemoryInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryInfo, buffer})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindBufferMemoryInfo, buffer}++instance {-# OVERLAPPING #-}+         CanWriteField "buffer" VkBindBufferMemoryInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindBufferMemoryInfo, buffer}++instance {-# OVERLAPPING #-}+         HasField "memory" VkBindBufferMemoryInfo where+        type FieldType "memory" VkBindBufferMemoryInfo = VkDeviceMemory+        type FieldOptional "memory" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "memory" VkBindBufferMemoryInfo =+             #{offset VkBindBufferMemoryInfo, memory}+        type FieldIsArray "memory" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBindBufferMemoryInfo, memory}++instance {-# OVERLAPPING #-}+         CanReadField "memory" VkBindBufferMemoryInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryInfo, memory})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindBufferMemoryInfo, memory}++instance {-# OVERLAPPING #-}+         CanWriteField "memory" VkBindBufferMemoryInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindBufferMemoryInfo, memory}++instance {-# OVERLAPPING #-}+         HasField "memoryOffset" VkBindBufferMemoryInfo where+        type FieldType "memoryOffset" VkBindBufferMemoryInfo = VkDeviceSize+        type FieldOptional "memoryOffset" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "memoryOffset" VkBindBufferMemoryInfo =+             #{offset VkBindBufferMemoryInfo, memoryOffset}+        type FieldIsArray "memoryOffset" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindBufferMemoryInfo, memoryOffset}++instance {-# OVERLAPPING #-}+         CanReadField "memoryOffset" VkBindBufferMemoryInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryInfo, memoryOffset})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindBufferMemoryInfo, memoryOffset}++instance {-# OVERLAPPING #-}+         CanWriteField "memoryOffset" VkBindBufferMemoryInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindBufferMemoryInfo, memoryOffset}++instance Show VkBindBufferMemoryInfo where+        showsPrec d x+          = showString "VkBindBufferMemoryInfo {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "buffer = " .+                            showsPrec d (getField @"buffer" x) .+                              showString ", " .+                                showString "memory = " .+                                  showsPrec d (getField @"memory" x) .+                                    showString ", " .+                                      showString "memoryOffset = " .+                                        showsPrec d (getField @"memoryOffset" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkBindBufferMemoryInfoKHR.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Struct.VkBindBufferMemoryInfoKHR+       (VkBindBufferMemoryInfo(..), VkBindBufferMemoryInfoKHR) where+import           Graphics.Vulkan.Types.Struct.VkBindBufferMemoryInfo (VkBindBufferMemoryInfo (..))++-- | Alias for `VkBindBufferMemoryInfo`+type VkBindBufferMemoryInfoKHR = VkBindBufferMemoryInfo
− src-gen/Graphics/Vulkan/Types/Struct/VkBindBufferMemoryInfoKHR.hsc
@@ -1,335 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkBindBufferMemoryInfoKHR-       (VkBindBufferMemoryInfoKHR(..)) where-import           Foreign.Storable                           (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.BaseTypes            (VkDeviceSize)-import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)-import           Graphics.Vulkan.Types.Handles              (VkBuffer,-                                                             VkDeviceMemory)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                           (unsafeDupablePerformIO)---- | > typedef struct VkBindBufferMemoryInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkBuffer                         buffer;---   >     VkDeviceMemory                   memory;---   >     VkDeviceSize                     memoryOffset;---   > } VkBindBufferMemoryInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkBindBufferMemoryInfoKHR.html VkBindBufferMemoryInfoKHR registry at www.khronos.org>-data VkBindBufferMemoryInfoKHR = VkBindBufferMemoryInfoKHR## Addr##-                                                            ByteArray##--instance Eq VkBindBufferMemoryInfoKHR where-        (VkBindBufferMemoryInfoKHR## a _) ==-          x@(VkBindBufferMemoryInfoKHR## b _) = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkBindBufferMemoryInfoKHR where-        (VkBindBufferMemoryInfoKHR## a _) `compare`-          x@(VkBindBufferMemoryInfoKHR## b _) = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkBindBufferMemoryInfoKHR where-        sizeOf ~_ = #{size VkBindBufferMemoryInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkBindBufferMemoryInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkBindBufferMemoryInfoKHR where-        unsafeAddr (VkBindBufferMemoryInfoKHR## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkBindBufferMemoryInfoKHR## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkBindBufferMemoryInfoKHR## (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkBindBufferMemoryInfoKHR where-        type StructFields VkBindBufferMemoryInfoKHR =-             '["sType", "pNext", "buffer", "memory", "memoryOffset"] -- ' closing tick for hsc2hs-        type CUnionType VkBindBufferMemoryInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkBindBufferMemoryInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkBindBufferMemoryInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasVkSType VkBindBufferMemoryInfoKHR-         where-        type VkSTypeMType VkBindBufferMemoryInfoKHR = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryInfoKHR, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkBindBufferMemoryInfoKHR, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkBindBufferMemoryInfoKHR, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkBindBufferMemoryInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkBindBufferMemoryInfoKHR where-        type FieldType "sType" VkBindBufferMemoryInfoKHR = VkStructureType-        type FieldOptional "sType" VkBindBufferMemoryInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkBindBufferMemoryInfoKHR =-             #{offset VkBindBufferMemoryInfoKHR, sType}-        type FieldIsArray "sType" VkBindBufferMemoryInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindBufferMemoryInfoKHR, sType}--instance CanReadField "sType" VkBindBufferMemoryInfoKHR where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkBindBufferMemoryInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkBindBufferMemoryInfoKHR-         where-        type VkPNextMType VkBindBufferMemoryInfoKHR = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryInfoKHR, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkBindBufferMemoryInfoKHR, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkBindBufferMemoryInfoKHR, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkBindBufferMemoryInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkBindBufferMemoryInfoKHR where-        type FieldType "pNext" VkBindBufferMemoryInfoKHR = Ptr Void-        type FieldOptional "pNext" VkBindBufferMemoryInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkBindBufferMemoryInfoKHR =-             #{offset VkBindBufferMemoryInfoKHR, pNext}-        type FieldIsArray "pNext" VkBindBufferMemoryInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindBufferMemoryInfoKHR, pNext}--instance CanReadField "pNext" VkBindBufferMemoryInfoKHR where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkBindBufferMemoryInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-} HasVkBuffer VkBindBufferMemoryInfoKHR-         where-        type VkBufferMType VkBindBufferMemoryInfoKHR = VkBuffer--        {-# NOINLINE vkBuffer #-}-        vkBuffer x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryInfoKHR, buffer})--        {-# INLINE vkBufferByteOffset #-}-        vkBufferByteOffset ~_-          = #{offset VkBindBufferMemoryInfoKHR, buffer}--        {-# INLINE readVkBuffer #-}-        readVkBuffer p-          = peekByteOff p #{offset VkBindBufferMemoryInfoKHR, buffer}--        {-# INLINE writeVkBuffer #-}-        writeVkBuffer p-          = pokeByteOff p #{offset VkBindBufferMemoryInfoKHR, buffer}--instance {-# OVERLAPPING #-}-         HasField "buffer" VkBindBufferMemoryInfoKHR where-        type FieldType "buffer" VkBindBufferMemoryInfoKHR = VkBuffer-        type FieldOptional "buffer" VkBindBufferMemoryInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "buffer" VkBindBufferMemoryInfoKHR =-             #{offset VkBindBufferMemoryInfoKHR, buffer}-        type FieldIsArray "buffer" VkBindBufferMemoryInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindBufferMemoryInfoKHR, buffer}--instance CanReadField "buffer" VkBindBufferMemoryInfoKHR where-        {-# INLINE getField #-}-        getField = vkBuffer--        {-# INLINE readField #-}-        readField = readVkBuffer--instance CanWriteField "buffer" VkBindBufferMemoryInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkBuffer--instance {-# OVERLAPPING #-} HasVkMemory VkBindBufferMemoryInfoKHR-         where-        type VkMemoryMType VkBindBufferMemoryInfoKHR = VkDeviceMemory--        {-# NOINLINE vkMemory #-}-        vkMemory x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryInfoKHR, memory})--        {-# INLINE vkMemoryByteOffset #-}-        vkMemoryByteOffset ~_-          = #{offset VkBindBufferMemoryInfoKHR, memory}--        {-# INLINE readVkMemory #-}-        readVkMemory p-          = peekByteOff p #{offset VkBindBufferMemoryInfoKHR, memory}--        {-# INLINE writeVkMemory #-}-        writeVkMemory p-          = pokeByteOff p #{offset VkBindBufferMemoryInfoKHR, memory}--instance {-# OVERLAPPING #-}-         HasField "memory" VkBindBufferMemoryInfoKHR where-        type FieldType "memory" VkBindBufferMemoryInfoKHR = VkDeviceMemory-        type FieldOptional "memory" VkBindBufferMemoryInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memory" VkBindBufferMemoryInfoKHR =-             #{offset VkBindBufferMemoryInfoKHR, memory}-        type FieldIsArray "memory" VkBindBufferMemoryInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindBufferMemoryInfoKHR, memory}--instance CanReadField "memory" VkBindBufferMemoryInfoKHR where-        {-# INLINE getField #-}-        getField = vkMemory--        {-# INLINE readField #-}-        readField = readVkMemory--instance CanWriteField "memory" VkBindBufferMemoryInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkMemory--instance {-# OVERLAPPING #-}-         HasVkMemoryOffset VkBindBufferMemoryInfoKHR where-        type VkMemoryOffsetMType VkBindBufferMemoryInfoKHR = VkDeviceSize--        {-# NOINLINE vkMemoryOffset #-}-        vkMemoryOffset x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryInfoKHR, memoryOffset})--        {-# INLINE vkMemoryOffsetByteOffset #-}-        vkMemoryOffsetByteOffset ~_-          = #{offset VkBindBufferMemoryInfoKHR, memoryOffset}--        {-# INLINE readVkMemoryOffset #-}-        readVkMemoryOffset p-          = peekByteOff p #{offset VkBindBufferMemoryInfoKHR, memoryOffset}--        {-# INLINE writeVkMemoryOffset #-}-        writeVkMemoryOffset p-          = pokeByteOff p #{offset VkBindBufferMemoryInfoKHR, memoryOffset}--instance {-# OVERLAPPING #-}-         HasField "memoryOffset" VkBindBufferMemoryInfoKHR where-        type FieldType "memoryOffset" VkBindBufferMemoryInfoKHR =-             VkDeviceSize-        type FieldOptional "memoryOffset" VkBindBufferMemoryInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "memoryOffset" VkBindBufferMemoryInfoKHR =-             #{offset VkBindBufferMemoryInfoKHR, memoryOffset}-        type FieldIsArray "memoryOffset" VkBindBufferMemoryInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindBufferMemoryInfoKHR, memoryOffset}--instance CanReadField "memoryOffset" VkBindBufferMemoryInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkMemoryOffset--        {-# INLINE readField #-}-        readField = readVkMemoryOffset--instance CanWriteField "memoryOffset" VkBindBufferMemoryInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkMemoryOffset--instance Show VkBindBufferMemoryInfoKHR where-        showsPrec d x-          = showString "VkBindBufferMemoryInfoKHR {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkBuffer = " .-                            showsPrec d (vkBuffer x) .-                              showString ", " .-                                showString "vkMemory = " .-                                  showsPrec d (vkMemory x) .-                                    showString ", " .-                                      showString "vkMemoryOffset = " .-                                        showsPrec d (vkMemoryOffset x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkBindImageMemoryDeviceGroupInfo.hsc view
@@ -0,0 +1,345 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkBindImageMemoryDeviceGroupInfo+       (VkBindImageMemoryDeviceGroupInfo(..)) where+import           Foreign.Storable                                   (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkStructureType         (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfo (VkBindImageMemoryInfo)+import           Graphics.Vulkan.Types.Struct.VkRect2D              (VkRect2D)+import           System.IO.Unsafe                                   (unsafeDupablePerformIO)++-- | > typedef struct VkBindImageMemoryDeviceGroupInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t         deviceIndexCount;+--   >     const uint32_t*  pDeviceIndices;+--   >     uint32_t         splitInstanceBindRegionCount;+--   >     const VkRect2D*  pSplitInstanceBindRegions;+--   > } VkBindImageMemoryDeviceGroupInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkBindImageMemoryDeviceGroupInfo.html VkBindImageMemoryDeviceGroupInfo registry at www.khronos.org>+data VkBindImageMemoryDeviceGroupInfo = VkBindImageMemoryDeviceGroupInfo## Addr##+                                                                          ByteArray##++instance Eq VkBindImageMemoryDeviceGroupInfo where+        (VkBindImageMemoryDeviceGroupInfo## a _) ==+          x@(VkBindImageMemoryDeviceGroupInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkBindImageMemoryDeviceGroupInfo where+        (VkBindImageMemoryDeviceGroupInfo## a _) `compare`+          x@(VkBindImageMemoryDeviceGroupInfo## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkBindImageMemoryDeviceGroupInfo where+        sizeOf ~_ = #{size VkBindImageMemoryDeviceGroupInfo}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkBindImageMemoryDeviceGroupInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkBindImageMemoryDeviceGroupInfo where+        unsafeAddr (VkBindImageMemoryDeviceGroupInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkBindImageMemoryDeviceGroupInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkBindImageMemoryDeviceGroupInfo##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBindImageMemoryDeviceGroupInfo where+        type StructFields VkBindImageMemoryDeviceGroupInfo =+             '["sType", "pNext", "deviceIndexCount", "pDeviceIndices", -- ' closing tick for hsc2hs+               "splitInstanceBindRegionCount", "pSplitInstanceBindRegions"]+        type CUnionType VkBindImageMemoryDeviceGroupInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkBindImageMemoryDeviceGroupInfo = 'False -- ' closing tick for hsc2hs+        type StructExtends VkBindImageMemoryDeviceGroupInfo =+             '[VkBindImageMemoryInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkBindImageMemoryDeviceGroupInfo where+        type FieldType "sType" VkBindImageMemoryDeviceGroupInfo =+             VkStructureType+        type FieldOptional "sType" VkBindImageMemoryDeviceGroupInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkBindImageMemoryDeviceGroupInfo =+             #{offset VkBindImageMemoryDeviceGroupInfo, sType}+        type FieldIsArray "sType" VkBindImageMemoryDeviceGroupInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindImageMemoryDeviceGroupInfo, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkBindImageMemoryDeviceGroupInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfo, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkBindImageMemoryDeviceGroupInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkBindImageMemoryDeviceGroupInfo where+        type FieldType "pNext" VkBindImageMemoryDeviceGroupInfo = Ptr Void+        type FieldOptional "pNext" VkBindImageMemoryDeviceGroupInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkBindImageMemoryDeviceGroupInfo =+             #{offset VkBindImageMemoryDeviceGroupInfo, pNext}+        type FieldIsArray "pNext" VkBindImageMemoryDeviceGroupInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindImageMemoryDeviceGroupInfo, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkBindImageMemoryDeviceGroupInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfo, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkBindImageMemoryDeviceGroupInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, pNext}++instance {-# OVERLAPPING #-}+         HasField "deviceIndexCount" VkBindImageMemoryDeviceGroupInfo where+        type FieldType "deviceIndexCount" VkBindImageMemoryDeviceGroupInfo+             = Word32+        type FieldOptional "deviceIndexCount"+               VkBindImageMemoryDeviceGroupInfo+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "deviceIndexCount"+               VkBindImageMemoryDeviceGroupInfo+             =+             #{offset VkBindImageMemoryDeviceGroupInfo, deviceIndexCount}+        type FieldIsArray "deviceIndexCount"+               VkBindImageMemoryDeviceGroupInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindImageMemoryDeviceGroupInfo, deviceIndexCount}++instance {-# OVERLAPPING #-}+         CanReadField "deviceIndexCount" VkBindImageMemoryDeviceGroupInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfo, deviceIndexCount})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, deviceIndexCount}++instance {-# OVERLAPPING #-}+         CanWriteField "deviceIndexCount" VkBindImageMemoryDeviceGroupInfo+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, deviceIndexCount}++instance {-# OVERLAPPING #-}+         HasField "pDeviceIndices" VkBindImageMemoryDeviceGroupInfo where+        type FieldType "pDeviceIndices" VkBindImageMemoryDeviceGroupInfo =+             Ptr Word32+        type FieldOptional "pDeviceIndices"+               VkBindImageMemoryDeviceGroupInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pDeviceIndices" VkBindImageMemoryDeviceGroupInfo+             =+             #{offset VkBindImageMemoryDeviceGroupInfo, pDeviceIndices}+        type FieldIsArray "pDeviceIndices" VkBindImageMemoryDeviceGroupInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindImageMemoryDeviceGroupInfo, pDeviceIndices}++instance {-# OVERLAPPING #-}+         CanReadField "pDeviceIndices" VkBindImageMemoryDeviceGroupInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfo, pDeviceIndices})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, pDeviceIndices}++instance {-# OVERLAPPING #-}+         CanWriteField "pDeviceIndices" VkBindImageMemoryDeviceGroupInfo+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, pDeviceIndices}++instance {-# OVERLAPPING #-}+         HasField "splitInstanceBindRegionCount"+           VkBindImageMemoryDeviceGroupInfo+         where+        type FieldType "splitInstanceBindRegionCount"+               VkBindImageMemoryDeviceGroupInfo+             = Word32+        type FieldOptional "splitInstanceBindRegionCount"+               VkBindImageMemoryDeviceGroupInfo+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "splitInstanceBindRegionCount"+               VkBindImageMemoryDeviceGroupInfo+             =+             #{offset VkBindImageMemoryDeviceGroupInfo, splitInstanceBindRegionCount}+        type FieldIsArray "splitInstanceBindRegionCount"+               VkBindImageMemoryDeviceGroupInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindImageMemoryDeviceGroupInfo, splitInstanceBindRegionCount}++instance {-# OVERLAPPING #-}+         CanReadField "splitInstanceBindRegionCount"+           VkBindImageMemoryDeviceGroupInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfo, splitInstanceBindRegionCount})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, splitInstanceBindRegionCount}++instance {-# OVERLAPPING #-}+         CanWriteField "splitInstanceBindRegionCount"+           VkBindImageMemoryDeviceGroupInfo+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, splitInstanceBindRegionCount}++instance {-# OVERLAPPING #-}+         HasField "pSplitInstanceBindRegions"+           VkBindImageMemoryDeviceGroupInfo+         where+        type FieldType "pSplitInstanceBindRegions"+               VkBindImageMemoryDeviceGroupInfo+             = Ptr VkRect2D+        type FieldOptional "pSplitInstanceBindRegions"+               VkBindImageMemoryDeviceGroupInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pSplitInstanceBindRegions"+               VkBindImageMemoryDeviceGroupInfo+             =+             #{offset VkBindImageMemoryDeviceGroupInfo, pSplitInstanceBindRegions}+        type FieldIsArray "pSplitInstanceBindRegions"+               VkBindImageMemoryDeviceGroupInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindImageMemoryDeviceGroupInfo, pSplitInstanceBindRegions}++instance {-# OVERLAPPING #-}+         CanReadField "pSplitInstanceBindRegions"+           VkBindImageMemoryDeviceGroupInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfo, pSplitInstanceBindRegions})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, pSplitInstanceBindRegions}++instance {-# OVERLAPPING #-}+         CanWriteField "pSplitInstanceBindRegions"+           VkBindImageMemoryDeviceGroupInfo+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, pSplitInstanceBindRegions}++instance Show VkBindImageMemoryDeviceGroupInfo where+        showsPrec d x+          = showString "VkBindImageMemoryDeviceGroupInfo {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "deviceIndexCount = " .+                            showsPrec d (getField @"deviceIndexCount" x) .+                              showString ", " .+                                showString "pDeviceIndices = " .+                                  showsPrec d (getField @"pDeviceIndices" x) .+                                    showString ", " .+                                      showString "splitInstanceBindRegionCount = " .+                                        showsPrec d (getField @"splitInstanceBindRegionCount" x) .+                                          showString ", " .+                                            showString "pSplitInstanceBindRegions = " .+                                              showsPrec d (getField @"pSplitInstanceBindRegions" x)+                                                . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkBindImageMemoryDeviceGroupInfoKHR.hs view
@@ -0,0 +1,11 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Struct.VkBindImageMemoryDeviceGroupInfoKHR+       (VkBindImageMemoryDeviceGroupInfo(..),+        VkBindImageMemoryDeviceGroupInfoKHR)+       where+import           Graphics.Vulkan.Types.Struct.VkBindImageMemoryDeviceGroupInfo (VkBindImageMemoryDeviceGroupInfo (..))++-- | Alias for `VkBindImageMemoryDeviceGroupInfo`+type VkBindImageMemoryDeviceGroupInfoKHR =+     VkBindImageMemoryDeviceGroupInfo
− src-gen/Graphics/Vulkan/Types/Struct/VkBindImageMemoryDeviceGroupInfoKHX.hsc
@@ -1,444 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkBindImageMemoryDeviceGroupInfoKHX-       (VkBindImageMemoryDeviceGroupInfoKHX(..)) where-import           Foreign.Storable                                      (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkStructureType            (VkStructureType)-import           Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfoKHR (VkBindImageMemoryInfoKHR)-import           Graphics.Vulkan.Types.Struct.VkRect2D                 (VkRect2D)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                                      (unsafeDupablePerformIO)---- | > typedef struct VkBindImageMemoryDeviceGroupInfoKHX {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t         deviceIndexCount;---   >     const uint32_t*  pDeviceIndices;---   >     uint32_t         SFRRectCount;---   >     const VkRect2D*  pSFRRects;---   > } VkBindImageMemoryDeviceGroupInfoKHX;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkBindImageMemoryDeviceGroupInfoKHX.html VkBindImageMemoryDeviceGroupInfoKHX registry at www.khronos.org>-data VkBindImageMemoryDeviceGroupInfoKHX = VkBindImageMemoryDeviceGroupInfoKHX## Addr##-                                                                                ByteArray##--instance Eq VkBindImageMemoryDeviceGroupInfoKHX where-        (VkBindImageMemoryDeviceGroupInfoKHX## a _) ==-          x@(VkBindImageMemoryDeviceGroupInfoKHX## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkBindImageMemoryDeviceGroupInfoKHX where-        (VkBindImageMemoryDeviceGroupInfoKHX## a _) `compare`-          x@(VkBindImageMemoryDeviceGroupInfoKHX## b _)-          = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkBindImageMemoryDeviceGroupInfoKHX where-        sizeOf ~_ = #{size VkBindImageMemoryDeviceGroupInfoKHX}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkBindImageMemoryDeviceGroupInfoKHX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkBindImageMemoryDeviceGroupInfoKHX-         where-        unsafeAddr (VkBindImageMemoryDeviceGroupInfoKHX## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkBindImageMemoryDeviceGroupInfoKHX## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkBindImageMemoryDeviceGroupInfoKHX##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkBindImageMemoryDeviceGroupInfoKHX where-        type StructFields VkBindImageMemoryDeviceGroupInfoKHX =-             '["sType", "pNext", "deviceIndexCount", "pDeviceIndices", -- ' closing tick for hsc2hs-               "SFRRectCount", "pSFRRects"]-        type CUnionType VkBindImageMemoryDeviceGroupInfoKHX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkBindImageMemoryDeviceGroupInfoKHX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkBindImageMemoryDeviceGroupInfoKHX =-             '[VkBindImageMemoryInfoKHR] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasVkSType VkBindImageMemoryDeviceGroupInfoKHX where-        type VkSTypeMType VkBindImageMemoryDeviceGroupInfoKHX =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfoKHX, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkBindImageMemoryDeviceGroupInfoKHX, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfoKHX, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfoKHX, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkBindImageMemoryDeviceGroupInfoKHX where-        type FieldType "sType" VkBindImageMemoryDeviceGroupInfoKHX =-             VkStructureType-        type FieldOptional "sType" VkBindImageMemoryDeviceGroupInfoKHX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkBindImageMemoryDeviceGroupInfoKHX =-             #{offset VkBindImageMemoryDeviceGroupInfoKHX, sType}-        type FieldIsArray "sType" VkBindImageMemoryDeviceGroupInfoKHX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImageMemoryDeviceGroupInfoKHX, sType}--instance CanReadField "sType" VkBindImageMemoryDeviceGroupInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkBindImageMemoryDeviceGroupInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-}-         HasVkPNext VkBindImageMemoryDeviceGroupInfoKHX where-        type VkPNextMType VkBindImageMemoryDeviceGroupInfoKHX = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfoKHX, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkBindImageMemoryDeviceGroupInfoKHX, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfoKHX, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfoKHX, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkBindImageMemoryDeviceGroupInfoKHX where-        type FieldType "pNext" VkBindImageMemoryDeviceGroupInfoKHX =-             Ptr Void-        type FieldOptional "pNext" VkBindImageMemoryDeviceGroupInfoKHX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkBindImageMemoryDeviceGroupInfoKHX =-             #{offset VkBindImageMemoryDeviceGroupInfoKHX, pNext}-        type FieldIsArray "pNext" VkBindImageMemoryDeviceGroupInfoKHX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImageMemoryDeviceGroupInfoKHX, pNext}--instance CanReadField "pNext" VkBindImageMemoryDeviceGroupInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkBindImageMemoryDeviceGroupInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-}-         HasVkDeviceIndexCount VkBindImageMemoryDeviceGroupInfoKHX where-        type VkDeviceIndexCountMType VkBindImageMemoryDeviceGroupInfoKHX =-             Word32--        {-# NOINLINE vkDeviceIndexCount #-}-        vkDeviceIndexCount x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfoKHX, deviceIndexCount})--        {-# INLINE vkDeviceIndexCountByteOffset #-}-        vkDeviceIndexCountByteOffset ~_-          = #{offset VkBindImageMemoryDeviceGroupInfoKHX, deviceIndexCount}--        {-# INLINE readVkDeviceIndexCount #-}-        readVkDeviceIndexCount p-          = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfoKHX, deviceIndexCount}--        {-# INLINE writeVkDeviceIndexCount #-}-        writeVkDeviceIndexCount p-          = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfoKHX, deviceIndexCount}--instance {-# OVERLAPPING #-}-         HasField "deviceIndexCount" VkBindImageMemoryDeviceGroupInfoKHX-         where-        type FieldType "deviceIndexCount"-               VkBindImageMemoryDeviceGroupInfoKHX-             = Word32-        type FieldOptional "deviceIndexCount"-               VkBindImageMemoryDeviceGroupInfoKHX-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "deviceIndexCount"-               VkBindImageMemoryDeviceGroupInfoKHX-             =-             #{offset VkBindImageMemoryDeviceGroupInfoKHX, deviceIndexCount}-        type FieldIsArray "deviceIndexCount"-               VkBindImageMemoryDeviceGroupInfoKHX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImageMemoryDeviceGroupInfoKHX, deviceIndexCount}--instance CanReadField "deviceIndexCount"-           VkBindImageMemoryDeviceGroupInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkDeviceIndexCount--        {-# INLINE readField #-}-        readField = readVkDeviceIndexCount--instance CanWriteField "deviceIndexCount"-           VkBindImageMemoryDeviceGroupInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkDeviceIndexCount--instance {-# OVERLAPPING #-}-         HasVkPDeviceIndices VkBindImageMemoryDeviceGroupInfoKHX where-        type VkPDeviceIndicesMType VkBindImageMemoryDeviceGroupInfoKHX =-             Ptr Word32--        {-# NOINLINE vkPDeviceIndices #-}-        vkPDeviceIndices x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfoKHX, pDeviceIndices})--        {-# INLINE vkPDeviceIndicesByteOffset #-}-        vkPDeviceIndicesByteOffset ~_-          = #{offset VkBindImageMemoryDeviceGroupInfoKHX, pDeviceIndices}--        {-# INLINE readVkPDeviceIndices #-}-        readVkPDeviceIndices p-          = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfoKHX, pDeviceIndices}--        {-# INLINE writeVkPDeviceIndices #-}-        writeVkPDeviceIndices p-          = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfoKHX, pDeviceIndices}--instance {-# OVERLAPPING #-}-         HasField "pDeviceIndices" VkBindImageMemoryDeviceGroupInfoKHX where-        type FieldType "pDeviceIndices" VkBindImageMemoryDeviceGroupInfoKHX-             = Ptr Word32-        type FieldOptional "pDeviceIndices"-               VkBindImageMemoryDeviceGroupInfoKHX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pDeviceIndices"-               VkBindImageMemoryDeviceGroupInfoKHX-             =-             #{offset VkBindImageMemoryDeviceGroupInfoKHX, pDeviceIndices}-        type FieldIsArray "pDeviceIndices"-               VkBindImageMemoryDeviceGroupInfoKHX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImageMemoryDeviceGroupInfoKHX, pDeviceIndices}--instance CanReadField "pDeviceIndices"-           VkBindImageMemoryDeviceGroupInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkPDeviceIndices--        {-# INLINE readField #-}-        readField = readVkPDeviceIndices--instance CanWriteField "pDeviceIndices"-           VkBindImageMemoryDeviceGroupInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkPDeviceIndices--instance {-# OVERLAPPING #-}-         HasVkSFRRectCount VkBindImageMemoryDeviceGroupInfoKHX where-        type VkSFRRectCountMType VkBindImageMemoryDeviceGroupInfoKHX =-             Word32--        {-# NOINLINE vkSFRRectCount #-}-        vkSFRRectCount x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfoKHX, SFRRectCount})--        {-# INLINE vkSFRRectCountByteOffset #-}-        vkSFRRectCountByteOffset ~_-          = #{offset VkBindImageMemoryDeviceGroupInfoKHX, SFRRectCount}--        {-# INLINE readVkSFRRectCount #-}-        readVkSFRRectCount p-          = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfoKHX, SFRRectCount}--        {-# INLINE writeVkSFRRectCount #-}-        writeVkSFRRectCount p-          = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfoKHX, SFRRectCount}--instance {-# OVERLAPPING #-}-         HasField "SFRRectCount" VkBindImageMemoryDeviceGroupInfoKHX where-        type FieldType "SFRRectCount" VkBindImageMemoryDeviceGroupInfoKHX =-             Word32-        type FieldOptional "SFRRectCount"-               VkBindImageMemoryDeviceGroupInfoKHX-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "SFRRectCount" VkBindImageMemoryDeviceGroupInfoKHX-             =-             #{offset VkBindImageMemoryDeviceGroupInfoKHX, SFRRectCount}-        type FieldIsArray "SFRRectCount"-               VkBindImageMemoryDeviceGroupInfoKHX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImageMemoryDeviceGroupInfoKHX, SFRRectCount}--instance CanReadField "SFRRectCount"-           VkBindImageMemoryDeviceGroupInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkSFRRectCount--        {-# INLINE readField #-}-        readField = readVkSFRRectCount--instance CanWriteField "SFRRectCount"-           VkBindImageMemoryDeviceGroupInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkSFRRectCount--instance {-# OVERLAPPING #-}-         HasVkPSFRRects VkBindImageMemoryDeviceGroupInfoKHX where-        type VkPSFRRectsMType VkBindImageMemoryDeviceGroupInfoKHX =-             Ptr VkRect2D--        {-# NOINLINE vkPSFRRects #-}-        vkPSFRRects x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfoKHX, pSFRRects})--        {-# INLINE vkPSFRRectsByteOffset #-}-        vkPSFRRectsByteOffset ~_-          = #{offset VkBindImageMemoryDeviceGroupInfoKHX, pSFRRects}--        {-# INLINE readVkPSFRRects #-}-        readVkPSFRRects p-          = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfoKHX, pSFRRects}--        {-# INLINE writeVkPSFRRects #-}-        writeVkPSFRRects p-          = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfoKHX, pSFRRects}--instance {-# OVERLAPPING #-}-         HasField "pSFRRects" VkBindImageMemoryDeviceGroupInfoKHX where-        type FieldType "pSFRRects" VkBindImageMemoryDeviceGroupInfoKHX =-             Ptr VkRect2D-        type FieldOptional "pSFRRects" VkBindImageMemoryDeviceGroupInfoKHX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pSFRRects" VkBindImageMemoryDeviceGroupInfoKHX =-             #{offset VkBindImageMemoryDeviceGroupInfoKHX, pSFRRects}-        type FieldIsArray "pSFRRects" VkBindImageMemoryDeviceGroupInfoKHX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImageMemoryDeviceGroupInfoKHX, pSFRRects}--instance CanReadField "pSFRRects"-           VkBindImageMemoryDeviceGroupInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkPSFRRects--        {-# INLINE readField #-}-        readField = readVkPSFRRects--instance CanWriteField "pSFRRects"-           VkBindImageMemoryDeviceGroupInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkPSFRRects--instance Show VkBindImageMemoryDeviceGroupInfoKHX where-        showsPrec d x-          = showString "VkBindImageMemoryDeviceGroupInfoKHX {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkDeviceIndexCount = " .-                            showsPrec d (vkDeviceIndexCount x) .-                              showString ", " .-                                showString "vkPDeviceIndices = " .-                                  showsPrec d (vkPDeviceIndices x) .-                                    showString ", " .-                                      showString "vkSFRRectCount = " .-                                        showsPrec d (vkSFRRectCount x) .-                                          showString ", " .-                                            showString "vkPSFRRects = " .-                                              showsPrec d (vkPSFRRects x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkBindImageMemoryInfo.hsc view
@@ -0,0 +1,251 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfo+       (VkBindImageMemoryInfo(..)) where+import           Foreign.Storable                           (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.BaseTypes            (VkDeviceSize)+import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)+import           Graphics.Vulkan.Types.Handles              (VkDeviceMemory,+                                                             VkImage)+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkBindImageMemoryInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkImage                          image;+--   >     VkDeviceMemory                   memory;+--   >     VkDeviceSize                     memoryOffset;+--   > } VkBindImageMemoryInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkBindImageMemoryInfo.html VkBindImageMemoryInfo registry at www.khronos.org>+data VkBindImageMemoryInfo = VkBindImageMemoryInfo## Addr##+                                                    ByteArray##++instance Eq VkBindImageMemoryInfo where+        (VkBindImageMemoryInfo## a _) == x@(VkBindImageMemoryInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkBindImageMemoryInfo where+        (VkBindImageMemoryInfo## a _) `compare`+          x@(VkBindImageMemoryInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkBindImageMemoryInfo where+        sizeOf ~_ = #{size VkBindImageMemoryInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkBindImageMemoryInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkBindImageMemoryInfo where+        unsafeAddr (VkBindImageMemoryInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkBindImageMemoryInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkBindImageMemoryInfo## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBindImageMemoryInfo where+        type StructFields VkBindImageMemoryInfo =+             '["sType", "pNext", "image", "memory", "memoryOffset"] -- ' closing tick for hsc2hs+        type CUnionType VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs+        type StructExtends VkBindImageMemoryInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkBindImageMemoryInfo+         where+        type FieldType "sType" VkBindImageMemoryInfo = VkStructureType+        type FieldOptional "sType" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkBindImageMemoryInfo =+             #{offset VkBindImageMemoryInfo, sType}+        type FieldIsArray "sType" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBindImageMemoryInfo, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkBindImageMemoryInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryInfo, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindImageMemoryInfo, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkBindImageMemoryInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindImageMemoryInfo, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkBindImageMemoryInfo+         where+        type FieldType "pNext" VkBindImageMemoryInfo = Ptr Void+        type FieldOptional "pNext" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkBindImageMemoryInfo =+             #{offset VkBindImageMemoryInfo, pNext}+        type FieldIsArray "pNext" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBindImageMemoryInfo, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkBindImageMemoryInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryInfo, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindImageMemoryInfo, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkBindImageMemoryInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindImageMemoryInfo, pNext}++instance {-# OVERLAPPING #-} HasField "image" VkBindImageMemoryInfo+         where+        type FieldType "image" VkBindImageMemoryInfo = VkImage+        type FieldOptional "image" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "image" VkBindImageMemoryInfo =+             #{offset VkBindImageMemoryInfo, image}+        type FieldIsArray "image" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBindImageMemoryInfo, image}++instance {-# OVERLAPPING #-}+         CanReadField "image" VkBindImageMemoryInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryInfo, image})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindImageMemoryInfo, image}++instance {-# OVERLAPPING #-}+         CanWriteField "image" VkBindImageMemoryInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindImageMemoryInfo, image}++instance {-# OVERLAPPING #-}+         HasField "memory" VkBindImageMemoryInfo where+        type FieldType "memory" VkBindImageMemoryInfo = VkDeviceMemory+        type FieldOptional "memory" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "memory" VkBindImageMemoryInfo =+             #{offset VkBindImageMemoryInfo, memory}+        type FieldIsArray "memory" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBindImageMemoryInfo, memory}++instance {-# OVERLAPPING #-}+         CanReadField "memory" VkBindImageMemoryInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryInfo, memory})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindImageMemoryInfo, memory}++instance {-# OVERLAPPING #-}+         CanWriteField "memory" VkBindImageMemoryInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindImageMemoryInfo, memory}++instance {-# OVERLAPPING #-}+         HasField "memoryOffset" VkBindImageMemoryInfo where+        type FieldType "memoryOffset" VkBindImageMemoryInfo = VkDeviceSize+        type FieldOptional "memoryOffset" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "memoryOffset" VkBindImageMemoryInfo =+             #{offset VkBindImageMemoryInfo, memoryOffset}+        type FieldIsArray "memoryOffset" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindImageMemoryInfo, memoryOffset}++instance {-# OVERLAPPING #-}+         CanReadField "memoryOffset" VkBindImageMemoryInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryInfo, memoryOffset})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindImageMemoryInfo, memoryOffset}++instance {-# OVERLAPPING #-}+         CanWriteField "memoryOffset" VkBindImageMemoryInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindImageMemoryInfo, memoryOffset}++instance Show VkBindImageMemoryInfo where+        showsPrec d x+          = showString "VkBindImageMemoryInfo {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "image = " .+                            showsPrec d (getField @"image" x) .+                              showString ", " .+                                showString "memory = " .+                                  showsPrec d (getField @"memory" x) .+                                    showString ", " .+                                      showString "memoryOffset = " .+                                        showsPrec d (getField @"memoryOffset" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkBindImageMemoryInfoKHR.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfoKHR+       (VkBindImageMemoryInfo(..), VkBindImageMemoryInfoKHR) where+import           Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfo (VkBindImageMemoryInfo (..))++-- | Alias for `VkBindImageMemoryInfo`+type VkBindImageMemoryInfoKHR = VkBindImageMemoryInfo
− src-gen/Graphics/Vulkan/Types/Struct/VkBindImageMemoryInfoKHR.hsc
@@ -1,330 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfoKHR-       (VkBindImageMemoryInfoKHR(..)) where-import           Foreign.Storable                           (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.BaseTypes            (VkDeviceSize)-import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)-import           Graphics.Vulkan.Types.Handles              (VkDeviceMemory,-                                                             VkImage)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                           (unsafeDupablePerformIO)---- | > typedef struct VkBindImageMemoryInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkImage                          image;---   >     VkDeviceMemory                   memory;---   >     VkDeviceSize                     memoryOffset;---   > } VkBindImageMemoryInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkBindImageMemoryInfoKHR.html VkBindImageMemoryInfoKHR registry at www.khronos.org>-data VkBindImageMemoryInfoKHR = VkBindImageMemoryInfoKHR## Addr##-                                                          ByteArray##--instance Eq VkBindImageMemoryInfoKHR where-        (VkBindImageMemoryInfoKHR## a _) ==-          x@(VkBindImageMemoryInfoKHR## b _) = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkBindImageMemoryInfoKHR where-        (VkBindImageMemoryInfoKHR## a _) `compare`-          x@(VkBindImageMemoryInfoKHR## b _) = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkBindImageMemoryInfoKHR where-        sizeOf ~_ = #{size VkBindImageMemoryInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkBindImageMemoryInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkBindImageMemoryInfoKHR where-        unsafeAddr (VkBindImageMemoryInfoKHR## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkBindImageMemoryInfoKHR## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkBindImageMemoryInfoKHR## (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkBindImageMemoryInfoKHR where-        type StructFields VkBindImageMemoryInfoKHR =-             '["sType", "pNext", "image", "memory", "memoryOffset"] -- ' closing tick for hsc2hs-        type CUnionType VkBindImageMemoryInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkBindImageMemoryInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkBindImageMemoryInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasVkSType VkBindImageMemoryInfoKHR-         where-        type VkSTypeMType VkBindImageMemoryInfoKHR = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryInfoKHR, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkBindImageMemoryInfoKHR, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkBindImageMemoryInfoKHR, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkBindImageMemoryInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkBindImageMemoryInfoKHR where-        type FieldType "sType" VkBindImageMemoryInfoKHR = VkStructureType-        type FieldOptional "sType" VkBindImageMemoryInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkBindImageMemoryInfoKHR =-             #{offset VkBindImageMemoryInfoKHR, sType}-        type FieldIsArray "sType" VkBindImageMemoryInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBindImageMemoryInfoKHR, sType}--instance CanReadField "sType" VkBindImageMemoryInfoKHR where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkBindImageMemoryInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkBindImageMemoryInfoKHR-         where-        type VkPNextMType VkBindImageMemoryInfoKHR = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryInfoKHR, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkBindImageMemoryInfoKHR, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkBindImageMemoryInfoKHR, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkBindImageMemoryInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkBindImageMemoryInfoKHR where-        type FieldType "pNext" VkBindImageMemoryInfoKHR = Ptr Void-        type FieldOptional "pNext" VkBindImageMemoryInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkBindImageMemoryInfoKHR =-             #{offset VkBindImageMemoryInfoKHR, pNext}-        type FieldIsArray "pNext" VkBindImageMemoryInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBindImageMemoryInfoKHR, pNext}--instance CanReadField "pNext" VkBindImageMemoryInfoKHR where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkBindImageMemoryInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-} HasVkImage VkBindImageMemoryInfoKHR-         where-        type VkImageMType VkBindImageMemoryInfoKHR = VkImage--        {-# NOINLINE vkImage #-}-        vkImage x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryInfoKHR, image})--        {-# INLINE vkImageByteOffset #-}-        vkImageByteOffset ~_-          = #{offset VkBindImageMemoryInfoKHR, image}--        {-# INLINE readVkImage #-}-        readVkImage p-          = peekByteOff p #{offset VkBindImageMemoryInfoKHR, image}--        {-# INLINE writeVkImage #-}-        writeVkImage p-          = pokeByteOff p #{offset VkBindImageMemoryInfoKHR, image}--instance {-# OVERLAPPING #-}-         HasField "image" VkBindImageMemoryInfoKHR where-        type FieldType "image" VkBindImageMemoryInfoKHR = VkImage-        type FieldOptional "image" VkBindImageMemoryInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "image" VkBindImageMemoryInfoKHR =-             #{offset VkBindImageMemoryInfoKHR, image}-        type FieldIsArray "image" VkBindImageMemoryInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset = #{offset VkBindImageMemoryInfoKHR, image}--instance CanReadField "image" VkBindImageMemoryInfoKHR where-        {-# INLINE getField #-}-        getField = vkImage--        {-# INLINE readField #-}-        readField = readVkImage--instance CanWriteField "image" VkBindImageMemoryInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkImage--instance {-# OVERLAPPING #-} HasVkMemory VkBindImageMemoryInfoKHR-         where-        type VkMemoryMType VkBindImageMemoryInfoKHR = VkDeviceMemory--        {-# NOINLINE vkMemory #-}-        vkMemory x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryInfoKHR, memory})--        {-# INLINE vkMemoryByteOffset #-}-        vkMemoryByteOffset ~_-          = #{offset VkBindImageMemoryInfoKHR, memory}--        {-# INLINE readVkMemory #-}-        readVkMemory p-          = peekByteOff p #{offset VkBindImageMemoryInfoKHR, memory}--        {-# INLINE writeVkMemory #-}-        writeVkMemory p-          = pokeByteOff p #{offset VkBindImageMemoryInfoKHR, memory}--instance {-# OVERLAPPING #-}-         HasField "memory" VkBindImageMemoryInfoKHR where-        type FieldType "memory" VkBindImageMemoryInfoKHR = VkDeviceMemory-        type FieldOptional "memory" VkBindImageMemoryInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memory" VkBindImageMemoryInfoKHR =-             #{offset VkBindImageMemoryInfoKHR, memory}-        type FieldIsArray "memory" VkBindImageMemoryInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImageMemoryInfoKHR, memory}--instance CanReadField "memory" VkBindImageMemoryInfoKHR where-        {-# INLINE getField #-}-        getField = vkMemory--        {-# INLINE readField #-}-        readField = readVkMemory--instance CanWriteField "memory" VkBindImageMemoryInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkMemory--instance {-# OVERLAPPING #-}-         HasVkMemoryOffset VkBindImageMemoryInfoKHR where-        type VkMemoryOffsetMType VkBindImageMemoryInfoKHR = VkDeviceSize--        {-# NOINLINE vkMemoryOffset #-}-        vkMemoryOffset x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryInfoKHR, memoryOffset})--        {-# INLINE vkMemoryOffsetByteOffset #-}-        vkMemoryOffsetByteOffset ~_-          = #{offset VkBindImageMemoryInfoKHR, memoryOffset}--        {-# INLINE readVkMemoryOffset #-}-        readVkMemoryOffset p-          = peekByteOff p #{offset VkBindImageMemoryInfoKHR, memoryOffset}--        {-# INLINE writeVkMemoryOffset #-}-        writeVkMemoryOffset p-          = pokeByteOff p #{offset VkBindImageMemoryInfoKHR, memoryOffset}--instance {-# OVERLAPPING #-}-         HasField "memoryOffset" VkBindImageMemoryInfoKHR where-        type FieldType "memoryOffset" VkBindImageMemoryInfoKHR =-             VkDeviceSize-        type FieldOptional "memoryOffset" VkBindImageMemoryInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memoryOffset" VkBindImageMemoryInfoKHR =-             #{offset VkBindImageMemoryInfoKHR, memoryOffset}-        type FieldIsArray "memoryOffset" VkBindImageMemoryInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImageMemoryInfoKHR, memoryOffset}--instance CanReadField "memoryOffset" VkBindImageMemoryInfoKHR where-        {-# INLINE getField #-}-        getField = vkMemoryOffset--        {-# INLINE readField #-}-        readField = readVkMemoryOffset--instance CanWriteField "memoryOffset" VkBindImageMemoryInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkMemoryOffset--instance Show VkBindImageMemoryInfoKHR where-        showsPrec d x-          = showString "VkBindImageMemoryInfoKHR {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkImage = " .-                            showsPrec d (vkImage x) .-                              showString ", " .-                                showString "vkMemory = " .-                                  showsPrec d (vkMemory x) .-                                    showString ", " .-                                      showString "vkMemoryOffset = " .-                                        showsPrec d (vkMemoryOffset x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkBindImageMemorySwapchainInfoKHR.hsc view
@@ -0,0 +1,235 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkBindImageMemorySwapchainInfoKHR+       (VkBindImageMemorySwapchainInfoKHR(..)) where+import           Foreign.Storable                                   (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkStructureType         (VkStructureType)+import           Graphics.Vulkan.Types.Handles                      (VkSwapchainKHR)+import           Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfo (VkBindImageMemoryInfo)+import           System.IO.Unsafe                                   (unsafeDupablePerformIO)++-- | > typedef struct VkBindImageMemorySwapchainInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkSwapchainKHR swapchain;+--   >     uint32_t                         imageIndex;+--   > } VkBindImageMemorySwapchainInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkBindImageMemorySwapchainInfoKHR.html VkBindImageMemorySwapchainInfoKHR registry at www.khronos.org>+data VkBindImageMemorySwapchainInfoKHR = VkBindImageMemorySwapchainInfoKHR## Addr##+                                                                            ByteArray##++instance Eq VkBindImageMemorySwapchainInfoKHR where+        (VkBindImageMemorySwapchainInfoKHR## a _) ==+          x@(VkBindImageMemorySwapchainInfoKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkBindImageMemorySwapchainInfoKHR where+        (VkBindImageMemorySwapchainInfoKHR## a _) `compare`+          x@(VkBindImageMemorySwapchainInfoKHR## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkBindImageMemorySwapchainInfoKHR where+        sizeOf ~_ = #{size VkBindImageMemorySwapchainInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkBindImageMemorySwapchainInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkBindImageMemorySwapchainInfoKHR where+        unsafeAddr (VkBindImageMemorySwapchainInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkBindImageMemorySwapchainInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkBindImageMemorySwapchainInfoKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBindImageMemorySwapchainInfoKHR where+        type StructFields VkBindImageMemorySwapchainInfoKHR =+             '["sType", "pNext", "swapchain", "imageIndex"] -- ' closing tick for hsc2hs+        type CUnionType VkBindImageMemorySwapchainInfoKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkBindImageMemorySwapchainInfoKHR = 'False -- ' closing tick for hsc2hs+        type StructExtends VkBindImageMemorySwapchainInfoKHR =+             '[VkBindImageMemoryInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkBindImageMemorySwapchainInfoKHR where+        type FieldType "sType" VkBindImageMemorySwapchainInfoKHR =+             VkStructureType+        type FieldOptional "sType" VkBindImageMemorySwapchainInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkBindImageMemorySwapchainInfoKHR =+             #{offset VkBindImageMemorySwapchainInfoKHR, sType}+        type FieldIsArray "sType" VkBindImageMemorySwapchainInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindImageMemorySwapchainInfoKHR, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkBindImageMemorySwapchainInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindImageMemorySwapchainInfoKHR, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkBindImageMemorySwapchainInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkBindImageMemorySwapchainInfoKHR where+        type FieldType "pNext" VkBindImageMemorySwapchainInfoKHR = Ptr Void+        type FieldOptional "pNext" VkBindImageMemorySwapchainInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkBindImageMemorySwapchainInfoKHR =+             #{offset VkBindImageMemorySwapchainInfoKHR, pNext}+        type FieldIsArray "pNext" VkBindImageMemorySwapchainInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindImageMemorySwapchainInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkBindImageMemorySwapchainInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindImageMemorySwapchainInfoKHR, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkBindImageMemorySwapchainInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "swapchain" VkBindImageMemorySwapchainInfoKHR where+        type FieldType "swapchain" VkBindImageMemorySwapchainInfoKHR =+             VkSwapchainKHR+        type FieldOptional "swapchain" VkBindImageMemorySwapchainInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "swapchain" VkBindImageMemorySwapchainInfoKHR =+             #{offset VkBindImageMemorySwapchainInfoKHR, swapchain}+        type FieldIsArray "swapchain" VkBindImageMemorySwapchainInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindImageMemorySwapchainInfoKHR, swapchain}++instance {-# OVERLAPPING #-}+         CanReadField "swapchain" VkBindImageMemorySwapchainInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindImageMemorySwapchainInfoKHR, swapchain})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, swapchain}++instance {-# OVERLAPPING #-}+         CanWriteField "swapchain" VkBindImageMemorySwapchainInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, swapchain}++instance {-# OVERLAPPING #-}+         HasField "imageIndex" VkBindImageMemorySwapchainInfoKHR where+        type FieldType "imageIndex" VkBindImageMemorySwapchainInfoKHR =+             Word32+        type FieldOptional "imageIndex" VkBindImageMemorySwapchainInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "imageIndex" VkBindImageMemorySwapchainInfoKHR =+             #{offset VkBindImageMemorySwapchainInfoKHR, imageIndex}+        type FieldIsArray "imageIndex" VkBindImageMemorySwapchainInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindImageMemorySwapchainInfoKHR, imageIndex}++instance {-# OVERLAPPING #-}+         CanReadField "imageIndex" VkBindImageMemorySwapchainInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindImageMemorySwapchainInfoKHR, imageIndex})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, imageIndex}++instance {-# OVERLAPPING #-}+         CanWriteField "imageIndex" VkBindImageMemorySwapchainInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, imageIndex}++instance Show VkBindImageMemorySwapchainInfoKHR where+        showsPrec d x+          = showString "VkBindImageMemorySwapchainInfoKHR {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "swapchain = " .+                            showsPrec d (getField @"swapchain" x) .+                              showString ", " .+                                showString "imageIndex = " .+                                  showsPrec d (getField @"imageIndex" x) . showChar '}'
− src-gen/Graphics/Vulkan/Types/Struct/VkBindImageMemorySwapchainInfoKHX.hsc
@@ -1,308 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkBindImageMemorySwapchainInfoKHX-       (VkBindImageMemorySwapchainInfoKHX(..)) where-import           Foreign.Storable                                      (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkStructureType            (VkStructureType)-import           Graphics.Vulkan.Types.Handles                         (VkSwapchainKHR)-import           Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfoKHR (VkBindImageMemoryInfoKHR)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                                      (unsafeDupablePerformIO)---- | > typedef struct VkBindImageMemorySwapchainInfoKHX {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkSwapchainKHR swapchain;---   >     uint32_t                         imageIndex;---   > } VkBindImageMemorySwapchainInfoKHX;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkBindImageMemorySwapchainInfoKHX.html VkBindImageMemorySwapchainInfoKHX registry at www.khronos.org>-data VkBindImageMemorySwapchainInfoKHX = VkBindImageMemorySwapchainInfoKHX## Addr##-                                                                            ByteArray##--instance Eq VkBindImageMemorySwapchainInfoKHX where-        (VkBindImageMemorySwapchainInfoKHX## a _) ==-          x@(VkBindImageMemorySwapchainInfoKHX## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkBindImageMemorySwapchainInfoKHX where-        (VkBindImageMemorySwapchainInfoKHX## a _) `compare`-          x@(VkBindImageMemorySwapchainInfoKHX## b _)-          = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkBindImageMemorySwapchainInfoKHX where-        sizeOf ~_ = #{size VkBindImageMemorySwapchainInfoKHX}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkBindImageMemorySwapchainInfoKHX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkBindImageMemorySwapchainInfoKHX where-        unsafeAddr (VkBindImageMemorySwapchainInfoKHX## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkBindImageMemorySwapchainInfoKHX## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkBindImageMemorySwapchainInfoKHX##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkBindImageMemorySwapchainInfoKHX where-        type StructFields VkBindImageMemorySwapchainInfoKHX =-             '["sType", "pNext", "swapchain", "imageIndex"] -- ' closing tick for hsc2hs-        type CUnionType VkBindImageMemorySwapchainInfoKHX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkBindImageMemorySwapchainInfoKHX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkBindImageMemorySwapchainInfoKHX =-             '[VkBindImageMemoryInfoKHR] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasVkSType VkBindImageMemorySwapchainInfoKHX where-        type VkSTypeMType VkBindImageMemorySwapchainInfoKHX =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemorySwapchainInfoKHX, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkBindImageMemorySwapchainInfoKHX, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkBindImageMemorySwapchainInfoKHX, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkBindImageMemorySwapchainInfoKHX, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkBindImageMemorySwapchainInfoKHX where-        type FieldType "sType" VkBindImageMemorySwapchainInfoKHX =-             VkStructureType-        type FieldOptional "sType" VkBindImageMemorySwapchainInfoKHX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkBindImageMemorySwapchainInfoKHX =-             #{offset VkBindImageMemorySwapchainInfoKHX, sType}-        type FieldIsArray "sType" VkBindImageMemorySwapchainInfoKHX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImageMemorySwapchainInfoKHX, sType}--instance CanReadField "sType" VkBindImageMemorySwapchainInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkBindImageMemorySwapchainInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-}-         HasVkPNext VkBindImageMemorySwapchainInfoKHX where-        type VkPNextMType VkBindImageMemorySwapchainInfoKHX = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemorySwapchainInfoKHX, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkBindImageMemorySwapchainInfoKHX, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkBindImageMemorySwapchainInfoKHX, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkBindImageMemorySwapchainInfoKHX, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkBindImageMemorySwapchainInfoKHX where-        type FieldType "pNext" VkBindImageMemorySwapchainInfoKHX = Ptr Void-        type FieldOptional "pNext" VkBindImageMemorySwapchainInfoKHX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkBindImageMemorySwapchainInfoKHX =-             #{offset VkBindImageMemorySwapchainInfoKHX, pNext}-        type FieldIsArray "pNext" VkBindImageMemorySwapchainInfoKHX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImageMemorySwapchainInfoKHX, pNext}--instance CanReadField "pNext" VkBindImageMemorySwapchainInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkBindImageMemorySwapchainInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-}-         HasVkSwapchain VkBindImageMemorySwapchainInfoKHX where-        type VkSwapchainMType VkBindImageMemorySwapchainInfoKHX =-             VkSwapchainKHR--        {-# NOINLINE vkSwapchain #-}-        vkSwapchain x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemorySwapchainInfoKHX, swapchain})--        {-# INLINE vkSwapchainByteOffset #-}-        vkSwapchainByteOffset ~_-          = #{offset VkBindImageMemorySwapchainInfoKHX, swapchain}--        {-# INLINE readVkSwapchain #-}-        readVkSwapchain p-          = peekByteOff p #{offset VkBindImageMemorySwapchainInfoKHX, swapchain}--        {-# INLINE writeVkSwapchain #-}-        writeVkSwapchain p-          = pokeByteOff p #{offset VkBindImageMemorySwapchainInfoKHX, swapchain}--instance {-# OVERLAPPING #-}-         HasField "swapchain" VkBindImageMemorySwapchainInfoKHX where-        type FieldType "swapchain" VkBindImageMemorySwapchainInfoKHX =-             VkSwapchainKHR-        type FieldOptional "swapchain" VkBindImageMemorySwapchainInfoKHX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "swapchain" VkBindImageMemorySwapchainInfoKHX =-             #{offset VkBindImageMemorySwapchainInfoKHX, swapchain}-        type FieldIsArray "swapchain" VkBindImageMemorySwapchainInfoKHX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImageMemorySwapchainInfoKHX, swapchain}--instance CanReadField "swapchain" VkBindImageMemorySwapchainInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkSwapchain--        {-# INLINE readField #-}-        readField = readVkSwapchain--instance CanWriteField "swapchain"-           VkBindImageMemorySwapchainInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkSwapchain--instance {-# OVERLAPPING #-}-         HasVkImageIndex VkBindImageMemorySwapchainInfoKHX where-        type VkImageIndexMType VkBindImageMemorySwapchainInfoKHX = Word32--        {-# NOINLINE vkImageIndex #-}-        vkImageIndex x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImageMemorySwapchainInfoKHX, imageIndex})--        {-# INLINE vkImageIndexByteOffset #-}-        vkImageIndexByteOffset ~_-          = #{offset VkBindImageMemorySwapchainInfoKHX, imageIndex}--        {-# INLINE readVkImageIndex #-}-        readVkImageIndex p-          = peekByteOff p #{offset VkBindImageMemorySwapchainInfoKHX, imageIndex}--        {-# INLINE writeVkImageIndex #-}-        writeVkImageIndex p-          = pokeByteOff p #{offset VkBindImageMemorySwapchainInfoKHX, imageIndex}--instance {-# OVERLAPPING #-}-         HasField "imageIndex" VkBindImageMemorySwapchainInfoKHX where-        type FieldType "imageIndex" VkBindImageMemorySwapchainInfoKHX =-             Word32-        type FieldOptional "imageIndex" VkBindImageMemorySwapchainInfoKHX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "imageIndex" VkBindImageMemorySwapchainInfoKHX =-             #{offset VkBindImageMemorySwapchainInfoKHX, imageIndex}-        type FieldIsArray "imageIndex" VkBindImageMemorySwapchainInfoKHX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImageMemorySwapchainInfoKHX, imageIndex}--instance CanReadField "imageIndex"-           VkBindImageMemorySwapchainInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkImageIndex--        {-# INLINE readField #-}-        readField = readVkImageIndex--instance CanWriteField "imageIndex"-           VkBindImageMemorySwapchainInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkImageIndex--instance Show VkBindImageMemorySwapchainInfoKHX where-        showsPrec d x-          = showString "VkBindImageMemorySwapchainInfoKHX {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkSwapchain = " .-                            showsPrec d (vkSwapchain x) .-                              showString ", " .-                                showString "vkImageIndex = " .-                                  showsPrec d (vkImageIndex x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkBindImagePlaneMemoryInfo.hsc view
@@ -0,0 +1,188 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkBindImagePlaneMemoryInfo+       (VkBindImagePlaneMemoryInfo(..)) where+import           Foreign.Storable                                   (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkImageAspectFlags      (VkImageAspectFlagBits)+import           Graphics.Vulkan.Types.Enum.VkStructureType         (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfo (VkBindImageMemoryInfo)+import           System.IO.Unsafe                                   (unsafeDupablePerformIO)++-- | > typedef struct VkBindImagePlaneMemoryInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkImageAspectFlagBits            planeAspect;+--   > } VkBindImagePlaneMemoryInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkBindImagePlaneMemoryInfo.html VkBindImagePlaneMemoryInfo registry at www.khronos.org>+data VkBindImagePlaneMemoryInfo = VkBindImagePlaneMemoryInfo## Addr##+                                                              ByteArray##++instance Eq VkBindImagePlaneMemoryInfo where+        (VkBindImagePlaneMemoryInfo## a _) ==+          x@(VkBindImagePlaneMemoryInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkBindImagePlaneMemoryInfo where+        (VkBindImagePlaneMemoryInfo## a _) `compare`+          x@(VkBindImagePlaneMemoryInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkBindImagePlaneMemoryInfo where+        sizeOf ~_ = #{size VkBindImagePlaneMemoryInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkBindImagePlaneMemoryInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkBindImagePlaneMemoryInfo where+        unsafeAddr (VkBindImagePlaneMemoryInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkBindImagePlaneMemoryInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkBindImagePlaneMemoryInfo##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBindImagePlaneMemoryInfo where+        type StructFields VkBindImagePlaneMemoryInfo =+             '["sType", "pNext", "planeAspect"] -- ' closing tick for hsc2hs+        type CUnionType VkBindImagePlaneMemoryInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkBindImagePlaneMemoryInfo = 'False -- ' closing tick for hsc2hs+        type StructExtends VkBindImagePlaneMemoryInfo =+             '[VkBindImageMemoryInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkBindImagePlaneMemoryInfo where+        type FieldType "sType" VkBindImagePlaneMemoryInfo = VkStructureType+        type FieldOptional "sType" VkBindImagePlaneMemoryInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkBindImagePlaneMemoryInfo =+             #{offset VkBindImagePlaneMemoryInfo, sType}+        type FieldIsArray "sType" VkBindImagePlaneMemoryInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindImagePlaneMemoryInfo, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkBindImagePlaneMemoryInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindImagePlaneMemoryInfo, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindImagePlaneMemoryInfo, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkBindImagePlaneMemoryInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindImagePlaneMemoryInfo, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkBindImagePlaneMemoryInfo where+        type FieldType "pNext" VkBindImagePlaneMemoryInfo = Ptr Void+        type FieldOptional "pNext" VkBindImagePlaneMemoryInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkBindImagePlaneMemoryInfo =+             #{offset VkBindImagePlaneMemoryInfo, pNext}+        type FieldIsArray "pNext" VkBindImagePlaneMemoryInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindImagePlaneMemoryInfo, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkBindImagePlaneMemoryInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindImagePlaneMemoryInfo, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindImagePlaneMemoryInfo, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkBindImagePlaneMemoryInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindImagePlaneMemoryInfo, pNext}++instance {-# OVERLAPPING #-}+         HasField "planeAspect" VkBindImagePlaneMemoryInfo where+        type FieldType "planeAspect" VkBindImagePlaneMemoryInfo =+             VkImageAspectFlagBits+        type FieldOptional "planeAspect" VkBindImagePlaneMemoryInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "planeAspect" VkBindImagePlaneMemoryInfo =+             #{offset VkBindImagePlaneMemoryInfo, planeAspect}+        type FieldIsArray "planeAspect" VkBindImagePlaneMemoryInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindImagePlaneMemoryInfo, planeAspect}++instance {-# OVERLAPPING #-}+         CanReadField "planeAspect" VkBindImagePlaneMemoryInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindImagePlaneMemoryInfo, planeAspect})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindImagePlaneMemoryInfo, planeAspect}++instance {-# OVERLAPPING #-}+         CanWriteField "planeAspect" VkBindImagePlaneMemoryInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindImagePlaneMemoryInfo, planeAspect}++instance Show VkBindImagePlaneMemoryInfo where+        showsPrec d x+          = showString "VkBindImagePlaneMemoryInfo {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "planeAspect = " .+                            showsPrec d (getField @"planeAspect" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkBindImagePlaneMemoryInfoKHR.hs view
@@ -0,0 +1,9 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Struct.VkBindImagePlaneMemoryInfoKHR+       (VkBindImagePlaneMemoryInfo(..), VkBindImagePlaneMemoryInfoKHR)+       where+import           Graphics.Vulkan.Types.Struct.VkBindImagePlaneMemoryInfo (VkBindImagePlaneMemoryInfo (..))++-- | Alias for `VkBindImagePlaneMemoryInfo`+type VkBindImagePlaneMemoryInfoKHR = VkBindImagePlaneMemoryInfo
− src-gen/Graphics/Vulkan/Types/Struct/VkBindImagePlaneMemoryInfoKHR.hsc
@@ -1,239 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkBindImagePlaneMemoryInfoKHR-       (VkBindImagePlaneMemoryInfoKHR(..)) where-import           Foreign.Storable                                      (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkImageAspectFlags         (VkImageAspectFlagBits)-import           Graphics.Vulkan.Types.Enum.VkStructureType            (VkStructureType)-import           Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfoKHR (VkBindImageMemoryInfoKHR)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                                      (unsafeDupablePerformIO)---- | > typedef struct VkBindImagePlaneMemoryInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkImageAspectFlagBits            planeAspect;---   > } VkBindImagePlaneMemoryInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkBindImagePlaneMemoryInfoKHR.html VkBindImagePlaneMemoryInfoKHR registry at www.khronos.org>-data VkBindImagePlaneMemoryInfoKHR = VkBindImagePlaneMemoryInfoKHR## Addr##-                                                                    ByteArray##--instance Eq VkBindImagePlaneMemoryInfoKHR where-        (VkBindImagePlaneMemoryInfoKHR## a _) ==-          x@(VkBindImagePlaneMemoryInfoKHR## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkBindImagePlaneMemoryInfoKHR where-        (VkBindImagePlaneMemoryInfoKHR## a _) `compare`-          x@(VkBindImagePlaneMemoryInfoKHR## b _) = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkBindImagePlaneMemoryInfoKHR where-        sizeOf ~_ = #{size VkBindImagePlaneMemoryInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkBindImagePlaneMemoryInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkBindImagePlaneMemoryInfoKHR where-        unsafeAddr (VkBindImagePlaneMemoryInfoKHR## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkBindImagePlaneMemoryInfoKHR## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkBindImagePlaneMemoryInfoKHR##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkBindImagePlaneMemoryInfoKHR where-        type StructFields VkBindImagePlaneMemoryInfoKHR =-             '["sType", "pNext", "planeAspect"] -- ' closing tick for hsc2hs-        type CUnionType VkBindImagePlaneMemoryInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkBindImagePlaneMemoryInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkBindImagePlaneMemoryInfoKHR =-             '[VkBindImageMemoryInfoKHR] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasVkSType VkBindImagePlaneMemoryInfoKHR where-        type VkSTypeMType VkBindImagePlaneMemoryInfoKHR = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImagePlaneMemoryInfoKHR, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkBindImagePlaneMemoryInfoKHR, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkBindImagePlaneMemoryInfoKHR, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkBindImagePlaneMemoryInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkBindImagePlaneMemoryInfoKHR where-        type FieldType "sType" VkBindImagePlaneMemoryInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkBindImagePlaneMemoryInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkBindImagePlaneMemoryInfoKHR =-             #{offset VkBindImagePlaneMemoryInfoKHR, sType}-        type FieldIsArray "sType" VkBindImagePlaneMemoryInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImagePlaneMemoryInfoKHR, sType}--instance CanReadField "sType" VkBindImagePlaneMemoryInfoKHR where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkBindImagePlaneMemoryInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-}-         HasVkPNext VkBindImagePlaneMemoryInfoKHR where-        type VkPNextMType VkBindImagePlaneMemoryInfoKHR = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImagePlaneMemoryInfoKHR, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkBindImagePlaneMemoryInfoKHR, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkBindImagePlaneMemoryInfoKHR, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkBindImagePlaneMemoryInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkBindImagePlaneMemoryInfoKHR where-        type FieldType "pNext" VkBindImagePlaneMemoryInfoKHR = Ptr Void-        type FieldOptional "pNext" VkBindImagePlaneMemoryInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkBindImagePlaneMemoryInfoKHR =-             #{offset VkBindImagePlaneMemoryInfoKHR, pNext}-        type FieldIsArray "pNext" VkBindImagePlaneMemoryInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImagePlaneMemoryInfoKHR, pNext}--instance CanReadField "pNext" VkBindImagePlaneMemoryInfoKHR where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkBindImagePlaneMemoryInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-}-         HasVkPlaneAspect VkBindImagePlaneMemoryInfoKHR where-        type VkPlaneAspectMType VkBindImagePlaneMemoryInfoKHR =-             VkImageAspectFlagBits--        {-# NOINLINE vkPlaneAspect #-}-        vkPlaneAspect x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindImagePlaneMemoryInfoKHR, planeAspect})--        {-# INLINE vkPlaneAspectByteOffset #-}-        vkPlaneAspectByteOffset ~_-          = #{offset VkBindImagePlaneMemoryInfoKHR, planeAspect}--        {-# INLINE readVkPlaneAspect #-}-        readVkPlaneAspect p-          = peekByteOff p #{offset VkBindImagePlaneMemoryInfoKHR, planeAspect}--        {-# INLINE writeVkPlaneAspect #-}-        writeVkPlaneAspect p-          = pokeByteOff p #{offset VkBindImagePlaneMemoryInfoKHR, planeAspect}--instance {-# OVERLAPPING #-}-         HasField "planeAspect" VkBindImagePlaneMemoryInfoKHR where-        type FieldType "planeAspect" VkBindImagePlaneMemoryInfoKHR =-             VkImageAspectFlagBits-        type FieldOptional "planeAspect" VkBindImagePlaneMemoryInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "planeAspect" VkBindImagePlaneMemoryInfoKHR =-             #{offset VkBindImagePlaneMemoryInfoKHR, planeAspect}-        type FieldIsArray "planeAspect" VkBindImagePlaneMemoryInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBindImagePlaneMemoryInfoKHR, planeAspect}--instance CanReadField "planeAspect" VkBindImagePlaneMemoryInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkPlaneAspect--        {-# INLINE readField #-}-        readField = readVkPlaneAspect--instance CanWriteField "planeAspect" VkBindImagePlaneMemoryInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkPlaneAspect--instance Show VkBindImagePlaneMemoryInfoKHR where-        showsPrec d x-          = showString "VkBindImagePlaneMemoryInfoKHR {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkPlaneAspect = " .-                            showsPrec d (vkPlaneAspect x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkBindSparseInfo.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkBindSparseInfo        (VkBindSparseInfo(..)) where@@ -17,7 +18,6 @@ import           Graphics.Vulkan.Types.Struct.VkSparseBufferMemoryBindInfo      (VkSparseBufferMemoryBindInfo) import           Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBindInfo       (VkSparseImageMemoryBindInfo) import           Graphics.Vulkan.Types.Struct.VkSparseImageOpaqueMemoryBindInfo (VkSparseImageOpaqueMemoryBindInfo)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                               (unsafeDupablePerformIO)  -- | > typedef struct VkBindSparseInfo {@@ -35,7 +35,7 @@ --   >     const VkSemaphore*     pSignalSemaphores; --   > } VkBindSparseInfo; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkBindSparseInfo.html VkBindSparseInfo registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkBindSparseInfo.html VkBindSparseInfo registry at www.khronos.org> data VkBindSparseInfo = VkBindSparseInfo## Addr## ByteArray##  instance Eq VkBindSparseInfo where@@ -86,26 +86,6 @@         type ReturnedOnly VkBindSparseInfo = 'False -- ' closing tick for hsc2hs         type StructExtends VkBindSparseInfo = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSType VkBindSparseInfo where-        type VkSTypeMType VkBindSparseInfo = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkBindSparseInfo, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkBindSparseInfo, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkBindSparseInfo, sType}- instance {-# OVERLAPPING #-} HasField "sType" VkBindSparseInfo          where         type FieldType "sType" VkBindSparseInfo = VkStructureType@@ -120,36 +100,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBindSparseInfo, sType} -instance CanReadField "sType" VkBindSparseInfo where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-} CanReadField "sType" VkBindSparseInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkBindSparseInfo, sType} -instance CanWriteField "sType" VkBindSparseInfo where+instance {-# OVERLAPPING #-} CanWriteField "sType" VkBindSparseInfo+         where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkBindSparseInfo where-        type VkPNextMType VkBindSparseInfo = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkBindSparseInfo, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkBindSparseInfo, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkBindSparseInfo, pNext}+        writeField p+          = pokeByteOff p #{offset VkBindSparseInfo, sType}  instance {-# OVERLAPPING #-} HasField "pNext" VkBindSparseInfo          where@@ -165,37 +131,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBindSparseInfo, pNext} -instance CanReadField "pNext" VkBindSparseInfo where-        {-# INLINE getField #-}-        getField = vkPNext+instance {-# OVERLAPPING #-} CanReadField "pNext" VkBindSparseInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pNext})          {-# INLINE readField #-}-        readField = readVkPNext+        readField p+          = peekByteOff p #{offset VkBindSparseInfo, pNext} -instance CanWriteField "pNext" VkBindSparseInfo where+instance {-# OVERLAPPING #-} CanWriteField "pNext" VkBindSparseInfo+         where         {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-}-         HasVkWaitSemaphoreCount VkBindSparseInfo where-        type VkWaitSemaphoreCountMType VkBindSparseInfo = Word32--        {-# NOINLINE vkWaitSemaphoreCount #-}-        vkWaitSemaphoreCount x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, waitSemaphoreCount})--        {-# INLINE vkWaitSemaphoreCountByteOffset #-}-        vkWaitSemaphoreCountByteOffset ~_-          = #{offset VkBindSparseInfo, waitSemaphoreCount}--        {-# INLINE readVkWaitSemaphoreCount #-}-        readVkWaitSemaphoreCount p-          = peekByteOff p #{offset VkBindSparseInfo, waitSemaphoreCount}--        {-# INLINE writeVkWaitSemaphoreCount #-}-        writeVkWaitSemaphoreCount p-          = pokeByteOff p #{offset VkBindSparseInfo, waitSemaphoreCount}+        writeField p+          = pokeByteOff p #{offset VkBindSparseInfo, pNext}  instance {-# OVERLAPPING #-}          HasField "waitSemaphoreCount" VkBindSparseInfo where@@ -212,37 +163,22 @@         fieldOffset           = #{offset VkBindSparseInfo, waitSemaphoreCount} -instance CanReadField "waitSemaphoreCount" VkBindSparseInfo where-        {-# INLINE getField #-}-        getField = vkWaitSemaphoreCount+instance {-# OVERLAPPING #-}+         CanReadField "waitSemaphoreCount" VkBindSparseInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, waitSemaphoreCount})          {-# INLINE readField #-}-        readField = readVkWaitSemaphoreCount+        readField p+          = peekByteOff p #{offset VkBindSparseInfo, waitSemaphoreCount} -instance CanWriteField "waitSemaphoreCount" VkBindSparseInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "waitSemaphoreCount" VkBindSparseInfo where         {-# INLINE writeField #-}-        writeField = writeVkWaitSemaphoreCount--instance {-# OVERLAPPING #-} HasVkPWaitSemaphores VkBindSparseInfo-         where-        type VkPWaitSemaphoresMType VkBindSparseInfo = Ptr VkSemaphore--        {-# NOINLINE vkPWaitSemaphores #-}-        vkPWaitSemaphores x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pWaitSemaphores})--        {-# INLINE vkPWaitSemaphoresByteOffset #-}-        vkPWaitSemaphoresByteOffset ~_-          = #{offset VkBindSparseInfo, pWaitSemaphores}--        {-# INLINE readVkPWaitSemaphores #-}-        readVkPWaitSemaphores p-          = peekByteOff p #{offset VkBindSparseInfo, pWaitSemaphores}--        {-# INLINE writeVkPWaitSemaphores #-}-        writeVkPWaitSemaphores p-          = pokeByteOff p #{offset VkBindSparseInfo, pWaitSemaphores}+        writeField p+          = pokeByteOff p #{offset VkBindSparseInfo, waitSemaphoreCount}  instance {-# OVERLAPPING #-}          HasField "pWaitSemaphores" VkBindSparseInfo where@@ -259,37 +195,22 @@         fieldOffset           = #{offset VkBindSparseInfo, pWaitSemaphores} -instance CanReadField "pWaitSemaphores" VkBindSparseInfo where-        {-# INLINE getField #-}-        getField = vkPWaitSemaphores+instance {-# OVERLAPPING #-}+         CanReadField "pWaitSemaphores" VkBindSparseInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pWaitSemaphores})          {-# INLINE readField #-}-        readField = readVkPWaitSemaphores+        readField p+          = peekByteOff p #{offset VkBindSparseInfo, pWaitSemaphores} -instance CanWriteField "pWaitSemaphores" VkBindSparseInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "pWaitSemaphores" VkBindSparseInfo where         {-# INLINE writeField #-}-        writeField = writeVkPWaitSemaphores--instance {-# OVERLAPPING #-} HasVkBufferBindCount VkBindSparseInfo-         where-        type VkBufferBindCountMType VkBindSparseInfo = Word32--        {-# NOINLINE vkBufferBindCount #-}-        vkBufferBindCount x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, bufferBindCount})--        {-# INLINE vkBufferBindCountByteOffset #-}-        vkBufferBindCountByteOffset ~_-          = #{offset VkBindSparseInfo, bufferBindCount}--        {-# INLINE readVkBufferBindCount #-}-        readVkBufferBindCount p-          = peekByteOff p #{offset VkBindSparseInfo, bufferBindCount}--        {-# INLINE writeVkBufferBindCount #-}-        writeVkBufferBindCount p-          = pokeByteOff p #{offset VkBindSparseInfo, bufferBindCount}+        writeField p+          = pokeByteOff p #{offset VkBindSparseInfo, pWaitSemaphores}  instance {-# OVERLAPPING #-}          HasField "bufferBindCount" VkBindSparseInfo where@@ -306,38 +227,22 @@         fieldOffset           = #{offset VkBindSparseInfo, bufferBindCount} -instance CanReadField "bufferBindCount" VkBindSparseInfo where-        {-# INLINE getField #-}-        getField = vkBufferBindCount+instance {-# OVERLAPPING #-}+         CanReadField "bufferBindCount" VkBindSparseInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, bufferBindCount})          {-# INLINE readField #-}-        readField = readVkBufferBindCount+        readField p+          = peekByteOff p #{offset VkBindSparseInfo, bufferBindCount} -instance CanWriteField "bufferBindCount" VkBindSparseInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "bufferBindCount" VkBindSparseInfo where         {-# INLINE writeField #-}-        writeField = writeVkBufferBindCount--instance {-# OVERLAPPING #-} HasVkPBufferBinds VkBindSparseInfo-         where-        type VkPBufferBindsMType VkBindSparseInfo =-             Ptr VkSparseBufferMemoryBindInfo--        {-# NOINLINE vkPBufferBinds #-}-        vkPBufferBinds x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pBufferBinds})--        {-# INLINE vkPBufferBindsByteOffset #-}-        vkPBufferBindsByteOffset ~_-          = #{offset VkBindSparseInfo, pBufferBinds}--        {-# INLINE readVkPBufferBinds #-}-        readVkPBufferBinds p-          = peekByteOff p #{offset VkBindSparseInfo, pBufferBinds}--        {-# INLINE writeVkPBufferBinds #-}-        writeVkPBufferBinds p-          = pokeByteOff p #{offset VkBindSparseInfo, pBufferBinds}+        writeField p+          = pokeByteOff p #{offset VkBindSparseInfo, bufferBindCount}  instance {-# OVERLAPPING #-}          HasField "pBufferBinds" VkBindSparseInfo where@@ -354,37 +259,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBindSparseInfo, pBufferBinds} -instance CanReadField "pBufferBinds" VkBindSparseInfo where-        {-# INLINE getField #-}-        getField = vkPBufferBinds--        {-# INLINE readField #-}-        readField = readVkPBufferBinds--instance CanWriteField "pBufferBinds" VkBindSparseInfo where-        {-# INLINE writeField #-}-        writeField = writeVkPBufferBinds- instance {-# OVERLAPPING #-}-         HasVkImageOpaqueBindCount VkBindSparseInfo where-        type VkImageOpaqueBindCountMType VkBindSparseInfo = Word32--        {-# NOINLINE vkImageOpaqueBindCount #-}-        vkImageOpaqueBindCount x+         CanReadField "pBufferBinds" VkBindSparseInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, imageOpaqueBindCount})--        {-# INLINE vkImageOpaqueBindCountByteOffset #-}-        vkImageOpaqueBindCountByteOffset ~_-          = #{offset VkBindSparseInfo, imageOpaqueBindCount}+              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pBufferBinds}) -        {-# INLINE readVkImageOpaqueBindCount #-}-        readVkImageOpaqueBindCount p-          = peekByteOff p #{offset VkBindSparseInfo, imageOpaqueBindCount}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindSparseInfo, pBufferBinds} -        {-# INLINE writeVkImageOpaqueBindCount #-}-        writeVkImageOpaqueBindCount p-          = pokeByteOff p #{offset VkBindSparseInfo, imageOpaqueBindCount}+instance {-# OVERLAPPING #-}+         CanWriteField "pBufferBinds" VkBindSparseInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindSparseInfo, pBufferBinds}  instance {-# OVERLAPPING #-}          HasField "imageOpaqueBindCount" VkBindSparseInfo where@@ -401,39 +291,22 @@         fieldOffset           = #{offset VkBindSparseInfo, imageOpaqueBindCount} -instance CanReadField "imageOpaqueBindCount" VkBindSparseInfo where-        {-# INLINE getField #-}-        getField = vkImageOpaqueBindCount--        {-# INLINE readField #-}-        readField = readVkImageOpaqueBindCount--instance CanWriteField "imageOpaqueBindCount" VkBindSparseInfo-         where-        {-# INLINE writeField #-}-        writeField = writeVkImageOpaqueBindCount- instance {-# OVERLAPPING #-}-         HasVkPImageOpaqueBinds VkBindSparseInfo where-        type VkPImageOpaqueBindsMType VkBindSparseInfo =-             Ptr VkSparseImageOpaqueMemoryBindInfo--        {-# NOINLINE vkPImageOpaqueBinds #-}-        vkPImageOpaqueBinds x+         CanReadField "imageOpaqueBindCount" VkBindSparseInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pImageOpaqueBinds})--        {-# INLINE vkPImageOpaqueBindsByteOffset #-}-        vkPImageOpaqueBindsByteOffset ~_-          = #{offset VkBindSparseInfo, pImageOpaqueBinds}+              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, imageOpaqueBindCount}) -        {-# INLINE readVkPImageOpaqueBinds #-}-        readVkPImageOpaqueBinds p-          = peekByteOff p #{offset VkBindSparseInfo, pImageOpaqueBinds}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindSparseInfo, imageOpaqueBindCount} -        {-# INLINE writeVkPImageOpaqueBinds #-}-        writeVkPImageOpaqueBinds p-          = pokeByteOff p #{offset VkBindSparseInfo, pImageOpaqueBinds}+instance {-# OVERLAPPING #-}+         CanWriteField "imageOpaqueBindCount" VkBindSparseInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindSparseInfo, imageOpaqueBindCount}  instance {-# OVERLAPPING #-}          HasField "pImageOpaqueBinds" VkBindSparseInfo where@@ -451,37 +324,22 @@         fieldOffset           = #{offset VkBindSparseInfo, pImageOpaqueBinds} -instance CanReadField "pImageOpaqueBinds" VkBindSparseInfo where-        {-# INLINE getField #-}-        getField = vkPImageOpaqueBinds+instance {-# OVERLAPPING #-}+         CanReadField "pImageOpaqueBinds" VkBindSparseInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pImageOpaqueBinds})          {-# INLINE readField #-}-        readField = readVkPImageOpaqueBinds+        readField p+          = peekByteOff p #{offset VkBindSparseInfo, pImageOpaqueBinds} -instance CanWriteField "pImageOpaqueBinds" VkBindSparseInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "pImageOpaqueBinds" VkBindSparseInfo where         {-# INLINE writeField #-}-        writeField = writeVkPImageOpaqueBinds--instance {-# OVERLAPPING #-} HasVkImageBindCount VkBindSparseInfo-         where-        type VkImageBindCountMType VkBindSparseInfo = Word32--        {-# NOINLINE vkImageBindCount #-}-        vkImageBindCount x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, imageBindCount})--        {-# INLINE vkImageBindCountByteOffset #-}-        vkImageBindCountByteOffset ~_-          = #{offset VkBindSparseInfo, imageBindCount}--        {-# INLINE readVkImageBindCount #-}-        readVkImageBindCount p-          = peekByteOff p #{offset VkBindSparseInfo, imageBindCount}--        {-# INLINE writeVkImageBindCount #-}-        writeVkImageBindCount p-          = pokeByteOff p #{offset VkBindSparseInfo, imageBindCount}+        writeField p+          = pokeByteOff p #{offset VkBindSparseInfo, pImageOpaqueBinds}  instance {-# OVERLAPPING #-}          HasField "imageBindCount" VkBindSparseInfo where@@ -498,38 +356,22 @@         fieldOffset           = #{offset VkBindSparseInfo, imageBindCount} -instance CanReadField "imageBindCount" VkBindSparseInfo where-        {-# INLINE getField #-}-        getField = vkImageBindCount+instance {-# OVERLAPPING #-}+         CanReadField "imageBindCount" VkBindSparseInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, imageBindCount})          {-# INLINE readField #-}-        readField = readVkImageBindCount+        readField p+          = peekByteOff p #{offset VkBindSparseInfo, imageBindCount} -instance CanWriteField "imageBindCount" VkBindSparseInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "imageBindCount" VkBindSparseInfo where         {-# INLINE writeField #-}-        writeField = writeVkImageBindCount--instance {-# OVERLAPPING #-} HasVkPImageBinds VkBindSparseInfo-         where-        type VkPImageBindsMType VkBindSparseInfo =-             Ptr VkSparseImageMemoryBindInfo--        {-# NOINLINE vkPImageBinds #-}-        vkPImageBinds x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pImageBinds})--        {-# INLINE vkPImageBindsByteOffset #-}-        vkPImageBindsByteOffset ~_-          = #{offset VkBindSparseInfo, pImageBinds}--        {-# INLINE readVkPImageBinds #-}-        readVkPImageBinds p-          = peekByteOff p #{offset VkBindSparseInfo, pImageBinds}--        {-# INLINE writeVkPImageBinds #-}-        writeVkPImageBinds p-          = pokeByteOff p #{offset VkBindSparseInfo, pImageBinds}+        writeField p+          = pokeByteOff p #{offset VkBindSparseInfo, imageBindCount}  instance {-# OVERLAPPING #-}          HasField "pImageBinds" VkBindSparseInfo where@@ -546,37 +388,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBindSparseInfo, pImageBinds} -instance CanReadField "pImageBinds" VkBindSparseInfo where-        {-# INLINE getField #-}-        getField = vkPImageBinds--        {-# INLINE readField #-}-        readField = readVkPImageBinds--instance CanWriteField "pImageBinds" VkBindSparseInfo where-        {-# INLINE writeField #-}-        writeField = writeVkPImageBinds- instance {-# OVERLAPPING #-}-         HasVkSignalSemaphoreCount VkBindSparseInfo where-        type VkSignalSemaphoreCountMType VkBindSparseInfo = Word32--        {-# NOINLINE vkSignalSemaphoreCount #-}-        vkSignalSemaphoreCount x+         CanReadField "pImageBinds" VkBindSparseInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, signalSemaphoreCount})--        {-# INLINE vkSignalSemaphoreCountByteOffset #-}-        vkSignalSemaphoreCountByteOffset ~_-          = #{offset VkBindSparseInfo, signalSemaphoreCount}+              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pImageBinds}) -        {-# INLINE readVkSignalSemaphoreCount #-}-        readVkSignalSemaphoreCount p-          = peekByteOff p #{offset VkBindSparseInfo, signalSemaphoreCount}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindSparseInfo, pImageBinds} -        {-# INLINE writeVkSignalSemaphoreCount #-}-        writeVkSignalSemaphoreCount p-          = pokeByteOff p #{offset VkBindSparseInfo, signalSemaphoreCount}+instance {-# OVERLAPPING #-}+         CanWriteField "pImageBinds" VkBindSparseInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindSparseInfo, pImageBinds}  instance {-# OVERLAPPING #-}          HasField "signalSemaphoreCount" VkBindSparseInfo where@@ -593,38 +420,22 @@         fieldOffset           = #{offset VkBindSparseInfo, signalSemaphoreCount} -instance CanReadField "signalSemaphoreCount" VkBindSparseInfo where-        {-# INLINE getField #-}-        getField = vkSignalSemaphoreCount--        {-# INLINE readField #-}-        readField = readVkSignalSemaphoreCount--instance CanWriteField "signalSemaphoreCount" VkBindSparseInfo-         where-        {-# INLINE writeField #-}-        writeField = writeVkSignalSemaphoreCount- instance {-# OVERLAPPING #-}-         HasVkPSignalSemaphores VkBindSparseInfo where-        type VkPSignalSemaphoresMType VkBindSparseInfo = Ptr VkSemaphore--        {-# NOINLINE vkPSignalSemaphores #-}-        vkPSignalSemaphores x+         CanReadField "signalSemaphoreCount" VkBindSparseInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pSignalSemaphores})--        {-# INLINE vkPSignalSemaphoresByteOffset #-}-        vkPSignalSemaphoresByteOffset ~_-          = #{offset VkBindSparseInfo, pSignalSemaphores}+              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, signalSemaphoreCount}) -        {-# INLINE readVkPSignalSemaphores #-}-        readVkPSignalSemaphores p-          = peekByteOff p #{offset VkBindSparseInfo, pSignalSemaphores}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBindSparseInfo, signalSemaphoreCount} -        {-# INLINE writeVkPSignalSemaphores #-}-        writeVkPSignalSemaphores p-          = pokeByteOff p #{offset VkBindSparseInfo, pSignalSemaphores}+instance {-# OVERLAPPING #-}+         CanWriteField "signalSemaphoreCount" VkBindSparseInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBindSparseInfo, signalSemaphoreCount}  instance {-# OVERLAPPING #-}          HasField "pSignalSemaphores" VkBindSparseInfo where@@ -642,63 +453,77 @@         fieldOffset           = #{offset VkBindSparseInfo, pSignalSemaphores} -instance CanReadField "pSignalSemaphores" VkBindSparseInfo where-        {-# INLINE getField #-}-        getField = vkPSignalSemaphores+instance {-# OVERLAPPING #-}+         CanReadField "pSignalSemaphores" VkBindSparseInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pSignalSemaphores})          {-# INLINE readField #-}-        readField = readVkPSignalSemaphores+        readField p+          = peekByteOff p #{offset VkBindSparseInfo, pSignalSemaphores} -instance CanWriteField "pSignalSemaphores" VkBindSparseInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "pSignalSemaphores" VkBindSparseInfo where         {-# INLINE writeField #-}-        writeField = writeVkPSignalSemaphores+        writeField p+          = pokeByteOff p #{offset VkBindSparseInfo, pSignalSemaphores}  instance Show VkBindSparseInfo where         showsPrec d x           = showString "VkBindSparseInfo {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkWaitSemaphoreCount = " .-                            showsPrec d (vkWaitSemaphoreCount x) .+                          showString "waitSemaphoreCount = " .+                            showsPrec d (getField @"waitSemaphoreCount" x) .                               showString ", " .-                                showString "vkPWaitSemaphores = " .-                                  showsPrec d (vkPWaitSemaphores x) .+                                showString "pWaitSemaphores = " .+                                  showsPrec d (getField @"pWaitSemaphores" x) .                                     showString ", " .-                                      showString "vkBufferBindCount = " .-                                        showsPrec d (vkBufferBindCount x) .+                                      showString "bufferBindCount = " .+                                        showsPrec d (getField @"bufferBindCount" x) .                                           showString ", " .-                                            showString "vkPBufferBinds = " .-                                              showsPrec d (vkPBufferBinds x) .+                                            showString "pBufferBinds = " .+                                              showsPrec d (getField @"pBufferBinds" x) .                                                 showString ", " .-                                                  showString "vkImageOpaqueBindCount = " .-                                                    showsPrec d (vkImageOpaqueBindCount x) .+                                                  showString "imageOpaqueBindCount = " .+                                                    showsPrec d (getField @"imageOpaqueBindCount" x)+                                                      .                                                       showString ", " .-                                                        showString "vkPImageOpaqueBinds = " .-                                                          showsPrec d (vkPImageOpaqueBinds x) .+                                                        showString "pImageOpaqueBinds = " .+                                                          showsPrec d+                                                            (getField @"pImageOpaqueBinds" x)+                                                            .                                                             showString ", " .-                                                              showString "vkImageBindCount = " .-                                                                showsPrec d (vkImageBindCount x) .+                                                              showString "imageBindCount = " .+                                                                showsPrec d+                                                                  (getField @"imageBindCount" x)+                                                                  .                                                                   showString ", " .-                                                                    showString "vkPImageBinds = " .-                                                                      showsPrec d (vkPImageBinds x)+                                                                    showString "pImageBinds = " .+                                                                      showsPrec d+                                                                        (getField @"pImageBinds" x)                                                                         .                                                                         showString ", " .                                                                           showString-                                                                            "vkSignalSemaphoreCount = "+                                                                            "signalSemaphoreCount = "                                                                             .                                                                             showsPrec d-                                                                              (vkSignalSemaphoreCount+                                                                              (getField+                                                                                 @"signalSemaphoreCount"                                                                                  x)                                                                               .                                                                               showString ", " .                                                                                 showString-                                                                                  "vkPSignalSemaphores = "+                                                                                  "pSignalSemaphores = "                                                                                   .                                                                                   showsPrec d-                                                                                    (vkPSignalSemaphores+                                                                                    (getField+                                                                                       @"pSignalSemaphores"                                                                                        x)                                                                                     . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkBufferCopy.hsc view
@@ -5,16 +5,16 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkBufferCopy (VkBufferCopy(..))        where-import           Foreign.Storable                    (Storable (..))+import           Foreign.Storable                 (Storable (..)) import           GHC.Prim import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.BaseTypes     (VkDeviceSize)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                    (unsafeDupablePerformIO)+import           Graphics.Vulkan.Types.BaseTypes  (VkDeviceSize)+import           System.IO.Unsafe                 (unsafeDupablePerformIO)  -- | > typedef struct VkBufferCopy { --   >     VkDeviceSize           srcOffset;@@ -22,7 +22,7 @@ --   >     VkDeviceSize           size; --   > } VkBufferCopy; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkBufferCopy.html VkBufferCopy registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkBufferCopy.html VkBufferCopy registry at www.khronos.org> data VkBufferCopy = VkBufferCopy## Addr## ByteArray##  instance Eq VkBufferCopy where@@ -70,26 +70,6 @@         type ReturnedOnly VkBufferCopy = 'False -- ' closing tick for hsc2hs         type StructExtends VkBufferCopy = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSrcOffset VkBufferCopy where-        type VkSrcOffsetMType VkBufferCopy = VkDeviceSize--        {-# NOINLINE vkSrcOffset #-}-        vkSrcOffset x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferCopy, srcOffset})--        {-# INLINE vkSrcOffsetByteOffset #-}-        vkSrcOffsetByteOffset ~_-          = #{offset VkBufferCopy, srcOffset}--        {-# INLINE readVkSrcOffset #-}-        readVkSrcOffset p-          = peekByteOff p #{offset VkBufferCopy, srcOffset}--        {-# INLINE writeVkSrcOffset #-}-        writeVkSrcOffset p-          = pokeByteOff p #{offset VkBufferCopy, srcOffset}- instance {-# OVERLAPPING #-} HasField "srcOffset" VkBufferCopy          where         type FieldType "srcOffset" VkBufferCopy = VkDeviceSize@@ -104,36 +84,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferCopy, srcOffset} -instance CanReadField "srcOffset" VkBufferCopy where-        {-# INLINE getField #-}-        getField = vkSrcOffset+instance {-# OVERLAPPING #-} CanReadField "srcOffset" VkBufferCopy+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferCopy, srcOffset})          {-# INLINE readField #-}-        readField = readVkSrcOffset+        readField p+          = peekByteOff p #{offset VkBufferCopy, srcOffset} -instance CanWriteField "srcOffset" VkBufferCopy where+instance {-# OVERLAPPING #-} CanWriteField "srcOffset" VkBufferCopy+         where         {-# INLINE writeField #-}-        writeField = writeVkSrcOffset--instance {-# OVERLAPPING #-} HasVkDstOffset VkBufferCopy where-        type VkDstOffsetMType VkBufferCopy = VkDeviceSize--        {-# NOINLINE vkDstOffset #-}-        vkDstOffset x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferCopy, dstOffset})--        {-# INLINE vkDstOffsetByteOffset #-}-        vkDstOffsetByteOffset ~_-          = #{offset VkBufferCopy, dstOffset}--        {-# INLINE readVkDstOffset #-}-        readVkDstOffset p-          = peekByteOff p #{offset VkBufferCopy, dstOffset}--        {-# INLINE writeVkDstOffset #-}-        writeVkDstOffset p-          = pokeByteOff p #{offset VkBufferCopy, dstOffset}+        writeField p+          = pokeByteOff p #{offset VkBufferCopy, srcOffset}  instance {-# OVERLAPPING #-} HasField "dstOffset" VkBufferCopy          where@@ -149,35 +115,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferCopy, dstOffset} -instance CanReadField "dstOffset" VkBufferCopy where-        {-# INLINE getField #-}-        getField = vkDstOffset+instance {-# OVERLAPPING #-} CanReadField "dstOffset" VkBufferCopy+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferCopy, dstOffset})          {-# INLINE readField #-}-        readField = readVkDstOffset+        readField p+          = peekByteOff p #{offset VkBufferCopy, dstOffset} -instance CanWriteField "dstOffset" VkBufferCopy where+instance {-# OVERLAPPING #-} CanWriteField "dstOffset" VkBufferCopy+         where         {-# INLINE writeField #-}-        writeField = writeVkDstOffset--instance {-# OVERLAPPING #-} HasVkSize VkBufferCopy where-        type VkSizeMType VkBufferCopy = VkDeviceSize--        {-# NOINLINE vkSize #-}-        vkSize x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferCopy, size})--        {-# INLINE vkSizeByteOffset #-}-        vkSizeByteOffset ~_ = #{offset VkBufferCopy, size}--        {-# INLINE readVkSize #-}-        readVkSize p-          = peekByteOff p #{offset VkBufferCopy, size}--        {-# INLINE writeVkSize #-}-        writeVkSize p-          = pokeByteOff p #{offset VkBufferCopy, size}+        writeField p+          = pokeByteOff p #{offset VkBufferCopy, dstOffset}  instance {-# OVERLAPPING #-} HasField "size" VkBufferCopy where         type FieldType "size" VkBufferCopy = VkDeviceSize@@ -192,24 +145,30 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferCopy, size} -instance CanReadField "size" VkBufferCopy where-        {-# INLINE getField #-}-        getField = vkSize+instance {-# OVERLAPPING #-} CanReadField "size" VkBufferCopy where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferCopy, size})          {-# INLINE readField #-}-        readField = readVkSize+        readField p+          = peekByteOff p #{offset VkBufferCopy, size} -instance CanWriteField "size" VkBufferCopy where+instance {-# OVERLAPPING #-} CanWriteField "size" VkBufferCopy+         where         {-# INLINE writeField #-}-        writeField = writeVkSize+        writeField p+          = pokeByteOff p #{offset VkBufferCopy, size}  instance Show VkBufferCopy where         showsPrec d x           = showString "VkBufferCopy {" .-              showString "vkSrcOffset = " .-                showsPrec d (vkSrcOffset x) .+              showString "srcOffset = " .+                showsPrec d (getField @"srcOffset" x) .                   showString ", " .-                    showString "vkDstOffset = " .-                      showsPrec d (vkDstOffset x) .+                    showString "dstOffset = " .+                      showsPrec d (getField @"dstOffset" x) .                         showString ", " .-                          showString "vkSize = " . showsPrec d (vkSize x) . showChar '}'+                          showString "size = " .+                            showsPrec d (getField @"size" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkBufferCreateInfo.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkBufferCreateInfo        (VkBufferCreateInfo(..)) where@@ -17,7 +18,6 @@ import           Graphics.Vulkan.Types.Enum.VkBufferUsageFlags  (VkBufferUsageFlags) import           Graphics.Vulkan.Types.Enum.VkSharingMode       (VkSharingMode) import           Graphics.Vulkan.Types.Enum.VkStructureType     (VkStructureType)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                               (unsafeDupablePerformIO)  -- | > typedef struct VkBufferCreateInfo {@@ -31,7 +31,7 @@ --   >     const uint32_t*        pQueueFamilyIndices; --   > } VkBufferCreateInfo; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkBufferCreateInfo.html VkBufferCreateInfo registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkBufferCreateInfo.html VkBufferCreateInfo registry at www.khronos.org> data VkBufferCreateInfo = VkBufferCreateInfo## Addr## ByteArray##  instance Eq VkBufferCreateInfo where@@ -80,26 +80,6 @@         type ReturnedOnly VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs         type StructExtends VkBufferCreateInfo = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSType VkBufferCreateInfo where-        type VkSTypeMType VkBufferCreateInfo = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkBufferCreateInfo, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkBufferCreateInfo, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkBufferCreateInfo, sType}- instance {-# OVERLAPPING #-} HasField "sType" VkBufferCreateInfo          where         type FieldType "sType" VkBufferCreateInfo = VkStructureType@@ -114,36 +94,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferCreateInfo, sType} -instance CanReadField "sType" VkBufferCreateInfo where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-}+         CanReadField "sType" VkBufferCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkBufferCreateInfo, sType} -instance CanWriteField "sType" VkBufferCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkBufferCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkBufferCreateInfo where-        type VkPNextMType VkBufferCreateInfo = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkBufferCreateInfo, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkBufferCreateInfo, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkBufferCreateInfo, pNext}+        writeField p+          = pokeByteOff p #{offset VkBufferCreateInfo, sType}  instance {-# OVERLAPPING #-} HasField "pNext" VkBufferCreateInfo          where@@ -159,36 +125,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferCreateInfo, pNext} -instance CanReadField "pNext" VkBufferCreateInfo where-        {-# INLINE getField #-}-        getField = vkPNext+instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkBufferCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, pNext})          {-# INLINE readField #-}-        readField = readVkPNext+        readField p+          = peekByteOff p #{offset VkBufferCreateInfo, pNext} -instance CanWriteField "pNext" VkBufferCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkBufferCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-} HasVkFlags VkBufferCreateInfo where-        type VkFlagsMType VkBufferCreateInfo = VkBufferCreateFlags--        {-# NOINLINE vkFlags #-}-        vkFlags x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, flags})--        {-# INLINE vkFlagsByteOffset #-}-        vkFlagsByteOffset ~_-          = #{offset VkBufferCreateInfo, flags}--        {-# INLINE readVkFlags #-}-        readVkFlags p-          = peekByteOff p #{offset VkBufferCreateInfo, flags}--        {-# INLINE writeVkFlags #-}-        writeVkFlags p-          = pokeByteOff p #{offset VkBufferCreateInfo, flags}+        writeField p+          = pokeByteOff p #{offset VkBufferCreateInfo, pNext}  instance {-# OVERLAPPING #-} HasField "flags" VkBufferCreateInfo          where@@ -204,36 +156,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferCreateInfo, flags} -instance CanReadField "flags" VkBufferCreateInfo where-        {-# INLINE getField #-}-        getField = vkFlags+instance {-# OVERLAPPING #-}+         CanReadField "flags" VkBufferCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, flags})          {-# INLINE readField #-}-        readField = readVkFlags+        readField p+          = peekByteOff p #{offset VkBufferCreateInfo, flags} -instance CanWriteField "flags" VkBufferCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "flags" VkBufferCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkFlags--instance {-# OVERLAPPING #-} HasVkSize VkBufferCreateInfo where-        type VkSizeMType VkBufferCreateInfo = VkDeviceSize--        {-# NOINLINE vkSize #-}-        vkSize x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, size})--        {-# INLINE vkSizeByteOffset #-}-        vkSizeByteOffset ~_-          = #{offset VkBufferCreateInfo, size}--        {-# INLINE readVkSize #-}-        readVkSize p-          = peekByteOff p #{offset VkBufferCreateInfo, size}--        {-# INLINE writeVkSize #-}-        writeVkSize p-          = pokeByteOff p #{offset VkBufferCreateInfo, size}+        writeField p+          = pokeByteOff p #{offset VkBufferCreateInfo, flags}  instance {-# OVERLAPPING #-} HasField "size" VkBufferCreateInfo          where@@ -249,36 +187,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferCreateInfo, size} -instance CanReadField "size" VkBufferCreateInfo where-        {-# INLINE getField #-}-        getField = vkSize+instance {-# OVERLAPPING #-} CanReadField "size" VkBufferCreateInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, size})          {-# INLINE readField #-}-        readField = readVkSize+        readField p+          = peekByteOff p #{offset VkBufferCreateInfo, size} -instance CanWriteField "size" VkBufferCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "size" VkBufferCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkSize--instance {-# OVERLAPPING #-} HasVkUsage VkBufferCreateInfo where-        type VkUsageMType VkBufferCreateInfo = VkBufferUsageFlags--        {-# NOINLINE vkUsage #-}-        vkUsage x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, usage})--        {-# INLINE vkUsageByteOffset #-}-        vkUsageByteOffset ~_-          = #{offset VkBufferCreateInfo, usage}--        {-# INLINE readVkUsage #-}-        readVkUsage p-          = peekByteOff p #{offset VkBufferCreateInfo, usage}--        {-# INLINE writeVkUsage #-}-        writeVkUsage p-          = pokeByteOff p #{offset VkBufferCreateInfo, usage}+        writeField p+          = pokeByteOff p #{offset VkBufferCreateInfo, size}  instance {-# OVERLAPPING #-} HasField "usage" VkBufferCreateInfo          where@@ -294,37 +218,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferCreateInfo, usage} -instance CanReadField "usage" VkBufferCreateInfo where-        {-# INLINE getField #-}-        getField = vkUsage+instance {-# OVERLAPPING #-}+         CanReadField "usage" VkBufferCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, usage})          {-# INLINE readField #-}-        readField = readVkUsage+        readField p+          = peekByteOff p #{offset VkBufferCreateInfo, usage} -instance CanWriteField "usage" VkBufferCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "usage" VkBufferCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkUsage--instance {-# OVERLAPPING #-} HasVkSharingMode VkBufferCreateInfo-         where-        type VkSharingModeMType VkBufferCreateInfo = VkSharingMode--        {-# NOINLINE vkSharingMode #-}-        vkSharingMode x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, sharingMode})--        {-# INLINE vkSharingModeByteOffset #-}-        vkSharingModeByteOffset ~_-          = #{offset VkBufferCreateInfo, sharingMode}--        {-# INLINE readVkSharingMode #-}-        readVkSharingMode p-          = peekByteOff p #{offset VkBufferCreateInfo, sharingMode}--        {-# INLINE writeVkSharingMode #-}-        writeVkSharingMode p-          = pokeByteOff p #{offset VkBufferCreateInfo, sharingMode}+        writeField p+          = pokeByteOff p #{offset VkBufferCreateInfo, usage}  instance {-# OVERLAPPING #-}          HasField "sharingMode" VkBufferCreateInfo where@@ -340,37 +249,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferCreateInfo, sharingMode} -instance CanReadField "sharingMode" VkBufferCreateInfo where-        {-# INLINE getField #-}-        getField = vkSharingMode--        {-# INLINE readField #-}-        readField = readVkSharingMode--instance CanWriteField "sharingMode" VkBufferCreateInfo where-        {-# INLINE writeField #-}-        writeField = writeVkSharingMode- instance {-# OVERLAPPING #-}-         HasVkQueueFamilyIndexCount VkBufferCreateInfo where-        type VkQueueFamilyIndexCountMType VkBufferCreateInfo = Word32--        {-# NOINLINE vkQueueFamilyIndexCount #-}-        vkQueueFamilyIndexCount x+         CanReadField "sharingMode" VkBufferCreateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, queueFamilyIndexCount})--        {-# INLINE vkQueueFamilyIndexCountByteOffset #-}-        vkQueueFamilyIndexCountByteOffset ~_-          = #{offset VkBufferCreateInfo, queueFamilyIndexCount}+              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, sharingMode}) -        {-# INLINE readVkQueueFamilyIndexCount #-}-        readVkQueueFamilyIndexCount p-          = peekByteOff p #{offset VkBufferCreateInfo, queueFamilyIndexCount}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBufferCreateInfo, sharingMode} -        {-# INLINE writeVkQueueFamilyIndexCount #-}-        writeVkQueueFamilyIndexCount p-          = pokeByteOff p #{offset VkBufferCreateInfo, queueFamilyIndexCount}+instance {-# OVERLAPPING #-}+         CanWriteField "sharingMode" VkBufferCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBufferCreateInfo, sharingMode}  instance {-# OVERLAPPING #-}          HasField "queueFamilyIndexCount" VkBufferCreateInfo where@@ -389,39 +283,22 @@         fieldOffset           = #{offset VkBufferCreateInfo, queueFamilyIndexCount} -instance CanReadField "queueFamilyIndexCount" VkBufferCreateInfo-         where-        {-# INLINE getField #-}-        getField = vkQueueFamilyIndexCount--        {-# INLINE readField #-}-        readField = readVkQueueFamilyIndexCount--instance CanWriteField "queueFamilyIndexCount" VkBufferCreateInfo-         where-        {-# INLINE writeField #-}-        writeField = writeVkQueueFamilyIndexCount- instance {-# OVERLAPPING #-}-         HasVkPQueueFamilyIndices VkBufferCreateInfo where-        type VkPQueueFamilyIndicesMType VkBufferCreateInfo = Ptr Word32--        {-# NOINLINE vkPQueueFamilyIndices #-}-        vkPQueueFamilyIndices x+         CanReadField "queueFamilyIndexCount" VkBufferCreateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, pQueueFamilyIndices})--        {-# INLINE vkPQueueFamilyIndicesByteOffset #-}-        vkPQueueFamilyIndicesByteOffset ~_-          = #{offset VkBufferCreateInfo, pQueueFamilyIndices}+              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, queueFamilyIndexCount}) -        {-# INLINE readVkPQueueFamilyIndices #-}-        readVkPQueueFamilyIndices p-          = peekByteOff p #{offset VkBufferCreateInfo, pQueueFamilyIndices}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBufferCreateInfo, queueFamilyIndexCount} -        {-# INLINE writeVkPQueueFamilyIndices #-}-        writeVkPQueueFamilyIndices p-          = pokeByteOff p #{offset VkBufferCreateInfo, pQueueFamilyIndices}+instance {-# OVERLAPPING #-}+         CanWriteField "queueFamilyIndexCount" VkBufferCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBufferCreateInfo, queueFamilyIndexCount}  instance {-# OVERLAPPING #-}          HasField "pQueueFamilyIndices" VkBufferCreateInfo where@@ -440,43 +317,50 @@         fieldOffset           = #{offset VkBufferCreateInfo, pQueueFamilyIndices} -instance CanReadField "pQueueFamilyIndices" VkBufferCreateInfo-         where-        {-# INLINE getField #-}-        getField = vkPQueueFamilyIndices+instance {-# OVERLAPPING #-}+         CanReadField "pQueueFamilyIndices" VkBufferCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, pQueueFamilyIndices})          {-# INLINE readField #-}-        readField = readVkPQueueFamilyIndices+        readField p+          = peekByteOff p #{offset VkBufferCreateInfo, pQueueFamilyIndices} -instance CanWriteField "pQueueFamilyIndices" VkBufferCreateInfo-         where+instance {-# OVERLAPPING #-}+         CanWriteField "pQueueFamilyIndices" VkBufferCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkPQueueFamilyIndices+        writeField p+          = pokeByteOff p #{offset VkBufferCreateInfo, pQueueFamilyIndices}  instance Show VkBufferCreateInfo where         showsPrec d x           = showString "VkBufferCreateInfo {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkFlags = " .-                            showsPrec d (vkFlags x) .+                          showString "flags = " .+                            showsPrec d (getField @"flags" x) .                               showString ", " .-                                showString "vkSize = " .-                                  showsPrec d (vkSize x) .+                                showString "size = " .+                                  showsPrec d (getField @"size" x) .                                     showString ", " .-                                      showString "vkUsage = " .-                                        showsPrec d (vkUsage x) .+                                      showString "usage = " .+                                        showsPrec d (getField @"usage" x) .                                           showString ", " .-                                            showString "vkSharingMode = " .-                                              showsPrec d (vkSharingMode x) .+                                            showString "sharingMode = " .+                                              showsPrec d (getField @"sharingMode" x) .                                                 showString ", " .-                                                  showString "vkQueueFamilyIndexCount = " .-                                                    showsPrec d (vkQueueFamilyIndexCount x) .+                                                  showString "queueFamilyIndexCount = " .+                                                    showsPrec d+                                                      (getField @"queueFamilyIndexCount" x)+                                                      .                                                       showString ", " .-                                                        showString "vkPQueueFamilyIndices = " .-                                                          showsPrec d (vkPQueueFamilyIndices x) .-                                                            showChar '}'+                                                        showString "pQueueFamilyIndices = " .+                                                          showsPrec d+                                                            (getField @"pQueueFamilyIndices" x)+                                                            . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkBufferImageCopy.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkBufferImageCopy        (VkBufferImageCopy(..)) where@@ -16,7 +17,6 @@ import           Graphics.Vulkan.Types.Struct.VkExtent3D               (VkExtent3D) import           Graphics.Vulkan.Types.Struct.VkImageSubresourceLayers (VkImageSubresourceLayers) import           Graphics.Vulkan.Types.Struct.VkOffset3D               (VkOffset3D)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                      (unsafeDupablePerformIO)  -- | > typedef struct VkBufferImageCopy {@@ -28,7 +28,7 @@ --   >     VkExtent3D             imageExtent; --   > } VkBufferImageCopy; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkBufferImageCopy.html VkBufferImageCopy registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkBufferImageCopy.html VkBufferImageCopy registry at www.khronos.org> data VkBufferImageCopy = VkBufferImageCopy## Addr## ByteArray##  instance Eq VkBufferImageCopy where@@ -77,27 +77,6 @@         type ReturnedOnly VkBufferImageCopy = 'False -- ' closing tick for hsc2hs         type StructExtends VkBufferImageCopy = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkBufferOffset VkBufferImageCopy-         where-        type VkBufferOffsetMType VkBufferImageCopy = VkDeviceSize--        {-# NOINLINE vkBufferOffset #-}-        vkBufferOffset x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, bufferOffset})--        {-# INLINE vkBufferOffsetByteOffset #-}-        vkBufferOffsetByteOffset ~_-          = #{offset VkBufferImageCopy, bufferOffset}--        {-# INLINE readVkBufferOffset #-}-        readVkBufferOffset p-          = peekByteOff p #{offset VkBufferImageCopy, bufferOffset}--        {-# INLINE writeVkBufferOffset #-}-        writeVkBufferOffset p-          = pokeByteOff p #{offset VkBufferImageCopy, bufferOffset}- instance {-# OVERLAPPING #-}          HasField "bufferOffset" VkBufferImageCopy where         type FieldType "bufferOffset" VkBufferImageCopy = VkDeviceSize@@ -112,37 +91,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferImageCopy, bufferOffset} -instance CanReadField "bufferOffset" VkBufferImageCopy where-        {-# INLINE getField #-}-        getField = vkBufferOffset+instance {-# OVERLAPPING #-}+         CanReadField "bufferOffset" VkBufferImageCopy where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, bufferOffset})          {-# INLINE readField #-}-        readField = readVkBufferOffset+        readField p+          = peekByteOff p #{offset VkBufferImageCopy, bufferOffset} -instance CanWriteField "bufferOffset" VkBufferImageCopy where+instance {-# OVERLAPPING #-}+         CanWriteField "bufferOffset" VkBufferImageCopy where         {-# INLINE writeField #-}-        writeField = writeVkBufferOffset--instance {-# OVERLAPPING #-} HasVkBufferRowLength VkBufferImageCopy-         where-        type VkBufferRowLengthMType VkBufferImageCopy = Word32--        {-# NOINLINE vkBufferRowLength #-}-        vkBufferRowLength x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, bufferRowLength})--        {-# INLINE vkBufferRowLengthByteOffset #-}-        vkBufferRowLengthByteOffset ~_-          = #{offset VkBufferImageCopy, bufferRowLength}--        {-# INLINE readVkBufferRowLength #-}-        readVkBufferRowLength p-          = peekByteOff p #{offset VkBufferImageCopy, bufferRowLength}--        {-# INLINE writeVkBufferRowLength #-}-        writeVkBufferRowLength p-          = pokeByteOff p #{offset VkBufferImageCopy, bufferRowLength}+        writeField p+          = pokeByteOff p #{offset VkBufferImageCopy, bufferOffset}  instance {-# OVERLAPPING #-}          HasField "bufferRowLength" VkBufferImageCopy where@@ -159,37 +123,22 @@         fieldOffset           = #{offset VkBufferImageCopy, bufferRowLength} -instance CanReadField "bufferRowLength" VkBufferImageCopy where-        {-# INLINE getField #-}-        getField = vkBufferRowLength--        {-# INLINE readField #-}-        readField = readVkBufferRowLength--instance CanWriteField "bufferRowLength" VkBufferImageCopy where-        {-# INLINE writeField #-}-        writeField = writeVkBufferRowLength- instance {-# OVERLAPPING #-}-         HasVkBufferImageHeight VkBufferImageCopy where-        type VkBufferImageHeightMType VkBufferImageCopy = Word32--        {-# NOINLINE vkBufferImageHeight #-}-        vkBufferImageHeight x+         CanReadField "bufferRowLength" VkBufferImageCopy where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, bufferImageHeight})--        {-# INLINE vkBufferImageHeightByteOffset #-}-        vkBufferImageHeightByteOffset ~_-          = #{offset VkBufferImageCopy, bufferImageHeight}+              (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, bufferRowLength}) -        {-# INLINE readVkBufferImageHeight #-}-        readVkBufferImageHeight p-          = peekByteOff p #{offset VkBufferImageCopy, bufferImageHeight}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBufferImageCopy, bufferRowLength} -        {-# INLINE writeVkBufferImageHeight #-}-        writeVkBufferImageHeight p-          = pokeByteOff p #{offset VkBufferImageCopy, bufferImageHeight}+instance {-# OVERLAPPING #-}+         CanWriteField "bufferRowLength" VkBufferImageCopy where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBufferImageCopy, bufferRowLength}  instance {-# OVERLAPPING #-}          HasField "bufferImageHeight" VkBufferImageCopy where@@ -206,38 +155,22 @@         fieldOffset           = #{offset VkBufferImageCopy, bufferImageHeight} -instance CanReadField "bufferImageHeight" VkBufferImageCopy where-        {-# INLINE getField #-}-        getField = vkBufferImageHeight--        {-# INLINE readField #-}-        readField = readVkBufferImageHeight--instance CanWriteField "bufferImageHeight" VkBufferImageCopy where-        {-# INLINE writeField #-}-        writeField = writeVkBufferImageHeight- instance {-# OVERLAPPING #-}-         HasVkImageSubresource VkBufferImageCopy where-        type VkImageSubresourceMType VkBufferImageCopy =-             VkImageSubresourceLayers--        {-# NOINLINE vkImageSubresource #-}-        vkImageSubresource x+         CanReadField "bufferImageHeight" VkBufferImageCopy where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, imageSubresource})--        {-# INLINE vkImageSubresourceByteOffset #-}-        vkImageSubresourceByteOffset ~_-          = #{offset VkBufferImageCopy, imageSubresource}+              (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, bufferImageHeight}) -        {-# INLINE readVkImageSubresource #-}-        readVkImageSubresource p-          = peekByteOff p #{offset VkBufferImageCopy, imageSubresource}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBufferImageCopy, bufferImageHeight} -        {-# INLINE writeVkImageSubresource #-}-        writeVkImageSubresource p-          = pokeByteOff p #{offset VkBufferImageCopy, imageSubresource}+instance {-# OVERLAPPING #-}+         CanWriteField "bufferImageHeight" VkBufferImageCopy where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBufferImageCopy, bufferImageHeight}  instance {-# OVERLAPPING #-}          HasField "imageSubresource" VkBufferImageCopy where@@ -255,37 +188,22 @@         fieldOffset           = #{offset VkBufferImageCopy, imageSubresource} -instance CanReadField "imageSubresource" VkBufferImageCopy where-        {-# INLINE getField #-}-        getField = vkImageSubresource+instance {-# OVERLAPPING #-}+         CanReadField "imageSubresource" VkBufferImageCopy where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, imageSubresource})          {-# INLINE readField #-}-        readField = readVkImageSubresource+        readField p+          = peekByteOff p #{offset VkBufferImageCopy, imageSubresource} -instance CanWriteField "imageSubresource" VkBufferImageCopy where+instance {-# OVERLAPPING #-}+         CanWriteField "imageSubresource" VkBufferImageCopy where         {-# INLINE writeField #-}-        writeField = writeVkImageSubresource--instance {-# OVERLAPPING #-} HasVkImageOffset VkBufferImageCopy-         where-        type VkImageOffsetMType VkBufferImageCopy = VkOffset3D--        {-# NOINLINE vkImageOffset #-}-        vkImageOffset x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, imageOffset})--        {-# INLINE vkImageOffsetByteOffset #-}-        vkImageOffsetByteOffset ~_-          = #{offset VkBufferImageCopy, imageOffset}--        {-# INLINE readVkImageOffset #-}-        readVkImageOffset p-          = peekByteOff p #{offset VkBufferImageCopy, imageOffset}--        {-# INLINE writeVkImageOffset #-}-        writeVkImageOffset p-          = pokeByteOff p #{offset VkBufferImageCopy, imageOffset}+        writeField p+          = pokeByteOff p #{offset VkBufferImageCopy, imageSubresource}  instance {-# OVERLAPPING #-}          HasField "imageOffset" VkBufferImageCopy where@@ -301,37 +219,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferImageCopy, imageOffset} -instance CanReadField "imageOffset" VkBufferImageCopy where-        {-# INLINE getField #-}-        getField = vkImageOffset+instance {-# OVERLAPPING #-}+         CanReadField "imageOffset" VkBufferImageCopy where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, imageOffset})          {-# INLINE readField #-}-        readField = readVkImageOffset+        readField p+          = peekByteOff p #{offset VkBufferImageCopy, imageOffset} -instance CanWriteField "imageOffset" VkBufferImageCopy where+instance {-# OVERLAPPING #-}+         CanWriteField "imageOffset" VkBufferImageCopy where         {-# INLINE writeField #-}-        writeField = writeVkImageOffset--instance {-# OVERLAPPING #-} HasVkImageExtent VkBufferImageCopy-         where-        type VkImageExtentMType VkBufferImageCopy = VkExtent3D--        {-# NOINLINE vkImageExtent #-}-        vkImageExtent x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, imageExtent})--        {-# INLINE vkImageExtentByteOffset #-}-        vkImageExtentByteOffset ~_-          = #{offset VkBufferImageCopy, imageExtent}--        {-# INLINE readVkImageExtent #-}-        readVkImageExtent p-          = peekByteOff p #{offset VkBufferImageCopy, imageExtent}--        {-# INLINE writeVkImageExtent #-}-        writeVkImageExtent p-          = pokeByteOff p #{offset VkBufferImageCopy, imageExtent}+        writeField p+          = pokeByteOff p #{offset VkBufferImageCopy, imageOffset}  instance {-# OVERLAPPING #-}          HasField "imageExtent" VkBufferImageCopy where@@ -347,34 +250,40 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferImageCopy, imageExtent} -instance CanReadField "imageExtent" VkBufferImageCopy where-        {-# INLINE getField #-}-        getField = vkImageExtent+instance {-# OVERLAPPING #-}+         CanReadField "imageExtent" VkBufferImageCopy where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, imageExtent})          {-# INLINE readField #-}-        readField = readVkImageExtent+        readField p+          = peekByteOff p #{offset VkBufferImageCopy, imageExtent} -instance CanWriteField "imageExtent" VkBufferImageCopy where+instance {-# OVERLAPPING #-}+         CanWriteField "imageExtent" VkBufferImageCopy where         {-# INLINE writeField #-}-        writeField = writeVkImageExtent+        writeField p+          = pokeByteOff p #{offset VkBufferImageCopy, imageExtent}  instance Show VkBufferImageCopy where         showsPrec d x           = showString "VkBufferImageCopy {" .-              showString "vkBufferOffset = " .-                showsPrec d (vkBufferOffset x) .+              showString "bufferOffset = " .+                showsPrec d (getField @"bufferOffset" x) .                   showString ", " .-                    showString "vkBufferRowLength = " .-                      showsPrec d (vkBufferRowLength x) .+                    showString "bufferRowLength = " .+                      showsPrec d (getField @"bufferRowLength" x) .                         showString ", " .-                          showString "vkBufferImageHeight = " .-                            showsPrec d (vkBufferImageHeight x) .+                          showString "bufferImageHeight = " .+                            showsPrec d (getField @"bufferImageHeight" x) .                               showString ", " .-                                showString "vkImageSubresource = " .-                                  showsPrec d (vkImageSubresource x) .+                                showString "imageSubresource = " .+                                  showsPrec d (getField @"imageSubresource" x) .                                     showString ", " .-                                      showString "vkImageOffset = " .-                                        showsPrec d (vkImageOffset x) .+                                      showString "imageOffset = " .+                                        showsPrec d (getField @"imageOffset" x) .                                           showString ", " .-                                            showString "vkImageExtent = " .-                                              showsPrec d (vkImageExtent x) . showChar '}'+                                            showString "imageExtent = " .+                                              showsPrec d (getField @"imageExtent" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkBufferMemoryBarrier.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkBufferMemoryBarrier        (VkBufferMemoryBarrier(..)) where@@ -16,7 +17,6 @@ import           Graphics.Vulkan.Types.Enum.VkAccessFlags   (VkAccessFlags) import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType) import           Graphics.Vulkan.Types.Handles              (VkBuffer)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                           (unsafeDupablePerformIO)  -- | > typedef struct VkBufferMemoryBarrier {@@ -31,7 +31,7 @@ --   >     VkDeviceSize           size; --   > } VkBufferMemoryBarrier; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkBufferMemoryBarrier.html VkBufferMemoryBarrier registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkBufferMemoryBarrier.html VkBufferMemoryBarrier registry at www.khronos.org> data VkBufferMemoryBarrier = VkBufferMemoryBarrier## Addr##                                                     ByteArray## @@ -82,26 +82,6 @@         type ReturnedOnly VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs         type StructExtends VkBufferMemoryBarrier = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSType VkBufferMemoryBarrier where-        type VkSTypeMType VkBufferMemoryBarrier = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkBufferMemoryBarrier, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkBufferMemoryBarrier, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkBufferMemoryBarrier, sType}- instance {-# OVERLAPPING #-} HasField "sType" VkBufferMemoryBarrier          where         type FieldType "sType" VkBufferMemoryBarrier = VkStructureType@@ -116,36 +96,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferMemoryBarrier, sType} -instance CanReadField "sType" VkBufferMemoryBarrier where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-}+         CanReadField "sType" VkBufferMemoryBarrier where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkBufferMemoryBarrier, sType} -instance CanWriteField "sType" VkBufferMemoryBarrier where+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkBufferMemoryBarrier where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkBufferMemoryBarrier where-        type VkPNextMType VkBufferMemoryBarrier = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkBufferMemoryBarrier, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkBufferMemoryBarrier, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkBufferMemoryBarrier, pNext}+        writeField p+          = pokeByteOff p #{offset VkBufferMemoryBarrier, sType}  instance {-# OVERLAPPING #-} HasField "pNext" VkBufferMemoryBarrier          where@@ -161,37 +127,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferMemoryBarrier, pNext} -instance CanReadField "pNext" VkBufferMemoryBarrier where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkBufferMemoryBarrier where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkSrcAccessMask VkBufferMemoryBarrier where-        type VkSrcAccessMaskMType VkBufferMemoryBarrier = VkAccessFlags--        {-# NOINLINE vkSrcAccessMask #-}-        vkSrcAccessMask x+         CanReadField "pNext" VkBufferMemoryBarrier where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, srcAccessMask})--        {-# INLINE vkSrcAccessMaskByteOffset #-}-        vkSrcAccessMaskByteOffset ~_-          = #{offset VkBufferMemoryBarrier, srcAccessMask}+              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, pNext}) -        {-# INLINE readVkSrcAccessMask #-}-        readVkSrcAccessMask p-          = peekByteOff p #{offset VkBufferMemoryBarrier, srcAccessMask}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBufferMemoryBarrier, pNext} -        {-# INLINE writeVkSrcAccessMask #-}-        writeVkSrcAccessMask p-          = pokeByteOff p #{offset VkBufferMemoryBarrier, srcAccessMask}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkBufferMemoryBarrier where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBufferMemoryBarrier, pNext}  instance {-# OVERLAPPING #-}          HasField "srcAccessMask" VkBufferMemoryBarrier where@@ -209,37 +160,22 @@         fieldOffset           = #{offset VkBufferMemoryBarrier, srcAccessMask} -instance CanReadField "srcAccessMask" VkBufferMemoryBarrier where-        {-# INLINE getField #-}-        getField = vkSrcAccessMask--        {-# INLINE readField #-}-        readField = readVkSrcAccessMask--instance CanWriteField "srcAccessMask" VkBufferMemoryBarrier where-        {-# INLINE writeField #-}-        writeField = writeVkSrcAccessMask- instance {-# OVERLAPPING #-}-         HasVkDstAccessMask VkBufferMemoryBarrier where-        type VkDstAccessMaskMType VkBufferMemoryBarrier = VkAccessFlags--        {-# NOINLINE vkDstAccessMask #-}-        vkDstAccessMask x+         CanReadField "srcAccessMask" VkBufferMemoryBarrier where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, dstAccessMask})--        {-# INLINE vkDstAccessMaskByteOffset #-}-        vkDstAccessMaskByteOffset ~_-          = #{offset VkBufferMemoryBarrier, dstAccessMask}+              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, srcAccessMask}) -        {-# INLINE readVkDstAccessMask #-}-        readVkDstAccessMask p-          = peekByteOff p #{offset VkBufferMemoryBarrier, dstAccessMask}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBufferMemoryBarrier, srcAccessMask} -        {-# INLINE writeVkDstAccessMask #-}-        writeVkDstAccessMask p-          = pokeByteOff p #{offset VkBufferMemoryBarrier, dstAccessMask}+instance {-# OVERLAPPING #-}+         CanWriteField "srcAccessMask" VkBufferMemoryBarrier where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBufferMemoryBarrier, srcAccessMask}  instance {-# OVERLAPPING #-}          HasField "dstAccessMask" VkBufferMemoryBarrier where@@ -257,37 +193,22 @@         fieldOffset           = #{offset VkBufferMemoryBarrier, dstAccessMask} -instance CanReadField "dstAccessMask" VkBufferMemoryBarrier where-        {-# INLINE getField #-}-        getField = vkDstAccessMask--        {-# INLINE readField #-}-        readField = readVkDstAccessMask--instance CanWriteField "dstAccessMask" VkBufferMemoryBarrier where-        {-# INLINE writeField #-}-        writeField = writeVkDstAccessMask- instance {-# OVERLAPPING #-}-         HasVkSrcQueueFamilyIndex VkBufferMemoryBarrier where-        type VkSrcQueueFamilyIndexMType VkBufferMemoryBarrier = Word32--        {-# NOINLINE vkSrcQueueFamilyIndex #-}-        vkSrcQueueFamilyIndex x+         CanReadField "dstAccessMask" VkBufferMemoryBarrier where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex})--        {-# INLINE vkSrcQueueFamilyIndexByteOffset #-}-        vkSrcQueueFamilyIndexByteOffset ~_-          = #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex}+              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, dstAccessMask}) -        {-# INLINE readVkSrcQueueFamilyIndex #-}-        readVkSrcQueueFamilyIndex p-          = peekByteOff p #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBufferMemoryBarrier, dstAccessMask} -        {-# INLINE writeVkSrcQueueFamilyIndex #-}-        writeVkSrcQueueFamilyIndex p-          = pokeByteOff p #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex}+instance {-# OVERLAPPING #-}+         CanWriteField "dstAccessMask" VkBufferMemoryBarrier where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBufferMemoryBarrier, dstAccessMask}  instance {-# OVERLAPPING #-}          HasField "srcQueueFamilyIndex" VkBufferMemoryBarrier where@@ -306,39 +227,22 @@         fieldOffset           = #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex} -instance CanReadField "srcQueueFamilyIndex" VkBufferMemoryBarrier-         where-        {-# INLINE getField #-}-        getField = vkSrcQueueFamilyIndex--        {-# INLINE readField #-}-        readField = readVkSrcQueueFamilyIndex--instance CanWriteField "srcQueueFamilyIndex" VkBufferMemoryBarrier-         where-        {-# INLINE writeField #-}-        writeField = writeVkSrcQueueFamilyIndex- instance {-# OVERLAPPING #-}-         HasVkDstQueueFamilyIndex VkBufferMemoryBarrier where-        type VkDstQueueFamilyIndexMType VkBufferMemoryBarrier = Word32--        {-# NOINLINE vkDstQueueFamilyIndex #-}-        vkDstQueueFamilyIndex x+         CanReadField "srcQueueFamilyIndex" VkBufferMemoryBarrier where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex})--        {-# INLINE vkDstQueueFamilyIndexByteOffset #-}-        vkDstQueueFamilyIndexByteOffset ~_-          = #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex}+              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex}) -        {-# INLINE readVkDstQueueFamilyIndex #-}-        readVkDstQueueFamilyIndex p-          = peekByteOff p #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex} -        {-# INLINE writeVkDstQueueFamilyIndex #-}-        writeVkDstQueueFamilyIndex p-          = pokeByteOff p #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex}+instance {-# OVERLAPPING #-}+         CanWriteField "srcQueueFamilyIndex" VkBufferMemoryBarrier where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex}  instance {-# OVERLAPPING #-}          HasField "dstQueueFamilyIndex" VkBufferMemoryBarrier where@@ -357,39 +261,22 @@         fieldOffset           = #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex} -instance CanReadField "dstQueueFamilyIndex" VkBufferMemoryBarrier-         where-        {-# INLINE getField #-}-        getField = vkDstQueueFamilyIndex+instance {-# OVERLAPPING #-}+         CanReadField "dstQueueFamilyIndex" VkBufferMemoryBarrier where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex})          {-# INLINE readField #-}-        readField = readVkDstQueueFamilyIndex+        readField p+          = peekByteOff p #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex} -instance CanWriteField "dstQueueFamilyIndex" VkBufferMemoryBarrier-         where+instance {-# OVERLAPPING #-}+         CanWriteField "dstQueueFamilyIndex" VkBufferMemoryBarrier where         {-# INLINE writeField #-}-        writeField = writeVkDstQueueFamilyIndex--instance {-# OVERLAPPING #-} HasVkBuffer VkBufferMemoryBarrier-         where-        type VkBufferMType VkBufferMemoryBarrier = VkBuffer--        {-# NOINLINE vkBuffer #-}-        vkBuffer x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, buffer})--        {-# INLINE vkBufferByteOffset #-}-        vkBufferByteOffset ~_-          = #{offset VkBufferMemoryBarrier, buffer}--        {-# INLINE readVkBuffer #-}-        readVkBuffer p-          = peekByteOff p #{offset VkBufferMemoryBarrier, buffer}--        {-# INLINE writeVkBuffer #-}-        writeVkBuffer p-          = pokeByteOff p #{offset VkBufferMemoryBarrier, buffer}+        writeField p+          = pokeByteOff p #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex}  instance {-# OVERLAPPING #-}          HasField "buffer" VkBufferMemoryBarrier where@@ -405,37 +292,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferMemoryBarrier, buffer} -instance CanReadField "buffer" VkBufferMemoryBarrier where-        {-# INLINE getField #-}-        getField = vkBuffer+instance {-# OVERLAPPING #-}+         CanReadField "buffer" VkBufferMemoryBarrier where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, buffer})          {-# INLINE readField #-}-        readField = readVkBuffer+        readField p+          = peekByteOff p #{offset VkBufferMemoryBarrier, buffer} -instance CanWriteField "buffer" VkBufferMemoryBarrier where+instance {-# OVERLAPPING #-}+         CanWriteField "buffer" VkBufferMemoryBarrier where         {-# INLINE writeField #-}-        writeField = writeVkBuffer--instance {-# OVERLAPPING #-} HasVkOffset VkBufferMemoryBarrier-         where-        type VkOffsetMType VkBufferMemoryBarrier = VkDeviceSize--        {-# NOINLINE vkOffset #-}-        vkOffset x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, offset})--        {-# INLINE vkOffsetByteOffset #-}-        vkOffsetByteOffset ~_-          = #{offset VkBufferMemoryBarrier, offset}--        {-# INLINE readVkOffset #-}-        readVkOffset p-          = peekByteOff p #{offset VkBufferMemoryBarrier, offset}--        {-# INLINE writeVkOffset #-}-        writeVkOffset p-          = pokeByteOff p #{offset VkBufferMemoryBarrier, offset}+        writeField p+          = pokeByteOff p #{offset VkBufferMemoryBarrier, buffer}  instance {-# OVERLAPPING #-}          HasField "offset" VkBufferMemoryBarrier where@@ -451,36 +323,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferMemoryBarrier, offset} -instance CanReadField "offset" VkBufferMemoryBarrier where-        {-# INLINE getField #-}-        getField = vkOffset+instance {-# OVERLAPPING #-}+         CanReadField "offset" VkBufferMemoryBarrier where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, offset})          {-# INLINE readField #-}-        readField = readVkOffset+        readField p+          = peekByteOff p #{offset VkBufferMemoryBarrier, offset} -instance CanWriteField "offset" VkBufferMemoryBarrier where+instance {-# OVERLAPPING #-}+         CanWriteField "offset" VkBufferMemoryBarrier where         {-# INLINE writeField #-}-        writeField = writeVkOffset--instance {-# OVERLAPPING #-} HasVkSize VkBufferMemoryBarrier where-        type VkSizeMType VkBufferMemoryBarrier = VkDeviceSize--        {-# NOINLINE vkSize #-}-        vkSize x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, size})--        {-# INLINE vkSizeByteOffset #-}-        vkSizeByteOffset ~_-          = #{offset VkBufferMemoryBarrier, size}--        {-# INLINE readVkSize #-}-        readVkSize p-          = peekByteOff p #{offset VkBufferMemoryBarrier, size}--        {-# INLINE writeVkSize #-}-        writeVkSize p-          = pokeByteOff p #{offset VkBufferMemoryBarrier, size}+        writeField p+          = pokeByteOff p #{offset VkBufferMemoryBarrier, offset}  instance {-# OVERLAPPING #-} HasField "size" VkBufferMemoryBarrier          where@@ -496,44 +354,50 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferMemoryBarrier, size} -instance CanReadField "size" VkBufferMemoryBarrier where-        {-# INLINE getField #-}-        getField = vkSize+instance {-# OVERLAPPING #-}+         CanReadField "size" VkBufferMemoryBarrier where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, size})          {-# INLINE readField #-}-        readField = readVkSize+        readField p+          = peekByteOff p #{offset VkBufferMemoryBarrier, size} -instance CanWriteField "size" VkBufferMemoryBarrier where+instance {-# OVERLAPPING #-}+         CanWriteField "size" VkBufferMemoryBarrier where         {-# INLINE writeField #-}-        writeField = writeVkSize+        writeField p+          = pokeByteOff p #{offset VkBufferMemoryBarrier, size}  instance Show VkBufferMemoryBarrier where         showsPrec d x           = showString "VkBufferMemoryBarrier {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkSrcAccessMask = " .-                            showsPrec d (vkSrcAccessMask x) .+                          showString "srcAccessMask = " .+                            showsPrec d (getField @"srcAccessMask" x) .                               showString ", " .-                                showString "vkDstAccessMask = " .-                                  showsPrec d (vkDstAccessMask x) .+                                showString "dstAccessMask = " .+                                  showsPrec d (getField @"dstAccessMask" x) .                                     showString ", " .-                                      showString "vkSrcQueueFamilyIndex = " .-                                        showsPrec d (vkSrcQueueFamilyIndex x) .+                                      showString "srcQueueFamilyIndex = " .+                                        showsPrec d (getField @"srcQueueFamilyIndex" x) .                                           showString ", " .-                                            showString "vkDstQueueFamilyIndex = " .-                                              showsPrec d (vkDstQueueFamilyIndex x) .+                                            showString "dstQueueFamilyIndex = " .+                                              showsPrec d (getField @"dstQueueFamilyIndex" x) .                                                 showString ", " .-                                                  showString "vkBuffer = " .-                                                    showsPrec d (vkBuffer x) .+                                                  showString "buffer = " .+                                                    showsPrec d (getField @"buffer" x) .                                                       showString ", " .-                                                        showString "vkOffset = " .-                                                          showsPrec d (vkOffset x) .+                                                        showString "offset = " .+                                                          showsPrec d (getField @"offset" x) .                                                             showString ", " .-                                                              showString "vkSize = " .-                                                                showsPrec d (vkSize x) .+                                                              showString "size = " .+                                                                showsPrec d (getField @"size" x) .                                                                   showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkBufferMemoryRequirementsInfo2.hsc view
@@ -0,0 +1,187 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkBufferMemoryRequirementsInfo2+       (VkBufferMemoryRequirementsInfo2(..)) where+import           Foreign.Storable                           (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)+import           Graphics.Vulkan.Types.Handles              (VkBuffer)+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkBufferMemoryRequirementsInfo2 {+--   >     VkStructureType sType;+--   >     const void*                                                          pNext;+--   >     VkBuffer                                                             buffer;+--   > } VkBufferMemoryRequirementsInfo2;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkBufferMemoryRequirementsInfo2.html VkBufferMemoryRequirementsInfo2 registry at www.khronos.org>+data VkBufferMemoryRequirementsInfo2 = VkBufferMemoryRequirementsInfo2## Addr##+                                                                        ByteArray##++instance Eq VkBufferMemoryRequirementsInfo2 where+        (VkBufferMemoryRequirementsInfo2## a _) ==+          x@(VkBufferMemoryRequirementsInfo2## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkBufferMemoryRequirementsInfo2 where+        (VkBufferMemoryRequirementsInfo2## a _) `compare`+          x@(VkBufferMemoryRequirementsInfo2## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkBufferMemoryRequirementsInfo2 where+        sizeOf ~_ = #{size VkBufferMemoryRequirementsInfo2}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkBufferMemoryRequirementsInfo2}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkBufferMemoryRequirementsInfo2 where+        unsafeAddr (VkBufferMemoryRequirementsInfo2## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkBufferMemoryRequirementsInfo2## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkBufferMemoryRequirementsInfo2##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBufferMemoryRequirementsInfo2 where+        type StructFields VkBufferMemoryRequirementsInfo2 =+             '["sType", "pNext", "buffer"] -- ' closing tick for hsc2hs+        type CUnionType VkBufferMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkBufferMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs+        type StructExtends VkBufferMemoryRequirementsInfo2 = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkBufferMemoryRequirementsInfo2 where+        type FieldType "sType" VkBufferMemoryRequirementsInfo2 =+             VkStructureType+        type FieldOptional "sType" VkBufferMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkBufferMemoryRequirementsInfo2 =+             #{offset VkBufferMemoryRequirementsInfo2, sType}+        type FieldIsArray "sType" VkBufferMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBufferMemoryRequirementsInfo2, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkBufferMemoryRequirementsInfo2 where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryRequirementsInfo2, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBufferMemoryRequirementsInfo2, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkBufferMemoryRequirementsInfo2 where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBufferMemoryRequirementsInfo2, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkBufferMemoryRequirementsInfo2 where+        type FieldType "pNext" VkBufferMemoryRequirementsInfo2 = Ptr Void+        type FieldOptional "pNext" VkBufferMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkBufferMemoryRequirementsInfo2 =+             #{offset VkBufferMemoryRequirementsInfo2, pNext}+        type FieldIsArray "pNext" VkBufferMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBufferMemoryRequirementsInfo2, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkBufferMemoryRequirementsInfo2 where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryRequirementsInfo2, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBufferMemoryRequirementsInfo2, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkBufferMemoryRequirementsInfo2 where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBufferMemoryRequirementsInfo2, pNext}++instance {-# OVERLAPPING #-}+         HasField "buffer" VkBufferMemoryRequirementsInfo2 where+        type FieldType "buffer" VkBufferMemoryRequirementsInfo2 = VkBuffer+        type FieldOptional "buffer" VkBufferMemoryRequirementsInfo2 =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "buffer" VkBufferMemoryRequirementsInfo2 =+             #{offset VkBufferMemoryRequirementsInfo2, buffer}+        type FieldIsArray "buffer" VkBufferMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBufferMemoryRequirementsInfo2, buffer}++instance {-# OVERLAPPING #-}+         CanReadField "buffer" VkBufferMemoryRequirementsInfo2 where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryRequirementsInfo2, buffer})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkBufferMemoryRequirementsInfo2, buffer}++instance {-# OVERLAPPING #-}+         CanWriteField "buffer" VkBufferMemoryRequirementsInfo2 where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkBufferMemoryRequirementsInfo2, buffer}++instance Show VkBufferMemoryRequirementsInfo2 where+        showsPrec d x+          = showString "VkBufferMemoryRequirementsInfo2 {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "buffer = " .+                            showsPrec d (getField @"buffer" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkBufferMemoryRequirementsInfo2KHR.hs view
@@ -0,0 +1,11 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Struct.VkBufferMemoryRequirementsInfo2KHR+       (VkBufferMemoryRequirementsInfo2(..),+        VkBufferMemoryRequirementsInfo2KHR)+       where+import           Graphics.Vulkan.Types.Struct.VkBufferMemoryRequirementsInfo2 (VkBufferMemoryRequirementsInfo2 (..))++-- | Alias for `VkBufferMemoryRequirementsInfo2`+type VkBufferMemoryRequirementsInfo2KHR =+     VkBufferMemoryRequirementsInfo2
− src-gen/Graphics/Vulkan/Types/Struct/VkBufferMemoryRequirementsInfo2KHR.hsc
@@ -1,246 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkBufferMemoryRequirementsInfo2KHR-       (VkBufferMemoryRequirementsInfo2KHR(..)) where-import           Foreign.Storable                           (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)-import           Graphics.Vulkan.Types.Handles              (VkBuffer)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                           (unsafeDupablePerformIO)---- | > typedef struct VkBufferMemoryRequirementsInfo2KHR {---   >     VkStructureType sType;---   >     const void*                                                          pNext;---   >     VkBuffer                                                             buffer;---   > } VkBufferMemoryRequirementsInfo2KHR;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkBufferMemoryRequirementsInfo2KHR.html VkBufferMemoryRequirementsInfo2KHR registry at www.khronos.org>-data VkBufferMemoryRequirementsInfo2KHR = VkBufferMemoryRequirementsInfo2KHR## Addr##-                                                                              ByteArray##--instance Eq VkBufferMemoryRequirementsInfo2KHR where-        (VkBufferMemoryRequirementsInfo2KHR## a _) ==-          x@(VkBufferMemoryRequirementsInfo2KHR## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkBufferMemoryRequirementsInfo2KHR where-        (VkBufferMemoryRequirementsInfo2KHR## a _) `compare`-          x@(VkBufferMemoryRequirementsInfo2KHR## b _)-          = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkBufferMemoryRequirementsInfo2KHR where-        sizeOf ~_ = #{size VkBufferMemoryRequirementsInfo2KHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkBufferMemoryRequirementsInfo2KHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkBufferMemoryRequirementsInfo2KHR where-        unsafeAddr (VkBufferMemoryRequirementsInfo2KHR## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkBufferMemoryRequirementsInfo2KHR## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkBufferMemoryRequirementsInfo2KHR##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkBufferMemoryRequirementsInfo2KHR where-        type StructFields VkBufferMemoryRequirementsInfo2KHR =-             '["sType", "pNext", "buffer"] -- ' closing tick for hsc2hs-        type CUnionType VkBufferMemoryRequirementsInfo2KHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkBufferMemoryRequirementsInfo2KHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkBufferMemoryRequirementsInfo2KHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasVkSType VkBufferMemoryRequirementsInfo2KHR where-        type VkSTypeMType VkBufferMemoryRequirementsInfo2KHR =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryRequirementsInfo2KHR, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkBufferMemoryRequirementsInfo2KHR, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkBufferMemoryRequirementsInfo2KHR, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkBufferMemoryRequirementsInfo2KHR, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkBufferMemoryRequirementsInfo2KHR where-        type FieldType "sType" VkBufferMemoryRequirementsInfo2KHR =-             VkStructureType-        type FieldOptional "sType" VkBufferMemoryRequirementsInfo2KHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkBufferMemoryRequirementsInfo2KHR =-             #{offset VkBufferMemoryRequirementsInfo2KHR, sType}-        type FieldIsArray "sType" VkBufferMemoryRequirementsInfo2KHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBufferMemoryRequirementsInfo2KHR, sType}--instance CanReadField "sType" VkBufferMemoryRequirementsInfo2KHR-         where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkBufferMemoryRequirementsInfo2KHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-}-         HasVkPNext VkBufferMemoryRequirementsInfo2KHR where-        type VkPNextMType VkBufferMemoryRequirementsInfo2KHR = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryRequirementsInfo2KHR, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkBufferMemoryRequirementsInfo2KHR, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkBufferMemoryRequirementsInfo2KHR, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkBufferMemoryRequirementsInfo2KHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkBufferMemoryRequirementsInfo2KHR where-        type FieldType "pNext" VkBufferMemoryRequirementsInfo2KHR =-             Ptr Void-        type FieldOptional "pNext" VkBufferMemoryRequirementsInfo2KHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkBufferMemoryRequirementsInfo2KHR =-             #{offset VkBufferMemoryRequirementsInfo2KHR, pNext}-        type FieldIsArray "pNext" VkBufferMemoryRequirementsInfo2KHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBufferMemoryRequirementsInfo2KHR, pNext}--instance CanReadField "pNext" VkBufferMemoryRequirementsInfo2KHR-         where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkBufferMemoryRequirementsInfo2KHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-}-         HasVkBuffer VkBufferMemoryRequirementsInfo2KHR where-        type VkBufferMType VkBufferMemoryRequirementsInfo2KHR = VkBuffer--        {-# NOINLINE vkBuffer #-}-        vkBuffer x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryRequirementsInfo2KHR, buffer})--        {-# INLINE vkBufferByteOffset #-}-        vkBufferByteOffset ~_-          = #{offset VkBufferMemoryRequirementsInfo2KHR, buffer}--        {-# INLINE readVkBuffer #-}-        readVkBuffer p-          = peekByteOff p #{offset VkBufferMemoryRequirementsInfo2KHR, buffer}--        {-# INLINE writeVkBuffer #-}-        writeVkBuffer p-          = pokeByteOff p #{offset VkBufferMemoryRequirementsInfo2KHR, buffer}--instance {-# OVERLAPPING #-}-         HasField "buffer" VkBufferMemoryRequirementsInfo2KHR where-        type FieldType "buffer" VkBufferMemoryRequirementsInfo2KHR =-             VkBuffer-        type FieldOptional "buffer" VkBufferMemoryRequirementsInfo2KHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "buffer" VkBufferMemoryRequirementsInfo2KHR =-             #{offset VkBufferMemoryRequirementsInfo2KHR, buffer}-        type FieldIsArray "buffer" VkBufferMemoryRequirementsInfo2KHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkBufferMemoryRequirementsInfo2KHR, buffer}--instance CanReadField "buffer" VkBufferMemoryRequirementsInfo2KHR-         where-        {-# INLINE getField #-}-        getField = vkBuffer--        {-# INLINE readField #-}-        readField = readVkBuffer--instance CanWriteField "buffer" VkBufferMemoryRequirementsInfo2KHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkBuffer--instance Show VkBufferMemoryRequirementsInfo2KHR where-        showsPrec d x-          = showString "VkBufferMemoryRequirementsInfo2KHR {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkBuffer = " . showsPrec d (vkBuffer x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkBufferViewCreateInfo.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkBufferViewCreateInfo        (VkBufferViewCreateInfo(..)) where@@ -17,7 +18,6 @@ import           Graphics.Vulkan.Types.Enum.VkFormat        (VkFormat) import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType) import           Graphics.Vulkan.Types.Handles              (VkBuffer)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                           (unsafeDupablePerformIO)  -- | > typedef struct VkBufferViewCreateInfo {@@ -30,7 +30,7 @@ --   >     VkDeviceSize           range; --   > } VkBufferViewCreateInfo; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkBufferViewCreateInfo.html VkBufferViewCreateInfo registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkBufferViewCreateInfo.html VkBufferViewCreateInfo registry at www.khronos.org> data VkBufferViewCreateInfo = VkBufferViewCreateInfo## Addr##                                                       ByteArray## @@ -79,27 +79,6 @@         type ReturnedOnly VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs         type StructExtends VkBufferViewCreateInfo = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSType VkBufferViewCreateInfo-         where-        type VkSTypeMType VkBufferViewCreateInfo = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkBufferViewCreateInfo, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkBufferViewCreateInfo, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkBufferViewCreateInfo, sType}- instance {-# OVERLAPPING #-}          HasField "sType" VkBufferViewCreateInfo where         type FieldType "sType" VkBufferViewCreateInfo = VkStructureType@@ -114,37 +93,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferViewCreateInfo, sType} -instance CanReadField "sType" VkBufferViewCreateInfo where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-}+         CanReadField "sType" VkBufferViewCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkBufferViewCreateInfo, sType} -instance CanWriteField "sType" VkBufferViewCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkBufferViewCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkBufferViewCreateInfo-         where-        type VkPNextMType VkBufferViewCreateInfo = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkBufferViewCreateInfo, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkBufferViewCreateInfo, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkBufferViewCreateInfo, pNext}+        writeField p+          = pokeByteOff p #{offset VkBufferViewCreateInfo, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkBufferViewCreateInfo where@@ -160,37 +124,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferViewCreateInfo, pNext} -instance CanReadField "pNext" VkBufferViewCreateInfo where-        {-# INLINE getField #-}-        getField = vkPNext+instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkBufferViewCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, pNext})          {-# INLINE readField #-}-        readField = readVkPNext+        readField p+          = peekByteOff p #{offset VkBufferViewCreateInfo, pNext} -instance CanWriteField "pNext" VkBufferViewCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkBufferViewCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-} HasVkFlags VkBufferViewCreateInfo-         where-        type VkFlagsMType VkBufferViewCreateInfo = VkBufferViewCreateFlags--        {-# NOINLINE vkFlags #-}-        vkFlags x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, flags})--        {-# INLINE vkFlagsByteOffset #-}-        vkFlagsByteOffset ~_-          = #{offset VkBufferViewCreateInfo, flags}--        {-# INLINE readVkFlags #-}-        readVkFlags p-          = peekByteOff p #{offset VkBufferViewCreateInfo, flags}--        {-# INLINE writeVkFlags #-}-        writeVkFlags p-          = pokeByteOff p #{offset VkBufferViewCreateInfo, flags}+        writeField p+          = pokeByteOff p #{offset VkBufferViewCreateInfo, pNext}  instance {-# OVERLAPPING #-}          HasField "flags" VkBufferViewCreateInfo where@@ -207,37 +156,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferViewCreateInfo, flags} -instance CanReadField "flags" VkBufferViewCreateInfo where-        {-# INLINE getField #-}-        getField = vkFlags+instance {-# OVERLAPPING #-}+         CanReadField "flags" VkBufferViewCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, flags})          {-# INLINE readField #-}-        readField = readVkFlags+        readField p+          = peekByteOff p #{offset VkBufferViewCreateInfo, flags} -instance CanWriteField "flags" VkBufferViewCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "flags" VkBufferViewCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkFlags--instance {-# OVERLAPPING #-} HasVkBuffer VkBufferViewCreateInfo-         where-        type VkBufferMType VkBufferViewCreateInfo = VkBuffer--        {-# NOINLINE vkBuffer #-}-        vkBuffer x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, buffer})--        {-# INLINE vkBufferByteOffset #-}-        vkBufferByteOffset ~_-          = #{offset VkBufferViewCreateInfo, buffer}--        {-# INLINE readVkBuffer #-}-        readVkBuffer p-          = peekByteOff p #{offset VkBufferViewCreateInfo, buffer}--        {-# INLINE writeVkBuffer #-}-        writeVkBuffer p-          = pokeByteOff p #{offset VkBufferViewCreateInfo, buffer}+        writeField p+          = pokeByteOff p #{offset VkBufferViewCreateInfo, flags}  instance {-# OVERLAPPING #-}          HasField "buffer" VkBufferViewCreateInfo where@@ -253,37 +187,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferViewCreateInfo, buffer} -instance CanReadField "buffer" VkBufferViewCreateInfo where-        {-# INLINE getField #-}-        getField = vkBuffer+instance {-# OVERLAPPING #-}+         CanReadField "buffer" VkBufferViewCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, buffer})          {-# INLINE readField #-}-        readField = readVkBuffer+        readField p+          = peekByteOff p #{offset VkBufferViewCreateInfo, buffer} -instance CanWriteField "buffer" VkBufferViewCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "buffer" VkBufferViewCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkBuffer--instance {-# OVERLAPPING #-} HasVkFormat VkBufferViewCreateInfo-         where-        type VkFormatMType VkBufferViewCreateInfo = VkFormat--        {-# NOINLINE vkFormat #-}-        vkFormat x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, format})--        {-# INLINE vkFormatByteOffset #-}-        vkFormatByteOffset ~_-          = #{offset VkBufferViewCreateInfo, format}--        {-# INLINE readVkFormat #-}-        readVkFormat p-          = peekByteOff p #{offset VkBufferViewCreateInfo, format}--        {-# INLINE writeVkFormat #-}-        writeVkFormat p-          = pokeByteOff p #{offset VkBufferViewCreateInfo, format}+        writeField p+          = pokeByteOff p #{offset VkBufferViewCreateInfo, buffer}  instance {-# OVERLAPPING #-}          HasField "format" VkBufferViewCreateInfo where@@ -299,37 +218,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferViewCreateInfo, format} -instance CanReadField "format" VkBufferViewCreateInfo where-        {-# INLINE getField #-}-        getField = vkFormat+instance {-# OVERLAPPING #-}+         CanReadField "format" VkBufferViewCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, format})          {-# INLINE readField #-}-        readField = readVkFormat+        readField p+          = peekByteOff p #{offset VkBufferViewCreateInfo, format} -instance CanWriteField "format" VkBufferViewCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "format" VkBufferViewCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkFormat--instance {-# OVERLAPPING #-} HasVkOffset VkBufferViewCreateInfo-         where-        type VkOffsetMType VkBufferViewCreateInfo = VkDeviceSize--        {-# NOINLINE vkOffset #-}-        vkOffset x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, offset})--        {-# INLINE vkOffsetByteOffset #-}-        vkOffsetByteOffset ~_-          = #{offset VkBufferViewCreateInfo, offset}--        {-# INLINE readVkOffset #-}-        readVkOffset p-          = peekByteOff p #{offset VkBufferViewCreateInfo, offset}--        {-# INLINE writeVkOffset #-}-        writeVkOffset p-          = pokeByteOff p #{offset VkBufferViewCreateInfo, offset}+        writeField p+          = pokeByteOff p #{offset VkBufferViewCreateInfo, format}  instance {-# OVERLAPPING #-}          HasField "offset" VkBufferViewCreateInfo where@@ -345,37 +249,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferViewCreateInfo, offset} -instance CanReadField "offset" VkBufferViewCreateInfo where-        {-# INLINE getField #-}-        getField = vkOffset+instance {-# OVERLAPPING #-}+         CanReadField "offset" VkBufferViewCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, offset})          {-# INLINE readField #-}-        readField = readVkOffset+        readField p+          = peekByteOff p #{offset VkBufferViewCreateInfo, offset} -instance CanWriteField "offset" VkBufferViewCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "offset" VkBufferViewCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkOffset--instance {-# OVERLAPPING #-} HasVkRange VkBufferViewCreateInfo-         where-        type VkRangeMType VkBufferViewCreateInfo = VkDeviceSize--        {-# NOINLINE vkRange #-}-        vkRange x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, range})--        {-# INLINE vkRangeByteOffset #-}-        vkRangeByteOffset ~_-          = #{offset VkBufferViewCreateInfo, range}--        {-# INLINE readVkRange #-}-        readVkRange p-          = peekByteOff p #{offset VkBufferViewCreateInfo, range}--        {-# INLINE writeVkRange #-}-        writeVkRange p-          = pokeByteOff p #{offset VkBufferViewCreateInfo, range}+        writeField p+          = pokeByteOff p #{offset VkBufferViewCreateInfo, offset}  instance {-# OVERLAPPING #-}          HasField "range" VkBufferViewCreateInfo where@@ -391,37 +280,43 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkBufferViewCreateInfo, range} -instance CanReadField "range" VkBufferViewCreateInfo where-        {-# INLINE getField #-}-        getField = vkRange+instance {-# OVERLAPPING #-}+         CanReadField "range" VkBufferViewCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, range})          {-# INLINE readField #-}-        readField = readVkRange+        readField p+          = peekByteOff p #{offset VkBufferViewCreateInfo, range} -instance CanWriteField "range" VkBufferViewCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "range" VkBufferViewCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkRange+        writeField p+          = pokeByteOff p #{offset VkBufferViewCreateInfo, range}  instance Show VkBufferViewCreateInfo where         showsPrec d x           = showString "VkBufferViewCreateInfo {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkFlags = " .-                            showsPrec d (vkFlags x) .+                          showString "flags = " .+                            showsPrec d (getField @"flags" x) .                               showString ", " .-                                showString "vkBuffer = " .-                                  showsPrec d (vkBuffer x) .+                                showString "buffer = " .+                                  showsPrec d (getField @"buffer" x) .                                     showString ", " .-                                      showString "vkFormat = " .-                                        showsPrec d (vkFormat x) .+                                      showString "format = " .+                                        showsPrec d (getField @"format" x) .                                           showString ", " .-                                            showString "vkOffset = " .-                                              showsPrec d (vkOffset x) .+                                            showString "offset = " .+                                              showsPrec d (getField @"offset" x) .                                                 showString ", " .-                                                  showString "vkRange = " .-                                                    showsPrec d (vkRange x) . showChar '}'+                                                  showString "range = " .+                                                    showsPrec d (getField @"range" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkClearAttachment.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkClearAttachment        (VkClearAttachment(..)) where@@ -14,7 +15,6 @@ import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.Enum.VkImageAspectFlags (VkImageAspectFlags) import           Graphics.Vulkan.Types.Struct.VkClearValue     (VkClearValue)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                              (unsafeDupablePerformIO)  -- | > typedef struct VkClearAttachment {@@ -23,7 +23,7 @@ --   >     VkClearValue           clearValue; --   > } VkClearAttachment; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkClearAttachment.html VkClearAttachment registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkClearAttachment.html VkClearAttachment registry at www.khronos.org> data VkClearAttachment = VkClearAttachment## Addr## ByteArray##  instance Eq VkClearAttachment where@@ -71,27 +71,6 @@         type ReturnedOnly VkClearAttachment = 'False -- ' closing tick for hsc2hs         type StructExtends VkClearAttachment = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkAspectMask VkClearAttachment-         where-        type VkAspectMaskMType VkClearAttachment = VkImageAspectFlags--        {-# NOINLINE vkAspectMask #-}-        vkAspectMask x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkClearAttachment, aspectMask})--        {-# INLINE vkAspectMaskByteOffset #-}-        vkAspectMaskByteOffset ~_-          = #{offset VkClearAttachment, aspectMask}--        {-# INLINE readVkAspectMask #-}-        readVkAspectMask p-          = peekByteOff p #{offset VkClearAttachment, aspectMask}--        {-# INLINE writeVkAspectMask #-}-        writeVkAspectMask p-          = pokeByteOff p #{offset VkClearAttachment, aspectMask}- instance {-# OVERLAPPING #-}          HasField "aspectMask" VkClearAttachment where         type FieldType "aspectMask" VkClearAttachment = VkImageAspectFlags@@ -106,37 +85,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkClearAttachment, aspectMask} -instance CanReadField "aspectMask" VkClearAttachment where-        {-# INLINE getField #-}-        getField = vkAspectMask+instance {-# OVERLAPPING #-}+         CanReadField "aspectMask" VkClearAttachment where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkClearAttachment, aspectMask})          {-# INLINE readField #-}-        readField = readVkAspectMask+        readField p+          = peekByteOff p #{offset VkClearAttachment, aspectMask} -instance CanWriteField "aspectMask" VkClearAttachment where+instance {-# OVERLAPPING #-}+         CanWriteField "aspectMask" VkClearAttachment where         {-# INLINE writeField #-}-        writeField = writeVkAspectMask--instance {-# OVERLAPPING #-} HasVkColorAttachment VkClearAttachment-         where-        type VkColorAttachmentMType VkClearAttachment = Word32--        {-# NOINLINE vkColorAttachment #-}-        vkColorAttachment x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkClearAttachment, colorAttachment})--        {-# INLINE vkColorAttachmentByteOffset #-}-        vkColorAttachmentByteOffset ~_-          = #{offset VkClearAttachment, colorAttachment}--        {-# INLINE readVkColorAttachment #-}-        readVkColorAttachment p-          = peekByteOff p #{offset VkClearAttachment, colorAttachment}--        {-# INLINE writeVkColorAttachment #-}-        writeVkColorAttachment p-          = pokeByteOff p #{offset VkClearAttachment, colorAttachment}+        writeField p+          = pokeByteOff p #{offset VkClearAttachment, aspectMask}  instance {-# OVERLAPPING #-}          HasField "colorAttachment" VkClearAttachment where@@ -153,37 +117,22 @@         fieldOffset           = #{offset VkClearAttachment, colorAttachment} -instance CanReadField "colorAttachment" VkClearAttachment where-        {-# INLINE getField #-}-        getField = vkColorAttachment+instance {-# OVERLAPPING #-}+         CanReadField "colorAttachment" VkClearAttachment where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkClearAttachment, colorAttachment})          {-# INLINE readField #-}-        readField = readVkColorAttachment+        readField p+          = peekByteOff p #{offset VkClearAttachment, colorAttachment} -instance CanWriteField "colorAttachment" VkClearAttachment where+instance {-# OVERLAPPING #-}+         CanWriteField "colorAttachment" VkClearAttachment where         {-# INLINE writeField #-}-        writeField = writeVkColorAttachment--instance {-# OVERLAPPING #-} HasVkClearValue VkClearAttachment-         where-        type VkClearValueMType VkClearAttachment = VkClearValue--        {-# NOINLINE vkClearValue #-}-        vkClearValue x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkClearAttachment, clearValue})--        {-# INLINE vkClearValueByteOffset #-}-        vkClearValueByteOffset ~_-          = #{offset VkClearAttachment, clearValue}--        {-# INLINE readVkClearValue #-}-        readVkClearValue p-          = peekByteOff p #{offset VkClearAttachment, clearValue}--        {-# INLINE writeVkClearValue #-}-        writeVkClearValue p-          = pokeByteOff p #{offset VkClearAttachment, clearValue}+        writeField p+          = pokeByteOff p #{offset VkClearAttachment, colorAttachment}  instance {-# OVERLAPPING #-}          HasField "clearValue" VkClearAttachment where@@ -199,25 +148,31 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkClearAttachment, clearValue} -instance CanReadField "clearValue" VkClearAttachment where-        {-# INLINE getField #-}-        getField = vkClearValue+instance {-# OVERLAPPING #-}+         CanReadField "clearValue" VkClearAttachment where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkClearAttachment, clearValue})          {-# INLINE readField #-}-        readField = readVkClearValue+        readField p+          = peekByteOff p #{offset VkClearAttachment, clearValue} -instance CanWriteField "clearValue" VkClearAttachment where+instance {-# OVERLAPPING #-}+         CanWriteField "clearValue" VkClearAttachment where         {-# INLINE writeField #-}-        writeField = writeVkClearValue+        writeField p+          = pokeByteOff p #{offset VkClearAttachment, clearValue}  instance Show VkClearAttachment where         showsPrec d x           = showString "VkClearAttachment {" .-              showString "vkAspectMask = " .-                showsPrec d (vkAspectMask x) .+              showString "aspectMask = " .+                showsPrec d (getField @"aspectMask" x) .                   showString ", " .-                    showString "vkColorAttachment = " .-                      showsPrec d (vkColorAttachment x) .+                    showString "colorAttachment = " .+                      showsPrec d (getField @"colorAttachment" x) .                         showString ", " .-                          showString "vkClearValue = " .-                            showsPrec d (vkClearValue x) . showChar '}'+                          showString "clearValue = " .+                            showsPrec d (getField @"clearValue" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkClearColorValue.hsc view
@@ -8,17 +8,17 @@ {-# LANGUAGE PatternSynonyms       #-} {-# LANGUAGE ScopedTypeVariables   #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} {-# LANGUAGE UndecidableInstances  #-} module Graphics.Vulkan.Types.Struct.VkClearColorValue        (VkClearColorValue(..)) where-import           Foreign.Storable                    (Storable (..))+import           Foreign.Storable                 (Storable (..)) import           GHC.Prim-import           GHC.TypeLits                        (KnownNat, natVal') -- ' closing tick for hsc2hs+import           GHC.TypeLits                     (KnownNat, natVal') -- ' closing tick for hsc2hs import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                    (unsafeDupablePerformIO)+import           System.IO.Unsafe                 (unsafeDupablePerformIO)  -- | // Union allowing specification of floating point, integer, or unsigned integer color data. Actual value selected is based on image/attachment being cleared. --@@ -28,7 +28,7 @@ --   >     uint32_t               uint32[4]; --   > } VkClearColorValue; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkClearColorValue.html VkClearColorValue registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkClearColorValue.html VkClearColorValue registry at www.khronos.org> data VkClearColorValue = VkClearColorValue## Addr## ByteArray##  instance Eq VkClearColorValue where@@ -76,34 +76,6 @@         type ReturnedOnly VkClearColorValue = 'False -- ' closing tick for hsc2hs         type StructExtends VkClearColorValue = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkFloat32Array VkClearColorValue-         where-        type VkFloat32ArrayMType VkClearColorValue =-             #{type float}--        {-# NOINLINE vkFloat32Array #-}-        vkFloat32Array x idx-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x)-                 (idx * sizeOf (undefined :: #{type float}) +-                    #{offset VkClearColorValue, float32}))--        {-# INLINE vkFloat32ArrayByteOffset #-}-        vkFloat32ArrayByteOffset ~_-          = #{offset VkClearColorValue, float32}--        {-# INLINE readVkFloat32Array #-}-        readVkFloat32Array p idx-          = peekByteOff p-              (idx * sizeOf (undefined :: #{type float}) +-                 #{offset VkClearColorValue, float32})--        {-# INLINE writeVkFloat32Array #-}-        writeVkFloat32Array p idx-          = pokeByteOff p-              (idx * sizeOf (undefined :: #{type float}) +-                 #{offset VkClearColorValue, float32})- instance {-# OVERLAPPING #-} HasField "float32" VkClearColorValue          where         type FieldType "float32" VkClearColorValue =@@ -119,8 +91,8 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkClearColorValue, float32} -instance (KnownNat idx,-          IndexInBounds "float32" idx VkClearColorValue) =>+instance {-# OVERLAPPING #-}+         (KnownNat idx, IndexInBounds "float32" idx VkClearColorValue) =>          CanReadFieldArray "float32" idx VkClearColorValue          where         {-# SPECIALISE instance@@ -140,16 +112,23 @@         fieldArrayLength = 4          {-# INLINE getFieldArray #-}-        getFieldArray x-          = vkFloat32Array x (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs+        getFieldArray = f+          where {-# NOINLINE f #-}+                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+                off+                  = #{offset VkClearColorValue, float32} ++                      sizeOf (undefined :: #{type float}) *+                        fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs          {-# INLINE readFieldArray #-}-        readFieldArray x-          = readVkFloat32Array x-              (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs+        readFieldArray p+          = peekByteOff p+              (#{offset VkClearColorValue, float32} ++                 sizeOf (undefined :: #{type float}) *+                   fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs -instance (KnownNat idx,-          IndexInBounds "float32" idx VkClearColorValue) =>+instance {-# OVERLAPPING #-}+         (KnownNat idx, IndexInBounds "float32" idx VkClearColorValue) =>          CanWriteFieldArray "float32" idx VkClearColorValue          where         {-# SPECIALISE instance@@ -165,36 +144,11 @@                        CanWriteFieldArray "float32" 3 VkClearColorValue #-}          {-# INLINE writeFieldArray #-}-        writeFieldArray x-          = writeVkFloat32Array x-              (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasVkInt32Array VkClearColorValue-         where-        type VkInt32ArrayMType VkClearColorValue = Int32--        {-# NOINLINE vkInt32Array #-}-        vkInt32Array x idx-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x)-                 (idx * sizeOf (undefined :: Int32) +-                    #{offset VkClearColorValue, int32}))--        {-# INLINE vkInt32ArrayByteOffset #-}-        vkInt32ArrayByteOffset ~_-          = #{offset VkClearColorValue, int32}--        {-# INLINE readVkInt32Array #-}-        readVkInt32Array p idx-          = peekByteOff p-              (idx * sizeOf (undefined :: Int32) +-                 #{offset VkClearColorValue, int32})--        {-# INLINE writeVkInt32Array #-}-        writeVkInt32Array p idx+        writeFieldArray p           = pokeByteOff p-              (idx * sizeOf (undefined :: Int32) +-                 #{offset VkClearColorValue, int32})+              (#{offset VkClearColorValue, float32} ++                 sizeOf (undefined :: #{type float}) *+                   fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-} HasField "int32" VkClearColorValue          where@@ -210,8 +164,8 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkClearColorValue, int32} -instance (KnownNat idx,-          IndexInBounds "int32" idx VkClearColorValue) =>+instance {-# OVERLAPPING #-}+         (KnownNat idx, IndexInBounds "int32" idx VkClearColorValue) =>          CanReadFieldArray "int32" idx VkClearColorValue          where         {-# SPECIALISE instance@@ -231,15 +185,23 @@         fieldArrayLength = 4          {-# INLINE getFieldArray #-}-        getFieldArray x-          = vkInt32Array x (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs+        getFieldArray = f+          where {-# NOINLINE f #-}+                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+                off+                  = #{offset VkClearColorValue, int32} ++                      sizeOf (undefined :: Int32) *+                        fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs          {-# INLINE readFieldArray #-}-        readFieldArray x-          = readVkInt32Array x (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs+        readFieldArray p+          = peekByteOff p+              (#{offset VkClearColorValue, int32} ++                 sizeOf (undefined :: Int32) *+                   fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs -instance (KnownNat idx,-          IndexInBounds "int32" idx VkClearColorValue) =>+instance {-# OVERLAPPING #-}+         (KnownNat idx, IndexInBounds "int32" idx VkClearColorValue) =>          CanWriteFieldArray "int32" idx VkClearColorValue          where         {-# SPECIALISE instance@@ -255,36 +217,11 @@                        CanWriteFieldArray "int32" 3 VkClearColorValue #-}          {-# INLINE writeFieldArray #-}-        writeFieldArray x-          = writeVkInt32Array x-              (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasVkUint32Array VkClearColorValue-         where-        type VkUint32ArrayMType VkClearColorValue = Word32--        {-# NOINLINE vkUint32Array #-}-        vkUint32Array x idx-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x)-                 (idx * sizeOf (undefined :: Word32) +-                    #{offset VkClearColorValue, uint32}))--        {-# INLINE vkUint32ArrayByteOffset #-}-        vkUint32ArrayByteOffset ~_-          = #{offset VkClearColorValue, uint32}--        {-# INLINE readVkUint32Array #-}-        readVkUint32Array p idx-          = peekByteOff p-              (idx * sizeOf (undefined :: Word32) +-                 #{offset VkClearColorValue, uint32})--        {-# INLINE writeVkUint32Array #-}-        writeVkUint32Array p idx+        writeFieldArray p           = pokeByteOff p-              (idx * sizeOf (undefined :: Word32) +-                 #{offset VkClearColorValue, uint32})+              (#{offset VkClearColorValue, int32} ++                 sizeOf (undefined :: Int32) *+                   fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-} HasField "uint32" VkClearColorValue          where@@ -300,8 +237,8 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkClearColorValue, uint32} -instance (KnownNat idx,-          IndexInBounds "uint32" idx VkClearColorValue) =>+instance {-# OVERLAPPING #-}+         (KnownNat idx, IndexInBounds "uint32" idx VkClearColorValue) =>          CanReadFieldArray "uint32" idx VkClearColorValue          where         {-# SPECIALISE instance@@ -321,16 +258,23 @@         fieldArrayLength = 4          {-# INLINE getFieldArray #-}-        getFieldArray x-          = vkUint32Array x (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs+        getFieldArray = f+          where {-# NOINLINE f #-}+                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+                off+                  = #{offset VkClearColorValue, uint32} ++                      sizeOf (undefined :: Word32) *+                        fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs          {-# INLINE readFieldArray #-}-        readFieldArray x-          = readVkUint32Array x-              (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs+        readFieldArray p+          = peekByteOff p+              (#{offset VkClearColorValue, uint32} ++                 sizeOf (undefined :: Word32) *+                   fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs -instance (KnownNat idx,-          IndexInBounds "uint32" idx VkClearColorValue) =>+instance {-# OVERLAPPING #-}+         (KnownNat idx, IndexInBounds "uint32" idx VkClearColorValue) =>          CanWriteFieldArray "uint32" idx VkClearColorValue          where         {-# SPECIALISE instance@@ -346,21 +290,51 @@                        CanWriteFieldArray "uint32" 3 VkClearColorValue #-}          {-# INLINE writeFieldArray #-}-        writeFieldArray x-          = writeVkUint32Array x-              (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs+        writeFieldArray p+          = pokeByteOff p+              (#{offset VkClearColorValue, uint32} ++                 sizeOf (undefined :: Word32) *+                   fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs  instance Show VkClearColorValue where         showsPrec d x           = showString "VkClearColorValue {" .-              showString "vkFloat32Array = [" .-                showsPrec d (map (vkFloat32Array x) [1 .. 4]) .-                  showChar ']' .+              (showString "float32 = [" .+                 showsPrec d+                   (let s = sizeOf+                              (undefined :: FieldType "float32" VkClearColorValue)+                        o = fieldOffset @"float32" @VkClearColorValue+                        f i+                          = peekByteOff (unsafePtr x) i ::+                              IO (FieldType "float32" VkClearColorValue)+                      in+                      unsafeDupablePerformIO . mapM f $+                        map (\ i -> o + i * s) [0 .. 4 - 1])+                   . showChar ']')+                .+                showString ", " .+                  (showString "int32 = [" .+                     showsPrec d+                       (let s = sizeOf (undefined :: FieldType "int32" VkClearColorValue)+                            o = fieldOffset @"int32" @VkClearColorValue+                            f i+                              = peekByteOff (unsafePtr x) i ::+                                  IO (FieldType "int32" VkClearColorValue)+                          in+                          unsafeDupablePerformIO . mapM f $+                            map (\ i -> o + i * s) [0 .. 4 - 1])+                       . showChar ']')+                    .                     showString ", " .-                      showString "vkInt32Array = [" .-                        showsPrec d (map (vkInt32Array x) [1 .. 4]) .-                          showChar ']' .-                            showString ", " .-                              showString "vkUint32Array = [" .-                                showsPrec d (map (vkUint32Array x) [1 .. 4]) .-                                  showChar ']' . showChar '}'+                      (showString "uint32 = [" .+                         showsPrec d+                           (let s = sizeOf (undefined :: FieldType "uint32" VkClearColorValue)+                                o = fieldOffset @"uint32" @VkClearColorValue+                                f i+                                  = peekByteOff (unsafePtr x) i ::+                                      IO (FieldType "uint32" VkClearColorValue)+                              in+                              unsafeDupablePerformIO . mapM f $+                                map (\ i -> o + i * s) [0 .. 4 - 1])+                           . showChar ']')+                        . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkClearDepthStencilValue.hsc view
@@ -5,22 +5,22 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkClearDepthStencilValue        (VkClearDepthStencilValue(..)) where-import           Foreign.Storable                    (Storable (..))+import           Foreign.Storable                 (Storable (..)) import           GHC.Prim import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                    (unsafeDupablePerformIO)+import           System.IO.Unsafe                 (unsafeDupablePerformIO)  -- | > typedef struct VkClearDepthStencilValue { --   >     float                  depth; --   >     uint32_t               stencil; --   > } VkClearDepthStencilValue; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkClearDepthStencilValue.html VkClearDepthStencilValue registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkClearDepthStencilValue.html VkClearDepthStencilValue registry at www.khronos.org> data VkClearDepthStencilValue = VkClearDepthStencilValue## Addr##                                                           ByteArray## @@ -69,28 +69,6 @@         type ReturnedOnly VkClearDepthStencilValue = 'False -- ' closing tick for hsc2hs         type StructExtends VkClearDepthStencilValue = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkDepth VkClearDepthStencilValue-         where-        type VkDepthMType VkClearDepthStencilValue =-             #{type float}--        {-# NOINLINE vkDepth #-}-        vkDepth x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkClearDepthStencilValue, depth})--        {-# INLINE vkDepthByteOffset #-}-        vkDepthByteOffset ~_-          = #{offset VkClearDepthStencilValue, depth}--        {-# INLINE readVkDepth #-}-        readVkDepth p-          = peekByteOff p #{offset VkClearDepthStencilValue, depth}--        {-# INLINE writeVkDepth #-}-        writeVkDepth p-          = pokeByteOff p #{offset VkClearDepthStencilValue, depth}- instance {-# OVERLAPPING #-}          HasField "depth" VkClearDepthStencilValue where         type FieldType "depth" VkClearDepthStencilValue =@@ -106,37 +84,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkClearDepthStencilValue, depth} -instance CanReadField "depth" VkClearDepthStencilValue where-        {-# INLINE getField #-}-        getField = vkDepth+instance {-# OVERLAPPING #-}+         CanReadField "depth" VkClearDepthStencilValue where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkClearDepthStencilValue, depth})          {-# INLINE readField #-}-        readField = readVkDepth+        readField p+          = peekByteOff p #{offset VkClearDepthStencilValue, depth} -instance CanWriteField "depth" VkClearDepthStencilValue where+instance {-# OVERLAPPING #-}+         CanWriteField "depth" VkClearDepthStencilValue where         {-# INLINE writeField #-}-        writeField = writeVkDepth--instance {-# OVERLAPPING #-} HasVkStencil VkClearDepthStencilValue-         where-        type VkStencilMType VkClearDepthStencilValue = Word32--        {-# NOINLINE vkStencil #-}-        vkStencil x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkClearDepthStencilValue, stencil})--        {-# INLINE vkStencilByteOffset #-}-        vkStencilByteOffset ~_-          = #{offset VkClearDepthStencilValue, stencil}--        {-# INLINE readVkStencil #-}-        readVkStencil p-          = peekByteOff p #{offset VkClearDepthStencilValue, stencil}--        {-# INLINE writeVkStencil #-}-        writeVkStencil p-          = pokeByteOff p #{offset VkClearDepthStencilValue, stencil}+        writeField p+          = pokeByteOff p #{offset VkClearDepthStencilValue, depth}  instance {-# OVERLAPPING #-}          HasField "stencil" VkClearDepthStencilValue where@@ -153,22 +116,28 @@         fieldOffset           = #{offset VkClearDepthStencilValue, stencil} -instance CanReadField "stencil" VkClearDepthStencilValue where-        {-# INLINE getField #-}-        getField = vkStencil+instance {-# OVERLAPPING #-}+         CanReadField "stencil" VkClearDepthStencilValue where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkClearDepthStencilValue, stencil})          {-# INLINE readField #-}-        readField = readVkStencil+        readField p+          = peekByteOff p #{offset VkClearDepthStencilValue, stencil} -instance CanWriteField "stencil" VkClearDepthStencilValue where+instance {-# OVERLAPPING #-}+         CanWriteField "stencil" VkClearDepthStencilValue where         {-# INLINE writeField #-}-        writeField = writeVkStencil+        writeField p+          = pokeByteOff p #{offset VkClearDepthStencilValue, stencil}  instance Show VkClearDepthStencilValue where         showsPrec d x           = showString "VkClearDepthStencilValue {" .-              showString "vkDepth = " .-                showsPrec d (vkDepth x) .+              showString "depth = " .+                showsPrec d (getField @"depth" x) .                   showString ", " .-                    showString "vkStencil = " .-                      showsPrec d (vkStencil x) . showChar '}'+                    showString "stencil = " .+                      showsPrec d (getField @"stencil" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkClearRect.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkClearRect (VkClearRect(..))        where@@ -13,7 +14,6 @@ import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.Struct.VkRect2D (VkRect2D)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                      (unsafeDupablePerformIO)  -- | > typedef struct VkClearRect {@@ -22,7 +22,7 @@ --   >     uint32_t       layerCount; --   > } VkClearRect; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkClearRect.html VkClearRect registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkClearRect.html VkClearRect registry at www.khronos.org> data VkClearRect = VkClearRect## Addr## ByteArray##  instance Eq VkClearRect where@@ -70,25 +70,6 @@         type ReturnedOnly VkClearRect = 'False -- ' closing tick for hsc2hs         type StructExtends VkClearRect = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkRect VkClearRect where-        type VkRectMType VkClearRect = VkRect2D--        {-# NOINLINE vkRect #-}-        vkRect x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkClearRect, rect})--        {-# INLINE vkRectByteOffset #-}-        vkRectByteOffset ~_ = #{offset VkClearRect, rect}--        {-# INLINE readVkRect #-}-        readVkRect p-          = peekByteOff p #{offset VkClearRect, rect}--        {-# INLINE writeVkRect #-}-        writeVkRect p-          = pokeByteOff p #{offset VkClearRect, rect}- instance {-# OVERLAPPING #-} HasField "rect" VkClearRect where         type FieldType "rect" VkClearRect = VkRect2D         type FieldOptional "rect" VkClearRect = 'False -- ' closing tick for hsc2hs@@ -102,36 +83,19 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkClearRect, rect} -instance CanReadField "rect" VkClearRect where-        {-# INLINE getField #-}-        getField = vkRect+instance {-# OVERLAPPING #-} CanReadField "rect" VkClearRect where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkClearRect, rect})          {-# INLINE readField #-}-        readField = readVkRect+        readField p = peekByteOff p #{offset VkClearRect, rect} -instance CanWriteField "rect" VkClearRect where+instance {-# OVERLAPPING #-} CanWriteField "rect" VkClearRect where         {-# INLINE writeField #-}-        writeField = writeVkRect--instance {-# OVERLAPPING #-} HasVkBaseArrayLayer VkClearRect where-        type VkBaseArrayLayerMType VkClearRect = Word32--        {-# NOINLINE vkBaseArrayLayer #-}-        vkBaseArrayLayer x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkClearRect, baseArrayLayer})--        {-# INLINE vkBaseArrayLayerByteOffset #-}-        vkBaseArrayLayerByteOffset ~_-          = #{offset VkClearRect, baseArrayLayer}--        {-# INLINE readVkBaseArrayLayer #-}-        readVkBaseArrayLayer p-          = peekByteOff p #{offset VkClearRect, baseArrayLayer}--        {-# INLINE writeVkBaseArrayLayer #-}-        writeVkBaseArrayLayer p-          = pokeByteOff p #{offset VkClearRect, baseArrayLayer}+        writeField p+          = pokeByteOff p #{offset VkClearRect, rect}  instance {-# OVERLAPPING #-} HasField "baseArrayLayer" VkClearRect          where@@ -147,36 +111,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkClearRect, baseArrayLayer} -instance CanReadField "baseArrayLayer" VkClearRect where-        {-# INLINE getField #-}-        getField = vkBaseArrayLayer+instance {-# OVERLAPPING #-}+         CanReadField "baseArrayLayer" VkClearRect where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkClearRect, baseArrayLayer})          {-# INLINE readField #-}-        readField = readVkBaseArrayLayer+        readField p+          = peekByteOff p #{offset VkClearRect, baseArrayLayer} -instance CanWriteField "baseArrayLayer" VkClearRect where+instance {-# OVERLAPPING #-}+         CanWriteField "baseArrayLayer" VkClearRect where         {-# INLINE writeField #-}-        writeField = writeVkBaseArrayLayer--instance {-# OVERLAPPING #-} HasVkLayerCount VkClearRect where-        type VkLayerCountMType VkClearRect = Word32--        {-# NOINLINE vkLayerCount #-}-        vkLayerCount x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkClearRect, layerCount})--        {-# INLINE vkLayerCountByteOffset #-}-        vkLayerCountByteOffset ~_-          = #{offset VkClearRect, layerCount}--        {-# INLINE readVkLayerCount #-}-        readVkLayerCount p-          = peekByteOff p #{offset VkClearRect, layerCount}--        {-# INLINE writeVkLayerCount #-}-        writeVkLayerCount p-          = pokeByteOff p #{offset VkClearRect, layerCount}+        writeField p+          = pokeByteOff p #{offset VkClearRect, baseArrayLayer}  instance {-# OVERLAPPING #-} HasField "layerCount" VkClearRect          where@@ -192,25 +142,31 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkClearRect, layerCount} -instance CanReadField "layerCount" VkClearRect where-        {-# INLINE getField #-}-        getField = vkLayerCount+instance {-# OVERLAPPING #-} CanReadField "layerCount" VkClearRect+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkClearRect, layerCount})          {-# INLINE readField #-}-        readField = readVkLayerCount+        readField p+          = peekByteOff p #{offset VkClearRect, layerCount} -instance CanWriteField "layerCount" VkClearRect where+instance {-# OVERLAPPING #-} CanWriteField "layerCount" VkClearRect+         where         {-# INLINE writeField #-}-        writeField = writeVkLayerCount+        writeField p+          = pokeByteOff p #{offset VkClearRect, layerCount}  instance Show VkClearRect where         showsPrec d x           = showString "VkClearRect {" .-              showString "vkRect = " .-                showsPrec d (vkRect x) .+              showString "rect = " .+                showsPrec d (getField @"rect" x) .                   showString ", " .-                    showString "vkBaseArrayLayer = " .-                      showsPrec d (vkBaseArrayLayer x) .+                    showString "baseArrayLayer = " .+                      showsPrec d (getField @"baseArrayLayer" x) .                         showString ", " .-                          showString "vkLayerCount = " .-                            showsPrec d (vkLayerCount x) . showChar '}'+                          showString "layerCount = " .+                            showsPrec d (getField @"layerCount" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkClearValue.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkClearValue (VkClearValue(..))        where@@ -14,7 +15,6 @@ import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.Struct.VkClearColorValue        (VkClearColorValue) import           Graphics.Vulkan.Types.Struct.VkClearDepthStencilValue (VkClearDepthStencilValue)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                      (unsafeDupablePerformIO)  -- | // Union allowing specification of color or depth and stencil values. Actual value selected is based on attachment being cleared.@@ -24,7 +24,7 @@ --   >     VkClearDepthStencilValue depthStencil; --   > } VkClearValue; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkClearValue.html VkClearValue registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkClearValue.html VkClearValue registry at www.khronos.org> data VkClearValue = VkClearValue## Addr## ByteArray##  instance Eq VkClearValue where@@ -71,25 +71,6 @@         type ReturnedOnly VkClearValue = 'False -- ' closing tick for hsc2hs         type StructExtends VkClearValue = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkColor VkClearValue where-        type VkColorMType VkClearValue = VkClearColorValue--        {-# NOINLINE vkColor #-}-        vkColor x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkClearValue, color})--        {-# INLINE vkColorByteOffset #-}-        vkColorByteOffset ~_ = #{offset VkClearValue, color}--        {-# INLINE readVkColor #-}-        readVkColor p-          = peekByteOff p #{offset VkClearValue, color}--        {-# INLINE writeVkColor #-}-        writeVkColor p-          = pokeByteOff p #{offset VkClearValue, color}- instance {-# OVERLAPPING #-} HasField "color" VkClearValue where         type FieldType "color" VkClearValue = VkClearColorValue         type FieldOptional "color" VkClearValue = 'False -- ' closing tick for hsc2hs@@ -103,36 +84,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkClearValue, color} -instance CanReadField "color" VkClearValue where-        {-# INLINE getField #-}-        getField = vkColor+instance {-# OVERLAPPING #-} CanReadField "color" VkClearValue+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkClearValue, color})          {-# INLINE readField #-}-        readField = readVkColor+        readField p+          = peekByteOff p #{offset VkClearValue, color} -instance CanWriteField "color" VkClearValue where+instance {-# OVERLAPPING #-} CanWriteField "color" VkClearValue+         where         {-# INLINE writeField #-}-        writeField = writeVkColor--instance {-# OVERLAPPING #-} HasVkDepthStencil VkClearValue where-        type VkDepthStencilMType VkClearValue = VkClearDepthStencilValue--        {-# NOINLINE vkDepthStencil #-}-        vkDepthStencil x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkClearValue, depthStencil})--        {-# INLINE vkDepthStencilByteOffset #-}-        vkDepthStencilByteOffset ~_-          = #{offset VkClearValue, depthStencil}--        {-# INLINE readVkDepthStencil #-}-        readVkDepthStencil p-          = peekByteOff p #{offset VkClearValue, depthStencil}--        {-# INLINE writeVkDepthStencil #-}-        writeVkDepthStencil p-          = pokeByteOff p #{offset VkClearValue, depthStencil}+        writeField p+          = pokeByteOff p #{offset VkClearValue, color}  instance {-# OVERLAPPING #-} HasField "depthStencil" VkClearValue          where@@ -149,22 +116,28 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkClearValue, depthStencil} -instance CanReadField "depthStencil" VkClearValue where-        {-# INLINE getField #-}-        getField = vkDepthStencil+instance {-# OVERLAPPING #-}+         CanReadField "depthStencil" VkClearValue where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkClearValue, depthStencil})          {-# INLINE readField #-}-        readField = readVkDepthStencil+        readField p+          = peekByteOff p #{offset VkClearValue, depthStencil} -instance CanWriteField "depthStencil" VkClearValue where+instance {-# OVERLAPPING #-}+         CanWriteField "depthStencil" VkClearValue where         {-# INLINE writeField #-}-        writeField = writeVkDepthStencil+        writeField p+          = pokeByteOff p #{offset VkClearValue, depthStencil}  instance Show VkClearValue where         showsPrec d x           = showString "VkClearValue {" .-              showString "vkColor = " .-                showsPrec d (vkColor x) .+              showString "color = " .+                showsPrec d (getField @"color" x) .                   showString ", " .-                    showString "vkDepthStencil = " .-                      showsPrec d (vkDepthStencil x) . showChar '}'+                    showString "depthStencil = " .+                      showsPrec d (getField @"depthStencil" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkCmdProcessCommandsInfoNVX.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkCmdProcessCommandsInfoNVX        (VkCmdProcessCommandsInfoNVX(..)) where@@ -19,7 +20,6 @@                                                                           VkIndirectCommandsLayoutNVX,                                                                           VkObjectTableNVX) import           Graphics.Vulkan.Types.Struct.VkIndirectCommandsTokenNVX (VkIndirectCommandsTokenNVX)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                        (unsafeDupablePerformIO)  -- | > typedef struct VkCmdProcessCommandsInfoNVX {@@ -37,7 +37,7 @@ --   >     VkDeviceSize                             sequencesIndexOffset; --   > } VkCmdProcessCommandsInfoNVX; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkCmdProcessCommandsInfoNVX.html VkCmdProcessCommandsInfoNVX registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkCmdProcessCommandsInfoNVX.html VkCmdProcessCommandsInfoNVX registry at www.khronos.org> data VkCmdProcessCommandsInfoNVX = VkCmdProcessCommandsInfoNVX## Addr##                                                                 ByteArray## @@ -93,27 +93,6 @@         type ReturnedOnly VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs         type StructExtends VkCmdProcessCommandsInfoNVX = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSType VkCmdProcessCommandsInfoNVX-         where-        type VkSTypeMType VkCmdProcessCommandsInfoNVX = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkCmdProcessCommandsInfoNVX, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, sType}- instance {-# OVERLAPPING #-}          HasField "sType" VkCmdProcessCommandsInfoNVX where         type FieldType "sType" VkCmdProcessCommandsInfoNVX =@@ -130,37 +109,22 @@         fieldOffset           = #{offset VkCmdProcessCommandsInfoNVX, sType} -instance CanReadField "sType" VkCmdProcessCommandsInfoNVX where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-}+         CanReadField "sType" VkCmdProcessCommandsInfoNVX where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, sType} -instance CanWriteField "sType" VkCmdProcessCommandsInfoNVX where+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkCmdProcessCommandsInfoNVX where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkCmdProcessCommandsInfoNVX-         where-        type VkPNextMType VkCmdProcessCommandsInfoNVX = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkCmdProcessCommandsInfoNVX, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, pNext}+        writeField p+          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkCmdProcessCommandsInfoNVX where@@ -177,38 +141,22 @@         fieldOffset           = #{offset VkCmdProcessCommandsInfoNVX, pNext} -instance CanReadField "pNext" VkCmdProcessCommandsInfoNVX where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkCmdProcessCommandsInfoNVX where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkObjectTable VkCmdProcessCommandsInfoNVX where-        type VkObjectTableMType VkCmdProcessCommandsInfoNVX =-             VkObjectTableNVX--        {-# NOINLINE vkObjectTable #-}-        vkObjectTable x+         CanReadField "pNext" VkCmdProcessCommandsInfoNVX where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, objectTable})--        {-# INLINE vkObjectTableByteOffset #-}-        vkObjectTableByteOffset ~_-          = #{offset VkCmdProcessCommandsInfoNVX, objectTable}+              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, pNext}) -        {-# INLINE readVkObjectTable #-}-        readVkObjectTable p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, objectTable}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, pNext} -        {-# INLINE writeVkObjectTable #-}-        writeVkObjectTable p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, objectTable}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkCmdProcessCommandsInfoNVX where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, pNext}  instance {-# OVERLAPPING #-}          HasField "objectTable" VkCmdProcessCommandsInfoNVX where@@ -228,40 +176,22 @@         fieldOffset           = #{offset VkCmdProcessCommandsInfoNVX, objectTable} -instance CanReadField "objectTable" VkCmdProcessCommandsInfoNVX-         where-        {-# INLINE getField #-}-        getField = vkObjectTable--        {-# INLINE readField #-}-        readField = readVkObjectTable--instance CanWriteField "objectTable" VkCmdProcessCommandsInfoNVX-         where-        {-# INLINE writeField #-}-        writeField = writeVkObjectTable- instance {-# OVERLAPPING #-}-         HasVkIndirectCommandsLayout VkCmdProcessCommandsInfoNVX where-        type VkIndirectCommandsLayoutMType VkCmdProcessCommandsInfoNVX =-             VkIndirectCommandsLayoutNVX--        {-# NOINLINE vkIndirectCommandsLayout #-}-        vkIndirectCommandsLayout x+         CanReadField "objectTable" VkCmdProcessCommandsInfoNVX where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout})--        {-# INLINE vkIndirectCommandsLayoutByteOffset #-}-        vkIndirectCommandsLayoutByteOffset ~_-          = #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout}+              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, objectTable}) -        {-# INLINE readVkIndirectCommandsLayout #-}-        readVkIndirectCommandsLayout p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, objectTable} -        {-# INLINE writeVkIndirectCommandsLayout #-}-        writeVkIndirectCommandsLayout p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout}+instance {-# OVERLAPPING #-}+         CanWriteField "objectTable" VkCmdProcessCommandsInfoNVX where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, objectTable}  instance {-# OVERLAPPING #-}          HasField "indirectCommandsLayout" VkCmdProcessCommandsInfoNVX where@@ -285,42 +215,24 @@         fieldOffset           = #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout} -instance CanReadField "indirectCommandsLayout"-           VkCmdProcessCommandsInfoNVX+instance {-# OVERLAPPING #-}+         CanReadField "indirectCommandsLayout" VkCmdProcessCommandsInfoNVX          where-        {-# INLINE getField #-}-        getField = vkIndirectCommandsLayout+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout})          {-# INLINE readField #-}-        readField = readVkIndirectCommandsLayout+        readField p+          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout} -instance CanWriteField "indirectCommandsLayout"-           VkCmdProcessCommandsInfoNVX+instance {-# OVERLAPPING #-}+         CanWriteField "indirectCommandsLayout" VkCmdProcessCommandsInfoNVX          where         {-# INLINE writeField #-}-        writeField = writeVkIndirectCommandsLayout--instance {-# OVERLAPPING #-}-         HasVkIndirectCommandsTokenCount VkCmdProcessCommandsInfoNVX where-        type VkIndirectCommandsTokenCountMType VkCmdProcessCommandsInfoNVX-             = Word32--        {-# NOINLINE vkIndirectCommandsTokenCount #-}-        vkIndirectCommandsTokenCount x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsTokenCount})--        {-# INLINE vkIndirectCommandsTokenCountByteOffset #-}-        vkIndirectCommandsTokenCountByteOffset ~_-          = #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsTokenCount}--        {-# INLINE readVkIndirectCommandsTokenCount #-}-        readVkIndirectCommandsTokenCount p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsTokenCount}--        {-# INLINE writeVkIndirectCommandsTokenCount #-}-        writeVkIndirectCommandsTokenCount p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsTokenCount}+        writeField p+          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout}  instance {-# OVERLAPPING #-}          HasField "indirectCommandsTokenCount" VkCmdProcessCommandsInfoNVX@@ -346,42 +258,26 @@         fieldOffset           = #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsTokenCount} -instance CanReadField "indirectCommandsTokenCount"+instance {-# OVERLAPPING #-}+         CanReadField "indirectCommandsTokenCount"            VkCmdProcessCommandsInfoNVX          where-        {-# INLINE getField #-}-        getField = vkIndirectCommandsTokenCount+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsTokenCount})          {-# INLINE readField #-}-        readField = readVkIndirectCommandsTokenCount+        readField p+          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsTokenCount} -instance CanWriteField "indirectCommandsTokenCount"+instance {-# OVERLAPPING #-}+         CanWriteField "indirectCommandsTokenCount"            VkCmdProcessCommandsInfoNVX          where         {-# INLINE writeField #-}-        writeField = writeVkIndirectCommandsTokenCount--instance {-# OVERLAPPING #-}-         HasVkPIndirectCommandsTokens VkCmdProcessCommandsInfoNVX where-        type VkPIndirectCommandsTokensMType VkCmdProcessCommandsInfoNVX =-             Ptr VkIndirectCommandsTokenNVX--        {-# NOINLINE vkPIndirectCommandsTokens #-}-        vkPIndirectCommandsTokens x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, pIndirectCommandsTokens})--        {-# INLINE vkPIndirectCommandsTokensByteOffset #-}-        vkPIndirectCommandsTokensByteOffset ~_-          = #{offset VkCmdProcessCommandsInfoNVX, pIndirectCommandsTokens}--        {-# INLINE readVkPIndirectCommandsTokens #-}-        readVkPIndirectCommandsTokens p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, pIndirectCommandsTokens}--        {-# INLINE writeVkPIndirectCommandsTokens #-}-        writeVkPIndirectCommandsTokens p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, pIndirectCommandsTokens}+        writeField p+          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsTokenCount}  instance {-# OVERLAPPING #-}          HasField "pIndirectCommandsTokens" VkCmdProcessCommandsInfoNVX@@ -407,41 +303,24 @@         fieldOffset           = #{offset VkCmdProcessCommandsInfoNVX, pIndirectCommandsTokens} -instance CanReadField "pIndirectCommandsTokens"-           VkCmdProcessCommandsInfoNVX+instance {-# OVERLAPPING #-}+         CanReadField "pIndirectCommandsTokens" VkCmdProcessCommandsInfoNVX          where-        {-# INLINE getField #-}-        getField = vkPIndirectCommandsTokens+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, pIndirectCommandsTokens})          {-# INLINE readField #-}-        readField = readVkPIndirectCommandsTokens+        readField p+          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, pIndirectCommandsTokens} -instance CanWriteField "pIndirectCommandsTokens"-           VkCmdProcessCommandsInfoNVX+instance {-# OVERLAPPING #-}+         CanWriteField "pIndirectCommandsTokens" VkCmdProcessCommandsInfoNVX          where         {-# INLINE writeField #-}-        writeField = writeVkPIndirectCommandsTokens--instance {-# OVERLAPPING #-}-         HasVkMaxSequencesCount VkCmdProcessCommandsInfoNVX where-        type VkMaxSequencesCountMType VkCmdProcessCommandsInfoNVX = Word32--        {-# NOINLINE vkMaxSequencesCount #-}-        vkMaxSequencesCount x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, maxSequencesCount})--        {-# INLINE vkMaxSequencesCountByteOffset #-}-        vkMaxSequencesCountByteOffset ~_-          = #{offset VkCmdProcessCommandsInfoNVX, maxSequencesCount}--        {-# INLINE readVkMaxSequencesCount #-}-        readVkMaxSequencesCount p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, maxSequencesCount}--        {-# INLINE writeVkMaxSequencesCount #-}-        writeVkMaxSequencesCount p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, maxSequencesCount}+        writeField p+          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, pIndirectCommandsTokens}  instance {-# OVERLAPPING #-}          HasField "maxSequencesCount" VkCmdProcessCommandsInfoNVX where@@ -461,42 +340,22 @@         fieldOffset           = #{offset VkCmdProcessCommandsInfoNVX, maxSequencesCount} -instance CanReadField "maxSequencesCount"-           VkCmdProcessCommandsInfoNVX-         where-        {-# INLINE getField #-}-        getField = vkMaxSequencesCount--        {-# INLINE readField #-}-        readField = readVkMaxSequencesCount--instance CanWriteField "maxSequencesCount"-           VkCmdProcessCommandsInfoNVX-         where-        {-# INLINE writeField #-}-        writeField = writeVkMaxSequencesCount- instance {-# OVERLAPPING #-}-         HasVkTargetCommandBuffer VkCmdProcessCommandsInfoNVX where-        type VkTargetCommandBufferMType VkCmdProcessCommandsInfoNVX =-             VkCommandBuffer--        {-# NOINLINE vkTargetCommandBuffer #-}-        vkTargetCommandBuffer x+         CanReadField "maxSequencesCount" VkCmdProcessCommandsInfoNVX where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer})--        {-# INLINE vkTargetCommandBufferByteOffset #-}-        vkTargetCommandBufferByteOffset ~_-          = #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer}+              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, maxSequencesCount}) -        {-# INLINE readVkTargetCommandBuffer #-}-        readVkTargetCommandBuffer p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, maxSequencesCount} -        {-# INLINE writeVkTargetCommandBuffer #-}-        writeVkTargetCommandBuffer p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer}+instance {-# OVERLAPPING #-}+         CanWriteField "maxSequencesCount" VkCmdProcessCommandsInfoNVX where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, maxSequencesCount}  instance {-# OVERLAPPING #-}          HasField "targetCommandBuffer" VkCmdProcessCommandsInfoNVX where@@ -518,42 +377,24 @@         fieldOffset           = #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer} -instance CanReadField "targetCommandBuffer"-           VkCmdProcessCommandsInfoNVX+instance {-# OVERLAPPING #-}+         CanReadField "targetCommandBuffer" VkCmdProcessCommandsInfoNVX          where-        {-# INLINE getField #-}-        getField = vkTargetCommandBuffer+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer})          {-# INLINE readField #-}-        readField = readVkTargetCommandBuffer+        readField p+          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer} -instance CanWriteField "targetCommandBuffer"-           VkCmdProcessCommandsInfoNVX+instance {-# OVERLAPPING #-}+         CanWriteField "targetCommandBuffer" VkCmdProcessCommandsInfoNVX          where         {-# INLINE writeField #-}-        writeField = writeVkTargetCommandBuffer--instance {-# OVERLAPPING #-}-         HasVkSequencesCountBuffer VkCmdProcessCommandsInfoNVX where-        type VkSequencesCountBufferMType VkCmdProcessCommandsInfoNVX =-             VkBuffer--        {-# NOINLINE vkSequencesCountBuffer #-}-        vkSequencesCountBuffer x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, sequencesCountBuffer})--        {-# INLINE vkSequencesCountBufferByteOffset #-}-        vkSequencesCountBufferByteOffset ~_-          = #{offset VkCmdProcessCommandsInfoNVX, sequencesCountBuffer}--        {-# INLINE readVkSequencesCountBuffer #-}-        readVkSequencesCountBuffer p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesCountBuffer}--        {-# INLINE writeVkSequencesCountBuffer #-}-        writeVkSequencesCountBuffer p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesCountBuffer}+        writeField p+          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer}  instance {-# OVERLAPPING #-}          HasField "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX where@@ -576,42 +417,24 @@         fieldOffset           = #{offset VkCmdProcessCommandsInfoNVX, sequencesCountBuffer} -instance CanReadField "sequencesCountBuffer"-           VkCmdProcessCommandsInfoNVX+instance {-# OVERLAPPING #-}+         CanReadField "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX          where-        {-# INLINE getField #-}-        getField = vkSequencesCountBuffer+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, sequencesCountBuffer})          {-# INLINE readField #-}-        readField = readVkSequencesCountBuffer+        readField p+          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesCountBuffer} -instance CanWriteField "sequencesCountBuffer"-           VkCmdProcessCommandsInfoNVX+instance {-# OVERLAPPING #-}+         CanWriteField "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX          where         {-# INLINE writeField #-}-        writeField = writeVkSequencesCountBuffer--instance {-# OVERLAPPING #-}-         HasVkSequencesCountOffset VkCmdProcessCommandsInfoNVX where-        type VkSequencesCountOffsetMType VkCmdProcessCommandsInfoNVX =-             VkDeviceSize--        {-# NOINLINE vkSequencesCountOffset #-}-        vkSequencesCountOffset x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, sequencesCountOffset})--        {-# INLINE vkSequencesCountOffsetByteOffset #-}-        vkSequencesCountOffsetByteOffset ~_-          = #{offset VkCmdProcessCommandsInfoNVX, sequencesCountOffset}--        {-# INLINE readVkSequencesCountOffset #-}-        readVkSequencesCountOffset p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesCountOffset}--        {-# INLINE writeVkSequencesCountOffset #-}-        writeVkSequencesCountOffset p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesCountOffset}+        writeField p+          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesCountBuffer}  instance {-# OVERLAPPING #-}          HasField "sequencesCountOffset" VkCmdProcessCommandsInfoNVX where@@ -634,42 +457,24 @@         fieldOffset           = #{offset VkCmdProcessCommandsInfoNVX, sequencesCountOffset} -instance CanReadField "sequencesCountOffset"-           VkCmdProcessCommandsInfoNVX+instance {-# OVERLAPPING #-}+         CanReadField "sequencesCountOffset" VkCmdProcessCommandsInfoNVX          where-        {-# INLINE getField #-}-        getField = vkSequencesCountOffset+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, sequencesCountOffset})          {-# INLINE readField #-}-        readField = readVkSequencesCountOffset+        readField p+          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesCountOffset} -instance CanWriteField "sequencesCountOffset"-           VkCmdProcessCommandsInfoNVX+instance {-# OVERLAPPING #-}+         CanWriteField "sequencesCountOffset" VkCmdProcessCommandsInfoNVX          where         {-# INLINE writeField #-}-        writeField = writeVkSequencesCountOffset--instance {-# OVERLAPPING #-}-         HasVkSequencesIndexBuffer VkCmdProcessCommandsInfoNVX where-        type VkSequencesIndexBufferMType VkCmdProcessCommandsInfoNVX =-             VkBuffer--        {-# NOINLINE vkSequencesIndexBuffer #-}-        vkSequencesIndexBuffer x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexBuffer})--        {-# INLINE vkSequencesIndexBufferByteOffset #-}-        vkSequencesIndexBufferByteOffset ~_-          = #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexBuffer}--        {-# INLINE readVkSequencesIndexBuffer #-}-        readVkSequencesIndexBuffer p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexBuffer}--        {-# INLINE writeVkSequencesIndexBuffer #-}-        writeVkSequencesIndexBuffer p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexBuffer}+        writeField p+          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesCountOffset}  instance {-# OVERLAPPING #-}          HasField "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX where@@ -692,42 +497,24 @@         fieldOffset           = #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexBuffer} -instance CanReadField "sequencesIndexBuffer"-           VkCmdProcessCommandsInfoNVX+instance {-# OVERLAPPING #-}+         CanReadField "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX          where-        {-# INLINE getField #-}-        getField = vkSequencesIndexBuffer+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexBuffer})          {-# INLINE readField #-}-        readField = readVkSequencesIndexBuffer+        readField p+          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexBuffer} -instance CanWriteField "sequencesIndexBuffer"-           VkCmdProcessCommandsInfoNVX+instance {-# OVERLAPPING #-}+         CanWriteField "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX          where         {-# INLINE writeField #-}-        writeField = writeVkSequencesIndexBuffer--instance {-# OVERLAPPING #-}-         HasVkSequencesIndexOffset VkCmdProcessCommandsInfoNVX where-        type VkSequencesIndexOffsetMType VkCmdProcessCommandsInfoNVX =-             VkDeviceSize--        {-# NOINLINE vkSequencesIndexOffset #-}-        vkSequencesIndexOffset x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexOffset})--        {-# INLINE vkSequencesIndexOffsetByteOffset #-}-        vkSequencesIndexOffsetByteOffset ~_-          = #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexOffset}--        {-# INLINE readVkSequencesIndexOffset #-}-        readVkSequencesIndexOffset p-          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexOffset}--        {-# INLINE writeVkSequencesIndexOffset #-}-        writeVkSequencesIndexOffset p-          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexOffset}+        writeField p+          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexBuffer}  instance {-# OVERLAPPING #-}          HasField "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX where@@ -750,73 +537,83 @@         fieldOffset           = #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexOffset} -instance CanReadField "sequencesIndexOffset"-           VkCmdProcessCommandsInfoNVX+instance {-# OVERLAPPING #-}+         CanReadField "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX          where-        {-# INLINE getField #-}-        getField = vkSequencesIndexOffset+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexOffset})          {-# INLINE readField #-}-        readField = readVkSequencesIndexOffset+        readField p+          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexOffset} -instance CanWriteField "sequencesIndexOffset"-           VkCmdProcessCommandsInfoNVX+instance {-# OVERLAPPING #-}+         CanWriteField "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX          where         {-# INLINE writeField #-}-        writeField = writeVkSequencesIndexOffset+        writeField p+          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexOffset}  instance Show VkCmdProcessCommandsInfoNVX where         showsPrec d x           = showString "VkCmdProcessCommandsInfoNVX {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkObjectTable = " .-                            showsPrec d (vkObjectTable x) .+                          showString "objectTable = " .+                            showsPrec d (getField @"objectTable" x) .                               showString ", " .-                                showString "vkIndirectCommandsLayout = " .-                                  showsPrec d (vkIndirectCommandsLayout x) .+                                showString "indirectCommandsLayout = " .+                                  showsPrec d (getField @"indirectCommandsLayout" x) .                                     showString ", " .-                                      showString "vkIndirectCommandsTokenCount = " .-                                        showsPrec d (vkIndirectCommandsTokenCount x) .+                                      showString "indirectCommandsTokenCount = " .+                                        showsPrec d (getField @"indirectCommandsTokenCount" x) .                                           showString ", " .-                                            showString "vkPIndirectCommandsTokens = " .-                                              showsPrec d (vkPIndirectCommandsTokens x) .+                                            showString "pIndirectCommandsTokens = " .+                                              showsPrec d (getField @"pIndirectCommandsTokens" x) .                                                 showString ", " .-                                                  showString "vkMaxSequencesCount = " .-                                                    showsPrec d (vkMaxSequencesCount x) .+                                                  showString "maxSequencesCount = " .+                                                    showsPrec d (getField @"maxSequencesCount" x) .                                                       showString ", " .-                                                        showString "vkTargetCommandBuffer = " .-                                                          showsPrec d (vkTargetCommandBuffer x) .+                                                        showString "targetCommandBuffer = " .+                                                          showsPrec d+                                                            (getField @"targetCommandBuffer" x)+                                                            .                                                             showString ", " .-                                                              showString "vkSequencesCountBuffer = "-                                                                .+                                                              showString "sequencesCountBuffer = " .                                                                 showsPrec d-                                                                  (vkSequencesCountBuffer x)+                                                                  (getField @"sequencesCountBuffer"+                                                                     x)                                                                   .                                                                   showString ", " .                                                                     showString-                                                                      "vkSequencesCountOffset = "+                                                                      "sequencesCountOffset = "                                                                       .                                                                       showsPrec d-                                                                        (vkSequencesCountOffset x)+                                                                        (getField+                                                                           @"sequencesCountOffset"+                                                                           x)                                                                         .                                                                         showString ", " .                                                                           showString-                                                                            "vkSequencesIndexBuffer = "+                                                                            "sequencesIndexBuffer = "                                                                             .                                                                             showsPrec d-                                                                              (vkSequencesIndexBuffer+                                                                              (getField+                                                                                 @"sequencesIndexBuffer"                                                                                  x)                                                                               .                                                                               showString ", " .                                                                                 showString-                                                                                  "vkSequencesIndexOffset = "+                                                                                  "sequencesIndexOffset = "                                                                                   .                                                                                   showsPrec d-                                                                                    (vkSequencesIndexOffset+                                                                                    (getField+                                                                                       @"sequencesIndexOffset"                                                                                        x)                                                                                     . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkCmdReserveSpaceForCommandsInfoNVX.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkCmdReserveSpaceForCommandsInfoNVX        (VkCmdReserveSpaceForCommandsInfoNVX(..)) where@@ -15,7 +16,6 @@ import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType) import           Graphics.Vulkan.Types.Handles              (VkIndirectCommandsLayoutNVX,                                                              VkObjectTableNVX)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                           (unsafeDupablePerformIO)  -- | > typedef struct VkCmdReserveSpaceForCommandsInfoNVX {@@ -26,7 +26,7 @@ --   >     uint32_t                                                 maxSequencesCount; --   > } VkCmdReserveSpaceForCommandsInfoNVX; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkCmdReserveSpaceForCommandsInfoNVX.html VkCmdReserveSpaceForCommandsInfoNVX registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkCmdReserveSpaceForCommandsInfoNVX.html VkCmdReserveSpaceForCommandsInfoNVX registry at www.khronos.org> data VkCmdReserveSpaceForCommandsInfoNVX = VkCmdReserveSpaceForCommandsInfoNVX## Addr##                                                                                 ByteArray## @@ -83,28 +83,6 @@         type StructExtends VkCmdReserveSpaceForCommandsInfoNVX = '[] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkSType VkCmdReserveSpaceForCommandsInfoNVX where-        type VkSTypeMType VkCmdReserveSpaceForCommandsInfoNVX =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdReserveSpaceForCommandsInfoNVX, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkCmdReserveSpaceForCommandsInfoNVX, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, sType}--instance {-# OVERLAPPING #-}          HasField "sType" VkCmdReserveSpaceForCommandsInfoNVX where         type FieldType "sType" VkCmdReserveSpaceForCommandsInfoNVX =              VkStructureType@@ -122,39 +100,22 @@         fieldOffset           = #{offset VkCmdReserveSpaceForCommandsInfoNVX, sType} -instance CanReadField "sType" VkCmdReserveSpaceForCommandsInfoNVX-         where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkCmdReserveSpaceForCommandsInfoNVX-         where-        {-# INLINE writeField #-}-        writeField = writeVkSType- instance {-# OVERLAPPING #-}-         HasVkPNext VkCmdReserveSpaceForCommandsInfoNVX where-        type VkPNextMType VkCmdReserveSpaceForCommandsInfoNVX = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x+         CanReadField "sType" VkCmdReserveSpaceForCommandsInfoNVX where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext}+              (peekByteOff (unsafePtr x) #{offset VkCmdReserveSpaceForCommandsInfoNVX, sType}) -        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, sType} -        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext}+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkCmdReserveSpaceForCommandsInfoNVX where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkCmdReserveSpaceForCommandsInfoNVX where@@ -174,40 +135,22 @@         fieldOffset           = #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext} -instance CanReadField "pNext" VkCmdReserveSpaceForCommandsInfoNVX-         where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkCmdReserveSpaceForCommandsInfoNVX-         where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkObjectTable VkCmdReserveSpaceForCommandsInfoNVX where-        type VkObjectTableMType VkCmdReserveSpaceForCommandsInfoNVX =-             VkObjectTableNVX--        {-# NOINLINE vkObjectTable #-}-        vkObjectTable x+         CanReadField "pNext" VkCmdReserveSpaceForCommandsInfoNVX where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable})--        {-# INLINE vkObjectTableByteOffset #-}-        vkObjectTableByteOffset ~_-          = #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable}+              (peekByteOff (unsafePtr x) #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext}) -        {-# INLINE readVkObjectTable #-}-        readVkObjectTable p-          = peekByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext} -        {-# INLINE writeVkObjectTable #-}-        writeVkObjectTable p-          = pokeByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkCmdReserveSpaceForCommandsInfoNVX where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext}  instance {-# OVERLAPPING #-}          HasField "objectTable" VkCmdReserveSpaceForCommandsInfoNVX where@@ -229,44 +172,24 @@         fieldOffset           = #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable} -instance CanReadField "objectTable"-           VkCmdReserveSpaceForCommandsInfoNVX+instance {-# OVERLAPPING #-}+         CanReadField "objectTable" VkCmdReserveSpaceForCommandsInfoNVX          where-        {-# INLINE getField #-}-        getField = vkObjectTable+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable})          {-# INLINE readField #-}-        readField = readVkObjectTable--instance CanWriteField "objectTable"-           VkCmdReserveSpaceForCommandsInfoNVX-         where-        {-# INLINE writeField #-}-        writeField = writeVkObjectTable+        readField p+          = peekByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable}  instance {-# OVERLAPPING #-}-         HasVkIndirectCommandsLayout VkCmdReserveSpaceForCommandsInfoNVX+         CanWriteField "objectTable" VkCmdReserveSpaceForCommandsInfoNVX          where-        type VkIndirectCommandsLayoutMType-               VkCmdReserveSpaceForCommandsInfoNVX-             = VkIndirectCommandsLayoutNVX--        {-# NOINLINE vkIndirectCommandsLayout #-}-        vkIndirectCommandsLayout x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdReserveSpaceForCommandsInfoNVX, indirectCommandsLayout})--        {-# INLINE vkIndirectCommandsLayoutByteOffset #-}-        vkIndirectCommandsLayoutByteOffset ~_-          = #{offset VkCmdReserveSpaceForCommandsInfoNVX, indirectCommandsLayout}--        {-# INLINE readVkIndirectCommandsLayout #-}-        readVkIndirectCommandsLayout p-          = peekByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, indirectCommandsLayout}--        {-# INLINE writeVkIndirectCommandsLayout #-}-        writeVkIndirectCommandsLayout p-          = pokeByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, indirectCommandsLayout}+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable}  instance {-# OVERLAPPING #-}          HasField "indirectCommandsLayout"@@ -293,42 +216,26 @@         fieldOffset           = #{offset VkCmdReserveSpaceForCommandsInfoNVX, indirectCommandsLayout} -instance CanReadField "indirectCommandsLayout"+instance {-# OVERLAPPING #-}+         CanReadField "indirectCommandsLayout"            VkCmdReserveSpaceForCommandsInfoNVX          where-        {-# INLINE getField #-}-        getField = vkIndirectCommandsLayout+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCmdReserveSpaceForCommandsInfoNVX, indirectCommandsLayout})          {-# INLINE readField #-}-        readField = readVkIndirectCommandsLayout+        readField p+          = peekByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, indirectCommandsLayout} -instance CanWriteField "indirectCommandsLayout"+instance {-# OVERLAPPING #-}+         CanWriteField "indirectCommandsLayout"            VkCmdReserveSpaceForCommandsInfoNVX          where         {-# INLINE writeField #-}-        writeField = writeVkIndirectCommandsLayout--instance {-# OVERLAPPING #-}-         HasVkMaxSequencesCount VkCmdReserveSpaceForCommandsInfoNVX where-        type VkMaxSequencesCountMType VkCmdReserveSpaceForCommandsInfoNVX =-             Word32--        {-# NOINLINE vkMaxSequencesCount #-}-        vkMaxSequencesCount x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCmdReserveSpaceForCommandsInfoNVX, maxSequencesCount})--        {-# INLINE vkMaxSequencesCountByteOffset #-}-        vkMaxSequencesCountByteOffset ~_-          = #{offset VkCmdReserveSpaceForCommandsInfoNVX, maxSequencesCount}--        {-# INLINE readVkMaxSequencesCount #-}-        readVkMaxSequencesCount p-          = peekByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, maxSequencesCount}--        {-# INLINE writeVkMaxSequencesCount #-}-        writeVkMaxSequencesCount p-          = pokeByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, maxSequencesCount}+        writeField p+          = pokeByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, indirectCommandsLayout}  instance {-# OVERLAPPING #-}          HasField "maxSequencesCount" VkCmdReserveSpaceForCommandsInfoNVX@@ -354,35 +261,41 @@         fieldOffset           = #{offset VkCmdReserveSpaceForCommandsInfoNVX, maxSequencesCount} -instance CanReadField "maxSequencesCount"+instance {-# OVERLAPPING #-}+         CanReadField "maxSequencesCount"            VkCmdReserveSpaceForCommandsInfoNVX          where-        {-# INLINE getField #-}-        getField = vkMaxSequencesCount+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCmdReserveSpaceForCommandsInfoNVX, maxSequencesCount})          {-# INLINE readField #-}-        readField = readVkMaxSequencesCount+        readField p+          = peekByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, maxSequencesCount} -instance CanWriteField "maxSequencesCount"+instance {-# OVERLAPPING #-}+         CanWriteField "maxSequencesCount"            VkCmdReserveSpaceForCommandsInfoNVX          where         {-# INLINE writeField #-}-        writeField = writeVkMaxSequencesCount+        writeField p+          = pokeByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, maxSequencesCount}  instance Show VkCmdReserveSpaceForCommandsInfoNVX where         showsPrec d x           = showString "VkCmdReserveSpaceForCommandsInfoNVX {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkObjectTable = " .-                            showsPrec d (vkObjectTable x) .+                          showString "objectTable = " .+                            showsPrec d (getField @"objectTable" x) .                               showString ", " .-                                showString "vkIndirectCommandsLayout = " .-                                  showsPrec d (vkIndirectCommandsLayout x) .+                                showString "indirectCommandsLayout = " .+                                  showsPrec d (getField @"indirectCommandsLayout" x) .                                     showString ", " .-                                      showString "vkMaxSequencesCount = " .-                                        showsPrec d (vkMaxSequencesCount x) . showChar '}'+                                      showString "maxSequencesCount = " .+                                        showsPrec d (getField @"maxSequencesCount" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkCommandBufferAllocateInfo.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkCommandBufferAllocateInfo        (VkCommandBufferAllocateInfo(..)) where@@ -15,7 +16,6 @@ import           Graphics.Vulkan.Types.Enum.VkCommandBufferLevel (VkCommandBufferLevel) import           Graphics.Vulkan.Types.Enum.VkStructureType      (VkStructureType) import           Graphics.Vulkan.Types.Handles                   (VkCommandPool)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                (unsafeDupablePerformIO)  -- | > typedef struct VkCommandBufferAllocateInfo {@@ -26,7 +26,7 @@ --   >     uint32_t               commandBufferCount; --   > } VkCommandBufferAllocateInfo; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkCommandBufferAllocateInfo.html VkCommandBufferAllocateInfo registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkCommandBufferAllocateInfo.html VkCommandBufferAllocateInfo registry at www.khronos.org> data VkCommandBufferAllocateInfo = VkCommandBufferAllocateInfo## Addr##                                                                 ByteArray## @@ -78,27 +78,6 @@         type ReturnedOnly VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs         type StructExtends VkCommandBufferAllocateInfo = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSType VkCommandBufferAllocateInfo-         where-        type VkSTypeMType VkCommandBufferAllocateInfo = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferAllocateInfo, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkCommandBufferAllocateInfo, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkCommandBufferAllocateInfo, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkCommandBufferAllocateInfo, sType}- instance {-# OVERLAPPING #-}          HasField "sType" VkCommandBufferAllocateInfo where         type FieldType "sType" VkCommandBufferAllocateInfo =@@ -115,37 +94,22 @@         fieldOffset           = #{offset VkCommandBufferAllocateInfo, sType} -instance CanReadField "sType" VkCommandBufferAllocateInfo where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-}+         CanReadField "sType" VkCommandBufferAllocateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferAllocateInfo, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkCommandBufferAllocateInfo, sType} -instance CanWriteField "sType" VkCommandBufferAllocateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkCommandBufferAllocateInfo where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkCommandBufferAllocateInfo-         where-        type VkPNextMType VkCommandBufferAllocateInfo = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferAllocateInfo, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkCommandBufferAllocateInfo, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkCommandBufferAllocateInfo, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkCommandBufferAllocateInfo, pNext}+        writeField p+          = pokeByteOff p #{offset VkCommandBufferAllocateInfo, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkCommandBufferAllocateInfo where@@ -162,37 +126,22 @@         fieldOffset           = #{offset VkCommandBufferAllocateInfo, pNext} -instance CanReadField "pNext" VkCommandBufferAllocateInfo where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkCommandBufferAllocateInfo where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkCommandPool VkCommandBufferAllocateInfo where-        type VkCommandPoolMType VkCommandBufferAllocateInfo = VkCommandPool--        {-# NOINLINE vkCommandPool #-}-        vkCommandPool x+         CanReadField "pNext" VkCommandBufferAllocateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferAllocateInfo, commandPool})--        {-# INLINE vkCommandPoolByteOffset #-}-        vkCommandPoolByteOffset ~_-          = #{offset VkCommandBufferAllocateInfo, commandPool}+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferAllocateInfo, pNext}) -        {-# INLINE readVkCommandPool #-}-        readVkCommandPool p-          = peekByteOff p #{offset VkCommandBufferAllocateInfo, commandPool}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkCommandBufferAllocateInfo, pNext} -        {-# INLINE writeVkCommandPool #-}-        writeVkCommandPool p-          = pokeByteOff p #{offset VkCommandBufferAllocateInfo, commandPool}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkCommandBufferAllocateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkCommandBufferAllocateInfo, pNext}  instance {-# OVERLAPPING #-}          HasField "commandPool" VkCommandBufferAllocateInfo where@@ -212,40 +161,22 @@         fieldOffset           = #{offset VkCommandBufferAllocateInfo, commandPool} -instance CanReadField "commandPool" VkCommandBufferAllocateInfo-         where-        {-# INLINE getField #-}-        getField = vkCommandPool+instance {-# OVERLAPPING #-}+         CanReadField "commandPool" VkCommandBufferAllocateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferAllocateInfo, commandPool})          {-# INLINE readField #-}-        readField = readVkCommandPool+        readField p+          = peekByteOff p #{offset VkCommandBufferAllocateInfo, commandPool} -instance CanWriteField "commandPool" VkCommandBufferAllocateInfo-         where+instance {-# OVERLAPPING #-}+         CanWriteField "commandPool" VkCommandBufferAllocateInfo where         {-# INLINE writeField #-}-        writeField = writeVkCommandPool--instance {-# OVERLAPPING #-} HasVkLevel VkCommandBufferAllocateInfo-         where-        type VkLevelMType VkCommandBufferAllocateInfo =-             VkCommandBufferLevel--        {-# NOINLINE vkLevel #-}-        vkLevel x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferAllocateInfo, level})--        {-# INLINE vkLevelByteOffset #-}-        vkLevelByteOffset ~_-          = #{offset VkCommandBufferAllocateInfo, level}--        {-# INLINE readVkLevel #-}-        readVkLevel p-          = peekByteOff p #{offset VkCommandBufferAllocateInfo, level}--        {-# INLINE writeVkLevel #-}-        writeVkLevel p-          = pokeByteOff p #{offset VkCommandBufferAllocateInfo, level}+        writeField p+          = pokeByteOff p #{offset VkCommandBufferAllocateInfo, commandPool}  instance {-# OVERLAPPING #-}          HasField "level" VkCommandBufferAllocateInfo where@@ -263,37 +194,22 @@         fieldOffset           = #{offset VkCommandBufferAllocateInfo, level} -instance CanReadField "level" VkCommandBufferAllocateInfo where-        {-# INLINE getField #-}-        getField = vkLevel--        {-# INLINE readField #-}-        readField = readVkLevel--instance CanWriteField "level" VkCommandBufferAllocateInfo where-        {-# INLINE writeField #-}-        writeField = writeVkLevel- instance {-# OVERLAPPING #-}-         HasVkCommandBufferCount VkCommandBufferAllocateInfo where-        type VkCommandBufferCountMType VkCommandBufferAllocateInfo = Word32--        {-# NOINLINE vkCommandBufferCount #-}-        vkCommandBufferCount x+         CanReadField "level" VkCommandBufferAllocateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferAllocateInfo, commandBufferCount})--        {-# INLINE vkCommandBufferCountByteOffset #-}-        vkCommandBufferCountByteOffset ~_-          = #{offset VkCommandBufferAllocateInfo, commandBufferCount}+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferAllocateInfo, level}) -        {-# INLINE readVkCommandBufferCount #-}-        readVkCommandBufferCount p-          = peekByteOff p #{offset VkCommandBufferAllocateInfo, commandBufferCount}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkCommandBufferAllocateInfo, level} -        {-# INLINE writeVkCommandBufferCount #-}-        writeVkCommandBufferCount p-          = pokeByteOff p #{offset VkCommandBufferAllocateInfo, commandBufferCount}+instance {-# OVERLAPPING #-}+         CanWriteField "level" VkCommandBufferAllocateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkCommandBufferAllocateInfo, level}  instance {-# OVERLAPPING #-}          HasField "commandBufferCount" VkCommandBufferAllocateInfo where@@ -313,35 +229,39 @@         fieldOffset           = #{offset VkCommandBufferAllocateInfo, commandBufferCount} -instance CanReadField "commandBufferCount"-           VkCommandBufferAllocateInfo-         where-        {-# INLINE getField #-}-        getField = vkCommandBufferCount+instance {-# OVERLAPPING #-}+         CanReadField "commandBufferCount" VkCommandBufferAllocateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferAllocateInfo, commandBufferCount})          {-# INLINE readField #-}-        readField = readVkCommandBufferCount+        readField p+          = peekByteOff p #{offset VkCommandBufferAllocateInfo, commandBufferCount} -instance CanWriteField "commandBufferCount"-           VkCommandBufferAllocateInfo+instance {-# OVERLAPPING #-}+         CanWriteField "commandBufferCount" VkCommandBufferAllocateInfo          where         {-# INLINE writeField #-}-        writeField = writeVkCommandBufferCount+        writeField p+          = pokeByteOff p #{offset VkCommandBufferAllocateInfo, commandBufferCount}  instance Show VkCommandBufferAllocateInfo where         showsPrec d x           = showString "VkCommandBufferAllocateInfo {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkCommandPool = " .-                            showsPrec d (vkCommandPool x) .+                          showString "commandPool = " .+                            showsPrec d (getField @"commandPool" x) .                               showString ", " .-                                showString "vkLevel = " .-                                  showsPrec d (vkLevel x) .+                                showString "level = " .+                                  showsPrec d (getField @"level" x) .                                     showString ", " .-                                      showString "vkCommandBufferCount = " .-                                        showsPrec d (vkCommandBufferCount x) . showChar '}'+                                      showString "commandBufferCount = " .+                                        showsPrec d (getField @"commandBufferCount" x) .+                                          showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkCommandBufferBeginInfo.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkCommandBufferBeginInfo        (VkCommandBufferBeginInfo(..)) where@@ -15,7 +16,6 @@ import           Graphics.Vulkan.Types.Enum.VkCommandBufferUsageFlags        (VkCommandBufferUsageFlags) import           Graphics.Vulkan.Types.Enum.VkStructureType                  (VkStructureType) import           Graphics.Vulkan.Types.Struct.VkCommandBufferInheritanceInfo (VkCommandBufferInheritanceInfo)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                            (unsafeDupablePerformIO)  -- | > typedef struct VkCommandBufferBeginInfo {@@ -25,7 +25,7 @@ --   >     const VkCommandBufferInheritanceInfo*       pInheritanceInfo; --   > } VkCommandBufferBeginInfo; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkCommandBufferBeginInfo.html VkCommandBufferBeginInfo registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkCommandBufferBeginInfo.html VkCommandBufferBeginInfo registry at www.khronos.org> data VkCommandBufferBeginInfo = VkCommandBufferBeginInfo## Addr##                                                           ByteArray## @@ -75,27 +75,6 @@         type ReturnedOnly VkCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs         type StructExtends VkCommandBufferBeginInfo = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSType VkCommandBufferBeginInfo-         where-        type VkSTypeMType VkCommandBufferBeginInfo = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferBeginInfo, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkCommandBufferBeginInfo, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkCommandBufferBeginInfo, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkCommandBufferBeginInfo, sType}- instance {-# OVERLAPPING #-}          HasField "sType" VkCommandBufferBeginInfo where         type FieldType "sType" VkCommandBufferBeginInfo = VkStructureType@@ -110,37 +89,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkCommandBufferBeginInfo, sType} -instance CanReadField "sType" VkCommandBufferBeginInfo where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-}+         CanReadField "sType" VkCommandBufferBeginInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferBeginInfo, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkCommandBufferBeginInfo, sType} -instance CanWriteField "sType" VkCommandBufferBeginInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkCommandBufferBeginInfo where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkCommandBufferBeginInfo-         where-        type VkPNextMType VkCommandBufferBeginInfo = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferBeginInfo, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkCommandBufferBeginInfo, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkCommandBufferBeginInfo, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkCommandBufferBeginInfo, pNext}+        writeField p+          = pokeByteOff p #{offset VkCommandBufferBeginInfo, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkCommandBufferBeginInfo where@@ -156,38 +120,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkCommandBufferBeginInfo, pNext} -instance CanReadField "pNext" VkCommandBufferBeginInfo where-        {-# INLINE getField #-}-        getField = vkPNext+instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkCommandBufferBeginInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferBeginInfo, pNext})          {-# INLINE readField #-}-        readField = readVkPNext+        readField p+          = peekByteOff p #{offset VkCommandBufferBeginInfo, pNext} -instance CanWriteField "pNext" VkCommandBufferBeginInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkCommandBufferBeginInfo where         {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-} HasVkFlags VkCommandBufferBeginInfo-         where-        type VkFlagsMType VkCommandBufferBeginInfo =-             VkCommandBufferUsageFlags--        {-# NOINLINE vkFlags #-}-        vkFlags x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferBeginInfo, flags})--        {-# INLINE vkFlagsByteOffset #-}-        vkFlagsByteOffset ~_-          = #{offset VkCommandBufferBeginInfo, flags}--        {-# INLINE readVkFlags #-}-        readVkFlags p-          = peekByteOff p #{offset VkCommandBufferBeginInfo, flags}--        {-# INLINE writeVkFlags #-}-        writeVkFlags p-          = pokeByteOff p #{offset VkCommandBufferBeginInfo, flags}+        writeField p+          = pokeByteOff p #{offset VkCommandBufferBeginInfo, pNext}  instance {-# OVERLAPPING #-}          HasField "flags" VkCommandBufferBeginInfo where@@ -204,38 +152,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkCommandBufferBeginInfo, flags} -instance CanReadField "flags" VkCommandBufferBeginInfo where-        {-# INLINE getField #-}-        getField = vkFlags--        {-# INLINE readField #-}-        readField = readVkFlags--instance CanWriteField "flags" VkCommandBufferBeginInfo where-        {-# INLINE writeField #-}-        writeField = writeVkFlags- instance {-# OVERLAPPING #-}-         HasVkPInheritanceInfo VkCommandBufferBeginInfo where-        type VkPInheritanceInfoMType VkCommandBufferBeginInfo =-             Ptr VkCommandBufferInheritanceInfo--        {-# NOINLINE vkPInheritanceInfo #-}-        vkPInheritanceInfo x+         CanReadField "flags" VkCommandBufferBeginInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferBeginInfo, pInheritanceInfo})--        {-# INLINE vkPInheritanceInfoByteOffset #-}-        vkPInheritanceInfoByteOffset ~_-          = #{offset VkCommandBufferBeginInfo, pInheritanceInfo}+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferBeginInfo, flags}) -        {-# INLINE readVkPInheritanceInfo #-}-        readVkPInheritanceInfo p-          = peekByteOff p #{offset VkCommandBufferBeginInfo, pInheritanceInfo}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkCommandBufferBeginInfo, flags} -        {-# INLINE writeVkPInheritanceInfo #-}-        writeVkPInheritanceInfo p-          = pokeByteOff p #{offset VkCommandBufferBeginInfo, pInheritanceInfo}+instance {-# OVERLAPPING #-}+         CanWriteField "flags" VkCommandBufferBeginInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkCommandBufferBeginInfo, flags}  instance {-# OVERLAPPING #-}          HasField "pInheritanceInfo" VkCommandBufferBeginInfo where@@ -255,30 +187,34 @@         fieldOffset           = #{offset VkCommandBufferBeginInfo, pInheritanceInfo} -instance CanReadField "pInheritanceInfo" VkCommandBufferBeginInfo-         where-        {-# INLINE getField #-}-        getField = vkPInheritanceInfo+instance {-# OVERLAPPING #-}+         CanReadField "pInheritanceInfo" VkCommandBufferBeginInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferBeginInfo, pInheritanceInfo})          {-# INLINE readField #-}-        readField = readVkPInheritanceInfo+        readField p+          = peekByteOff p #{offset VkCommandBufferBeginInfo, pInheritanceInfo} -instance CanWriteField "pInheritanceInfo" VkCommandBufferBeginInfo-         where+instance {-# OVERLAPPING #-}+         CanWriteField "pInheritanceInfo" VkCommandBufferBeginInfo where         {-# INLINE writeField #-}-        writeField = writeVkPInheritanceInfo+        writeField p+          = pokeByteOff p #{offset VkCommandBufferBeginInfo, pInheritanceInfo}  instance Show VkCommandBufferBeginInfo where         showsPrec d x           = showString "VkCommandBufferBeginInfo {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkFlags = " .-                            showsPrec d (vkFlags x) .+                          showString "flags = " .+                            showsPrec d (getField @"flags" x) .                               showString ", " .-                                showString "vkPInheritanceInfo = " .-                                  showsPrec d (vkPInheritanceInfo x) . showChar '}'+                                showString "pInheritanceInfo = " .+                                  showsPrec d (getField @"pInheritanceInfo" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkCommandBufferInheritanceInfo.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkCommandBufferInheritanceInfo        (VkCommandBufferInheritanceInfo(..)) where@@ -18,7 +19,6 @@ import           Graphics.Vulkan.Types.Enum.VkStructureType               (VkStructureType) import           Graphics.Vulkan.Types.Handles                            (VkFramebuffer,                                                                            VkRenderPass)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                         (unsafeDupablePerformIO)  -- | > typedef struct VkCommandBufferInheritanceInfo {@@ -32,7 +32,7 @@ --   >     VkQueryPipelineStatisticFlags pipelineStatistics; --   > } VkCommandBufferInheritanceInfo; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkCommandBufferInheritanceInfo.html VkCommandBufferInheritanceInfo registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkCommandBufferInheritanceInfo.html VkCommandBufferInheritanceInfo registry at www.khronos.org> data VkCommandBufferInheritanceInfo = VkCommandBufferInheritanceInfo## Addr##                                                                       ByteArray## @@ -87,27 +87,6 @@         type StructExtends VkCommandBufferInheritanceInfo = '[] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkSType VkCommandBufferInheritanceInfo where-        type VkSTypeMType VkCommandBufferInheritanceInfo = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkCommandBufferInheritanceInfo, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, sType}--instance {-# OVERLAPPING #-}          HasField "sType" VkCommandBufferInheritanceInfo where         type FieldType "sType" VkCommandBufferInheritanceInfo =              VkStructureType@@ -123,37 +102,22 @@         fieldOffset           = #{offset VkCommandBufferInheritanceInfo, sType} -instance CanReadField "sType" VkCommandBufferInheritanceInfo where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkCommandBufferInheritanceInfo where-        {-# INLINE writeField #-}-        writeField = writeVkSType- instance {-# OVERLAPPING #-}-         HasVkPNext VkCommandBufferInheritanceInfo where-        type VkPNextMType VkCommandBufferInheritanceInfo = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x+         CanReadField "sType" VkCommandBufferInheritanceInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkCommandBufferInheritanceInfo, pNext}+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, sType}) -        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, pNext}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, sType} -        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, pNext}+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkCommandBufferInheritanceInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkCommandBufferInheritanceInfo where@@ -170,38 +134,22 @@         fieldOffset           = #{offset VkCommandBufferInheritanceInfo, pNext} -instance CanReadField "pNext" VkCommandBufferInheritanceInfo where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkCommandBufferInheritanceInfo where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkRenderPass VkCommandBufferInheritanceInfo where-        type VkRenderPassMType VkCommandBufferInheritanceInfo =-             VkRenderPass--        {-# NOINLINE vkRenderPass #-}-        vkRenderPass x+         CanReadField "pNext" VkCommandBufferInheritanceInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, renderPass})--        {-# INLINE vkRenderPassByteOffset #-}-        vkRenderPassByteOffset ~_-          = #{offset VkCommandBufferInheritanceInfo, renderPass}+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, pNext}) -        {-# INLINE readVkRenderPass #-}-        readVkRenderPass p-          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, renderPass}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, pNext} -        {-# INLINE writeVkRenderPass #-}-        writeVkRenderPass p-          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, renderPass}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkCommandBufferInheritanceInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, pNext}  instance {-# OVERLAPPING #-}          HasField "renderPass" VkCommandBufferInheritanceInfo where@@ -221,39 +169,22 @@         fieldOffset           = #{offset VkCommandBufferInheritanceInfo, renderPass} -instance CanReadField "renderPass" VkCommandBufferInheritanceInfo-         where-        {-# INLINE getField #-}-        getField = vkRenderPass--        {-# INLINE readField #-}-        readField = readVkRenderPass--instance CanWriteField "renderPass" VkCommandBufferInheritanceInfo-         where-        {-# INLINE writeField #-}-        writeField = writeVkRenderPass- instance {-# OVERLAPPING #-}-         HasVkSubpass VkCommandBufferInheritanceInfo where-        type VkSubpassMType VkCommandBufferInheritanceInfo = Word32--        {-# NOINLINE vkSubpass #-}-        vkSubpass x+         CanReadField "renderPass" VkCommandBufferInheritanceInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, subpass})--        {-# INLINE vkSubpassByteOffset #-}-        vkSubpassByteOffset ~_-          = #{offset VkCommandBufferInheritanceInfo, subpass}+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, renderPass}) -        {-# INLINE readVkSubpass #-}-        readVkSubpass p-          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, subpass}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, renderPass} -        {-# INLINE writeVkSubpass #-}-        writeVkSubpass p-          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, subpass}+instance {-# OVERLAPPING #-}+         CanWriteField "renderPass" VkCommandBufferInheritanceInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, renderPass}  instance {-# OVERLAPPING #-}          HasField "subpass" VkCommandBufferInheritanceInfo where@@ -271,40 +202,22 @@         fieldOffset           = #{offset VkCommandBufferInheritanceInfo, subpass} -instance CanReadField "subpass" VkCommandBufferInheritanceInfo-         where-        {-# INLINE getField #-}-        getField = vkSubpass--        {-# INLINE readField #-}-        readField = readVkSubpass--instance CanWriteField "subpass" VkCommandBufferInheritanceInfo-         where-        {-# INLINE writeField #-}-        writeField = writeVkSubpass- instance {-# OVERLAPPING #-}-         HasVkFramebuffer VkCommandBufferInheritanceInfo where-        type VkFramebufferMType VkCommandBufferInheritanceInfo =-             VkFramebuffer--        {-# NOINLINE vkFramebuffer #-}-        vkFramebuffer x+         CanReadField "subpass" VkCommandBufferInheritanceInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, framebuffer})--        {-# INLINE vkFramebufferByteOffset #-}-        vkFramebufferByteOffset ~_-          = #{offset VkCommandBufferInheritanceInfo, framebuffer}+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, subpass}) -        {-# INLINE readVkFramebuffer #-}-        readVkFramebuffer p-          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, framebuffer}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, subpass} -        {-# INLINE writeVkFramebuffer #-}-        writeVkFramebuffer p-          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, framebuffer}+instance {-# OVERLAPPING #-}+         CanWriteField "subpass" VkCommandBufferInheritanceInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, subpass}  instance {-# OVERLAPPING #-}          HasField "framebuffer" VkCommandBufferInheritanceInfo where@@ -324,40 +237,22 @@         fieldOffset           = #{offset VkCommandBufferInheritanceInfo, framebuffer} -instance CanReadField "framebuffer" VkCommandBufferInheritanceInfo-         where-        {-# INLINE getField #-}-        getField = vkFramebuffer--        {-# INLINE readField #-}-        readField = readVkFramebuffer--instance CanWriteField "framebuffer" VkCommandBufferInheritanceInfo-         where-        {-# INLINE writeField #-}-        writeField = writeVkFramebuffer- instance {-# OVERLAPPING #-}-         HasVkOcclusionQueryEnable VkCommandBufferInheritanceInfo where-        type VkOcclusionQueryEnableMType VkCommandBufferInheritanceInfo =-             VkBool32--        {-# NOINLINE vkOcclusionQueryEnable #-}-        vkOcclusionQueryEnable x+         CanReadField "framebuffer" VkCommandBufferInheritanceInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable})--        {-# INLINE vkOcclusionQueryEnableByteOffset #-}-        vkOcclusionQueryEnableByteOffset ~_-          = #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable}+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, framebuffer}) -        {-# INLINE readVkOcclusionQueryEnable #-}-        readVkOcclusionQueryEnable p-          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, framebuffer} -        {-# INLINE writeVkOcclusionQueryEnable #-}-        writeVkOcclusionQueryEnable p-          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable}+instance {-# OVERLAPPING #-}+         CanWriteField "framebuffer" VkCommandBufferInheritanceInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, framebuffer}  instance {-# OVERLAPPING #-}          HasField "occlusionQueryEnable" VkCommandBufferInheritanceInfo@@ -383,42 +278,24 @@         fieldOffset           = #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable} -instance CanReadField "occlusionQueryEnable"-           VkCommandBufferInheritanceInfo+instance {-# OVERLAPPING #-}+         CanReadField "occlusionQueryEnable" VkCommandBufferInheritanceInfo          where-        {-# INLINE getField #-}-        getField = vkOcclusionQueryEnable+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable})          {-# INLINE readField #-}-        readField = readVkOcclusionQueryEnable+        readField p+          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable} -instance CanWriteField "occlusionQueryEnable"-           VkCommandBufferInheritanceInfo+instance {-# OVERLAPPING #-}+         CanWriteField "occlusionQueryEnable" VkCommandBufferInheritanceInfo          where         {-# INLINE writeField #-}-        writeField = writeVkOcclusionQueryEnable--instance {-# OVERLAPPING #-}-         HasVkQueryFlags VkCommandBufferInheritanceInfo where-        type VkQueryFlagsMType VkCommandBufferInheritanceInfo =-             VkQueryControlFlags--        {-# NOINLINE vkQueryFlags #-}-        vkQueryFlags x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, queryFlags})--        {-# INLINE vkQueryFlagsByteOffset #-}-        vkQueryFlagsByteOffset ~_-          = #{offset VkCommandBufferInheritanceInfo, queryFlags}--        {-# INLINE readVkQueryFlags #-}-        readVkQueryFlags p-          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, queryFlags}--        {-# INLINE writeVkQueryFlags #-}-        writeVkQueryFlags p-          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, queryFlags}+        writeField p+          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable}  instance {-# OVERLAPPING #-}          HasField "queryFlags" VkCommandBufferInheritanceInfo where@@ -438,40 +315,22 @@         fieldOffset           = #{offset VkCommandBufferInheritanceInfo, queryFlags} -instance CanReadField "queryFlags" VkCommandBufferInheritanceInfo-         where-        {-# INLINE getField #-}-        getField = vkQueryFlags--        {-# INLINE readField #-}-        readField = readVkQueryFlags--instance CanWriteField "queryFlags" VkCommandBufferInheritanceInfo-         where-        {-# INLINE writeField #-}-        writeField = writeVkQueryFlags- instance {-# OVERLAPPING #-}-         HasVkPipelineStatistics VkCommandBufferInheritanceInfo where-        type VkPipelineStatisticsMType VkCommandBufferInheritanceInfo =-             VkQueryPipelineStatisticFlags--        {-# NOINLINE vkPipelineStatistics #-}-        vkPipelineStatistics x+         CanReadField "queryFlags" VkCommandBufferInheritanceInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, pipelineStatistics})--        {-# INLINE vkPipelineStatisticsByteOffset #-}-        vkPipelineStatisticsByteOffset ~_-          = #{offset VkCommandBufferInheritanceInfo, pipelineStatistics}+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, queryFlags}) -        {-# INLINE readVkPipelineStatistics #-}-        readVkPipelineStatistics p-          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, pipelineStatistics}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, queryFlags} -        {-# INLINE writeVkPipelineStatistics #-}-        writeVkPipelineStatistics p-          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, pipelineStatistics}+instance {-# OVERLAPPING #-}+         CanWriteField "queryFlags" VkCommandBufferInheritanceInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, queryFlags}  instance {-# OVERLAPPING #-}          HasField "pipelineStatistics" VkCommandBufferInheritanceInfo where@@ -495,45 +354,50 @@         fieldOffset           = #{offset VkCommandBufferInheritanceInfo, pipelineStatistics} -instance CanReadField "pipelineStatistics"-           VkCommandBufferInheritanceInfo+instance {-# OVERLAPPING #-}+         CanReadField "pipelineStatistics" VkCommandBufferInheritanceInfo          where-        {-# INLINE getField #-}-        getField = vkPipelineStatistics+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, pipelineStatistics})          {-# INLINE readField #-}-        readField = readVkPipelineStatistics+        readField p+          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, pipelineStatistics} -instance CanWriteField "pipelineStatistics"-           VkCommandBufferInheritanceInfo+instance {-# OVERLAPPING #-}+         CanWriteField "pipelineStatistics" VkCommandBufferInheritanceInfo          where         {-# INLINE writeField #-}-        writeField = writeVkPipelineStatistics+        writeField p+          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, pipelineStatistics}  instance Show VkCommandBufferInheritanceInfo where         showsPrec d x           = showString "VkCommandBufferInheritanceInfo {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkRenderPass = " .-                            showsPrec d (vkRenderPass x) .+                          showString "renderPass = " .+                            showsPrec d (getField @"renderPass" x) .                               showString ", " .-                                showString "vkSubpass = " .-                                  showsPrec d (vkSubpass x) .+                                showString "subpass = " .+                                  showsPrec d (getField @"subpass" x) .                                     showString ", " .-                                      showString "vkFramebuffer = " .-                                        showsPrec d (vkFramebuffer x) .+                                      showString "framebuffer = " .+                                        showsPrec d (getField @"framebuffer" x) .                                           showString ", " .-                                            showString "vkOcclusionQueryEnable = " .-                                              showsPrec d (vkOcclusionQueryEnable x) .+                                            showString "occlusionQueryEnable = " .+                                              showsPrec d (getField @"occlusionQueryEnable" x) .                                                 showString ", " .-                                                  showString "vkQueryFlags = " .-                                                    showsPrec d (vkQueryFlags x) .+                                                  showString "queryFlags = " .+                                                    showsPrec d (getField @"queryFlags" x) .                                                       showString ", " .-                                                        showString "vkPipelineStatistics = " .-                                                          showsPrec d (vkPipelineStatistics x) .-                                                            showChar '}'+                                                        showString "pipelineStatistics = " .+                                                          showsPrec d+                                                            (getField @"pipelineStatistics" x)+                                                            . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkCommandPoolCreateInfo.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkCommandPoolCreateInfo        (VkCommandPoolCreateInfo(..)) where@@ -14,7 +15,6 @@ import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.Enum.VkCommandPoolCreateFlags (VkCommandPoolCreateFlags) import           Graphics.Vulkan.Types.Enum.VkStructureType          (VkStructureType)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                    (unsafeDupablePerformIO)  -- | > typedef struct VkCommandPoolCreateInfo {@@ -24,7 +24,7 @@ --   >     uint32_t               queueFamilyIndex; --   > } VkCommandPoolCreateInfo; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkCommandPoolCreateInfo.html VkCommandPoolCreateInfo registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkCommandPoolCreateInfo.html VkCommandPoolCreateInfo registry at www.khronos.org> data VkCommandPoolCreateInfo = VkCommandPoolCreateInfo## Addr##                                                         ByteArray## @@ -73,27 +73,6 @@         type ReturnedOnly VkCommandPoolCreateInfo = 'False -- ' closing tick for hsc2hs         type StructExtends VkCommandPoolCreateInfo = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSType VkCommandPoolCreateInfo-         where-        type VkSTypeMType VkCommandPoolCreateInfo = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandPoolCreateInfo, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkCommandPoolCreateInfo, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkCommandPoolCreateInfo, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkCommandPoolCreateInfo, sType}- instance {-# OVERLAPPING #-}          HasField "sType" VkCommandPoolCreateInfo where         type FieldType "sType" VkCommandPoolCreateInfo = VkStructureType@@ -108,37 +87,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkCommandPoolCreateInfo, sType} -instance CanReadField "sType" VkCommandPoolCreateInfo where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-}+         CanReadField "sType" VkCommandPoolCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCommandPoolCreateInfo, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkCommandPoolCreateInfo, sType} -instance CanWriteField "sType" VkCommandPoolCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkCommandPoolCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkCommandPoolCreateInfo-         where-        type VkPNextMType VkCommandPoolCreateInfo = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandPoolCreateInfo, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkCommandPoolCreateInfo, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkCommandPoolCreateInfo, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkCommandPoolCreateInfo, pNext}+        writeField p+          = pokeByteOff p #{offset VkCommandPoolCreateInfo, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkCommandPoolCreateInfo where@@ -154,38 +118,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkCommandPoolCreateInfo, pNext} -instance CanReadField "pNext" VkCommandPoolCreateInfo where-        {-# INLINE getField #-}-        getField = vkPNext+instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkCommandPoolCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCommandPoolCreateInfo, pNext})          {-# INLINE readField #-}-        readField = readVkPNext+        readField p+          = peekByteOff p #{offset VkCommandPoolCreateInfo, pNext} -instance CanWriteField "pNext" VkCommandPoolCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkCommandPoolCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-} HasVkFlags VkCommandPoolCreateInfo-         where-        type VkFlagsMType VkCommandPoolCreateInfo =-             VkCommandPoolCreateFlags--        {-# NOINLINE vkFlags #-}-        vkFlags x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandPoolCreateInfo, flags})--        {-# INLINE vkFlagsByteOffset #-}-        vkFlagsByteOffset ~_-          = #{offset VkCommandPoolCreateInfo, flags}--        {-# INLINE readVkFlags #-}-        readVkFlags p-          = peekByteOff p #{offset VkCommandPoolCreateInfo, flags}--        {-# INLINE writeVkFlags #-}-        writeVkFlags p-          = pokeByteOff p #{offset VkCommandPoolCreateInfo, flags}+        writeField p+          = pokeByteOff p #{offset VkCommandPoolCreateInfo, pNext}  instance {-# OVERLAPPING #-}          HasField "flags" VkCommandPoolCreateInfo where@@ -202,37 +150,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkCommandPoolCreateInfo, flags} -instance CanReadField "flags" VkCommandPoolCreateInfo where-        {-# INLINE getField #-}-        getField = vkFlags--        {-# INLINE readField #-}-        readField = readVkFlags--instance CanWriteField "flags" VkCommandPoolCreateInfo where-        {-# INLINE writeField #-}-        writeField = writeVkFlags- instance {-# OVERLAPPING #-}-         HasVkQueueFamilyIndex VkCommandPoolCreateInfo where-        type VkQueueFamilyIndexMType VkCommandPoolCreateInfo = Word32--        {-# NOINLINE vkQueueFamilyIndex #-}-        vkQueueFamilyIndex x+         CanReadField "flags" VkCommandPoolCreateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCommandPoolCreateInfo, queueFamilyIndex})--        {-# INLINE vkQueueFamilyIndexByteOffset #-}-        vkQueueFamilyIndexByteOffset ~_-          = #{offset VkCommandPoolCreateInfo, queueFamilyIndex}+              (peekByteOff (unsafePtr x) #{offset VkCommandPoolCreateInfo, flags}) -        {-# INLINE readVkQueueFamilyIndex #-}-        readVkQueueFamilyIndex p-          = peekByteOff p #{offset VkCommandPoolCreateInfo, queueFamilyIndex}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkCommandPoolCreateInfo, flags} -        {-# INLINE writeVkQueueFamilyIndex #-}-        writeVkQueueFamilyIndex p-          = pokeByteOff p #{offset VkCommandPoolCreateInfo, queueFamilyIndex}+instance {-# OVERLAPPING #-}+         CanWriteField "flags" VkCommandPoolCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkCommandPoolCreateInfo, flags}  instance {-# OVERLAPPING #-}          HasField "queueFamilyIndex" VkCommandPoolCreateInfo where@@ -251,30 +184,34 @@         fieldOffset           = #{offset VkCommandPoolCreateInfo, queueFamilyIndex} -instance CanReadField "queueFamilyIndex" VkCommandPoolCreateInfo-         where-        {-# INLINE getField #-}-        getField = vkQueueFamilyIndex+instance {-# OVERLAPPING #-}+         CanReadField "queueFamilyIndex" VkCommandPoolCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCommandPoolCreateInfo, queueFamilyIndex})          {-# INLINE readField #-}-        readField = readVkQueueFamilyIndex+        readField p+          = peekByteOff p #{offset VkCommandPoolCreateInfo, queueFamilyIndex} -instance CanWriteField "queueFamilyIndex" VkCommandPoolCreateInfo-         where+instance {-# OVERLAPPING #-}+         CanWriteField "queueFamilyIndex" VkCommandPoolCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkQueueFamilyIndex+        writeField p+          = pokeByteOff p #{offset VkCommandPoolCreateInfo, queueFamilyIndex}  instance Show VkCommandPoolCreateInfo where         showsPrec d x           = showString "VkCommandPoolCreateInfo {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkFlags = " .-                            showsPrec d (vkFlags x) .+                          showString "flags = " .+                            showsPrec d (getField @"flags" x) .                               showString ", " .-                                showString "vkQueueFamilyIndex = " .-                                  showsPrec d (vkQueueFamilyIndex x) . showChar '}'+                                showString "queueFamilyIndex = " .+                                  showsPrec d (getField @"queueFamilyIndex" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkComponentMapping.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkComponentMapping        (VkComponentMapping(..)) where@@ -13,7 +14,6 @@ import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.Enum.VkComponentSwizzle (VkComponentSwizzle)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                              (unsafeDupablePerformIO)  -- | > typedef struct VkComponentMapping {@@ -23,7 +23,7 @@ --   >     VkComponentSwizzle a; --   > } VkComponentMapping; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkComponentMapping.html VkComponentMapping registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkComponentMapping.html VkComponentMapping registry at www.khronos.org> data VkComponentMapping = VkComponentMapping## Addr## ByteArray##  instance Eq VkComponentMapping where@@ -70,25 +70,6 @@         type ReturnedOnly VkComponentMapping = 'False -- ' closing tick for hsc2hs         type StructExtends VkComponentMapping = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkR VkComponentMapping where-        type VkRMType VkComponentMapping = VkComponentSwizzle--        {-# NOINLINE vkR #-}-        vkR x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkComponentMapping, r})--        {-# INLINE vkRByteOffset #-}-        vkRByteOffset ~_ = #{offset VkComponentMapping, r}--        {-# INLINE readVkR #-}-        readVkR p-          = peekByteOff p #{offset VkComponentMapping, r}--        {-# INLINE writeVkR #-}-        writeVkR p-          = pokeByteOff p #{offset VkComponentMapping, r}- instance {-# OVERLAPPING #-} HasField "r" VkComponentMapping where         type FieldType "r" VkComponentMapping = VkComponentSwizzle         type FieldOptional "r" VkComponentMapping = 'False -- ' closing tick for hsc2hs@@ -102,35 +83,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkComponentMapping, r} -instance CanReadField "r" VkComponentMapping where-        {-# INLINE getField #-}-        getField = vkR+instance {-# OVERLAPPING #-} CanReadField "r" VkComponentMapping+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkComponentMapping, r})          {-# INLINE readField #-}-        readField = readVkR+        readField p+          = peekByteOff p #{offset VkComponentMapping, r} -instance CanWriteField "r" VkComponentMapping where+instance {-# OVERLAPPING #-} CanWriteField "r" VkComponentMapping+         where         {-# INLINE writeField #-}-        writeField = writeVkR--instance {-# OVERLAPPING #-} HasVkG VkComponentMapping where-        type VkGMType VkComponentMapping = VkComponentSwizzle--        {-# NOINLINE vkG #-}-        vkG x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkComponentMapping, g})--        {-# INLINE vkGByteOffset #-}-        vkGByteOffset ~_ = #{offset VkComponentMapping, g}--        {-# INLINE readVkG #-}-        readVkG p-          = peekByteOff p #{offset VkComponentMapping, g}--        {-# INLINE writeVkG #-}-        writeVkG p-          = pokeByteOff p #{offset VkComponentMapping, g}+        writeField p+          = pokeByteOff p #{offset VkComponentMapping, r}  instance {-# OVERLAPPING #-} HasField "g" VkComponentMapping where         type FieldType "g" VkComponentMapping = VkComponentSwizzle@@ -145,35 +113,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkComponentMapping, g} -instance CanReadField "g" VkComponentMapping where-        {-# INLINE getField #-}-        getField = vkG+instance {-# OVERLAPPING #-} CanReadField "g" VkComponentMapping+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkComponentMapping, g})          {-# INLINE readField #-}-        readField = readVkG+        readField p+          = peekByteOff p #{offset VkComponentMapping, g} -instance CanWriteField "g" VkComponentMapping where+instance {-# OVERLAPPING #-} CanWriteField "g" VkComponentMapping+         where         {-# INLINE writeField #-}-        writeField = writeVkG--instance {-# OVERLAPPING #-} HasVkB VkComponentMapping where-        type VkBMType VkComponentMapping = VkComponentSwizzle--        {-# NOINLINE vkB #-}-        vkB x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkComponentMapping, b})--        {-# INLINE vkBByteOffset #-}-        vkBByteOffset ~_ = #{offset VkComponentMapping, b}--        {-# INLINE readVkB #-}-        readVkB p-          = peekByteOff p #{offset VkComponentMapping, b}--        {-# INLINE writeVkB #-}-        writeVkB p-          = pokeByteOff p #{offset VkComponentMapping, b}+        writeField p+          = pokeByteOff p #{offset VkComponentMapping, g}  instance {-# OVERLAPPING #-} HasField "b" VkComponentMapping where         type FieldType "b" VkComponentMapping = VkComponentSwizzle@@ -188,35 +143,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkComponentMapping, b} -instance CanReadField "b" VkComponentMapping where-        {-# INLINE getField #-}-        getField = vkB+instance {-# OVERLAPPING #-} CanReadField "b" VkComponentMapping+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkComponentMapping, b})          {-# INLINE readField #-}-        readField = readVkB+        readField p+          = peekByteOff p #{offset VkComponentMapping, b} -instance CanWriteField "b" VkComponentMapping where+instance {-# OVERLAPPING #-} CanWriteField "b" VkComponentMapping+         where         {-# INLINE writeField #-}-        writeField = writeVkB--instance {-# OVERLAPPING #-} HasVkA VkComponentMapping where-        type VkAMType VkComponentMapping = VkComponentSwizzle--        {-# NOINLINE vkA #-}-        vkA x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkComponentMapping, a})--        {-# INLINE vkAByteOffset #-}-        vkAByteOffset ~_ = #{offset VkComponentMapping, a}--        {-# INLINE readVkA #-}-        readVkA p-          = peekByteOff p #{offset VkComponentMapping, a}--        {-# INLINE writeVkA #-}-        writeVkA p-          = pokeByteOff p #{offset VkComponentMapping, a}+        writeField p+          = pokeByteOff p #{offset VkComponentMapping, b}  instance {-# OVERLAPPING #-} HasField "a" VkComponentMapping where         type FieldType "a" VkComponentMapping = VkComponentSwizzle@@ -231,27 +173,33 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkComponentMapping, a} -instance CanReadField "a" VkComponentMapping where-        {-# INLINE getField #-}-        getField = vkA+instance {-# OVERLAPPING #-} CanReadField "a" VkComponentMapping+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkComponentMapping, a})          {-# INLINE readField #-}-        readField = readVkA+        readField p+          = peekByteOff p #{offset VkComponentMapping, a} -instance CanWriteField "a" VkComponentMapping where+instance {-# OVERLAPPING #-} CanWriteField "a" VkComponentMapping+         where         {-# INLINE writeField #-}-        writeField = writeVkA+        writeField p+          = pokeByteOff p #{offset VkComponentMapping, a}  instance Show VkComponentMapping where         showsPrec d x           = showString "VkComponentMapping {" .-              showString "vkR = " .-                showsPrec d (vkR x) .+              showString "r = " .+                showsPrec d (getField @"r" x) .                   showString ", " .-                    showString "vkG = " .-                      showsPrec d (vkG x) .+                    showString "g = " .+                      showsPrec d (getField @"g" x) .                         showString ", " .-                          showString "vkB = " .-                            showsPrec d (vkB x) .+                          showString "b = " .+                            showsPrec d (getField @"b" x) .                               showString ", " .-                                showString "vkA = " . showsPrec d (vkA x) . showChar '}'+                                showString "a = " . showsPrec d (getField @"a" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkComputePipelineCreateInfo.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkComputePipelineCreateInfo        (VkComputePipelineCreateInfo(..)) where@@ -17,7 +18,6 @@ import           Graphics.Vulkan.Types.Handles                                (VkPipeline,                                                                                VkPipelineLayout) import           Graphics.Vulkan.Types.Struct.VkPipelineShaderStageCreateInfo (VkPipelineShaderStageCreateInfo)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                             (unsafeDupablePerformIO)  -- | > typedef struct VkComputePipelineCreateInfo {@@ -30,7 +30,7 @@ --   >     int32_t                basePipelineIndex; --   > } VkComputePipelineCreateInfo; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkComputePipelineCreateInfo.html VkComputePipelineCreateInfo registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkComputePipelineCreateInfo.html VkComputePipelineCreateInfo registry at www.khronos.org> data VkComputePipelineCreateInfo = VkComputePipelineCreateInfo## Addr##                                                                 ByteArray## @@ -83,27 +83,6 @@         type ReturnedOnly VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs         type StructExtends VkComputePipelineCreateInfo = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSType VkComputePipelineCreateInfo-         where-        type VkSTypeMType VkComputePipelineCreateInfo = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkComputePipelineCreateInfo, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkComputePipelineCreateInfo, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkComputePipelineCreateInfo, sType}- instance {-# OVERLAPPING #-}          HasField "sType" VkComputePipelineCreateInfo where         type FieldType "sType" VkComputePipelineCreateInfo =@@ -120,37 +99,22 @@         fieldOffset           = #{offset VkComputePipelineCreateInfo, sType} -instance CanReadField "sType" VkComputePipelineCreateInfo where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-}+         CanReadField "sType" VkComputePipelineCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkComputePipelineCreateInfo, sType} -instance CanWriteField "sType" VkComputePipelineCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkComputePipelineCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkComputePipelineCreateInfo-         where-        type VkPNextMType VkComputePipelineCreateInfo = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkComputePipelineCreateInfo, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkComputePipelineCreateInfo, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkComputePipelineCreateInfo, pNext}+        writeField p+          = pokeByteOff p #{offset VkComputePipelineCreateInfo, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkComputePipelineCreateInfo where@@ -167,38 +131,22 @@         fieldOffset           = #{offset VkComputePipelineCreateInfo, pNext} -instance CanReadField "pNext" VkComputePipelineCreateInfo where-        {-# INLINE getField #-}-        getField = vkPNext+instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkComputePipelineCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, pNext})          {-# INLINE readField #-}-        readField = readVkPNext+        readField p+          = peekByteOff p #{offset VkComputePipelineCreateInfo, pNext} -instance CanWriteField "pNext" VkComputePipelineCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkComputePipelineCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-} HasVkFlags VkComputePipelineCreateInfo-         where-        type VkFlagsMType VkComputePipelineCreateInfo =-             VkPipelineCreateFlags--        {-# NOINLINE vkFlags #-}-        vkFlags x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, flags})--        {-# INLINE vkFlagsByteOffset #-}-        vkFlagsByteOffset ~_-          = #{offset VkComputePipelineCreateInfo, flags}--        {-# INLINE readVkFlags #-}-        readVkFlags p-          = peekByteOff p #{offset VkComputePipelineCreateInfo, flags}--        {-# INLINE writeVkFlags #-}-        writeVkFlags p-          = pokeByteOff p #{offset VkComputePipelineCreateInfo, flags}+        writeField p+          = pokeByteOff p #{offset VkComputePipelineCreateInfo, pNext}  instance {-# OVERLAPPING #-}          HasField "flags" VkComputePipelineCreateInfo where@@ -216,38 +164,22 @@         fieldOffset           = #{offset VkComputePipelineCreateInfo, flags} -instance CanReadField "flags" VkComputePipelineCreateInfo where-        {-# INLINE getField #-}-        getField = vkFlags+instance {-# OVERLAPPING #-}+         CanReadField "flags" VkComputePipelineCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, flags})          {-# INLINE readField #-}-        readField = readVkFlags+        readField p+          = peekByteOff p #{offset VkComputePipelineCreateInfo, flags} -instance CanWriteField "flags" VkComputePipelineCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "flags" VkComputePipelineCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkFlags--instance {-# OVERLAPPING #-} HasVkStage VkComputePipelineCreateInfo-         where-        type VkStageMType VkComputePipelineCreateInfo =-             VkPipelineShaderStageCreateInfo--        {-# NOINLINE vkStage #-}-        vkStage x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, stage})--        {-# INLINE vkStageByteOffset #-}-        vkStageByteOffset ~_-          = #{offset VkComputePipelineCreateInfo, stage}--        {-# INLINE readVkStage #-}-        readVkStage p-          = peekByteOff p #{offset VkComputePipelineCreateInfo, stage}--        {-# INLINE writeVkStage #-}-        writeVkStage p-          = pokeByteOff p #{offset VkComputePipelineCreateInfo, stage}+        writeField p+          = pokeByteOff p #{offset VkComputePipelineCreateInfo, flags}  instance {-# OVERLAPPING #-}          HasField "stage" VkComputePipelineCreateInfo where@@ -265,37 +197,22 @@         fieldOffset           = #{offset VkComputePipelineCreateInfo, stage} -instance CanReadField "stage" VkComputePipelineCreateInfo where-        {-# INLINE getField #-}-        getField = vkStage--        {-# INLINE readField #-}-        readField = readVkStage--instance CanWriteField "stage" VkComputePipelineCreateInfo where-        {-# INLINE writeField #-}-        writeField = writeVkStage- instance {-# OVERLAPPING #-}-         HasVkLayout VkComputePipelineCreateInfo where-        type VkLayoutMType VkComputePipelineCreateInfo = VkPipelineLayout--        {-# NOINLINE vkLayout #-}-        vkLayout x+         CanReadField "stage" VkComputePipelineCreateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, layout})--        {-# INLINE vkLayoutByteOffset #-}-        vkLayoutByteOffset ~_-          = #{offset VkComputePipelineCreateInfo, layout}+              (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, stage}) -        {-# INLINE readVkLayout #-}-        readVkLayout p-          = peekByteOff p #{offset VkComputePipelineCreateInfo, layout}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkComputePipelineCreateInfo, stage} -        {-# INLINE writeVkLayout #-}-        writeVkLayout p-          = pokeByteOff p #{offset VkComputePipelineCreateInfo, layout}+instance {-# OVERLAPPING #-}+         CanWriteField "stage" VkComputePipelineCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkComputePipelineCreateInfo, stage}  instance {-# OVERLAPPING #-}          HasField "layout" VkComputePipelineCreateInfo where@@ -313,38 +230,22 @@         fieldOffset           = #{offset VkComputePipelineCreateInfo, layout} -instance CanReadField "layout" VkComputePipelineCreateInfo where-        {-# INLINE getField #-}-        getField = vkLayout--        {-# INLINE readField #-}-        readField = readVkLayout--instance CanWriteField "layout" VkComputePipelineCreateInfo where-        {-# INLINE writeField #-}-        writeField = writeVkLayout- instance {-# OVERLAPPING #-}-         HasVkBasePipelineHandle VkComputePipelineCreateInfo where-        type VkBasePipelineHandleMType VkComputePipelineCreateInfo =-             VkPipeline--        {-# NOINLINE vkBasePipelineHandle #-}-        vkBasePipelineHandle x+         CanReadField "layout" VkComputePipelineCreateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, basePipelineHandle})--        {-# INLINE vkBasePipelineHandleByteOffset #-}-        vkBasePipelineHandleByteOffset ~_-          = #{offset VkComputePipelineCreateInfo, basePipelineHandle}+              (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, layout}) -        {-# INLINE readVkBasePipelineHandle #-}-        readVkBasePipelineHandle p-          = peekByteOff p #{offset VkComputePipelineCreateInfo, basePipelineHandle}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkComputePipelineCreateInfo, layout} -        {-# INLINE writeVkBasePipelineHandle #-}-        writeVkBasePipelineHandle p-          = pokeByteOff p #{offset VkComputePipelineCreateInfo, basePipelineHandle}+instance {-# OVERLAPPING #-}+         CanWriteField "layout" VkComputePipelineCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkComputePipelineCreateInfo, layout}  instance {-# OVERLAPPING #-}          HasField "basePipelineHandle" VkComputePipelineCreateInfo where@@ -364,41 +265,23 @@         fieldOffset           = #{offset VkComputePipelineCreateInfo, basePipelineHandle} -instance CanReadField "basePipelineHandle"-           VkComputePipelineCreateInfo-         where-        {-# INLINE getField #-}-        getField = vkBasePipelineHandle+instance {-# OVERLAPPING #-}+         CanReadField "basePipelineHandle" VkComputePipelineCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, basePipelineHandle})          {-# INLINE readField #-}-        readField = readVkBasePipelineHandle+        readField p+          = peekByteOff p #{offset VkComputePipelineCreateInfo, basePipelineHandle} -instance CanWriteField "basePipelineHandle"-           VkComputePipelineCreateInfo+instance {-# OVERLAPPING #-}+         CanWriteField "basePipelineHandle" VkComputePipelineCreateInfo          where         {-# INLINE writeField #-}-        writeField = writeVkBasePipelineHandle--instance {-# OVERLAPPING #-}-         HasVkBasePipelineIndex VkComputePipelineCreateInfo where-        type VkBasePipelineIndexMType VkComputePipelineCreateInfo = Int32--        {-# NOINLINE vkBasePipelineIndex #-}-        vkBasePipelineIndex x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, basePipelineIndex})--        {-# INLINE vkBasePipelineIndexByteOffset #-}-        vkBasePipelineIndexByteOffset ~_-          = #{offset VkComputePipelineCreateInfo, basePipelineIndex}--        {-# INLINE readVkBasePipelineIndex #-}-        readVkBasePipelineIndex p-          = peekByteOff p #{offset VkComputePipelineCreateInfo, basePipelineIndex}--        {-# INLINE writeVkBasePipelineIndex #-}-        writeVkBasePipelineIndex p-          = pokeByteOff p #{offset VkComputePipelineCreateInfo, basePipelineIndex}+        writeField p+          = pokeByteOff p #{offset VkComputePipelineCreateInfo, basePipelineHandle}  instance {-# OVERLAPPING #-}          HasField "basePipelineIndex" VkComputePipelineCreateInfo where@@ -418,42 +301,44 @@         fieldOffset           = #{offset VkComputePipelineCreateInfo, basePipelineIndex} -instance CanReadField "basePipelineIndex"-           VkComputePipelineCreateInfo-         where-        {-# INLINE getField #-}-        getField = vkBasePipelineIndex+instance {-# OVERLAPPING #-}+         CanReadField "basePipelineIndex" VkComputePipelineCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, basePipelineIndex})          {-# INLINE readField #-}-        readField = readVkBasePipelineIndex+        readField p+          = peekByteOff p #{offset VkComputePipelineCreateInfo, basePipelineIndex} -instance CanWriteField "basePipelineIndex"-           VkComputePipelineCreateInfo-         where+instance {-# OVERLAPPING #-}+         CanWriteField "basePipelineIndex" VkComputePipelineCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkBasePipelineIndex+        writeField p+          = pokeByteOff p #{offset VkComputePipelineCreateInfo, basePipelineIndex}  instance Show VkComputePipelineCreateInfo where         showsPrec d x           = showString "VkComputePipelineCreateInfo {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkFlags = " .-                            showsPrec d (vkFlags x) .+                          showString "flags = " .+                            showsPrec d (getField @"flags" x) .                               showString ", " .-                                showString "vkStage = " .-                                  showsPrec d (vkStage x) .+                                showString "stage = " .+                                  showsPrec d (getField @"stage" x) .                                     showString ", " .-                                      showString "vkLayout = " .-                                        showsPrec d (vkLayout x) .+                                      showString "layout = " .+                                        showsPrec d (getField @"layout" x) .                                           showString ", " .-                                            showString "vkBasePipelineHandle = " .-                                              showsPrec d (vkBasePipelineHandle x) .+                                            showString "basePipelineHandle = " .+                                              showsPrec d (getField @"basePipelineHandle" x) .                                                 showString ", " .-                                                  showString "vkBasePipelineIndex = " .-                                                    showsPrec d (vkBasePipelineIndex x) .+                                                  showString "basePipelineIndex = " .+                                                    showsPrec d (getField @"basePipelineIndex" x) .                                                       showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkCopyDescriptorSet.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkCopyDescriptorSet        (VkCopyDescriptorSet(..)) where@@ -14,7 +15,6 @@ import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType) import           Graphics.Vulkan.Types.Handles              (VkDescriptorSet)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                           (unsafeDupablePerformIO)  -- | > typedef struct VkCopyDescriptorSet {@@ -29,7 +29,7 @@ --   >     uint32_t               descriptorCount; --   > } VkCopyDescriptorSet; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkCopyDescriptorSet.html VkCopyDescriptorSet registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkCopyDescriptorSet.html VkCopyDescriptorSet registry at www.khronos.org> data VkCopyDescriptorSet = VkCopyDescriptorSet## Addr## ByteArray##  instance Eq VkCopyDescriptorSet where@@ -78,26 +78,6 @@         type ReturnedOnly VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs         type StructExtends VkCopyDescriptorSet = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSType VkCopyDescriptorSet where-        type VkSTypeMType VkCopyDescriptorSet = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkCopyDescriptorSet, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkCopyDescriptorSet, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkCopyDescriptorSet, sType}- instance {-# OVERLAPPING #-} HasField "sType" VkCopyDescriptorSet          where         type FieldType "sType" VkCopyDescriptorSet = VkStructureType@@ -112,36 +92,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkCopyDescriptorSet, sType} -instance CanReadField "sType" VkCopyDescriptorSet where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-}+         CanReadField "sType" VkCopyDescriptorSet where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkCopyDescriptorSet, sType} -instance CanWriteField "sType" VkCopyDescriptorSet where+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkCopyDescriptorSet where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkCopyDescriptorSet where-        type VkPNextMType VkCopyDescriptorSet = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkCopyDescriptorSet, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkCopyDescriptorSet, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkCopyDescriptorSet, pNext}+        writeField p+          = pokeByteOff p #{offset VkCopyDescriptorSet, sType}  instance {-# OVERLAPPING #-} HasField "pNext" VkCopyDescriptorSet          where@@ -157,36 +123,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkCopyDescriptorSet, pNext} -instance CanReadField "pNext" VkCopyDescriptorSet where-        {-# INLINE getField #-}-        getField = vkPNext+instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkCopyDescriptorSet where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, pNext})          {-# INLINE readField #-}-        readField = readVkPNext+        readField p+          = peekByteOff p #{offset VkCopyDescriptorSet, pNext} -instance CanWriteField "pNext" VkCopyDescriptorSet where+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkCopyDescriptorSet where         {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-} HasVkSrcSet VkCopyDescriptorSet where-        type VkSrcSetMType VkCopyDescriptorSet = VkDescriptorSet--        {-# NOINLINE vkSrcSet #-}-        vkSrcSet x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, srcSet})--        {-# INLINE vkSrcSetByteOffset #-}-        vkSrcSetByteOffset ~_-          = #{offset VkCopyDescriptorSet, srcSet}--        {-# INLINE readVkSrcSet #-}-        readVkSrcSet p-          = peekByteOff p #{offset VkCopyDescriptorSet, srcSet}--        {-# INLINE writeVkSrcSet #-}-        writeVkSrcSet p-          = pokeByteOff p #{offset VkCopyDescriptorSet, srcSet}+        writeField p+          = pokeByteOff p #{offset VkCopyDescriptorSet, pNext}  instance {-# OVERLAPPING #-} HasField "srcSet" VkCopyDescriptorSet          where@@ -202,37 +154,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkCopyDescriptorSet, srcSet} -instance CanReadField "srcSet" VkCopyDescriptorSet where-        {-# INLINE getField #-}-        getField = vkSrcSet+instance {-# OVERLAPPING #-}+         CanReadField "srcSet" VkCopyDescriptorSet where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, srcSet})          {-# INLINE readField #-}-        readField = readVkSrcSet+        readField p+          = peekByteOff p #{offset VkCopyDescriptorSet, srcSet} -instance CanWriteField "srcSet" VkCopyDescriptorSet where+instance {-# OVERLAPPING #-}+         CanWriteField "srcSet" VkCopyDescriptorSet where         {-# INLINE writeField #-}-        writeField = writeVkSrcSet--instance {-# OVERLAPPING #-} HasVkSrcBinding VkCopyDescriptorSet-         where-        type VkSrcBindingMType VkCopyDescriptorSet = Word32--        {-# NOINLINE vkSrcBinding #-}-        vkSrcBinding x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, srcBinding})--        {-# INLINE vkSrcBindingByteOffset #-}-        vkSrcBindingByteOffset ~_-          = #{offset VkCopyDescriptorSet, srcBinding}--        {-# INLINE readVkSrcBinding #-}-        readVkSrcBinding p-          = peekByteOff p #{offset VkCopyDescriptorSet, srcBinding}--        {-# INLINE writeVkSrcBinding #-}-        writeVkSrcBinding p-          = pokeByteOff p #{offset VkCopyDescriptorSet, srcBinding}+        writeField p+          = pokeByteOff p #{offset VkCopyDescriptorSet, srcSet}  instance {-# OVERLAPPING #-}          HasField "srcBinding" VkCopyDescriptorSet where@@ -248,37 +185,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkCopyDescriptorSet, srcBinding} -instance CanReadField "srcBinding" VkCopyDescriptorSet where-        {-# INLINE getField #-}-        getField = vkSrcBinding--        {-# INLINE readField #-}-        readField = readVkSrcBinding--instance CanWriteField "srcBinding" VkCopyDescriptorSet where-        {-# INLINE writeField #-}-        writeField = writeVkSrcBinding- instance {-# OVERLAPPING #-}-         HasVkSrcArrayElement VkCopyDescriptorSet where-        type VkSrcArrayElementMType VkCopyDescriptorSet = Word32--        {-# NOINLINE vkSrcArrayElement #-}-        vkSrcArrayElement x+         CanReadField "srcBinding" VkCopyDescriptorSet where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, srcArrayElement})--        {-# INLINE vkSrcArrayElementByteOffset #-}-        vkSrcArrayElementByteOffset ~_-          = #{offset VkCopyDescriptorSet, srcArrayElement}+              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, srcBinding}) -        {-# INLINE readVkSrcArrayElement #-}-        readVkSrcArrayElement p-          = peekByteOff p #{offset VkCopyDescriptorSet, srcArrayElement}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkCopyDescriptorSet, srcBinding} -        {-# INLINE writeVkSrcArrayElement #-}-        writeVkSrcArrayElement p-          = pokeByteOff p #{offset VkCopyDescriptorSet, srcArrayElement}+instance {-# OVERLAPPING #-}+         CanWriteField "srcBinding" VkCopyDescriptorSet where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkCopyDescriptorSet, srcBinding}  instance {-# OVERLAPPING #-}          HasField "srcArrayElement" VkCopyDescriptorSet where@@ -295,36 +217,22 @@         fieldOffset           = #{offset VkCopyDescriptorSet, srcArrayElement} -instance CanReadField "srcArrayElement" VkCopyDescriptorSet where-        {-# INLINE getField #-}-        getField = vkSrcArrayElement+instance {-# OVERLAPPING #-}+         CanReadField "srcArrayElement" VkCopyDescriptorSet where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, srcArrayElement})          {-# INLINE readField #-}-        readField = readVkSrcArrayElement+        readField p+          = peekByteOff p #{offset VkCopyDescriptorSet, srcArrayElement} -instance CanWriteField "srcArrayElement" VkCopyDescriptorSet where+instance {-# OVERLAPPING #-}+         CanWriteField "srcArrayElement" VkCopyDescriptorSet where         {-# INLINE writeField #-}-        writeField = writeVkSrcArrayElement--instance {-# OVERLAPPING #-} HasVkDstSet VkCopyDescriptorSet where-        type VkDstSetMType VkCopyDescriptorSet = VkDescriptorSet--        {-# NOINLINE vkDstSet #-}-        vkDstSet x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, dstSet})--        {-# INLINE vkDstSetByteOffset #-}-        vkDstSetByteOffset ~_-          = #{offset VkCopyDescriptorSet, dstSet}--        {-# INLINE readVkDstSet #-}-        readVkDstSet p-          = peekByteOff p #{offset VkCopyDescriptorSet, dstSet}--        {-# INLINE writeVkDstSet #-}-        writeVkDstSet p-          = pokeByteOff p #{offset VkCopyDescriptorSet, dstSet}+        writeField p+          = pokeByteOff p #{offset VkCopyDescriptorSet, srcArrayElement}  instance {-# OVERLAPPING #-} HasField "dstSet" VkCopyDescriptorSet          where@@ -340,37 +248,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkCopyDescriptorSet, dstSet} -instance CanReadField "dstSet" VkCopyDescriptorSet where-        {-# INLINE getField #-}-        getField = vkDstSet+instance {-# OVERLAPPING #-}+         CanReadField "dstSet" VkCopyDescriptorSet where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, dstSet})          {-# INLINE readField #-}-        readField = readVkDstSet+        readField p+          = peekByteOff p #{offset VkCopyDescriptorSet, dstSet} -instance CanWriteField "dstSet" VkCopyDescriptorSet where+instance {-# OVERLAPPING #-}+         CanWriteField "dstSet" VkCopyDescriptorSet where         {-# INLINE writeField #-}-        writeField = writeVkDstSet--instance {-# OVERLAPPING #-} HasVkDstBinding VkCopyDescriptorSet-         where-        type VkDstBindingMType VkCopyDescriptorSet = Word32--        {-# NOINLINE vkDstBinding #-}-        vkDstBinding x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, dstBinding})--        {-# INLINE vkDstBindingByteOffset #-}-        vkDstBindingByteOffset ~_-          = #{offset VkCopyDescriptorSet, dstBinding}--        {-# INLINE readVkDstBinding #-}-        readVkDstBinding p-          = peekByteOff p #{offset VkCopyDescriptorSet, dstBinding}--        {-# INLINE writeVkDstBinding #-}-        writeVkDstBinding p-          = pokeByteOff p #{offset VkCopyDescriptorSet, dstBinding}+        writeField p+          = pokeByteOff p #{offset VkCopyDescriptorSet, dstSet}  instance {-# OVERLAPPING #-}          HasField "dstBinding" VkCopyDescriptorSet where@@ -386,37 +279,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkCopyDescriptorSet, dstBinding} -instance CanReadField "dstBinding" VkCopyDescriptorSet where-        {-# INLINE getField #-}-        getField = vkDstBinding--        {-# INLINE readField #-}-        readField = readVkDstBinding--instance CanWriteField "dstBinding" VkCopyDescriptorSet where-        {-# INLINE writeField #-}-        writeField = writeVkDstBinding- instance {-# OVERLAPPING #-}-         HasVkDstArrayElement VkCopyDescriptorSet where-        type VkDstArrayElementMType VkCopyDescriptorSet = Word32--        {-# NOINLINE vkDstArrayElement #-}-        vkDstArrayElement x+         CanReadField "dstBinding" VkCopyDescriptorSet where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, dstArrayElement})--        {-# INLINE vkDstArrayElementByteOffset #-}-        vkDstArrayElementByteOffset ~_-          = #{offset VkCopyDescriptorSet, dstArrayElement}+              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, dstBinding}) -        {-# INLINE readVkDstArrayElement #-}-        readVkDstArrayElement p-          = peekByteOff p #{offset VkCopyDescriptorSet, dstArrayElement}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkCopyDescriptorSet, dstBinding} -        {-# INLINE writeVkDstArrayElement #-}-        writeVkDstArrayElement p-          = pokeByteOff p #{offset VkCopyDescriptorSet, dstArrayElement}+instance {-# OVERLAPPING #-}+         CanWriteField "dstBinding" VkCopyDescriptorSet where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkCopyDescriptorSet, dstBinding}  instance {-# OVERLAPPING #-}          HasField "dstArrayElement" VkCopyDescriptorSet where@@ -433,37 +311,22 @@         fieldOffset           = #{offset VkCopyDescriptorSet, dstArrayElement} -instance CanReadField "dstArrayElement" VkCopyDescriptorSet where-        {-# INLINE getField #-}-        getField = vkDstArrayElement--        {-# INLINE readField #-}-        readField = readVkDstArrayElement--instance CanWriteField "dstArrayElement" VkCopyDescriptorSet where-        {-# INLINE writeField #-}-        writeField = writeVkDstArrayElement- instance {-# OVERLAPPING #-}-         HasVkDescriptorCount VkCopyDescriptorSet where-        type VkDescriptorCountMType VkCopyDescriptorSet = Word32--        {-# NOINLINE vkDescriptorCount #-}-        vkDescriptorCount x+         CanReadField "dstArrayElement" VkCopyDescriptorSet where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, descriptorCount})--        {-# INLINE vkDescriptorCountByteOffset #-}-        vkDescriptorCountByteOffset ~_-          = #{offset VkCopyDescriptorSet, descriptorCount}+              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, dstArrayElement}) -        {-# INLINE readVkDescriptorCount #-}-        readVkDescriptorCount p-          = peekByteOff p #{offset VkCopyDescriptorSet, descriptorCount}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkCopyDescriptorSet, dstArrayElement} -        {-# INLINE writeVkDescriptorCount #-}-        writeVkDescriptorCount p-          = pokeByteOff p #{offset VkCopyDescriptorSet, descriptorCount}+instance {-# OVERLAPPING #-}+         CanWriteField "dstArrayElement" VkCopyDescriptorSet where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkCopyDescriptorSet, dstArrayElement}  instance {-# OVERLAPPING #-}          HasField "descriptorCount" VkCopyDescriptorSet where@@ -480,44 +343,53 @@         fieldOffset           = #{offset VkCopyDescriptorSet, descriptorCount} -instance CanReadField "descriptorCount" VkCopyDescriptorSet where-        {-# INLINE getField #-}-        getField = vkDescriptorCount+instance {-# OVERLAPPING #-}+         CanReadField "descriptorCount" VkCopyDescriptorSet where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, descriptorCount})          {-# INLINE readField #-}-        readField = readVkDescriptorCount+        readField p+          = peekByteOff p #{offset VkCopyDescriptorSet, descriptorCount} -instance CanWriteField "descriptorCount" VkCopyDescriptorSet where+instance {-# OVERLAPPING #-}+         CanWriteField "descriptorCount" VkCopyDescriptorSet where         {-# INLINE writeField #-}-        writeField = writeVkDescriptorCount+        writeField p+          = pokeByteOff p #{offset VkCopyDescriptorSet, descriptorCount}  instance Show VkCopyDescriptorSet where         showsPrec d x           = showString "VkCopyDescriptorSet {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkSrcSet = " .-                            showsPrec d (vkSrcSet x) .+                          showString "srcSet = " .+                            showsPrec d (getField @"srcSet" x) .                               showString ", " .-                                showString "vkSrcBinding = " .-                                  showsPrec d (vkSrcBinding x) .+                                showString "srcBinding = " .+                                  showsPrec d (getField @"srcBinding" x) .                                     showString ", " .-                                      showString "vkSrcArrayElement = " .-                                        showsPrec d (vkSrcArrayElement x) .+                                      showString "srcArrayElement = " .+                                        showsPrec d (getField @"srcArrayElement" x) .                                           showString ", " .-                                            showString "vkDstSet = " .-                                              showsPrec d (vkDstSet x) .+                                            showString "dstSet = " .+                                              showsPrec d (getField @"dstSet" x) .                                                 showString ", " .-                                                  showString "vkDstBinding = " .-                                                    showsPrec d (vkDstBinding x) .+                                                  showString "dstBinding = " .+                                                    showsPrec d (getField @"dstBinding" x) .                                                       showString ", " .-                                                        showString "vkDstArrayElement = " .-                                                          showsPrec d (vkDstArrayElement x) .+                                                        showString "dstArrayElement = " .+                                                          showsPrec d+                                                            (getField @"dstArrayElement" x)+                                                            .                                                             showString ", " .-                                                              showString "vkDescriptorCount = " .-                                                                showsPrec d (vkDescriptorCount x) .-                                                                  showChar '}'+                                                              showString "descriptorCount = " .+                                                                showsPrec d+                                                                  (getField @"descriptorCount" x)+                                                                  . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkD3D12FenceSubmitInfoKHR.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkD3D12FenceSubmitInfoKHR        (VkD3D12FenceSubmitInfoKHR(..)) where@@ -14,7 +15,6 @@ import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType) import           Graphics.Vulkan.Types.Struct.VkSubmitInfo  (VkSubmitInfo)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                           (unsafeDupablePerformIO)  -- | > typedef struct VkD3D12FenceSubmitInfoKHR {@@ -26,7 +26,7 @@ --   >     const uint64_t* pSignalSemaphoreValues; --   > } VkD3D12FenceSubmitInfoKHR; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkD3D12FenceSubmitInfoKHR.html VkD3D12FenceSubmitInfoKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkD3D12FenceSubmitInfoKHR.html VkD3D12FenceSubmitInfoKHR registry at www.khronos.org> data VkD3D12FenceSubmitInfoKHR = VkD3D12FenceSubmitInfoKHR## Addr##                                                             ByteArray## @@ -78,27 +78,6 @@         type ReturnedOnly VkD3D12FenceSubmitInfoKHR = 'False -- ' closing tick for hsc2hs         type StructExtends VkD3D12FenceSubmitInfoKHR = '[VkSubmitInfo] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSType VkD3D12FenceSubmitInfoKHR-         where-        type VkSTypeMType VkD3D12FenceSubmitInfoKHR = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkD3D12FenceSubmitInfoKHR, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, sType}- instance {-# OVERLAPPING #-}          HasField "sType" VkD3D12FenceSubmitInfoKHR where         type FieldType "sType" VkD3D12FenceSubmitInfoKHR = VkStructureType@@ -114,37 +93,22 @@         fieldOffset           = #{offset VkD3D12FenceSubmitInfoKHR, sType} -instance CanReadField "sType" VkD3D12FenceSubmitInfoKHR where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-}+         CanReadField "sType" VkD3D12FenceSubmitInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, sType} -instance CanWriteField "sType" VkD3D12FenceSubmitInfoKHR where+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkD3D12FenceSubmitInfoKHR where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkD3D12FenceSubmitInfoKHR-         where-        type VkPNextMType VkD3D12FenceSubmitInfoKHR = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkD3D12FenceSubmitInfoKHR, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pNext}+        writeField p+          = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkD3D12FenceSubmitInfoKHR where@@ -161,38 +125,22 @@         fieldOffset           = #{offset VkD3D12FenceSubmitInfoKHR, pNext} -instance CanReadField "pNext" VkD3D12FenceSubmitInfoKHR where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkD3D12FenceSubmitInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkWaitSemaphoreValuesCount VkD3D12FenceSubmitInfoKHR where-        type VkWaitSemaphoreValuesCountMType VkD3D12FenceSubmitInfoKHR =-             Word32--        {-# NOINLINE vkWaitSemaphoreValuesCount #-}-        vkWaitSemaphoreValuesCount x+         CanReadField "pNext" VkD3D12FenceSubmitInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount})--        {-# INLINE vkWaitSemaphoreValuesCountByteOffset #-}-        vkWaitSemaphoreValuesCountByteOffset ~_-          = #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount}+              (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, pNext}) -        {-# INLINE readVkWaitSemaphoreValuesCount #-}-        readVkWaitSemaphoreValuesCount p-          = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pNext} -        {-# INLINE writeVkWaitSemaphoreValuesCount #-}-        writeVkWaitSemaphoreValuesCount p-          = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkD3D12FenceSubmitInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pNext}  instance {-# OVERLAPPING #-}          HasField "waitSemaphoreValuesCount" VkD3D12FenceSubmitInfoKHR where@@ -216,42 +164,24 @@         fieldOffset           = #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount} -instance CanReadField "waitSemaphoreValuesCount"-           VkD3D12FenceSubmitInfoKHR+instance {-# OVERLAPPING #-}+         CanReadField "waitSemaphoreValuesCount" VkD3D12FenceSubmitInfoKHR          where-        {-# INLINE getField #-}-        getField = vkWaitSemaphoreValuesCount+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount})          {-# INLINE readField #-}-        readField = readVkWaitSemaphoreValuesCount+        readField p+          = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount} -instance CanWriteField "waitSemaphoreValuesCount"-           VkD3D12FenceSubmitInfoKHR+instance {-# OVERLAPPING #-}+         CanWriteField "waitSemaphoreValuesCount" VkD3D12FenceSubmitInfoKHR          where         {-# INLINE writeField #-}-        writeField = writeVkWaitSemaphoreValuesCount--instance {-# OVERLAPPING #-}-         HasVkPWaitSemaphoreValues VkD3D12FenceSubmitInfoKHR where-        type VkPWaitSemaphoreValuesMType VkD3D12FenceSubmitInfoKHR =-             Ptr Word64--        {-# NOINLINE vkPWaitSemaphoreValues #-}-        vkPWaitSemaphoreValues x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, pWaitSemaphoreValues})--        {-# INLINE vkPWaitSemaphoreValuesByteOffset #-}-        vkPWaitSemaphoreValuesByteOffset ~_-          = #{offset VkD3D12FenceSubmitInfoKHR, pWaitSemaphoreValues}--        {-# INLINE readVkPWaitSemaphoreValues #-}-        readVkPWaitSemaphoreValues p-          = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pWaitSemaphoreValues}--        {-# INLINE writeVkPWaitSemaphoreValues #-}-        writeVkPWaitSemaphoreValues p-          = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pWaitSemaphoreValues}+        writeField p+          = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount}  instance {-# OVERLAPPING #-}          HasField "pWaitSemaphoreValues" VkD3D12FenceSubmitInfoKHR where@@ -271,42 +201,23 @@         fieldOffset           = #{offset VkD3D12FenceSubmitInfoKHR, pWaitSemaphoreValues} -instance CanReadField "pWaitSemaphoreValues"-           VkD3D12FenceSubmitInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkPWaitSemaphoreValues+instance {-# OVERLAPPING #-}+         CanReadField "pWaitSemaphoreValues" VkD3D12FenceSubmitInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, pWaitSemaphoreValues})          {-# INLINE readField #-}-        readField = readVkPWaitSemaphoreValues+        readField p+          = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pWaitSemaphoreValues} -instance CanWriteField "pWaitSemaphoreValues"-           VkD3D12FenceSubmitInfoKHR+instance {-# OVERLAPPING #-}+         CanWriteField "pWaitSemaphoreValues" VkD3D12FenceSubmitInfoKHR          where         {-# INLINE writeField #-}-        writeField = writeVkPWaitSemaphoreValues--instance {-# OVERLAPPING #-}-         HasVkSignalSemaphoreValuesCount VkD3D12FenceSubmitInfoKHR where-        type VkSignalSemaphoreValuesCountMType VkD3D12FenceSubmitInfoKHR =-             Word32--        {-# NOINLINE vkSignalSemaphoreValuesCount #-}-        vkSignalSemaphoreValuesCount x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, signalSemaphoreValuesCount})--        {-# INLINE vkSignalSemaphoreValuesCountByteOffset #-}-        vkSignalSemaphoreValuesCountByteOffset ~_-          = #{offset VkD3D12FenceSubmitInfoKHR, signalSemaphoreValuesCount}--        {-# INLINE readVkSignalSemaphoreValuesCount #-}-        readVkSignalSemaphoreValuesCount p-          = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, signalSemaphoreValuesCount}--        {-# INLINE writeVkSignalSemaphoreValuesCount #-}-        writeVkSignalSemaphoreValuesCount p-          = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, signalSemaphoreValuesCount}+        writeField p+          = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pWaitSemaphoreValues}  instance {-# OVERLAPPING #-}          HasField "signalSemaphoreValuesCount" VkD3D12FenceSubmitInfoKHR@@ -332,42 +243,25 @@         fieldOffset           = #{offset VkD3D12FenceSubmitInfoKHR, signalSemaphoreValuesCount} -instance CanReadField "signalSemaphoreValuesCount"-           VkD3D12FenceSubmitInfoKHR+instance {-# OVERLAPPING #-}+         CanReadField "signalSemaphoreValuesCount" VkD3D12FenceSubmitInfoKHR          where-        {-# INLINE getField #-}-        getField = vkSignalSemaphoreValuesCount+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, signalSemaphoreValuesCount})          {-# INLINE readField #-}-        readField = readVkSignalSemaphoreValuesCount+        readField p+          = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, signalSemaphoreValuesCount} -instance CanWriteField "signalSemaphoreValuesCount"+instance {-# OVERLAPPING #-}+         CanWriteField "signalSemaphoreValuesCount"            VkD3D12FenceSubmitInfoKHR          where         {-# INLINE writeField #-}-        writeField = writeVkSignalSemaphoreValuesCount--instance {-# OVERLAPPING #-}-         HasVkPSignalSemaphoreValues VkD3D12FenceSubmitInfoKHR where-        type VkPSignalSemaphoreValuesMType VkD3D12FenceSubmitInfoKHR =-             Ptr Word64--        {-# NOINLINE vkPSignalSemaphoreValues #-}-        vkPSignalSemaphoreValues x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, pSignalSemaphoreValues})--        {-# INLINE vkPSignalSemaphoreValuesByteOffset #-}-        vkPSignalSemaphoreValuesByteOffset ~_-          = #{offset VkD3D12FenceSubmitInfoKHR, pSignalSemaphoreValues}--        {-# INLINE readVkPSignalSemaphoreValues #-}-        readVkPSignalSemaphoreValues p-          = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pSignalSemaphoreValues}--        {-# INLINE writeVkPSignalSemaphoreValues #-}-        writeVkPSignalSemaphoreValues p-          = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pSignalSemaphoreValues}+        writeField p+          = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, signalSemaphoreValuesCount}  instance {-# OVERLAPPING #-}          HasField "pSignalSemaphoreValues" VkD3D12FenceSubmitInfoKHR where@@ -390,39 +284,43 @@         fieldOffset           = #{offset VkD3D12FenceSubmitInfoKHR, pSignalSemaphoreValues} -instance CanReadField "pSignalSemaphoreValues"-           VkD3D12FenceSubmitInfoKHR+instance {-# OVERLAPPING #-}+         CanReadField "pSignalSemaphoreValues" VkD3D12FenceSubmitInfoKHR          where-        {-# INLINE getField #-}-        getField = vkPSignalSemaphoreValues+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, pSignalSemaphoreValues})          {-# INLINE readField #-}-        readField = readVkPSignalSemaphoreValues+        readField p+          = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pSignalSemaphoreValues} -instance CanWriteField "pSignalSemaphoreValues"-           VkD3D12FenceSubmitInfoKHR+instance {-# OVERLAPPING #-}+         CanWriteField "pSignalSemaphoreValues" VkD3D12FenceSubmitInfoKHR          where         {-# INLINE writeField #-}-        writeField = writeVkPSignalSemaphoreValues+        writeField p+          = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pSignalSemaphoreValues}  instance Show VkD3D12FenceSubmitInfoKHR where         showsPrec d x           = showString "VkD3D12FenceSubmitInfoKHR {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkWaitSemaphoreValuesCount = " .-                            showsPrec d (vkWaitSemaphoreValuesCount x) .+                          showString "waitSemaphoreValuesCount = " .+                            showsPrec d (getField @"waitSemaphoreValuesCount" x) .                               showString ", " .-                                showString "vkPWaitSemaphoreValues = " .-                                  showsPrec d (vkPWaitSemaphoreValues x) .+                                showString "pWaitSemaphoreValues = " .+                                  showsPrec d (getField @"pWaitSemaphoreValues" x) .                                     showString ", " .-                                      showString "vkSignalSemaphoreValuesCount = " .-                                        showsPrec d (vkSignalSemaphoreValuesCount x) .+                                      showString "signalSemaphoreValuesCount = " .+                                        showsPrec d (getField @"signalSemaphoreValuesCount" x) .                                           showString ", " .-                                            showString "vkPSignalSemaphoreValues = " .-                                              showsPrec d (vkPSignalSemaphoreValues x) .+                                            showString "pSignalSemaphoreValues = " .+                                              showsPrec d (getField @"pSignalSemaphoreValues" x) .                                                 showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDebugMarkerMarkerInfoEXT.hsc view
@@ -8,6 +8,7 @@ {-# LANGUAGE PatternSynonyms       #-} {-# LANGUAGE ScopedTypeVariables   #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} {-# LANGUAGE UndecidableInstances  #-} module Graphics.Vulkan.Types.Struct.VkDebugMarkerMarkerInfoEXT@@ -18,7 +19,6 @@ import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                           (unsafeDupablePerformIO)  -- | > typedef struct VkDebugMarkerMarkerInfoEXT {@@ -28,7 +28,7 @@ --   >     float            color[4]; --   > } VkDebugMarkerMarkerInfoEXT; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDebugMarkerMarkerInfoEXT.html VkDebugMarkerMarkerInfoEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDebugMarkerMarkerInfoEXT.html VkDebugMarkerMarkerInfoEXT registry at www.khronos.org> data VkDebugMarkerMarkerInfoEXT = VkDebugMarkerMarkerInfoEXT## Addr##                                                               ByteArray## @@ -80,27 +80,6 @@         type ReturnedOnly VkDebugMarkerMarkerInfoEXT = 'False -- ' closing tick for hsc2hs         type StructExtends VkDebugMarkerMarkerInfoEXT = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSType VkDebugMarkerMarkerInfoEXT-         where-        type VkSTypeMType VkDebugMarkerMarkerInfoEXT = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerMarkerInfoEXT, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDebugMarkerMarkerInfoEXT, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDebugMarkerMarkerInfoEXT, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDebugMarkerMarkerInfoEXT, sType}- instance {-# OVERLAPPING #-}          HasField "sType" VkDebugMarkerMarkerInfoEXT where         type FieldType "sType" VkDebugMarkerMarkerInfoEXT = VkStructureType@@ -116,37 +95,22 @@         fieldOffset           = #{offset VkDebugMarkerMarkerInfoEXT, sType} -instance CanReadField "sType" VkDebugMarkerMarkerInfoEXT where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDebugMarkerMarkerInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerMarkerInfoEXT, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkDebugMarkerMarkerInfoEXT, sType} -instance CanWriteField "sType" VkDebugMarkerMarkerInfoEXT where+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDebugMarkerMarkerInfoEXT where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkDebugMarkerMarkerInfoEXT-         where-        type VkPNextMType VkDebugMarkerMarkerInfoEXT = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerMarkerInfoEXT, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDebugMarkerMarkerInfoEXT, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDebugMarkerMarkerInfoEXT, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDebugMarkerMarkerInfoEXT, pNext}+        writeField p+          = pokeByteOff p #{offset VkDebugMarkerMarkerInfoEXT, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkDebugMarkerMarkerInfoEXT where@@ -163,37 +127,22 @@         fieldOffset           = #{offset VkDebugMarkerMarkerInfoEXT, pNext} -instance CanReadField "pNext" VkDebugMarkerMarkerInfoEXT where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkDebugMarkerMarkerInfoEXT where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkPMarkerName VkDebugMarkerMarkerInfoEXT where-        type VkPMarkerNameMType VkDebugMarkerMarkerInfoEXT = CString--        {-# NOINLINE vkPMarkerName #-}-        vkPMarkerName x+         CanReadField "pNext" VkDebugMarkerMarkerInfoEXT where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName})--        {-# INLINE vkPMarkerNameByteOffset #-}-        vkPMarkerNameByteOffset ~_-          = #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName}+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerMarkerInfoEXT, pNext}) -        {-# INLINE readVkPMarkerName #-}-        readVkPMarkerName p-          = peekByteOff p #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugMarkerMarkerInfoEXT, pNext} -        {-# INLINE writeVkPMarkerName #-}-        writeVkPMarkerName p-          = pokeByteOff p #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDebugMarkerMarkerInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugMarkerMarkerInfoEXT, pNext}  instance {-# OVERLAPPING #-}          HasField "pMarkerName" VkDebugMarkerMarkerInfoEXT where@@ -211,46 +160,22 @@         fieldOffset           = #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName} -instance CanReadField "pMarkerName" VkDebugMarkerMarkerInfoEXT-         where-        {-# INLINE getField #-}-        getField = vkPMarkerName--        {-# INLINE readField #-}-        readField = readVkPMarkerName--instance CanWriteField "pMarkerName" VkDebugMarkerMarkerInfoEXT-         where-        {-# INLINE writeField #-}-        writeField = writeVkPMarkerName- instance {-# OVERLAPPING #-}-         HasVkColorArray VkDebugMarkerMarkerInfoEXT where-        type VkColorArrayMType VkDebugMarkerMarkerInfoEXT =-             #{type float}--        {-# NOINLINE vkColorArray #-}-        vkColorArray x idx+         CanReadField "pMarkerName" VkDebugMarkerMarkerInfoEXT where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x)-                 (idx * sizeOf (undefined :: #{type float}) +-                    #{offset VkDebugMarkerMarkerInfoEXT, color}))--        {-# INLINE vkColorArrayByteOffset #-}-        vkColorArrayByteOffset ~_-          = #{offset VkDebugMarkerMarkerInfoEXT, color}+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName}) -        {-# INLINE readVkColorArray #-}-        readVkColorArray p idx-          = peekByteOff p-              (idx * sizeOf (undefined :: #{type float}) +-                 #{offset VkDebugMarkerMarkerInfoEXT, color})+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName} -        {-# INLINE writeVkColorArray #-}-        writeVkColorArray p idx-          = pokeByteOff p-              (idx * sizeOf (undefined :: #{type float}) +-                 #{offset VkDebugMarkerMarkerInfoEXT, color})+instance {-# OVERLAPPING #-}+         CanWriteField "pMarkerName" VkDebugMarkerMarkerInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName}  instance {-# OVERLAPPING #-}          HasField "color" VkDebugMarkerMarkerInfoEXT where@@ -268,7 +193,8 @@         fieldOffset           = #{offset VkDebugMarkerMarkerInfoEXT, color} -instance (KnownNat idx,+instance {-# OVERLAPPING #-}+         (KnownNat idx,           IndexInBounds "color" idx VkDebugMarkerMarkerInfoEXT) =>          CanReadFieldArray "color" idx VkDebugMarkerMarkerInfoEXT          where@@ -289,14 +215,23 @@         fieldArrayLength = 4          {-# INLINE getFieldArray #-}-        getFieldArray x-          = vkColorArray x (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs+        getFieldArray = f+          where {-# NOINLINE f #-}+                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+                off+                  = #{offset VkDebugMarkerMarkerInfoEXT, color} ++                      sizeOf (undefined :: #{type float}) *+                        fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs          {-# INLINE readFieldArray #-}-        readFieldArray x-          = readVkColorArray x (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs+        readFieldArray p+          = peekByteOff p+              (#{offset VkDebugMarkerMarkerInfoEXT, color} ++                 sizeOf (undefined :: #{type float}) *+                   fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs -instance (KnownNat idx,+instance {-# OVERLAPPING #-}+         (KnownNat idx,           IndexInBounds "color" idx VkDebugMarkerMarkerInfoEXT) =>          CanWriteFieldArray "color" idx VkDebugMarkerMarkerInfoEXT          where@@ -313,22 +248,35 @@                        CanWriteFieldArray "color" 3 VkDebugMarkerMarkerInfoEXT #-}          {-# INLINE writeFieldArray #-}-        writeFieldArray x-          = writeVkColorArray x-              (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs+        writeFieldArray p+          = pokeByteOff p+              (#{offset VkDebugMarkerMarkerInfoEXT, color} ++                 sizeOf (undefined :: #{type float}) *+                   fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs  instance Show VkDebugMarkerMarkerInfoEXT where         showsPrec d x           = showString "VkDebugMarkerMarkerInfoEXT {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkPMarkerName = " .-                            showsPrec d (vkPMarkerName x) .+                          showString "pMarkerName = " .+                            showsPrec d (getField @"pMarkerName" x) .                               showString ", " .-                                showString "vkColorArray = [" .-                                  showsPrec d (map (vkColorArray x) [1 .. 4]) .-                                    showChar ']' . showChar '}'+                                (showString "color = [" .+                                   showsPrec d+                                     (let s = sizeOf+                                                (undefined ::+                                                   FieldType "color" VkDebugMarkerMarkerInfoEXT)+                                          o = fieldOffset @"color" @VkDebugMarkerMarkerInfoEXT+                                          f i+                                            = peekByteOff (unsafePtr x) i ::+                                                IO (FieldType "color" VkDebugMarkerMarkerInfoEXT)+                                        in+                                        unsafeDupablePerformIO . mapM f $+                                          map (\ i -> o + i * s) [0 .. 4 - 1])+                                     . showChar ']')+                                  . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDebugMarkerObjectNameInfoEXT.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDebugMarkerObjectNameInfoEXT        (VkDebugMarkerObjectNameInfoEXT(..)) where@@ -14,7 +15,6 @@ import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.Enum.VkDebugReportObjectTypeEXT (VkDebugReportObjectTypeEXT) import           Graphics.Vulkan.Types.Enum.VkStructureType            (VkStructureType)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                      (unsafeDupablePerformIO)  -- | > typedef struct VkDebugMarkerObjectNameInfoEXT {@@ -25,7 +25,7 @@ --   >     const char* pObjectName; --   > } VkDebugMarkerObjectNameInfoEXT; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDebugMarkerObjectNameInfoEXT.html VkDebugMarkerObjectNameInfoEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDebugMarkerObjectNameInfoEXT.html VkDebugMarkerObjectNameInfoEXT registry at www.khronos.org> data VkDebugMarkerObjectNameInfoEXT = VkDebugMarkerObjectNameInfoEXT## Addr##                                                                       ByteArray## @@ -79,27 +79,6 @@         type StructExtends VkDebugMarkerObjectNameInfoEXT = '[] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkSType VkDebugMarkerObjectNameInfoEXT where-        type VkSTypeMType VkDebugMarkerObjectNameInfoEXT = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDebugMarkerObjectNameInfoEXT, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, sType}--instance {-# OVERLAPPING #-}          HasField "sType" VkDebugMarkerObjectNameInfoEXT where         type FieldType "sType" VkDebugMarkerObjectNameInfoEXT =              VkStructureType@@ -115,37 +94,22 @@         fieldOffset           = #{offset VkDebugMarkerObjectNameInfoEXT, sType} -instance CanReadField "sType" VkDebugMarkerObjectNameInfoEXT where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkDebugMarkerObjectNameInfoEXT where-        {-# INLINE writeField #-}-        writeField = writeVkSType- instance {-# OVERLAPPING #-}-         HasVkPNext VkDebugMarkerObjectNameInfoEXT where-        type VkPNextMType VkDebugMarkerObjectNameInfoEXT = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x+         CanReadField "sType" VkDebugMarkerObjectNameInfoEXT where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDebugMarkerObjectNameInfoEXT, pNext}+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, sType}) -        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, pNext}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, sType} -        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, pNext}+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDebugMarkerObjectNameInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkDebugMarkerObjectNameInfoEXT where@@ -162,38 +126,22 @@         fieldOffset           = #{offset VkDebugMarkerObjectNameInfoEXT, pNext} -instance CanReadField "pNext" VkDebugMarkerObjectNameInfoEXT where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkDebugMarkerObjectNameInfoEXT where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkObjectType VkDebugMarkerObjectNameInfoEXT where-        type VkObjectTypeMType VkDebugMarkerObjectNameInfoEXT =-             VkDebugReportObjectTypeEXT--        {-# NOINLINE vkObjectType #-}-        vkObjectType x+         CanReadField "pNext" VkDebugMarkerObjectNameInfoEXT where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, objectType})--        {-# INLINE vkObjectTypeByteOffset #-}-        vkObjectTypeByteOffset ~_-          = #{offset VkDebugMarkerObjectNameInfoEXT, objectType}+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, pNext}) -        {-# INLINE readVkObjectType #-}-        readVkObjectType p-          = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, objectType}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, pNext} -        {-# INLINE writeVkObjectType #-}-        writeVkObjectType p-          = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, objectType}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDebugMarkerObjectNameInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, pNext}  instance {-# OVERLAPPING #-}          HasField "objectType" VkDebugMarkerObjectNameInfoEXT where@@ -213,39 +161,22 @@         fieldOffset           = #{offset VkDebugMarkerObjectNameInfoEXT, objectType} -instance CanReadField "objectType" VkDebugMarkerObjectNameInfoEXT-         where-        {-# INLINE getField #-}-        getField = vkObjectType--        {-# INLINE readField #-}-        readField = readVkObjectType--instance CanWriteField "objectType" VkDebugMarkerObjectNameInfoEXT-         where-        {-# INLINE writeField #-}-        writeField = writeVkObjectType- instance {-# OVERLAPPING #-}-         HasVkObject VkDebugMarkerObjectNameInfoEXT where-        type VkObjectMType VkDebugMarkerObjectNameInfoEXT = Word64--        {-# NOINLINE vkObject #-}-        vkObject x+         CanReadField "objectType" VkDebugMarkerObjectNameInfoEXT where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, object})--        {-# INLINE vkObjectByteOffset #-}-        vkObjectByteOffset ~_-          = #{offset VkDebugMarkerObjectNameInfoEXT, object}+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, objectType}) -        {-# INLINE readVkObject #-}-        readVkObject p-          = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, object}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, objectType} -        {-# INLINE writeVkObject #-}-        writeVkObject p-          = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, object}+instance {-# OVERLAPPING #-}+         CanWriteField "objectType" VkDebugMarkerObjectNameInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, objectType}  instance {-# OVERLAPPING #-}          HasField "object" VkDebugMarkerObjectNameInfoEXT where@@ -262,38 +193,22 @@         fieldOffset           = #{offset VkDebugMarkerObjectNameInfoEXT, object} -instance CanReadField "object" VkDebugMarkerObjectNameInfoEXT where-        {-# INLINE getField #-}-        getField = vkObject--        {-# INLINE readField #-}-        readField = readVkObject--instance CanWriteField "object" VkDebugMarkerObjectNameInfoEXT-         where-        {-# INLINE writeField #-}-        writeField = writeVkObject- instance {-# OVERLAPPING #-}-         HasVkPObjectName VkDebugMarkerObjectNameInfoEXT where-        type VkPObjectNameMType VkDebugMarkerObjectNameInfoEXT = CString--        {-# NOINLINE vkPObjectName #-}-        vkPObjectName x+         CanReadField "object" VkDebugMarkerObjectNameInfoEXT where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName})--        {-# INLINE vkPObjectNameByteOffset #-}-        vkPObjectNameByteOffset ~_-          = #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName}+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, object}) -        {-# INLINE readVkPObjectName #-}-        readVkPObjectName p-          = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, object} -        {-# INLINE writeVkPObjectName #-}-        writeVkPObjectName p-          = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName}+instance {-# OVERLAPPING #-}+         CanWriteField "object" VkDebugMarkerObjectNameInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, object}  instance {-# OVERLAPPING #-}          HasField "pObjectName" VkDebugMarkerObjectNameInfoEXT where@@ -313,33 +228,37 @@         fieldOffset           = #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName} -instance CanReadField "pObjectName" VkDebugMarkerObjectNameInfoEXT-         where-        {-# INLINE getField #-}-        getField = vkPObjectName+instance {-# OVERLAPPING #-}+         CanReadField "pObjectName" VkDebugMarkerObjectNameInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName})          {-# INLINE readField #-}-        readField = readVkPObjectName+        readField p+          = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName} -instance CanWriteField "pObjectName" VkDebugMarkerObjectNameInfoEXT-         where+instance {-# OVERLAPPING #-}+         CanWriteField "pObjectName" VkDebugMarkerObjectNameInfoEXT where         {-# INLINE writeField #-}-        writeField = writeVkPObjectName+        writeField p+          = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName}  instance Show VkDebugMarkerObjectNameInfoEXT where         showsPrec d x           = showString "VkDebugMarkerObjectNameInfoEXT {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkObjectType = " .-                            showsPrec d (vkObjectType x) .+                          showString "objectType = " .+                            showsPrec d (getField @"objectType" x) .                               showString ", " .-                                showString "vkObject = " .-                                  showsPrec d (vkObject x) .+                                showString "object = " .+                                  showsPrec d (getField @"object" x) .                                     showString ", " .-                                      showString "vkPObjectName = " .-                                        showsPrec d (vkPObjectName x) . showChar '}'+                                      showString "pObjectName = " .+                                        showsPrec d (getField @"pObjectName" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDebugMarkerObjectTagInfoEXT.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDebugMarkerObjectTagInfoEXT        (VkDebugMarkerObjectTagInfoEXT(..)) where@@ -14,7 +15,6 @@ import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.Enum.VkDebugReportObjectTypeEXT (VkDebugReportObjectTypeEXT) import           Graphics.Vulkan.Types.Enum.VkStructureType            (VkStructureType)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                      (unsafeDupablePerformIO)  -- | > typedef struct VkDebugMarkerObjectTagInfoEXT {@@ -27,7 +27,7 @@ --   >     const void*        pTag; --   > } VkDebugMarkerObjectTagInfoEXT; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDebugMarkerObjectTagInfoEXT.html VkDebugMarkerObjectTagInfoEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDebugMarkerObjectTagInfoEXT.html VkDebugMarkerObjectTagInfoEXT registry at www.khronos.org> data VkDebugMarkerObjectTagInfoEXT = VkDebugMarkerObjectTagInfoEXT## Addr##                                                                     ByteArray## @@ -82,27 +82,6 @@         type StructExtends VkDebugMarkerObjectTagInfoEXT = '[] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkSType VkDebugMarkerObjectTagInfoEXT where-        type VkSTypeMType VkDebugMarkerObjectTagInfoEXT = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDebugMarkerObjectTagInfoEXT, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, sType}--instance {-# OVERLAPPING #-}          HasField "sType" VkDebugMarkerObjectTagInfoEXT where         type FieldType "sType" VkDebugMarkerObjectTagInfoEXT =              VkStructureType@@ -118,37 +97,22 @@         fieldOffset           = #{offset VkDebugMarkerObjectTagInfoEXT, sType} -instance CanReadField "sType" VkDebugMarkerObjectTagInfoEXT where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkDebugMarkerObjectTagInfoEXT where-        {-# INLINE writeField #-}-        writeField = writeVkSType- instance {-# OVERLAPPING #-}-         HasVkPNext VkDebugMarkerObjectTagInfoEXT where-        type VkPNextMType VkDebugMarkerObjectTagInfoEXT = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x+         CanReadField "sType" VkDebugMarkerObjectTagInfoEXT where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDebugMarkerObjectTagInfoEXT, pNext}+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, sType}) -        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, pNext}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, sType} -        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, pNext}+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDebugMarkerObjectTagInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkDebugMarkerObjectTagInfoEXT where@@ -165,38 +129,22 @@         fieldOffset           = #{offset VkDebugMarkerObjectTagInfoEXT, pNext} -instance CanReadField "pNext" VkDebugMarkerObjectTagInfoEXT where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkDebugMarkerObjectTagInfoEXT where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkObjectType VkDebugMarkerObjectTagInfoEXT where-        type VkObjectTypeMType VkDebugMarkerObjectTagInfoEXT =-             VkDebugReportObjectTypeEXT--        {-# NOINLINE vkObjectType #-}-        vkObjectType x+         CanReadField "pNext" VkDebugMarkerObjectTagInfoEXT where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, objectType})--        {-# INLINE vkObjectTypeByteOffset #-}-        vkObjectTypeByteOffset ~_-          = #{offset VkDebugMarkerObjectTagInfoEXT, objectType}+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, pNext}) -        {-# INLINE readVkObjectType #-}-        readVkObjectType p-          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, objectType}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, pNext} -        {-# INLINE writeVkObjectType #-}-        writeVkObjectType p-          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, objectType}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDebugMarkerObjectTagInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, pNext}  instance {-# OVERLAPPING #-}          HasField "objectType" VkDebugMarkerObjectTagInfoEXT where@@ -216,39 +164,22 @@         fieldOffset           = #{offset VkDebugMarkerObjectTagInfoEXT, objectType} -instance CanReadField "objectType" VkDebugMarkerObjectTagInfoEXT-         where-        {-# INLINE getField #-}-        getField = vkObjectType--        {-# INLINE readField #-}-        readField = readVkObjectType--instance CanWriteField "objectType" VkDebugMarkerObjectTagInfoEXT-         where-        {-# INLINE writeField #-}-        writeField = writeVkObjectType- instance {-# OVERLAPPING #-}-         HasVkObject VkDebugMarkerObjectTagInfoEXT where-        type VkObjectMType VkDebugMarkerObjectTagInfoEXT = Word64--        {-# NOINLINE vkObject #-}-        vkObject x+         CanReadField "objectType" VkDebugMarkerObjectTagInfoEXT where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, object})--        {-# INLINE vkObjectByteOffset #-}-        vkObjectByteOffset ~_-          = #{offset VkDebugMarkerObjectTagInfoEXT, object}+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, objectType}) -        {-# INLINE readVkObject #-}-        readVkObject p-          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, object}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, objectType} -        {-# INLINE writeVkObject #-}-        writeVkObject p-          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, object}+instance {-# OVERLAPPING #-}+         CanWriteField "objectType" VkDebugMarkerObjectTagInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, objectType}  instance {-# OVERLAPPING #-}          HasField "object" VkDebugMarkerObjectTagInfoEXT where@@ -265,37 +196,22 @@         fieldOffset           = #{offset VkDebugMarkerObjectTagInfoEXT, object} -instance CanReadField "object" VkDebugMarkerObjectTagInfoEXT where-        {-# INLINE getField #-}-        getField = vkObject--        {-# INLINE readField #-}-        readField = readVkObject--instance CanWriteField "object" VkDebugMarkerObjectTagInfoEXT where-        {-# INLINE writeField #-}-        writeField = writeVkObject- instance {-# OVERLAPPING #-}-         HasVkTagName VkDebugMarkerObjectTagInfoEXT where-        type VkTagNameMType VkDebugMarkerObjectTagInfoEXT = Word64--        {-# NOINLINE vkTagName #-}-        vkTagName x+         CanReadField "object" VkDebugMarkerObjectTagInfoEXT where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, tagName})--        {-# INLINE vkTagNameByteOffset #-}-        vkTagNameByteOffset ~_-          = #{offset VkDebugMarkerObjectTagInfoEXT, tagName}+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, object}) -        {-# INLINE readVkTagName #-}-        readVkTagName p-          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, tagName}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, object} -        {-# INLINE writeVkTagName #-}-        writeVkTagName p-          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, tagName}+instance {-# OVERLAPPING #-}+         CanWriteField "object" VkDebugMarkerObjectTagInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, object}  instance {-# OVERLAPPING #-}          HasField "tagName" VkDebugMarkerObjectTagInfoEXT where@@ -312,38 +228,22 @@         fieldOffset           = #{offset VkDebugMarkerObjectTagInfoEXT, tagName} -instance CanReadField "tagName" VkDebugMarkerObjectTagInfoEXT where-        {-# INLINE getField #-}-        getField = vkTagName--        {-# INLINE readField #-}-        readField = readVkTagName--instance CanWriteField "tagName" VkDebugMarkerObjectTagInfoEXT-         where-        {-# INLINE writeField #-}-        writeField = writeVkTagName- instance {-# OVERLAPPING #-}-         HasVkTagSize VkDebugMarkerObjectTagInfoEXT where-        type VkTagSizeMType VkDebugMarkerObjectTagInfoEXT = CSize--        {-# NOINLINE vkTagSize #-}-        vkTagSize x+         CanReadField "tagName" VkDebugMarkerObjectTagInfoEXT where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, tagSize})--        {-# INLINE vkTagSizeByteOffset #-}-        vkTagSizeByteOffset ~_-          = #{offset VkDebugMarkerObjectTagInfoEXT, tagSize}+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, tagName}) -        {-# INLINE readVkTagSize #-}-        readVkTagSize p-          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, tagSize}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, tagName} -        {-# INLINE writeVkTagSize #-}-        writeVkTagSize p-          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, tagSize}+instance {-# OVERLAPPING #-}+         CanWriteField "tagName" VkDebugMarkerObjectTagInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, tagName}  instance {-# OVERLAPPING #-}          HasField "tagSize" VkDebugMarkerObjectTagInfoEXT where@@ -360,38 +260,22 @@         fieldOffset           = #{offset VkDebugMarkerObjectTagInfoEXT, tagSize} -instance CanReadField "tagSize" VkDebugMarkerObjectTagInfoEXT where-        {-# INLINE getField #-}-        getField = vkTagSize--        {-# INLINE readField #-}-        readField = readVkTagSize--instance CanWriteField "tagSize" VkDebugMarkerObjectTagInfoEXT-         where-        {-# INLINE writeField #-}-        writeField = writeVkTagSize- instance {-# OVERLAPPING #-}-         HasVkPTag VkDebugMarkerObjectTagInfoEXT where-        type VkPTagMType VkDebugMarkerObjectTagInfoEXT = Ptr Void--        {-# NOINLINE vkPTag #-}-        vkPTag x+         CanReadField "tagSize" VkDebugMarkerObjectTagInfoEXT where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, pTag})--        {-# INLINE vkPTagByteOffset #-}-        vkPTagByteOffset ~_-          = #{offset VkDebugMarkerObjectTagInfoEXT, pTag}+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, tagSize}) -        {-# INLINE readVkPTag #-}-        readVkPTag p-          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, pTag}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, tagSize} -        {-# INLINE writeVkPTag #-}-        writeVkPTag p-          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, pTag}+instance {-# OVERLAPPING #-}+         CanWriteField "tagSize" VkDebugMarkerObjectTagInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, tagSize}  instance {-# OVERLAPPING #-}          HasField "pTag" VkDebugMarkerObjectTagInfoEXT where@@ -408,37 +292,43 @@         fieldOffset           = #{offset VkDebugMarkerObjectTagInfoEXT, pTag} -instance CanReadField "pTag" VkDebugMarkerObjectTagInfoEXT where-        {-# INLINE getField #-}-        getField = vkPTag+instance {-# OVERLAPPING #-}+         CanReadField "pTag" VkDebugMarkerObjectTagInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, pTag})          {-# INLINE readField #-}-        readField = readVkPTag+        readField p+          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, pTag} -instance CanWriteField "pTag" VkDebugMarkerObjectTagInfoEXT where+instance {-# OVERLAPPING #-}+         CanWriteField "pTag" VkDebugMarkerObjectTagInfoEXT where         {-# INLINE writeField #-}-        writeField = writeVkPTag+        writeField p+          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, pTag}  instance Show VkDebugMarkerObjectTagInfoEXT where         showsPrec d x           = showString "VkDebugMarkerObjectTagInfoEXT {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkObjectType = " .-                            showsPrec d (vkObjectType x) .+                          showString "objectType = " .+                            showsPrec d (getField @"objectType" x) .                               showString ", " .-                                showString "vkObject = " .-                                  showsPrec d (vkObject x) .+                                showString "object = " .+                                  showsPrec d (getField @"object" x) .                                     showString ", " .-                                      showString "vkTagName = " .-                                        showsPrec d (vkTagName x) .+                                      showString "tagName = " .+                                        showsPrec d (getField @"tagName" x) .                                           showString ", " .-                                            showString "vkTagSize = " .-                                              showsPrec d (vkTagSize x) .+                                            showString "tagSize = " .+                                              showsPrec d (getField @"tagSize" x) .                                                 showString ", " .-                                                  showString "vkPTag = " .-                                                    showsPrec d (vkPTag x) . showChar '}'+                                                  showString "pTag = " .+                                                    showsPrec d (getField @"pTag" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDebugReportCallbackCreateInfoEXT.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDebugReportCallbackCreateInfoEXT        (VkDebugReportCallbackCreateInfoEXT(..)) where@@ -16,7 +17,6 @@ import           Graphics.Vulkan.Types.Enum.VkStructureType        (VkStructureType) import           Graphics.Vulkan.Types.Funcpointers                (PFN_vkDebugReportCallbackEXT) import           Graphics.Vulkan.Types.Struct.VkInstanceCreateInfo (VkInstanceCreateInfo)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                  (unsafeDupablePerformIO)  -- | > typedef struct VkDebugReportCallbackCreateInfoEXT {@@ -27,7 +27,7 @@ --   >     void*            pUserData; --   > } VkDebugReportCallbackCreateInfoEXT; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDebugReportCallbackCreateInfoEXT.html VkDebugReportCallbackCreateInfoEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDebugReportCallbackCreateInfoEXT.html VkDebugReportCallbackCreateInfoEXT registry at www.khronos.org> data VkDebugReportCallbackCreateInfoEXT = VkDebugReportCallbackCreateInfoEXT## Addr##                                                                               ByteArray## @@ -83,28 +83,6 @@              '[VkInstanceCreateInfo] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkSType VkDebugReportCallbackCreateInfoEXT where-        type VkSTypeMType VkDebugReportCallbackCreateInfoEXT =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugReportCallbackCreateInfoEXT, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDebugReportCallbackCreateInfoEXT, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}          HasField "sType" VkDebugReportCallbackCreateInfoEXT where         type FieldType "sType" VkDebugReportCallbackCreateInfoEXT =              VkStructureType@@ -122,39 +100,22 @@         fieldOffset           = #{offset VkDebugReportCallbackCreateInfoEXT, sType} -instance CanReadField "sType" VkDebugReportCallbackCreateInfoEXT-         where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkDebugReportCallbackCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField = writeVkSType- instance {-# OVERLAPPING #-}-         HasVkPNext VkDebugReportCallbackCreateInfoEXT where-        type VkPNextMType VkDebugReportCallbackCreateInfoEXT = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x+         CanReadField "sType" VkDebugReportCallbackCreateInfoEXT where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugReportCallbackCreateInfoEXT, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDebugReportCallbackCreateInfoEXT, pNext}+              (peekByteOff (unsafePtr x) #{offset VkDebugReportCallbackCreateInfoEXT, sType}) -        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pNext}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, sType} -        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pNext}+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDebugReportCallbackCreateInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkDebugReportCallbackCreateInfoEXT where@@ -174,40 +135,22 @@         fieldOffset           = #{offset VkDebugReportCallbackCreateInfoEXT, pNext} -instance CanReadField "pNext" VkDebugReportCallbackCreateInfoEXT-         where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkDebugReportCallbackCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkFlags VkDebugReportCallbackCreateInfoEXT where-        type VkFlagsMType VkDebugReportCallbackCreateInfoEXT =-             VkDebugReportFlagsEXT--        {-# NOINLINE vkFlags #-}-        vkFlags x+         CanReadField "pNext" VkDebugReportCallbackCreateInfoEXT where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugReportCallbackCreateInfoEXT, flags})--        {-# INLINE vkFlagsByteOffset #-}-        vkFlagsByteOffset ~_-          = #{offset VkDebugReportCallbackCreateInfoEXT, flags}+              (peekByteOff (unsafePtr x) #{offset VkDebugReportCallbackCreateInfoEXT, pNext}) -        {-# INLINE readVkFlags #-}-        readVkFlags p-          = peekByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, flags}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pNext} -        {-# INLINE writeVkFlags #-}-        writeVkFlags p-          = pokeByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, flags}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDebugReportCallbackCreateInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pNext}  instance {-# OVERLAPPING #-}          HasField "flags" VkDebugReportCallbackCreateInfoEXT where@@ -227,40 +170,22 @@         fieldOffset           = #{offset VkDebugReportCallbackCreateInfoEXT, flags} -instance CanReadField "flags" VkDebugReportCallbackCreateInfoEXT-         where-        {-# INLINE getField #-}-        getField = vkFlags--        {-# INLINE readField #-}-        readField = readVkFlags--instance CanWriteField "flags" VkDebugReportCallbackCreateInfoEXT-         where-        {-# INLINE writeField #-}-        writeField = writeVkFlags- instance {-# OVERLAPPING #-}-         HasVkPfnCallback VkDebugReportCallbackCreateInfoEXT where-        type VkPfnCallbackMType VkDebugReportCallbackCreateInfoEXT =-             PFN_vkDebugReportCallbackEXT--        {-# NOINLINE vkPfnCallback #-}-        vkPfnCallback x+         CanReadField "flags" VkDebugReportCallbackCreateInfoEXT where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback})--        {-# INLINE vkPfnCallbackByteOffset #-}-        vkPfnCallbackByteOffset ~_-          = #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback}+              (peekByteOff (unsafePtr x) #{offset VkDebugReportCallbackCreateInfoEXT, flags}) -        {-# INLINE readVkPfnCallback #-}-        readVkPfnCallback p-          = peekByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, flags} -        {-# INLINE writeVkPfnCallback #-}-        writeVkPfnCallback p-          = pokeByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback}+instance {-# OVERLAPPING #-}+         CanWriteField "flags" VkDebugReportCallbackCreateInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, flags}  instance {-# OVERLAPPING #-}          HasField "pfnCallback" VkDebugReportCallbackCreateInfoEXT where@@ -280,41 +205,23 @@         fieldOffset           = #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback} -instance CanReadField "pfnCallback"-           VkDebugReportCallbackCreateInfoEXT-         where-        {-# INLINE getField #-}-        getField = vkPfnCallback+instance {-# OVERLAPPING #-}+         CanReadField "pfnCallback" VkDebugReportCallbackCreateInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback})          {-# INLINE readField #-}-        readField = readVkPfnCallback+        readField p+          = peekByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback} -instance CanWriteField "pfnCallback"-           VkDebugReportCallbackCreateInfoEXT+instance {-# OVERLAPPING #-}+         CanWriteField "pfnCallback" VkDebugReportCallbackCreateInfoEXT          where         {-# INLINE writeField #-}-        writeField = writeVkPfnCallback--instance {-# OVERLAPPING #-}-         HasVkPUserData VkDebugReportCallbackCreateInfoEXT where-        type VkPUserDataMType VkDebugReportCallbackCreateInfoEXT = Ptr Void--        {-# NOINLINE vkPUserData #-}-        vkPUserData x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDebugReportCallbackCreateInfoEXT, pUserData})--        {-# INLINE vkPUserDataByteOffset #-}-        vkPUserDataByteOffset ~_-          = #{offset VkDebugReportCallbackCreateInfoEXT, pUserData}--        {-# INLINE readVkPUserData #-}-        readVkPUserData p-          = peekByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pUserData}--        {-# INLINE writeVkPUserData #-}-        writeVkPUserData p-          = pokeByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pUserData}+        writeField p+          = pokeByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback}  instance {-# OVERLAPPING #-}          HasField "pUserData" VkDebugReportCallbackCreateInfoEXT where@@ -334,35 +241,37 @@         fieldOffset           = #{offset VkDebugReportCallbackCreateInfoEXT, pUserData} -instance CanReadField "pUserData"-           VkDebugReportCallbackCreateInfoEXT-         where-        {-# INLINE getField #-}-        getField = vkPUserData+instance {-# OVERLAPPING #-}+         CanReadField "pUserData" VkDebugReportCallbackCreateInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugReportCallbackCreateInfoEXT, pUserData})          {-# INLINE readField #-}-        readField = readVkPUserData+        readField p+          = peekByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pUserData} -instance CanWriteField "pUserData"-           VkDebugReportCallbackCreateInfoEXT-         where+instance {-# OVERLAPPING #-}+         CanWriteField "pUserData" VkDebugReportCallbackCreateInfoEXT where         {-# INLINE writeField #-}-        writeField = writeVkPUserData+        writeField p+          = pokeByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pUserData}  instance Show VkDebugReportCallbackCreateInfoEXT where         showsPrec d x           = showString "VkDebugReportCallbackCreateInfoEXT {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkFlags = " .-                            showsPrec d (vkFlags x) .+                          showString "flags = " .+                            showsPrec d (getField @"flags" x) .                               showString ", " .-                                showString "vkPfnCallback = " .-                                  showsPrec d (vkPfnCallback x) .+                                showString "pfnCallback = " .+                                  showsPrec d (getField @"pfnCallback" x) .                                     showString ", " .-                                      showString "vkPUserData = " .-                                        showsPrec d (vkPUserData x) . showChar '}'+                                      showString "pUserData = " .+                                        showsPrec d (getField @"pUserData" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDebugUtilsLabelEXT.hsc view
@@ -0,0 +1,272 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleContexts      #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PatternSynonyms       #-}+{-# LANGUAGE ScopedTypeVariables   #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+{-# LANGUAGE UndecidableInstances  #-}+module Graphics.Vulkan.Types.Struct.VkDebugUtilsLabelEXT+       (VkDebugUtilsLabelEXT(..)) where+import           Foreign.Storable                           (Storable (..))+import           GHC.Prim+import           GHC.TypeLits                               (KnownNat, natVal') -- ' closing tick for hsc2hs+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkDebugUtilsLabelEXT {+--   >     VkStructureType sType;+--   >     const void*                            pNext;+--   >     const char*      pLabelName;+--   >     float                  color[4];+--   > } VkDebugUtilsLabelEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDebugUtilsLabelEXT.html VkDebugUtilsLabelEXT registry at www.khronos.org>+data VkDebugUtilsLabelEXT = VkDebugUtilsLabelEXT## Addr## ByteArray##++instance Eq VkDebugUtilsLabelEXT where+        (VkDebugUtilsLabelEXT## a _) == x@(VkDebugUtilsLabelEXT## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDebugUtilsLabelEXT where+        (VkDebugUtilsLabelEXT## a _) `compare` x@(VkDebugUtilsLabelEXT## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDebugUtilsLabelEXT where+        sizeOf ~_ = #{size VkDebugUtilsLabelEXT}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDebugUtilsLabelEXT}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDebugUtilsLabelEXT where+        unsafeAddr (VkDebugUtilsLabelEXT## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDebugUtilsLabelEXT## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDebugUtilsLabelEXT## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDebugUtilsLabelEXT where+        type StructFields VkDebugUtilsLabelEXT =+             '["sType", "pNext", "pLabelName", "color"] -- ' closing tick for hsc2hs+        type CUnionType VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs+        type StructExtends VkDebugUtilsLabelEXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkDebugUtilsLabelEXT+         where+        type FieldType "sType" VkDebugUtilsLabelEXT = VkStructureType+        type FieldOptional "sType" VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDebugUtilsLabelEXT =+             #{offset VkDebugUtilsLabelEXT, sType}+        type FieldIsArray "sType" VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDebugUtilsLabelEXT, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDebugUtilsLabelEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsLabelEXT, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsLabelEXT, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDebugUtilsLabelEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsLabelEXT, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkDebugUtilsLabelEXT+         where+        type FieldType "pNext" VkDebugUtilsLabelEXT = Ptr Void+        type FieldOptional "pNext" VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDebugUtilsLabelEXT =+             #{offset VkDebugUtilsLabelEXT, pNext}+        type FieldIsArray "pNext" VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDebugUtilsLabelEXT, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDebugUtilsLabelEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsLabelEXT, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsLabelEXT, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDebugUtilsLabelEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsLabelEXT, pNext}++instance {-# OVERLAPPING #-}+         HasField "pLabelName" VkDebugUtilsLabelEXT where+        type FieldType "pLabelName" VkDebugUtilsLabelEXT = CString+        type FieldOptional "pLabelName" VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pLabelName" VkDebugUtilsLabelEXT =+             #{offset VkDebugUtilsLabelEXT, pLabelName}+        type FieldIsArray "pLabelName" VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsLabelEXT, pLabelName}++instance {-# OVERLAPPING #-}+         CanReadField "pLabelName" VkDebugUtilsLabelEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsLabelEXT, pLabelName})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsLabelEXT, pLabelName}++instance {-# OVERLAPPING #-}+         CanWriteField "pLabelName" VkDebugUtilsLabelEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsLabelEXT, pLabelName}++instance {-# OVERLAPPING #-} HasField "color" VkDebugUtilsLabelEXT+         where+        type FieldType "color" VkDebugUtilsLabelEXT =+             #{type float}+        type FieldOptional "color" VkDebugUtilsLabelEXT = 'True -- ' closing tick for hsc2hs+        type FieldOffset "color" VkDebugUtilsLabelEXT =+             #{offset VkDebugUtilsLabelEXT, color}+        type FieldIsArray "color" VkDebugUtilsLabelEXT = 'True -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDebugUtilsLabelEXT, color}++instance {-# OVERLAPPING #-}+         (KnownNat idx, IndexInBounds "color" idx VkDebugUtilsLabelEXT) =>+         CanReadFieldArray "color" idx VkDebugUtilsLabelEXT+         where+        {-# SPECIALISE instance+                       CanReadFieldArray "color" 0 VkDebugUtilsLabelEXT #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "color" 1 VkDebugUtilsLabelEXT #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "color" 2 VkDebugUtilsLabelEXT #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "color" 3 VkDebugUtilsLabelEXT #-}+        type FieldArrayLength "color" VkDebugUtilsLabelEXT = 4++        {-# INLINE fieldArrayLength #-}+        fieldArrayLength = 4++        {-# INLINE getFieldArray #-}+        getFieldArray = f+          where {-# NOINLINE f #-}+                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+                off+                  = #{offset VkDebugUtilsLabelEXT, color} ++                      sizeOf (undefined :: #{type float}) *+                        fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++        {-# INLINE readFieldArray #-}+        readFieldArray p+          = peekByteOff p+              (#{offset VkDebugUtilsLabelEXT, color} ++                 sizeOf (undefined :: #{type float}) *+                   fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         (KnownNat idx, IndexInBounds "color" idx VkDebugUtilsLabelEXT) =>+         CanWriteFieldArray "color" idx VkDebugUtilsLabelEXT+         where+        {-# SPECIALISE instance+                       CanWriteFieldArray "color" 0 VkDebugUtilsLabelEXT #-}++        {-# SPECIALISE instance+                       CanWriteFieldArray "color" 1 VkDebugUtilsLabelEXT #-}++        {-# SPECIALISE instance+                       CanWriteFieldArray "color" 2 VkDebugUtilsLabelEXT #-}++        {-# SPECIALISE instance+                       CanWriteFieldArray "color" 3 VkDebugUtilsLabelEXT #-}++        {-# INLINE writeFieldArray #-}+        writeFieldArray p+          = pokeByteOff p+              (#{offset VkDebugUtilsLabelEXT, color} ++                 sizeOf (undefined :: #{type float}) *+                   fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance Show VkDebugUtilsLabelEXT where+        showsPrec d x+          = showString "VkDebugUtilsLabelEXT {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "pLabelName = " .+                            showsPrec d (getField @"pLabelName" x) .+                              showString ", " .+                                (showString "color = [" .+                                   showsPrec d+                                     (let s = sizeOf+                                                (undefined ::+                                                   FieldType "color" VkDebugUtilsLabelEXT)+                                          o = fieldOffset @"color" @VkDebugUtilsLabelEXT+                                          f i+                                            = peekByteOff (unsafePtr x) i ::+                                                IO (FieldType "color" VkDebugUtilsLabelEXT)+                                        in+                                        unsafeDupablePerformIO . mapM f $+                                          map (\ i -> o + i * s) [0 .. 4 - 1])+                                     . showChar ']')+                                  . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDebugUtilsMessengerCallbackDataEXT.hsc view
@@ -0,0 +1,622 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDebugUtilsMessengerCallbackDataEXT+       (VkDebugUtilsMessengerCallbackDataEXT(..)) where+import           Foreign.Storable                                           (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Bitmasks                             (VkDebugUtilsMessengerCallbackDataFlagsEXT)+import           Graphics.Vulkan.Types.Enum.VkStructureType                 (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkDebugUtilsLabelEXT          (VkDebugUtilsLabelEXT)+import           Graphics.Vulkan.Types.Struct.VkDebugUtilsObjectNameInfoEXT (VkDebugUtilsObjectNameInfoEXT)+import           System.IO.Unsafe                                           (unsafeDupablePerformIO)++-- | > typedef struct VkDebugUtilsMessengerCallbackDataEXT {+--   >     VkStructureType sType;+--   >     const void*                                                        pNext;+--   >     VkDebugUtilsMessengerCallbackDataFlagsEXT                          flags;+--   >     const char*                                  pMessageIdName;+--   >     int32_t                                                            messageIdNumber;+--   >     const char*                                                  pMessage;+--   >     uint32_t                                                           queueLabelCount;+--   >     VkDebugUtilsLabelEXT*  pQueueLabels;+--   >     uint32_t                                                           cmdBufLabelCount;+--   >     VkDebugUtilsLabelEXT* pCmdBufLabels;+--   >     uint32_t                                                                           objectCount;+--   >     VkDebugUtilsObjectNameInfoEXT*             pObjects;+--   > } VkDebugUtilsMessengerCallbackDataEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDebugUtilsMessengerCallbackDataEXT.html VkDebugUtilsMessengerCallbackDataEXT registry at www.khronos.org>+data VkDebugUtilsMessengerCallbackDataEXT = VkDebugUtilsMessengerCallbackDataEXT## Addr##+                                                                                  ByteArray##++instance Eq VkDebugUtilsMessengerCallbackDataEXT where+        (VkDebugUtilsMessengerCallbackDataEXT## a _) ==+          x@(VkDebugUtilsMessengerCallbackDataEXT## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDebugUtilsMessengerCallbackDataEXT where+        (VkDebugUtilsMessengerCallbackDataEXT## a _) `compare`+          x@(VkDebugUtilsMessengerCallbackDataEXT## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDebugUtilsMessengerCallbackDataEXT where+        sizeOf ~_+          = #{size VkDebugUtilsMessengerCallbackDataEXT}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDebugUtilsMessengerCallbackDataEXT}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDebugUtilsMessengerCallbackDataEXT+         where+        unsafeAddr (VkDebugUtilsMessengerCallbackDataEXT## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDebugUtilsMessengerCallbackDataEXT## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDebugUtilsMessengerCallbackDataEXT##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDebugUtilsMessengerCallbackDataEXT where+        type StructFields VkDebugUtilsMessengerCallbackDataEXT =+             '["sType", "pNext", "flags", "pMessageIdName", "messageIdNumber", -- ' closing tick for hsc2hs+               "pMessage", "queueLabelCount", "pQueueLabels", "cmdBufLabelCount",+               "pCmdBufLabels", "objectCount", "pObjects"]+        type CUnionType VkDebugUtilsMessengerCallbackDataEXT = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDebugUtilsMessengerCallbackDataEXT = 'False -- ' closing tick for hsc2hs+        type StructExtends VkDebugUtilsMessengerCallbackDataEXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkDebugUtilsMessengerCallbackDataEXT where+        type FieldType "sType" VkDebugUtilsMessengerCallbackDataEXT =+             VkStructureType+        type FieldOptional "sType" VkDebugUtilsMessengerCallbackDataEXT =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDebugUtilsMessengerCallbackDataEXT =+             #{offset VkDebugUtilsMessengerCallbackDataEXT, sType}+        type FieldIsArray "sType" VkDebugUtilsMessengerCallbackDataEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsMessengerCallbackDataEXT, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDebugUtilsMessengerCallbackDataEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDebugUtilsMessengerCallbackDataEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDebugUtilsMessengerCallbackDataEXT where+        type FieldType "pNext" VkDebugUtilsMessengerCallbackDataEXT =+             Ptr Void+        type FieldOptional "pNext" VkDebugUtilsMessengerCallbackDataEXT =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDebugUtilsMessengerCallbackDataEXT =+             #{offset VkDebugUtilsMessengerCallbackDataEXT, pNext}+        type FieldIsArray "pNext" VkDebugUtilsMessengerCallbackDataEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsMessengerCallbackDataEXT, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDebugUtilsMessengerCallbackDataEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDebugUtilsMessengerCallbackDataEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pNext}++instance {-# OVERLAPPING #-}+         HasField "flags" VkDebugUtilsMessengerCallbackDataEXT where+        type FieldType "flags" VkDebugUtilsMessengerCallbackDataEXT =+             VkDebugUtilsMessengerCallbackDataFlagsEXT+        type FieldOptional "flags" VkDebugUtilsMessengerCallbackDataEXT =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkDebugUtilsMessengerCallbackDataEXT =+             #{offset VkDebugUtilsMessengerCallbackDataEXT, flags}+        type FieldIsArray "flags" VkDebugUtilsMessengerCallbackDataEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsMessengerCallbackDataEXT, flags}++instance {-# OVERLAPPING #-}+         CanReadField "flags" VkDebugUtilsMessengerCallbackDataEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, flags})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, flags}++instance {-# OVERLAPPING #-}+         CanWriteField "flags" VkDebugUtilsMessengerCallbackDataEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, flags}++instance {-# OVERLAPPING #-}+         HasField "pMessageIdName" VkDebugUtilsMessengerCallbackDataEXT+         where+        type FieldType "pMessageIdName"+               VkDebugUtilsMessengerCallbackDataEXT+             = CString+        type FieldOptional "pMessageIdName"+               VkDebugUtilsMessengerCallbackDataEXT+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "pMessageIdName"+               VkDebugUtilsMessengerCallbackDataEXT+             =+             #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessageIdName}+        type FieldIsArray "pMessageIdName"+               VkDebugUtilsMessengerCallbackDataEXT+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessageIdName}++instance {-# OVERLAPPING #-}+         CanReadField "pMessageIdName" VkDebugUtilsMessengerCallbackDataEXT+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessageIdName})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessageIdName}++instance {-# OVERLAPPING #-}+         CanWriteField "pMessageIdName" VkDebugUtilsMessengerCallbackDataEXT+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessageIdName}++instance {-# OVERLAPPING #-}+         HasField "messageIdNumber" VkDebugUtilsMessengerCallbackDataEXT+         where+        type FieldType "messageIdNumber"+               VkDebugUtilsMessengerCallbackDataEXT+             = Int32+        type FieldOptional "messageIdNumber"+               VkDebugUtilsMessengerCallbackDataEXT+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "messageIdNumber"+               VkDebugUtilsMessengerCallbackDataEXT+             =+             #{offset VkDebugUtilsMessengerCallbackDataEXT, messageIdNumber}+        type FieldIsArray "messageIdNumber"+               VkDebugUtilsMessengerCallbackDataEXT+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsMessengerCallbackDataEXT, messageIdNumber}++instance {-# OVERLAPPING #-}+         CanReadField "messageIdNumber" VkDebugUtilsMessengerCallbackDataEXT+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, messageIdNumber})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, messageIdNumber}++instance {-# OVERLAPPING #-}+         CanWriteField "messageIdNumber"+           VkDebugUtilsMessengerCallbackDataEXT+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, messageIdNumber}++instance {-# OVERLAPPING #-}+         HasField "pMessage" VkDebugUtilsMessengerCallbackDataEXT where+        type FieldType "pMessage" VkDebugUtilsMessengerCallbackDataEXT =+             CString+        type FieldOptional "pMessage" VkDebugUtilsMessengerCallbackDataEXT+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pMessage" VkDebugUtilsMessengerCallbackDataEXT =+             #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessage}+        type FieldIsArray "pMessage" VkDebugUtilsMessengerCallbackDataEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessage}++instance {-# OVERLAPPING #-}+         CanReadField "pMessage" VkDebugUtilsMessengerCallbackDataEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessage})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessage}++instance {-# OVERLAPPING #-}+         CanWriteField "pMessage" VkDebugUtilsMessengerCallbackDataEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessage}++instance {-# OVERLAPPING #-}+         HasField "queueLabelCount" VkDebugUtilsMessengerCallbackDataEXT+         where+        type FieldType "queueLabelCount"+               VkDebugUtilsMessengerCallbackDataEXT+             = Word32+        type FieldOptional "queueLabelCount"+               VkDebugUtilsMessengerCallbackDataEXT+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "queueLabelCount"+               VkDebugUtilsMessengerCallbackDataEXT+             =+             #{offset VkDebugUtilsMessengerCallbackDataEXT, queueLabelCount}+        type FieldIsArray "queueLabelCount"+               VkDebugUtilsMessengerCallbackDataEXT+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsMessengerCallbackDataEXT, queueLabelCount}++instance {-# OVERLAPPING #-}+         CanReadField "queueLabelCount" VkDebugUtilsMessengerCallbackDataEXT+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, queueLabelCount})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, queueLabelCount}++instance {-# OVERLAPPING #-}+         CanWriteField "queueLabelCount"+           VkDebugUtilsMessengerCallbackDataEXT+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, queueLabelCount}++instance {-# OVERLAPPING #-}+         HasField "pQueueLabels" VkDebugUtilsMessengerCallbackDataEXT where+        type FieldType "pQueueLabels" VkDebugUtilsMessengerCallbackDataEXT+             = Ptr VkDebugUtilsLabelEXT+        type FieldOptional "pQueueLabels"+               VkDebugUtilsMessengerCallbackDataEXT+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "pQueueLabels"+               VkDebugUtilsMessengerCallbackDataEXT+             =+             #{offset VkDebugUtilsMessengerCallbackDataEXT, pQueueLabels}+        type FieldIsArray "pQueueLabels"+               VkDebugUtilsMessengerCallbackDataEXT+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsMessengerCallbackDataEXT, pQueueLabels}++instance {-# OVERLAPPING #-}+         CanReadField "pQueueLabels" VkDebugUtilsMessengerCallbackDataEXT+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, pQueueLabels})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pQueueLabels}++instance {-# OVERLAPPING #-}+         CanWriteField "pQueueLabels" VkDebugUtilsMessengerCallbackDataEXT+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pQueueLabels}++instance {-# OVERLAPPING #-}+         HasField "cmdBufLabelCount" VkDebugUtilsMessengerCallbackDataEXT+         where+        type FieldType "cmdBufLabelCount"+               VkDebugUtilsMessengerCallbackDataEXT+             = Word32+        type FieldOptional "cmdBufLabelCount"+               VkDebugUtilsMessengerCallbackDataEXT+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "cmdBufLabelCount"+               VkDebugUtilsMessengerCallbackDataEXT+             =+             #{offset VkDebugUtilsMessengerCallbackDataEXT, cmdBufLabelCount}+        type FieldIsArray "cmdBufLabelCount"+               VkDebugUtilsMessengerCallbackDataEXT+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsMessengerCallbackDataEXT, cmdBufLabelCount}++instance {-# OVERLAPPING #-}+         CanReadField "cmdBufLabelCount"+           VkDebugUtilsMessengerCallbackDataEXT+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, cmdBufLabelCount})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, cmdBufLabelCount}++instance {-# OVERLAPPING #-}+         CanWriteField "cmdBufLabelCount"+           VkDebugUtilsMessengerCallbackDataEXT+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, cmdBufLabelCount}++instance {-# OVERLAPPING #-}+         HasField "pCmdBufLabels" VkDebugUtilsMessengerCallbackDataEXT where+        type FieldType "pCmdBufLabels" VkDebugUtilsMessengerCallbackDataEXT+             = Ptr VkDebugUtilsLabelEXT+        type FieldOptional "pCmdBufLabels"+               VkDebugUtilsMessengerCallbackDataEXT+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "pCmdBufLabels"+               VkDebugUtilsMessengerCallbackDataEXT+             =+             #{offset VkDebugUtilsMessengerCallbackDataEXT, pCmdBufLabels}+        type FieldIsArray "pCmdBufLabels"+               VkDebugUtilsMessengerCallbackDataEXT+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsMessengerCallbackDataEXT, pCmdBufLabels}++instance {-# OVERLAPPING #-}+         CanReadField "pCmdBufLabels" VkDebugUtilsMessengerCallbackDataEXT+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, pCmdBufLabels})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pCmdBufLabels}++instance {-# OVERLAPPING #-}+         CanWriteField "pCmdBufLabels" VkDebugUtilsMessengerCallbackDataEXT+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pCmdBufLabels}++instance {-# OVERLAPPING #-}+         HasField "objectCount" VkDebugUtilsMessengerCallbackDataEXT where+        type FieldType "objectCount" VkDebugUtilsMessengerCallbackDataEXT =+             Word32+        type FieldOptional "objectCount"+               VkDebugUtilsMessengerCallbackDataEXT+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "objectCount" VkDebugUtilsMessengerCallbackDataEXT+             =+             #{offset VkDebugUtilsMessengerCallbackDataEXT, objectCount}+        type FieldIsArray "objectCount"+               VkDebugUtilsMessengerCallbackDataEXT+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsMessengerCallbackDataEXT, objectCount}++instance {-# OVERLAPPING #-}+         CanReadField "objectCount" VkDebugUtilsMessengerCallbackDataEXT+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, objectCount})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, objectCount}++instance {-# OVERLAPPING #-}+         CanWriteField "objectCount" VkDebugUtilsMessengerCallbackDataEXT+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, objectCount}++instance {-# OVERLAPPING #-}+         HasField "pObjects" VkDebugUtilsMessengerCallbackDataEXT where+        type FieldType "pObjects" VkDebugUtilsMessengerCallbackDataEXT =+             Ptr VkDebugUtilsObjectNameInfoEXT+        type FieldOptional "pObjects" VkDebugUtilsMessengerCallbackDataEXT+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pObjects" VkDebugUtilsMessengerCallbackDataEXT =+             #{offset VkDebugUtilsMessengerCallbackDataEXT, pObjects}+        type FieldIsArray "pObjects" VkDebugUtilsMessengerCallbackDataEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsMessengerCallbackDataEXT, pObjects}++instance {-# OVERLAPPING #-}+         CanReadField "pObjects" VkDebugUtilsMessengerCallbackDataEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, pObjects})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pObjects}++instance {-# OVERLAPPING #-}+         CanWriteField "pObjects" VkDebugUtilsMessengerCallbackDataEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pObjects}++instance Show VkDebugUtilsMessengerCallbackDataEXT where+        showsPrec d x+          = showString "VkDebugUtilsMessengerCallbackDataEXT {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "flags = " .+                            showsPrec d (getField @"flags" x) .+                              showString ", " .+                                showString "pMessageIdName = " .+                                  showsPrec d (getField @"pMessageIdName" x) .+                                    showString ", " .+                                      showString "messageIdNumber = " .+                                        showsPrec d (getField @"messageIdNumber" x) .+                                          showString ", " .+                                            showString "pMessage = " .+                                              showsPrec d (getField @"pMessage" x) .+                                                showString ", " .+                                                  showString "queueLabelCount = " .+                                                    showsPrec d (getField @"queueLabelCount" x) .+                                                      showString ", " .+                                                        showString "pQueueLabels = " .+                                                          showsPrec d (getField @"pQueueLabels" x) .+                                                            showString ", " .+                                                              showString "cmdBufLabelCount = " .+                                                                showsPrec d+                                                                  (getField @"cmdBufLabelCount" x)+                                                                  .+                                                                  showString ", " .+                                                                    showString "pCmdBufLabels = " .+                                                                      showsPrec d+                                                                        (getField @"pCmdBufLabels"+                                                                           x)+                                                                        .+                                                                        showString ", " .+                                                                          showString+                                                                            "objectCount = "+                                                                            .+                                                                            showsPrec d+                                                                              (getField+                                                                                 @"objectCount"+                                                                                 x)+                                                                              .+                                                                              showString ", " .+                                                                                showString+                                                                                  "pObjects = "+                                                                                  .+                                                                                  showsPrec d+                                                                                    (getField+                                                                                       @"pObjects"+                                                                                       x)+                                                                                    . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDebugUtilsMessengerCreateInfoEXT.hsc view
@@ -0,0 +1,371 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDebugUtilsMessengerCreateInfoEXT+       (VkDebugUtilsMessengerCreateInfoEXT(..)) where+import           Foreign.Storable                                               (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Bitmasks                                 (VkDebugUtilsMessengerCreateFlagsEXT)+import           Graphics.Vulkan.Types.Enum.VkDebugUtilsMessageSeverityFlagsEXT (VkDebugUtilsMessageSeverityFlagsEXT)+import           Graphics.Vulkan.Types.Enum.VkDebugUtilsMessageTypeFlagsEXT     (VkDebugUtilsMessageTypeFlagsEXT)+import           Graphics.Vulkan.Types.Enum.VkStructureType                     (VkStructureType)+import           Graphics.Vulkan.Types.Funcpointers                             (PFN_vkDebugUtilsMessengerCallbackEXT)+import           Graphics.Vulkan.Types.Struct.VkInstanceCreateInfo              (VkInstanceCreateInfo)+import           System.IO.Unsafe                                               (unsafeDupablePerformIO)++-- | > typedef struct VkDebugUtilsMessengerCreateInfoEXT {+--   >     VkStructureType sType;+--   >     const void*                                          pNext;+--   >     VkDebugUtilsMessengerCreateFlagsEXT  flags;+--   >     VkDebugUtilsMessageSeverityFlagsEXT                  messageSeverity;+--   >     VkDebugUtilsMessageTypeFlagsEXT                      messageType;+--   >     PFN_vkDebugUtilsMessengerCallbackEXT                 pfnUserCallback;+--   >     void*                                pUserData;+--   > } VkDebugUtilsMessengerCreateInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDebugUtilsMessengerCreateInfoEXT.html VkDebugUtilsMessengerCreateInfoEXT registry at www.khronos.org>+data VkDebugUtilsMessengerCreateInfoEXT = VkDebugUtilsMessengerCreateInfoEXT## Addr##+                                                                              ByteArray##++instance Eq VkDebugUtilsMessengerCreateInfoEXT where+        (VkDebugUtilsMessengerCreateInfoEXT## a _) ==+          x@(VkDebugUtilsMessengerCreateInfoEXT## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDebugUtilsMessengerCreateInfoEXT where+        (VkDebugUtilsMessengerCreateInfoEXT## a _) `compare`+          x@(VkDebugUtilsMessengerCreateInfoEXT## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDebugUtilsMessengerCreateInfoEXT where+        sizeOf ~_ = #{size VkDebugUtilsMessengerCreateInfoEXT}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDebugUtilsMessengerCreateInfoEXT}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDebugUtilsMessengerCreateInfoEXT where+        unsafeAddr (VkDebugUtilsMessengerCreateInfoEXT## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDebugUtilsMessengerCreateInfoEXT## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDebugUtilsMessengerCreateInfoEXT##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDebugUtilsMessengerCreateInfoEXT where+        type StructFields VkDebugUtilsMessengerCreateInfoEXT =+             '["sType", "pNext", "flags", "messageSeverity", "messageType", -- ' closing tick for hsc2hs+               "pfnUserCallback", "pUserData"]+        type CUnionType VkDebugUtilsMessengerCreateInfoEXT = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDebugUtilsMessengerCreateInfoEXT = 'False -- ' closing tick for hsc2hs+        type StructExtends VkDebugUtilsMessengerCreateInfoEXT =+             '[VkInstanceCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkDebugUtilsMessengerCreateInfoEXT where+        type FieldType "sType" VkDebugUtilsMessengerCreateInfoEXT =+             VkStructureType+        type FieldOptional "sType" VkDebugUtilsMessengerCreateInfoEXT =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDebugUtilsMessengerCreateInfoEXT =+             #{offset VkDebugUtilsMessengerCreateInfoEXT, sType}+        type FieldIsArray "sType" VkDebugUtilsMessengerCreateInfoEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsMessengerCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDebugUtilsMessengerCreateInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCreateInfoEXT, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDebugUtilsMessengerCreateInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDebugUtilsMessengerCreateInfoEXT where+        type FieldType "pNext" VkDebugUtilsMessengerCreateInfoEXT =+             Ptr Void+        type FieldOptional "pNext" VkDebugUtilsMessengerCreateInfoEXT =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDebugUtilsMessengerCreateInfoEXT =+             #{offset VkDebugUtilsMessengerCreateInfoEXT, pNext}+        type FieldIsArray "pNext" VkDebugUtilsMessengerCreateInfoEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsMessengerCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDebugUtilsMessengerCreateInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCreateInfoEXT, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDebugUtilsMessengerCreateInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+         HasField "flags" VkDebugUtilsMessengerCreateInfoEXT where+        type FieldType "flags" VkDebugUtilsMessengerCreateInfoEXT =+             VkDebugUtilsMessengerCreateFlagsEXT+        type FieldOptional "flags" VkDebugUtilsMessengerCreateInfoEXT =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkDebugUtilsMessengerCreateInfoEXT =+             #{offset VkDebugUtilsMessengerCreateInfoEXT, flags}+        type FieldIsArray "flags" VkDebugUtilsMessengerCreateInfoEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsMessengerCreateInfoEXT, flags}++instance {-# OVERLAPPING #-}+         CanReadField "flags" VkDebugUtilsMessengerCreateInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCreateInfoEXT, flags})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, flags}++instance {-# OVERLAPPING #-}+         CanWriteField "flags" VkDebugUtilsMessengerCreateInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, flags}++instance {-# OVERLAPPING #-}+         HasField "messageSeverity" VkDebugUtilsMessengerCreateInfoEXT where+        type FieldType "messageSeverity" VkDebugUtilsMessengerCreateInfoEXT+             = VkDebugUtilsMessageSeverityFlagsEXT+        type FieldOptional "messageSeverity"+               VkDebugUtilsMessengerCreateInfoEXT+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "messageSeverity"+               VkDebugUtilsMessengerCreateInfoEXT+             =+             #{offset VkDebugUtilsMessengerCreateInfoEXT, messageSeverity}+        type FieldIsArray "messageSeverity"+               VkDebugUtilsMessengerCreateInfoEXT+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsMessengerCreateInfoEXT, messageSeverity}++instance {-# OVERLAPPING #-}+         CanReadField "messageSeverity" VkDebugUtilsMessengerCreateInfoEXT+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCreateInfoEXT, messageSeverity})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, messageSeverity}++instance {-# OVERLAPPING #-}+         CanWriteField "messageSeverity" VkDebugUtilsMessengerCreateInfoEXT+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, messageSeverity}++instance {-# OVERLAPPING #-}+         HasField "messageType" VkDebugUtilsMessengerCreateInfoEXT where+        type FieldType "messageType" VkDebugUtilsMessengerCreateInfoEXT =+             VkDebugUtilsMessageTypeFlagsEXT+        type FieldOptional "messageType" VkDebugUtilsMessengerCreateInfoEXT+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "messageType" VkDebugUtilsMessengerCreateInfoEXT =+             #{offset VkDebugUtilsMessengerCreateInfoEXT, messageType}+        type FieldIsArray "messageType" VkDebugUtilsMessengerCreateInfoEXT+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsMessengerCreateInfoEXT, messageType}++instance {-# OVERLAPPING #-}+         CanReadField "messageType" VkDebugUtilsMessengerCreateInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCreateInfoEXT, messageType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, messageType}++instance {-# OVERLAPPING #-}+         CanWriteField "messageType" VkDebugUtilsMessengerCreateInfoEXT+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, messageType}++instance {-# OVERLAPPING #-}+         HasField "pfnUserCallback" VkDebugUtilsMessengerCreateInfoEXT where+        type FieldType "pfnUserCallback" VkDebugUtilsMessengerCreateInfoEXT+             = PFN_vkDebugUtilsMessengerCallbackEXT+        type FieldOptional "pfnUserCallback"+               VkDebugUtilsMessengerCreateInfoEXT+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pfnUserCallback"+               VkDebugUtilsMessengerCreateInfoEXT+             =+             #{offset VkDebugUtilsMessengerCreateInfoEXT, pfnUserCallback}+        type FieldIsArray "pfnUserCallback"+               VkDebugUtilsMessengerCreateInfoEXT+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsMessengerCreateInfoEXT, pfnUserCallback}++instance {-# OVERLAPPING #-}+         CanReadField "pfnUserCallback" VkDebugUtilsMessengerCreateInfoEXT+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCreateInfoEXT, pfnUserCallback})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, pfnUserCallback}++instance {-# OVERLAPPING #-}+         CanWriteField "pfnUserCallback" VkDebugUtilsMessengerCreateInfoEXT+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, pfnUserCallback}++instance {-# OVERLAPPING #-}+         HasField "pUserData" VkDebugUtilsMessengerCreateInfoEXT where+        type FieldType "pUserData" VkDebugUtilsMessengerCreateInfoEXT =+             Ptr Void+        type FieldOptional "pUserData" VkDebugUtilsMessengerCreateInfoEXT =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "pUserData" VkDebugUtilsMessengerCreateInfoEXT =+             #{offset VkDebugUtilsMessengerCreateInfoEXT, pUserData}+        type FieldIsArray "pUserData" VkDebugUtilsMessengerCreateInfoEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsMessengerCreateInfoEXT, pUserData}++instance {-# OVERLAPPING #-}+         CanReadField "pUserData" VkDebugUtilsMessengerCreateInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCreateInfoEXT, pUserData})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, pUserData}++instance {-# OVERLAPPING #-}+         CanWriteField "pUserData" VkDebugUtilsMessengerCreateInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, pUserData}++instance Show VkDebugUtilsMessengerCreateInfoEXT where+        showsPrec d x+          = showString "VkDebugUtilsMessengerCreateInfoEXT {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "flags = " .+                            showsPrec d (getField @"flags" x) .+                              showString ", " .+                                showString "messageSeverity = " .+                                  showsPrec d (getField @"messageSeverity" x) .+                                    showString ", " .+                                      showString "messageType = " .+                                        showsPrec d (getField @"messageType" x) .+                                          showString ", " .+                                            showString "pfnUserCallback = " .+                                              showsPrec d (getField @"pfnUserCallback" x) .+                                                showString ", " .+                                                  showString "pUserData = " .+                                                    showsPrec d (getField @"pUserData" x) .+                                                      showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDebugUtilsObjectNameInfoEXT.hsc view
@@ -0,0 +1,267 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDebugUtilsObjectNameInfoEXT+       (VkDebugUtilsObjectNameInfoEXT(..)) where+import           Foreign.Storable                           (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkObjectType    (VkObjectType)+import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkDebugUtilsObjectNameInfoEXT {+--   >     VkStructureType sType;+--   >     const void*                                            pNext;+--   >     VkObjectType                                           objectType;+--   >     uint64_t                                               objectHandle;+--   >     const char*      pObjectName;+--   > } VkDebugUtilsObjectNameInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDebugUtilsObjectNameInfoEXT.html VkDebugUtilsObjectNameInfoEXT registry at www.khronos.org>+data VkDebugUtilsObjectNameInfoEXT = VkDebugUtilsObjectNameInfoEXT## Addr##+                                                                    ByteArray##++instance Eq VkDebugUtilsObjectNameInfoEXT where+        (VkDebugUtilsObjectNameInfoEXT## a _) ==+          x@(VkDebugUtilsObjectNameInfoEXT## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDebugUtilsObjectNameInfoEXT where+        (VkDebugUtilsObjectNameInfoEXT## a _) `compare`+          x@(VkDebugUtilsObjectNameInfoEXT## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDebugUtilsObjectNameInfoEXT where+        sizeOf ~_ = #{size VkDebugUtilsObjectNameInfoEXT}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDebugUtilsObjectNameInfoEXT}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDebugUtilsObjectNameInfoEXT where+        unsafeAddr (VkDebugUtilsObjectNameInfoEXT## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDebugUtilsObjectNameInfoEXT## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDebugUtilsObjectNameInfoEXT##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDebugUtilsObjectNameInfoEXT where+        type StructFields VkDebugUtilsObjectNameInfoEXT =+             '["sType", "pNext", "objectType", "objectHandle", "pObjectName"] -- ' closing tick for hsc2hs+        type CUnionType VkDebugUtilsObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDebugUtilsObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs+        type StructExtends VkDebugUtilsObjectNameInfoEXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkDebugUtilsObjectNameInfoEXT where+        type FieldType "sType" VkDebugUtilsObjectNameInfoEXT =+             VkStructureType+        type FieldOptional "sType" VkDebugUtilsObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDebugUtilsObjectNameInfoEXT =+             #{offset VkDebugUtilsObjectNameInfoEXT, sType}+        type FieldIsArray "sType" VkDebugUtilsObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsObjectNameInfoEXT, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDebugUtilsObjectNameInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectNameInfoEXT, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDebugUtilsObjectNameInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDebugUtilsObjectNameInfoEXT where+        type FieldType "pNext" VkDebugUtilsObjectNameInfoEXT = Ptr Void+        type FieldOptional "pNext" VkDebugUtilsObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDebugUtilsObjectNameInfoEXT =+             #{offset VkDebugUtilsObjectNameInfoEXT, pNext}+        type FieldIsArray "pNext" VkDebugUtilsObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsObjectNameInfoEXT, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDebugUtilsObjectNameInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectNameInfoEXT, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDebugUtilsObjectNameInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, pNext}++instance {-# OVERLAPPING #-}+         HasField "objectType" VkDebugUtilsObjectNameInfoEXT where+        type FieldType "objectType" VkDebugUtilsObjectNameInfoEXT =+             VkObjectType+        type FieldOptional "objectType" VkDebugUtilsObjectNameInfoEXT =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "objectType" VkDebugUtilsObjectNameInfoEXT =+             #{offset VkDebugUtilsObjectNameInfoEXT, objectType}+        type FieldIsArray "objectType" VkDebugUtilsObjectNameInfoEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsObjectNameInfoEXT, objectType}++instance {-# OVERLAPPING #-}+         CanReadField "objectType" VkDebugUtilsObjectNameInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectNameInfoEXT, objectType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, objectType}++instance {-# OVERLAPPING #-}+         CanWriteField "objectType" VkDebugUtilsObjectNameInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, objectType}++instance {-# OVERLAPPING #-}+         HasField "objectHandle" VkDebugUtilsObjectNameInfoEXT where+        type FieldType "objectHandle" VkDebugUtilsObjectNameInfoEXT =+             Word64+        type FieldOptional "objectHandle" VkDebugUtilsObjectNameInfoEXT =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "objectHandle" VkDebugUtilsObjectNameInfoEXT =+             #{offset VkDebugUtilsObjectNameInfoEXT, objectHandle}+        type FieldIsArray "objectHandle" VkDebugUtilsObjectNameInfoEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsObjectNameInfoEXT, objectHandle}++instance {-# OVERLAPPING #-}+         CanReadField "objectHandle" VkDebugUtilsObjectNameInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectNameInfoEXT, objectHandle})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, objectHandle}++instance {-# OVERLAPPING #-}+         CanWriteField "objectHandle" VkDebugUtilsObjectNameInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, objectHandle}++instance {-# OVERLAPPING #-}+         HasField "pObjectName" VkDebugUtilsObjectNameInfoEXT where+        type FieldType "pObjectName" VkDebugUtilsObjectNameInfoEXT =+             CString+        type FieldOptional "pObjectName" VkDebugUtilsObjectNameInfoEXT =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "pObjectName" VkDebugUtilsObjectNameInfoEXT =+             #{offset VkDebugUtilsObjectNameInfoEXT, pObjectName}+        type FieldIsArray "pObjectName" VkDebugUtilsObjectNameInfoEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsObjectNameInfoEXT, pObjectName}++instance {-# OVERLAPPING #-}+         CanReadField "pObjectName" VkDebugUtilsObjectNameInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectNameInfoEXT, pObjectName})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, pObjectName}++instance {-# OVERLAPPING #-}+         CanWriteField "pObjectName" VkDebugUtilsObjectNameInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, pObjectName}++instance Show VkDebugUtilsObjectNameInfoEXT where+        showsPrec d x+          = showString "VkDebugUtilsObjectNameInfoEXT {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "objectType = " .+                            showsPrec d (getField @"objectType" x) .+                              showString ", " .+                                showString "objectHandle = " .+                                  showsPrec d (getField @"objectHandle" x) .+                                    showString ", " .+                                      showString "pObjectName = " .+                                        showsPrec d (getField @"pObjectName" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDebugUtilsObjectTagInfoEXT.hsc view
@@ -0,0 +1,336 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDebugUtilsObjectTagInfoEXT+       (VkDebugUtilsObjectTagInfoEXT(..)) where+import           Foreign.Storable                           (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkObjectType    (VkObjectType)+import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkDebugUtilsObjectTagInfoEXT {+--   >     VkStructureType sType;+--   >     const void*                            pNext;+--   >     VkObjectType                           objectType;+--   >     uint64_t                               objectHandle;+--   >     uint64_t                               tagName;+--   >     size_t                                 tagSize;+--   >     const void*              pTag;+--   > } VkDebugUtilsObjectTagInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDebugUtilsObjectTagInfoEXT.html VkDebugUtilsObjectTagInfoEXT registry at www.khronos.org>+data VkDebugUtilsObjectTagInfoEXT = VkDebugUtilsObjectTagInfoEXT## Addr##+                                                                  ByteArray##++instance Eq VkDebugUtilsObjectTagInfoEXT where+        (VkDebugUtilsObjectTagInfoEXT## a _) ==+          x@(VkDebugUtilsObjectTagInfoEXT## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDebugUtilsObjectTagInfoEXT where+        (VkDebugUtilsObjectTagInfoEXT## a _) `compare`+          x@(VkDebugUtilsObjectTagInfoEXT## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDebugUtilsObjectTagInfoEXT where+        sizeOf ~_ = #{size VkDebugUtilsObjectTagInfoEXT}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDebugUtilsObjectTagInfoEXT}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDebugUtilsObjectTagInfoEXT where+        unsafeAddr (VkDebugUtilsObjectTagInfoEXT## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDebugUtilsObjectTagInfoEXT## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDebugUtilsObjectTagInfoEXT##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDebugUtilsObjectTagInfoEXT where+        type StructFields VkDebugUtilsObjectTagInfoEXT =+             '["sType", "pNext", "objectType", "objectHandle", "tagName", -- ' closing tick for hsc2hs+               "tagSize", "pTag"]+        type CUnionType VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+        type StructExtends VkDebugUtilsObjectTagInfoEXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkDebugUtilsObjectTagInfoEXT where+        type FieldType "sType" VkDebugUtilsObjectTagInfoEXT =+             VkStructureType+        type FieldOptional "sType" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDebugUtilsObjectTagInfoEXT =+             #{offset VkDebugUtilsObjectTagInfoEXT, sType}+        type FieldIsArray "sType" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsObjectTagInfoEXT, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDebugUtilsObjectTagInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectTagInfoEXT, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDebugUtilsObjectTagInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDebugUtilsObjectTagInfoEXT where+        type FieldType "pNext" VkDebugUtilsObjectTagInfoEXT = Ptr Void+        type FieldOptional "pNext" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDebugUtilsObjectTagInfoEXT =+             #{offset VkDebugUtilsObjectTagInfoEXT, pNext}+        type FieldIsArray "pNext" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsObjectTagInfoEXT, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDebugUtilsObjectTagInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectTagInfoEXT, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDebugUtilsObjectTagInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, pNext}++instance {-# OVERLAPPING #-}+         HasField "objectType" VkDebugUtilsObjectTagInfoEXT where+        type FieldType "objectType" VkDebugUtilsObjectTagInfoEXT =+             VkObjectType+        type FieldOptional "objectType" VkDebugUtilsObjectTagInfoEXT =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "objectType" VkDebugUtilsObjectTagInfoEXT =+             #{offset VkDebugUtilsObjectTagInfoEXT, objectType}+        type FieldIsArray "objectType" VkDebugUtilsObjectTagInfoEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsObjectTagInfoEXT, objectType}++instance {-# OVERLAPPING #-}+         CanReadField "objectType" VkDebugUtilsObjectTagInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectTagInfoEXT, objectType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, objectType}++instance {-# OVERLAPPING #-}+         CanWriteField "objectType" VkDebugUtilsObjectTagInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, objectType}++instance {-# OVERLAPPING #-}+         HasField "objectHandle" VkDebugUtilsObjectTagInfoEXT where+        type FieldType "objectHandle" VkDebugUtilsObjectTagInfoEXT = Word64+        type FieldOptional "objectHandle" VkDebugUtilsObjectTagInfoEXT =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "objectHandle" VkDebugUtilsObjectTagInfoEXT =+             #{offset VkDebugUtilsObjectTagInfoEXT, objectHandle}+        type FieldIsArray "objectHandle" VkDebugUtilsObjectTagInfoEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsObjectTagInfoEXT, objectHandle}++instance {-# OVERLAPPING #-}+         CanReadField "objectHandle" VkDebugUtilsObjectTagInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectTagInfoEXT, objectHandle})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, objectHandle}++instance {-# OVERLAPPING #-}+         CanWriteField "objectHandle" VkDebugUtilsObjectTagInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, objectHandle}++instance {-# OVERLAPPING #-}+         HasField "tagName" VkDebugUtilsObjectTagInfoEXT where+        type FieldType "tagName" VkDebugUtilsObjectTagInfoEXT = Word64+        type FieldOptional "tagName" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "tagName" VkDebugUtilsObjectTagInfoEXT =+             #{offset VkDebugUtilsObjectTagInfoEXT, tagName}+        type FieldIsArray "tagName" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsObjectTagInfoEXT, tagName}++instance {-# OVERLAPPING #-}+         CanReadField "tagName" VkDebugUtilsObjectTagInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectTagInfoEXT, tagName})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, tagName}++instance {-# OVERLAPPING #-}+         CanWriteField "tagName" VkDebugUtilsObjectTagInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, tagName}++instance {-# OVERLAPPING #-}+         HasField "tagSize" VkDebugUtilsObjectTagInfoEXT where+        type FieldType "tagSize" VkDebugUtilsObjectTagInfoEXT = CSize+        type FieldOptional "tagSize" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "tagSize" VkDebugUtilsObjectTagInfoEXT =+             #{offset VkDebugUtilsObjectTagInfoEXT, tagSize}+        type FieldIsArray "tagSize" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsObjectTagInfoEXT, tagSize}++instance {-# OVERLAPPING #-}+         CanReadField "tagSize" VkDebugUtilsObjectTagInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectTagInfoEXT, tagSize})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, tagSize}++instance {-# OVERLAPPING #-}+         CanWriteField "tagSize" VkDebugUtilsObjectTagInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, tagSize}++instance {-# OVERLAPPING #-}+         HasField "pTag" VkDebugUtilsObjectTagInfoEXT where+        type FieldType "pTag" VkDebugUtilsObjectTagInfoEXT = Ptr Void+        type FieldOptional "pTag" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pTag" VkDebugUtilsObjectTagInfoEXT =+             #{offset VkDebugUtilsObjectTagInfoEXT, pTag}+        type FieldIsArray "pTag" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugUtilsObjectTagInfoEXT, pTag}++instance {-# OVERLAPPING #-}+         CanReadField "pTag" VkDebugUtilsObjectTagInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectTagInfoEXT, pTag})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, pTag}++instance {-# OVERLAPPING #-}+         CanWriteField "pTag" VkDebugUtilsObjectTagInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, pTag}++instance Show VkDebugUtilsObjectTagInfoEXT where+        showsPrec d x+          = showString "VkDebugUtilsObjectTagInfoEXT {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "objectType = " .+                            showsPrec d (getField @"objectType" x) .+                              showString ", " .+                                showString "objectHandle = " .+                                  showsPrec d (getField @"objectHandle" x) .+                                    showString ", " .+                                      showString "tagName = " .+                                        showsPrec d (getField @"tagName" x) .+                                          showString ", " .+                                            showString "tagSize = " .+                                              showsPrec d (getField @"tagSize" x) .+                                                showString ", " .+                                                  showString "pTag = " .+                                                    showsPrec d (getField @"pTag" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDedicatedAllocationBufferCreateInfoNV.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDedicatedAllocationBufferCreateInfoNV        (VkDedicatedAllocationBufferCreateInfoNV(..)) where@@ -15,7 +16,6 @@ import           Graphics.Vulkan.Types.BaseTypes                 (VkBool32) import           Graphics.Vulkan.Types.Enum.VkStructureType      (VkStructureType) import           Graphics.Vulkan.Types.Struct.VkBufferCreateInfo (VkBufferCreateInfo)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                (unsafeDupablePerformIO)  -- | > typedef struct VkDedicatedAllocationBufferCreateInfoNV {@@ -24,7 +24,7 @@ --   >     VkBool32                         dedicatedAllocation; --   > } VkDedicatedAllocationBufferCreateInfoNV; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDedicatedAllocationBufferCreateInfoNV.html VkDedicatedAllocationBufferCreateInfoNV registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDedicatedAllocationBufferCreateInfoNV.html VkDedicatedAllocationBufferCreateInfoNV registry at www.khronos.org> data VkDedicatedAllocationBufferCreateInfoNV = VkDedicatedAllocationBufferCreateInfoNV## Addr##                                                                                         ByteArray## @@ -83,28 +83,6 @@              '[VkBufferCreateInfo] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkSType VkDedicatedAllocationBufferCreateInfoNV where-        type VkSTypeMType VkDedicatedAllocationBufferCreateInfoNV =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationBufferCreateInfoNV, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDedicatedAllocationBufferCreateInfoNV, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, sType}--instance {-# OVERLAPPING #-}          HasField "sType" VkDedicatedAllocationBufferCreateInfoNV where         type FieldType "sType" VkDedicatedAllocationBufferCreateInfoNV =              VkStructureType@@ -122,42 +100,22 @@         fieldOffset           = #{offset VkDedicatedAllocationBufferCreateInfoNV, sType} -instance CanReadField "sType"-           VkDedicatedAllocationBufferCreateInfoNV-         where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType"-           VkDedicatedAllocationBufferCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField = writeVkSType- instance {-# OVERLAPPING #-}-         HasVkPNext VkDedicatedAllocationBufferCreateInfoNV where-        type VkPNextMType VkDedicatedAllocationBufferCreateInfoNV =-             Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x+         CanReadField "sType" VkDedicatedAllocationBufferCreateInfoNV where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext}+              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationBufferCreateInfoNV, sType}) -        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, sType} -        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext}+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDedicatedAllocationBufferCreateInfoNV where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkDedicatedAllocationBufferCreateInfoNV where@@ -177,44 +135,22 @@         fieldOffset           = #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext} -instance CanReadField "pNext"-           VkDedicatedAllocationBufferCreateInfoNV-         where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext"-           VkDedicatedAllocationBufferCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkDedicatedAllocation VkDedicatedAllocationBufferCreateInfoNV-         where-        type VkDedicatedAllocationMType-               VkDedicatedAllocationBufferCreateInfoNV-             = VkBool32--        {-# NOINLINE vkDedicatedAllocation #-}-        vkDedicatedAllocation x+         CanReadField "pNext" VkDedicatedAllocationBufferCreateInfoNV where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation})--        {-# INLINE vkDedicatedAllocationByteOffset #-}-        vkDedicatedAllocationByteOffset ~_-          = #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation}+              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext}) -        {-# INLINE readVkDedicatedAllocation #-}-        readVkDedicatedAllocation p-          = peekByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext} -        {-# INLINE writeVkDedicatedAllocation #-}-        writeVkDedicatedAllocation p-          = pokeByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDedicatedAllocationBufferCreateInfoNV where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext}  instance {-# OVERLAPPING #-}          HasField "dedicatedAllocation"@@ -241,29 +177,35 @@         fieldOffset           = #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation} -instance CanReadField "dedicatedAllocation"+instance {-# OVERLAPPING #-}+         CanReadField "dedicatedAllocation"            VkDedicatedAllocationBufferCreateInfoNV          where-        {-# INLINE getField #-}-        getField = vkDedicatedAllocation+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation})          {-# INLINE readField #-}-        readField = readVkDedicatedAllocation+        readField p+          = peekByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation} -instance CanWriteField "dedicatedAllocation"+instance {-# OVERLAPPING #-}+         CanWriteField "dedicatedAllocation"            VkDedicatedAllocationBufferCreateInfoNV          where         {-# INLINE writeField #-}-        writeField = writeVkDedicatedAllocation+        writeField p+          = pokeByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation}  instance Show VkDedicatedAllocationBufferCreateInfoNV where         showsPrec d x           = showString "VkDedicatedAllocationBufferCreateInfoNV {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkDedicatedAllocation = " .-                            showsPrec d (vkDedicatedAllocation x) . showChar '}'+                          showString "dedicatedAllocation = " .+                            showsPrec d (getField @"dedicatedAllocation" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDedicatedAllocationImageCreateInfoNV.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDedicatedAllocationImageCreateInfoNV        (VkDedicatedAllocationImageCreateInfoNV(..)) where@@ -15,7 +16,6 @@ import           Graphics.Vulkan.Types.BaseTypes                (VkBool32) import           Graphics.Vulkan.Types.Enum.VkStructureType     (VkStructureType) import           Graphics.Vulkan.Types.Struct.VkImageCreateInfo (VkImageCreateInfo)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                               (unsafeDupablePerformIO)  -- | > typedef struct VkDedicatedAllocationImageCreateInfoNV {@@ -24,7 +24,7 @@ --   >     VkBool32                         dedicatedAllocation; --   > } VkDedicatedAllocationImageCreateInfoNV; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDedicatedAllocationImageCreateInfoNV.html VkDedicatedAllocationImageCreateInfoNV registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDedicatedAllocationImageCreateInfoNV.html VkDedicatedAllocationImageCreateInfoNV registry at www.khronos.org> data VkDedicatedAllocationImageCreateInfoNV = VkDedicatedAllocationImageCreateInfoNV## Addr##                                                                                       ByteArray## @@ -82,28 +82,6 @@              '[VkImageCreateInfo] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkSType VkDedicatedAllocationImageCreateInfoNV where-        type VkSTypeMType VkDedicatedAllocationImageCreateInfoNV =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationImageCreateInfoNV, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDedicatedAllocationImageCreateInfoNV, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, sType}--instance {-# OVERLAPPING #-}          HasField "sType" VkDedicatedAllocationImageCreateInfoNV where         type FieldType "sType" VkDedicatedAllocationImageCreateInfoNV =              VkStructureType@@ -121,41 +99,22 @@         fieldOffset           = #{offset VkDedicatedAllocationImageCreateInfoNV, sType} -instance CanReadField "sType"-           VkDedicatedAllocationImageCreateInfoNV-         where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType"-           VkDedicatedAllocationImageCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField = writeVkSType- instance {-# OVERLAPPING #-}-         HasVkPNext VkDedicatedAllocationImageCreateInfoNV where-        type VkPNextMType VkDedicatedAllocationImageCreateInfoNV = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x+         CanReadField "sType" VkDedicatedAllocationImageCreateInfoNV where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationImageCreateInfoNV, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDedicatedAllocationImageCreateInfoNV, pNext}+              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationImageCreateInfoNV, sType}) -        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, pNext}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, sType} -        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, pNext}+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDedicatedAllocationImageCreateInfoNV where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkDedicatedAllocationImageCreateInfoNV where@@ -175,44 +134,22 @@         fieldOffset           = #{offset VkDedicatedAllocationImageCreateInfoNV, pNext} -instance CanReadField "pNext"-           VkDedicatedAllocationImageCreateInfoNV-         where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext"-           VkDedicatedAllocationImageCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkDedicatedAllocation VkDedicatedAllocationImageCreateInfoNV-         where-        type VkDedicatedAllocationMType-               VkDedicatedAllocationImageCreateInfoNV-             = VkBool32--        {-# NOINLINE vkDedicatedAllocation #-}-        vkDedicatedAllocation x+         CanReadField "pNext" VkDedicatedAllocationImageCreateInfoNV where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation})--        {-# INLINE vkDedicatedAllocationByteOffset #-}-        vkDedicatedAllocationByteOffset ~_-          = #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation}+              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationImageCreateInfoNV, pNext}) -        {-# INLINE readVkDedicatedAllocation #-}-        readVkDedicatedAllocation p-          = peekByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, pNext} -        {-# INLINE writeVkDedicatedAllocation #-}-        writeVkDedicatedAllocation p-          = pokeByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDedicatedAllocationImageCreateInfoNV where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, pNext}  instance {-# OVERLAPPING #-}          HasField "dedicatedAllocation"@@ -239,29 +176,35 @@         fieldOffset           = #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation} -instance CanReadField "dedicatedAllocation"+instance {-# OVERLAPPING #-}+         CanReadField "dedicatedAllocation"            VkDedicatedAllocationImageCreateInfoNV          where-        {-# INLINE getField #-}-        getField = vkDedicatedAllocation+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation})          {-# INLINE readField #-}-        readField = readVkDedicatedAllocation+        readField p+          = peekByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation} -instance CanWriteField "dedicatedAllocation"+instance {-# OVERLAPPING #-}+         CanWriteField "dedicatedAllocation"            VkDedicatedAllocationImageCreateInfoNV          where         {-# INLINE writeField #-}-        writeField = writeVkDedicatedAllocation+        writeField p+          = pokeByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation}  instance Show VkDedicatedAllocationImageCreateInfoNV where         showsPrec d x           = showString "VkDedicatedAllocationImageCreateInfoNV {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkDedicatedAllocation = " .-                            showsPrec d (vkDedicatedAllocation x) . showChar '}'+                          showString "dedicatedAllocation = " .+                            showsPrec d (getField @"dedicatedAllocation" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDedicatedAllocationMemoryAllocateInfoNV.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDedicatedAllocationMemoryAllocateInfoNV        (VkDedicatedAllocationMemoryAllocateInfoNV(..)) where@@ -16,7 +17,6 @@ import           Graphics.Vulkan.Types.Handles                     (VkBuffer,                                                                     VkImage) import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo (VkMemoryAllocateInfo)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                  (unsafeDupablePerformIO)  -- | > typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {@@ -26,7 +26,7 @@ --   >     VkBuffer         buffer; --   > } VkDedicatedAllocationMemoryAllocateInfoNV; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDedicatedAllocationMemoryAllocateInfoNV.html VkDedicatedAllocationMemoryAllocateInfoNV registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDedicatedAllocationMemoryAllocateInfoNV.html VkDedicatedAllocationMemoryAllocateInfoNV registry at www.khronos.org> data VkDedicatedAllocationMemoryAllocateInfoNV = VkDedicatedAllocationMemoryAllocateInfoNV## Addr##                                                                                             ByteArray## @@ -88,28 +88,6 @@              '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkSType VkDedicatedAllocationMemoryAllocateInfoNV where-        type VkSTypeMType VkDedicatedAllocationMemoryAllocateInfoNV =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationMemoryAllocateInfoNV, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDedicatedAllocationMemoryAllocateInfoNV, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, sType}--instance {-# OVERLAPPING #-}          HasField "sType" VkDedicatedAllocationMemoryAllocateInfoNV where         type FieldType "sType" VkDedicatedAllocationMemoryAllocateInfoNV =              VkStructureType@@ -129,42 +107,24 @@         fieldOffset           = #{offset VkDedicatedAllocationMemoryAllocateInfoNV, sType} -instance CanReadField "sType"-           VkDedicatedAllocationMemoryAllocateInfoNV+instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDedicatedAllocationMemoryAllocateInfoNV          where-        {-# INLINE getField #-}-        getField = vkSType+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationMemoryAllocateInfoNV, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, sType} -instance CanWriteField "sType"-           VkDedicatedAllocationMemoryAllocateInfoNV+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDedicatedAllocationMemoryAllocateInfoNV          where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-}-         HasVkPNext VkDedicatedAllocationMemoryAllocateInfoNV where-        type VkPNextMType VkDedicatedAllocationMemoryAllocateInfoNV =-             Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationMemoryAllocateInfoNV, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDedicatedAllocationMemoryAllocateInfoNV, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, pNext}+        writeField p+          = pokeByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkDedicatedAllocationMemoryAllocateInfoNV where@@ -186,42 +146,24 @@         fieldOffset           = #{offset VkDedicatedAllocationMemoryAllocateInfoNV, pNext} -instance CanReadField "pNext"-           VkDedicatedAllocationMemoryAllocateInfoNV+instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDedicatedAllocationMemoryAllocateInfoNV          where-        {-# INLINE getField #-}-        getField = vkPNext+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationMemoryAllocateInfoNV, pNext})          {-# INLINE readField #-}-        readField = readVkPNext+        readField p+          = peekByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, pNext} -instance CanWriteField "pNext"-           VkDedicatedAllocationMemoryAllocateInfoNV+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDedicatedAllocationMemoryAllocateInfoNV          where         {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-}-         HasVkImage VkDedicatedAllocationMemoryAllocateInfoNV where-        type VkImageMType VkDedicatedAllocationMemoryAllocateInfoNV =-             VkImage--        {-# NOINLINE vkImage #-}-        vkImage x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationMemoryAllocateInfoNV, image})--        {-# INLINE vkImageByteOffset #-}-        vkImageByteOffset ~_-          = #{offset VkDedicatedAllocationMemoryAllocateInfoNV, image}--        {-# INLINE readVkImage #-}-        readVkImage p-          = peekByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, image}--        {-# INLINE writeVkImage #-}-        writeVkImage p-          = pokeByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, image}+        writeField p+          = pokeByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, pNext}  instance {-# OVERLAPPING #-}          HasField "image" VkDedicatedAllocationMemoryAllocateInfoNV where@@ -243,42 +185,24 @@         fieldOffset           = #{offset VkDedicatedAllocationMemoryAllocateInfoNV, image} -instance CanReadField "image"-           VkDedicatedAllocationMemoryAllocateInfoNV+instance {-# OVERLAPPING #-}+         CanReadField "image" VkDedicatedAllocationMemoryAllocateInfoNV          where-        {-# INLINE getField #-}-        getField = vkImage+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationMemoryAllocateInfoNV, image})          {-# INLINE readField #-}-        readField = readVkImage+        readField p+          = peekByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, image} -instance CanWriteField "image"-           VkDedicatedAllocationMemoryAllocateInfoNV+instance {-# OVERLAPPING #-}+         CanWriteField "image" VkDedicatedAllocationMemoryAllocateInfoNV          where         {-# INLINE writeField #-}-        writeField = writeVkImage--instance {-# OVERLAPPING #-}-         HasVkBuffer VkDedicatedAllocationMemoryAllocateInfoNV where-        type VkBufferMType VkDedicatedAllocationMemoryAllocateInfoNV =-             VkBuffer--        {-# NOINLINE vkBuffer #-}-        vkBuffer x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationMemoryAllocateInfoNV, buffer})--        {-# INLINE vkBufferByteOffset #-}-        vkBufferByteOffset ~_-          = #{offset VkDedicatedAllocationMemoryAllocateInfoNV, buffer}--        {-# INLINE readVkBuffer #-}-        readVkBuffer p-          = peekByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, buffer}--        {-# INLINE writeVkBuffer #-}-        writeVkBuffer p-          = pokeByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, buffer}+        writeField p+          = pokeByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, image}  instance {-# OVERLAPPING #-}          HasField "buffer" VkDedicatedAllocationMemoryAllocateInfoNV where@@ -301,31 +225,36 @@         fieldOffset           = #{offset VkDedicatedAllocationMemoryAllocateInfoNV, buffer} -instance CanReadField "buffer"-           VkDedicatedAllocationMemoryAllocateInfoNV+instance {-# OVERLAPPING #-}+         CanReadField "buffer" VkDedicatedAllocationMemoryAllocateInfoNV          where-        {-# INLINE getField #-}-        getField = vkBuffer+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationMemoryAllocateInfoNV, buffer})          {-# INLINE readField #-}-        readField = readVkBuffer+        readField p+          = peekByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, buffer} -instance CanWriteField "buffer"-           VkDedicatedAllocationMemoryAllocateInfoNV+instance {-# OVERLAPPING #-}+         CanWriteField "buffer" VkDedicatedAllocationMemoryAllocateInfoNV          where         {-# INLINE writeField #-}-        writeField = writeVkBuffer+        writeField p+          = pokeByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, buffer}  instance Show VkDedicatedAllocationMemoryAllocateInfoNV where         showsPrec d x           = showString "VkDedicatedAllocationMemoryAllocateInfoNV {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkImage = " .-                            showsPrec d (vkImage x) .+                          showString "image = " .+                            showsPrec d (getField @"image" x) .                               showString ", " .-                                showString "vkBuffer = " . showsPrec d (vkBuffer x) . showChar '}'+                                showString "buffer = " .+                                  showsPrec d (getField @"buffer" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorBufferInfo.hsc view
@@ -5,17 +5,17 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDescriptorBufferInfo        (VkDescriptorBufferInfo(..)) where-import           Foreign.Storable                    (Storable (..))+import           Foreign.Storable                 (Storable (..)) import           GHC.Prim import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.BaseTypes     (VkDeviceSize)-import           Graphics.Vulkan.Types.Handles       (VkBuffer)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                    (unsafeDupablePerformIO)+import           Graphics.Vulkan.Types.BaseTypes  (VkDeviceSize)+import           Graphics.Vulkan.Types.Handles    (VkBuffer)+import           System.IO.Unsafe                 (unsafeDupablePerformIO)  -- | > typedef struct VkDescriptorBufferInfo { --   >     VkBuffer               buffer;@@ -23,7 +23,7 @@ --   >     VkDeviceSize           range; --   > } VkDescriptorBufferInfo; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDescriptorBufferInfo.html VkDescriptorBufferInfo registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDescriptorBufferInfo.html VkDescriptorBufferInfo registry at www.khronos.org> data VkDescriptorBufferInfo = VkDescriptorBufferInfo## Addr##                                                       ByteArray## @@ -72,27 +72,6 @@         type ReturnedOnly VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs         type StructExtends VkDescriptorBufferInfo = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkBuffer VkDescriptorBufferInfo-         where-        type VkBufferMType VkDescriptorBufferInfo = VkBuffer--        {-# NOINLINE vkBuffer #-}-        vkBuffer x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorBufferInfo, buffer})--        {-# INLINE vkBufferByteOffset #-}-        vkBufferByteOffset ~_-          = #{offset VkDescriptorBufferInfo, buffer}--        {-# INLINE readVkBuffer #-}-        readVkBuffer p-          = peekByteOff p #{offset VkDescriptorBufferInfo, buffer}--        {-# INLINE writeVkBuffer #-}-        writeVkBuffer p-          = pokeByteOff p #{offset VkDescriptorBufferInfo, buffer}- instance {-# OVERLAPPING #-}          HasField "buffer" VkDescriptorBufferInfo where         type FieldType "buffer" VkDescriptorBufferInfo = VkBuffer@@ -107,37 +86,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkDescriptorBufferInfo, buffer} -instance CanReadField "buffer" VkDescriptorBufferInfo where-        {-# INLINE getField #-}-        getField = vkBuffer+instance {-# OVERLAPPING #-}+         CanReadField "buffer" VkDescriptorBufferInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorBufferInfo, buffer})          {-# INLINE readField #-}-        readField = readVkBuffer+        readField p+          = peekByteOff p #{offset VkDescriptorBufferInfo, buffer} -instance CanWriteField "buffer" VkDescriptorBufferInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "buffer" VkDescriptorBufferInfo where         {-# INLINE writeField #-}-        writeField = writeVkBuffer--instance {-# OVERLAPPING #-} HasVkOffset VkDescriptorBufferInfo-         where-        type VkOffsetMType VkDescriptorBufferInfo = VkDeviceSize--        {-# NOINLINE vkOffset #-}-        vkOffset x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorBufferInfo, offset})--        {-# INLINE vkOffsetByteOffset #-}-        vkOffsetByteOffset ~_-          = #{offset VkDescriptorBufferInfo, offset}--        {-# INLINE readVkOffset #-}-        readVkOffset p-          = peekByteOff p #{offset VkDescriptorBufferInfo, offset}--        {-# INLINE writeVkOffset #-}-        writeVkOffset p-          = pokeByteOff p #{offset VkDescriptorBufferInfo, offset}+        writeField p+          = pokeByteOff p #{offset VkDescriptorBufferInfo, buffer}  instance {-# OVERLAPPING #-}          HasField "offset" VkDescriptorBufferInfo where@@ -153,37 +117,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkDescriptorBufferInfo, offset} -instance CanReadField "offset" VkDescriptorBufferInfo where-        {-# INLINE getField #-}-        getField = vkOffset+instance {-# OVERLAPPING #-}+         CanReadField "offset" VkDescriptorBufferInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorBufferInfo, offset})          {-# INLINE readField #-}-        readField = readVkOffset+        readField p+          = peekByteOff p #{offset VkDescriptorBufferInfo, offset} -instance CanWriteField "offset" VkDescriptorBufferInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "offset" VkDescriptorBufferInfo where         {-# INLINE writeField #-}-        writeField = writeVkOffset--instance {-# OVERLAPPING #-} HasVkRange VkDescriptorBufferInfo-         where-        type VkRangeMType VkDescriptorBufferInfo = VkDeviceSize--        {-# NOINLINE vkRange #-}-        vkRange x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorBufferInfo, range})--        {-# INLINE vkRangeByteOffset #-}-        vkRangeByteOffset ~_-          = #{offset VkDescriptorBufferInfo, range}--        {-# INLINE readVkRange #-}-        readVkRange p-          = peekByteOff p #{offset VkDescriptorBufferInfo, range}--        {-# INLINE writeVkRange #-}-        writeVkRange p-          = pokeByteOff p #{offset VkDescriptorBufferInfo, range}+        writeField p+          = pokeByteOff p #{offset VkDescriptorBufferInfo, offset}  instance {-# OVERLAPPING #-}          HasField "range" VkDescriptorBufferInfo where@@ -199,24 +148,31 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkDescriptorBufferInfo, range} -instance CanReadField "range" VkDescriptorBufferInfo where-        {-# INLINE getField #-}-        getField = vkRange+instance {-# OVERLAPPING #-}+         CanReadField "range" VkDescriptorBufferInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorBufferInfo, range})          {-# INLINE readField #-}-        readField = readVkRange+        readField p+          = peekByteOff p #{offset VkDescriptorBufferInfo, range} -instance CanWriteField "range" VkDescriptorBufferInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "range" VkDescriptorBufferInfo where         {-# INLINE writeField #-}-        writeField = writeVkRange+        writeField p+          = pokeByteOff p #{offset VkDescriptorBufferInfo, range}  instance Show VkDescriptorBufferInfo where         showsPrec d x           = showString "VkDescriptorBufferInfo {" .-              showString "vkBuffer = " .-                showsPrec d (vkBuffer x) .+              showString "buffer = " .+                showsPrec d (getField @"buffer" x) .                   showString ", " .-                    showString "vkOffset = " .-                      showsPrec d (vkOffset x) .+                    showString "offset = " .+                      showsPrec d (getField @"offset" x) .                         showString ", " .-                          showString "vkRange = " . showsPrec d (vkRange x) . showChar '}'+                          showString "range = " .+                            showsPrec d (getField @"range" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorImageInfo.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDescriptorImageInfo        (VkDescriptorImageInfo(..)) where@@ -15,7 +16,6 @@ import           Graphics.Vulkan.Types.Enum.VkImageLayout (VkImageLayout) import           Graphics.Vulkan.Types.Handles            (VkImageView,                                                            VkSampler)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                         (unsafeDupablePerformIO)  -- | > typedef struct VkDescriptorImageInfo {@@ -24,7 +24,7 @@ --   >     VkImageLayout   imageLayout; --   > } VkDescriptorImageInfo; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDescriptorImageInfo.html VkDescriptorImageInfo registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDescriptorImageInfo.html VkDescriptorImageInfo registry at www.khronos.org> data VkDescriptorImageInfo = VkDescriptorImageInfo## Addr##                                                     ByteArray## @@ -73,27 +73,6 @@         type ReturnedOnly VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs         type StructExtends VkDescriptorImageInfo = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSampler VkDescriptorImageInfo-         where-        type VkSamplerMType VkDescriptorImageInfo = VkSampler--        {-# NOINLINE vkSampler #-}-        vkSampler x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorImageInfo, sampler})--        {-# INLINE vkSamplerByteOffset #-}-        vkSamplerByteOffset ~_-          = #{offset VkDescriptorImageInfo, sampler}--        {-# INLINE readVkSampler #-}-        readVkSampler p-          = peekByteOff p #{offset VkDescriptorImageInfo, sampler}--        {-# INLINE writeVkSampler #-}-        writeVkSampler p-          = pokeByteOff p #{offset VkDescriptorImageInfo, sampler}- instance {-# OVERLAPPING #-}          HasField "sampler" VkDescriptorImageInfo where         type FieldType "sampler" VkDescriptorImageInfo = VkSampler@@ -108,37 +87,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkDescriptorImageInfo, sampler} -instance CanReadField "sampler" VkDescriptorImageInfo where-        {-# INLINE getField #-}-        getField = vkSampler+instance {-# OVERLAPPING #-}+         CanReadField "sampler" VkDescriptorImageInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorImageInfo, sampler})          {-# INLINE readField #-}-        readField = readVkSampler+        readField p+          = peekByteOff p #{offset VkDescriptorImageInfo, sampler} -instance CanWriteField "sampler" VkDescriptorImageInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "sampler" VkDescriptorImageInfo where         {-# INLINE writeField #-}-        writeField = writeVkSampler--instance {-# OVERLAPPING #-} HasVkImageView VkDescriptorImageInfo-         where-        type VkImageViewMType VkDescriptorImageInfo = VkImageView--        {-# NOINLINE vkImageView #-}-        vkImageView x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorImageInfo, imageView})--        {-# INLINE vkImageViewByteOffset #-}-        vkImageViewByteOffset ~_-          = #{offset VkDescriptorImageInfo, imageView}--        {-# INLINE readVkImageView #-}-        readVkImageView p-          = peekByteOff p #{offset VkDescriptorImageInfo, imageView}--        {-# INLINE writeVkImageView #-}-        writeVkImageView p-          = pokeByteOff p #{offset VkDescriptorImageInfo, imageView}+        writeField p+          = pokeByteOff p #{offset VkDescriptorImageInfo, sampler}  instance {-# OVERLAPPING #-}          HasField "imageView" VkDescriptorImageInfo where@@ -155,37 +119,22 @@         fieldOffset           = #{offset VkDescriptorImageInfo, imageView} -instance CanReadField "imageView" VkDescriptorImageInfo where-        {-# INLINE getField #-}-        getField = vkImageView+instance {-# OVERLAPPING #-}+         CanReadField "imageView" VkDescriptorImageInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorImageInfo, imageView})          {-# INLINE readField #-}-        readField = readVkImageView+        readField p+          = peekByteOff p #{offset VkDescriptorImageInfo, imageView} -instance CanWriteField "imageView" VkDescriptorImageInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "imageView" VkDescriptorImageInfo where         {-# INLINE writeField #-}-        writeField = writeVkImageView--instance {-# OVERLAPPING #-} HasVkImageLayout VkDescriptorImageInfo-         where-        type VkImageLayoutMType VkDescriptorImageInfo = VkImageLayout--        {-# NOINLINE vkImageLayout #-}-        vkImageLayout x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorImageInfo, imageLayout})--        {-# INLINE vkImageLayoutByteOffset #-}-        vkImageLayoutByteOffset ~_-          = #{offset VkDescriptorImageInfo, imageLayout}--        {-# INLINE readVkImageLayout #-}-        readVkImageLayout p-          = peekByteOff p #{offset VkDescriptorImageInfo, imageLayout}--        {-# INLINE writeVkImageLayout #-}-        writeVkImageLayout p-          = pokeByteOff p #{offset VkDescriptorImageInfo, imageLayout}+        writeField p+          = pokeByteOff p #{offset VkDescriptorImageInfo, imageView}  instance {-# OVERLAPPING #-}          HasField "imageLayout" VkDescriptorImageInfo where@@ -202,25 +151,31 @@         fieldOffset           = #{offset VkDescriptorImageInfo, imageLayout} -instance CanReadField "imageLayout" VkDescriptorImageInfo where-        {-# INLINE getField #-}-        getField = vkImageLayout+instance {-# OVERLAPPING #-}+         CanReadField "imageLayout" VkDescriptorImageInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorImageInfo, imageLayout})          {-# INLINE readField #-}-        readField = readVkImageLayout+        readField p+          = peekByteOff p #{offset VkDescriptorImageInfo, imageLayout} -instance CanWriteField "imageLayout" VkDescriptorImageInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "imageLayout" VkDescriptorImageInfo where         {-# INLINE writeField #-}-        writeField = writeVkImageLayout+        writeField p+          = pokeByteOff p #{offset VkDescriptorImageInfo, imageLayout}  instance Show VkDescriptorImageInfo where         showsPrec d x           = showString "VkDescriptorImageInfo {" .-              showString "vkSampler = " .-                showsPrec d (vkSampler x) .+              showString "sampler = " .+                showsPrec d (getField @"sampler" x) .                   showString ", " .-                    showString "vkImageView = " .-                      showsPrec d (vkImageView x) .+                    showString "imageView = " .+                      showsPrec d (getField @"imageView" x) .                         showString ", " .-                          showString "vkImageLayout = " .-                            showsPrec d (vkImageLayout x) . showChar '}'+                          showString "imageLayout = " .+                            showsPrec d (getField @"imageLayout" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorPoolCreateInfo.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDescriptorPoolCreateInfo        (VkDescriptorPoolCreateInfo(..)) where@@ -15,7 +16,6 @@ import           Graphics.Vulkan.Types.Enum.VkDescriptorPoolCreateFlags (VkDescriptorPoolCreateFlags) import           Graphics.Vulkan.Types.Enum.VkStructureType             (VkStructureType) import           Graphics.Vulkan.Types.Struct.VkDescriptorPoolSize      (VkDescriptorPoolSize)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                       (unsafeDupablePerformIO)  -- | > typedef struct VkDescriptorPoolCreateInfo {@@ -27,7 +27,7 @@ --   >     const VkDescriptorPoolSize* pPoolSizes; --   > } VkDescriptorPoolCreateInfo; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDescriptorPoolCreateInfo.html VkDescriptorPoolCreateInfo registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDescriptorPoolCreateInfo.html VkDescriptorPoolCreateInfo registry at www.khronos.org> data VkDescriptorPoolCreateInfo = VkDescriptorPoolCreateInfo## Addr##                                                               ByteArray## @@ -80,27 +80,6 @@         type ReturnedOnly VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs         type StructExtends VkDescriptorPoolCreateInfo = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSType VkDescriptorPoolCreateInfo-         where-        type VkSTypeMType VkDescriptorPoolCreateInfo = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDescriptorPoolCreateInfo, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDescriptorPoolCreateInfo, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, sType}- instance {-# OVERLAPPING #-}          HasField "sType" VkDescriptorPoolCreateInfo where         type FieldType "sType" VkDescriptorPoolCreateInfo = VkStructureType@@ -116,37 +95,22 @@         fieldOffset           = #{offset VkDescriptorPoolCreateInfo, sType} -instance CanReadField "sType" VkDescriptorPoolCreateInfo where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDescriptorPoolCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkDescriptorPoolCreateInfo, sType} -instance CanWriteField "sType" VkDescriptorPoolCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDescriptorPoolCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkDescriptorPoolCreateInfo-         where-        type VkPNextMType VkDescriptorPoolCreateInfo = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDescriptorPoolCreateInfo, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDescriptorPoolCreateInfo, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, pNext}+        writeField p+          = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkDescriptorPoolCreateInfo where@@ -163,38 +127,22 @@         fieldOffset           = #{offset VkDescriptorPoolCreateInfo, pNext} -instance CanReadField "pNext" VkDescriptorPoolCreateInfo where-        {-# INLINE getField #-}-        getField = vkPNext+instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDescriptorPoolCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, pNext})          {-# INLINE readField #-}-        readField = readVkPNext+        readField p+          = peekByteOff p #{offset VkDescriptorPoolCreateInfo, pNext} -instance CanWriteField "pNext" VkDescriptorPoolCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDescriptorPoolCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-} HasVkFlags VkDescriptorPoolCreateInfo-         where-        type VkFlagsMType VkDescriptorPoolCreateInfo =-             VkDescriptorPoolCreateFlags--        {-# NOINLINE vkFlags #-}-        vkFlags x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, flags})--        {-# INLINE vkFlagsByteOffset #-}-        vkFlagsByteOffset ~_-          = #{offset VkDescriptorPoolCreateInfo, flags}--        {-# INLINE readVkFlags #-}-        readVkFlags p-          = peekByteOff p #{offset VkDescriptorPoolCreateInfo, flags}--        {-# INLINE writeVkFlags #-}-        writeVkFlags p-          = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, flags}+        writeField p+          = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, pNext}  instance {-# OVERLAPPING #-}          HasField "flags" VkDescriptorPoolCreateInfo where@@ -212,37 +160,22 @@         fieldOffset           = #{offset VkDescriptorPoolCreateInfo, flags} -instance CanReadField "flags" VkDescriptorPoolCreateInfo where-        {-# INLINE getField #-}-        getField = vkFlags--        {-# INLINE readField #-}-        readField = readVkFlags--instance CanWriteField "flags" VkDescriptorPoolCreateInfo where-        {-# INLINE writeField #-}-        writeField = writeVkFlags- instance {-# OVERLAPPING #-}-         HasVkMaxSets VkDescriptorPoolCreateInfo where-        type VkMaxSetsMType VkDescriptorPoolCreateInfo = Word32--        {-# NOINLINE vkMaxSets #-}-        vkMaxSets x+         CanReadField "flags" VkDescriptorPoolCreateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, maxSets})--        {-# INLINE vkMaxSetsByteOffset #-}-        vkMaxSetsByteOffset ~_-          = #{offset VkDescriptorPoolCreateInfo, maxSets}+              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, flags}) -        {-# INLINE readVkMaxSets #-}-        readVkMaxSets p-          = peekByteOff p #{offset VkDescriptorPoolCreateInfo, maxSets}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorPoolCreateInfo, flags} -        {-# INLINE writeVkMaxSets #-}-        writeVkMaxSets p-          = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, maxSets}+instance {-# OVERLAPPING #-}+         CanWriteField "flags" VkDescriptorPoolCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, flags}  instance {-# OVERLAPPING #-}          HasField "maxSets" VkDescriptorPoolCreateInfo where@@ -259,37 +192,22 @@         fieldOffset           = #{offset VkDescriptorPoolCreateInfo, maxSets} -instance CanReadField "maxSets" VkDescriptorPoolCreateInfo where-        {-# INLINE getField #-}-        getField = vkMaxSets--        {-# INLINE readField #-}-        readField = readVkMaxSets--instance CanWriteField "maxSets" VkDescriptorPoolCreateInfo where-        {-# INLINE writeField #-}-        writeField = writeVkMaxSets- instance {-# OVERLAPPING #-}-         HasVkPoolSizeCount VkDescriptorPoolCreateInfo where-        type VkPoolSizeCountMType VkDescriptorPoolCreateInfo = Word32--        {-# NOINLINE vkPoolSizeCount #-}-        vkPoolSizeCount x+         CanReadField "maxSets" VkDescriptorPoolCreateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, poolSizeCount})--        {-# INLINE vkPoolSizeCountByteOffset #-}-        vkPoolSizeCountByteOffset ~_-          = #{offset VkDescriptorPoolCreateInfo, poolSizeCount}+              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, maxSets}) -        {-# INLINE readVkPoolSizeCount #-}-        readVkPoolSizeCount p-          = peekByteOff p #{offset VkDescriptorPoolCreateInfo, poolSizeCount}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorPoolCreateInfo, maxSets} -        {-# INLINE writeVkPoolSizeCount #-}-        writeVkPoolSizeCount p-          = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, poolSizeCount}+instance {-# OVERLAPPING #-}+         CanWriteField "maxSets" VkDescriptorPoolCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, maxSets}  instance {-# OVERLAPPING #-}          HasField "poolSizeCount" VkDescriptorPoolCreateInfo where@@ -308,40 +226,22 @@         fieldOffset           = #{offset VkDescriptorPoolCreateInfo, poolSizeCount} -instance CanReadField "poolSizeCount" VkDescriptorPoolCreateInfo-         where-        {-# INLINE getField #-}-        getField = vkPoolSizeCount--        {-# INLINE readField #-}-        readField = readVkPoolSizeCount--instance CanWriteField "poolSizeCount" VkDescriptorPoolCreateInfo-         where-        {-# INLINE writeField #-}-        writeField = writeVkPoolSizeCount- instance {-# OVERLAPPING #-}-         HasVkPPoolSizes VkDescriptorPoolCreateInfo where-        type VkPPoolSizesMType VkDescriptorPoolCreateInfo =-             Ptr VkDescriptorPoolSize--        {-# NOINLINE vkPPoolSizes #-}-        vkPPoolSizes x+         CanReadField "poolSizeCount" VkDescriptorPoolCreateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, pPoolSizes})--        {-# INLINE vkPPoolSizesByteOffset #-}-        vkPPoolSizesByteOffset ~_-          = #{offset VkDescriptorPoolCreateInfo, pPoolSizes}+              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, poolSizeCount}) -        {-# INLINE readVkPPoolSizes #-}-        readVkPPoolSizes p-          = peekByteOff p #{offset VkDescriptorPoolCreateInfo, pPoolSizes}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorPoolCreateInfo, poolSizeCount} -        {-# INLINE writeVkPPoolSizes #-}-        writeVkPPoolSizes p-          = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, pPoolSizes}+instance {-# OVERLAPPING #-}+         CanWriteField "poolSizeCount" VkDescriptorPoolCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, poolSizeCount}  instance {-# OVERLAPPING #-}          HasField "pPoolSizes" VkDescriptorPoolCreateInfo where@@ -359,35 +259,40 @@         fieldOffset           = #{offset VkDescriptorPoolCreateInfo, pPoolSizes} -instance CanReadField "pPoolSizes" VkDescriptorPoolCreateInfo where-        {-# INLINE getField #-}-        getField = vkPPoolSizes+instance {-# OVERLAPPING #-}+         CanReadField "pPoolSizes" VkDescriptorPoolCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, pPoolSizes})          {-# INLINE readField #-}-        readField = readVkPPoolSizes+        readField p+          = peekByteOff p #{offset VkDescriptorPoolCreateInfo, pPoolSizes} -instance CanWriteField "pPoolSizes" VkDescriptorPoolCreateInfo-         where+instance {-# OVERLAPPING #-}+         CanWriteField "pPoolSizes" VkDescriptorPoolCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkPPoolSizes+        writeField p+          = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, pPoolSizes}  instance Show VkDescriptorPoolCreateInfo where         showsPrec d x           = showString "VkDescriptorPoolCreateInfo {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkFlags = " .-                            showsPrec d (vkFlags x) .+                          showString "flags = " .+                            showsPrec d (getField @"flags" x) .                               showString ", " .-                                showString "vkMaxSets = " .-                                  showsPrec d (vkMaxSets x) .+                                showString "maxSets = " .+                                  showsPrec d (getField @"maxSets" x) .                                     showString ", " .-                                      showString "vkPoolSizeCount = " .-                                        showsPrec d (vkPoolSizeCount x) .+                                      showString "poolSizeCount = " .+                                        showsPrec d (getField @"poolSizeCount" x) .                                           showString ", " .-                                            showString "vkPPoolSizes = " .-                                              showsPrec d (vkPPoolSizes x) . showChar '}'+                                            showString "pPoolSizes = " .+                                              showsPrec d (getField @"pPoolSizes" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorPoolSize.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDescriptorPoolSize        (VkDescriptorPoolSize(..)) where@@ -13,7 +14,6 @@ import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.Enum.VkDescriptorType (VkDescriptorType)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                            (unsafeDupablePerformIO)  -- | > typedef struct VkDescriptorPoolSize {@@ -21,7 +21,7 @@ --   >     uint32_t               descriptorCount; --   > } VkDescriptorPoolSize; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDescriptorPoolSize.html VkDescriptorPoolSize registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDescriptorPoolSize.html VkDescriptorPoolSize registry at www.khronos.org> data VkDescriptorPoolSize = VkDescriptorPoolSize## Addr## ByteArray##  instance Eq VkDescriptorPoolSize where@@ -69,26 +69,6 @@         type ReturnedOnly VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs         type StructExtends VkDescriptorPoolSize = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkType VkDescriptorPoolSize where-        type VkTypeMType VkDescriptorPoolSize = VkDescriptorType--        {-# NOINLINE vkType #-}-        vkType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolSize, type})--        {-# INLINE vkTypeByteOffset #-}-        vkTypeByteOffset ~_-          = #{offset VkDescriptorPoolSize, type}--        {-# INLINE readVkType #-}-        readVkType p-          = peekByteOff p #{offset VkDescriptorPoolSize, type}--        {-# INLINE writeVkType #-}-        writeVkType p-          = pokeByteOff p #{offset VkDescriptorPoolSize, type}- instance {-# OVERLAPPING #-} HasField "type" VkDescriptorPoolSize          where         type FieldType "type" VkDescriptorPoolSize = VkDescriptorType@@ -103,37 +83,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkDescriptorPoolSize, type} -instance CanReadField "type" VkDescriptorPoolSize where-        {-# INLINE getField #-}-        getField = vkType--        {-# INLINE readField #-}-        readField = readVkType--instance CanWriteField "type" VkDescriptorPoolSize where-        {-# INLINE writeField #-}-        writeField = writeVkType- instance {-# OVERLAPPING #-}-         HasVkDescriptorCount VkDescriptorPoolSize where-        type VkDescriptorCountMType VkDescriptorPoolSize = Word32--        {-# NOINLINE vkDescriptorCount #-}-        vkDescriptorCount x+         CanReadField "type" VkDescriptorPoolSize where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolSize, descriptorCount})--        {-# INLINE vkDescriptorCountByteOffset #-}-        vkDescriptorCountByteOffset ~_-          = #{offset VkDescriptorPoolSize, descriptorCount}+              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolSize, type}) -        {-# INLINE readVkDescriptorCount #-}-        readVkDescriptorCount p-          = peekByteOff p #{offset VkDescriptorPoolSize, descriptorCount}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorPoolSize, type} -        {-# INLINE writeVkDescriptorCount #-}-        writeVkDescriptorCount p-          = pokeByteOff p #{offset VkDescriptorPoolSize, descriptorCount}+instance {-# OVERLAPPING #-}+         CanWriteField "type" VkDescriptorPoolSize where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorPoolSize, type}  instance {-# OVERLAPPING #-}          HasField "descriptorCount" VkDescriptorPoolSize where@@ -150,22 +115,28 @@         fieldOffset           = #{offset VkDescriptorPoolSize, descriptorCount} -instance CanReadField "descriptorCount" VkDescriptorPoolSize where-        {-# INLINE getField #-}-        getField = vkDescriptorCount+instance {-# OVERLAPPING #-}+         CanReadField "descriptorCount" VkDescriptorPoolSize where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolSize, descriptorCount})          {-# INLINE readField #-}-        readField = readVkDescriptorCount+        readField p+          = peekByteOff p #{offset VkDescriptorPoolSize, descriptorCount} -instance CanWriteField "descriptorCount" VkDescriptorPoolSize where+instance {-# OVERLAPPING #-}+         CanWriteField "descriptorCount" VkDescriptorPoolSize where         {-# INLINE writeField #-}-        writeField = writeVkDescriptorCount+        writeField p+          = pokeByteOff p #{offset VkDescriptorPoolSize, descriptorCount}  instance Show VkDescriptorPoolSize where         showsPrec d x           = showString "VkDescriptorPoolSize {" .-              showString "vkType = " .-                showsPrec d (vkType x) .+              showString "type = " .+                showsPrec d (getField @"type" x) .                   showString ", " .-                    showString "vkDescriptorCount = " .-                      showsPrec d (vkDescriptorCount x) . showChar '}'+                    showString "descriptorCount = " .+                      showsPrec d (getField @"descriptorCount" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorSetAllocateInfo.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDescriptorSetAllocateInfo        (VkDescriptorSetAllocateInfo(..)) where@@ -14,7 +15,6 @@ import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType) import           Graphics.Vulkan.Types.Handles              (VkDescriptorPool, VkDescriptorSetLayout)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                           (unsafeDupablePerformIO)  -- | > typedef struct VkDescriptorSetAllocateInfo {@@ -25,7 +25,7 @@ --   >     const VkDescriptorSetLayout* pSetLayouts; --   > } VkDescriptorSetAllocateInfo; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDescriptorSetAllocateInfo.html VkDescriptorSetAllocateInfo registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDescriptorSetAllocateInfo.html VkDescriptorSetAllocateInfo registry at www.khronos.org> data VkDescriptorSetAllocateInfo = VkDescriptorSetAllocateInfo## Addr##                                                                 ByteArray## @@ -78,27 +78,6 @@         type ReturnedOnly VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs         type StructExtends VkDescriptorSetAllocateInfo = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSType VkDescriptorSetAllocateInfo-         where-        type VkSTypeMType VkDescriptorSetAllocateInfo = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetAllocateInfo, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDescriptorSetAllocateInfo, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDescriptorSetAllocateInfo, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDescriptorSetAllocateInfo, sType}- instance {-# OVERLAPPING #-}          HasField "sType" VkDescriptorSetAllocateInfo where         type FieldType "sType" VkDescriptorSetAllocateInfo =@@ -115,37 +94,22 @@         fieldOffset           = #{offset VkDescriptorSetAllocateInfo, sType} -instance CanReadField "sType" VkDescriptorSetAllocateInfo where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDescriptorSetAllocateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetAllocateInfo, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkDescriptorSetAllocateInfo, sType} -instance CanWriteField "sType" VkDescriptorSetAllocateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDescriptorSetAllocateInfo where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkDescriptorSetAllocateInfo-         where-        type VkPNextMType VkDescriptorSetAllocateInfo = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetAllocateInfo, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDescriptorSetAllocateInfo, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDescriptorSetAllocateInfo, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDescriptorSetAllocateInfo, pNext}+        writeField p+          = pokeByteOff p #{offset VkDescriptorSetAllocateInfo, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkDescriptorSetAllocateInfo where@@ -162,38 +126,22 @@         fieldOffset           = #{offset VkDescriptorSetAllocateInfo, pNext} -instance CanReadField "pNext" VkDescriptorSetAllocateInfo where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkDescriptorSetAllocateInfo where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkDescriptorPool VkDescriptorSetAllocateInfo where-        type VkDescriptorPoolMType VkDescriptorSetAllocateInfo =-             VkDescriptorPool--        {-# NOINLINE vkDescriptorPool #-}-        vkDescriptorPool x+         CanReadField "pNext" VkDescriptorSetAllocateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetAllocateInfo, descriptorPool})--        {-# INLINE vkDescriptorPoolByteOffset #-}-        vkDescriptorPoolByteOffset ~_-          = #{offset VkDescriptorSetAllocateInfo, descriptorPool}+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetAllocateInfo, pNext}) -        {-# INLINE readVkDescriptorPool #-}-        readVkDescriptorPool p-          = peekByteOff p #{offset VkDescriptorSetAllocateInfo, descriptorPool}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorSetAllocateInfo, pNext} -        {-# INLINE writeVkDescriptorPool #-}-        writeVkDescriptorPool p-          = pokeByteOff p #{offset VkDescriptorSetAllocateInfo, descriptorPool}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDescriptorSetAllocateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorSetAllocateInfo, pNext}  instance {-# OVERLAPPING #-}          HasField "descriptorPool" VkDescriptorSetAllocateInfo where@@ -213,39 +161,22 @@         fieldOffset           = #{offset VkDescriptorSetAllocateInfo, descriptorPool} -instance CanReadField "descriptorPool" VkDescriptorSetAllocateInfo-         where-        {-# INLINE getField #-}-        getField = vkDescriptorPool--        {-# INLINE readField #-}-        readField = readVkDescriptorPool--instance CanWriteField "descriptorPool" VkDescriptorSetAllocateInfo-         where-        {-# INLINE writeField #-}-        writeField = writeVkDescriptorPool- instance {-# OVERLAPPING #-}-         HasVkDescriptorSetCount VkDescriptorSetAllocateInfo where-        type VkDescriptorSetCountMType VkDescriptorSetAllocateInfo = Word32--        {-# NOINLINE vkDescriptorSetCount #-}-        vkDescriptorSetCount x+         CanReadField "descriptorPool" VkDescriptorSetAllocateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetAllocateInfo, descriptorSetCount})--        {-# INLINE vkDescriptorSetCountByteOffset #-}-        vkDescriptorSetCountByteOffset ~_-          = #{offset VkDescriptorSetAllocateInfo, descriptorSetCount}+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetAllocateInfo, descriptorPool}) -        {-# INLINE readVkDescriptorSetCount #-}-        readVkDescriptorSetCount p-          = peekByteOff p #{offset VkDescriptorSetAllocateInfo, descriptorSetCount}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorSetAllocateInfo, descriptorPool} -        {-# INLINE writeVkDescriptorSetCount #-}-        writeVkDescriptorSetCount p-          = pokeByteOff p #{offset VkDescriptorSetAllocateInfo, descriptorSetCount}+instance {-# OVERLAPPING #-}+         CanWriteField "descriptorPool" VkDescriptorSetAllocateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorSetAllocateInfo, descriptorPool}  instance {-# OVERLAPPING #-}          HasField "descriptorSetCount" VkDescriptorSetAllocateInfo where@@ -265,42 +196,23 @@         fieldOffset           = #{offset VkDescriptorSetAllocateInfo, descriptorSetCount} -instance CanReadField "descriptorSetCount"-           VkDescriptorSetAllocateInfo-         where-        {-# INLINE getField #-}-        getField = vkDescriptorSetCount+instance {-# OVERLAPPING #-}+         CanReadField "descriptorSetCount" VkDescriptorSetAllocateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetAllocateInfo, descriptorSetCount})          {-# INLINE readField #-}-        readField = readVkDescriptorSetCount+        readField p+          = peekByteOff p #{offset VkDescriptorSetAllocateInfo, descriptorSetCount} -instance CanWriteField "descriptorSetCount"-           VkDescriptorSetAllocateInfo+instance {-# OVERLAPPING #-}+         CanWriteField "descriptorSetCount" VkDescriptorSetAllocateInfo          where         {-# INLINE writeField #-}-        writeField = writeVkDescriptorSetCount--instance {-# OVERLAPPING #-}-         HasVkPSetLayouts VkDescriptorSetAllocateInfo where-        type VkPSetLayoutsMType VkDescriptorSetAllocateInfo =-             Ptr VkDescriptorSetLayout--        {-# NOINLINE vkPSetLayouts #-}-        vkPSetLayouts x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetAllocateInfo, pSetLayouts})--        {-# INLINE vkPSetLayoutsByteOffset #-}-        vkPSetLayoutsByteOffset ~_-          = #{offset VkDescriptorSetAllocateInfo, pSetLayouts}--        {-# INLINE readVkPSetLayouts #-}-        readVkPSetLayouts p-          = peekByteOff p #{offset VkDescriptorSetAllocateInfo, pSetLayouts}--        {-# INLINE writeVkPSetLayouts #-}-        writeVkPSetLayouts p-          = pokeByteOff p #{offset VkDescriptorSetAllocateInfo, pSetLayouts}+        writeField p+          = pokeByteOff p #{offset VkDescriptorSetAllocateInfo, descriptorSetCount}  instance {-# OVERLAPPING #-}          HasField "pSetLayouts" VkDescriptorSetAllocateInfo where@@ -320,33 +232,37 @@         fieldOffset           = #{offset VkDescriptorSetAllocateInfo, pSetLayouts} -instance CanReadField "pSetLayouts" VkDescriptorSetAllocateInfo-         where-        {-# INLINE getField #-}-        getField = vkPSetLayouts+instance {-# OVERLAPPING #-}+         CanReadField "pSetLayouts" VkDescriptorSetAllocateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetAllocateInfo, pSetLayouts})          {-# INLINE readField #-}-        readField = readVkPSetLayouts+        readField p+          = peekByteOff p #{offset VkDescriptorSetAllocateInfo, pSetLayouts} -instance CanWriteField "pSetLayouts" VkDescriptorSetAllocateInfo-         where+instance {-# OVERLAPPING #-}+         CanWriteField "pSetLayouts" VkDescriptorSetAllocateInfo where         {-# INLINE writeField #-}-        writeField = writeVkPSetLayouts+        writeField p+          = pokeByteOff p #{offset VkDescriptorSetAllocateInfo, pSetLayouts}  instance Show VkDescriptorSetAllocateInfo where         showsPrec d x           = showString "VkDescriptorSetAllocateInfo {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkDescriptorPool = " .-                            showsPrec d (vkDescriptorPool x) .+                          showString "descriptorPool = " .+                            showsPrec d (getField @"descriptorPool" x) .                               showString ", " .-                                showString "vkDescriptorSetCount = " .-                                  showsPrec d (vkDescriptorSetCount x) .+                                showString "descriptorSetCount = " .+                                  showsPrec d (getField @"descriptorSetCount" x) .                                     showString ", " .-                                      showString "vkPSetLayouts = " .-                                        showsPrec d (vkPSetLayouts x) . showChar '}'+                                      showString "pSetLayouts = " .+                                        showsPrec d (getField @"pSetLayouts" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorSetLayoutBinding.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutBinding        (VkDescriptorSetLayoutBinding(..)) where@@ -15,7 +16,6 @@ import           Graphics.Vulkan.Types.Enum.VkDescriptorType   (VkDescriptorType) import           Graphics.Vulkan.Types.Enum.VkShaderStageFlags (VkShaderStageFlags) import           Graphics.Vulkan.Types.Handles                 (VkSampler)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                              (unsafeDupablePerformIO)  -- | > typedef struct VkDescriptorSetLayoutBinding {@@ -26,7 +26,7 @@ --   >     const VkSampler*       pImmutableSamplers; --   > } VkDescriptorSetLayoutBinding; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDescriptorSetLayoutBinding.html VkDescriptorSetLayoutBinding registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDescriptorSetLayoutBinding.html VkDescriptorSetLayoutBinding registry at www.khronos.org> data VkDescriptorSetLayoutBinding = VkDescriptorSetLayoutBinding## Addr##                                                                   ByteArray## @@ -81,27 +81,6 @@         type StructExtends VkDescriptorSetLayoutBinding = '[] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkBinding VkDescriptorSetLayoutBinding where-        type VkBindingMType VkDescriptorSetLayoutBinding = Word32--        {-# NOINLINE vkBinding #-}-        vkBinding x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, binding})--        {-# INLINE vkBindingByteOffset #-}-        vkBindingByteOffset ~_-          = #{offset VkDescriptorSetLayoutBinding, binding}--        {-# INLINE readVkBinding #-}-        readVkBinding p-          = peekByteOff p #{offset VkDescriptorSetLayoutBinding, binding}--        {-# INLINE writeVkBinding #-}-        writeVkBinding p-          = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, binding}--instance {-# OVERLAPPING #-}          HasField "binding" VkDescriptorSetLayoutBinding where         type FieldType "binding" VkDescriptorSetLayoutBinding = Word32         type FieldOptional "binding" VkDescriptorSetLayoutBinding = 'False -- ' closing tick for hsc2hs@@ -116,38 +95,22 @@         fieldOffset           = #{offset VkDescriptorSetLayoutBinding, binding} -instance CanReadField "binding" VkDescriptorSetLayoutBinding where-        {-# INLINE getField #-}-        getField = vkBinding--        {-# INLINE readField #-}-        readField = readVkBinding--instance CanWriteField "binding" VkDescriptorSetLayoutBinding where-        {-# INLINE writeField #-}-        writeField = writeVkBinding- instance {-# OVERLAPPING #-}-         HasVkDescriptorType VkDescriptorSetLayoutBinding where-        type VkDescriptorTypeMType VkDescriptorSetLayoutBinding =-             VkDescriptorType--        {-# NOINLINE vkDescriptorType #-}-        vkDescriptorType x+         CanReadField "binding" VkDescriptorSetLayoutBinding where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, descriptorType})--        {-# INLINE vkDescriptorTypeByteOffset #-}-        vkDescriptorTypeByteOffset ~_-          = #{offset VkDescriptorSetLayoutBinding, descriptorType}+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, binding}) -        {-# INLINE readVkDescriptorType #-}-        readVkDescriptorType p-          = peekByteOff p #{offset VkDescriptorSetLayoutBinding, descriptorType}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorSetLayoutBinding, binding} -        {-# INLINE writeVkDescriptorType #-}-        writeVkDescriptorType p-          = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, descriptorType}+instance {-# OVERLAPPING #-}+         CanWriteField "binding" VkDescriptorSetLayoutBinding where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, binding}  instance {-# OVERLAPPING #-}          HasField "descriptorType" VkDescriptorSetLayoutBinding where@@ -167,40 +130,22 @@         fieldOffset           = #{offset VkDescriptorSetLayoutBinding, descriptorType} -instance CanReadField "descriptorType" VkDescriptorSetLayoutBinding-         where-        {-# INLINE getField #-}-        getField = vkDescriptorType--        {-# INLINE readField #-}-        readField = readVkDescriptorType--instance CanWriteField "descriptorType"-           VkDescriptorSetLayoutBinding-         where-        {-# INLINE writeField #-}-        writeField = writeVkDescriptorType- instance {-# OVERLAPPING #-}-         HasVkDescriptorCount VkDescriptorSetLayoutBinding where-        type VkDescriptorCountMType VkDescriptorSetLayoutBinding = Word32--        {-# NOINLINE vkDescriptorCount #-}-        vkDescriptorCount x+         CanReadField "descriptorType" VkDescriptorSetLayoutBinding where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, descriptorCount})--        {-# INLINE vkDescriptorCountByteOffset #-}-        vkDescriptorCountByteOffset ~_-          = #{offset VkDescriptorSetLayoutBinding, descriptorCount}+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, descriptorType}) -        {-# INLINE readVkDescriptorCount #-}-        readVkDescriptorCount p-          = peekByteOff p #{offset VkDescriptorSetLayoutBinding, descriptorCount}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorSetLayoutBinding, descriptorType} -        {-# INLINE writeVkDescriptorCount #-}-        writeVkDescriptorCount p-          = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, descriptorCount}+instance {-# OVERLAPPING #-}+         CanWriteField "descriptorType" VkDescriptorSetLayoutBinding where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, descriptorType}  instance {-# OVERLAPPING #-}          HasField "descriptorCount" VkDescriptorSetLayoutBinding where@@ -220,42 +165,22 @@         fieldOffset           = #{offset VkDescriptorSetLayoutBinding, descriptorCount} -instance CanReadField "descriptorCount"-           VkDescriptorSetLayoutBinding-         where-        {-# INLINE getField #-}-        getField = vkDescriptorCount--        {-# INLINE readField #-}-        readField = readVkDescriptorCount--instance CanWriteField "descriptorCount"-           VkDescriptorSetLayoutBinding-         where-        {-# INLINE writeField #-}-        writeField = writeVkDescriptorCount- instance {-# OVERLAPPING #-}-         HasVkStageFlags VkDescriptorSetLayoutBinding where-        type VkStageFlagsMType VkDescriptorSetLayoutBinding =-             VkShaderStageFlags--        {-# NOINLINE vkStageFlags #-}-        vkStageFlags x+         CanReadField "descriptorCount" VkDescriptorSetLayoutBinding where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, stageFlags})--        {-# INLINE vkStageFlagsByteOffset #-}-        vkStageFlagsByteOffset ~_-          = #{offset VkDescriptorSetLayoutBinding, stageFlags}+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, descriptorCount}) -        {-# INLINE readVkStageFlags #-}-        readVkStageFlags p-          = peekByteOff p #{offset VkDescriptorSetLayoutBinding, stageFlags}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorSetLayoutBinding, descriptorCount} -        {-# INLINE writeVkStageFlags #-}-        writeVkStageFlags p-          = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, stageFlags}+instance {-# OVERLAPPING #-}+         CanWriteField "descriptorCount" VkDescriptorSetLayoutBinding where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, descriptorCount}  instance {-# OVERLAPPING #-}          HasField "stageFlags" VkDescriptorSetLayoutBinding where@@ -275,40 +200,22 @@         fieldOffset           = #{offset VkDescriptorSetLayoutBinding, stageFlags} -instance CanReadField "stageFlags" VkDescriptorSetLayoutBinding-         where-        {-# INLINE getField #-}-        getField = vkStageFlags--        {-# INLINE readField #-}-        readField = readVkStageFlags--instance CanWriteField "stageFlags" VkDescriptorSetLayoutBinding-         where-        {-# INLINE writeField #-}-        writeField = writeVkStageFlags- instance {-# OVERLAPPING #-}-         HasVkPImmutableSamplers VkDescriptorSetLayoutBinding where-        type VkPImmutableSamplersMType VkDescriptorSetLayoutBinding =-             Ptr VkSampler--        {-# NOINLINE vkPImmutableSamplers #-}-        vkPImmutableSamplers x+         CanReadField "stageFlags" VkDescriptorSetLayoutBinding where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers})--        {-# INLINE vkPImmutableSamplersByteOffset #-}-        vkPImmutableSamplersByteOffset ~_-          = #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers}+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, stageFlags}) -        {-# INLINE readVkPImmutableSamplers #-}-        readVkPImmutableSamplers p-          = peekByteOff p #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorSetLayoutBinding, stageFlags} -        {-# INLINE writeVkPImmutableSamplers #-}-        writeVkPImmutableSamplers p-          = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers}+instance {-# OVERLAPPING #-}+         CanWriteField "stageFlags" VkDescriptorSetLayoutBinding where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, stageFlags}  instance {-# OVERLAPPING #-}          HasField "pImmutableSamplers" VkDescriptorSetLayoutBinding where@@ -330,35 +237,40 @@         fieldOffset           = #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers} -instance CanReadField "pImmutableSamplers"-           VkDescriptorSetLayoutBinding+instance {-# OVERLAPPING #-}+         CanReadField "pImmutableSamplers" VkDescriptorSetLayoutBinding          where-        {-# INLINE getField #-}-        getField = vkPImmutableSamplers+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers})          {-# INLINE readField #-}-        readField = readVkPImmutableSamplers+        readField p+          = peekByteOff p #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers} -instance CanWriteField "pImmutableSamplers"-           VkDescriptorSetLayoutBinding+instance {-# OVERLAPPING #-}+         CanWriteField "pImmutableSamplers" VkDescriptorSetLayoutBinding          where         {-# INLINE writeField #-}-        writeField = writeVkPImmutableSamplers+        writeField p+          = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers}  instance Show VkDescriptorSetLayoutBinding where         showsPrec d x           = showString "VkDescriptorSetLayoutBinding {" .-              showString "vkBinding = " .-                showsPrec d (vkBinding x) .+              showString "binding = " .+                showsPrec d (getField @"binding" x) .                   showString ", " .-                    showString "vkDescriptorType = " .-                      showsPrec d (vkDescriptorType x) .+                    showString "descriptorType = " .+                      showsPrec d (getField @"descriptorType" x) .                         showString ", " .-                          showString "vkDescriptorCount = " .-                            showsPrec d (vkDescriptorCount x) .+                          showString "descriptorCount = " .+                            showsPrec d (getField @"descriptorCount" x) .                               showString ", " .-                                showString "vkStageFlags = " .-                                  showsPrec d (vkStageFlags x) .+                                showString "stageFlags = " .+                                  showsPrec d (getField @"stageFlags" x) .                                     showString ", " .-                                      showString "vkPImmutableSamplers = " .-                                        showsPrec d (vkPImmutableSamplers x) . showChar '}'+                                      showString "pImmutableSamplers = " .+                                        showsPrec d (getField @"pImmutableSamplers" x) .+                                          showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorSetLayoutCreateInfo.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutCreateInfo        (VkDescriptorSetLayoutCreateInfo(..)) where@@ -15,7 +16,6 @@ import           Graphics.Vulkan.Types.Enum.VkDescriptorSetLayoutCreateFlags (VkDescriptorSetLayoutCreateFlags) import           Graphics.Vulkan.Types.Enum.VkStructureType                  (VkStructureType) import           Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutBinding   (VkDescriptorSetLayoutBinding)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                            (unsafeDupablePerformIO)  -- | > typedef struct VkDescriptorSetLayoutCreateInfo {@@ -26,7 +26,7 @@ --   >     const VkDescriptorSetLayoutBinding* pBindings; --   > } VkDescriptorSetLayoutCreateInfo; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDescriptorSetLayoutCreateInfo.html VkDescriptorSetLayoutCreateInfo registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDescriptorSetLayoutCreateInfo.html VkDescriptorSetLayoutCreateInfo registry at www.khronos.org> data VkDescriptorSetLayoutCreateInfo = VkDescriptorSetLayoutCreateInfo## Addr##                                                                         ByteArray## @@ -80,27 +80,6 @@         type StructExtends VkDescriptorSetLayoutCreateInfo = '[] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkSType VkDescriptorSetLayoutCreateInfo where-        type VkSTypeMType VkDescriptorSetLayoutCreateInfo = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDescriptorSetLayoutCreateInfo, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, sType}--instance {-# OVERLAPPING #-}          HasField "sType" VkDescriptorSetLayoutCreateInfo where         type FieldType "sType" VkDescriptorSetLayoutCreateInfo =              VkStructureType@@ -116,38 +95,22 @@         fieldOffset           = #{offset VkDescriptorSetLayoutCreateInfo, sType} -instance CanReadField "sType" VkDescriptorSetLayoutCreateInfo where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkDescriptorSetLayoutCreateInfo-         where-        {-# INLINE writeField #-}-        writeField = writeVkSType- instance {-# OVERLAPPING #-}-         HasVkPNext VkDescriptorSetLayoutCreateInfo where-        type VkPNextMType VkDescriptorSetLayoutCreateInfo = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x+         CanReadField "sType" VkDescriptorSetLayoutCreateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDescriptorSetLayoutCreateInfo, pNext}+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, sType}) -        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, pNext}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, sType} -        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, pNext}+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDescriptorSetLayoutCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkDescriptorSetLayoutCreateInfo where@@ -164,39 +127,22 @@         fieldOffset           = #{offset VkDescriptorSetLayoutCreateInfo, pNext} -instance CanReadField "pNext" VkDescriptorSetLayoutCreateInfo where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkDescriptorSetLayoutCreateInfo-         where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkFlags VkDescriptorSetLayoutCreateInfo where-        type VkFlagsMType VkDescriptorSetLayoutCreateInfo =-             VkDescriptorSetLayoutCreateFlags--        {-# NOINLINE vkFlags #-}-        vkFlags x+         CanReadField "pNext" VkDescriptorSetLayoutCreateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, flags})--        {-# INLINE vkFlagsByteOffset #-}-        vkFlagsByteOffset ~_-          = #{offset VkDescriptorSetLayoutCreateInfo, flags}+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, pNext}) -        {-# INLINE readVkFlags #-}-        readVkFlags p-          = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, flags}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, pNext} -        {-# INLINE writeVkFlags #-}-        writeVkFlags p-          = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, flags}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDescriptorSetLayoutCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, pNext}  instance {-# OVERLAPPING #-}          HasField "flags" VkDescriptorSetLayoutCreateInfo where@@ -214,38 +160,22 @@         fieldOffset           = #{offset VkDescriptorSetLayoutCreateInfo, flags} -instance CanReadField "flags" VkDescriptorSetLayoutCreateInfo where-        {-# INLINE getField #-}-        getField = vkFlags--        {-# INLINE readField #-}-        readField = readVkFlags--instance CanWriteField "flags" VkDescriptorSetLayoutCreateInfo-         where-        {-# INLINE writeField #-}-        writeField = writeVkFlags- instance {-# OVERLAPPING #-}-         HasVkBindingCount VkDescriptorSetLayoutCreateInfo where-        type VkBindingCountMType VkDescriptorSetLayoutCreateInfo = Word32--        {-# NOINLINE vkBindingCount #-}-        vkBindingCount x+         CanReadField "flags" VkDescriptorSetLayoutCreateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, bindingCount})--        {-# INLINE vkBindingCountByteOffset #-}-        vkBindingCountByteOffset ~_-          = #{offset VkDescriptorSetLayoutCreateInfo, bindingCount}+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, flags}) -        {-# INLINE readVkBindingCount #-}-        readVkBindingCount p-          = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, bindingCount}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, flags} -        {-# INLINE writeVkBindingCount #-}-        writeVkBindingCount p-          = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, bindingCount}+instance {-# OVERLAPPING #-}+         CanWriteField "flags" VkDescriptorSetLayoutCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, flags}  instance {-# OVERLAPPING #-}          HasField "bindingCount" VkDescriptorSetLayoutCreateInfo where@@ -265,42 +195,22 @@         fieldOffset           = #{offset VkDescriptorSetLayoutCreateInfo, bindingCount} -instance CanReadField "bindingCount"-           VkDescriptorSetLayoutCreateInfo-         where-        {-# INLINE getField #-}-        getField = vkBindingCount--        {-# INLINE readField #-}-        readField = readVkBindingCount--instance CanWriteField "bindingCount"-           VkDescriptorSetLayoutCreateInfo-         where-        {-# INLINE writeField #-}-        writeField = writeVkBindingCount- instance {-# OVERLAPPING #-}-         HasVkPBindings VkDescriptorSetLayoutCreateInfo where-        type VkPBindingsMType VkDescriptorSetLayoutCreateInfo =-             Ptr VkDescriptorSetLayoutBinding--        {-# NOINLINE vkPBindings #-}-        vkPBindings x+         CanReadField "bindingCount" VkDescriptorSetLayoutCreateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, pBindings})--        {-# INLINE vkPBindingsByteOffset #-}-        vkPBindingsByteOffset ~_-          = #{offset VkDescriptorSetLayoutCreateInfo, pBindings}+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, bindingCount}) -        {-# INLINE readVkPBindings #-}-        readVkPBindings p-          = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, pBindings}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, bindingCount} -        {-# INLINE writeVkPBindings #-}-        writeVkPBindings p-          = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, pBindings}+instance {-# OVERLAPPING #-}+         CanWriteField "bindingCount" VkDescriptorSetLayoutCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, bindingCount}  instance {-# OVERLAPPING #-}          HasField "pBindings" VkDescriptorSetLayoutCreateInfo where@@ -320,33 +230,37 @@         fieldOffset           = #{offset VkDescriptorSetLayoutCreateInfo, pBindings} -instance CanReadField "pBindings" VkDescriptorSetLayoutCreateInfo-         where-        {-# INLINE getField #-}-        getField = vkPBindings+instance {-# OVERLAPPING #-}+         CanReadField "pBindings" VkDescriptorSetLayoutCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, pBindings})          {-# INLINE readField #-}-        readField = readVkPBindings+        readField p+          = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, pBindings} -instance CanWriteField "pBindings" VkDescriptorSetLayoutCreateInfo-         where+instance {-# OVERLAPPING #-}+         CanWriteField "pBindings" VkDescriptorSetLayoutCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkPBindings+        writeField p+          = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, pBindings}  instance Show VkDescriptorSetLayoutCreateInfo where         showsPrec d x           = showString "VkDescriptorSetLayoutCreateInfo {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkFlags = " .-                            showsPrec d (vkFlags x) .+                          showString "flags = " .+                            showsPrec d (getField @"flags" x) .                               showString ", " .-                                showString "vkBindingCount = " .-                                  showsPrec d (vkBindingCount x) .+                                showString "bindingCount = " .+                                  showsPrec d (getField @"bindingCount" x) .                                     showString ", " .-                                      showString "vkPBindings = " .-                                        showsPrec d (vkPBindings x) . showChar '}'+                                      showString "pBindings = " .+                                        showsPrec d (getField @"pBindings" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorSetLayoutSupport.hsc view
@@ -0,0 +1,187 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutSupport+       (VkDescriptorSetLayoutSupport(..)) where+import           Foreign.Storable                           (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.BaseTypes            (VkBool32)+import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkDescriptorSetLayoutSupport {+--   >     VkStructureType sType;+--   >     void*            pNext;+--   >     VkBool32         supported;+--   > } VkDescriptorSetLayoutSupport;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDescriptorSetLayoutSupport.html VkDescriptorSetLayoutSupport registry at www.khronos.org>+data VkDescriptorSetLayoutSupport = VkDescriptorSetLayoutSupport## Addr##+                                                                  ByteArray##++instance Eq VkDescriptorSetLayoutSupport where+        (VkDescriptorSetLayoutSupport## a _) ==+          x@(VkDescriptorSetLayoutSupport## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDescriptorSetLayoutSupport where+        (VkDescriptorSetLayoutSupport## a _) `compare`+          x@(VkDescriptorSetLayoutSupport## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDescriptorSetLayoutSupport where+        sizeOf ~_ = #{size VkDescriptorSetLayoutSupport}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDescriptorSetLayoutSupport}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDescriptorSetLayoutSupport where+        unsafeAddr (VkDescriptorSetLayoutSupport## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDescriptorSetLayoutSupport## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDescriptorSetLayoutSupport##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDescriptorSetLayoutSupport where+        type StructFields VkDescriptorSetLayoutSupport =+             '["sType", "pNext", "supported"] -- ' closing tick for hsc2hs+        type CUnionType VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDescriptorSetLayoutSupport = 'True -- ' closing tick for hsc2hs+        type StructExtends VkDescriptorSetLayoutSupport = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkDescriptorSetLayoutSupport where+        type FieldType "sType" VkDescriptorSetLayoutSupport =+             VkStructureType+        type FieldOptional "sType" VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDescriptorSetLayoutSupport =+             #{offset VkDescriptorSetLayoutSupport, sType}+        type FieldIsArray "sType" VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorSetLayoutSupport, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDescriptorSetLayoutSupport where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutSupport, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorSetLayoutSupport, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDescriptorSetLayoutSupport where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorSetLayoutSupport, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDescriptorSetLayoutSupport where+        type FieldType "pNext" VkDescriptorSetLayoutSupport = Ptr Void+        type FieldOptional "pNext" VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDescriptorSetLayoutSupport =+             #{offset VkDescriptorSetLayoutSupport, pNext}+        type FieldIsArray "pNext" VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorSetLayoutSupport, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDescriptorSetLayoutSupport where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutSupport, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorSetLayoutSupport, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDescriptorSetLayoutSupport where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorSetLayoutSupport, pNext}++instance {-# OVERLAPPING #-}+         HasField "supported" VkDescriptorSetLayoutSupport where+        type FieldType "supported" VkDescriptorSetLayoutSupport = VkBool32+        type FieldOptional "supported" VkDescriptorSetLayoutSupport =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "supported" VkDescriptorSetLayoutSupport =+             #{offset VkDescriptorSetLayoutSupport, supported}+        type FieldIsArray "supported" VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorSetLayoutSupport, supported}++instance {-# OVERLAPPING #-}+         CanReadField "supported" VkDescriptorSetLayoutSupport where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutSupport, supported})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorSetLayoutSupport, supported}++instance {-# OVERLAPPING #-}+         CanWriteField "supported" VkDescriptorSetLayoutSupport where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorSetLayoutSupport, supported}++instance Show VkDescriptorSetLayoutSupport where+        showsPrec d x+          = showString "VkDescriptorSetLayoutSupport {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "supported = " .+                            showsPrec d (getField @"supported" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorSetLayoutSupportKHR.hs view
@@ -0,0 +1,9 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutSupportKHR+       (VkDescriptorSetLayoutSupport(..), VkDescriptorSetLayoutSupportKHR)+       where+import           Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutSupport (VkDescriptorSetLayoutSupport (..))++-- | Alias for `VkDescriptorSetLayoutSupport`+type VkDescriptorSetLayoutSupportKHR = VkDescriptorSetLayoutSupport
+ src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorUpdateTemplateCreateInfo.hsc view
@@ -0,0 +1,539 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateCreateInfo+       (VkDescriptorUpdateTemplateCreateInfo(..)) where+import           Foreign.Storable                                             (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Bitmasks                               (VkDescriptorUpdateTemplateCreateFlags)+import           Graphics.Vulkan.Types.Enum.VkDescriptorUpdateTemplateType    (VkDescriptorUpdateTemplateType)+import           Graphics.Vulkan.Types.Enum.VkPipelineBindPoint               (VkPipelineBindPoint)+import           Graphics.Vulkan.Types.Enum.VkStructureType                   (VkStructureType)+import           Graphics.Vulkan.Types.Handles                                (VkDescriptorSetLayout,+                                                                               VkPipelineLayout)+import           Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateEntry (VkDescriptorUpdateTemplateEntry)+import           System.IO.Unsafe                                             (unsafeDupablePerformIO)++-- | > typedef struct VkDescriptorUpdateTemplateCreateInfo {+--   >     VkStructureType sType;+--   >     void*                                   pNext;+--   >     VkDescriptorUpdateTemplateCreateFlags    flags;+--   >     uint32_t                 descriptorUpdateEntryCount;+--   >     const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;+--   >     VkDescriptorUpdateTemplateType templateType;+--   >     VkDescriptorSetLayout descriptorSetLayout;+--   >     VkPipelineBindPoint pipelineBindPoint;+--   >     VkPipelineLayoutpipelineLayout;+--   >     uint32_t set;+--   > } VkDescriptorUpdateTemplateCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDescriptorUpdateTemplateCreateInfo.html VkDescriptorUpdateTemplateCreateInfo registry at www.khronos.org>+data VkDescriptorUpdateTemplateCreateInfo = VkDescriptorUpdateTemplateCreateInfo## Addr##+                                                                                  ByteArray##++instance Eq VkDescriptorUpdateTemplateCreateInfo where+        (VkDescriptorUpdateTemplateCreateInfo## a _) ==+          x@(VkDescriptorUpdateTemplateCreateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDescriptorUpdateTemplateCreateInfo where+        (VkDescriptorUpdateTemplateCreateInfo## a _) `compare`+          x@(VkDescriptorUpdateTemplateCreateInfo## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDescriptorUpdateTemplateCreateInfo where+        sizeOf ~_+          = #{size VkDescriptorUpdateTemplateCreateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDescriptorUpdateTemplateCreateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDescriptorUpdateTemplateCreateInfo+         where+        unsafeAddr (VkDescriptorUpdateTemplateCreateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDescriptorUpdateTemplateCreateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDescriptorUpdateTemplateCreateInfo##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDescriptorUpdateTemplateCreateInfo where+        type StructFields VkDescriptorUpdateTemplateCreateInfo =+             '["sType", "pNext", "flags", "descriptorUpdateEntryCount", -- ' closing tick for hsc2hs+               "pDescriptorUpdateEntries", "templateType", "descriptorSetLayout",+               "pipelineBindPoint", "pipelineLayout", "set"]+        type CUnionType VkDescriptorUpdateTemplateCreateInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDescriptorUpdateTemplateCreateInfo = 'False -- ' closing tick for hsc2hs+        type StructExtends VkDescriptorUpdateTemplateCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkDescriptorUpdateTemplateCreateInfo where+        type FieldType "sType" VkDescriptorUpdateTemplateCreateInfo =+             VkStructureType+        type FieldOptional "sType" VkDescriptorUpdateTemplateCreateInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDescriptorUpdateTemplateCreateInfo =+             #{offset VkDescriptorUpdateTemplateCreateInfo, sType}+        type FieldIsArray "sType" VkDescriptorUpdateTemplateCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorUpdateTemplateCreateInfo, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDescriptorUpdateTemplateCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDescriptorUpdateTemplateCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDescriptorUpdateTemplateCreateInfo where+        type FieldType "pNext" VkDescriptorUpdateTemplateCreateInfo =+             Ptr Void+        type FieldOptional "pNext" VkDescriptorUpdateTemplateCreateInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDescriptorUpdateTemplateCreateInfo =+             #{offset VkDescriptorUpdateTemplateCreateInfo, pNext}+        type FieldIsArray "pNext" VkDescriptorUpdateTemplateCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorUpdateTemplateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDescriptorUpdateTemplateCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDescriptorUpdateTemplateCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+         HasField "flags" VkDescriptorUpdateTemplateCreateInfo where+        type FieldType "flags" VkDescriptorUpdateTemplateCreateInfo =+             VkDescriptorUpdateTemplateCreateFlags+        type FieldOptional "flags" VkDescriptorUpdateTemplateCreateInfo =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkDescriptorUpdateTemplateCreateInfo =+             #{offset VkDescriptorUpdateTemplateCreateInfo, flags}+        type FieldIsArray "flags" VkDescriptorUpdateTemplateCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorUpdateTemplateCreateInfo, flags}++instance {-# OVERLAPPING #-}+         CanReadField "flags" VkDescriptorUpdateTemplateCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, flags})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, flags}++instance {-# OVERLAPPING #-}+         CanWriteField "flags" VkDescriptorUpdateTemplateCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, flags}++instance {-# OVERLAPPING #-}+         HasField "descriptorUpdateEntryCount"+           VkDescriptorUpdateTemplateCreateInfo+         where+        type FieldType "descriptorUpdateEntryCount"+               VkDescriptorUpdateTemplateCreateInfo+             = Word32+        type FieldOptional "descriptorUpdateEntryCount"+               VkDescriptorUpdateTemplateCreateInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "descriptorUpdateEntryCount"+               VkDescriptorUpdateTemplateCreateInfo+             =+             #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorUpdateEntryCount}+        type FieldIsArray "descriptorUpdateEntryCount"+               VkDescriptorUpdateTemplateCreateInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorUpdateEntryCount}++instance {-# OVERLAPPING #-}+         CanReadField "descriptorUpdateEntryCount"+           VkDescriptorUpdateTemplateCreateInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorUpdateEntryCount})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorUpdateEntryCount}++instance {-# OVERLAPPING #-}+         CanWriteField "descriptorUpdateEntryCount"+           VkDescriptorUpdateTemplateCreateInfo+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorUpdateEntryCount}++instance {-# OVERLAPPING #-}+         HasField "pDescriptorUpdateEntries"+           VkDescriptorUpdateTemplateCreateInfo+         where+        type FieldType "pDescriptorUpdateEntries"+               VkDescriptorUpdateTemplateCreateInfo+             = Ptr VkDescriptorUpdateTemplateEntry+        type FieldOptional "pDescriptorUpdateEntries"+               VkDescriptorUpdateTemplateCreateInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pDescriptorUpdateEntries"+               VkDescriptorUpdateTemplateCreateInfo+             =+             #{offset VkDescriptorUpdateTemplateCreateInfo, pDescriptorUpdateEntries}+        type FieldIsArray "pDescriptorUpdateEntries"+               VkDescriptorUpdateTemplateCreateInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorUpdateTemplateCreateInfo, pDescriptorUpdateEntries}++instance {-# OVERLAPPING #-}+         CanReadField "pDescriptorUpdateEntries"+           VkDescriptorUpdateTemplateCreateInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, pDescriptorUpdateEntries})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pDescriptorUpdateEntries}++instance {-# OVERLAPPING #-}+         CanWriteField "pDescriptorUpdateEntries"+           VkDescriptorUpdateTemplateCreateInfo+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pDescriptorUpdateEntries}++instance {-# OVERLAPPING #-}+         HasField "templateType" VkDescriptorUpdateTemplateCreateInfo where+        type FieldType "templateType" VkDescriptorUpdateTemplateCreateInfo+             = VkDescriptorUpdateTemplateType+        type FieldOptional "templateType"+               VkDescriptorUpdateTemplateCreateInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "templateType"+               VkDescriptorUpdateTemplateCreateInfo+             =+             #{offset VkDescriptorUpdateTemplateCreateInfo, templateType}+        type FieldIsArray "templateType"+               VkDescriptorUpdateTemplateCreateInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorUpdateTemplateCreateInfo, templateType}++instance {-# OVERLAPPING #-}+         CanReadField "templateType" VkDescriptorUpdateTemplateCreateInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, templateType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, templateType}++instance {-# OVERLAPPING #-}+         CanWriteField "templateType" VkDescriptorUpdateTemplateCreateInfo+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, templateType}++instance {-# OVERLAPPING #-}+         HasField "descriptorSetLayout" VkDescriptorUpdateTemplateCreateInfo+         where+        type FieldType "descriptorSetLayout"+               VkDescriptorUpdateTemplateCreateInfo+             = VkDescriptorSetLayout+        type FieldOptional "descriptorSetLayout"+               VkDescriptorUpdateTemplateCreateInfo+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "descriptorSetLayout"+               VkDescriptorUpdateTemplateCreateInfo+             =+             #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorSetLayout}+        type FieldIsArray "descriptorSetLayout"+               VkDescriptorUpdateTemplateCreateInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorSetLayout}++instance {-# OVERLAPPING #-}+         CanReadField "descriptorSetLayout"+           VkDescriptorUpdateTemplateCreateInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorSetLayout})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorSetLayout}++instance {-# OVERLAPPING #-}+         CanWriteField "descriptorSetLayout"+           VkDescriptorUpdateTemplateCreateInfo+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorSetLayout}++instance {-# OVERLAPPING #-}+         HasField "pipelineBindPoint" VkDescriptorUpdateTemplateCreateInfo+         where+        type FieldType "pipelineBindPoint"+               VkDescriptorUpdateTemplateCreateInfo+             = VkPipelineBindPoint+        type FieldOptional "pipelineBindPoint"+               VkDescriptorUpdateTemplateCreateInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pipelineBindPoint"+               VkDescriptorUpdateTemplateCreateInfo+             =+             #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineBindPoint}+        type FieldIsArray "pipelineBindPoint"+               VkDescriptorUpdateTemplateCreateInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineBindPoint}++instance {-# OVERLAPPING #-}+         CanReadField "pipelineBindPoint"+           VkDescriptorUpdateTemplateCreateInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineBindPoint})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineBindPoint}++instance {-# OVERLAPPING #-}+         CanWriteField "pipelineBindPoint"+           VkDescriptorUpdateTemplateCreateInfo+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineBindPoint}++instance {-# OVERLAPPING #-}+         HasField "pipelineLayout" VkDescriptorUpdateTemplateCreateInfo+         where+        type FieldType "pipelineLayout"+               VkDescriptorUpdateTemplateCreateInfo+             = VkPipelineLayout+        type FieldOptional "pipelineLayout"+               VkDescriptorUpdateTemplateCreateInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pipelineLayout"+               VkDescriptorUpdateTemplateCreateInfo+             =+             #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineLayout}+        type FieldIsArray "pipelineLayout"+               VkDescriptorUpdateTemplateCreateInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineLayout}++instance {-# OVERLAPPING #-}+         CanReadField "pipelineLayout" VkDescriptorUpdateTemplateCreateInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineLayout})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineLayout}++instance {-# OVERLAPPING #-}+         CanWriteField "pipelineLayout" VkDescriptorUpdateTemplateCreateInfo+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineLayout}++instance {-# OVERLAPPING #-}+         HasField "set" VkDescriptorUpdateTemplateCreateInfo where+        type FieldType "set" VkDescriptorUpdateTemplateCreateInfo = Word32+        type FieldOptional "set" VkDescriptorUpdateTemplateCreateInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "set" VkDescriptorUpdateTemplateCreateInfo =+             #{offset VkDescriptorUpdateTemplateCreateInfo, set}+        type FieldIsArray "set" VkDescriptorUpdateTemplateCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorUpdateTemplateCreateInfo, set}++instance {-# OVERLAPPING #-}+         CanReadField "set" VkDescriptorUpdateTemplateCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, set})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, set}++instance {-# OVERLAPPING #-}+         CanWriteField "set" VkDescriptorUpdateTemplateCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, set}++instance Show VkDescriptorUpdateTemplateCreateInfo where+        showsPrec d x+          = showString "VkDescriptorUpdateTemplateCreateInfo {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "flags = " .+                            showsPrec d (getField @"flags" x) .+                              showString ", " .+                                showString "descriptorUpdateEntryCount = " .+                                  showsPrec d (getField @"descriptorUpdateEntryCount" x) .+                                    showString ", " .+                                      showString "pDescriptorUpdateEntries = " .+                                        showsPrec d (getField @"pDescriptorUpdateEntries" x) .+                                          showString ", " .+                                            showString "templateType = " .+                                              showsPrec d (getField @"templateType" x) .+                                                showString ", " .+                                                  showString "descriptorSetLayout = " .+                                                    showsPrec d (getField @"descriptorSetLayout" x)+                                                      .+                                                      showString ", " .+                                                        showString "pipelineBindPoint = " .+                                                          showsPrec d+                                                            (getField @"pipelineBindPoint" x)+                                                            .+                                                            showString ", " .+                                                              showString "pipelineLayout = " .+                                                                showsPrec d+                                                                  (getField @"pipelineLayout" x)+                                                                  .+                                                                  showString ", " .+                                                                    showString "set = " .+                                                                      showsPrec d+                                                                        (getField @"set" x)+                                                                        . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorUpdateTemplateCreateInfoKHR.hs view
@@ -0,0 +1,12 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateCreateInfoKHR+       (VkDescriptorUpdateTemplateCreateInfo(..),+        VkDescriptorUpdateTemplateCreateInfoKHR)+       where+import           Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateCreateInfo+                                                                                    (VkDescriptorUpdateTemplateCreateInfo (..))++-- | Alias for `VkDescriptorUpdateTemplateCreateInfo`+type VkDescriptorUpdateTemplateCreateInfoKHR =+     VkDescriptorUpdateTemplateCreateInfo
− src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorUpdateTemplateCreateInfoKHR.hsc
@@ -1,727 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateCreateInfoKHR-       (VkDescriptorUpdateTemplateCreateInfoKHR(..)) where-import           Foreign.Storable                                                (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Bitmasks                                  (VkDescriptorUpdateTemplateCreateFlagsKHR)-import           Graphics.Vulkan.Types.Enum.VkDescriptorUpdateTemplateTypeKHR    (VkDescriptorUpdateTemplateTypeKHR)-import           Graphics.Vulkan.Types.Enum.VkPipelineBindPoint                  (VkPipelineBindPoint)-import           Graphics.Vulkan.Types.Enum.VkStructureType                      (VkStructureType)-import           Graphics.Vulkan.Types.Handles                                   (VkDescriptorSetLayout,-                                                                                  VkPipelineLayout)-import           Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateEntryKHR (VkDescriptorUpdateTemplateEntryKHR)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                                                (unsafeDupablePerformIO)---- | > typedef struct VkDescriptorUpdateTemplateCreateInfoKHR {---   >     VkStructureType sType;---   >     void*                                   pNext;---   >     VkDescriptorUpdateTemplateCreateFlagsKHR    flags;---   >     uint32_t                 descriptorUpdateEntryCount;---   >     const VkDescriptorUpdateTemplateEntryKHR* pDescriptorUpdateEntries;---   >     VkDescriptorUpdateTemplateTypeKHR templateType;---   >     VkDescriptorSetLayout descriptorSetLayout;---   >     VkPipelineBindPoint pipelineBindPoint;---   >     VkPipelineLayoutpipelineLayout;---   >     uint32_t set;---   > } VkDescriptorUpdateTemplateCreateInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDescriptorUpdateTemplateCreateInfoKHR.html VkDescriptorUpdateTemplateCreateInfoKHR registry at www.khronos.org>-data VkDescriptorUpdateTemplateCreateInfoKHR = VkDescriptorUpdateTemplateCreateInfoKHR## Addr##-                                                                                        ByteArray##--instance Eq VkDescriptorUpdateTemplateCreateInfoKHR where-        (VkDescriptorUpdateTemplateCreateInfoKHR## a _) ==-          x@(VkDescriptorUpdateTemplateCreateInfoKHR## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkDescriptorUpdateTemplateCreateInfoKHR where-        (VkDescriptorUpdateTemplateCreateInfoKHR## a _) `compare`-          x@(VkDescriptorUpdateTemplateCreateInfoKHR## b _)-          = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkDescriptorUpdateTemplateCreateInfoKHR where-        sizeOf ~_-          = #{size VkDescriptorUpdateTemplateCreateInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDescriptorUpdateTemplateCreateInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkDescriptorUpdateTemplateCreateInfoKHR-         where-        unsafeAddr (VkDescriptorUpdateTemplateCreateInfoKHR## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkDescriptorUpdateTemplateCreateInfoKHR## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkDescriptorUpdateTemplateCreateInfoKHR##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkDescriptorUpdateTemplateCreateInfoKHR-         where-        type StructFields VkDescriptorUpdateTemplateCreateInfoKHR =-             '["sType", "pNext", "flags", "descriptorUpdateEntryCount", -- ' closing tick for hsc2hs-               "pDescriptorUpdateEntries", "templateType", "descriptorSetLayout",-               "pipelineBindPoint", "pipelineLayout", "set"]-        type CUnionType VkDescriptorUpdateTemplateCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDescriptorUpdateTemplateCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDescriptorUpdateTemplateCreateInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasVkSType VkDescriptorUpdateTemplateCreateInfoKHR where-        type VkSTypeMType VkDescriptorUpdateTemplateCreateInfoKHR =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfoKHR, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDescriptorUpdateTemplateCreateInfoKHR, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfoKHR, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkDescriptorUpdateTemplateCreateInfoKHR where-        type FieldType "sType" VkDescriptorUpdateTemplateCreateInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkDescriptorUpdateTemplateCreateInfoKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDescriptorUpdateTemplateCreateInfoKHR =-             #{offset VkDescriptorUpdateTemplateCreateInfoKHR, sType}-        type FieldIsArray "sType" VkDescriptorUpdateTemplateCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateCreateInfoKHR, sType}--instance CanReadField "sType"-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType"-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-}-         HasVkPNext VkDescriptorUpdateTemplateCreateInfoKHR where-        type VkPNextMType VkDescriptorUpdateTemplateCreateInfoKHR =-             Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDescriptorUpdateTemplateCreateInfoKHR where-        type FieldType "pNext" VkDescriptorUpdateTemplateCreateInfoKHR =-             Ptr Void-        type FieldOptional "pNext" VkDescriptorUpdateTemplateCreateInfoKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDescriptorUpdateTemplateCreateInfoKHR =-             #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pNext}-        type FieldIsArray "pNext" VkDescriptorUpdateTemplateCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pNext}--instance CanReadField "pNext"-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext"-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-}-         HasVkFlags VkDescriptorUpdateTemplateCreateInfoKHR where-        type VkFlagsMType VkDescriptorUpdateTemplateCreateInfoKHR =-             VkDescriptorUpdateTemplateCreateFlagsKHR--        {-# NOINLINE vkFlags #-}-        vkFlags x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfoKHR, flags})--        {-# INLINE vkFlagsByteOffset #-}-        vkFlagsByteOffset ~_-          = #{offset VkDescriptorUpdateTemplateCreateInfoKHR, flags}--        {-# INLINE readVkFlags #-}-        readVkFlags p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfoKHR, flags}--        {-# INLINE writeVkFlags #-}-        writeVkFlags p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfoKHR, flags}--instance {-# OVERLAPPING #-}-         HasField "flags" VkDescriptorUpdateTemplateCreateInfoKHR where-        type FieldType "flags" VkDescriptorUpdateTemplateCreateInfoKHR =-             VkDescriptorUpdateTemplateCreateFlagsKHR-        type FieldOptional "flags" VkDescriptorUpdateTemplateCreateInfoKHR-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "flags" VkDescriptorUpdateTemplateCreateInfoKHR =-             #{offset VkDescriptorUpdateTemplateCreateInfoKHR, flags}-        type FieldIsArray "flags" VkDescriptorUpdateTemplateCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateCreateInfoKHR, flags}--instance CanReadField "flags"-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkFlags--        {-# INLINE readField #-}-        readField = readVkFlags--instance CanWriteField "flags"-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkFlags--instance {-# OVERLAPPING #-}-         HasVkDescriptorUpdateEntryCount-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        type VkDescriptorUpdateEntryCountMType-               VkDescriptorUpdateTemplateCreateInfoKHR-             = Word32--        {-# NOINLINE vkDescriptorUpdateEntryCount #-}-        vkDescriptorUpdateEntryCount x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfoKHR, descriptorUpdateEntryCount})--        {-# INLINE vkDescriptorUpdateEntryCountByteOffset #-}-        vkDescriptorUpdateEntryCountByteOffset ~_-          = #{offset VkDescriptorUpdateTemplateCreateInfoKHR, descriptorUpdateEntryCount}--        {-# INLINE readVkDescriptorUpdateEntryCount #-}-        readVkDescriptorUpdateEntryCount p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfoKHR, descriptorUpdateEntryCount}--        {-# INLINE writeVkDescriptorUpdateEntryCount #-}-        writeVkDescriptorUpdateEntryCount p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfoKHR, descriptorUpdateEntryCount}--instance {-# OVERLAPPING #-}-         HasField "descriptorUpdateEntryCount"-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        type FieldType "descriptorUpdateEntryCount"-               VkDescriptorUpdateTemplateCreateInfoKHR-             = Word32-        type FieldOptional "descriptorUpdateEntryCount"-               VkDescriptorUpdateTemplateCreateInfoKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "descriptorUpdateEntryCount"-               VkDescriptorUpdateTemplateCreateInfoKHR-             =-             #{offset VkDescriptorUpdateTemplateCreateInfoKHR, descriptorUpdateEntryCount}-        type FieldIsArray "descriptorUpdateEntryCount"-               VkDescriptorUpdateTemplateCreateInfoKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateCreateInfoKHR, descriptorUpdateEntryCount}--instance CanReadField "descriptorUpdateEntryCount"-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkDescriptorUpdateEntryCount--        {-# INLINE readField #-}-        readField = readVkDescriptorUpdateEntryCount--instance CanWriteField "descriptorUpdateEntryCount"-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkDescriptorUpdateEntryCount--instance {-# OVERLAPPING #-}-         HasVkPDescriptorUpdateEntries-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        type VkPDescriptorUpdateEntriesMType-               VkDescriptorUpdateTemplateCreateInfoKHR-             = Ptr VkDescriptorUpdateTemplateEntryKHR--        {-# NOINLINE vkPDescriptorUpdateEntries #-}-        vkPDescriptorUpdateEntries x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pDescriptorUpdateEntries})--        {-# INLINE vkPDescriptorUpdateEntriesByteOffset #-}-        vkPDescriptorUpdateEntriesByteOffset ~_-          = #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pDescriptorUpdateEntries}--        {-# INLINE readVkPDescriptorUpdateEntries #-}-        readVkPDescriptorUpdateEntries p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pDescriptorUpdateEntries}--        {-# INLINE writeVkPDescriptorUpdateEntries #-}-        writeVkPDescriptorUpdateEntries p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pDescriptorUpdateEntries}--instance {-# OVERLAPPING #-}-         HasField "pDescriptorUpdateEntries"-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        type FieldType "pDescriptorUpdateEntries"-               VkDescriptorUpdateTemplateCreateInfoKHR-             = Ptr VkDescriptorUpdateTemplateEntryKHR-        type FieldOptional "pDescriptorUpdateEntries"-               VkDescriptorUpdateTemplateCreateInfoKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pDescriptorUpdateEntries"-               VkDescriptorUpdateTemplateCreateInfoKHR-             =-             #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pDescriptorUpdateEntries}-        type FieldIsArray "pDescriptorUpdateEntries"-               VkDescriptorUpdateTemplateCreateInfoKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pDescriptorUpdateEntries}--instance CanReadField "pDescriptorUpdateEntries"-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkPDescriptorUpdateEntries--        {-# INLINE readField #-}-        readField = readVkPDescriptorUpdateEntries--instance CanWriteField "pDescriptorUpdateEntries"-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkPDescriptorUpdateEntries--instance {-# OVERLAPPING #-}-         HasVkTemplateType VkDescriptorUpdateTemplateCreateInfoKHR where-        type VkTemplateTypeMType VkDescriptorUpdateTemplateCreateInfoKHR =-             VkDescriptorUpdateTemplateTypeKHR--        {-# NOINLINE vkTemplateType #-}-        vkTemplateType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfoKHR, templateType})--        {-# INLINE vkTemplateTypeByteOffset #-}-        vkTemplateTypeByteOffset ~_-          = #{offset VkDescriptorUpdateTemplateCreateInfoKHR, templateType}--        {-# INLINE readVkTemplateType #-}-        readVkTemplateType p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfoKHR, templateType}--        {-# INLINE writeVkTemplateType #-}-        writeVkTemplateType p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfoKHR, templateType}--instance {-# OVERLAPPING #-}-         HasField "templateType" VkDescriptorUpdateTemplateCreateInfoKHR-         where-        type FieldType "templateType"-               VkDescriptorUpdateTemplateCreateInfoKHR-             = VkDescriptorUpdateTemplateTypeKHR-        type FieldOptional "templateType"-               VkDescriptorUpdateTemplateCreateInfoKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "templateType"-               VkDescriptorUpdateTemplateCreateInfoKHR-             =-             #{offset VkDescriptorUpdateTemplateCreateInfoKHR, templateType}-        type FieldIsArray "templateType"-               VkDescriptorUpdateTemplateCreateInfoKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateCreateInfoKHR, templateType}--instance CanReadField "templateType"-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkTemplateType--        {-# INLINE readField #-}-        readField = readVkTemplateType--instance CanWriteField "templateType"-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkTemplateType--instance {-# OVERLAPPING #-}-         HasVkDescriptorSetLayout VkDescriptorUpdateTemplateCreateInfoKHR-         where-        type VkDescriptorSetLayoutMType-               VkDescriptorUpdateTemplateCreateInfoKHR-             = VkDescriptorSetLayout--        {-# NOINLINE vkDescriptorSetLayout #-}-        vkDescriptorSetLayout x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfoKHR, descriptorSetLayout})--        {-# INLINE vkDescriptorSetLayoutByteOffset #-}-        vkDescriptorSetLayoutByteOffset ~_-          = #{offset VkDescriptorUpdateTemplateCreateInfoKHR, descriptorSetLayout}--        {-# INLINE readVkDescriptorSetLayout #-}-        readVkDescriptorSetLayout p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfoKHR, descriptorSetLayout}--        {-# INLINE writeVkDescriptorSetLayout #-}-        writeVkDescriptorSetLayout p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfoKHR, descriptorSetLayout}--instance {-# OVERLAPPING #-}-         HasField "descriptorSetLayout"-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        type FieldType "descriptorSetLayout"-               VkDescriptorUpdateTemplateCreateInfoKHR-             = VkDescriptorSetLayout-        type FieldOptional "descriptorSetLayout"-               VkDescriptorUpdateTemplateCreateInfoKHR-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "descriptorSetLayout"-               VkDescriptorUpdateTemplateCreateInfoKHR-             =-             #{offset VkDescriptorUpdateTemplateCreateInfoKHR, descriptorSetLayout}-        type FieldIsArray "descriptorSetLayout"-               VkDescriptorUpdateTemplateCreateInfoKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateCreateInfoKHR, descriptorSetLayout}--instance CanReadField "descriptorSetLayout"-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkDescriptorSetLayout--        {-# INLINE readField #-}-        readField = readVkDescriptorSetLayout--instance CanWriteField "descriptorSetLayout"-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkDescriptorSetLayout--instance {-# OVERLAPPING #-}-         HasVkPipelineBindPoint VkDescriptorUpdateTemplateCreateInfoKHR-         where-        type VkPipelineBindPointMType-               VkDescriptorUpdateTemplateCreateInfoKHR-             = VkPipelineBindPoint--        {-# NOINLINE vkPipelineBindPoint #-}-        vkPipelineBindPoint x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pipelineBindPoint})--        {-# INLINE vkPipelineBindPointByteOffset #-}-        vkPipelineBindPointByteOffset ~_-          = #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pipelineBindPoint}--        {-# INLINE readVkPipelineBindPoint #-}-        readVkPipelineBindPoint p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pipelineBindPoint}--        {-# INLINE writeVkPipelineBindPoint #-}-        writeVkPipelineBindPoint p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pipelineBindPoint}--instance {-# OVERLAPPING #-}-         HasField "pipelineBindPoint"-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        type FieldType "pipelineBindPoint"-               VkDescriptorUpdateTemplateCreateInfoKHR-             = VkPipelineBindPoint-        type FieldOptional "pipelineBindPoint"-               VkDescriptorUpdateTemplateCreateInfoKHR-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pipelineBindPoint"-               VkDescriptorUpdateTemplateCreateInfoKHR-             =-             #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pipelineBindPoint}-        type FieldIsArray "pipelineBindPoint"-               VkDescriptorUpdateTemplateCreateInfoKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pipelineBindPoint}--instance CanReadField "pipelineBindPoint"-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkPipelineBindPoint--        {-# INLINE readField #-}-        readField = readVkPipelineBindPoint--instance CanWriteField "pipelineBindPoint"-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkPipelineBindPoint--instance {-# OVERLAPPING #-}-         HasVkPipelineLayout VkDescriptorUpdateTemplateCreateInfoKHR where-        type VkPipelineLayoutMType VkDescriptorUpdateTemplateCreateInfoKHR-             = VkPipelineLayout--        {-# NOINLINE vkPipelineLayout #-}-        vkPipelineLayout x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pipelineLayout})--        {-# INLINE vkPipelineLayoutByteOffset #-}-        vkPipelineLayoutByteOffset ~_-          = #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pipelineLayout}--        {-# INLINE readVkPipelineLayout #-}-        readVkPipelineLayout p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pipelineLayout}--        {-# INLINE writeVkPipelineLayout #-}-        writeVkPipelineLayout p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pipelineLayout}--instance {-# OVERLAPPING #-}-         HasField "pipelineLayout" VkDescriptorUpdateTemplateCreateInfoKHR-         where-        type FieldType "pipelineLayout"-               VkDescriptorUpdateTemplateCreateInfoKHR-             = VkPipelineLayout-        type FieldOptional "pipelineLayout"-               VkDescriptorUpdateTemplateCreateInfoKHR-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "pipelineLayout"-               VkDescriptorUpdateTemplateCreateInfoKHR-             =-             #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pipelineLayout}-        type FieldIsArray "pipelineLayout"-               VkDescriptorUpdateTemplateCreateInfoKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateCreateInfoKHR, pipelineLayout}--instance CanReadField "pipelineLayout"-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkPipelineLayout--        {-# INLINE readField #-}-        readField = readVkPipelineLayout--instance CanWriteField "pipelineLayout"-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkPipelineLayout--instance {-# OVERLAPPING #-}-         HasVkSet VkDescriptorUpdateTemplateCreateInfoKHR where-        type VkSetMType VkDescriptorUpdateTemplateCreateInfoKHR = Word32--        {-# NOINLINE vkSet #-}-        vkSet x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfoKHR, set})--        {-# INLINE vkSetByteOffset #-}-        vkSetByteOffset ~_-          = #{offset VkDescriptorUpdateTemplateCreateInfoKHR, set}--        {-# INLINE readVkSet #-}-        readVkSet p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfoKHR, set}--        {-# INLINE writeVkSet #-}-        writeVkSet p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfoKHR, set}--instance {-# OVERLAPPING #-}-         HasField "set" VkDescriptorUpdateTemplateCreateInfoKHR where-        type FieldType "set" VkDescriptorUpdateTemplateCreateInfoKHR =-             Word32-        type FieldOptional "set" VkDescriptorUpdateTemplateCreateInfoKHR =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "set" VkDescriptorUpdateTemplateCreateInfoKHR =-             #{offset VkDescriptorUpdateTemplateCreateInfoKHR, set}-        type FieldIsArray "set" VkDescriptorUpdateTemplateCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateCreateInfoKHR, set}--instance CanReadField "set" VkDescriptorUpdateTemplateCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkSet--        {-# INLINE readField #-}-        readField = readVkSet--instance CanWriteField "set"-           VkDescriptorUpdateTemplateCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkSet--instance Show VkDescriptorUpdateTemplateCreateInfoKHR where-        showsPrec d x-          = showString "VkDescriptorUpdateTemplateCreateInfoKHR {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkFlags = " .-                            showsPrec d (vkFlags x) .-                              showString ", " .-                                showString "vkDescriptorUpdateEntryCount = " .-                                  showsPrec d (vkDescriptorUpdateEntryCount x) .-                                    showString ", " .-                                      showString "vkPDescriptorUpdateEntries = " .-                                        showsPrec d (vkPDescriptorUpdateEntries x) .-                                          showString ", " .-                                            showString "vkTemplateType = " .-                                              showsPrec d (vkTemplateType x) .-                                                showString ", " .-                                                  showString "vkDescriptorSetLayout = " .-                                                    showsPrec d (vkDescriptorSetLayout x) .-                                                      showString ", " .-                                                        showString "vkPipelineBindPoint = " .-                                                          showsPrec d (vkPipelineBindPoint x) .-                                                            showString ", " .-                                                              showString "vkPipelineLayout = " .-                                                                showsPrec d (vkPipelineLayout x) .-                                                                  showString ", " .-                                                                    showString "vkSet = " .-                                                                      showsPrec d (vkSet x) .-                                                                        showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorUpdateTemplateEntry.hsc view
@@ -0,0 +1,316 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateEntry+       (VkDescriptorUpdateTemplateEntry(..)) where+import           Foreign.Storable                            (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkDescriptorType (VkDescriptorType)+import           System.IO.Unsafe                            (unsafeDupablePerformIO)++-- | > typedef struct VkDescriptorUpdateTemplateEntry {+--   >     uint32_t                         dstBinding;+--   >     uint32_t                         dstArrayElement;+--   >     uint32_t                         descriptorCount;+--   >     VkDescriptorType                 descriptorType;+--   >     size_t                           offset;+--   >     size_t                           stride;+--   > } VkDescriptorUpdateTemplateEntry;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDescriptorUpdateTemplateEntry.html VkDescriptorUpdateTemplateEntry registry at www.khronos.org>+data VkDescriptorUpdateTemplateEntry = VkDescriptorUpdateTemplateEntry## Addr##+                                                                        ByteArray##++instance Eq VkDescriptorUpdateTemplateEntry where+        (VkDescriptorUpdateTemplateEntry## a _) ==+          x@(VkDescriptorUpdateTemplateEntry## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDescriptorUpdateTemplateEntry where+        (VkDescriptorUpdateTemplateEntry## a _) `compare`+          x@(VkDescriptorUpdateTemplateEntry## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDescriptorUpdateTemplateEntry where+        sizeOf ~_ = #{size VkDescriptorUpdateTemplateEntry}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDescriptorUpdateTemplateEntry}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDescriptorUpdateTemplateEntry where+        unsafeAddr (VkDescriptorUpdateTemplateEntry## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDescriptorUpdateTemplateEntry## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDescriptorUpdateTemplateEntry##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDescriptorUpdateTemplateEntry where+        type StructFields VkDescriptorUpdateTemplateEntry =+             '["dstBinding", "dstArrayElement", "descriptorCount", -- ' closing tick for hsc2hs+               "descriptorType", "offset", "stride"]+        type CUnionType VkDescriptorUpdateTemplateEntry = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDescriptorUpdateTemplateEntry = 'False -- ' closing tick for hsc2hs+        type StructExtends VkDescriptorUpdateTemplateEntry = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "dstBinding" VkDescriptorUpdateTemplateEntry where+        type FieldType "dstBinding" VkDescriptorUpdateTemplateEntry =+             Word32+        type FieldOptional "dstBinding" VkDescriptorUpdateTemplateEntry =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "dstBinding" VkDescriptorUpdateTemplateEntry =+             #{offset VkDescriptorUpdateTemplateEntry, dstBinding}+        type FieldIsArray "dstBinding" VkDescriptorUpdateTemplateEntry =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorUpdateTemplateEntry, dstBinding}++instance {-# OVERLAPPING #-}+         CanReadField "dstBinding" VkDescriptorUpdateTemplateEntry where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntry, dstBinding})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorUpdateTemplateEntry, dstBinding}++instance {-# OVERLAPPING #-}+         CanWriteField "dstBinding" VkDescriptorUpdateTemplateEntry where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntry, dstBinding}++instance {-# OVERLAPPING #-}+         HasField "dstArrayElement" VkDescriptorUpdateTemplateEntry where+        type FieldType "dstArrayElement" VkDescriptorUpdateTemplateEntry =+             Word32+        type FieldOptional "dstArrayElement"+               VkDescriptorUpdateTemplateEntry+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "dstArrayElement" VkDescriptorUpdateTemplateEntry+             =+             #{offset VkDescriptorUpdateTemplateEntry, dstArrayElement}+        type FieldIsArray "dstArrayElement" VkDescriptorUpdateTemplateEntry+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorUpdateTemplateEntry, dstArrayElement}++instance {-# OVERLAPPING #-}+         CanReadField "dstArrayElement" VkDescriptorUpdateTemplateEntry+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntry, dstArrayElement})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorUpdateTemplateEntry, dstArrayElement}++instance {-# OVERLAPPING #-}+         CanWriteField "dstArrayElement" VkDescriptorUpdateTemplateEntry+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntry, dstArrayElement}++instance {-# OVERLAPPING #-}+         HasField "descriptorCount" VkDescriptorUpdateTemplateEntry where+        type FieldType "descriptorCount" VkDescriptorUpdateTemplateEntry =+             Word32+        type FieldOptional "descriptorCount"+               VkDescriptorUpdateTemplateEntry+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "descriptorCount" VkDescriptorUpdateTemplateEntry+             =+             #{offset VkDescriptorUpdateTemplateEntry, descriptorCount}+        type FieldIsArray "descriptorCount" VkDescriptorUpdateTemplateEntry+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorUpdateTemplateEntry, descriptorCount}++instance {-# OVERLAPPING #-}+         CanReadField "descriptorCount" VkDescriptorUpdateTemplateEntry+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntry, descriptorCount})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorUpdateTemplateEntry, descriptorCount}++instance {-# OVERLAPPING #-}+         CanWriteField "descriptorCount" VkDescriptorUpdateTemplateEntry+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntry, descriptorCount}++instance {-# OVERLAPPING #-}+         HasField "descriptorType" VkDescriptorUpdateTemplateEntry where+        type FieldType "descriptorType" VkDescriptorUpdateTemplateEntry =+             VkDescriptorType+        type FieldOptional "descriptorType" VkDescriptorUpdateTemplateEntry+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "descriptorType" VkDescriptorUpdateTemplateEntry =+             #{offset VkDescriptorUpdateTemplateEntry, descriptorType}+        type FieldIsArray "descriptorType" VkDescriptorUpdateTemplateEntry+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorUpdateTemplateEntry, descriptorType}++instance {-# OVERLAPPING #-}+         CanReadField "descriptorType" VkDescriptorUpdateTemplateEntry where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntry, descriptorType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorUpdateTemplateEntry, descriptorType}++instance {-# OVERLAPPING #-}+         CanWriteField "descriptorType" VkDescriptorUpdateTemplateEntry+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntry, descriptorType}++instance {-# OVERLAPPING #-}+         HasField "offset" VkDescriptorUpdateTemplateEntry where+        type FieldType "offset" VkDescriptorUpdateTemplateEntry = CSize+        type FieldOptional "offset" VkDescriptorUpdateTemplateEntry =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "offset" VkDescriptorUpdateTemplateEntry =+             #{offset VkDescriptorUpdateTemplateEntry, offset}+        type FieldIsArray "offset" VkDescriptorUpdateTemplateEntry = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorUpdateTemplateEntry, offset}++instance {-# OVERLAPPING #-}+         CanReadField "offset" VkDescriptorUpdateTemplateEntry where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntry, offset})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorUpdateTemplateEntry, offset}++instance {-# OVERLAPPING #-}+         CanWriteField "offset" VkDescriptorUpdateTemplateEntry where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntry, offset}++instance {-# OVERLAPPING #-}+         HasField "stride" VkDescriptorUpdateTemplateEntry where+        type FieldType "stride" VkDescriptorUpdateTemplateEntry = CSize+        type FieldOptional "stride" VkDescriptorUpdateTemplateEntry =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "stride" VkDescriptorUpdateTemplateEntry =+             #{offset VkDescriptorUpdateTemplateEntry, stride}+        type FieldIsArray "stride" VkDescriptorUpdateTemplateEntry = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorUpdateTemplateEntry, stride}++instance {-# OVERLAPPING #-}+         CanReadField "stride" VkDescriptorUpdateTemplateEntry where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntry, stride})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDescriptorUpdateTemplateEntry, stride}++instance {-# OVERLAPPING #-}+         CanWriteField "stride" VkDescriptorUpdateTemplateEntry where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntry, stride}++instance Show VkDescriptorUpdateTemplateEntry where+        showsPrec d x+          = showString "VkDescriptorUpdateTemplateEntry {" .+              showString "dstBinding = " .+                showsPrec d (getField @"dstBinding" x) .+                  showString ", " .+                    showString "dstArrayElement = " .+                      showsPrec d (getField @"dstArrayElement" x) .+                        showString ", " .+                          showString "descriptorCount = " .+                            showsPrec d (getField @"descriptorCount" x) .+                              showString ", " .+                                showString "descriptorType = " .+                                  showsPrec d (getField @"descriptorType" x) .+                                    showString ", " .+                                      showString "offset = " .+                                        showsPrec d (getField @"offset" x) .+                                          showString ", " .+                                            showString "stride = " .+                                              showsPrec d (getField @"stride" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorUpdateTemplateEntryKHR.hs view
@@ -0,0 +1,11 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateEntryKHR+       (VkDescriptorUpdateTemplateEntry(..),+        VkDescriptorUpdateTemplateEntryKHR)+       where+import           Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateEntry (VkDescriptorUpdateTemplateEntry (..))++-- | Alias for `VkDescriptorUpdateTemplateEntry`+type VkDescriptorUpdateTemplateEntryKHR =+     VkDescriptorUpdateTemplateEntry
− src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorUpdateTemplateEntryKHR.hsc
@@ -1,435 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateEntryKHR-       (VkDescriptorUpdateTemplateEntryKHR(..)) where-import           Foreign.Storable                            (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkDescriptorType (VkDescriptorType)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                            (unsafeDupablePerformIO)---- | > typedef struct VkDescriptorUpdateTemplateEntryKHR {---   >     uint32_t                         dstBinding;---   >     uint32_t                         dstArrayElement;---   >     uint32_t                         descriptorCount;---   >     VkDescriptorType                 descriptorType;---   >     size_t                           offset;---   >     size_t                           stride;---   > } VkDescriptorUpdateTemplateEntryKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDescriptorUpdateTemplateEntryKHR.html VkDescriptorUpdateTemplateEntryKHR registry at www.khronos.org>-data VkDescriptorUpdateTemplateEntryKHR = VkDescriptorUpdateTemplateEntryKHR## Addr##-                                                                              ByteArray##--instance Eq VkDescriptorUpdateTemplateEntryKHR where-        (VkDescriptorUpdateTemplateEntryKHR## a _) ==-          x@(VkDescriptorUpdateTemplateEntryKHR## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkDescriptorUpdateTemplateEntryKHR where-        (VkDescriptorUpdateTemplateEntryKHR## a _) `compare`-          x@(VkDescriptorUpdateTemplateEntryKHR## b _)-          = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkDescriptorUpdateTemplateEntryKHR where-        sizeOf ~_ = #{size VkDescriptorUpdateTemplateEntryKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDescriptorUpdateTemplateEntryKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkDescriptorUpdateTemplateEntryKHR where-        unsafeAddr (VkDescriptorUpdateTemplateEntryKHR## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkDescriptorUpdateTemplateEntryKHR## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkDescriptorUpdateTemplateEntryKHR##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkDescriptorUpdateTemplateEntryKHR where-        type StructFields VkDescriptorUpdateTemplateEntryKHR =-             '["dstBinding", "dstArrayElement", "descriptorCount", -- ' closing tick for hsc2hs-               "descriptorType", "offset", "stride"]-        type CUnionType VkDescriptorUpdateTemplateEntryKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDescriptorUpdateTemplateEntryKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDescriptorUpdateTemplateEntryKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasVkDstBinding VkDescriptorUpdateTemplateEntryKHR where-        type VkDstBindingMType VkDescriptorUpdateTemplateEntryKHR = Word32--        {-# NOINLINE vkDstBinding #-}-        vkDstBinding x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntryKHR, dstBinding})--        {-# INLINE vkDstBindingByteOffset #-}-        vkDstBindingByteOffset ~_-          = #{offset VkDescriptorUpdateTemplateEntryKHR, dstBinding}--        {-# INLINE readVkDstBinding #-}-        readVkDstBinding p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateEntryKHR, dstBinding}--        {-# INLINE writeVkDstBinding #-}-        writeVkDstBinding p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntryKHR, dstBinding}--instance {-# OVERLAPPING #-}-         HasField "dstBinding" VkDescriptorUpdateTemplateEntryKHR where-        type FieldType "dstBinding" VkDescriptorUpdateTemplateEntryKHR =-             Word32-        type FieldOptional "dstBinding" VkDescriptorUpdateTemplateEntryKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dstBinding" VkDescriptorUpdateTemplateEntryKHR =-             #{offset VkDescriptorUpdateTemplateEntryKHR, dstBinding}-        type FieldIsArray "dstBinding" VkDescriptorUpdateTemplateEntryKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateEntryKHR, dstBinding}--instance CanReadField "dstBinding"-           VkDescriptorUpdateTemplateEntryKHR-         where-        {-# INLINE getField #-}-        getField = vkDstBinding--        {-# INLINE readField #-}-        readField = readVkDstBinding--instance CanWriteField "dstBinding"-           VkDescriptorUpdateTemplateEntryKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkDstBinding--instance {-# OVERLAPPING #-}-         HasVkDstArrayElement VkDescriptorUpdateTemplateEntryKHR where-        type VkDstArrayElementMType VkDescriptorUpdateTemplateEntryKHR =-             Word32--        {-# NOINLINE vkDstArrayElement #-}-        vkDstArrayElement x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntryKHR, dstArrayElement})--        {-# INLINE vkDstArrayElementByteOffset #-}-        vkDstArrayElementByteOffset ~_-          = #{offset VkDescriptorUpdateTemplateEntryKHR, dstArrayElement}--        {-# INLINE readVkDstArrayElement #-}-        readVkDstArrayElement p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateEntryKHR, dstArrayElement}--        {-# INLINE writeVkDstArrayElement #-}-        writeVkDstArrayElement p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntryKHR, dstArrayElement}--instance {-# OVERLAPPING #-}-         HasField "dstArrayElement" VkDescriptorUpdateTemplateEntryKHR where-        type FieldType "dstArrayElement" VkDescriptorUpdateTemplateEntryKHR-             = Word32-        type FieldOptional "dstArrayElement"-               VkDescriptorUpdateTemplateEntryKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "dstArrayElement"-               VkDescriptorUpdateTemplateEntryKHR-             =-             #{offset VkDescriptorUpdateTemplateEntryKHR, dstArrayElement}-        type FieldIsArray "dstArrayElement"-               VkDescriptorUpdateTemplateEntryKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateEntryKHR, dstArrayElement}--instance CanReadField "dstArrayElement"-           VkDescriptorUpdateTemplateEntryKHR-         where-        {-# INLINE getField #-}-        getField = vkDstArrayElement--        {-# INLINE readField #-}-        readField = readVkDstArrayElement--instance CanWriteField "dstArrayElement"-           VkDescriptorUpdateTemplateEntryKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkDstArrayElement--instance {-# OVERLAPPING #-}-         HasVkDescriptorCount VkDescriptorUpdateTemplateEntryKHR where-        type VkDescriptorCountMType VkDescriptorUpdateTemplateEntryKHR =-             Word32--        {-# NOINLINE vkDescriptorCount #-}-        vkDescriptorCount x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntryKHR, descriptorCount})--        {-# INLINE vkDescriptorCountByteOffset #-}-        vkDescriptorCountByteOffset ~_-          = #{offset VkDescriptorUpdateTemplateEntryKHR, descriptorCount}--        {-# INLINE readVkDescriptorCount #-}-        readVkDescriptorCount p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateEntryKHR, descriptorCount}--        {-# INLINE writeVkDescriptorCount #-}-        writeVkDescriptorCount p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntryKHR, descriptorCount}--instance {-# OVERLAPPING #-}-         HasField "descriptorCount" VkDescriptorUpdateTemplateEntryKHR where-        type FieldType "descriptorCount" VkDescriptorUpdateTemplateEntryKHR-             = Word32-        type FieldOptional "descriptorCount"-               VkDescriptorUpdateTemplateEntryKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "descriptorCount"-               VkDescriptorUpdateTemplateEntryKHR-             =-             #{offset VkDescriptorUpdateTemplateEntryKHR, descriptorCount}-        type FieldIsArray "descriptorCount"-               VkDescriptorUpdateTemplateEntryKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateEntryKHR, descriptorCount}--instance CanReadField "descriptorCount"-           VkDescriptorUpdateTemplateEntryKHR-         where-        {-# INLINE getField #-}-        getField = vkDescriptorCount--        {-# INLINE readField #-}-        readField = readVkDescriptorCount--instance CanWriteField "descriptorCount"-           VkDescriptorUpdateTemplateEntryKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkDescriptorCount--instance {-# OVERLAPPING #-}-         HasVkDescriptorType VkDescriptorUpdateTemplateEntryKHR where-        type VkDescriptorTypeMType VkDescriptorUpdateTemplateEntryKHR =-             VkDescriptorType--        {-# NOINLINE vkDescriptorType #-}-        vkDescriptorType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntryKHR, descriptorType})--        {-# INLINE vkDescriptorTypeByteOffset #-}-        vkDescriptorTypeByteOffset ~_-          = #{offset VkDescriptorUpdateTemplateEntryKHR, descriptorType}--        {-# INLINE readVkDescriptorType #-}-        readVkDescriptorType p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateEntryKHR, descriptorType}--        {-# INLINE writeVkDescriptorType #-}-        writeVkDescriptorType p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntryKHR, descriptorType}--instance {-# OVERLAPPING #-}-         HasField "descriptorType" VkDescriptorUpdateTemplateEntryKHR where-        type FieldType "descriptorType" VkDescriptorUpdateTemplateEntryKHR-             = VkDescriptorType-        type FieldOptional "descriptorType"-               VkDescriptorUpdateTemplateEntryKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "descriptorType"-               VkDescriptorUpdateTemplateEntryKHR-             =-             #{offset VkDescriptorUpdateTemplateEntryKHR, descriptorType}-        type FieldIsArray "descriptorType"-               VkDescriptorUpdateTemplateEntryKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateEntryKHR, descriptorType}--instance CanReadField "descriptorType"-           VkDescriptorUpdateTemplateEntryKHR-         where-        {-# INLINE getField #-}-        getField = vkDescriptorType--        {-# INLINE readField #-}-        readField = readVkDescriptorType--instance CanWriteField "descriptorType"-           VkDescriptorUpdateTemplateEntryKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkDescriptorType--instance {-# OVERLAPPING #-}-         HasVkOffset VkDescriptorUpdateTemplateEntryKHR where-        type VkOffsetMType VkDescriptorUpdateTemplateEntryKHR = CSize--        {-# NOINLINE vkOffset #-}-        vkOffset x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntryKHR, offset})--        {-# INLINE vkOffsetByteOffset #-}-        vkOffsetByteOffset ~_-          = #{offset VkDescriptorUpdateTemplateEntryKHR, offset}--        {-# INLINE readVkOffset #-}-        readVkOffset p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateEntryKHR, offset}--        {-# INLINE writeVkOffset #-}-        writeVkOffset p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntryKHR, offset}--instance {-# OVERLAPPING #-}-         HasField "offset" VkDescriptorUpdateTemplateEntryKHR where-        type FieldType "offset" VkDescriptorUpdateTemplateEntryKHR = CSize-        type FieldOptional "offset" VkDescriptorUpdateTemplateEntryKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "offset" VkDescriptorUpdateTemplateEntryKHR =-             #{offset VkDescriptorUpdateTemplateEntryKHR, offset}-        type FieldIsArray "offset" VkDescriptorUpdateTemplateEntryKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateEntryKHR, offset}--instance CanReadField "offset" VkDescriptorUpdateTemplateEntryKHR-         where-        {-# INLINE getField #-}-        getField = vkOffset--        {-# INLINE readField #-}-        readField = readVkOffset--instance CanWriteField "offset" VkDescriptorUpdateTemplateEntryKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkOffset--instance {-# OVERLAPPING #-}-         HasVkStride VkDescriptorUpdateTemplateEntryKHR where-        type VkStrideMType VkDescriptorUpdateTemplateEntryKHR = CSize--        {-# NOINLINE vkStride #-}-        vkStride x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntryKHR, stride})--        {-# INLINE vkStrideByteOffset #-}-        vkStrideByteOffset ~_-          = #{offset VkDescriptorUpdateTemplateEntryKHR, stride}--        {-# INLINE readVkStride #-}-        readVkStride p-          = peekByteOff p #{offset VkDescriptorUpdateTemplateEntryKHR, stride}--        {-# INLINE writeVkStride #-}-        writeVkStride p-          = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntryKHR, stride}--instance {-# OVERLAPPING #-}-         HasField "stride" VkDescriptorUpdateTemplateEntryKHR where-        type FieldType "stride" VkDescriptorUpdateTemplateEntryKHR = CSize-        type FieldOptional "stride" VkDescriptorUpdateTemplateEntryKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "stride" VkDescriptorUpdateTemplateEntryKHR =-             #{offset VkDescriptorUpdateTemplateEntryKHR, stride}-        type FieldIsArray "stride" VkDescriptorUpdateTemplateEntryKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDescriptorUpdateTemplateEntryKHR, stride}--instance CanReadField "stride" VkDescriptorUpdateTemplateEntryKHR-         where-        {-# INLINE getField #-}-        getField = vkStride--        {-# INLINE readField #-}-        readField = readVkStride--instance CanWriteField "stride" VkDescriptorUpdateTemplateEntryKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkStride--instance Show VkDescriptorUpdateTemplateEntryKHR where-        showsPrec d x-          = showString "VkDescriptorUpdateTemplateEntryKHR {" .-              showString "vkDstBinding = " .-                showsPrec d (vkDstBinding x) .-                  showString ", " .-                    showString "vkDstArrayElement = " .-                      showsPrec d (vkDstArrayElement x) .-                        showString ", " .-                          showString "vkDescriptorCount = " .-                            showsPrec d (vkDescriptorCount x) .-                              showString ", " .-                                showString "vkDescriptorType = " .-                                  showsPrec d (vkDescriptorType x) .-                                    showString ", " .-                                      showString "vkOffset = " .-                                        showsPrec d (vkOffset x) .-                                          showString ", " .-                                            showString "vkStride = " .-                                              showsPrec d (vkStride x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDeviceCreateInfo.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo        (VkDeviceCreateInfo(..)) where@@ -16,7 +17,6 @@ import           Graphics.Vulkan.Types.Enum.VkStructureType            (VkStructureType) import           Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo  (VkDeviceQueueCreateInfo) import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures (VkPhysicalDeviceFeatures)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                      (unsafeDupablePerformIO)  -- | > typedef struct VkDeviceCreateInfo {@@ -32,7 +32,7 @@ --   >     const VkPhysicalDeviceFeatures* pEnabledFeatures; --   > } VkDeviceCreateInfo; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDeviceCreateInfo.html VkDeviceCreateInfo registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDeviceCreateInfo.html VkDeviceCreateInfo registry at www.khronos.org> data VkDeviceCreateInfo = VkDeviceCreateInfo## Addr## ByteArray##  instance Eq VkDeviceCreateInfo where@@ -83,26 +83,6 @@         type ReturnedOnly VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs         type StructExtends VkDeviceCreateInfo = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSType VkDeviceCreateInfo where-        type VkSTypeMType VkDeviceCreateInfo = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDeviceCreateInfo, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDeviceCreateInfo, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDeviceCreateInfo, sType}- instance {-# OVERLAPPING #-} HasField "sType" VkDeviceCreateInfo          where         type FieldType "sType" VkDeviceCreateInfo = VkStructureType@@ -117,36 +97,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkDeviceCreateInfo, sType} -instance CanReadField "sType" VkDeviceCreateInfo where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDeviceCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkDeviceCreateInfo, sType} -instance CanWriteField "sType" VkDeviceCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDeviceCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkDeviceCreateInfo where-        type VkPNextMType VkDeviceCreateInfo = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDeviceCreateInfo, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDeviceCreateInfo, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDeviceCreateInfo, pNext}+        writeField p+          = pokeByteOff p #{offset VkDeviceCreateInfo, sType}  instance {-# OVERLAPPING #-} HasField "pNext" VkDeviceCreateInfo          where@@ -162,36 +128,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkDeviceCreateInfo, pNext} -instance CanReadField "pNext" VkDeviceCreateInfo where-        {-# INLINE getField #-}-        getField = vkPNext+instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDeviceCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, pNext})          {-# INLINE readField #-}-        readField = readVkPNext+        readField p+          = peekByteOff p #{offset VkDeviceCreateInfo, pNext} -instance CanWriteField "pNext" VkDeviceCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDeviceCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-} HasVkFlags VkDeviceCreateInfo where-        type VkFlagsMType VkDeviceCreateInfo = VkDeviceCreateFlags--        {-# NOINLINE vkFlags #-}-        vkFlags x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, flags})--        {-# INLINE vkFlagsByteOffset #-}-        vkFlagsByteOffset ~_-          = #{offset VkDeviceCreateInfo, flags}--        {-# INLINE readVkFlags #-}-        readVkFlags p-          = peekByteOff p #{offset VkDeviceCreateInfo, flags}--        {-# INLINE writeVkFlags #-}-        writeVkFlags p-          = pokeByteOff p #{offset VkDeviceCreateInfo, flags}+        writeField p+          = pokeByteOff p #{offset VkDeviceCreateInfo, pNext}  instance {-# OVERLAPPING #-} HasField "flags" VkDeviceCreateInfo          where@@ -207,37 +159,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkDeviceCreateInfo, flags} -instance CanReadField "flags" VkDeviceCreateInfo where-        {-# INLINE getField #-}-        getField = vkFlags--        {-# INLINE readField #-}-        readField = readVkFlags--instance CanWriteField "flags" VkDeviceCreateInfo where-        {-# INLINE writeField #-}-        writeField = writeVkFlags- instance {-# OVERLAPPING #-}-         HasVkQueueCreateInfoCount VkDeviceCreateInfo where-        type VkQueueCreateInfoCountMType VkDeviceCreateInfo = Word32--        {-# NOINLINE vkQueueCreateInfoCount #-}-        vkQueueCreateInfoCount x+         CanReadField "flags" VkDeviceCreateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, queueCreateInfoCount})--        {-# INLINE vkQueueCreateInfoCountByteOffset #-}-        vkQueueCreateInfoCountByteOffset ~_-          = #{offset VkDeviceCreateInfo, queueCreateInfoCount}+              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, flags}) -        {-# INLINE readVkQueueCreateInfoCount #-}-        readVkQueueCreateInfoCount p-          = peekByteOff p #{offset VkDeviceCreateInfo, queueCreateInfoCount}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceCreateInfo, flags} -        {-# INLINE writeVkQueueCreateInfoCount #-}-        writeVkQueueCreateInfoCount p-          = pokeByteOff p #{offset VkDeviceCreateInfo, queueCreateInfoCount}+instance {-# OVERLAPPING #-}+         CanWriteField "flags" VkDeviceCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceCreateInfo, flags}  instance {-# OVERLAPPING #-}          HasField "queueCreateInfoCount" VkDeviceCreateInfo where@@ -256,40 +193,22 @@         fieldOffset           = #{offset VkDeviceCreateInfo, queueCreateInfoCount} -instance CanReadField "queueCreateInfoCount" VkDeviceCreateInfo-         where-        {-# INLINE getField #-}-        getField = vkQueueCreateInfoCount--        {-# INLINE readField #-}-        readField = readVkQueueCreateInfoCount--instance CanWriteField "queueCreateInfoCount" VkDeviceCreateInfo-         where-        {-# INLINE writeField #-}-        writeField = writeVkQueueCreateInfoCount- instance {-# OVERLAPPING #-}-         HasVkPQueueCreateInfos VkDeviceCreateInfo where-        type VkPQueueCreateInfosMType VkDeviceCreateInfo =-             Ptr VkDeviceQueueCreateInfo--        {-# NOINLINE vkPQueueCreateInfos #-}-        vkPQueueCreateInfos x+         CanReadField "queueCreateInfoCount" VkDeviceCreateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, pQueueCreateInfos})--        {-# INLINE vkPQueueCreateInfosByteOffset #-}-        vkPQueueCreateInfosByteOffset ~_-          = #{offset VkDeviceCreateInfo, pQueueCreateInfos}+              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, queueCreateInfoCount}) -        {-# INLINE readVkPQueueCreateInfos #-}-        readVkPQueueCreateInfos p-          = peekByteOff p #{offset VkDeviceCreateInfo, pQueueCreateInfos}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceCreateInfo, queueCreateInfoCount} -        {-# INLINE writeVkPQueueCreateInfos #-}-        writeVkPQueueCreateInfos p-          = pokeByteOff p #{offset VkDeviceCreateInfo, pQueueCreateInfos}+instance {-# OVERLAPPING #-}+         CanWriteField "queueCreateInfoCount" VkDeviceCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceCreateInfo, queueCreateInfoCount}  instance {-# OVERLAPPING #-}          HasField "pQueueCreateInfos" VkDeviceCreateInfo where@@ -307,37 +226,22 @@         fieldOffset           = #{offset VkDeviceCreateInfo, pQueueCreateInfos} -instance CanReadField "pQueueCreateInfos" VkDeviceCreateInfo where-        {-# INLINE getField #-}-        getField = vkPQueueCreateInfos--        {-# INLINE readField #-}-        readField = readVkPQueueCreateInfos--instance CanWriteField "pQueueCreateInfos" VkDeviceCreateInfo where-        {-# INLINE writeField #-}-        writeField = writeVkPQueueCreateInfos- instance {-# OVERLAPPING #-}-         HasVkEnabledLayerCount VkDeviceCreateInfo where-        type VkEnabledLayerCountMType VkDeviceCreateInfo = Word32--        {-# NOINLINE vkEnabledLayerCount #-}-        vkEnabledLayerCount x+         CanReadField "pQueueCreateInfos" VkDeviceCreateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, enabledLayerCount})--        {-# INLINE vkEnabledLayerCountByteOffset #-}-        vkEnabledLayerCountByteOffset ~_-          = #{offset VkDeviceCreateInfo, enabledLayerCount}+              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, pQueueCreateInfos}) -        {-# INLINE readVkEnabledLayerCount #-}-        readVkEnabledLayerCount p-          = peekByteOff p #{offset VkDeviceCreateInfo, enabledLayerCount}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceCreateInfo, pQueueCreateInfos} -        {-# INLINE writeVkEnabledLayerCount #-}-        writeVkEnabledLayerCount p-          = pokeByteOff p #{offset VkDeviceCreateInfo, enabledLayerCount}+instance {-# OVERLAPPING #-}+         CanWriteField "pQueueCreateInfos" VkDeviceCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceCreateInfo, pQueueCreateInfos}  instance {-# OVERLAPPING #-}          HasField "enabledLayerCount" VkDeviceCreateInfo where@@ -354,37 +258,22 @@         fieldOffset           = #{offset VkDeviceCreateInfo, enabledLayerCount} -instance CanReadField "enabledLayerCount" VkDeviceCreateInfo where-        {-# INLINE getField #-}-        getField = vkEnabledLayerCount--        {-# INLINE readField #-}-        readField = readVkEnabledLayerCount--instance CanWriteField "enabledLayerCount" VkDeviceCreateInfo where-        {-# INLINE writeField #-}-        writeField = writeVkEnabledLayerCount- instance {-# OVERLAPPING #-}-         HasVkPpEnabledLayerNames VkDeviceCreateInfo where-        type VkPpEnabledLayerNamesMType VkDeviceCreateInfo = Ptr CString--        {-# NOINLINE vkPpEnabledLayerNames #-}-        vkPpEnabledLayerNames x+         CanReadField "enabledLayerCount" VkDeviceCreateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, ppEnabledLayerNames})--        {-# INLINE vkPpEnabledLayerNamesByteOffset #-}-        vkPpEnabledLayerNamesByteOffset ~_-          = #{offset VkDeviceCreateInfo, ppEnabledLayerNames}+              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, enabledLayerCount}) -        {-# INLINE readVkPpEnabledLayerNames #-}-        readVkPpEnabledLayerNames p-          = peekByteOff p #{offset VkDeviceCreateInfo, ppEnabledLayerNames}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceCreateInfo, enabledLayerCount} -        {-# INLINE writeVkPpEnabledLayerNames #-}-        writeVkPpEnabledLayerNames p-          = pokeByteOff p #{offset VkDeviceCreateInfo, ppEnabledLayerNames}+instance {-# OVERLAPPING #-}+         CanWriteField "enabledLayerCount" VkDeviceCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceCreateInfo, enabledLayerCount}  instance {-# OVERLAPPING #-}          HasField "ppEnabledLayerNames" VkDeviceCreateInfo where@@ -403,39 +292,22 @@         fieldOffset           = #{offset VkDeviceCreateInfo, ppEnabledLayerNames} -instance CanReadField "ppEnabledLayerNames" VkDeviceCreateInfo-         where-        {-# INLINE getField #-}-        getField = vkPpEnabledLayerNames--        {-# INLINE readField #-}-        readField = readVkPpEnabledLayerNames--instance CanWriteField "ppEnabledLayerNames" VkDeviceCreateInfo-         where-        {-# INLINE writeField #-}-        writeField = writeVkPpEnabledLayerNames- instance {-# OVERLAPPING #-}-         HasVkEnabledExtensionCount VkDeviceCreateInfo where-        type VkEnabledExtensionCountMType VkDeviceCreateInfo = Word32--        {-# NOINLINE vkEnabledExtensionCount #-}-        vkEnabledExtensionCount x+         CanReadField "ppEnabledLayerNames" VkDeviceCreateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, enabledExtensionCount})--        {-# INLINE vkEnabledExtensionCountByteOffset #-}-        vkEnabledExtensionCountByteOffset ~_-          = #{offset VkDeviceCreateInfo, enabledExtensionCount}+              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, ppEnabledLayerNames}) -        {-# INLINE readVkEnabledExtensionCount #-}-        readVkEnabledExtensionCount p-          = peekByteOff p #{offset VkDeviceCreateInfo, enabledExtensionCount}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceCreateInfo, ppEnabledLayerNames} -        {-# INLINE writeVkEnabledExtensionCount #-}-        writeVkEnabledExtensionCount p-          = pokeByteOff p #{offset VkDeviceCreateInfo, enabledExtensionCount}+instance {-# OVERLAPPING #-}+         CanWriteField "ppEnabledLayerNames" VkDeviceCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceCreateInfo, ppEnabledLayerNames}  instance {-# OVERLAPPING #-}          HasField "enabledExtensionCount" VkDeviceCreateInfo where@@ -454,40 +326,22 @@         fieldOffset           = #{offset VkDeviceCreateInfo, enabledExtensionCount} -instance CanReadField "enabledExtensionCount" VkDeviceCreateInfo-         where-        {-# INLINE getField #-}-        getField = vkEnabledExtensionCount--        {-# INLINE readField #-}-        readField = readVkEnabledExtensionCount--instance CanWriteField "enabledExtensionCount" VkDeviceCreateInfo-         where-        {-# INLINE writeField #-}-        writeField = writeVkEnabledExtensionCount- instance {-# OVERLAPPING #-}-         HasVkPpEnabledExtensionNames VkDeviceCreateInfo where-        type VkPpEnabledExtensionNamesMType VkDeviceCreateInfo =-             Ptr CString--        {-# NOINLINE vkPpEnabledExtensionNames #-}-        vkPpEnabledExtensionNames x+         CanReadField "enabledExtensionCount" VkDeviceCreateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, ppEnabledExtensionNames})--        {-# INLINE vkPpEnabledExtensionNamesByteOffset #-}-        vkPpEnabledExtensionNamesByteOffset ~_-          = #{offset VkDeviceCreateInfo, ppEnabledExtensionNames}+              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, enabledExtensionCount}) -        {-# INLINE readVkPpEnabledExtensionNames #-}-        readVkPpEnabledExtensionNames p-          = peekByteOff p #{offset VkDeviceCreateInfo, ppEnabledExtensionNames}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceCreateInfo, enabledExtensionCount} -        {-# INLINE writeVkPpEnabledExtensionNames #-}-        writeVkPpEnabledExtensionNames p-          = pokeByteOff p #{offset VkDeviceCreateInfo, ppEnabledExtensionNames}+instance {-# OVERLAPPING #-}+         CanWriteField "enabledExtensionCount" VkDeviceCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceCreateInfo, enabledExtensionCount}  instance {-# OVERLAPPING #-}          HasField "ppEnabledExtensionNames" VkDeviceCreateInfo where@@ -507,40 +361,22 @@         fieldOffset           = #{offset VkDeviceCreateInfo, ppEnabledExtensionNames} -instance CanReadField "ppEnabledExtensionNames" VkDeviceCreateInfo-         where-        {-# INLINE getField #-}-        getField = vkPpEnabledExtensionNames--        {-# INLINE readField #-}-        readField = readVkPpEnabledExtensionNames--instance CanWriteField "ppEnabledExtensionNames" VkDeviceCreateInfo-         where-        {-# INLINE writeField #-}-        writeField = writeVkPpEnabledExtensionNames- instance {-# OVERLAPPING #-}-         HasVkPEnabledFeatures VkDeviceCreateInfo where-        type VkPEnabledFeaturesMType VkDeviceCreateInfo =-             Ptr VkPhysicalDeviceFeatures--        {-# NOINLINE vkPEnabledFeatures #-}-        vkPEnabledFeatures x+         CanReadField "ppEnabledExtensionNames" VkDeviceCreateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, pEnabledFeatures})--        {-# INLINE vkPEnabledFeaturesByteOffset #-}-        vkPEnabledFeaturesByteOffset ~_-          = #{offset VkDeviceCreateInfo, pEnabledFeatures}+              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, ppEnabledExtensionNames}) -        {-# INLINE readVkPEnabledFeatures #-}-        readVkPEnabledFeatures p-          = peekByteOff p #{offset VkDeviceCreateInfo, pEnabledFeatures}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceCreateInfo, ppEnabledExtensionNames} -        {-# INLINE writeVkPEnabledFeatures #-}-        writeVkPEnabledFeatures p-          = pokeByteOff p #{offset VkDeviceCreateInfo, pEnabledFeatures}+instance {-# OVERLAPPING #-}+         CanWriteField "ppEnabledExtensionNames" VkDeviceCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceCreateInfo, ppEnabledExtensionNames}  instance {-# OVERLAPPING #-}          HasField "pEnabledFeatures" VkDeviceCreateInfo where@@ -558,54 +394,66 @@         fieldOffset           = #{offset VkDeviceCreateInfo, pEnabledFeatures} -instance CanReadField "pEnabledFeatures" VkDeviceCreateInfo where-        {-# INLINE getField #-}-        getField = vkPEnabledFeatures+instance {-# OVERLAPPING #-}+         CanReadField "pEnabledFeatures" VkDeviceCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, pEnabledFeatures})          {-# INLINE readField #-}-        readField = readVkPEnabledFeatures+        readField p+          = peekByteOff p #{offset VkDeviceCreateInfo, pEnabledFeatures} -instance CanWriteField "pEnabledFeatures" VkDeviceCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "pEnabledFeatures" VkDeviceCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkPEnabledFeatures+        writeField p+          = pokeByteOff p #{offset VkDeviceCreateInfo, pEnabledFeatures}  instance Show VkDeviceCreateInfo where         showsPrec d x           = showString "VkDeviceCreateInfo {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkFlags = " .-                            showsPrec d (vkFlags x) .+                          showString "flags = " .+                            showsPrec d (getField @"flags" x) .                               showString ", " .-                                showString "vkQueueCreateInfoCount = " .-                                  showsPrec d (vkQueueCreateInfoCount x) .+                                showString "queueCreateInfoCount = " .+                                  showsPrec d (getField @"queueCreateInfoCount" x) .                                     showString ", " .-                                      showString "vkPQueueCreateInfos = " .-                                        showsPrec d (vkPQueueCreateInfos x) .+                                      showString "pQueueCreateInfos = " .+                                        showsPrec d (getField @"pQueueCreateInfos" x) .                                           showString ", " .-                                            showString "vkEnabledLayerCount = " .-                                              showsPrec d (vkEnabledLayerCount x) .+                                            showString "enabledLayerCount = " .+                                              showsPrec d (getField @"enabledLayerCount" x) .                                                 showString ", " .-                                                  showString "vkPpEnabledLayerNames = " .-                                                    showsPrec d (vkPpEnabledLayerNames x) .+                                                  showString "ppEnabledLayerNames = " .+                                                    showsPrec d (getField @"ppEnabledLayerNames" x)+                                                      .                                                       showString ", " .-                                                        showString "vkEnabledExtensionCount = " .-                                                          showsPrec d (vkEnabledExtensionCount x) .+                                                        showString "enabledExtensionCount = " .+                                                          showsPrec d+                                                            (getField @"enabledExtensionCount" x)+                                                            .                                                             showString ", " .                                                               showString-                                                                "vkPpEnabledExtensionNames = "+                                                                "ppEnabledExtensionNames = "                                                                 .                                                                 showsPrec d-                                                                  (vkPpEnabledExtensionNames x)+                                                                  (getField+                                                                     @"ppEnabledExtensionNames"+                                                                     x)                                                                   .                                                                   showString ", " .-                                                                    showString-                                                                      "vkPEnabledFeatures = "+                                                                    showString "pEnabledFeatures = "                                                                       .                                                                       showsPrec d-                                                                        (vkPEnabledFeatures x)+                                                                        (getField+                                                                           @"pEnabledFeatures"+                                                                           x)                                                                         . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDeviceEventInfoEXT.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDeviceEventInfoEXT        (VkDeviceEventInfoEXT(..)) where@@ -14,7 +15,6 @@ import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.Enum.VkDeviceEventTypeEXT (VkDeviceEventTypeEXT) import           Graphics.Vulkan.Types.Enum.VkStructureType      (VkStructureType)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                (unsafeDupablePerformIO)  -- | > typedef struct VkDeviceEventInfoEXT {@@ -23,7 +23,7 @@ --   >     VkDeviceEventTypeEXT             deviceEvent; --   > } VkDeviceEventInfoEXT; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDeviceEventInfoEXT.html VkDeviceEventInfoEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDeviceEventInfoEXT.html VkDeviceEventInfoEXT registry at www.khronos.org> data VkDeviceEventInfoEXT = VkDeviceEventInfoEXT## Addr## ByteArray##  instance Eq VkDeviceEventInfoEXT where@@ -71,26 +71,6 @@         type ReturnedOnly VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs         type StructExtends VkDeviceEventInfoEXT = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSType VkDeviceEventInfoEXT where-        type VkSTypeMType VkDeviceEventInfoEXT = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceEventInfoEXT, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDeviceEventInfoEXT, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDeviceEventInfoEXT, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDeviceEventInfoEXT, sType}- instance {-# OVERLAPPING #-} HasField "sType" VkDeviceEventInfoEXT          where         type FieldType "sType" VkDeviceEventInfoEXT = VkStructureType@@ -105,36 +85,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkDeviceEventInfoEXT, sType} -instance CanReadField "sType" VkDeviceEventInfoEXT where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDeviceEventInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceEventInfoEXT, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkDeviceEventInfoEXT, sType} -instance CanWriteField "sType" VkDeviceEventInfoEXT where+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDeviceEventInfoEXT where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkDeviceEventInfoEXT where-        type VkPNextMType VkDeviceEventInfoEXT = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceEventInfoEXT, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDeviceEventInfoEXT, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDeviceEventInfoEXT, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDeviceEventInfoEXT, pNext}+        writeField p+          = pokeByteOff p #{offset VkDeviceEventInfoEXT, sType}  instance {-# OVERLAPPING #-} HasField "pNext" VkDeviceEventInfoEXT          where@@ -150,37 +116,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkDeviceEventInfoEXT, pNext} -instance CanReadField "pNext" VkDeviceEventInfoEXT where-        {-# INLINE getField #-}-        getField = vkPNext+instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDeviceEventInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceEventInfoEXT, pNext})          {-# INLINE readField #-}-        readField = readVkPNext+        readField p+          = peekByteOff p #{offset VkDeviceEventInfoEXT, pNext} -instance CanWriteField "pNext" VkDeviceEventInfoEXT where+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDeviceEventInfoEXT where         {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-} HasVkDeviceEvent VkDeviceEventInfoEXT-         where-        type VkDeviceEventMType VkDeviceEventInfoEXT = VkDeviceEventTypeEXT--        {-# NOINLINE vkDeviceEvent #-}-        vkDeviceEvent x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceEventInfoEXT, deviceEvent})--        {-# INLINE vkDeviceEventByteOffset #-}-        vkDeviceEventByteOffset ~_-          = #{offset VkDeviceEventInfoEXT, deviceEvent}--        {-# INLINE readVkDeviceEvent #-}-        readVkDeviceEvent p-          = peekByteOff p #{offset VkDeviceEventInfoEXT, deviceEvent}--        {-# INLINE writeVkDeviceEvent #-}-        writeVkDeviceEvent p-          = pokeByteOff p #{offset VkDeviceEventInfoEXT, deviceEvent}+        writeField p+          = pokeByteOff p #{offset VkDeviceEventInfoEXT, pNext}  instance {-# OVERLAPPING #-}          HasField "deviceEvent" VkDeviceEventInfoEXT where@@ -198,25 +149,31 @@         fieldOffset           = #{offset VkDeviceEventInfoEXT, deviceEvent} -instance CanReadField "deviceEvent" VkDeviceEventInfoEXT where-        {-# INLINE getField #-}-        getField = vkDeviceEvent+instance {-# OVERLAPPING #-}+         CanReadField "deviceEvent" VkDeviceEventInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceEventInfoEXT, deviceEvent})          {-# INLINE readField #-}-        readField = readVkDeviceEvent+        readField p+          = peekByteOff p #{offset VkDeviceEventInfoEXT, deviceEvent} -instance CanWriteField "deviceEvent" VkDeviceEventInfoEXT where+instance {-# OVERLAPPING #-}+         CanWriteField "deviceEvent" VkDeviceEventInfoEXT where         {-# INLINE writeField #-}-        writeField = writeVkDeviceEvent+        writeField p+          = pokeByteOff p #{offset VkDeviceEventInfoEXT, deviceEvent}  instance Show VkDeviceEventInfoEXT where         showsPrec d x           = showString "VkDeviceEventInfoEXT {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkDeviceEvent = " .-                            showsPrec d (vkDeviceEvent x) . showChar '}'+                          showString "deviceEvent = " .+                            showsPrec d (getField @"deviceEvent" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGeneratedCommandsFeaturesNVX.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDeviceGeneratedCommandsFeaturesNVX        (VkDeviceGeneratedCommandsFeaturesNVX(..)) where@@ -14,7 +15,6 @@ import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.BaseTypes            (VkBool32) import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                           (unsafeDupablePerformIO)  -- | > typedef struct VkDeviceGeneratedCommandsFeaturesNVX {@@ -23,7 +23,7 @@ --   >     VkBool32                         computeBindingPointSupport; --   > } VkDeviceGeneratedCommandsFeaturesNVX; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDeviceGeneratedCommandsFeaturesNVX.html VkDeviceGeneratedCommandsFeaturesNVX registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDeviceGeneratedCommandsFeaturesNVX.html VkDeviceGeneratedCommandsFeaturesNVX registry at www.khronos.org> data VkDeviceGeneratedCommandsFeaturesNVX = VkDeviceGeneratedCommandsFeaturesNVX## Addr##                                                                                   ByteArray## @@ -80,28 +80,6 @@         type StructExtends VkDeviceGeneratedCommandsFeaturesNVX = '[] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkSType VkDeviceGeneratedCommandsFeaturesNVX where-        type VkSTypeMType VkDeviceGeneratedCommandsFeaturesNVX =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsFeaturesNVX, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDeviceGeneratedCommandsFeaturesNVX, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, sType}--instance {-# OVERLAPPING #-}          HasField "sType" VkDeviceGeneratedCommandsFeaturesNVX where         type FieldType "sType" VkDeviceGeneratedCommandsFeaturesNVX =              VkStructureType@@ -119,39 +97,22 @@         fieldOffset           = #{offset VkDeviceGeneratedCommandsFeaturesNVX, sType} -instance CanReadField "sType" VkDeviceGeneratedCommandsFeaturesNVX-         where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkDeviceGeneratedCommandsFeaturesNVX-         where-        {-# INLINE writeField #-}-        writeField = writeVkSType- instance {-# OVERLAPPING #-}-         HasVkPNext VkDeviceGeneratedCommandsFeaturesNVX where-        type VkPNextMType VkDeviceGeneratedCommandsFeaturesNVX = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x+         CanReadField "sType" VkDeviceGeneratedCommandsFeaturesNVX where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext}+              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsFeaturesNVX, sType}) -        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, sType} -        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext}+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDeviceGeneratedCommandsFeaturesNVX where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkDeviceGeneratedCommandsFeaturesNVX where@@ -171,43 +132,22 @@         fieldOffset           = #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext} -instance CanReadField "pNext" VkDeviceGeneratedCommandsFeaturesNVX-         where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkDeviceGeneratedCommandsFeaturesNVX-         where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkComputeBindingPointSupport-           VkDeviceGeneratedCommandsFeaturesNVX-         where-        type VkComputeBindingPointSupportMType-               VkDeviceGeneratedCommandsFeaturesNVX-             = VkBool32--        {-# NOINLINE vkComputeBindingPointSupport #-}-        vkComputeBindingPointSupport x+         CanReadField "pNext" VkDeviceGeneratedCommandsFeaturesNVX where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport})--        {-# INLINE vkComputeBindingPointSupportByteOffset #-}-        vkComputeBindingPointSupportByteOffset ~_-          = #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport}+              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext}) -        {-# INLINE readVkComputeBindingPointSupport #-}-        readVkComputeBindingPointSupport p-          = peekByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext} -        {-# INLINE writeVkComputeBindingPointSupport #-}-        writeVkComputeBindingPointSupport p-          = pokeByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDeviceGeneratedCommandsFeaturesNVX where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext}  instance {-# OVERLAPPING #-}          HasField "computeBindingPointSupport"@@ -234,29 +174,36 @@         fieldOffset           = #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport} -instance CanReadField "computeBindingPointSupport"+instance {-# OVERLAPPING #-}+         CanReadField "computeBindingPointSupport"            VkDeviceGeneratedCommandsFeaturesNVX          where-        {-# INLINE getField #-}-        getField = vkComputeBindingPointSupport+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport})          {-# INLINE readField #-}-        readField = readVkComputeBindingPointSupport+        readField p+          = peekByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport} -instance CanWriteField "computeBindingPointSupport"+instance {-# OVERLAPPING #-}+         CanWriteField "computeBindingPointSupport"            VkDeviceGeneratedCommandsFeaturesNVX          where         {-# INLINE writeField #-}-        writeField = writeVkComputeBindingPointSupport+        writeField p+          = pokeByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport}  instance Show VkDeviceGeneratedCommandsFeaturesNVX where         showsPrec d x           = showString "VkDeviceGeneratedCommandsFeaturesNVX {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkComputeBindingPointSupport = " .-                            showsPrec d (vkComputeBindingPointSupport x) . showChar '}'+                          showString "computeBindingPointSupport = " .+                            showsPrec d (getField @"computeBindingPointSupport" x) .+                              showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGeneratedCommandsLimitsNVX.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDeviceGeneratedCommandsLimitsNVX        (VkDeviceGeneratedCommandsLimitsNVX(..)) where@@ -13,7 +14,6 @@ import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                           (unsafeDupablePerformIO)  -- | > typedef struct VkDeviceGeneratedCommandsLimitsNVX {@@ -26,7 +26,7 @@ --   >     uint32_t                         minCommandsTokenBufferOffsetAlignment; --   > } VkDeviceGeneratedCommandsLimitsNVX; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDeviceGeneratedCommandsLimitsNVX.html VkDeviceGeneratedCommandsLimitsNVX registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDeviceGeneratedCommandsLimitsNVX.html VkDeviceGeneratedCommandsLimitsNVX registry at www.khronos.org> data VkDeviceGeneratedCommandsLimitsNVX = VkDeviceGeneratedCommandsLimitsNVX## Addr##                                                                               ByteArray## @@ -84,28 +84,6 @@         type StructExtends VkDeviceGeneratedCommandsLimitsNVX = '[] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkSType VkDeviceGeneratedCommandsLimitsNVX where-        type VkSTypeMType VkDeviceGeneratedCommandsLimitsNVX =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDeviceGeneratedCommandsLimitsNVX, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, sType}--instance {-# OVERLAPPING #-}          HasField "sType" VkDeviceGeneratedCommandsLimitsNVX where         type FieldType "sType" VkDeviceGeneratedCommandsLimitsNVX =              VkStructureType@@ -123,39 +101,22 @@         fieldOffset           = #{offset VkDeviceGeneratedCommandsLimitsNVX, sType} -instance CanReadField "sType" VkDeviceGeneratedCommandsLimitsNVX-         where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkDeviceGeneratedCommandsLimitsNVX-         where-        {-# INLINE writeField #-}-        writeField = writeVkSType- instance {-# OVERLAPPING #-}-         HasVkPNext VkDeviceGeneratedCommandsLimitsNVX where-        type VkPNextMType VkDeviceGeneratedCommandsLimitsNVX = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x+         CanReadField "sType" VkDeviceGeneratedCommandsLimitsNVX where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext}+              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, sType}) -        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, sType} -        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext}+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDeviceGeneratedCommandsLimitsNVX where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkDeviceGeneratedCommandsLimitsNVX where@@ -175,43 +136,22 @@         fieldOffset           = #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext} -instance CanReadField "pNext" VkDeviceGeneratedCommandsLimitsNVX-         where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkDeviceGeneratedCommandsLimitsNVX-         where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkMaxIndirectCommandsLayoutTokenCount-           VkDeviceGeneratedCommandsLimitsNVX-         where-        type VkMaxIndirectCommandsLayoutTokenCountMType-               VkDeviceGeneratedCommandsLimitsNVX-             = Word32--        {-# NOINLINE vkMaxIndirectCommandsLayoutTokenCount #-}-        vkMaxIndirectCommandsLayoutTokenCount x+         CanReadField "pNext" VkDeviceGeneratedCommandsLimitsNVX where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount})--        {-# INLINE vkMaxIndirectCommandsLayoutTokenCountByteOffset #-}-        vkMaxIndirectCommandsLayoutTokenCountByteOffset ~_-          = #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount}+              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext}) -        {-# INLINE readVkMaxIndirectCommandsLayoutTokenCount #-}-        readVkMaxIndirectCommandsLayoutTokenCount p-          = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext} -        {-# INLINE writeVkMaxIndirectCommandsLayoutTokenCount #-}-        writeVkMaxIndirectCommandsLayoutTokenCount p-          = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDeviceGeneratedCommandsLimitsNVX where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext}  instance {-# OVERLAPPING #-}          HasField "maxIndirectCommandsLayoutTokenCount"@@ -238,42 +178,26 @@         fieldOffset           = #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount} -instance CanReadField "maxIndirectCommandsLayoutTokenCount"+instance {-# OVERLAPPING #-}+         CanReadField "maxIndirectCommandsLayoutTokenCount"            VkDeviceGeneratedCommandsLimitsNVX          where-        {-# INLINE getField #-}-        getField = vkMaxIndirectCommandsLayoutTokenCount+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount})          {-# INLINE readField #-}-        readField = readVkMaxIndirectCommandsLayoutTokenCount+        readField p+          = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount} -instance CanWriteField "maxIndirectCommandsLayoutTokenCount"+instance {-# OVERLAPPING #-}+         CanWriteField "maxIndirectCommandsLayoutTokenCount"            VkDeviceGeneratedCommandsLimitsNVX          where         {-# INLINE writeField #-}-        writeField = writeVkMaxIndirectCommandsLayoutTokenCount--instance {-# OVERLAPPING #-}-         HasVkMaxObjectEntryCounts VkDeviceGeneratedCommandsLimitsNVX where-        type VkMaxObjectEntryCountsMType VkDeviceGeneratedCommandsLimitsNVX-             = Word32--        {-# NOINLINE vkMaxObjectEntryCounts #-}-        vkMaxObjectEntryCounts x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, maxObjectEntryCounts})--        {-# INLINE vkMaxObjectEntryCountsByteOffset #-}-        vkMaxObjectEntryCountsByteOffset ~_-          = #{offset VkDeviceGeneratedCommandsLimitsNVX, maxObjectEntryCounts}--        {-# INLINE readVkMaxObjectEntryCounts #-}-        readVkMaxObjectEntryCounts p-          = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, maxObjectEntryCounts}--        {-# INLINE writeVkMaxObjectEntryCounts #-}-        writeVkMaxObjectEntryCounts p-          = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, maxObjectEntryCounts}+        writeField p+          = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount}  instance {-# OVERLAPPING #-}          HasField "maxObjectEntryCounts" VkDeviceGeneratedCommandsLimitsNVX@@ -299,45 +223,26 @@         fieldOffset           = #{offset VkDeviceGeneratedCommandsLimitsNVX, maxObjectEntryCounts} -instance CanReadField "maxObjectEntryCounts"+instance {-# OVERLAPPING #-}+         CanReadField "maxObjectEntryCounts"            VkDeviceGeneratedCommandsLimitsNVX          where-        {-# INLINE getField #-}-        getField = vkMaxObjectEntryCounts+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, maxObjectEntryCounts})          {-# INLINE readField #-}-        readField = readVkMaxObjectEntryCounts--instance CanWriteField "maxObjectEntryCounts"-           VkDeviceGeneratedCommandsLimitsNVX-         where-        {-# INLINE writeField #-}-        writeField = writeVkMaxObjectEntryCounts+        readField p+          = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, maxObjectEntryCounts}  instance {-# OVERLAPPING #-}-         HasVkMinSequenceCountBufferOffsetAlignment+         CanWriteField "maxObjectEntryCounts"            VkDeviceGeneratedCommandsLimitsNVX          where-        type VkMinSequenceCountBufferOffsetAlignmentMType-               VkDeviceGeneratedCommandsLimitsNVX-             = Word32--        {-# NOINLINE vkMinSequenceCountBufferOffsetAlignment #-}-        vkMinSequenceCountBufferOffsetAlignment x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceCountBufferOffsetAlignment})--        {-# INLINE vkMinSequenceCountBufferOffsetAlignmentByteOffset #-}-        vkMinSequenceCountBufferOffsetAlignmentByteOffset ~_-          = #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceCountBufferOffsetAlignment}--        {-# INLINE readVkMinSequenceCountBufferOffsetAlignment #-}-        readVkMinSequenceCountBufferOffsetAlignment p-          = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceCountBufferOffsetAlignment}--        {-# INLINE writeVkMinSequenceCountBufferOffsetAlignment #-}-        writeVkMinSequenceCountBufferOffsetAlignment p-          = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceCountBufferOffsetAlignment}+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, maxObjectEntryCounts}  instance {-# OVERLAPPING #-}          HasField "minSequenceCountBufferOffsetAlignment"@@ -364,45 +269,26 @@         fieldOffset           = #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceCountBufferOffsetAlignment} -instance CanReadField "minSequenceCountBufferOffsetAlignment"+instance {-# OVERLAPPING #-}+         CanReadField "minSequenceCountBufferOffsetAlignment"            VkDeviceGeneratedCommandsLimitsNVX          where-        {-# INLINE getField #-}-        getField = vkMinSequenceCountBufferOffsetAlignment+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceCountBufferOffsetAlignment})          {-# INLINE readField #-}-        readField = readVkMinSequenceCountBufferOffsetAlignment--instance CanWriteField "minSequenceCountBufferOffsetAlignment"-           VkDeviceGeneratedCommandsLimitsNVX-         where-        {-# INLINE writeField #-}-        writeField = writeVkMinSequenceCountBufferOffsetAlignment+        readField p+          = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceCountBufferOffsetAlignment}  instance {-# OVERLAPPING #-}-         HasVkMinSequenceIndexBufferOffsetAlignment+         CanWriteField "minSequenceCountBufferOffsetAlignment"            VkDeviceGeneratedCommandsLimitsNVX          where-        type VkMinSequenceIndexBufferOffsetAlignmentMType-               VkDeviceGeneratedCommandsLimitsNVX-             = Word32--        {-# NOINLINE vkMinSequenceIndexBufferOffsetAlignment #-}-        vkMinSequenceIndexBufferOffsetAlignment x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceIndexBufferOffsetAlignment})--        {-# INLINE vkMinSequenceIndexBufferOffsetAlignmentByteOffset #-}-        vkMinSequenceIndexBufferOffsetAlignmentByteOffset ~_-          = #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceIndexBufferOffsetAlignment}--        {-# INLINE readVkMinSequenceIndexBufferOffsetAlignment #-}-        readVkMinSequenceIndexBufferOffsetAlignment p-          = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceIndexBufferOffsetAlignment}--        {-# INLINE writeVkMinSequenceIndexBufferOffsetAlignment #-}-        writeVkMinSequenceIndexBufferOffsetAlignment p-          = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceIndexBufferOffsetAlignment}+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceCountBufferOffsetAlignment}  instance {-# OVERLAPPING #-}          HasField "minSequenceIndexBufferOffsetAlignment"@@ -429,45 +315,26 @@         fieldOffset           = #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceIndexBufferOffsetAlignment} -instance CanReadField "minSequenceIndexBufferOffsetAlignment"+instance {-# OVERLAPPING #-}+         CanReadField "minSequenceIndexBufferOffsetAlignment"            VkDeviceGeneratedCommandsLimitsNVX          where-        {-# INLINE getField #-}-        getField = vkMinSequenceIndexBufferOffsetAlignment+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceIndexBufferOffsetAlignment})          {-# INLINE readField #-}-        readField = readVkMinSequenceIndexBufferOffsetAlignment--instance CanWriteField "minSequenceIndexBufferOffsetAlignment"-           VkDeviceGeneratedCommandsLimitsNVX-         where-        {-# INLINE writeField #-}-        writeField = writeVkMinSequenceIndexBufferOffsetAlignment+        readField p+          = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceIndexBufferOffsetAlignment}  instance {-# OVERLAPPING #-}-         HasVkMinCommandsTokenBufferOffsetAlignment+         CanWriteField "minSequenceIndexBufferOffsetAlignment"            VkDeviceGeneratedCommandsLimitsNVX          where-        type VkMinCommandsTokenBufferOffsetAlignmentMType-               VkDeviceGeneratedCommandsLimitsNVX-             = Word32--        {-# NOINLINE vkMinCommandsTokenBufferOffsetAlignment #-}-        vkMinCommandsTokenBufferOffsetAlignment x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, minCommandsTokenBufferOffsetAlignment})--        {-# INLINE vkMinCommandsTokenBufferOffsetAlignmentByteOffset #-}-        vkMinCommandsTokenBufferOffsetAlignmentByteOffset ~_-          = #{offset VkDeviceGeneratedCommandsLimitsNVX, minCommandsTokenBufferOffsetAlignment}--        {-# INLINE readVkMinCommandsTokenBufferOffsetAlignment #-}-        readVkMinCommandsTokenBufferOffsetAlignment p-          = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minCommandsTokenBufferOffsetAlignment}--        {-# INLINE writeVkMinCommandsTokenBufferOffsetAlignment #-}-        writeVkMinCommandsTokenBufferOffsetAlignment p-          = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minCommandsTokenBufferOffsetAlignment}+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceIndexBufferOffsetAlignment}  instance {-# OVERLAPPING #-}          HasField "minCommandsTokenBufferOffsetAlignment"@@ -494,48 +361,58 @@         fieldOffset           = #{offset VkDeviceGeneratedCommandsLimitsNVX, minCommandsTokenBufferOffsetAlignment} -instance CanReadField "minCommandsTokenBufferOffsetAlignment"+instance {-# OVERLAPPING #-}+         CanReadField "minCommandsTokenBufferOffsetAlignment"            VkDeviceGeneratedCommandsLimitsNVX          where-        {-# INLINE getField #-}-        getField = vkMinCommandsTokenBufferOffsetAlignment+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, minCommandsTokenBufferOffsetAlignment})          {-# INLINE readField #-}-        readField = readVkMinCommandsTokenBufferOffsetAlignment+        readField p+          = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minCommandsTokenBufferOffsetAlignment} -instance CanWriteField "minCommandsTokenBufferOffsetAlignment"+instance {-# OVERLAPPING #-}+         CanWriteField "minCommandsTokenBufferOffsetAlignment"            VkDeviceGeneratedCommandsLimitsNVX          where         {-# INLINE writeField #-}-        writeField = writeVkMinCommandsTokenBufferOffsetAlignment+        writeField p+          = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minCommandsTokenBufferOffsetAlignment}  instance Show VkDeviceGeneratedCommandsLimitsNVX where         showsPrec d x           = showString "VkDeviceGeneratedCommandsLimitsNVX {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkMaxIndirectCommandsLayoutTokenCount = " .-                            showsPrec d (vkMaxIndirectCommandsLayoutTokenCount x) .+                          showString "maxIndirectCommandsLayoutTokenCount = " .+                            showsPrec d (getField @"maxIndirectCommandsLayoutTokenCount" x) .                               showString ", " .-                                showString "vkMaxObjectEntryCounts = " .-                                  showsPrec d (vkMaxObjectEntryCounts x) .+                                showString "maxObjectEntryCounts = " .+                                  showsPrec d (getField @"maxObjectEntryCounts" x) .                                     showString ", " .-                                      showString "vkMinSequenceCountBufferOffsetAlignment = " .-                                        showsPrec d (vkMinSequenceCountBufferOffsetAlignment x) .+                                      showString "minSequenceCountBufferOffsetAlignment = " .+                                        showsPrec d+                                          (getField @"minSequenceCountBufferOffsetAlignment" x)+                                          .                                           showString ", " .-                                            showString "vkMinSequenceIndexBufferOffsetAlignment = "-                                              .+                                            showString "minSequenceIndexBufferOffsetAlignment = " .                                               showsPrec d-                                                (vkMinSequenceIndexBufferOffsetAlignment x)+                                                (getField @"minSequenceIndexBufferOffsetAlignment"+                                                   x)                                                 .                                                 showString ", " .                                                   showString-                                                    "vkMinCommandsTokenBufferOffsetAlignment = "+                                                    "minCommandsTokenBufferOffsetAlignment = "                                                     .                                                     showsPrec d-                                                      (vkMinCommandsTokenBufferOffsetAlignment x)+                                                      (getField+                                                         @"minCommandsTokenBufferOffsetAlignment"+                                                         x)                                                       . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupBindSparseInfo.hsc view
@@ -0,0 +1,232 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDeviceGroupBindSparseInfo+       (VkDeviceGroupBindSparseInfo(..)) where+import           Foreign.Storable                              (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkStructureType    (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkBindSparseInfo (VkBindSparseInfo)+import           System.IO.Unsafe                              (unsafeDupablePerformIO)++-- | > typedef struct VkDeviceGroupBindSparseInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t                         resourceDeviceIndex;+--   >     uint32_t                         memoryDeviceIndex;+--   > } VkDeviceGroupBindSparseInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDeviceGroupBindSparseInfo.html VkDeviceGroupBindSparseInfo registry at www.khronos.org>+data VkDeviceGroupBindSparseInfo = VkDeviceGroupBindSparseInfo## Addr##+                                                                ByteArray##++instance Eq VkDeviceGroupBindSparseInfo where+        (VkDeviceGroupBindSparseInfo## a _) ==+          x@(VkDeviceGroupBindSparseInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDeviceGroupBindSparseInfo where+        (VkDeviceGroupBindSparseInfo## a _) `compare`+          x@(VkDeviceGroupBindSparseInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDeviceGroupBindSparseInfo where+        sizeOf ~_ = #{size VkDeviceGroupBindSparseInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDeviceGroupBindSparseInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceGroupBindSparseInfo where+        unsafeAddr (VkDeviceGroupBindSparseInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDeviceGroupBindSparseInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDeviceGroupBindSparseInfo##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceGroupBindSparseInfo where+        type StructFields VkDeviceGroupBindSparseInfo =+             '["sType", "pNext", "resourceDeviceIndex", "memoryDeviceIndex"] -- ' closing tick for hsc2hs+        type CUnionType VkDeviceGroupBindSparseInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDeviceGroupBindSparseInfo = 'False -- ' closing tick for hsc2hs+        type StructExtends VkDeviceGroupBindSparseInfo =+             '[VkBindSparseInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkDeviceGroupBindSparseInfo where+        type FieldType "sType" VkDeviceGroupBindSparseInfo =+             VkStructureType+        type FieldOptional "sType" VkDeviceGroupBindSparseInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDeviceGroupBindSparseInfo =+             #{offset VkDeviceGroupBindSparseInfo, sType}+        type FieldIsArray "sType" VkDeviceGroupBindSparseInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupBindSparseInfo, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDeviceGroupBindSparseInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupBindSparseInfo, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupBindSparseInfo, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDeviceGroupBindSparseInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupBindSparseInfo, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDeviceGroupBindSparseInfo where+        type FieldType "pNext" VkDeviceGroupBindSparseInfo = Ptr Void+        type FieldOptional "pNext" VkDeviceGroupBindSparseInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDeviceGroupBindSparseInfo =+             #{offset VkDeviceGroupBindSparseInfo, pNext}+        type FieldIsArray "pNext" VkDeviceGroupBindSparseInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupBindSparseInfo, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDeviceGroupBindSparseInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupBindSparseInfo, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupBindSparseInfo, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDeviceGroupBindSparseInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupBindSparseInfo, pNext}++instance {-# OVERLAPPING #-}+         HasField "resourceDeviceIndex" VkDeviceGroupBindSparseInfo where+        type FieldType "resourceDeviceIndex" VkDeviceGroupBindSparseInfo =+             Word32+        type FieldOptional "resourceDeviceIndex"+               VkDeviceGroupBindSparseInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "resourceDeviceIndex" VkDeviceGroupBindSparseInfo+             =+             #{offset VkDeviceGroupBindSparseInfo, resourceDeviceIndex}+        type FieldIsArray "resourceDeviceIndex" VkDeviceGroupBindSparseInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupBindSparseInfo, resourceDeviceIndex}++instance {-# OVERLAPPING #-}+         CanReadField "resourceDeviceIndex" VkDeviceGroupBindSparseInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupBindSparseInfo, resourceDeviceIndex})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupBindSparseInfo, resourceDeviceIndex}++instance {-# OVERLAPPING #-}+         CanWriteField "resourceDeviceIndex" VkDeviceGroupBindSparseInfo+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupBindSparseInfo, resourceDeviceIndex}++instance {-# OVERLAPPING #-}+         HasField "memoryDeviceIndex" VkDeviceGroupBindSparseInfo where+        type FieldType "memoryDeviceIndex" VkDeviceGroupBindSparseInfo =+             Word32+        type FieldOptional "memoryDeviceIndex" VkDeviceGroupBindSparseInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "memoryDeviceIndex" VkDeviceGroupBindSparseInfo =+             #{offset VkDeviceGroupBindSparseInfo, memoryDeviceIndex}+        type FieldIsArray "memoryDeviceIndex" VkDeviceGroupBindSparseInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupBindSparseInfo, memoryDeviceIndex}++instance {-# OVERLAPPING #-}+         CanReadField "memoryDeviceIndex" VkDeviceGroupBindSparseInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupBindSparseInfo, memoryDeviceIndex})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupBindSparseInfo, memoryDeviceIndex}++instance {-# OVERLAPPING #-}+         CanWriteField "memoryDeviceIndex" VkDeviceGroupBindSparseInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupBindSparseInfo, memoryDeviceIndex}++instance Show VkDeviceGroupBindSparseInfo where+        showsPrec d x+          = showString "VkDeviceGroupBindSparseInfo {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "resourceDeviceIndex = " .+                            showsPrec d (getField @"resourceDeviceIndex" x) .+                              showString ", " .+                                showString "memoryDeviceIndex = " .+                                  showsPrec d (getField @"memoryDeviceIndex" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupBindSparseInfoKHR.hs view
@@ -0,0 +1,9 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Struct.VkDeviceGroupBindSparseInfoKHR+       (VkDeviceGroupBindSparseInfo(..), VkDeviceGroupBindSparseInfoKHR)+       where+import           Graphics.Vulkan.Types.Struct.VkDeviceGroupBindSparseInfo (VkDeviceGroupBindSparseInfo (..))++-- | Alias for `VkDeviceGroupBindSparseInfo`+type VkDeviceGroupBindSparseInfoKHR = VkDeviceGroupBindSparseInfo
− src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupBindSparseInfoKHX.hsc
@@ -1,306 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkDeviceGroupBindSparseInfoKHX-       (VkDeviceGroupBindSparseInfoKHX(..)) where-import           Foreign.Storable                              (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkStructureType    (VkStructureType)-import           Graphics.Vulkan.Types.Struct.VkBindSparseInfo (VkBindSparseInfo)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                              (unsafeDupablePerformIO)---- | > typedef struct VkDeviceGroupBindSparseInfoKHX {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t                         resourceDeviceIndex;---   >     uint32_t                         memoryDeviceIndex;---   > } VkDeviceGroupBindSparseInfoKHX;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDeviceGroupBindSparseInfoKHX.html VkDeviceGroupBindSparseInfoKHX registry at www.khronos.org>-data VkDeviceGroupBindSparseInfoKHX = VkDeviceGroupBindSparseInfoKHX## Addr##-                                                                      ByteArray##--instance Eq VkDeviceGroupBindSparseInfoKHX where-        (VkDeviceGroupBindSparseInfoKHX## a _) ==-          x@(VkDeviceGroupBindSparseInfoKHX## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkDeviceGroupBindSparseInfoKHX where-        (VkDeviceGroupBindSparseInfoKHX## a _) `compare`-          x@(VkDeviceGroupBindSparseInfoKHX## b _) = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkDeviceGroupBindSparseInfoKHX where-        sizeOf ~_ = #{size VkDeviceGroupBindSparseInfoKHX}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDeviceGroupBindSparseInfoKHX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkDeviceGroupBindSparseInfoKHX where-        unsafeAddr (VkDeviceGroupBindSparseInfoKHX## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkDeviceGroupBindSparseInfoKHX## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkDeviceGroupBindSparseInfoKHX##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkDeviceGroupBindSparseInfoKHX where-        type StructFields VkDeviceGroupBindSparseInfoKHX =-             '["sType", "pNext", "resourceDeviceIndex", "memoryDeviceIndex"] -- ' closing tick for hsc2hs-        type CUnionType VkDeviceGroupBindSparseInfoKHX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDeviceGroupBindSparseInfoKHX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDeviceGroupBindSparseInfoKHX =-             '[VkBindSparseInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasVkSType VkDeviceGroupBindSparseInfoKHX where-        type VkSTypeMType VkDeviceGroupBindSparseInfoKHX = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupBindSparseInfoKHX, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDeviceGroupBindSparseInfoKHX, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDeviceGroupBindSparseInfoKHX, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDeviceGroupBindSparseInfoKHX, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkDeviceGroupBindSparseInfoKHX where-        type FieldType "sType" VkDeviceGroupBindSparseInfoKHX =-             VkStructureType-        type FieldOptional "sType" VkDeviceGroupBindSparseInfoKHX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDeviceGroupBindSparseInfoKHX =-             #{offset VkDeviceGroupBindSparseInfoKHX, sType}-        type FieldIsArray "sType" VkDeviceGroupBindSparseInfoKHX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupBindSparseInfoKHX, sType}--instance CanReadField "sType" VkDeviceGroupBindSparseInfoKHX where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkDeviceGroupBindSparseInfoKHX where-        {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-}-         HasVkPNext VkDeviceGroupBindSparseInfoKHX where-        type VkPNextMType VkDeviceGroupBindSparseInfoKHX = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupBindSparseInfoKHX, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDeviceGroupBindSparseInfoKHX, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDeviceGroupBindSparseInfoKHX, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDeviceGroupBindSparseInfoKHX, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDeviceGroupBindSparseInfoKHX where-        type FieldType "pNext" VkDeviceGroupBindSparseInfoKHX = Ptr Void-        type FieldOptional "pNext" VkDeviceGroupBindSparseInfoKHX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDeviceGroupBindSparseInfoKHX =-             #{offset VkDeviceGroupBindSparseInfoKHX, pNext}-        type FieldIsArray "pNext" VkDeviceGroupBindSparseInfoKHX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupBindSparseInfoKHX, pNext}--instance CanReadField "pNext" VkDeviceGroupBindSparseInfoKHX where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkDeviceGroupBindSparseInfoKHX where-        {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-}-         HasVkResourceDeviceIndex VkDeviceGroupBindSparseInfoKHX where-        type VkResourceDeviceIndexMType VkDeviceGroupBindSparseInfoKHX =-             Word32--        {-# NOINLINE vkResourceDeviceIndex #-}-        vkResourceDeviceIndex x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupBindSparseInfoKHX, resourceDeviceIndex})--        {-# INLINE vkResourceDeviceIndexByteOffset #-}-        vkResourceDeviceIndexByteOffset ~_-          = #{offset VkDeviceGroupBindSparseInfoKHX, resourceDeviceIndex}--        {-# INLINE readVkResourceDeviceIndex #-}-        readVkResourceDeviceIndex p-          = peekByteOff p #{offset VkDeviceGroupBindSparseInfoKHX, resourceDeviceIndex}--        {-# INLINE writeVkResourceDeviceIndex #-}-        writeVkResourceDeviceIndex p-          = pokeByteOff p #{offset VkDeviceGroupBindSparseInfoKHX, resourceDeviceIndex}--instance {-# OVERLAPPING #-}-         HasField "resourceDeviceIndex" VkDeviceGroupBindSparseInfoKHX where-        type FieldType "resourceDeviceIndex" VkDeviceGroupBindSparseInfoKHX-             = Word32-        type FieldOptional "resourceDeviceIndex"-               VkDeviceGroupBindSparseInfoKHX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "resourceDeviceIndex"-               VkDeviceGroupBindSparseInfoKHX-             =-             #{offset VkDeviceGroupBindSparseInfoKHX, resourceDeviceIndex}-        type FieldIsArray "resourceDeviceIndex"-               VkDeviceGroupBindSparseInfoKHX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupBindSparseInfoKHX, resourceDeviceIndex}--instance CanReadField "resourceDeviceIndex"-           VkDeviceGroupBindSparseInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkResourceDeviceIndex--        {-# INLINE readField #-}-        readField = readVkResourceDeviceIndex--instance CanWriteField "resourceDeviceIndex"-           VkDeviceGroupBindSparseInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkResourceDeviceIndex--instance {-# OVERLAPPING #-}-         HasVkMemoryDeviceIndex VkDeviceGroupBindSparseInfoKHX where-        type VkMemoryDeviceIndexMType VkDeviceGroupBindSparseInfoKHX =-             Word32--        {-# NOINLINE vkMemoryDeviceIndex #-}-        vkMemoryDeviceIndex x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupBindSparseInfoKHX, memoryDeviceIndex})--        {-# INLINE vkMemoryDeviceIndexByteOffset #-}-        vkMemoryDeviceIndexByteOffset ~_-          = #{offset VkDeviceGroupBindSparseInfoKHX, memoryDeviceIndex}--        {-# INLINE readVkMemoryDeviceIndex #-}-        readVkMemoryDeviceIndex p-          = peekByteOff p #{offset VkDeviceGroupBindSparseInfoKHX, memoryDeviceIndex}--        {-# INLINE writeVkMemoryDeviceIndex #-}-        writeVkMemoryDeviceIndex p-          = pokeByteOff p #{offset VkDeviceGroupBindSparseInfoKHX, memoryDeviceIndex}--instance {-# OVERLAPPING #-}-         HasField "memoryDeviceIndex" VkDeviceGroupBindSparseInfoKHX where-        type FieldType "memoryDeviceIndex" VkDeviceGroupBindSparseInfoKHX =-             Word32-        type FieldOptional "memoryDeviceIndex"-               VkDeviceGroupBindSparseInfoKHX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "memoryDeviceIndex" VkDeviceGroupBindSparseInfoKHX-             =-             #{offset VkDeviceGroupBindSparseInfoKHX, memoryDeviceIndex}-        type FieldIsArray "memoryDeviceIndex"-               VkDeviceGroupBindSparseInfoKHX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupBindSparseInfoKHX, memoryDeviceIndex}--instance CanReadField "memoryDeviceIndex"-           VkDeviceGroupBindSparseInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkMemoryDeviceIndex--        {-# INLINE readField #-}-        readField = readVkMemoryDeviceIndex--instance CanWriteField "memoryDeviceIndex"-           VkDeviceGroupBindSparseInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkMemoryDeviceIndex--instance Show VkDeviceGroupBindSparseInfoKHX where-        showsPrec d x-          = showString "VkDeviceGroupBindSparseInfoKHX {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkResourceDeviceIndex = " .-                            showsPrec d (vkResourceDeviceIndex x) .-                              showString ", " .-                                showString "vkMemoryDeviceIndex = " .-                                  showsPrec d (vkMemoryDeviceIndex x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupCommandBufferBeginInfo.hsc view
@@ -0,0 +1,198 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDeviceGroupCommandBufferBeginInfo+       (VkDeviceGroupCommandBufferBeginInfo(..)) where+import           Foreign.Storable                                      (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkStructureType            (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkCommandBufferBeginInfo (VkCommandBufferBeginInfo)+import           System.IO.Unsafe                                      (unsafeDupablePerformIO)++-- | > typedef struct VkDeviceGroupCommandBufferBeginInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t                         deviceMask;+--   > } VkDeviceGroupCommandBufferBeginInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDeviceGroupCommandBufferBeginInfo.html VkDeviceGroupCommandBufferBeginInfo registry at www.khronos.org>+data VkDeviceGroupCommandBufferBeginInfo = VkDeviceGroupCommandBufferBeginInfo## Addr##+                                                                                ByteArray##++instance Eq VkDeviceGroupCommandBufferBeginInfo where+        (VkDeviceGroupCommandBufferBeginInfo## a _) ==+          x@(VkDeviceGroupCommandBufferBeginInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDeviceGroupCommandBufferBeginInfo where+        (VkDeviceGroupCommandBufferBeginInfo## a _) `compare`+          x@(VkDeviceGroupCommandBufferBeginInfo## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDeviceGroupCommandBufferBeginInfo where+        sizeOf ~_ = #{size VkDeviceGroupCommandBufferBeginInfo}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDeviceGroupCommandBufferBeginInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceGroupCommandBufferBeginInfo+         where+        unsafeAddr (VkDeviceGroupCommandBufferBeginInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDeviceGroupCommandBufferBeginInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDeviceGroupCommandBufferBeginInfo##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceGroupCommandBufferBeginInfo where+        type StructFields VkDeviceGroupCommandBufferBeginInfo =+             '["sType", "pNext", "deviceMask"] -- ' closing tick for hsc2hs+        type CUnionType VkDeviceGroupCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDeviceGroupCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs+        type StructExtends VkDeviceGroupCommandBufferBeginInfo =+             '[VkCommandBufferBeginInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkDeviceGroupCommandBufferBeginInfo where+        type FieldType "sType" VkDeviceGroupCommandBufferBeginInfo =+             VkStructureType+        type FieldOptional "sType" VkDeviceGroupCommandBufferBeginInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDeviceGroupCommandBufferBeginInfo =+             #{offset VkDeviceGroupCommandBufferBeginInfo, sType}+        type FieldIsArray "sType" VkDeviceGroupCommandBufferBeginInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupCommandBufferBeginInfo, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDeviceGroupCommandBufferBeginInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupCommandBufferBeginInfo, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupCommandBufferBeginInfo, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDeviceGroupCommandBufferBeginInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupCommandBufferBeginInfo, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDeviceGroupCommandBufferBeginInfo where+        type FieldType "pNext" VkDeviceGroupCommandBufferBeginInfo =+             Ptr Void+        type FieldOptional "pNext" VkDeviceGroupCommandBufferBeginInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDeviceGroupCommandBufferBeginInfo =+             #{offset VkDeviceGroupCommandBufferBeginInfo, pNext}+        type FieldIsArray "pNext" VkDeviceGroupCommandBufferBeginInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupCommandBufferBeginInfo, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDeviceGroupCommandBufferBeginInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupCommandBufferBeginInfo, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupCommandBufferBeginInfo, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDeviceGroupCommandBufferBeginInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupCommandBufferBeginInfo, pNext}++instance {-# OVERLAPPING #-}+         HasField "deviceMask" VkDeviceGroupCommandBufferBeginInfo where+        type FieldType "deviceMask" VkDeviceGroupCommandBufferBeginInfo =+             Word32+        type FieldOptional "deviceMask" VkDeviceGroupCommandBufferBeginInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "deviceMask" VkDeviceGroupCommandBufferBeginInfo =+             #{offset VkDeviceGroupCommandBufferBeginInfo, deviceMask}+        type FieldIsArray "deviceMask" VkDeviceGroupCommandBufferBeginInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupCommandBufferBeginInfo, deviceMask}++instance {-# OVERLAPPING #-}+         CanReadField "deviceMask" VkDeviceGroupCommandBufferBeginInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupCommandBufferBeginInfo, deviceMask})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupCommandBufferBeginInfo, deviceMask}++instance {-# OVERLAPPING #-}+         CanWriteField "deviceMask" VkDeviceGroupCommandBufferBeginInfo+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupCommandBufferBeginInfo, deviceMask}++instance Show VkDeviceGroupCommandBufferBeginInfo where+        showsPrec d x+          = showString "VkDeviceGroupCommandBufferBeginInfo {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "deviceMask = " .+                            showsPrec d (getField @"deviceMask" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupCommandBufferBeginInfoKHR.hs view
@@ -0,0 +1,12 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Struct.VkDeviceGroupCommandBufferBeginInfoKHR+       (VkDeviceGroupCommandBufferBeginInfo(..),+        VkDeviceGroupCommandBufferBeginInfoKHR)+       where+import           Graphics.Vulkan.Types.Struct.VkDeviceGroupCommandBufferBeginInfo+                                                                                   (VkDeviceGroupCommandBufferBeginInfo (..))++-- | Alias for `VkDeviceGroupCommandBufferBeginInfo`+type VkDeviceGroupCommandBufferBeginInfoKHR =+     VkDeviceGroupCommandBufferBeginInfo
− src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupCommandBufferBeginInfoKHX.hsc
@@ -1,261 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkDeviceGroupCommandBufferBeginInfoKHX-       (VkDeviceGroupCommandBufferBeginInfoKHX(..)) where-import           Foreign.Storable                                      (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkStructureType            (VkStructureType)-import           Graphics.Vulkan.Types.Struct.VkCommandBufferBeginInfo (VkCommandBufferBeginInfo)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                                      (unsafeDupablePerformIO)---- | > typedef struct VkDeviceGroupCommandBufferBeginInfoKHX {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t                         deviceMask;---   > } VkDeviceGroupCommandBufferBeginInfoKHX;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDeviceGroupCommandBufferBeginInfoKHX.html VkDeviceGroupCommandBufferBeginInfoKHX registry at www.khronos.org>-data VkDeviceGroupCommandBufferBeginInfoKHX = VkDeviceGroupCommandBufferBeginInfoKHX## Addr##-                                                                                      ByteArray##--instance Eq VkDeviceGroupCommandBufferBeginInfoKHX where-        (VkDeviceGroupCommandBufferBeginInfoKHX## a _) ==-          x@(VkDeviceGroupCommandBufferBeginInfoKHX## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkDeviceGroupCommandBufferBeginInfoKHX where-        (VkDeviceGroupCommandBufferBeginInfoKHX## a _) `compare`-          x@(VkDeviceGroupCommandBufferBeginInfoKHX## b _)-          = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkDeviceGroupCommandBufferBeginInfoKHX where-        sizeOf ~_-          = #{size VkDeviceGroupCommandBufferBeginInfoKHX}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDeviceGroupCommandBufferBeginInfoKHX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkDeviceGroupCommandBufferBeginInfoKHX-         where-        unsafeAddr (VkDeviceGroupCommandBufferBeginInfoKHX## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkDeviceGroupCommandBufferBeginInfoKHX## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkDeviceGroupCommandBufferBeginInfoKHX##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkDeviceGroupCommandBufferBeginInfoKHX where-        type StructFields VkDeviceGroupCommandBufferBeginInfoKHX =-             '["sType", "pNext", "deviceMask"] -- ' closing tick for hsc2hs-        type CUnionType VkDeviceGroupCommandBufferBeginInfoKHX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDeviceGroupCommandBufferBeginInfoKHX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDeviceGroupCommandBufferBeginInfoKHX =-             '[VkCommandBufferBeginInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasVkSType VkDeviceGroupCommandBufferBeginInfoKHX where-        type VkSTypeMType VkDeviceGroupCommandBufferBeginInfoKHX =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupCommandBufferBeginInfoKHX, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDeviceGroupCommandBufferBeginInfoKHX, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDeviceGroupCommandBufferBeginInfoKHX, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDeviceGroupCommandBufferBeginInfoKHX, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkDeviceGroupCommandBufferBeginInfoKHX where-        type FieldType "sType" VkDeviceGroupCommandBufferBeginInfoKHX =-             VkStructureType-        type FieldOptional "sType" VkDeviceGroupCommandBufferBeginInfoKHX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDeviceGroupCommandBufferBeginInfoKHX =-             #{offset VkDeviceGroupCommandBufferBeginInfoKHX, sType}-        type FieldIsArray "sType" VkDeviceGroupCommandBufferBeginInfoKHX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupCommandBufferBeginInfoKHX, sType}--instance CanReadField "sType"-           VkDeviceGroupCommandBufferBeginInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType"-           VkDeviceGroupCommandBufferBeginInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-}-         HasVkPNext VkDeviceGroupCommandBufferBeginInfoKHX where-        type VkPNextMType VkDeviceGroupCommandBufferBeginInfoKHX = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupCommandBufferBeginInfoKHX, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDeviceGroupCommandBufferBeginInfoKHX, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDeviceGroupCommandBufferBeginInfoKHX, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDeviceGroupCommandBufferBeginInfoKHX, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDeviceGroupCommandBufferBeginInfoKHX where-        type FieldType "pNext" VkDeviceGroupCommandBufferBeginInfoKHX =-             Ptr Void-        type FieldOptional "pNext" VkDeviceGroupCommandBufferBeginInfoKHX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDeviceGroupCommandBufferBeginInfoKHX =-             #{offset VkDeviceGroupCommandBufferBeginInfoKHX, pNext}-        type FieldIsArray "pNext" VkDeviceGroupCommandBufferBeginInfoKHX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupCommandBufferBeginInfoKHX, pNext}--instance CanReadField "pNext"-           VkDeviceGroupCommandBufferBeginInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext"-           VkDeviceGroupCommandBufferBeginInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-}-         HasVkDeviceMask VkDeviceGroupCommandBufferBeginInfoKHX where-        type VkDeviceMaskMType VkDeviceGroupCommandBufferBeginInfoKHX =-             Word32--        {-# NOINLINE vkDeviceMask #-}-        vkDeviceMask x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupCommandBufferBeginInfoKHX, deviceMask})--        {-# INLINE vkDeviceMaskByteOffset #-}-        vkDeviceMaskByteOffset ~_-          = #{offset VkDeviceGroupCommandBufferBeginInfoKHX, deviceMask}--        {-# INLINE readVkDeviceMask #-}-        readVkDeviceMask p-          = peekByteOff p #{offset VkDeviceGroupCommandBufferBeginInfoKHX, deviceMask}--        {-# INLINE writeVkDeviceMask #-}-        writeVkDeviceMask p-          = pokeByteOff p #{offset VkDeviceGroupCommandBufferBeginInfoKHX, deviceMask}--instance {-# OVERLAPPING #-}-         HasField "deviceMask" VkDeviceGroupCommandBufferBeginInfoKHX where-        type FieldType "deviceMask" VkDeviceGroupCommandBufferBeginInfoKHX-             = Word32-        type FieldOptional "deviceMask"-               VkDeviceGroupCommandBufferBeginInfoKHX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "deviceMask"-               VkDeviceGroupCommandBufferBeginInfoKHX-             =-             #{offset VkDeviceGroupCommandBufferBeginInfoKHX, deviceMask}-        type FieldIsArray "deviceMask"-               VkDeviceGroupCommandBufferBeginInfoKHX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupCommandBufferBeginInfoKHX, deviceMask}--instance CanReadField "deviceMask"-           VkDeviceGroupCommandBufferBeginInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkDeviceMask--        {-# INLINE readField #-}-        readField = readVkDeviceMask--instance CanWriteField "deviceMask"-           VkDeviceGroupCommandBufferBeginInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkDeviceMask--instance Show VkDeviceGroupCommandBufferBeginInfoKHX where-        showsPrec d x-          = showString "VkDeviceGroupCommandBufferBeginInfoKHX {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkDeviceMask = " .-                            showsPrec d (vkDeviceMask x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupDeviceCreateInfo.hsc view
@@ -0,0 +1,237 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDeviceGroupDeviceCreateInfo+       (VkDeviceGroupDeviceCreateInfo(..)) where+import           Foreign.Storable                                (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkStructureType      (VkStructureType)+import           Graphics.Vulkan.Types.Handles                   (VkPhysicalDevice)+import           Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo (VkDeviceCreateInfo)+import           System.IO.Unsafe                                (unsafeDupablePerformIO)++-- | > typedef struct VkDeviceGroupDeviceCreateInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t                         physicalDeviceCount;+--   >     const VkPhysicalDevice*  pPhysicalDevices;+--   > } VkDeviceGroupDeviceCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDeviceGroupDeviceCreateInfo.html VkDeviceGroupDeviceCreateInfo registry at www.khronos.org>+data VkDeviceGroupDeviceCreateInfo = VkDeviceGroupDeviceCreateInfo## Addr##+                                                                    ByteArray##++instance Eq VkDeviceGroupDeviceCreateInfo where+        (VkDeviceGroupDeviceCreateInfo## a _) ==+          x@(VkDeviceGroupDeviceCreateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDeviceGroupDeviceCreateInfo where+        (VkDeviceGroupDeviceCreateInfo## a _) `compare`+          x@(VkDeviceGroupDeviceCreateInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDeviceGroupDeviceCreateInfo where+        sizeOf ~_ = #{size VkDeviceGroupDeviceCreateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDeviceGroupDeviceCreateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceGroupDeviceCreateInfo where+        unsafeAddr (VkDeviceGroupDeviceCreateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDeviceGroupDeviceCreateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDeviceGroupDeviceCreateInfo##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceGroupDeviceCreateInfo where+        type StructFields VkDeviceGroupDeviceCreateInfo =+             '["sType", "pNext", "physicalDeviceCount", "pPhysicalDevices"] -- ' closing tick for hsc2hs+        type CUnionType VkDeviceGroupDeviceCreateInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDeviceGroupDeviceCreateInfo = 'False -- ' closing tick for hsc2hs+        type StructExtends VkDeviceGroupDeviceCreateInfo =+             '[VkDeviceCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkDeviceGroupDeviceCreateInfo where+        type FieldType "sType" VkDeviceGroupDeviceCreateInfo =+             VkStructureType+        type FieldOptional "sType" VkDeviceGroupDeviceCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDeviceGroupDeviceCreateInfo =+             #{offset VkDeviceGroupDeviceCreateInfo, sType}+        type FieldIsArray "sType" VkDeviceGroupDeviceCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupDeviceCreateInfo, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDeviceGroupDeviceCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupDeviceCreateInfo, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupDeviceCreateInfo, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDeviceGroupDeviceCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupDeviceCreateInfo, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDeviceGroupDeviceCreateInfo where+        type FieldType "pNext" VkDeviceGroupDeviceCreateInfo = Ptr Void+        type FieldOptional "pNext" VkDeviceGroupDeviceCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDeviceGroupDeviceCreateInfo =+             #{offset VkDeviceGroupDeviceCreateInfo, pNext}+        type FieldIsArray "pNext" VkDeviceGroupDeviceCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupDeviceCreateInfo, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDeviceGroupDeviceCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupDeviceCreateInfo, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupDeviceCreateInfo, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDeviceGroupDeviceCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupDeviceCreateInfo, pNext}++instance {-# OVERLAPPING #-}+         HasField "physicalDeviceCount" VkDeviceGroupDeviceCreateInfo where+        type FieldType "physicalDeviceCount" VkDeviceGroupDeviceCreateInfo+             = Word32+        type FieldOptional "physicalDeviceCount"+               VkDeviceGroupDeviceCreateInfo+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "physicalDeviceCount"+               VkDeviceGroupDeviceCreateInfo+             =+             #{offset VkDeviceGroupDeviceCreateInfo, physicalDeviceCount}+        type FieldIsArray "physicalDeviceCount"+               VkDeviceGroupDeviceCreateInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupDeviceCreateInfo, physicalDeviceCount}++instance {-# OVERLAPPING #-}+         CanReadField "physicalDeviceCount" VkDeviceGroupDeviceCreateInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupDeviceCreateInfo, physicalDeviceCount})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupDeviceCreateInfo, physicalDeviceCount}++instance {-# OVERLAPPING #-}+         CanWriteField "physicalDeviceCount" VkDeviceGroupDeviceCreateInfo+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupDeviceCreateInfo, physicalDeviceCount}++instance {-# OVERLAPPING #-}+         HasField "pPhysicalDevices" VkDeviceGroupDeviceCreateInfo where+        type FieldType "pPhysicalDevices" VkDeviceGroupDeviceCreateInfo =+             Ptr VkPhysicalDevice+        type FieldOptional "pPhysicalDevices" VkDeviceGroupDeviceCreateInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pPhysicalDevices" VkDeviceGroupDeviceCreateInfo =+             #{offset VkDeviceGroupDeviceCreateInfo, pPhysicalDevices}+        type FieldIsArray "pPhysicalDevices" VkDeviceGroupDeviceCreateInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupDeviceCreateInfo, pPhysicalDevices}++instance {-# OVERLAPPING #-}+         CanReadField "pPhysicalDevices" VkDeviceGroupDeviceCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupDeviceCreateInfo, pPhysicalDevices})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupDeviceCreateInfo, pPhysicalDevices}++instance {-# OVERLAPPING #-}+         CanWriteField "pPhysicalDevices" VkDeviceGroupDeviceCreateInfo+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupDeviceCreateInfo, pPhysicalDevices}++instance Show VkDeviceGroupDeviceCreateInfo where+        showsPrec d x+          = showString "VkDeviceGroupDeviceCreateInfo {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "physicalDeviceCount = " .+                            showsPrec d (getField @"physicalDeviceCount" x) .+                              showString ", " .+                                showString "pPhysicalDevices = " .+                                  showsPrec d (getField @"pPhysicalDevices" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupDeviceCreateInfoKHR.hs view
@@ -0,0 +1,11 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Struct.VkDeviceGroupDeviceCreateInfoKHR+       (VkDeviceGroupDeviceCreateInfo(..),+        VkDeviceGroupDeviceCreateInfoKHR)+       where+import           Graphics.Vulkan.Types.Struct.VkDeviceGroupDeviceCreateInfo (VkDeviceGroupDeviceCreateInfo (..))++-- | Alias for `VkDeviceGroupDeviceCreateInfo`+type VkDeviceGroupDeviceCreateInfoKHR =+     VkDeviceGroupDeviceCreateInfo
− src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupDeviceCreateInfoKHX.hsc
@@ -1,318 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkDeviceGroupDeviceCreateInfoKHX-       (VkDeviceGroupDeviceCreateInfoKHX(..)) where-import           Foreign.Storable                                (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkStructureType      (VkStructureType)-import           Graphics.Vulkan.Types.Handles                   (VkPhysicalDevice)-import           Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo (VkDeviceCreateInfo)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                                (unsafeDupablePerformIO)---- | > typedef struct VkDeviceGroupDeviceCreateInfoKHX {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t                         physicalDeviceCount;---   >     const VkPhysicalDevice*  pPhysicalDevices;---   > } VkDeviceGroupDeviceCreateInfoKHX;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDeviceGroupDeviceCreateInfoKHX.html VkDeviceGroupDeviceCreateInfoKHX registry at www.khronos.org>-data VkDeviceGroupDeviceCreateInfoKHX = VkDeviceGroupDeviceCreateInfoKHX## Addr##-                                                                          ByteArray##--instance Eq VkDeviceGroupDeviceCreateInfoKHX where-        (VkDeviceGroupDeviceCreateInfoKHX## a _) ==-          x@(VkDeviceGroupDeviceCreateInfoKHX## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkDeviceGroupDeviceCreateInfoKHX where-        (VkDeviceGroupDeviceCreateInfoKHX## a _) `compare`-          x@(VkDeviceGroupDeviceCreateInfoKHX## b _)-          = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkDeviceGroupDeviceCreateInfoKHX where-        sizeOf ~_ = #{size VkDeviceGroupDeviceCreateInfoKHX}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDeviceGroupDeviceCreateInfoKHX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkDeviceGroupDeviceCreateInfoKHX where-        unsafeAddr (VkDeviceGroupDeviceCreateInfoKHX## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkDeviceGroupDeviceCreateInfoKHX## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkDeviceGroupDeviceCreateInfoKHX##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkDeviceGroupDeviceCreateInfoKHX where-        type StructFields VkDeviceGroupDeviceCreateInfoKHX =-             '["sType", "pNext", "physicalDeviceCount", "pPhysicalDevices"] -- ' closing tick for hsc2hs-        type CUnionType VkDeviceGroupDeviceCreateInfoKHX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDeviceGroupDeviceCreateInfoKHX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDeviceGroupDeviceCreateInfoKHX =-             '[VkDeviceCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasVkSType VkDeviceGroupDeviceCreateInfoKHX where-        type VkSTypeMType VkDeviceGroupDeviceCreateInfoKHX =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupDeviceCreateInfoKHX, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDeviceGroupDeviceCreateInfoKHX, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDeviceGroupDeviceCreateInfoKHX, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDeviceGroupDeviceCreateInfoKHX, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkDeviceGroupDeviceCreateInfoKHX where-        type FieldType "sType" VkDeviceGroupDeviceCreateInfoKHX =-             VkStructureType-        type FieldOptional "sType" VkDeviceGroupDeviceCreateInfoKHX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDeviceGroupDeviceCreateInfoKHX =-             #{offset VkDeviceGroupDeviceCreateInfoKHX, sType}-        type FieldIsArray "sType" VkDeviceGroupDeviceCreateInfoKHX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupDeviceCreateInfoKHX, sType}--instance CanReadField "sType" VkDeviceGroupDeviceCreateInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkDeviceGroupDeviceCreateInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-}-         HasVkPNext VkDeviceGroupDeviceCreateInfoKHX where-        type VkPNextMType VkDeviceGroupDeviceCreateInfoKHX = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupDeviceCreateInfoKHX, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDeviceGroupDeviceCreateInfoKHX, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDeviceGroupDeviceCreateInfoKHX, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDeviceGroupDeviceCreateInfoKHX, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDeviceGroupDeviceCreateInfoKHX where-        type FieldType "pNext" VkDeviceGroupDeviceCreateInfoKHX = Ptr Void-        type FieldOptional "pNext" VkDeviceGroupDeviceCreateInfoKHX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDeviceGroupDeviceCreateInfoKHX =-             #{offset VkDeviceGroupDeviceCreateInfoKHX, pNext}-        type FieldIsArray "pNext" VkDeviceGroupDeviceCreateInfoKHX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupDeviceCreateInfoKHX, pNext}--instance CanReadField "pNext" VkDeviceGroupDeviceCreateInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkDeviceGroupDeviceCreateInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-}-         HasVkPhysicalDeviceCount VkDeviceGroupDeviceCreateInfoKHX where-        type VkPhysicalDeviceCountMType VkDeviceGroupDeviceCreateInfoKHX =-             Word32--        {-# NOINLINE vkPhysicalDeviceCount #-}-        vkPhysicalDeviceCount x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupDeviceCreateInfoKHX, physicalDeviceCount})--        {-# INLINE vkPhysicalDeviceCountByteOffset #-}-        vkPhysicalDeviceCountByteOffset ~_-          = #{offset VkDeviceGroupDeviceCreateInfoKHX, physicalDeviceCount}--        {-# INLINE readVkPhysicalDeviceCount #-}-        readVkPhysicalDeviceCount p-          = peekByteOff p #{offset VkDeviceGroupDeviceCreateInfoKHX, physicalDeviceCount}--        {-# INLINE writeVkPhysicalDeviceCount #-}-        writeVkPhysicalDeviceCount p-          = pokeByteOff p #{offset VkDeviceGroupDeviceCreateInfoKHX, physicalDeviceCount}--instance {-# OVERLAPPING #-}-         HasField "physicalDeviceCount" VkDeviceGroupDeviceCreateInfoKHX-         where-        type FieldType "physicalDeviceCount"-               VkDeviceGroupDeviceCreateInfoKHX-             = Word32-        type FieldOptional "physicalDeviceCount"-               VkDeviceGroupDeviceCreateInfoKHX-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "physicalDeviceCount"-               VkDeviceGroupDeviceCreateInfoKHX-             =-             #{offset VkDeviceGroupDeviceCreateInfoKHX, physicalDeviceCount}-        type FieldIsArray "physicalDeviceCount"-               VkDeviceGroupDeviceCreateInfoKHX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupDeviceCreateInfoKHX, physicalDeviceCount}--instance CanReadField "physicalDeviceCount"-           VkDeviceGroupDeviceCreateInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkPhysicalDeviceCount--        {-# INLINE readField #-}-        readField = readVkPhysicalDeviceCount--instance CanWriteField "physicalDeviceCount"-           VkDeviceGroupDeviceCreateInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkPhysicalDeviceCount--instance {-# OVERLAPPING #-}-         HasVkPPhysicalDevices VkDeviceGroupDeviceCreateInfoKHX where-        type VkPPhysicalDevicesMType VkDeviceGroupDeviceCreateInfoKHX =-             Ptr VkPhysicalDevice--        {-# NOINLINE vkPPhysicalDevices #-}-        vkPPhysicalDevices x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupDeviceCreateInfoKHX, pPhysicalDevices})--        {-# INLINE vkPPhysicalDevicesByteOffset #-}-        vkPPhysicalDevicesByteOffset ~_-          = #{offset VkDeviceGroupDeviceCreateInfoKHX, pPhysicalDevices}--        {-# INLINE readVkPPhysicalDevices #-}-        readVkPPhysicalDevices p-          = peekByteOff p #{offset VkDeviceGroupDeviceCreateInfoKHX, pPhysicalDevices}--        {-# INLINE writeVkPPhysicalDevices #-}-        writeVkPPhysicalDevices p-          = pokeByteOff p #{offset VkDeviceGroupDeviceCreateInfoKHX, pPhysicalDevices}--instance {-# OVERLAPPING #-}-         HasField "pPhysicalDevices" VkDeviceGroupDeviceCreateInfoKHX where-        type FieldType "pPhysicalDevices" VkDeviceGroupDeviceCreateInfoKHX-             = Ptr VkPhysicalDevice-        type FieldOptional "pPhysicalDevices"-               VkDeviceGroupDeviceCreateInfoKHX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pPhysicalDevices"-               VkDeviceGroupDeviceCreateInfoKHX-             =-             #{offset VkDeviceGroupDeviceCreateInfoKHX, pPhysicalDevices}-        type FieldIsArray "pPhysicalDevices"-               VkDeviceGroupDeviceCreateInfoKHX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupDeviceCreateInfoKHX, pPhysicalDevices}--instance CanReadField "pPhysicalDevices"-           VkDeviceGroupDeviceCreateInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkPPhysicalDevices--        {-# INLINE readField #-}-        readField = readVkPPhysicalDevices--instance CanWriteField "pPhysicalDevices"-           VkDeviceGroupDeviceCreateInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkPPhysicalDevices--instance Show VkDeviceGroupDeviceCreateInfoKHX where-        showsPrec d x-          = showString "VkDeviceGroupDeviceCreateInfoKHX {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkPhysicalDeviceCount = " .-                            showsPrec d (vkPhysicalDeviceCount x) .-                              showString ", " .-                                showString "vkPPhysicalDevices = " .-                                  showsPrec d (vkPPhysicalDevices x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupPresentCapabilitiesKHR.hsc view
@@ -0,0 +1,330 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleContexts      #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PatternSynonyms       #-}+{-# LANGUAGE ScopedTypeVariables   #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+{-# LANGUAGE UndecidableInstances  #-}+module Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentCapabilitiesKHR+       (VkDeviceGroupPresentCapabilitiesKHR(..)) where+import           Foreign.Storable                                            (Storable (..))+import           GHC.Prim+import           GHC.TypeLits                                                (KnownNat,+                                                                              natVal') -- ' closing tick for hsc2hs+import           Graphics.Vulkan.Constants                                   (VK_MAX_DEVICE_GROUP_SIZE,+                                                                              pattern VK_MAX_DEVICE_GROUP_SIZE)+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkDeviceGroupPresentModeFlagsKHR (VkDeviceGroupPresentModeFlagsKHR)+import           Graphics.Vulkan.Types.Enum.VkStructureType                  (VkStructureType)+import           System.IO.Unsafe                                            (unsafeDupablePerformIO)++-- | > typedef struct VkDeviceGroupPresentCapabilitiesKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t                         presentMask[VK_MAX_DEVICE_GROUP_SIZE];+--   >     VkDeviceGroupPresentModeFlagsKHR modes;+--   > } VkDeviceGroupPresentCapabilitiesKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDeviceGroupPresentCapabilitiesKHR.html VkDeviceGroupPresentCapabilitiesKHR registry at www.khronos.org>+data VkDeviceGroupPresentCapabilitiesKHR = VkDeviceGroupPresentCapabilitiesKHR## Addr##+                                                                                ByteArray##++instance Eq VkDeviceGroupPresentCapabilitiesKHR where+        (VkDeviceGroupPresentCapabilitiesKHR## a _) ==+          x@(VkDeviceGroupPresentCapabilitiesKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDeviceGroupPresentCapabilitiesKHR where+        (VkDeviceGroupPresentCapabilitiesKHR## a _) `compare`+          x@(VkDeviceGroupPresentCapabilitiesKHR## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDeviceGroupPresentCapabilitiesKHR where+        sizeOf ~_ = #{size VkDeviceGroupPresentCapabilitiesKHR}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDeviceGroupPresentCapabilitiesKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceGroupPresentCapabilitiesKHR+         where+        unsafeAddr (VkDeviceGroupPresentCapabilitiesKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDeviceGroupPresentCapabilitiesKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDeviceGroupPresentCapabilitiesKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceGroupPresentCapabilitiesKHR where+        type StructFields VkDeviceGroupPresentCapabilitiesKHR =+             '["sType", "pNext", "presentMask", "modes"] -- ' closing tick for hsc2hs+        type CUnionType VkDeviceGroupPresentCapabilitiesKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDeviceGroupPresentCapabilitiesKHR = 'True -- ' closing tick for hsc2hs+        type StructExtends VkDeviceGroupPresentCapabilitiesKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkDeviceGroupPresentCapabilitiesKHR where+        type FieldType "sType" VkDeviceGroupPresentCapabilitiesKHR =+             VkStructureType+        type FieldOptional "sType" VkDeviceGroupPresentCapabilitiesKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDeviceGroupPresentCapabilitiesKHR =+             #{offset VkDeviceGroupPresentCapabilitiesKHR, sType}+        type FieldIsArray "sType" VkDeviceGroupPresentCapabilitiesKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupPresentCapabilitiesKHR, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDeviceGroupPresentCapabilitiesKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentCapabilitiesKHR, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHR, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDeviceGroupPresentCapabilitiesKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHR, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDeviceGroupPresentCapabilitiesKHR where+        type FieldType "pNext" VkDeviceGroupPresentCapabilitiesKHR =+             Ptr Void+        type FieldOptional "pNext" VkDeviceGroupPresentCapabilitiesKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDeviceGroupPresentCapabilitiesKHR =+             #{offset VkDeviceGroupPresentCapabilitiesKHR, pNext}+        type FieldIsArray "pNext" VkDeviceGroupPresentCapabilitiesKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupPresentCapabilitiesKHR, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDeviceGroupPresentCapabilitiesKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentCapabilitiesKHR, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHR, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDeviceGroupPresentCapabilitiesKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "presentMask" VkDeviceGroupPresentCapabilitiesKHR where+        type FieldType "presentMask" VkDeviceGroupPresentCapabilitiesKHR =+             Word32+        type FieldOptional "presentMask"+               VkDeviceGroupPresentCapabilitiesKHR+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "presentMask" VkDeviceGroupPresentCapabilitiesKHR+             =+             #{offset VkDeviceGroupPresentCapabilitiesKHR, presentMask}+        type FieldIsArray "presentMask" VkDeviceGroupPresentCapabilitiesKHR+             = 'True -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupPresentCapabilitiesKHR, presentMask}++instance {-# OVERLAPPING #-}+         (KnownNat idx,+          IndexInBounds "presentMask" idx+            VkDeviceGroupPresentCapabilitiesKHR) =>+         CanReadFieldArray "presentMask" idx+           VkDeviceGroupPresentCapabilitiesKHR+         where+        {-# SPECIALISE instance+                       CanReadFieldArray "presentMask" 0+                         VkDeviceGroupPresentCapabilitiesKHR+                       #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "presentMask" 1+                         VkDeviceGroupPresentCapabilitiesKHR+                       #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "presentMask" 2+                         VkDeviceGroupPresentCapabilitiesKHR+                       #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "presentMask" 3+                         VkDeviceGroupPresentCapabilitiesKHR+                       #-}+        type FieldArrayLength "presentMask"+               VkDeviceGroupPresentCapabilitiesKHR+             = VK_MAX_DEVICE_GROUP_SIZE++        {-# INLINE fieldArrayLength #-}+        fieldArrayLength = VK_MAX_DEVICE_GROUP_SIZE++        {-# INLINE getFieldArray #-}+        getFieldArray = f+          where {-# NOINLINE f #-}+                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+                off+                  = #{offset VkDeviceGroupPresentCapabilitiesKHR, presentMask}+                      ++                      sizeOf (undefined :: Word32) *+                        fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++        {-# INLINE readFieldArray #-}+        readFieldArray p+          = peekByteOff p+              (#{offset VkDeviceGroupPresentCapabilitiesKHR, presentMask}+                 ++                 sizeOf (undefined :: Word32) *+                   fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         (KnownNat idx,+          IndexInBounds "presentMask" idx+            VkDeviceGroupPresentCapabilitiesKHR) =>+         CanWriteFieldArray "presentMask" idx+           VkDeviceGroupPresentCapabilitiesKHR+         where+        {-# SPECIALISE instance+                       CanWriteFieldArray "presentMask" 0+                         VkDeviceGroupPresentCapabilitiesKHR+                       #-}++        {-# SPECIALISE instance+                       CanWriteFieldArray "presentMask" 1+                         VkDeviceGroupPresentCapabilitiesKHR+                       #-}++        {-# SPECIALISE instance+                       CanWriteFieldArray "presentMask" 2+                         VkDeviceGroupPresentCapabilitiesKHR+                       #-}++        {-# SPECIALISE instance+                       CanWriteFieldArray "presentMask" 3+                         VkDeviceGroupPresentCapabilitiesKHR+                       #-}++        {-# INLINE writeFieldArray #-}+        writeFieldArray p+          = pokeByteOff p+              (#{offset VkDeviceGroupPresentCapabilitiesKHR, presentMask}+                 ++                 sizeOf (undefined :: Word32) *+                   fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "modes" VkDeviceGroupPresentCapabilitiesKHR where+        type FieldType "modes" VkDeviceGroupPresentCapabilitiesKHR =+             VkDeviceGroupPresentModeFlagsKHR+        type FieldOptional "modes" VkDeviceGroupPresentCapabilitiesKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "modes" VkDeviceGroupPresentCapabilitiesKHR =+             #{offset VkDeviceGroupPresentCapabilitiesKHR, modes}+        type FieldIsArray "modes" VkDeviceGroupPresentCapabilitiesKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupPresentCapabilitiesKHR, modes}++instance {-# OVERLAPPING #-}+         CanReadField "modes" VkDeviceGroupPresentCapabilitiesKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentCapabilitiesKHR, modes})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHR, modes}++instance {-# OVERLAPPING #-}+         CanWriteField "modes" VkDeviceGroupPresentCapabilitiesKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHR, modes}++instance Show VkDeviceGroupPresentCapabilitiesKHR where+        showsPrec d x+          = showString "VkDeviceGroupPresentCapabilitiesKHR {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          (showString "presentMask = [" .+                             showsPrec d+                               (let s = sizeOf+                                          (undefined ::+                                             FieldType "presentMask"+                                               VkDeviceGroupPresentCapabilitiesKHR)+                                    o = fieldOffset @"presentMask"+                                          @VkDeviceGroupPresentCapabilitiesKHR+                                    f i+                                      = peekByteOff (unsafePtr x) i ::+                                          IO+                                            (FieldType "presentMask"+                                               VkDeviceGroupPresentCapabilitiesKHR)+                                  in+                                  unsafeDupablePerformIO . mapM f $+                                    map (\ i -> o + i * s) [0 .. VK_MAX_DEVICE_GROUP_SIZE - 1])+                               . showChar ']')+                            .+                            showString ", " .+                              showString "modes = " .+                                showsPrec d (getField @"modes" x) . showChar '}'
− src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupPresentCapabilitiesKHX.hsc
@@ -1,338 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleContexts      #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE PatternSynonyms       #-}-{-# LANGUAGE ScopedTypeVariables   #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-{-# LANGUAGE UndecidableInstances  #-}-module Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentCapabilitiesKHX-       (VkDeviceGroupPresentCapabilitiesKHX(..)) where-import           Foreign.Storable                                            (Storable (..))-import           GHC.Prim-import           GHC.TypeLits                                                (KnownNat,-                                                                              natVal') -- ' closing tick for hsc2hs-import           Graphics.Vulkan.Constants                                   (VK_MAX_DEVICE_GROUP_SIZE_KHX,-                                                                              pattern VK_MAX_DEVICE_GROUP_SIZE_KHX)-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkDeviceGroupPresentModeFlagsKHX (VkDeviceGroupPresentModeFlagsKHX)-import           Graphics.Vulkan.Types.Enum.VkStructureType                  (VkStructureType)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                                            (unsafeDupablePerformIO)---- | > typedef struct VkDeviceGroupPresentCapabilitiesKHX {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t                         presentMask[VK_MAX_DEVICE_GROUP_SIZE_KHX];---   >     VkDeviceGroupPresentModeFlagsKHX modes;---   > } VkDeviceGroupPresentCapabilitiesKHX;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDeviceGroupPresentCapabilitiesKHX.html VkDeviceGroupPresentCapabilitiesKHX registry at www.khronos.org>-data VkDeviceGroupPresentCapabilitiesKHX = VkDeviceGroupPresentCapabilitiesKHX## Addr##-                                                                                ByteArray##--instance Eq VkDeviceGroupPresentCapabilitiesKHX where-        (VkDeviceGroupPresentCapabilitiesKHX## a _) ==-          x@(VkDeviceGroupPresentCapabilitiesKHX## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkDeviceGroupPresentCapabilitiesKHX where-        (VkDeviceGroupPresentCapabilitiesKHX## a _) `compare`-          x@(VkDeviceGroupPresentCapabilitiesKHX## b _)-          = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkDeviceGroupPresentCapabilitiesKHX where-        sizeOf ~_ = #{size VkDeviceGroupPresentCapabilitiesKHX}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDeviceGroupPresentCapabilitiesKHX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkDeviceGroupPresentCapabilitiesKHX-         where-        unsafeAddr (VkDeviceGroupPresentCapabilitiesKHX## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkDeviceGroupPresentCapabilitiesKHX## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkDeviceGroupPresentCapabilitiesKHX##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkDeviceGroupPresentCapabilitiesKHX where-        type StructFields VkDeviceGroupPresentCapabilitiesKHX =-             '["sType", "pNext", "presentMask", "modes"] -- ' closing tick for hsc2hs-        type CUnionType VkDeviceGroupPresentCapabilitiesKHX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDeviceGroupPresentCapabilitiesKHX = 'True -- ' closing tick for hsc2hs-        type StructExtends VkDeviceGroupPresentCapabilitiesKHX = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasVkSType VkDeviceGroupPresentCapabilitiesKHX where-        type VkSTypeMType VkDeviceGroupPresentCapabilitiesKHX =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentCapabilitiesKHX, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDeviceGroupPresentCapabilitiesKHX, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHX, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHX, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkDeviceGroupPresentCapabilitiesKHX where-        type FieldType "sType" VkDeviceGroupPresentCapabilitiesKHX =-             VkStructureType-        type FieldOptional "sType" VkDeviceGroupPresentCapabilitiesKHX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDeviceGroupPresentCapabilitiesKHX =-             #{offset VkDeviceGroupPresentCapabilitiesKHX, sType}-        type FieldIsArray "sType" VkDeviceGroupPresentCapabilitiesKHX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupPresentCapabilitiesKHX, sType}--instance CanReadField "sType" VkDeviceGroupPresentCapabilitiesKHX-         where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance {-# OVERLAPPING #-}-         HasVkPNext VkDeviceGroupPresentCapabilitiesKHX where-        type VkPNextMType VkDeviceGroupPresentCapabilitiesKHX = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentCapabilitiesKHX, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDeviceGroupPresentCapabilitiesKHX, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHX, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHX, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDeviceGroupPresentCapabilitiesKHX where-        type FieldType "pNext" VkDeviceGroupPresentCapabilitiesKHX =-             Ptr Void-        type FieldOptional "pNext" VkDeviceGroupPresentCapabilitiesKHX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDeviceGroupPresentCapabilitiesKHX =-             #{offset VkDeviceGroupPresentCapabilitiesKHX, pNext}-        type FieldIsArray "pNext" VkDeviceGroupPresentCapabilitiesKHX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupPresentCapabilitiesKHX, pNext}--instance CanReadField "pNext" VkDeviceGroupPresentCapabilitiesKHX-         where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance {-# OVERLAPPING #-}-         HasVkPresentMaskArray VkDeviceGroupPresentCapabilitiesKHX where-        type VkPresentMaskArrayMType VkDeviceGroupPresentCapabilitiesKHX =-             Word32--        {-# NOINLINE vkPresentMaskArray #-}-        vkPresentMaskArray x idx-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x)-                 (idx * sizeOf (undefined :: Word32) +-                    #{offset VkDeviceGroupPresentCapabilitiesKHX, presentMask}))--        {-# INLINE vkPresentMaskArrayByteOffset #-}-        vkPresentMaskArrayByteOffset ~_-          = #{offset VkDeviceGroupPresentCapabilitiesKHX, presentMask}--        {-# INLINE readVkPresentMaskArray #-}-        readVkPresentMaskArray p idx-          = peekByteOff p-              (idx * sizeOf (undefined :: Word32) +-                 #{offset VkDeviceGroupPresentCapabilitiesKHX, presentMask})--        {-# INLINE writeVkPresentMaskArray #-}-        writeVkPresentMaskArray p idx-          = pokeByteOff p-              (idx * sizeOf (undefined :: Word32) +-                 #{offset VkDeviceGroupPresentCapabilitiesKHX, presentMask})--instance {-# OVERLAPPING #-}-         HasField "presentMask" VkDeviceGroupPresentCapabilitiesKHX where-        type FieldType "presentMask" VkDeviceGroupPresentCapabilitiesKHX =-             Word32-        type FieldOptional "presentMask"-               VkDeviceGroupPresentCapabilitiesKHX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "presentMask" VkDeviceGroupPresentCapabilitiesKHX-             =-             #{offset VkDeviceGroupPresentCapabilitiesKHX, presentMask}-        type FieldIsArray "presentMask" VkDeviceGroupPresentCapabilitiesKHX-             = 'True -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupPresentCapabilitiesKHX, presentMask}--instance (KnownNat idx,-          IndexInBounds "presentMask" idx-            VkDeviceGroupPresentCapabilitiesKHX) =>-         CanReadFieldArray "presentMask" idx-           VkDeviceGroupPresentCapabilitiesKHX-         where-        {-# SPECIALISE instance-                       CanReadFieldArray "presentMask" 0-                         VkDeviceGroupPresentCapabilitiesKHX-                       #-}--        {-# SPECIALISE instance-                       CanReadFieldArray "presentMask" 1-                         VkDeviceGroupPresentCapabilitiesKHX-                       #-}--        {-# SPECIALISE instance-                       CanReadFieldArray "presentMask" 2-                         VkDeviceGroupPresentCapabilitiesKHX-                       #-}--        {-# SPECIALISE instance-                       CanReadFieldArray "presentMask" 3-                         VkDeviceGroupPresentCapabilitiesKHX-                       #-}-        type FieldArrayLength "presentMask"-               VkDeviceGroupPresentCapabilitiesKHX-             = VK_MAX_DEVICE_GROUP_SIZE_KHX--        {-# INLINE fieldArrayLength #-}-        fieldArrayLength = VK_MAX_DEVICE_GROUP_SIZE_KHX--        {-# INLINE getFieldArray #-}-        getFieldArray x-          = vkPresentMaskArray x-              (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs--        {-# INLINE readFieldArray #-}-        readFieldArray x-          = readVkPresentMaskArray x-              (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasVkModes VkDeviceGroupPresentCapabilitiesKHX where-        type VkModesMType VkDeviceGroupPresentCapabilitiesKHX =-             VkDeviceGroupPresentModeFlagsKHX--        {-# NOINLINE vkModes #-}-        vkModes x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentCapabilitiesKHX, modes})--        {-# INLINE vkModesByteOffset #-}-        vkModesByteOffset ~_-          = #{offset VkDeviceGroupPresentCapabilitiesKHX, modes}--        {-# INLINE readVkModes #-}-        readVkModes p-          = peekByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHX, modes}--        {-# INLINE writeVkModes #-}-        writeVkModes p-          = pokeByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHX, modes}--instance {-# OVERLAPPING #-}-         HasField "modes" VkDeviceGroupPresentCapabilitiesKHX where-        type FieldType "modes" VkDeviceGroupPresentCapabilitiesKHX =-             VkDeviceGroupPresentModeFlagsKHX-        type FieldOptional "modes" VkDeviceGroupPresentCapabilitiesKHX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "modes" VkDeviceGroupPresentCapabilitiesKHX =-             #{offset VkDeviceGroupPresentCapabilitiesKHX, modes}-        type FieldIsArray "modes" VkDeviceGroupPresentCapabilitiesKHX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupPresentCapabilitiesKHX, modes}--instance CanReadField "modes" VkDeviceGroupPresentCapabilitiesKHX-         where-        {-# INLINE getField #-}-        getField = vkModes--        {-# INLINE readField #-}-        readField = readVkModes--instance Show VkDeviceGroupPresentCapabilitiesKHX where-        showsPrec d x-          = showString "VkDeviceGroupPresentCapabilitiesKHX {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkPresentMaskArray = [" .-                            showsPrec d-                              (map (vkPresentMaskArray x) [1 .. VK_MAX_DEVICE_GROUP_SIZE_KHX])-                              .-                              showChar ']' .-                                showString ", " .-                                  showString "vkModes = " . showsPrec d (vkModes x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupPresentInfoKHR.hsc view
@@ -0,0 +1,266 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentInfoKHR+       (VkDeviceGroupPresentInfoKHR(..)) where+import           Foreign.Storable                                            (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkDeviceGroupPresentModeFlagsKHR (VkDeviceGroupPresentModeFlagBitsKHR)+import           Graphics.Vulkan.Types.Enum.VkStructureType                  (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkPresentInfoKHR               (VkPresentInfoKHR)+import           System.IO.Unsafe                                            (unsafeDupablePerformIO)++-- | > typedef struct VkDeviceGroupPresentInfoKHR {+--   >     VkStructureType sType;+--   >     const void*  pNext;+--   >     uint32_t         swapchainCount;+--   >     const uint32_t* pDeviceMasks;+--   >     VkDeviceGroupPresentModeFlagBitsKHR mode;+--   > } VkDeviceGroupPresentInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDeviceGroupPresentInfoKHR.html VkDeviceGroupPresentInfoKHR registry at www.khronos.org>+data VkDeviceGroupPresentInfoKHR = VkDeviceGroupPresentInfoKHR## Addr##+                                                                ByteArray##++instance Eq VkDeviceGroupPresentInfoKHR where+        (VkDeviceGroupPresentInfoKHR## a _) ==+          x@(VkDeviceGroupPresentInfoKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDeviceGroupPresentInfoKHR where+        (VkDeviceGroupPresentInfoKHR## a _) `compare`+          x@(VkDeviceGroupPresentInfoKHR## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDeviceGroupPresentInfoKHR where+        sizeOf ~_ = #{size VkDeviceGroupPresentInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDeviceGroupPresentInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceGroupPresentInfoKHR where+        unsafeAddr (VkDeviceGroupPresentInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDeviceGroupPresentInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDeviceGroupPresentInfoKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceGroupPresentInfoKHR where+        type StructFields VkDeviceGroupPresentInfoKHR =+             '["sType", "pNext", "swapchainCount", "pDeviceMasks", "mode"] -- ' closing tick for hsc2hs+        type CUnionType VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs+        type StructExtends VkDeviceGroupPresentInfoKHR =+             '[VkPresentInfoKHR] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkDeviceGroupPresentInfoKHR where+        type FieldType "sType" VkDeviceGroupPresentInfoKHR =+             VkStructureType+        type FieldOptional "sType" VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDeviceGroupPresentInfoKHR =+             #{offset VkDeviceGroupPresentInfoKHR, sType}+        type FieldIsArray "sType" VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupPresentInfoKHR, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDeviceGroupPresentInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentInfoKHR, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupPresentInfoKHR, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDeviceGroupPresentInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupPresentInfoKHR, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDeviceGroupPresentInfoKHR where+        type FieldType "pNext" VkDeviceGroupPresentInfoKHR = Ptr Void+        type FieldOptional "pNext" VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDeviceGroupPresentInfoKHR =+             #{offset VkDeviceGroupPresentInfoKHR, pNext}+        type FieldIsArray "pNext" VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupPresentInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDeviceGroupPresentInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentInfoKHR, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupPresentInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDeviceGroupPresentInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupPresentInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "swapchainCount" VkDeviceGroupPresentInfoKHR where+        type FieldType "swapchainCount" VkDeviceGroupPresentInfoKHR =+             Word32+        type FieldOptional "swapchainCount" VkDeviceGroupPresentInfoKHR =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "swapchainCount" VkDeviceGroupPresentInfoKHR =+             #{offset VkDeviceGroupPresentInfoKHR, swapchainCount}+        type FieldIsArray "swapchainCount" VkDeviceGroupPresentInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupPresentInfoKHR, swapchainCount}++instance {-# OVERLAPPING #-}+         CanReadField "swapchainCount" VkDeviceGroupPresentInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentInfoKHR, swapchainCount})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupPresentInfoKHR, swapchainCount}++instance {-# OVERLAPPING #-}+         CanWriteField "swapchainCount" VkDeviceGroupPresentInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupPresentInfoKHR, swapchainCount}++instance {-# OVERLAPPING #-}+         HasField "pDeviceMasks" VkDeviceGroupPresentInfoKHR where+        type FieldType "pDeviceMasks" VkDeviceGroupPresentInfoKHR =+             Ptr Word32+        type FieldOptional "pDeviceMasks" VkDeviceGroupPresentInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pDeviceMasks" VkDeviceGroupPresentInfoKHR =+             #{offset VkDeviceGroupPresentInfoKHR, pDeviceMasks}+        type FieldIsArray "pDeviceMasks" VkDeviceGroupPresentInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupPresentInfoKHR, pDeviceMasks}++instance {-# OVERLAPPING #-}+         CanReadField "pDeviceMasks" VkDeviceGroupPresentInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentInfoKHR, pDeviceMasks})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupPresentInfoKHR, pDeviceMasks}++instance {-# OVERLAPPING #-}+         CanWriteField "pDeviceMasks" VkDeviceGroupPresentInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupPresentInfoKHR, pDeviceMasks}++instance {-# OVERLAPPING #-}+         HasField "mode" VkDeviceGroupPresentInfoKHR where+        type FieldType "mode" VkDeviceGroupPresentInfoKHR =+             VkDeviceGroupPresentModeFlagBitsKHR+        type FieldOptional "mode" VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "mode" VkDeviceGroupPresentInfoKHR =+             #{offset VkDeviceGroupPresentInfoKHR, mode}+        type FieldIsArray "mode" VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupPresentInfoKHR, mode}++instance {-# OVERLAPPING #-}+         CanReadField "mode" VkDeviceGroupPresentInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentInfoKHR, mode})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupPresentInfoKHR, mode}++instance {-# OVERLAPPING #-}+         CanWriteField "mode" VkDeviceGroupPresentInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupPresentInfoKHR, mode}++instance Show VkDeviceGroupPresentInfoKHR where+        showsPrec d x+          = showString "VkDeviceGroupPresentInfoKHR {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "swapchainCount = " .+                            showsPrec d (getField @"swapchainCount" x) .+                              showString ", " .+                                showString "pDeviceMasks = " .+                                  showsPrec d (getField @"pDeviceMasks" x) .+                                    showString ", " .+                                      showString "mode = " .+                                        showsPrec d (getField @"mode" x) . showChar '}'
− src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupPresentInfoKHX.hsc
@@ -1,345 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentInfoKHX-       (VkDeviceGroupPresentInfoKHX(..)) where-import           Foreign.Storable                                            (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkDeviceGroupPresentModeFlagsKHX (VkDeviceGroupPresentModeFlagBitsKHX)-import           Graphics.Vulkan.Types.Enum.VkStructureType                  (VkStructureType)-import           Graphics.Vulkan.Types.Struct.VkPresentInfoKHR               (VkPresentInfoKHR)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                                            (unsafeDupablePerformIO)---- | > typedef struct VkDeviceGroupPresentInfoKHX {---   >     VkStructureType sType;---   >     const void*  pNext;---   >     uint32_t         swapchainCount;---   >     const uint32_t* pDeviceMasks;---   >     VkDeviceGroupPresentModeFlagBitsKHX mode;---   > } VkDeviceGroupPresentInfoKHX;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDeviceGroupPresentInfoKHX.html VkDeviceGroupPresentInfoKHX registry at www.khronos.org>-data VkDeviceGroupPresentInfoKHX = VkDeviceGroupPresentInfoKHX## Addr##-                                                                ByteArray##--instance Eq VkDeviceGroupPresentInfoKHX where-        (VkDeviceGroupPresentInfoKHX## a _) ==-          x@(VkDeviceGroupPresentInfoKHX## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkDeviceGroupPresentInfoKHX where-        (VkDeviceGroupPresentInfoKHX## a _) `compare`-          x@(VkDeviceGroupPresentInfoKHX## b _) = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkDeviceGroupPresentInfoKHX where-        sizeOf ~_ = #{size VkDeviceGroupPresentInfoKHX}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDeviceGroupPresentInfoKHX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkDeviceGroupPresentInfoKHX where-        unsafeAddr (VkDeviceGroupPresentInfoKHX## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkDeviceGroupPresentInfoKHX## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkDeviceGroupPresentInfoKHX##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkDeviceGroupPresentInfoKHX where-        type StructFields VkDeviceGroupPresentInfoKHX =-             '["sType", "pNext", "swapchainCount", "pDeviceMasks", "mode"] -- ' closing tick for hsc2hs-        type CUnionType VkDeviceGroupPresentInfoKHX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDeviceGroupPresentInfoKHX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDeviceGroupPresentInfoKHX =-             '[VkPresentInfoKHR] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasVkSType VkDeviceGroupPresentInfoKHX-         where-        type VkSTypeMType VkDeviceGroupPresentInfoKHX = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentInfoKHX, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDeviceGroupPresentInfoKHX, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDeviceGroupPresentInfoKHX, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDeviceGroupPresentInfoKHX, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkDeviceGroupPresentInfoKHX where-        type FieldType "sType" VkDeviceGroupPresentInfoKHX =-             VkStructureType-        type FieldOptional "sType" VkDeviceGroupPresentInfoKHX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDeviceGroupPresentInfoKHX =-             #{offset VkDeviceGroupPresentInfoKHX, sType}-        type FieldIsArray "sType" VkDeviceGroupPresentInfoKHX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupPresentInfoKHX, sType}--instance CanReadField "sType" VkDeviceGroupPresentInfoKHX where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkDeviceGroupPresentInfoKHX where-        {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkDeviceGroupPresentInfoKHX-         where-        type VkPNextMType VkDeviceGroupPresentInfoKHX = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentInfoKHX, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDeviceGroupPresentInfoKHX, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDeviceGroupPresentInfoKHX, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDeviceGroupPresentInfoKHX, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDeviceGroupPresentInfoKHX where-        type FieldType "pNext" VkDeviceGroupPresentInfoKHX = Ptr Void-        type FieldOptional "pNext" VkDeviceGroupPresentInfoKHX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDeviceGroupPresentInfoKHX =-             #{offset VkDeviceGroupPresentInfoKHX, pNext}-        type FieldIsArray "pNext" VkDeviceGroupPresentInfoKHX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupPresentInfoKHX, pNext}--instance CanReadField "pNext" VkDeviceGroupPresentInfoKHX where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkDeviceGroupPresentInfoKHX where-        {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-}-         HasVkSwapchainCount VkDeviceGroupPresentInfoKHX where-        type VkSwapchainCountMType VkDeviceGroupPresentInfoKHX = Word32--        {-# NOINLINE vkSwapchainCount #-}-        vkSwapchainCount x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentInfoKHX, swapchainCount})--        {-# INLINE vkSwapchainCountByteOffset #-}-        vkSwapchainCountByteOffset ~_-          = #{offset VkDeviceGroupPresentInfoKHX, swapchainCount}--        {-# INLINE readVkSwapchainCount #-}-        readVkSwapchainCount p-          = peekByteOff p #{offset VkDeviceGroupPresentInfoKHX, swapchainCount}--        {-# INLINE writeVkSwapchainCount #-}-        writeVkSwapchainCount p-          = pokeByteOff p #{offset VkDeviceGroupPresentInfoKHX, swapchainCount}--instance {-# OVERLAPPING #-}-         HasField "swapchainCount" VkDeviceGroupPresentInfoKHX where-        type FieldType "swapchainCount" VkDeviceGroupPresentInfoKHX =-             Word32-        type FieldOptional "swapchainCount" VkDeviceGroupPresentInfoKHX =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "swapchainCount" VkDeviceGroupPresentInfoKHX =-             #{offset VkDeviceGroupPresentInfoKHX, swapchainCount}-        type FieldIsArray "swapchainCount" VkDeviceGroupPresentInfoKHX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupPresentInfoKHX, swapchainCount}--instance CanReadField "swapchainCount" VkDeviceGroupPresentInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkSwapchainCount--        {-# INLINE readField #-}-        readField = readVkSwapchainCount--instance CanWriteField "swapchainCount" VkDeviceGroupPresentInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkSwapchainCount--instance {-# OVERLAPPING #-}-         HasVkPDeviceMasks VkDeviceGroupPresentInfoKHX where-        type VkPDeviceMasksMType VkDeviceGroupPresentInfoKHX = Ptr Word32--        {-# NOINLINE vkPDeviceMasks #-}-        vkPDeviceMasks x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentInfoKHX, pDeviceMasks})--        {-# INLINE vkPDeviceMasksByteOffset #-}-        vkPDeviceMasksByteOffset ~_-          = #{offset VkDeviceGroupPresentInfoKHX, pDeviceMasks}--        {-# INLINE readVkPDeviceMasks #-}-        readVkPDeviceMasks p-          = peekByteOff p #{offset VkDeviceGroupPresentInfoKHX, pDeviceMasks}--        {-# INLINE writeVkPDeviceMasks #-}-        writeVkPDeviceMasks p-          = pokeByteOff p #{offset VkDeviceGroupPresentInfoKHX, pDeviceMasks}--instance {-# OVERLAPPING #-}-         HasField "pDeviceMasks" VkDeviceGroupPresentInfoKHX where-        type FieldType "pDeviceMasks" VkDeviceGroupPresentInfoKHX =-             Ptr Word32-        type FieldOptional "pDeviceMasks" VkDeviceGroupPresentInfoKHX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pDeviceMasks" VkDeviceGroupPresentInfoKHX =-             #{offset VkDeviceGroupPresentInfoKHX, pDeviceMasks}-        type FieldIsArray "pDeviceMasks" VkDeviceGroupPresentInfoKHX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupPresentInfoKHX, pDeviceMasks}--instance CanReadField "pDeviceMasks" VkDeviceGroupPresentInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkPDeviceMasks--        {-# INLINE readField #-}-        readField = readVkPDeviceMasks--instance CanWriteField "pDeviceMasks" VkDeviceGroupPresentInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkPDeviceMasks--instance {-# OVERLAPPING #-} HasVkMode VkDeviceGroupPresentInfoKHX-         where-        type VkModeMType VkDeviceGroupPresentInfoKHX =-             VkDeviceGroupPresentModeFlagBitsKHX--        {-# NOINLINE vkMode #-}-        vkMode x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentInfoKHX, mode})--        {-# INLINE vkModeByteOffset #-}-        vkModeByteOffset ~_-          = #{offset VkDeviceGroupPresentInfoKHX, mode}--        {-# INLINE readVkMode #-}-        readVkMode p-          = peekByteOff p #{offset VkDeviceGroupPresentInfoKHX, mode}--        {-# INLINE writeVkMode #-}-        writeVkMode p-          = pokeByteOff p #{offset VkDeviceGroupPresentInfoKHX, mode}--instance {-# OVERLAPPING #-}-         HasField "mode" VkDeviceGroupPresentInfoKHX where-        type FieldType "mode" VkDeviceGroupPresentInfoKHX =-             VkDeviceGroupPresentModeFlagBitsKHX-        type FieldOptional "mode" VkDeviceGroupPresentInfoKHX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "mode" VkDeviceGroupPresentInfoKHX =-             #{offset VkDeviceGroupPresentInfoKHX, mode}-        type FieldIsArray "mode" VkDeviceGroupPresentInfoKHX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupPresentInfoKHX, mode}--instance CanReadField "mode" VkDeviceGroupPresentInfoKHX where-        {-# INLINE getField #-}-        getField = vkMode--        {-# INLINE readField #-}-        readField = readVkMode--instance CanWriteField "mode" VkDeviceGroupPresentInfoKHX where-        {-# INLINE writeField #-}-        writeField = writeVkMode--instance Show VkDeviceGroupPresentInfoKHX where-        showsPrec d x-          = showString "VkDeviceGroupPresentInfoKHX {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkSwapchainCount = " .-                            showsPrec d (vkSwapchainCount x) .-                              showString ", " .-                                showString "vkPDeviceMasks = " .-                                  showsPrec d (vkPDeviceMasks x) .-                                    showString ", " .-                                      showString "vkMode = " . showsPrec d (vkMode x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupRenderPassBeginInfo.hsc view
@@ -0,0 +1,292 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDeviceGroupRenderPassBeginInfo+       (VkDeviceGroupRenderPassBeginInfo(..)) where+import           Foreign.Storable                                   (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkStructureType         (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkRect2D              (VkRect2D)+import           Graphics.Vulkan.Types.Struct.VkRenderPassBeginInfo (VkRenderPassBeginInfo)+import           System.IO.Unsafe                                   (unsafeDupablePerformIO)++-- | > typedef struct VkDeviceGroupRenderPassBeginInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t                         deviceMask;+--   >     uint32_t         deviceRenderAreaCount;+--   >     const VkRect2D*  pDeviceRenderAreas;+--   > } VkDeviceGroupRenderPassBeginInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDeviceGroupRenderPassBeginInfo.html VkDeviceGroupRenderPassBeginInfo registry at www.khronos.org>+data VkDeviceGroupRenderPassBeginInfo = VkDeviceGroupRenderPassBeginInfo## Addr##+                                                                          ByteArray##++instance Eq VkDeviceGroupRenderPassBeginInfo where+        (VkDeviceGroupRenderPassBeginInfo## a _) ==+          x@(VkDeviceGroupRenderPassBeginInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDeviceGroupRenderPassBeginInfo where+        (VkDeviceGroupRenderPassBeginInfo## a _) `compare`+          x@(VkDeviceGroupRenderPassBeginInfo## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDeviceGroupRenderPassBeginInfo where+        sizeOf ~_ = #{size VkDeviceGroupRenderPassBeginInfo}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDeviceGroupRenderPassBeginInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceGroupRenderPassBeginInfo where+        unsafeAddr (VkDeviceGroupRenderPassBeginInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDeviceGroupRenderPassBeginInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDeviceGroupRenderPassBeginInfo##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceGroupRenderPassBeginInfo where+        type StructFields VkDeviceGroupRenderPassBeginInfo =+             '["sType", "pNext", "deviceMask", "deviceRenderAreaCount", -- ' closing tick for hsc2hs+               "pDeviceRenderAreas"]+        type CUnionType VkDeviceGroupRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDeviceGroupRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs+        type StructExtends VkDeviceGroupRenderPassBeginInfo =+             '[VkRenderPassBeginInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkDeviceGroupRenderPassBeginInfo where+        type FieldType "sType" VkDeviceGroupRenderPassBeginInfo =+             VkStructureType+        type FieldOptional "sType" VkDeviceGroupRenderPassBeginInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDeviceGroupRenderPassBeginInfo =+             #{offset VkDeviceGroupRenderPassBeginInfo, sType}+        type FieldIsArray "sType" VkDeviceGroupRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupRenderPassBeginInfo, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDeviceGroupRenderPassBeginInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupRenderPassBeginInfo, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDeviceGroupRenderPassBeginInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDeviceGroupRenderPassBeginInfo where+        type FieldType "pNext" VkDeviceGroupRenderPassBeginInfo = Ptr Void+        type FieldOptional "pNext" VkDeviceGroupRenderPassBeginInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDeviceGroupRenderPassBeginInfo =+             #{offset VkDeviceGroupRenderPassBeginInfo, pNext}+        type FieldIsArray "pNext" VkDeviceGroupRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupRenderPassBeginInfo, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDeviceGroupRenderPassBeginInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupRenderPassBeginInfo, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDeviceGroupRenderPassBeginInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, pNext}++instance {-# OVERLAPPING #-}+         HasField "deviceMask" VkDeviceGroupRenderPassBeginInfo where+        type FieldType "deviceMask" VkDeviceGroupRenderPassBeginInfo =+             Word32+        type FieldOptional "deviceMask" VkDeviceGroupRenderPassBeginInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "deviceMask" VkDeviceGroupRenderPassBeginInfo =+             #{offset VkDeviceGroupRenderPassBeginInfo, deviceMask}+        type FieldIsArray "deviceMask" VkDeviceGroupRenderPassBeginInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupRenderPassBeginInfo, deviceMask}++instance {-# OVERLAPPING #-}+         CanReadField "deviceMask" VkDeviceGroupRenderPassBeginInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupRenderPassBeginInfo, deviceMask})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, deviceMask}++instance {-# OVERLAPPING #-}+         CanWriteField "deviceMask" VkDeviceGroupRenderPassBeginInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, deviceMask}++instance {-# OVERLAPPING #-}+         HasField "deviceRenderAreaCount" VkDeviceGroupRenderPassBeginInfo+         where+        type FieldType "deviceRenderAreaCount"+               VkDeviceGroupRenderPassBeginInfo+             = Word32+        type FieldOptional "deviceRenderAreaCount"+               VkDeviceGroupRenderPassBeginInfo+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "deviceRenderAreaCount"+               VkDeviceGroupRenderPassBeginInfo+             =+             #{offset VkDeviceGroupRenderPassBeginInfo, deviceRenderAreaCount}+        type FieldIsArray "deviceRenderAreaCount"+               VkDeviceGroupRenderPassBeginInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupRenderPassBeginInfo, deviceRenderAreaCount}++instance {-# OVERLAPPING #-}+         CanReadField "deviceRenderAreaCount"+           VkDeviceGroupRenderPassBeginInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupRenderPassBeginInfo, deviceRenderAreaCount})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, deviceRenderAreaCount}++instance {-# OVERLAPPING #-}+         CanWriteField "deviceRenderAreaCount"+           VkDeviceGroupRenderPassBeginInfo+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, deviceRenderAreaCount}++instance {-# OVERLAPPING #-}+         HasField "pDeviceRenderAreas" VkDeviceGroupRenderPassBeginInfo+         where+        type FieldType "pDeviceRenderAreas"+               VkDeviceGroupRenderPassBeginInfo+             = Ptr VkRect2D+        type FieldOptional "pDeviceRenderAreas"+               VkDeviceGroupRenderPassBeginInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pDeviceRenderAreas"+               VkDeviceGroupRenderPassBeginInfo+             =+             #{offset VkDeviceGroupRenderPassBeginInfo, pDeviceRenderAreas}+        type FieldIsArray "pDeviceRenderAreas"+               VkDeviceGroupRenderPassBeginInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupRenderPassBeginInfo, pDeviceRenderAreas}++instance {-# OVERLAPPING #-}+         CanReadField "pDeviceRenderAreas" VkDeviceGroupRenderPassBeginInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupRenderPassBeginInfo, pDeviceRenderAreas})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, pDeviceRenderAreas}++instance {-# OVERLAPPING #-}+         CanWriteField "pDeviceRenderAreas" VkDeviceGroupRenderPassBeginInfo+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, pDeviceRenderAreas}++instance Show VkDeviceGroupRenderPassBeginInfo where+        showsPrec d x+          = showString "VkDeviceGroupRenderPassBeginInfo {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "deviceMask = " .+                            showsPrec d (getField @"deviceMask" x) .+                              showString ", " .+                                showString "deviceRenderAreaCount = " .+                                  showsPrec d (getField @"deviceRenderAreaCount" x) .+                                    showString ", " .+                                      showString "pDeviceRenderAreas = " .+                                        showsPrec d (getField @"pDeviceRenderAreas" x) .+                                          showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupRenderPassBeginInfoKHR.hs view
@@ -0,0 +1,11 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Struct.VkDeviceGroupRenderPassBeginInfoKHR+       (VkDeviceGroupRenderPassBeginInfo(..),+        VkDeviceGroupRenderPassBeginInfoKHR)+       where+import           Graphics.Vulkan.Types.Struct.VkDeviceGroupRenderPassBeginInfo (VkDeviceGroupRenderPassBeginInfo (..))++-- | Alias for `VkDeviceGroupRenderPassBeginInfo`+type VkDeviceGroupRenderPassBeginInfoKHR =+     VkDeviceGroupRenderPassBeginInfo
− src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupRenderPassBeginInfoKHX.hsc
@@ -1,386 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkDeviceGroupRenderPassBeginInfoKHX-       (VkDeviceGroupRenderPassBeginInfoKHX(..)) where-import           Foreign.Storable                                   (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkStructureType         (VkStructureType)-import           Graphics.Vulkan.Types.Struct.VkRect2D              (VkRect2D)-import           Graphics.Vulkan.Types.Struct.VkRenderPassBeginInfo (VkRenderPassBeginInfo)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                                   (unsafeDupablePerformIO)---- | > typedef struct VkDeviceGroupRenderPassBeginInfoKHX {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t                         deviceMask;---   >     uint32_t         deviceRenderAreaCount;---   >     const VkRect2D*  pDeviceRenderAreas;---   > } VkDeviceGroupRenderPassBeginInfoKHX;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDeviceGroupRenderPassBeginInfoKHX.html VkDeviceGroupRenderPassBeginInfoKHX registry at www.khronos.org>-data VkDeviceGroupRenderPassBeginInfoKHX = VkDeviceGroupRenderPassBeginInfoKHX## Addr##-                                                                                ByteArray##--instance Eq VkDeviceGroupRenderPassBeginInfoKHX where-        (VkDeviceGroupRenderPassBeginInfoKHX## a _) ==-          x@(VkDeviceGroupRenderPassBeginInfoKHX## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkDeviceGroupRenderPassBeginInfoKHX where-        (VkDeviceGroupRenderPassBeginInfoKHX## a _) `compare`-          x@(VkDeviceGroupRenderPassBeginInfoKHX## b _)-          = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkDeviceGroupRenderPassBeginInfoKHX where-        sizeOf ~_ = #{size VkDeviceGroupRenderPassBeginInfoKHX}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDeviceGroupRenderPassBeginInfoKHX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkDeviceGroupRenderPassBeginInfoKHX-         where-        unsafeAddr (VkDeviceGroupRenderPassBeginInfoKHX## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkDeviceGroupRenderPassBeginInfoKHX## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkDeviceGroupRenderPassBeginInfoKHX##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkDeviceGroupRenderPassBeginInfoKHX where-        type StructFields VkDeviceGroupRenderPassBeginInfoKHX =-             '["sType", "pNext", "deviceMask", "deviceRenderAreaCount", -- ' closing tick for hsc2hs-               "pDeviceRenderAreas"]-        type CUnionType VkDeviceGroupRenderPassBeginInfoKHX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDeviceGroupRenderPassBeginInfoKHX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDeviceGroupRenderPassBeginInfoKHX =-             '[VkRenderPassBeginInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasVkSType VkDeviceGroupRenderPassBeginInfoKHX where-        type VkSTypeMType VkDeviceGroupRenderPassBeginInfoKHX =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupRenderPassBeginInfoKHX, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDeviceGroupRenderPassBeginInfoKHX, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDeviceGroupRenderPassBeginInfoKHX, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDeviceGroupRenderPassBeginInfoKHX, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkDeviceGroupRenderPassBeginInfoKHX where-        type FieldType "sType" VkDeviceGroupRenderPassBeginInfoKHX =-             VkStructureType-        type FieldOptional "sType" VkDeviceGroupRenderPassBeginInfoKHX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDeviceGroupRenderPassBeginInfoKHX =-             #{offset VkDeviceGroupRenderPassBeginInfoKHX, sType}-        type FieldIsArray "sType" VkDeviceGroupRenderPassBeginInfoKHX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupRenderPassBeginInfoKHX, sType}--instance CanReadField "sType" VkDeviceGroupRenderPassBeginInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkDeviceGroupRenderPassBeginInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-}-         HasVkPNext VkDeviceGroupRenderPassBeginInfoKHX where-        type VkPNextMType VkDeviceGroupRenderPassBeginInfoKHX = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupRenderPassBeginInfoKHX, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDeviceGroupRenderPassBeginInfoKHX, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDeviceGroupRenderPassBeginInfoKHX, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDeviceGroupRenderPassBeginInfoKHX, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDeviceGroupRenderPassBeginInfoKHX where-        type FieldType "pNext" VkDeviceGroupRenderPassBeginInfoKHX =-             Ptr Void-        type FieldOptional "pNext" VkDeviceGroupRenderPassBeginInfoKHX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDeviceGroupRenderPassBeginInfoKHX =-             #{offset VkDeviceGroupRenderPassBeginInfoKHX, pNext}-        type FieldIsArray "pNext" VkDeviceGroupRenderPassBeginInfoKHX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupRenderPassBeginInfoKHX, pNext}--instance CanReadField "pNext" VkDeviceGroupRenderPassBeginInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkDeviceGroupRenderPassBeginInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-}-         HasVkDeviceMask VkDeviceGroupRenderPassBeginInfoKHX where-        type VkDeviceMaskMType VkDeviceGroupRenderPassBeginInfoKHX = Word32--        {-# NOINLINE vkDeviceMask #-}-        vkDeviceMask x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupRenderPassBeginInfoKHX, deviceMask})--        {-# INLINE vkDeviceMaskByteOffset #-}-        vkDeviceMaskByteOffset ~_-          = #{offset VkDeviceGroupRenderPassBeginInfoKHX, deviceMask}--        {-# INLINE readVkDeviceMask #-}-        readVkDeviceMask p-          = peekByteOff p #{offset VkDeviceGroupRenderPassBeginInfoKHX, deviceMask}--        {-# INLINE writeVkDeviceMask #-}-        writeVkDeviceMask p-          = pokeByteOff p #{offset VkDeviceGroupRenderPassBeginInfoKHX, deviceMask}--instance {-# OVERLAPPING #-}-         HasField "deviceMask" VkDeviceGroupRenderPassBeginInfoKHX where-        type FieldType "deviceMask" VkDeviceGroupRenderPassBeginInfoKHX =-             Word32-        type FieldOptional "deviceMask" VkDeviceGroupRenderPassBeginInfoKHX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "deviceMask" VkDeviceGroupRenderPassBeginInfoKHX =-             #{offset VkDeviceGroupRenderPassBeginInfoKHX, deviceMask}-        type FieldIsArray "deviceMask" VkDeviceGroupRenderPassBeginInfoKHX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupRenderPassBeginInfoKHX, deviceMask}--instance CanReadField "deviceMask"-           VkDeviceGroupRenderPassBeginInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkDeviceMask--        {-# INLINE readField #-}-        readField = readVkDeviceMask--instance CanWriteField "deviceMask"-           VkDeviceGroupRenderPassBeginInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkDeviceMask--instance {-# OVERLAPPING #-}-         HasVkDeviceRenderAreaCount VkDeviceGroupRenderPassBeginInfoKHX-         where-        type VkDeviceRenderAreaCountMType-               VkDeviceGroupRenderPassBeginInfoKHX-             = Word32--        {-# NOINLINE vkDeviceRenderAreaCount #-}-        vkDeviceRenderAreaCount x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupRenderPassBeginInfoKHX, deviceRenderAreaCount})--        {-# INLINE vkDeviceRenderAreaCountByteOffset #-}-        vkDeviceRenderAreaCountByteOffset ~_-          = #{offset VkDeviceGroupRenderPassBeginInfoKHX, deviceRenderAreaCount}--        {-# INLINE readVkDeviceRenderAreaCount #-}-        readVkDeviceRenderAreaCount p-          = peekByteOff p #{offset VkDeviceGroupRenderPassBeginInfoKHX, deviceRenderAreaCount}--        {-# INLINE writeVkDeviceRenderAreaCount #-}-        writeVkDeviceRenderAreaCount p-          = pokeByteOff p #{offset VkDeviceGroupRenderPassBeginInfoKHX, deviceRenderAreaCount}--instance {-# OVERLAPPING #-}-         HasField "deviceRenderAreaCount"-           VkDeviceGroupRenderPassBeginInfoKHX-         where-        type FieldType "deviceRenderAreaCount"-               VkDeviceGroupRenderPassBeginInfoKHX-             = Word32-        type FieldOptional "deviceRenderAreaCount"-               VkDeviceGroupRenderPassBeginInfoKHX-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "deviceRenderAreaCount"-               VkDeviceGroupRenderPassBeginInfoKHX-             =-             #{offset VkDeviceGroupRenderPassBeginInfoKHX, deviceRenderAreaCount}-        type FieldIsArray "deviceRenderAreaCount"-               VkDeviceGroupRenderPassBeginInfoKHX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupRenderPassBeginInfoKHX, deviceRenderAreaCount}--instance CanReadField "deviceRenderAreaCount"-           VkDeviceGroupRenderPassBeginInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkDeviceRenderAreaCount--        {-# INLINE readField #-}-        readField = readVkDeviceRenderAreaCount--instance CanWriteField "deviceRenderAreaCount"-           VkDeviceGroupRenderPassBeginInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkDeviceRenderAreaCount--instance {-# OVERLAPPING #-}-         HasVkPDeviceRenderAreas VkDeviceGroupRenderPassBeginInfoKHX where-        type VkPDeviceRenderAreasMType VkDeviceGroupRenderPassBeginInfoKHX-             = Ptr VkRect2D--        {-# NOINLINE vkPDeviceRenderAreas #-}-        vkPDeviceRenderAreas x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupRenderPassBeginInfoKHX, pDeviceRenderAreas})--        {-# INLINE vkPDeviceRenderAreasByteOffset #-}-        vkPDeviceRenderAreasByteOffset ~_-          = #{offset VkDeviceGroupRenderPassBeginInfoKHX, pDeviceRenderAreas}--        {-# INLINE readVkPDeviceRenderAreas #-}-        readVkPDeviceRenderAreas p-          = peekByteOff p #{offset VkDeviceGroupRenderPassBeginInfoKHX, pDeviceRenderAreas}--        {-# INLINE writeVkPDeviceRenderAreas #-}-        writeVkPDeviceRenderAreas p-          = pokeByteOff p #{offset VkDeviceGroupRenderPassBeginInfoKHX, pDeviceRenderAreas}--instance {-# OVERLAPPING #-}-         HasField "pDeviceRenderAreas" VkDeviceGroupRenderPassBeginInfoKHX-         where-        type FieldType "pDeviceRenderAreas"-               VkDeviceGroupRenderPassBeginInfoKHX-             = Ptr VkRect2D-        type FieldOptional "pDeviceRenderAreas"-               VkDeviceGroupRenderPassBeginInfoKHX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pDeviceRenderAreas"-               VkDeviceGroupRenderPassBeginInfoKHX-             =-             #{offset VkDeviceGroupRenderPassBeginInfoKHX, pDeviceRenderAreas}-        type FieldIsArray "pDeviceRenderAreas"-               VkDeviceGroupRenderPassBeginInfoKHX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupRenderPassBeginInfoKHX, pDeviceRenderAreas}--instance CanReadField "pDeviceRenderAreas"-           VkDeviceGroupRenderPassBeginInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkPDeviceRenderAreas--        {-# INLINE readField #-}-        readField = readVkPDeviceRenderAreas--instance CanWriteField "pDeviceRenderAreas"-           VkDeviceGroupRenderPassBeginInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkPDeviceRenderAreas--instance Show VkDeviceGroupRenderPassBeginInfoKHX where-        showsPrec d x-          = showString "VkDeviceGroupRenderPassBeginInfoKHX {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkDeviceMask = " .-                            showsPrec d (vkDeviceMask x) .-                              showString ", " .-                                showString "vkDeviceRenderAreaCount = " .-                                  showsPrec d (vkDeviceRenderAreaCount x) .-                                    showString ", " .-                                      showString "vkPDeviceRenderAreas = " .-                                        showsPrec d (vkPDeviceRenderAreas x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupSubmitInfo.hsc view
@@ -0,0 +1,412 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDeviceGroupSubmitInfo+       (VkDeviceGroupSubmitInfo(..)) where+import           Foreign.Storable                           (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkSubmitInfo  (VkSubmitInfo)+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkDeviceGroupSubmitInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t         waitSemaphoreCount;+--   >     const uint32_t*    pWaitSemaphoreDeviceIndices;+--   >     uint32_t         commandBufferCount;+--   >     const uint32_t*    pCommandBufferDeviceMasks;+--   >     uint32_t         signalSemaphoreCount;+--   >     const uint32_t*  pSignalSemaphoreDeviceIndices;+--   > } VkDeviceGroupSubmitInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDeviceGroupSubmitInfo.html VkDeviceGroupSubmitInfo registry at www.khronos.org>+data VkDeviceGroupSubmitInfo = VkDeviceGroupSubmitInfo## Addr##+                                                        ByteArray##++instance Eq VkDeviceGroupSubmitInfo where+        (VkDeviceGroupSubmitInfo## a _) == x@(VkDeviceGroupSubmitInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDeviceGroupSubmitInfo where+        (VkDeviceGroupSubmitInfo## a _) `compare`+          x@(VkDeviceGroupSubmitInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDeviceGroupSubmitInfo where+        sizeOf ~_ = #{size VkDeviceGroupSubmitInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDeviceGroupSubmitInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceGroupSubmitInfo where+        unsafeAddr (VkDeviceGroupSubmitInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDeviceGroupSubmitInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDeviceGroupSubmitInfo## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceGroupSubmitInfo where+        type StructFields VkDeviceGroupSubmitInfo =+             '["sType", "pNext", "waitSemaphoreCount", -- ' closing tick for hsc2hs+               "pWaitSemaphoreDeviceIndices", "commandBufferCount",+               "pCommandBufferDeviceMasks", "signalSemaphoreCount",+               "pSignalSemaphoreDeviceIndices"]+        type CUnionType VkDeviceGroupSubmitInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDeviceGroupSubmitInfo = 'False -- ' closing tick for hsc2hs+        type StructExtends VkDeviceGroupSubmitInfo = '[VkSubmitInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkDeviceGroupSubmitInfo where+        type FieldType "sType" VkDeviceGroupSubmitInfo = VkStructureType+        type FieldOptional "sType" VkDeviceGroupSubmitInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDeviceGroupSubmitInfo =+             #{offset VkDeviceGroupSubmitInfo, sType}+        type FieldIsArray "sType" VkDeviceGroupSubmitInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDeviceGroupSubmitInfo, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDeviceGroupSubmitInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupSubmitInfo, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDeviceGroupSubmitInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDeviceGroupSubmitInfo where+        type FieldType "pNext" VkDeviceGroupSubmitInfo = Ptr Void+        type FieldOptional "pNext" VkDeviceGroupSubmitInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDeviceGroupSubmitInfo =+             #{offset VkDeviceGroupSubmitInfo, pNext}+        type FieldIsArray "pNext" VkDeviceGroupSubmitInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDeviceGroupSubmitInfo, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDeviceGroupSubmitInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupSubmitInfo, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDeviceGroupSubmitInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, pNext}++instance {-# OVERLAPPING #-}+         HasField "waitSemaphoreCount" VkDeviceGroupSubmitInfo where+        type FieldType "waitSemaphoreCount" VkDeviceGroupSubmitInfo =+             Word32+        type FieldOptional "waitSemaphoreCount" VkDeviceGroupSubmitInfo =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "waitSemaphoreCount" VkDeviceGroupSubmitInfo =+             #{offset VkDeviceGroupSubmitInfo, waitSemaphoreCount}+        type FieldIsArray "waitSemaphoreCount" VkDeviceGroupSubmitInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupSubmitInfo, waitSemaphoreCount}++instance {-# OVERLAPPING #-}+         CanReadField "waitSemaphoreCount" VkDeviceGroupSubmitInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, waitSemaphoreCount})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupSubmitInfo, waitSemaphoreCount}++instance {-# OVERLAPPING #-}+         CanWriteField "waitSemaphoreCount" VkDeviceGroupSubmitInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, waitSemaphoreCount}++instance {-# OVERLAPPING #-}+         HasField "pWaitSemaphoreDeviceIndices" VkDeviceGroupSubmitInfo+         where+        type FieldType "pWaitSemaphoreDeviceIndices"+               VkDeviceGroupSubmitInfo+             = Ptr Word32+        type FieldOptional "pWaitSemaphoreDeviceIndices"+               VkDeviceGroupSubmitInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pWaitSemaphoreDeviceIndices"+               VkDeviceGroupSubmitInfo+             =+             #{offset VkDeviceGroupSubmitInfo, pWaitSemaphoreDeviceIndices}+        type FieldIsArray "pWaitSemaphoreDeviceIndices"+               VkDeviceGroupSubmitInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupSubmitInfo, pWaitSemaphoreDeviceIndices}++instance {-# OVERLAPPING #-}+         CanReadField "pWaitSemaphoreDeviceIndices" VkDeviceGroupSubmitInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, pWaitSemaphoreDeviceIndices})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupSubmitInfo, pWaitSemaphoreDeviceIndices}++instance {-# OVERLAPPING #-}+         CanWriteField "pWaitSemaphoreDeviceIndices" VkDeviceGroupSubmitInfo+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, pWaitSemaphoreDeviceIndices}++instance {-# OVERLAPPING #-}+         HasField "commandBufferCount" VkDeviceGroupSubmitInfo where+        type FieldType "commandBufferCount" VkDeviceGroupSubmitInfo =+             Word32+        type FieldOptional "commandBufferCount" VkDeviceGroupSubmitInfo =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "commandBufferCount" VkDeviceGroupSubmitInfo =+             #{offset VkDeviceGroupSubmitInfo, commandBufferCount}+        type FieldIsArray "commandBufferCount" VkDeviceGroupSubmitInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupSubmitInfo, commandBufferCount}++instance {-# OVERLAPPING #-}+         CanReadField "commandBufferCount" VkDeviceGroupSubmitInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, commandBufferCount})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupSubmitInfo, commandBufferCount}++instance {-# OVERLAPPING #-}+         CanWriteField "commandBufferCount" VkDeviceGroupSubmitInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, commandBufferCount}++instance {-# OVERLAPPING #-}+         HasField "pCommandBufferDeviceMasks" VkDeviceGroupSubmitInfo where+        type FieldType "pCommandBufferDeviceMasks" VkDeviceGroupSubmitInfo+             = Ptr Word32+        type FieldOptional "pCommandBufferDeviceMasks"+               VkDeviceGroupSubmitInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pCommandBufferDeviceMasks"+               VkDeviceGroupSubmitInfo+             =+             #{offset VkDeviceGroupSubmitInfo, pCommandBufferDeviceMasks}+        type FieldIsArray "pCommandBufferDeviceMasks"+               VkDeviceGroupSubmitInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupSubmitInfo, pCommandBufferDeviceMasks}++instance {-# OVERLAPPING #-}+         CanReadField "pCommandBufferDeviceMasks" VkDeviceGroupSubmitInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, pCommandBufferDeviceMasks})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupSubmitInfo, pCommandBufferDeviceMasks}++instance {-# OVERLAPPING #-}+         CanWriteField "pCommandBufferDeviceMasks" VkDeviceGroupSubmitInfo+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, pCommandBufferDeviceMasks}++instance {-# OVERLAPPING #-}+         HasField "signalSemaphoreCount" VkDeviceGroupSubmitInfo where+        type FieldType "signalSemaphoreCount" VkDeviceGroupSubmitInfo =+             Word32+        type FieldOptional "signalSemaphoreCount" VkDeviceGroupSubmitInfo =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "signalSemaphoreCount" VkDeviceGroupSubmitInfo =+             #{offset VkDeviceGroupSubmitInfo, signalSemaphoreCount}+        type FieldIsArray "signalSemaphoreCount" VkDeviceGroupSubmitInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupSubmitInfo, signalSemaphoreCount}++instance {-# OVERLAPPING #-}+         CanReadField "signalSemaphoreCount" VkDeviceGroupSubmitInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, signalSemaphoreCount})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupSubmitInfo, signalSemaphoreCount}++instance {-# OVERLAPPING #-}+         CanWriteField "signalSemaphoreCount" VkDeviceGroupSubmitInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, signalSemaphoreCount}++instance {-# OVERLAPPING #-}+         HasField "pSignalSemaphoreDeviceIndices" VkDeviceGroupSubmitInfo+         where+        type FieldType "pSignalSemaphoreDeviceIndices"+               VkDeviceGroupSubmitInfo+             = Ptr Word32+        type FieldOptional "pSignalSemaphoreDeviceIndices"+               VkDeviceGroupSubmitInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pSignalSemaphoreDeviceIndices"+               VkDeviceGroupSubmitInfo+             =+             #{offset VkDeviceGroupSubmitInfo, pSignalSemaphoreDeviceIndices}+        type FieldIsArray "pSignalSemaphoreDeviceIndices"+               VkDeviceGroupSubmitInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupSubmitInfo, pSignalSemaphoreDeviceIndices}++instance {-# OVERLAPPING #-}+         CanReadField "pSignalSemaphoreDeviceIndices"+           VkDeviceGroupSubmitInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, pSignalSemaphoreDeviceIndices})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupSubmitInfo, pSignalSemaphoreDeviceIndices}++instance {-# OVERLAPPING #-}+         CanWriteField "pSignalSemaphoreDeviceIndices"+           VkDeviceGroupSubmitInfo+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, pSignalSemaphoreDeviceIndices}++instance Show VkDeviceGroupSubmitInfo where+        showsPrec d x+          = showString "VkDeviceGroupSubmitInfo {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "waitSemaphoreCount = " .+                            showsPrec d (getField @"waitSemaphoreCount" x) .+                              showString ", " .+                                showString "pWaitSemaphoreDeviceIndices = " .+                                  showsPrec d (getField @"pWaitSemaphoreDeviceIndices" x) .+                                    showString ", " .+                                      showString "commandBufferCount = " .+                                        showsPrec d (getField @"commandBufferCount" x) .+                                          showString ", " .+                                            showString "pCommandBufferDeviceMasks = " .+                                              showsPrec d (getField @"pCommandBufferDeviceMasks" x)+                                                .+                                                showString ", " .+                                                  showString "signalSemaphoreCount = " .+                                                    showsPrec d (getField @"signalSemaphoreCount" x)+                                                      .+                                                      showString ", " .+                                                        showString+                                                          "pSignalSemaphoreDeviceIndices = "+                                                          .+                                                          showsPrec d+                                                            (getField+                                                               @"pSignalSemaphoreDeviceIndices"+                                                               x)+                                                            . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupSubmitInfoKHR.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Struct.VkDeviceGroupSubmitInfoKHR+       (VkDeviceGroupSubmitInfo(..), VkDeviceGroupSubmitInfoKHR) where+import           Graphics.Vulkan.Types.Struct.VkDeviceGroupSubmitInfo (VkDeviceGroupSubmitInfo (..))++-- | Alias for `VkDeviceGroupSubmitInfo`+type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo
− src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupSubmitInfoKHX.hsc
@@ -1,558 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkDeviceGroupSubmitInfoKHX-       (VkDeviceGroupSubmitInfoKHX(..)) where-import           Foreign.Storable                           (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)-import           Graphics.Vulkan.Types.Struct.VkSubmitInfo  (VkSubmitInfo)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                           (unsafeDupablePerformIO)---- | > typedef struct VkDeviceGroupSubmitInfoKHX {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     uint32_t         waitSemaphoreCount;---   >     const uint32_t*    pWaitSemaphoreDeviceIndices;---   >     uint32_t         commandBufferCount;---   >     const uint32_t*    pCommandBufferDeviceMasks;---   >     uint32_t         signalSemaphoreCount;---   >     const uint32_t*  pSignalSemaphoreDeviceIndices;---   > } VkDeviceGroupSubmitInfoKHX;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDeviceGroupSubmitInfoKHX.html VkDeviceGroupSubmitInfoKHX registry at www.khronos.org>-data VkDeviceGroupSubmitInfoKHX = VkDeviceGroupSubmitInfoKHX## Addr##-                                                              ByteArray##--instance Eq VkDeviceGroupSubmitInfoKHX where-        (VkDeviceGroupSubmitInfoKHX## a _) ==-          x@(VkDeviceGroupSubmitInfoKHX## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkDeviceGroupSubmitInfoKHX where-        (VkDeviceGroupSubmitInfoKHX## a _) `compare`-          x@(VkDeviceGroupSubmitInfoKHX## b _) = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkDeviceGroupSubmitInfoKHX where-        sizeOf ~_ = #{size VkDeviceGroupSubmitInfoKHX}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkDeviceGroupSubmitInfoKHX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkDeviceGroupSubmitInfoKHX where-        unsafeAddr (VkDeviceGroupSubmitInfoKHX## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkDeviceGroupSubmitInfoKHX## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkDeviceGroupSubmitInfoKHX##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkDeviceGroupSubmitInfoKHX where-        type StructFields VkDeviceGroupSubmitInfoKHX =-             '["sType", "pNext", "waitSemaphoreCount", -- ' closing tick for hsc2hs-               "pWaitSemaphoreDeviceIndices", "commandBufferCount",-               "pCommandBufferDeviceMasks", "signalSemaphoreCount",-               "pSignalSemaphoreDeviceIndices"]-        type CUnionType VkDeviceGroupSubmitInfoKHX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDeviceGroupSubmitInfoKHX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDeviceGroupSubmitInfoKHX = '[VkSubmitInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasVkSType VkDeviceGroupSubmitInfoKHX-         where-        type VkSTypeMType VkDeviceGroupSubmitInfoKHX = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfoKHX, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDeviceGroupSubmitInfoKHX, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDeviceGroupSubmitInfoKHX, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDeviceGroupSubmitInfoKHX, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkDeviceGroupSubmitInfoKHX where-        type FieldType "sType" VkDeviceGroupSubmitInfoKHX = VkStructureType-        type FieldOptional "sType" VkDeviceGroupSubmitInfoKHX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDeviceGroupSubmitInfoKHX =-             #{offset VkDeviceGroupSubmitInfoKHX, sType}-        type FieldIsArray "sType" VkDeviceGroupSubmitInfoKHX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupSubmitInfoKHX, sType}--instance CanReadField "sType" VkDeviceGroupSubmitInfoKHX where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkDeviceGroupSubmitInfoKHX where-        {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkDeviceGroupSubmitInfoKHX-         where-        type VkPNextMType VkDeviceGroupSubmitInfoKHX = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfoKHX, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDeviceGroupSubmitInfoKHX, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDeviceGroupSubmitInfoKHX, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDeviceGroupSubmitInfoKHX, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDeviceGroupSubmitInfoKHX where-        type FieldType "pNext" VkDeviceGroupSubmitInfoKHX = Ptr Void-        type FieldOptional "pNext" VkDeviceGroupSubmitInfoKHX = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDeviceGroupSubmitInfoKHX =-             #{offset VkDeviceGroupSubmitInfoKHX, pNext}-        type FieldIsArray "pNext" VkDeviceGroupSubmitInfoKHX = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupSubmitInfoKHX, pNext}--instance CanReadField "pNext" VkDeviceGroupSubmitInfoKHX where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkDeviceGroupSubmitInfoKHX where-        {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-}-         HasVkWaitSemaphoreCount VkDeviceGroupSubmitInfoKHX where-        type VkWaitSemaphoreCountMType VkDeviceGroupSubmitInfoKHX = Word32--        {-# NOINLINE vkWaitSemaphoreCount #-}-        vkWaitSemaphoreCount x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfoKHX, waitSemaphoreCount})--        {-# INLINE vkWaitSemaphoreCountByteOffset #-}-        vkWaitSemaphoreCountByteOffset ~_-          = #{offset VkDeviceGroupSubmitInfoKHX, waitSemaphoreCount}--        {-# INLINE readVkWaitSemaphoreCount #-}-        readVkWaitSemaphoreCount p-          = peekByteOff p #{offset VkDeviceGroupSubmitInfoKHX, waitSemaphoreCount}--        {-# INLINE writeVkWaitSemaphoreCount #-}-        writeVkWaitSemaphoreCount p-          = pokeByteOff p #{offset VkDeviceGroupSubmitInfoKHX, waitSemaphoreCount}--instance {-# OVERLAPPING #-}-         HasField "waitSemaphoreCount" VkDeviceGroupSubmitInfoKHX where-        type FieldType "waitSemaphoreCount" VkDeviceGroupSubmitInfoKHX =-             Word32-        type FieldOptional "waitSemaphoreCount" VkDeviceGroupSubmitInfoKHX-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "waitSemaphoreCount" VkDeviceGroupSubmitInfoKHX =-             #{offset VkDeviceGroupSubmitInfoKHX, waitSemaphoreCount}-        type FieldIsArray "waitSemaphoreCount" VkDeviceGroupSubmitInfoKHX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupSubmitInfoKHX, waitSemaphoreCount}--instance CanReadField "waitSemaphoreCount"-           VkDeviceGroupSubmitInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkWaitSemaphoreCount--        {-# INLINE readField #-}-        readField = readVkWaitSemaphoreCount--instance CanWriteField "waitSemaphoreCount"-           VkDeviceGroupSubmitInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkWaitSemaphoreCount--instance {-# OVERLAPPING #-}-         HasVkPWaitSemaphoreDeviceIndices VkDeviceGroupSubmitInfoKHX where-        type VkPWaitSemaphoreDeviceIndicesMType VkDeviceGroupSubmitInfoKHX-             = Ptr Word32--        {-# NOINLINE vkPWaitSemaphoreDeviceIndices #-}-        vkPWaitSemaphoreDeviceIndices x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfoKHX, pWaitSemaphoreDeviceIndices})--        {-# INLINE vkPWaitSemaphoreDeviceIndicesByteOffset #-}-        vkPWaitSemaphoreDeviceIndicesByteOffset ~_-          = #{offset VkDeviceGroupSubmitInfoKHX, pWaitSemaphoreDeviceIndices}--        {-# INLINE readVkPWaitSemaphoreDeviceIndices #-}-        readVkPWaitSemaphoreDeviceIndices p-          = peekByteOff p #{offset VkDeviceGroupSubmitInfoKHX, pWaitSemaphoreDeviceIndices}--        {-# INLINE writeVkPWaitSemaphoreDeviceIndices #-}-        writeVkPWaitSemaphoreDeviceIndices p-          = pokeByteOff p #{offset VkDeviceGroupSubmitInfoKHX, pWaitSemaphoreDeviceIndices}--instance {-# OVERLAPPING #-}-         HasField "pWaitSemaphoreDeviceIndices" VkDeviceGroupSubmitInfoKHX-         where-        type FieldType "pWaitSemaphoreDeviceIndices"-               VkDeviceGroupSubmitInfoKHX-             = Ptr Word32-        type FieldOptional "pWaitSemaphoreDeviceIndices"-               VkDeviceGroupSubmitInfoKHX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pWaitSemaphoreDeviceIndices"-               VkDeviceGroupSubmitInfoKHX-             =-             #{offset VkDeviceGroupSubmitInfoKHX, pWaitSemaphoreDeviceIndices}-        type FieldIsArray "pWaitSemaphoreDeviceIndices"-               VkDeviceGroupSubmitInfoKHX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupSubmitInfoKHX, pWaitSemaphoreDeviceIndices}--instance CanReadField "pWaitSemaphoreDeviceIndices"-           VkDeviceGroupSubmitInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkPWaitSemaphoreDeviceIndices--        {-# INLINE readField #-}-        readField = readVkPWaitSemaphoreDeviceIndices--instance CanWriteField "pWaitSemaphoreDeviceIndices"-           VkDeviceGroupSubmitInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkPWaitSemaphoreDeviceIndices--instance {-# OVERLAPPING #-}-         HasVkCommandBufferCount VkDeviceGroupSubmitInfoKHX where-        type VkCommandBufferCountMType VkDeviceGroupSubmitInfoKHX = Word32--        {-# NOINLINE vkCommandBufferCount #-}-        vkCommandBufferCount x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfoKHX, commandBufferCount})--        {-# INLINE vkCommandBufferCountByteOffset #-}-        vkCommandBufferCountByteOffset ~_-          = #{offset VkDeviceGroupSubmitInfoKHX, commandBufferCount}--        {-# INLINE readVkCommandBufferCount #-}-        readVkCommandBufferCount p-          = peekByteOff p #{offset VkDeviceGroupSubmitInfoKHX, commandBufferCount}--        {-# INLINE writeVkCommandBufferCount #-}-        writeVkCommandBufferCount p-          = pokeByteOff p #{offset VkDeviceGroupSubmitInfoKHX, commandBufferCount}--instance {-# OVERLAPPING #-}-         HasField "commandBufferCount" VkDeviceGroupSubmitInfoKHX where-        type FieldType "commandBufferCount" VkDeviceGroupSubmitInfoKHX =-             Word32-        type FieldOptional "commandBufferCount" VkDeviceGroupSubmitInfoKHX-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "commandBufferCount" VkDeviceGroupSubmitInfoKHX =-             #{offset VkDeviceGroupSubmitInfoKHX, commandBufferCount}-        type FieldIsArray "commandBufferCount" VkDeviceGroupSubmitInfoKHX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupSubmitInfoKHX, commandBufferCount}--instance CanReadField "commandBufferCount"-           VkDeviceGroupSubmitInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkCommandBufferCount--        {-# INLINE readField #-}-        readField = readVkCommandBufferCount--instance CanWriteField "commandBufferCount"-           VkDeviceGroupSubmitInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkCommandBufferCount--instance {-# OVERLAPPING #-}-         HasVkPCommandBufferDeviceMasks VkDeviceGroupSubmitInfoKHX where-        type VkPCommandBufferDeviceMasksMType VkDeviceGroupSubmitInfoKHX =-             Ptr Word32--        {-# NOINLINE vkPCommandBufferDeviceMasks #-}-        vkPCommandBufferDeviceMasks x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfoKHX, pCommandBufferDeviceMasks})--        {-# INLINE vkPCommandBufferDeviceMasksByteOffset #-}-        vkPCommandBufferDeviceMasksByteOffset ~_-          = #{offset VkDeviceGroupSubmitInfoKHX, pCommandBufferDeviceMasks}--        {-# INLINE readVkPCommandBufferDeviceMasks #-}-        readVkPCommandBufferDeviceMasks p-          = peekByteOff p #{offset VkDeviceGroupSubmitInfoKHX, pCommandBufferDeviceMasks}--        {-# INLINE writeVkPCommandBufferDeviceMasks #-}-        writeVkPCommandBufferDeviceMasks p-          = pokeByteOff p #{offset VkDeviceGroupSubmitInfoKHX, pCommandBufferDeviceMasks}--instance {-# OVERLAPPING #-}-         HasField "pCommandBufferDeviceMasks" VkDeviceGroupSubmitInfoKHX-         where-        type FieldType "pCommandBufferDeviceMasks"-               VkDeviceGroupSubmitInfoKHX-             = Ptr Word32-        type FieldOptional "pCommandBufferDeviceMasks"-               VkDeviceGroupSubmitInfoKHX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pCommandBufferDeviceMasks"-               VkDeviceGroupSubmitInfoKHX-             =-             #{offset VkDeviceGroupSubmitInfoKHX, pCommandBufferDeviceMasks}-        type FieldIsArray "pCommandBufferDeviceMasks"-               VkDeviceGroupSubmitInfoKHX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupSubmitInfoKHX, pCommandBufferDeviceMasks}--instance CanReadField "pCommandBufferDeviceMasks"-           VkDeviceGroupSubmitInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkPCommandBufferDeviceMasks--        {-# INLINE readField #-}-        readField = readVkPCommandBufferDeviceMasks--instance CanWriteField "pCommandBufferDeviceMasks"-           VkDeviceGroupSubmitInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkPCommandBufferDeviceMasks--instance {-# OVERLAPPING #-}-         HasVkSignalSemaphoreCount VkDeviceGroupSubmitInfoKHX where-        type VkSignalSemaphoreCountMType VkDeviceGroupSubmitInfoKHX =-             Word32--        {-# NOINLINE vkSignalSemaphoreCount #-}-        vkSignalSemaphoreCount x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfoKHX, signalSemaphoreCount})--        {-# INLINE vkSignalSemaphoreCountByteOffset #-}-        vkSignalSemaphoreCountByteOffset ~_-          = #{offset VkDeviceGroupSubmitInfoKHX, signalSemaphoreCount}--        {-# INLINE readVkSignalSemaphoreCount #-}-        readVkSignalSemaphoreCount p-          = peekByteOff p #{offset VkDeviceGroupSubmitInfoKHX, signalSemaphoreCount}--        {-# INLINE writeVkSignalSemaphoreCount #-}-        writeVkSignalSemaphoreCount p-          = pokeByteOff p #{offset VkDeviceGroupSubmitInfoKHX, signalSemaphoreCount}--instance {-# OVERLAPPING #-}-         HasField "signalSemaphoreCount" VkDeviceGroupSubmitInfoKHX where-        type FieldType "signalSemaphoreCount" VkDeviceGroupSubmitInfoKHX =-             Word32-        type FieldOptional "signalSemaphoreCount"-               VkDeviceGroupSubmitInfoKHX-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "signalSemaphoreCount" VkDeviceGroupSubmitInfoKHX-             =-             #{offset VkDeviceGroupSubmitInfoKHX, signalSemaphoreCount}-        type FieldIsArray "signalSemaphoreCount" VkDeviceGroupSubmitInfoKHX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupSubmitInfoKHX, signalSemaphoreCount}--instance CanReadField "signalSemaphoreCount"-           VkDeviceGroupSubmitInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkSignalSemaphoreCount--        {-# INLINE readField #-}-        readField = readVkSignalSemaphoreCount--instance CanWriteField "signalSemaphoreCount"-           VkDeviceGroupSubmitInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkSignalSemaphoreCount--instance {-# OVERLAPPING #-}-         HasVkPSignalSemaphoreDeviceIndices VkDeviceGroupSubmitInfoKHX where-        type VkPSignalSemaphoreDeviceIndicesMType-               VkDeviceGroupSubmitInfoKHX-             = Ptr Word32--        {-# NOINLINE vkPSignalSemaphoreDeviceIndices #-}-        vkPSignalSemaphoreDeviceIndices x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfoKHX, pSignalSemaphoreDeviceIndices})--        {-# INLINE vkPSignalSemaphoreDeviceIndicesByteOffset #-}-        vkPSignalSemaphoreDeviceIndicesByteOffset ~_-          = #{offset VkDeviceGroupSubmitInfoKHX, pSignalSemaphoreDeviceIndices}--        {-# INLINE readVkPSignalSemaphoreDeviceIndices #-}-        readVkPSignalSemaphoreDeviceIndices p-          = peekByteOff p #{offset VkDeviceGroupSubmitInfoKHX, pSignalSemaphoreDeviceIndices}--        {-# INLINE writeVkPSignalSemaphoreDeviceIndices #-}-        writeVkPSignalSemaphoreDeviceIndices p-          = pokeByteOff p #{offset VkDeviceGroupSubmitInfoKHX, pSignalSemaphoreDeviceIndices}--instance {-# OVERLAPPING #-}-         HasField "pSignalSemaphoreDeviceIndices" VkDeviceGroupSubmitInfoKHX-         where-        type FieldType "pSignalSemaphoreDeviceIndices"-               VkDeviceGroupSubmitInfoKHX-             = Ptr Word32-        type FieldOptional "pSignalSemaphoreDeviceIndices"-               VkDeviceGroupSubmitInfoKHX-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pSignalSemaphoreDeviceIndices"-               VkDeviceGroupSubmitInfoKHX-             =-             #{offset VkDeviceGroupSubmitInfoKHX, pSignalSemaphoreDeviceIndices}-        type FieldIsArray "pSignalSemaphoreDeviceIndices"-               VkDeviceGroupSubmitInfoKHX-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupSubmitInfoKHX, pSignalSemaphoreDeviceIndices}--instance CanReadField "pSignalSemaphoreDeviceIndices"-           VkDeviceGroupSubmitInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkPSignalSemaphoreDeviceIndices--        {-# INLINE readField #-}-        readField = readVkPSignalSemaphoreDeviceIndices--instance CanWriteField "pSignalSemaphoreDeviceIndices"-           VkDeviceGroupSubmitInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkPSignalSemaphoreDeviceIndices--instance Show VkDeviceGroupSubmitInfoKHX where-        showsPrec d x-          = showString "VkDeviceGroupSubmitInfoKHX {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkWaitSemaphoreCount = " .-                            showsPrec d (vkWaitSemaphoreCount x) .-                              showString ", " .-                                showString "vkPWaitSemaphoreDeviceIndices = " .-                                  showsPrec d (vkPWaitSemaphoreDeviceIndices x) .-                                    showString ", " .-                                      showString "vkCommandBufferCount = " .-                                        showsPrec d (vkCommandBufferCount x) .-                                          showString ", " .-                                            showString "vkPCommandBufferDeviceMasks = " .-                                              showsPrec d (vkPCommandBufferDeviceMasks x) .-                                                showString ", " .-                                                  showString "vkSignalSemaphoreCount = " .-                                                    showsPrec d (vkSignalSemaphoreCount x) .-                                                      showString ", " .-                                                        showString-                                                          "vkPSignalSemaphoreDeviceIndices = "-                                                          .-                                                          showsPrec d-                                                            (vkPSignalSemaphoreDeviceIndices x)-                                                            . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupSwapchainCreateInfoKHR.hsc view
@@ -0,0 +1,198 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDeviceGroupSwapchainCreateInfoKHR+       (VkDeviceGroupSwapchainCreateInfoKHR(..)) where+import           Foreign.Storable                                            (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkDeviceGroupPresentModeFlagsKHR (VkDeviceGroupPresentModeFlagsKHR)+import           Graphics.Vulkan.Types.Enum.VkStructureType                  (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkSwapchainCreateInfoKHR       (VkSwapchainCreateInfoKHR)+import           System.IO.Unsafe                                            (unsafeDupablePerformIO)++-- | > typedef struct VkDeviceGroupSwapchainCreateInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkDeviceGroupPresentModeFlagsKHR                         modes;+--   > } VkDeviceGroupSwapchainCreateInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDeviceGroupSwapchainCreateInfoKHR.html VkDeviceGroupSwapchainCreateInfoKHR registry at www.khronos.org>+data VkDeviceGroupSwapchainCreateInfoKHR = VkDeviceGroupSwapchainCreateInfoKHR## Addr##+                                                                                ByteArray##++instance Eq VkDeviceGroupSwapchainCreateInfoKHR where+        (VkDeviceGroupSwapchainCreateInfoKHR## a _) ==+          x@(VkDeviceGroupSwapchainCreateInfoKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDeviceGroupSwapchainCreateInfoKHR where+        (VkDeviceGroupSwapchainCreateInfoKHR## a _) `compare`+          x@(VkDeviceGroupSwapchainCreateInfoKHR## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDeviceGroupSwapchainCreateInfoKHR where+        sizeOf ~_ = #{size VkDeviceGroupSwapchainCreateInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDeviceGroupSwapchainCreateInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceGroupSwapchainCreateInfoKHR+         where+        unsafeAddr (VkDeviceGroupSwapchainCreateInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDeviceGroupSwapchainCreateInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDeviceGroupSwapchainCreateInfoKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceGroupSwapchainCreateInfoKHR where+        type StructFields VkDeviceGroupSwapchainCreateInfoKHR =+             '["sType", "pNext", "modes"] -- ' closing tick for hsc2hs+        type CUnionType VkDeviceGroupSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDeviceGroupSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        type StructExtends VkDeviceGroupSwapchainCreateInfoKHR =+             '[VkSwapchainCreateInfoKHR] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkDeviceGroupSwapchainCreateInfoKHR where+        type FieldType "sType" VkDeviceGroupSwapchainCreateInfoKHR =+             VkStructureType+        type FieldOptional "sType" VkDeviceGroupSwapchainCreateInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDeviceGroupSwapchainCreateInfoKHR =+             #{offset VkDeviceGroupSwapchainCreateInfoKHR, sType}+        type FieldIsArray "sType" VkDeviceGroupSwapchainCreateInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupSwapchainCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDeviceGroupSwapchainCreateInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSwapchainCreateInfoKHR, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDeviceGroupSwapchainCreateInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDeviceGroupSwapchainCreateInfoKHR where+        type FieldType "pNext" VkDeviceGroupSwapchainCreateInfoKHR =+             Ptr Void+        type FieldOptional "pNext" VkDeviceGroupSwapchainCreateInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDeviceGroupSwapchainCreateInfoKHR =+             #{offset VkDeviceGroupSwapchainCreateInfoKHR, pNext}+        type FieldIsArray "pNext" VkDeviceGroupSwapchainCreateInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupSwapchainCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDeviceGroupSwapchainCreateInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSwapchainCreateInfoKHR, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDeviceGroupSwapchainCreateInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "modes" VkDeviceGroupSwapchainCreateInfoKHR where+        type FieldType "modes" VkDeviceGroupSwapchainCreateInfoKHR =+             VkDeviceGroupPresentModeFlagsKHR+        type FieldOptional "modes" VkDeviceGroupSwapchainCreateInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "modes" VkDeviceGroupSwapchainCreateInfoKHR =+             #{offset VkDeviceGroupSwapchainCreateInfoKHR, modes}+        type FieldIsArray "modes" VkDeviceGroupSwapchainCreateInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGroupSwapchainCreateInfoKHR, modes}++instance {-# OVERLAPPING #-}+         CanReadField "modes" VkDeviceGroupSwapchainCreateInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSwapchainCreateInfoKHR, modes})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHR, modes}++instance {-# OVERLAPPING #-}+         CanWriteField "modes" VkDeviceGroupSwapchainCreateInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHR, modes}++instance Show VkDeviceGroupSwapchainCreateInfoKHR where+        showsPrec d x+          = showString "VkDeviceGroupSwapchainCreateInfoKHR {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "modes = " .+                            showsPrec d (getField @"modes" x) . showChar '}'
− src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupSwapchainCreateInfoKHX.hsc
@@ -1,250 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkDeviceGroupSwapchainCreateInfoKHX-       (VkDeviceGroupSwapchainCreateInfoKHX(..)) where-import           Foreign.Storable                                            (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkDeviceGroupPresentModeFlagsKHX (VkDeviceGroupPresentModeFlagsKHX)-import           Graphics.Vulkan.Types.Enum.VkStructureType                  (VkStructureType)-import           Graphics.Vulkan.Types.Struct.VkSwapchainCreateInfoKHR       (VkSwapchainCreateInfoKHR)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                                            (unsafeDupablePerformIO)---- | > typedef struct VkDeviceGroupSwapchainCreateInfoKHX {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkDeviceGroupPresentModeFlagsKHX                         modes;---   > } VkDeviceGroupSwapchainCreateInfoKHX;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDeviceGroupSwapchainCreateInfoKHX.html VkDeviceGroupSwapchainCreateInfoKHX registry at www.khronos.org>-data VkDeviceGroupSwapchainCreateInfoKHX = VkDeviceGroupSwapchainCreateInfoKHX## Addr##-                                                                                ByteArray##--instance Eq VkDeviceGroupSwapchainCreateInfoKHX where-        (VkDeviceGroupSwapchainCreateInfoKHX## a _) ==-          x@(VkDeviceGroupSwapchainCreateInfoKHX## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkDeviceGroupSwapchainCreateInfoKHX where-        (VkDeviceGroupSwapchainCreateInfoKHX## a _) `compare`-          x@(VkDeviceGroupSwapchainCreateInfoKHX## b _)-          = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkDeviceGroupSwapchainCreateInfoKHX where-        sizeOf ~_ = #{size VkDeviceGroupSwapchainCreateInfoKHX}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkDeviceGroupSwapchainCreateInfoKHX}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkDeviceGroupSwapchainCreateInfoKHX-         where-        unsafeAddr (VkDeviceGroupSwapchainCreateInfoKHX## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkDeviceGroupSwapchainCreateInfoKHX## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkDeviceGroupSwapchainCreateInfoKHX##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkDeviceGroupSwapchainCreateInfoKHX where-        type StructFields VkDeviceGroupSwapchainCreateInfoKHX =-             '["sType", "pNext", "modes"] -- ' closing tick for hsc2hs-        type CUnionType VkDeviceGroupSwapchainCreateInfoKHX = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkDeviceGroupSwapchainCreateInfoKHX = 'False -- ' closing tick for hsc2hs-        type StructExtends VkDeviceGroupSwapchainCreateInfoKHX =-             '[VkSwapchainCreateInfoKHR] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasVkSType VkDeviceGroupSwapchainCreateInfoKHX where-        type VkSTypeMType VkDeviceGroupSwapchainCreateInfoKHX =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSwapchainCreateInfoKHX, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDeviceGroupSwapchainCreateInfoKHX, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHX, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHX, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkDeviceGroupSwapchainCreateInfoKHX where-        type FieldType "sType" VkDeviceGroupSwapchainCreateInfoKHX =-             VkStructureType-        type FieldOptional "sType" VkDeviceGroupSwapchainCreateInfoKHX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkDeviceGroupSwapchainCreateInfoKHX =-             #{offset VkDeviceGroupSwapchainCreateInfoKHX, sType}-        type FieldIsArray "sType" VkDeviceGroupSwapchainCreateInfoKHX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupSwapchainCreateInfoKHX, sType}--instance CanReadField "sType" VkDeviceGroupSwapchainCreateInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkDeviceGroupSwapchainCreateInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-}-         HasVkPNext VkDeviceGroupSwapchainCreateInfoKHX where-        type VkPNextMType VkDeviceGroupSwapchainCreateInfoKHX = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSwapchainCreateInfoKHX, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDeviceGroupSwapchainCreateInfoKHX, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHX, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHX, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkDeviceGroupSwapchainCreateInfoKHX where-        type FieldType "pNext" VkDeviceGroupSwapchainCreateInfoKHX =-             Ptr Void-        type FieldOptional "pNext" VkDeviceGroupSwapchainCreateInfoKHX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkDeviceGroupSwapchainCreateInfoKHX =-             #{offset VkDeviceGroupSwapchainCreateInfoKHX, pNext}-        type FieldIsArray "pNext" VkDeviceGroupSwapchainCreateInfoKHX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupSwapchainCreateInfoKHX, pNext}--instance CanReadField "pNext" VkDeviceGroupSwapchainCreateInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkDeviceGroupSwapchainCreateInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-}-         HasVkModes VkDeviceGroupSwapchainCreateInfoKHX where-        type VkModesMType VkDeviceGroupSwapchainCreateInfoKHX =-             VkDeviceGroupPresentModeFlagsKHX--        {-# NOINLINE vkModes #-}-        vkModes x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSwapchainCreateInfoKHX, modes})--        {-# INLINE vkModesByteOffset #-}-        vkModesByteOffset ~_-          = #{offset VkDeviceGroupSwapchainCreateInfoKHX, modes}--        {-# INLINE readVkModes #-}-        readVkModes p-          = peekByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHX, modes}--        {-# INLINE writeVkModes #-}-        writeVkModes p-          = pokeByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHX, modes}--instance {-# OVERLAPPING #-}-         HasField "modes" VkDeviceGroupSwapchainCreateInfoKHX where-        type FieldType "modes" VkDeviceGroupSwapchainCreateInfoKHX =-             VkDeviceGroupPresentModeFlagsKHX-        type FieldOptional "modes" VkDeviceGroupSwapchainCreateInfoKHX =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "modes" VkDeviceGroupSwapchainCreateInfoKHX =-             #{offset VkDeviceGroupSwapchainCreateInfoKHX, modes}-        type FieldIsArray "modes" VkDeviceGroupSwapchainCreateInfoKHX =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkDeviceGroupSwapchainCreateInfoKHX, modes}--instance CanReadField "modes" VkDeviceGroupSwapchainCreateInfoKHX-         where-        {-# INLINE getField #-}-        getField = vkModes--        {-# INLINE readField #-}-        readField = readVkModes--instance CanWriteField "modes" VkDeviceGroupSwapchainCreateInfoKHX-         where-        {-# INLINE writeField #-}-        writeField = writeVkModes--instance Show VkDeviceGroupSwapchainCreateInfoKHX where-        showsPrec d x-          = showString "VkDeviceGroupSwapchainCreateInfoKHX {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkModes = " . showsPrec d (vkModes x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDeviceQueueCreateInfo.hsc view
@@ -5,17 +5,17 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo        (VkDeviceQueueCreateInfo(..)) where-import           Foreign.Storable                           (Storable (..))+import           Foreign.Storable                                    (Storable (..)) import           GHC.Prim import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Bitmasks             (VkDeviceQueueCreateFlags)-import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                           (unsafeDupablePerformIO)+import           Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags (VkDeviceQueueCreateFlags)+import           Graphics.Vulkan.Types.Enum.VkStructureType          (VkStructureType)+import           System.IO.Unsafe                                    (unsafeDupablePerformIO)  -- | > typedef struct VkDeviceQueueCreateInfo { --   >     VkStructureType sType;@@ -26,7 +26,7 @@ --   >     const float*    pQueuePriorities; --   > } VkDeviceQueueCreateInfo; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDeviceQueueCreateInfo.html VkDeviceQueueCreateInfo registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDeviceQueueCreateInfo.html VkDeviceQueueCreateInfo registry at www.khronos.org> data VkDeviceQueueCreateInfo = VkDeviceQueueCreateInfo## Addr##                                                         ByteArray## @@ -76,27 +76,6 @@         type ReturnedOnly VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs         type StructExtends VkDeviceQueueCreateInfo = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSType VkDeviceQueueCreateInfo-         where-        type VkSTypeMType VkDeviceQueueCreateInfo = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDeviceQueueCreateInfo, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDeviceQueueCreateInfo, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDeviceQueueCreateInfo, sType}- instance {-# OVERLAPPING #-}          HasField "sType" VkDeviceQueueCreateInfo where         type FieldType "sType" VkDeviceQueueCreateInfo = VkStructureType@@ -111,37 +90,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkDeviceQueueCreateInfo, sType} -instance CanReadField "sType" VkDeviceQueueCreateInfo where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDeviceQueueCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkDeviceQueueCreateInfo, sType} -instance CanWriteField "sType" VkDeviceQueueCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDeviceQueueCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkDeviceQueueCreateInfo-         where-        type VkPNextMType VkDeviceQueueCreateInfo = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDeviceQueueCreateInfo, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDeviceQueueCreateInfo, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDeviceQueueCreateInfo, pNext}+        writeField p+          = pokeByteOff p #{offset VkDeviceQueueCreateInfo, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkDeviceQueueCreateInfo where@@ -157,38 +121,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkDeviceQueueCreateInfo, pNext} -instance CanReadField "pNext" VkDeviceQueueCreateInfo where-        {-# INLINE getField #-}-        getField = vkPNext+instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDeviceQueueCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, pNext})          {-# INLINE readField #-}-        readField = readVkPNext+        readField p+          = peekByteOff p #{offset VkDeviceQueueCreateInfo, pNext} -instance CanWriteField "pNext" VkDeviceQueueCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDeviceQueueCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-} HasVkFlags VkDeviceQueueCreateInfo-         where-        type VkFlagsMType VkDeviceQueueCreateInfo =-             VkDeviceQueueCreateFlags--        {-# NOINLINE vkFlags #-}-        vkFlags x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, flags})--        {-# INLINE vkFlagsByteOffset #-}-        vkFlagsByteOffset ~_-          = #{offset VkDeviceQueueCreateInfo, flags}--        {-# INLINE readVkFlags #-}-        readVkFlags p-          = peekByteOff p #{offset VkDeviceQueueCreateInfo, flags}--        {-# INLINE writeVkFlags #-}-        writeVkFlags p-          = pokeByteOff p #{offset VkDeviceQueueCreateInfo, flags}+        writeField p+          = pokeByteOff p #{offset VkDeviceQueueCreateInfo, pNext}  instance {-# OVERLAPPING #-}          HasField "flags" VkDeviceQueueCreateInfo where@@ -205,37 +153,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkDeviceQueueCreateInfo, flags} -instance CanReadField "flags" VkDeviceQueueCreateInfo where-        {-# INLINE getField #-}-        getField = vkFlags--        {-# INLINE readField #-}-        readField = readVkFlags--instance CanWriteField "flags" VkDeviceQueueCreateInfo where-        {-# INLINE writeField #-}-        writeField = writeVkFlags- instance {-# OVERLAPPING #-}-         HasVkQueueFamilyIndex VkDeviceQueueCreateInfo where-        type VkQueueFamilyIndexMType VkDeviceQueueCreateInfo = Word32--        {-# NOINLINE vkQueueFamilyIndex #-}-        vkQueueFamilyIndex x+         CanReadField "flags" VkDeviceQueueCreateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, queueFamilyIndex})--        {-# INLINE vkQueueFamilyIndexByteOffset #-}-        vkQueueFamilyIndexByteOffset ~_-          = #{offset VkDeviceQueueCreateInfo, queueFamilyIndex}+              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, flags}) -        {-# INLINE readVkQueueFamilyIndex #-}-        readVkQueueFamilyIndex p-          = peekByteOff p #{offset VkDeviceQueueCreateInfo, queueFamilyIndex}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceQueueCreateInfo, flags} -        {-# INLINE writeVkQueueFamilyIndex #-}-        writeVkQueueFamilyIndex p-          = pokeByteOff p #{offset VkDeviceQueueCreateInfo, queueFamilyIndex}+instance {-# OVERLAPPING #-}+         CanWriteField "flags" VkDeviceQueueCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceQueueCreateInfo, flags}  instance {-# OVERLAPPING #-}          HasField "queueFamilyIndex" VkDeviceQueueCreateInfo where@@ -254,39 +187,22 @@         fieldOffset           = #{offset VkDeviceQueueCreateInfo, queueFamilyIndex} -instance CanReadField "queueFamilyIndex" VkDeviceQueueCreateInfo-         where-        {-# INLINE getField #-}-        getField = vkQueueFamilyIndex--        {-# INLINE readField #-}-        readField = readVkQueueFamilyIndex--instance CanWriteField "queueFamilyIndex" VkDeviceQueueCreateInfo-         where-        {-# INLINE writeField #-}-        writeField = writeVkQueueFamilyIndex- instance {-# OVERLAPPING #-}-         HasVkQueueCount VkDeviceQueueCreateInfo where-        type VkQueueCountMType VkDeviceQueueCreateInfo = Word32--        {-# NOINLINE vkQueueCount #-}-        vkQueueCount x+         CanReadField "queueFamilyIndex" VkDeviceQueueCreateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, queueCount})--        {-# INLINE vkQueueCountByteOffset #-}-        vkQueueCountByteOffset ~_-          = #{offset VkDeviceQueueCreateInfo, queueCount}+              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, queueFamilyIndex}) -        {-# INLINE readVkQueueCount #-}-        readVkQueueCount p-          = peekByteOff p #{offset VkDeviceQueueCreateInfo, queueCount}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceQueueCreateInfo, queueFamilyIndex} -        {-# INLINE writeVkQueueCount #-}-        writeVkQueueCount p-          = pokeByteOff p #{offset VkDeviceQueueCreateInfo, queueCount}+instance {-# OVERLAPPING #-}+         CanWriteField "queueFamilyIndex" VkDeviceQueueCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceQueueCreateInfo, queueFamilyIndex}  instance {-# OVERLAPPING #-}          HasField "queueCount" VkDeviceQueueCreateInfo where@@ -303,38 +219,22 @@         fieldOffset           = #{offset VkDeviceQueueCreateInfo, queueCount} -instance CanReadField "queueCount" VkDeviceQueueCreateInfo where-        {-# INLINE getField #-}-        getField = vkQueueCount--        {-# INLINE readField #-}-        readField = readVkQueueCount--instance CanWriteField "queueCount" VkDeviceQueueCreateInfo where-        {-# INLINE writeField #-}-        writeField = writeVkQueueCount- instance {-# OVERLAPPING #-}-         HasVkPQueuePriorities VkDeviceQueueCreateInfo where-        type VkPQueuePrioritiesMType VkDeviceQueueCreateInfo =-             Ptr #{type float}--        {-# NOINLINE vkPQueuePriorities #-}-        vkPQueuePriorities x+         CanReadField "queueCount" VkDeviceQueueCreateInfo where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, pQueuePriorities})--        {-# INLINE vkPQueuePrioritiesByteOffset #-}-        vkPQueuePrioritiesByteOffset ~_-          = #{offset VkDeviceQueueCreateInfo, pQueuePriorities}+              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, queueCount}) -        {-# INLINE readVkPQueuePriorities #-}-        readVkPQueuePriorities p-          = peekByteOff p #{offset VkDeviceQueueCreateInfo, pQueuePriorities}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceQueueCreateInfo, queueCount} -        {-# INLINE writeVkPQueuePriorities #-}-        writeVkPQueuePriorities p-          = pokeByteOff p #{offset VkDeviceQueueCreateInfo, pQueuePriorities}+instance {-# OVERLAPPING #-}+         CanWriteField "queueCount" VkDeviceQueueCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceQueueCreateInfo, queueCount}  instance {-# OVERLAPPING #-}          HasField "pQueuePriorities" VkDeviceQueueCreateInfo where@@ -354,36 +254,41 @@         fieldOffset           = #{offset VkDeviceQueueCreateInfo, pQueuePriorities} -instance CanReadField "pQueuePriorities" VkDeviceQueueCreateInfo-         where-        {-# INLINE getField #-}-        getField = vkPQueuePriorities+instance {-# OVERLAPPING #-}+         CanReadField "pQueuePriorities" VkDeviceQueueCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, pQueuePriorities})          {-# INLINE readField #-}-        readField = readVkPQueuePriorities+        readField p+          = peekByteOff p #{offset VkDeviceQueueCreateInfo, pQueuePriorities} -instance CanWriteField "pQueuePriorities" VkDeviceQueueCreateInfo-         where+instance {-# OVERLAPPING #-}+         CanWriteField "pQueuePriorities" VkDeviceQueueCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkPQueuePriorities+        writeField p+          = pokeByteOff p #{offset VkDeviceQueueCreateInfo, pQueuePriorities}  instance Show VkDeviceQueueCreateInfo where         showsPrec d x           = showString "VkDeviceQueueCreateInfo {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkFlags = " .-                            showsPrec d (vkFlags x) .+                          showString "flags = " .+                            showsPrec d (getField @"flags" x) .                               showString ", " .-                                showString "vkQueueFamilyIndex = " .-                                  showsPrec d (vkQueueFamilyIndex x) .+                                showString "queueFamilyIndex = " .+                                  showsPrec d (getField @"queueFamilyIndex" x) .                                     showString ", " .-                                      showString "vkQueueCount = " .-                                        showsPrec d (vkQueueCount x) .+                                      showString "queueCount = " .+                                        showsPrec d (getField @"queueCount" x) .                                           showString ", " .-                                            showString "vkPQueuePriorities = " .-                                              showsPrec d (vkPQueuePriorities x) . showChar '}'+                                            showString "pQueuePriorities = " .+                                              showsPrec d (getField @"pQueuePriorities" x) .+                                                showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDeviceQueueGlobalPriorityCreateInfoEXT.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDeviceQueueGlobalPriorityCreateInfoEXT        (VkDeviceQueueGlobalPriorityCreateInfoEXT(..)) where@@ -15,7 +16,6 @@ import           Graphics.Vulkan.Types.Enum.VkQueueGlobalPriorityEXT  (VkQueueGlobalPriorityEXT) import           Graphics.Vulkan.Types.Enum.VkStructureType           (VkStructureType) import           Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo (VkDeviceQueueCreateInfo)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                     (unsafeDupablePerformIO)  -- | > typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {@@ -24,7 +24,7 @@ --   >     VkQueueGlobalPriorityEXT       globalPriority; --   > } VkDeviceQueueGlobalPriorityCreateInfoEXT; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDeviceQueueGlobalPriorityCreateInfoEXT.html VkDeviceQueueGlobalPriorityCreateInfoEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDeviceQueueGlobalPriorityCreateInfoEXT.html VkDeviceQueueGlobalPriorityCreateInfoEXT registry at www.khronos.org> data VkDeviceQueueGlobalPriorityCreateInfoEXT = VkDeviceQueueGlobalPriorityCreateInfoEXT## Addr##                                                                                           ByteArray## @@ -83,28 +83,6 @@              '[VkDeviceQueueCreateInfo] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkSType VkDeviceQueueGlobalPriorityCreateInfoEXT where-        type VkSTypeMType VkDeviceQueueGlobalPriorityCreateInfoEXT =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, sType}--instance {-# OVERLAPPING #-}          HasField "sType" VkDeviceQueueGlobalPriorityCreateInfoEXT where         type FieldType "sType" VkDeviceQueueGlobalPriorityCreateInfoEXT =              VkStructureType@@ -122,42 +100,23 @@         fieldOffset           = #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, sType} -instance CanReadField "sType"-           VkDeviceQueueGlobalPriorityCreateInfoEXT-         where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDeviceQueueGlobalPriorityCreateInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, sType} -instance CanWriteField "sType"-           VkDeviceQueueGlobalPriorityCreateInfoEXT+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDeviceQueueGlobalPriorityCreateInfoEXT          where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-}-         HasVkPNext VkDeviceQueueGlobalPriorityCreateInfoEXT where-        type VkPNextMType VkDeviceQueueGlobalPriorityCreateInfoEXT =-             Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, pNext}+        writeField p+          = pokeByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkDeviceQueueGlobalPriorityCreateInfoEXT where@@ -177,42 +136,23 @@         fieldOffset           = #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, pNext} -instance CanReadField "pNext"-           VkDeviceQueueGlobalPriorityCreateInfoEXT-         where-        {-# INLINE getField #-}-        getField = vkPNext+instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDeviceQueueGlobalPriorityCreateInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, pNext})          {-# INLINE readField #-}-        readField = readVkPNext+        readField p+          = peekByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, pNext} -instance CanWriteField "pNext"-           VkDeviceQueueGlobalPriorityCreateInfoEXT+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDeviceQueueGlobalPriorityCreateInfoEXT          where         {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-}-         HasVkGlobalPriority VkDeviceQueueGlobalPriorityCreateInfoEXT where-        type VkGlobalPriorityMType VkDeviceQueueGlobalPriorityCreateInfoEXT-             = VkQueueGlobalPriorityEXT--        {-# NOINLINE vkGlobalPriority #-}-        vkGlobalPriority x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, globalPriority})--        {-# INLINE vkGlobalPriorityByteOffset #-}-        vkGlobalPriorityByteOffset ~_-          = #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, globalPriority}--        {-# INLINE readVkGlobalPriority #-}-        readVkGlobalPriority p-          = peekByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, globalPriority}--        {-# INLINE writeVkGlobalPriority #-}-        writeVkGlobalPriority p-          = pokeByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, globalPriority}+        writeField p+          = pokeByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, pNext}  instance {-# OVERLAPPING #-}          HasField "globalPriority" VkDeviceQueueGlobalPriorityCreateInfoEXT@@ -238,29 +178,35 @@         fieldOffset           = #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, globalPriority} -instance CanReadField "globalPriority"+instance {-# OVERLAPPING #-}+         CanReadField "globalPriority"            VkDeviceQueueGlobalPriorityCreateInfoEXT          where-        {-# INLINE getField #-}-        getField = vkGlobalPriority+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, globalPriority})          {-# INLINE readField #-}-        readField = readVkGlobalPriority+        readField p+          = peekByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, globalPriority} -instance CanWriteField "globalPriority"+instance {-# OVERLAPPING #-}+         CanWriteField "globalPriority"            VkDeviceQueueGlobalPriorityCreateInfoEXT          where         {-# INLINE writeField #-}-        writeField = writeVkGlobalPriority+        writeField p+          = pokeByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, globalPriority}  instance Show VkDeviceQueueGlobalPriorityCreateInfoEXT where         showsPrec d x           = showString "VkDeviceQueueGlobalPriorityCreateInfoEXT {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkGlobalPriority = " .-                            showsPrec d (vkGlobalPriority x) . showChar '}'+                          showString "globalPriority = " .+                            showsPrec d (getField @"globalPriority" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDeviceQueueInfo2.hsc view
@@ -0,0 +1,249 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDeviceQueueInfo2+       (VkDeviceQueueInfo2(..)) where+import           Foreign.Storable                                    (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags (VkDeviceQueueCreateFlags)+import           Graphics.Vulkan.Types.Enum.VkStructureType          (VkStructureType)+import           System.IO.Unsafe                                    (unsafeDupablePerformIO)++-- | > typedef struct VkDeviceQueueInfo2 {+--   >     VkStructureType sType;+--   >     const void*                         pNext;+--   >     VkDeviceQueueCreateFlags            flags;+--   >     uint32_t                            queueFamilyIndex;+--   >     uint32_t                            queueIndex;+--   > } VkDeviceQueueInfo2;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDeviceQueueInfo2.html VkDeviceQueueInfo2 registry at www.khronos.org>+data VkDeviceQueueInfo2 = VkDeviceQueueInfo2## Addr## ByteArray##++instance Eq VkDeviceQueueInfo2 where+        (VkDeviceQueueInfo2## a _) == x@(VkDeviceQueueInfo2## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDeviceQueueInfo2 where+        (VkDeviceQueueInfo2## a _) `compare` x@(VkDeviceQueueInfo2## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDeviceQueueInfo2 where+        sizeOf ~_ = #{size VkDeviceQueueInfo2}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDeviceQueueInfo2}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceQueueInfo2 where+        unsafeAddr (VkDeviceQueueInfo2## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDeviceQueueInfo2## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDeviceQueueInfo2## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceQueueInfo2 where+        type StructFields VkDeviceQueueInfo2 =+             '["sType", "pNext", "flags", "queueFamilyIndex", "queueIndex"] -- ' closing tick for hsc2hs+        type CUnionType VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs+        type StructExtends VkDeviceQueueInfo2 = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkDeviceQueueInfo2+         where+        type FieldType "sType" VkDeviceQueueInfo2 = VkStructureType+        type FieldOptional "sType" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDeviceQueueInfo2 =+             #{offset VkDeviceQueueInfo2, sType}+        type FieldIsArray "sType" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDeviceQueueInfo2, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDeviceQueueInfo2 where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueInfo2, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceQueueInfo2, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDeviceQueueInfo2 where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceQueueInfo2, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkDeviceQueueInfo2+         where+        type FieldType "pNext" VkDeviceQueueInfo2 = Ptr Void+        type FieldOptional "pNext" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDeviceQueueInfo2 =+             #{offset VkDeviceQueueInfo2, pNext}+        type FieldIsArray "pNext" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDeviceQueueInfo2, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDeviceQueueInfo2 where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueInfo2, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceQueueInfo2, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDeviceQueueInfo2 where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceQueueInfo2, pNext}++instance {-# OVERLAPPING #-} HasField "flags" VkDeviceQueueInfo2+         where+        type FieldType "flags" VkDeviceQueueInfo2 =+             VkDeviceQueueCreateFlags+        type FieldOptional "flags" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkDeviceQueueInfo2 =+             #{offset VkDeviceQueueInfo2, flags}+        type FieldIsArray "flags" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDeviceQueueInfo2, flags}++instance {-# OVERLAPPING #-}+         CanReadField "flags" VkDeviceQueueInfo2 where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueInfo2, flags})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceQueueInfo2, flags}++instance {-# OVERLAPPING #-}+         CanWriteField "flags" VkDeviceQueueInfo2 where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceQueueInfo2, flags}++instance {-# OVERLAPPING #-}+         HasField "queueFamilyIndex" VkDeviceQueueInfo2 where+        type FieldType "queueFamilyIndex" VkDeviceQueueInfo2 = Word32+        type FieldOptional "queueFamilyIndex" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs+        type FieldOffset "queueFamilyIndex" VkDeviceQueueInfo2 =+             #{offset VkDeviceQueueInfo2, queueFamilyIndex}+        type FieldIsArray "queueFamilyIndex" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceQueueInfo2, queueFamilyIndex}++instance {-# OVERLAPPING #-}+         CanReadField "queueFamilyIndex" VkDeviceQueueInfo2 where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueInfo2, queueFamilyIndex})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceQueueInfo2, queueFamilyIndex}++instance {-# OVERLAPPING #-}+         CanWriteField "queueFamilyIndex" VkDeviceQueueInfo2 where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceQueueInfo2, queueFamilyIndex}++instance {-# OVERLAPPING #-}+         HasField "queueIndex" VkDeviceQueueInfo2 where+        type FieldType "queueIndex" VkDeviceQueueInfo2 = Word32+        type FieldOptional "queueIndex" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs+        type FieldOffset "queueIndex" VkDeviceQueueInfo2 =+             #{offset VkDeviceQueueInfo2, queueIndex}+        type FieldIsArray "queueIndex" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDeviceQueueInfo2, queueIndex}++instance {-# OVERLAPPING #-}+         CanReadField "queueIndex" VkDeviceQueueInfo2 where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueInfo2, queueIndex})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDeviceQueueInfo2, queueIndex}++instance {-# OVERLAPPING #-}+         CanWriteField "queueIndex" VkDeviceQueueInfo2 where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDeviceQueueInfo2, queueIndex}++instance Show VkDeviceQueueInfo2 where+        showsPrec d x+          = showString "VkDeviceQueueInfo2 {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "flags = " .+                            showsPrec d (getField @"flags" x) .+                              showString ", " .+                                showString "queueFamilyIndex = " .+                                  showsPrec d (getField @"queueFamilyIndex" x) .+                                    showString ", " .+                                      showString "queueIndex = " .+                                        showsPrec d (getField @"queueIndex" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDispatchIndirectCommand.hsc view
@@ -5,15 +5,15 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDispatchIndirectCommand        (VkDispatchIndirectCommand(..)) where-import           Foreign.Storable                    (Storable (..))+import           Foreign.Storable                 (Storable (..)) import           GHC.Prim import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                    (unsafeDupablePerformIO)+import           System.IO.Unsafe                 (unsafeDupablePerformIO)  -- | > typedef struct VkDispatchIndirectCommand { --   >     uint32_t               x;@@ -21,7 +21,7 @@ --   >     uint32_t               z; --   > } VkDispatchIndirectCommand; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDispatchIndirectCommand.html VkDispatchIndirectCommand registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDispatchIndirectCommand.html VkDispatchIndirectCommand registry at www.khronos.org> data VkDispatchIndirectCommand = VkDispatchIndirectCommand## Addr##                                                             ByteArray## @@ -70,26 +70,6 @@         type ReturnedOnly VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs         type StructExtends VkDispatchIndirectCommand = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkX VkDispatchIndirectCommand where-        type VkXMType VkDispatchIndirectCommand = Word32--        {-# NOINLINE vkX #-}-        vkX x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDispatchIndirectCommand, x})--        {-# INLINE vkXByteOffset #-}-        vkXByteOffset ~_-          = #{offset VkDispatchIndirectCommand, x}--        {-# INLINE readVkX #-}-        readVkX p-          = peekByteOff p #{offset VkDispatchIndirectCommand, x}--        {-# INLINE writeVkX #-}-        writeVkX p-          = pokeByteOff p #{offset VkDispatchIndirectCommand, x}- instance {-# OVERLAPPING #-} HasField "x" VkDispatchIndirectCommand          where         type FieldType "x" VkDispatchIndirectCommand = Word32@@ -104,36 +84,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkDispatchIndirectCommand, x} -instance CanReadField "x" VkDispatchIndirectCommand where-        {-# INLINE getField #-}-        getField = vkX+instance {-# OVERLAPPING #-}+         CanReadField "x" VkDispatchIndirectCommand where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDispatchIndirectCommand, x})          {-# INLINE readField #-}-        readField = readVkX+        readField p+          = peekByteOff p #{offset VkDispatchIndirectCommand, x} -instance CanWriteField "x" VkDispatchIndirectCommand where+instance {-# OVERLAPPING #-}+         CanWriteField "x" VkDispatchIndirectCommand where         {-# INLINE writeField #-}-        writeField = writeVkX--instance {-# OVERLAPPING #-} HasVkY VkDispatchIndirectCommand where-        type VkYMType VkDispatchIndirectCommand = Word32--        {-# NOINLINE vkY #-}-        vkY x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDispatchIndirectCommand, y})--        {-# INLINE vkYByteOffset #-}-        vkYByteOffset ~_-          = #{offset VkDispatchIndirectCommand, y}--        {-# INLINE readVkY #-}-        readVkY p-          = peekByteOff p #{offset VkDispatchIndirectCommand, y}--        {-# INLINE writeVkY #-}-        writeVkY p-          = pokeByteOff p #{offset VkDispatchIndirectCommand, y}+        writeField p+          = pokeByteOff p #{offset VkDispatchIndirectCommand, x}  instance {-# OVERLAPPING #-} HasField "y" VkDispatchIndirectCommand          where@@ -149,36 +115,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkDispatchIndirectCommand, y} -instance CanReadField "y" VkDispatchIndirectCommand where-        {-# INLINE getField #-}-        getField = vkY+instance {-# OVERLAPPING #-}+         CanReadField "y" VkDispatchIndirectCommand where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDispatchIndirectCommand, y})          {-# INLINE readField #-}-        readField = readVkY+        readField p+          = peekByteOff p #{offset VkDispatchIndirectCommand, y} -instance CanWriteField "y" VkDispatchIndirectCommand where+instance {-# OVERLAPPING #-}+         CanWriteField "y" VkDispatchIndirectCommand where         {-# INLINE writeField #-}-        writeField = writeVkY--instance {-# OVERLAPPING #-} HasVkZ VkDispatchIndirectCommand where-        type VkZMType VkDispatchIndirectCommand = Word32--        {-# NOINLINE vkZ #-}-        vkZ x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDispatchIndirectCommand, z})--        {-# INLINE vkZByteOffset #-}-        vkZByteOffset ~_-          = #{offset VkDispatchIndirectCommand, z}--        {-# INLINE readVkZ #-}-        readVkZ p-          = peekByteOff p #{offset VkDispatchIndirectCommand, z}--        {-# INLINE writeVkZ #-}-        writeVkZ p-          = pokeByteOff p #{offset VkDispatchIndirectCommand, z}+        writeField p+          = pokeByteOff p #{offset VkDispatchIndirectCommand, y}  instance {-# OVERLAPPING #-} HasField "z" VkDispatchIndirectCommand          where@@ -194,24 +146,30 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkDispatchIndirectCommand, z} -instance CanReadField "z" VkDispatchIndirectCommand where-        {-# INLINE getField #-}-        getField = vkZ+instance {-# OVERLAPPING #-}+         CanReadField "z" VkDispatchIndirectCommand where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDispatchIndirectCommand, z})          {-# INLINE readField #-}-        readField = readVkZ+        readField p+          = peekByteOff p #{offset VkDispatchIndirectCommand, z} -instance CanWriteField "z" VkDispatchIndirectCommand where+instance {-# OVERLAPPING #-}+         CanWriteField "z" VkDispatchIndirectCommand where         {-# INLINE writeField #-}-        writeField = writeVkZ+        writeField p+          = pokeByteOff p #{offset VkDispatchIndirectCommand, z}  instance Show VkDispatchIndirectCommand where         showsPrec d x           = showString "VkDispatchIndirectCommand {" .-              showString "vkX = " .-                showsPrec d (vkX x) .+              showString "x = " .+                showsPrec d (getField @"x" x) .                   showString ", " .-                    showString "vkY = " .-                      showsPrec d (vkY x) .+                    showString "y = " .+                      showsPrec d (getField @"y" x) .                         showString ", " .-                          showString "vkZ = " . showsPrec d (vkZ x) . showChar '}'+                          showString "z = " . showsPrec d (getField @"z" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDisplayEventInfoEXT.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDisplayEventInfoEXT        (VkDisplayEventInfoEXT(..)) where@@ -14,7 +15,6 @@ import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.Enum.VkDisplayEventTypeEXT (VkDisplayEventTypeEXT) import           Graphics.Vulkan.Types.Enum.VkStructureType       (VkStructureType)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                 (unsafeDupablePerformIO)  -- | > typedef struct VkDisplayEventInfoEXT {@@ -23,7 +23,7 @@ --   >     VkDisplayEventTypeEXT            displayEvent; --   > } VkDisplayEventInfoEXT; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDisplayEventInfoEXT.html VkDisplayEventInfoEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDisplayEventInfoEXT.html VkDisplayEventInfoEXT registry at www.khronos.org> data VkDisplayEventInfoEXT = VkDisplayEventInfoEXT## Addr##                                                     ByteArray## @@ -72,26 +72,6 @@         type ReturnedOnly VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs         type StructExtends VkDisplayEventInfoEXT = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSType VkDisplayEventInfoEXT where-        type VkSTypeMType VkDisplayEventInfoEXT = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayEventInfoEXT, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDisplayEventInfoEXT, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDisplayEventInfoEXT, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDisplayEventInfoEXT, sType}- instance {-# OVERLAPPING #-} HasField "sType" VkDisplayEventInfoEXT          where         type FieldType "sType" VkDisplayEventInfoEXT = VkStructureType@@ -106,36 +86,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkDisplayEventInfoEXT, sType} -instance CanReadField "sType" VkDisplayEventInfoEXT where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDisplayEventInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayEventInfoEXT, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkDisplayEventInfoEXT, sType} -instance CanWriteField "sType" VkDisplayEventInfoEXT where+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDisplayEventInfoEXT where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkDisplayEventInfoEXT where-        type VkPNextMType VkDisplayEventInfoEXT = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayEventInfoEXT, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDisplayEventInfoEXT, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDisplayEventInfoEXT, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDisplayEventInfoEXT, pNext}+        writeField p+          = pokeByteOff p #{offset VkDisplayEventInfoEXT, sType}  instance {-# OVERLAPPING #-} HasField "pNext" VkDisplayEventInfoEXT          where@@ -151,38 +117,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkDisplayEventInfoEXT, pNext} -instance CanReadField "pNext" VkDisplayEventInfoEXT where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkDisplayEventInfoEXT where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkDisplayEvent VkDisplayEventInfoEXT where-        type VkDisplayEventMType VkDisplayEventInfoEXT =-             VkDisplayEventTypeEXT--        {-# NOINLINE vkDisplayEvent #-}-        vkDisplayEvent x+         CanReadField "pNext" VkDisplayEventInfoEXT where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayEventInfoEXT, displayEvent})--        {-# INLINE vkDisplayEventByteOffset #-}-        vkDisplayEventByteOffset ~_-          = #{offset VkDisplayEventInfoEXT, displayEvent}+              (peekByteOff (unsafePtr x) #{offset VkDisplayEventInfoEXT, pNext}) -        {-# INLINE readVkDisplayEvent #-}-        readVkDisplayEvent p-          = peekByteOff p #{offset VkDisplayEventInfoEXT, displayEvent}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplayEventInfoEXT, pNext} -        {-# INLINE writeVkDisplayEvent #-}-        writeVkDisplayEvent p-          = pokeByteOff p #{offset VkDisplayEventInfoEXT, displayEvent}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDisplayEventInfoEXT where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayEventInfoEXT, pNext}  instance {-# OVERLAPPING #-}          HasField "displayEvent" VkDisplayEventInfoEXT where@@ -200,25 +150,31 @@         fieldOffset           = #{offset VkDisplayEventInfoEXT, displayEvent} -instance CanReadField "displayEvent" VkDisplayEventInfoEXT where-        {-# INLINE getField #-}-        getField = vkDisplayEvent+instance {-# OVERLAPPING #-}+         CanReadField "displayEvent" VkDisplayEventInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayEventInfoEXT, displayEvent})          {-# INLINE readField #-}-        readField = readVkDisplayEvent+        readField p+          = peekByteOff p #{offset VkDisplayEventInfoEXT, displayEvent} -instance CanWriteField "displayEvent" VkDisplayEventInfoEXT where+instance {-# OVERLAPPING #-}+         CanWriteField "displayEvent" VkDisplayEventInfoEXT where         {-# INLINE writeField #-}-        writeField = writeVkDisplayEvent+        writeField p+          = pokeByteOff p #{offset VkDisplayEventInfoEXT, displayEvent}  instance Show VkDisplayEventInfoEXT where         showsPrec d x           = showString "VkDisplayEventInfoEXT {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkDisplayEvent = " .-                            showsPrec d (vkDisplayEvent x) . showChar '}'+                          showString "displayEvent = " .+                            showsPrec d (getField @"displayEvent" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDisplayModeCreateInfoKHR.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDisplayModeCreateInfoKHR        (VkDisplayModeCreateInfoKHR(..)) where@@ -15,7 +16,6 @@ import           Graphics.Vulkan.Types.Bitmasks                          (VkDisplayModeCreateFlagsKHR) import           Graphics.Vulkan.Types.Enum.VkStructureType              (VkStructureType) import           Graphics.Vulkan.Types.Struct.VkDisplayModeParametersKHR (VkDisplayModeParametersKHR)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                        (unsafeDupablePerformIO)  -- | > typedef struct VkDisplayModeCreateInfoKHR {@@ -25,7 +25,7 @@ --   >     VkDisplayModeParametersKHR       parameters; --   > } VkDisplayModeCreateInfoKHR; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDisplayModeCreateInfoKHR.html VkDisplayModeCreateInfoKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDisplayModeCreateInfoKHR.html VkDisplayModeCreateInfoKHR registry at www.khronos.org> data VkDisplayModeCreateInfoKHR = VkDisplayModeCreateInfoKHR## Addr##                                                               ByteArray## @@ -77,27 +77,6 @@         type ReturnedOnly VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs         type StructExtends VkDisplayModeCreateInfoKHR = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSType VkDisplayModeCreateInfoKHR-         where-        type VkSTypeMType VkDisplayModeCreateInfoKHR = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayModeCreateInfoKHR, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDisplayModeCreateInfoKHR, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDisplayModeCreateInfoKHR, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDisplayModeCreateInfoKHR, sType}- instance {-# OVERLAPPING #-}          HasField "sType" VkDisplayModeCreateInfoKHR where         type FieldType "sType" VkDisplayModeCreateInfoKHR = VkStructureType@@ -113,37 +92,22 @@         fieldOffset           = #{offset VkDisplayModeCreateInfoKHR, sType} -instance CanReadField "sType" VkDisplayModeCreateInfoKHR where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDisplayModeCreateInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayModeCreateInfoKHR, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkDisplayModeCreateInfoKHR, sType} -instance CanWriteField "sType" VkDisplayModeCreateInfoKHR where+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDisplayModeCreateInfoKHR where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkDisplayModeCreateInfoKHR-         where-        type VkPNextMType VkDisplayModeCreateInfoKHR = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayModeCreateInfoKHR, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDisplayModeCreateInfoKHR, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDisplayModeCreateInfoKHR, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDisplayModeCreateInfoKHR, pNext}+        writeField p+          = pokeByteOff p #{offset VkDisplayModeCreateInfoKHR, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkDisplayModeCreateInfoKHR where@@ -160,38 +124,22 @@         fieldOffset           = #{offset VkDisplayModeCreateInfoKHR, pNext} -instance CanReadField "pNext" VkDisplayModeCreateInfoKHR where-        {-# INLINE getField #-}-        getField = vkPNext+instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDisplayModeCreateInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayModeCreateInfoKHR, pNext})          {-# INLINE readField #-}-        readField = readVkPNext+        readField p+          = peekByteOff p #{offset VkDisplayModeCreateInfoKHR, pNext} -instance CanWriteField "pNext" VkDisplayModeCreateInfoKHR where+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDisplayModeCreateInfoKHR where         {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-} HasVkFlags VkDisplayModeCreateInfoKHR-         where-        type VkFlagsMType VkDisplayModeCreateInfoKHR =-             VkDisplayModeCreateFlagsKHR--        {-# NOINLINE vkFlags #-}-        vkFlags x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayModeCreateInfoKHR, flags})--        {-# INLINE vkFlagsByteOffset #-}-        vkFlagsByteOffset ~_-          = #{offset VkDisplayModeCreateInfoKHR, flags}--        {-# INLINE readVkFlags #-}-        readVkFlags p-          = peekByteOff p #{offset VkDisplayModeCreateInfoKHR, flags}--        {-# INLINE writeVkFlags #-}-        writeVkFlags p-          = pokeByteOff p #{offset VkDisplayModeCreateInfoKHR, flags}+        writeField p+          = pokeByteOff p #{offset VkDisplayModeCreateInfoKHR, pNext}  instance {-# OVERLAPPING #-}          HasField "flags" VkDisplayModeCreateInfoKHR where@@ -209,38 +157,22 @@         fieldOffset           = #{offset VkDisplayModeCreateInfoKHR, flags} -instance CanReadField "flags" VkDisplayModeCreateInfoKHR where-        {-# INLINE getField #-}-        getField = vkFlags--        {-# INLINE readField #-}-        readField = readVkFlags--instance CanWriteField "flags" VkDisplayModeCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkFlags- instance {-# OVERLAPPING #-}-         HasVkParameters VkDisplayModeCreateInfoKHR where-        type VkParametersMType VkDisplayModeCreateInfoKHR =-             VkDisplayModeParametersKHR--        {-# NOINLINE vkParameters #-}-        vkParameters x+         CanReadField "flags" VkDisplayModeCreateInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayModeCreateInfoKHR, parameters})--        {-# INLINE vkParametersByteOffset #-}-        vkParametersByteOffset ~_-          = #{offset VkDisplayModeCreateInfoKHR, parameters}+              (peekByteOff (unsafePtr x) #{offset VkDisplayModeCreateInfoKHR, flags}) -        {-# INLINE readVkParameters #-}-        readVkParameters p-          = peekByteOff p #{offset VkDisplayModeCreateInfoKHR, parameters}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplayModeCreateInfoKHR, flags} -        {-# INLINE writeVkParameters #-}-        writeVkParameters p-          = pokeByteOff p #{offset VkDisplayModeCreateInfoKHR, parameters}+instance {-# OVERLAPPING #-}+         CanWriteField "flags" VkDisplayModeCreateInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayModeCreateInfoKHR, flags}  instance {-# OVERLAPPING #-}          HasField "parameters" VkDisplayModeCreateInfoKHR where@@ -258,29 +190,34 @@         fieldOffset           = #{offset VkDisplayModeCreateInfoKHR, parameters} -instance CanReadField "parameters" VkDisplayModeCreateInfoKHR where-        {-# INLINE getField #-}-        getField = vkParameters+instance {-# OVERLAPPING #-}+         CanReadField "parameters" VkDisplayModeCreateInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayModeCreateInfoKHR, parameters})          {-# INLINE readField #-}-        readField = readVkParameters+        readField p+          = peekByteOff p #{offset VkDisplayModeCreateInfoKHR, parameters} -instance CanWriteField "parameters" VkDisplayModeCreateInfoKHR-         where+instance {-# OVERLAPPING #-}+         CanWriteField "parameters" VkDisplayModeCreateInfoKHR where         {-# INLINE writeField #-}-        writeField = writeVkParameters+        writeField p+          = pokeByteOff p #{offset VkDisplayModeCreateInfoKHR, parameters}  instance Show VkDisplayModeCreateInfoKHR where         showsPrec d x           = showString "VkDisplayModeCreateInfoKHR {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkFlags = " .-                            showsPrec d (vkFlags x) .+                          showString "flags = " .+                            showsPrec d (getField @"flags" x) .                               showString ", " .-                                showString "vkParameters = " .-                                  showsPrec d (vkParameters x) . showChar '}'+                                showString "parameters = " .+                                  showsPrec d (getField @"parameters" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDisplayModeParametersKHR.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDisplayModeParametersKHR        (VkDisplayModeParametersKHR(..)) where@@ -13,7 +14,6 @@ import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.Struct.VkExtent2D (VkExtent2D)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                        (unsafeDupablePerformIO)  -- | > typedef struct VkDisplayModeParametersKHR {@@ -21,7 +21,7 @@ --   >     uint32_t                         refreshRate; --   > } VkDisplayModeParametersKHR; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDisplayModeParametersKHR.html VkDisplayModeParametersKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDisplayModeParametersKHR.html VkDisplayModeParametersKHR registry at www.khronos.org> data VkDisplayModeParametersKHR = VkDisplayModeParametersKHR## Addr##                                                               ByteArray## @@ -74,27 +74,6 @@         type StructExtends VkDisplayModeParametersKHR = '[] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkVisibleRegion VkDisplayModeParametersKHR where-        type VkVisibleRegionMType VkDisplayModeParametersKHR = VkExtent2D--        {-# NOINLINE vkVisibleRegion #-}-        vkVisibleRegion x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayModeParametersKHR, visibleRegion})--        {-# INLINE vkVisibleRegionByteOffset #-}-        vkVisibleRegionByteOffset ~_-          = #{offset VkDisplayModeParametersKHR, visibleRegion}--        {-# INLINE readVkVisibleRegion #-}-        readVkVisibleRegion p-          = peekByteOff p #{offset VkDisplayModeParametersKHR, visibleRegion}--        {-# INLINE writeVkVisibleRegion #-}-        writeVkVisibleRegion p-          = pokeByteOff p #{offset VkDisplayModeParametersKHR, visibleRegion}--instance {-# OVERLAPPING #-}          HasField "visibleRegion" VkDisplayModeParametersKHR where         type FieldType "visibleRegion" VkDisplayModeParametersKHR =              VkExtent2D@@ -112,39 +91,22 @@         fieldOffset           = #{offset VkDisplayModeParametersKHR, visibleRegion} -instance CanReadField "visibleRegion" VkDisplayModeParametersKHR-         where-        {-# INLINE getField #-}-        getField = vkVisibleRegion--        {-# INLINE readField #-}-        readField = readVkVisibleRegion--instance CanWriteField "visibleRegion" VkDisplayModeParametersKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkVisibleRegion- instance {-# OVERLAPPING #-}-         HasVkRefreshRate VkDisplayModeParametersKHR where-        type VkRefreshRateMType VkDisplayModeParametersKHR = Word32--        {-# NOINLINE vkRefreshRate #-}-        vkRefreshRate x+         CanReadField "visibleRegion" VkDisplayModeParametersKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayModeParametersKHR, refreshRate})--        {-# INLINE vkRefreshRateByteOffset #-}-        vkRefreshRateByteOffset ~_-          = #{offset VkDisplayModeParametersKHR, refreshRate}+              (peekByteOff (unsafePtr x) #{offset VkDisplayModeParametersKHR, visibleRegion}) -        {-# INLINE readVkRefreshRate #-}-        readVkRefreshRate p-          = peekByteOff p #{offset VkDisplayModeParametersKHR, refreshRate}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplayModeParametersKHR, visibleRegion} -        {-# INLINE writeVkRefreshRate #-}-        writeVkRefreshRate p-          = pokeByteOff p #{offset VkDisplayModeParametersKHR, refreshRate}+instance {-# OVERLAPPING #-}+         CanWriteField "visibleRegion" VkDisplayModeParametersKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayModeParametersKHR, visibleRegion}  instance {-# OVERLAPPING #-}          HasField "refreshRate" VkDisplayModeParametersKHR where@@ -162,24 +124,28 @@         fieldOffset           = #{offset VkDisplayModeParametersKHR, refreshRate} -instance CanReadField "refreshRate" VkDisplayModeParametersKHR-         where-        {-# INLINE getField #-}-        getField = vkRefreshRate+instance {-# OVERLAPPING #-}+         CanReadField "refreshRate" VkDisplayModeParametersKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayModeParametersKHR, refreshRate})          {-# INLINE readField #-}-        readField = readVkRefreshRate+        readField p+          = peekByteOff p #{offset VkDisplayModeParametersKHR, refreshRate} -instance CanWriteField "refreshRate" VkDisplayModeParametersKHR-         where+instance {-# OVERLAPPING #-}+         CanWriteField "refreshRate" VkDisplayModeParametersKHR where         {-# INLINE writeField #-}-        writeField = writeVkRefreshRate+        writeField p+          = pokeByteOff p #{offset VkDisplayModeParametersKHR, refreshRate}  instance Show VkDisplayModeParametersKHR where         showsPrec d x           = showString "VkDisplayModeParametersKHR {" .-              showString "vkVisibleRegion = " .-                showsPrec d (vkVisibleRegion x) .+              showString "visibleRegion = " .+                showsPrec d (getField @"visibleRegion" x) .                   showString ", " .-                    showString "vkRefreshRate = " .-                      showsPrec d (vkRefreshRate x) . showChar '}'+                    showString "refreshRate = " .+                      showsPrec d (getField @"refreshRate" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDisplayModePropertiesKHR.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDisplayModePropertiesKHR        (VkDisplayModePropertiesKHR(..)) where@@ -14,7 +15,6 @@ import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.Handles                           (VkDisplayModeKHR) import           Graphics.Vulkan.Types.Struct.VkDisplayModeParametersKHR (VkDisplayModeParametersKHR)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                        (unsafeDupablePerformIO)  -- | > typedef struct VkDisplayModePropertiesKHR {@@ -22,7 +22,7 @@ --   >     VkDisplayModeParametersKHR       parameters; --   > } VkDisplayModePropertiesKHR; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDisplayModePropertiesKHR.html VkDisplayModePropertiesKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDisplayModePropertiesKHR.html VkDisplayModePropertiesKHR registry at www.khronos.org> data VkDisplayModePropertiesKHR = VkDisplayModePropertiesKHR## Addr##                                                               ByteArray## @@ -75,28 +75,6 @@         type StructExtends VkDisplayModePropertiesKHR = '[] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkDisplayMode VkDisplayModePropertiesKHR where-        type VkDisplayModeMType VkDisplayModePropertiesKHR =-             VkDisplayModeKHR--        {-# NOINLINE vkDisplayMode #-}-        vkDisplayMode x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayModePropertiesKHR, displayMode})--        {-# INLINE vkDisplayModeByteOffset #-}-        vkDisplayModeByteOffset ~_-          = #{offset VkDisplayModePropertiesKHR, displayMode}--        {-# INLINE readVkDisplayMode #-}-        readVkDisplayMode p-          = peekByteOff p #{offset VkDisplayModePropertiesKHR, displayMode}--        {-# INLINE writeVkDisplayMode #-}-        writeVkDisplayMode p-          = pokeByteOff p #{offset VkDisplayModePropertiesKHR, displayMode}--instance {-# OVERLAPPING #-}          HasField "displayMode" VkDisplayModePropertiesKHR where         type FieldType "displayMode" VkDisplayModePropertiesKHR =              VkDisplayModeKHR@@ -113,35 +91,22 @@         fieldOffset           = #{offset VkDisplayModePropertiesKHR, displayMode} -instance CanReadField "displayMode" VkDisplayModePropertiesKHR-         where-        {-# INLINE getField #-}-        getField = vkDisplayMode--        {-# INLINE readField #-}-        readField = readVkDisplayMode- instance {-# OVERLAPPING #-}-         HasVkParameters VkDisplayModePropertiesKHR where-        type VkParametersMType VkDisplayModePropertiesKHR =-             VkDisplayModeParametersKHR--        {-# NOINLINE vkParameters #-}-        vkParameters x+         CanReadField "displayMode" VkDisplayModePropertiesKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayModePropertiesKHR, parameters})--        {-# INLINE vkParametersByteOffset #-}-        vkParametersByteOffset ~_-          = #{offset VkDisplayModePropertiesKHR, parameters}+              (peekByteOff (unsafePtr x) #{offset VkDisplayModePropertiesKHR, displayMode}) -        {-# INLINE readVkParameters #-}-        readVkParameters p-          = peekByteOff p #{offset VkDisplayModePropertiesKHR, parameters}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplayModePropertiesKHR, displayMode} -        {-# INLINE writeVkParameters #-}-        writeVkParameters p-          = pokeByteOff p #{offset VkDisplayModePropertiesKHR, parameters}+instance {-# OVERLAPPING #-}+         CanWriteField "displayMode" VkDisplayModePropertiesKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayModePropertiesKHR, displayMode}  instance {-# OVERLAPPING #-}          HasField "parameters" VkDisplayModePropertiesKHR where@@ -159,18 +124,28 @@         fieldOffset           = #{offset VkDisplayModePropertiesKHR, parameters} -instance CanReadField "parameters" VkDisplayModePropertiesKHR where-        {-# INLINE getField #-}-        getField = vkParameters+instance {-# OVERLAPPING #-}+         CanReadField "parameters" VkDisplayModePropertiesKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayModePropertiesKHR, parameters})          {-# INLINE readField #-}-        readField = readVkParameters+        readField p+          = peekByteOff p #{offset VkDisplayModePropertiesKHR, parameters} +instance {-# OVERLAPPING #-}+         CanWriteField "parameters" VkDisplayModePropertiesKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayModePropertiesKHR, parameters}+ instance Show VkDisplayModePropertiesKHR where         showsPrec d x           = showString "VkDisplayModePropertiesKHR {" .-              showString "vkDisplayMode = " .-                showsPrec d (vkDisplayMode x) .+              showString "displayMode = " .+                showsPrec d (getField @"displayMode" x) .                   showString ", " .-                    showString "vkParameters = " .-                      showsPrec d (vkParameters x) . showChar '}'+                    showString "parameters = " .+                      showsPrec d (getField @"parameters" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDisplayPlaneCapabilitiesKHR.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDisplayPlaneCapabilitiesKHR        (VkDisplayPlaneCapabilitiesKHR(..)) where@@ -15,7 +16,6 @@ import           Graphics.Vulkan.Types.Enum.VkDisplayPlaneAlphaFlagsKHR (VkDisplayPlaneAlphaFlagsKHR) import           Graphics.Vulkan.Types.Struct.VkExtent2D                (VkExtent2D) import           Graphics.Vulkan.Types.Struct.VkOffset2D                (VkOffset2D)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                       (unsafeDupablePerformIO)  -- | > typedef struct VkDisplayPlaneCapabilitiesKHR {@@ -30,7 +30,7 @@ --   >     VkExtent2D                       maxDstExtent; --   > } VkDisplayPlaneCapabilitiesKHR; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDisplayPlaneCapabilitiesKHR.html VkDisplayPlaneCapabilitiesKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDisplayPlaneCapabilitiesKHR.html VkDisplayPlaneCapabilitiesKHR registry at www.khronos.org> data VkDisplayPlaneCapabilitiesKHR = VkDisplayPlaneCapabilitiesKHR## Addr##                                                                     ByteArray## @@ -86,28 +86,6 @@         type StructExtends VkDisplayPlaneCapabilitiesKHR = '[] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkSupportedAlpha VkDisplayPlaneCapabilitiesKHR where-        type VkSupportedAlphaMType VkDisplayPlaneCapabilitiesKHR =-             VkDisplayPlaneAlphaFlagsKHR--        {-# NOINLINE vkSupportedAlpha #-}-        vkSupportedAlpha x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, supportedAlpha})--        {-# INLINE vkSupportedAlphaByteOffset #-}-        vkSupportedAlphaByteOffset ~_-          = #{offset VkDisplayPlaneCapabilitiesKHR, supportedAlpha}--        {-# INLINE readVkSupportedAlpha #-}-        readVkSupportedAlpha p-          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, supportedAlpha}--        {-# INLINE writeVkSupportedAlpha #-}-        writeVkSupportedAlpha p-          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, supportedAlpha}--instance {-# OVERLAPPING #-}          HasField "supportedAlpha" VkDisplayPlaneCapabilitiesKHR where         type FieldType "supportedAlpha" VkDisplayPlaneCapabilitiesKHR =              VkDisplayPlaneAlphaFlagsKHR@@ -125,36 +103,22 @@         fieldOffset           = #{offset VkDisplayPlaneCapabilitiesKHR, supportedAlpha} -instance CanReadField "supportedAlpha"-           VkDisplayPlaneCapabilitiesKHR-         where-        {-# INLINE getField #-}-        getField = vkSupportedAlpha--        {-# INLINE readField #-}-        readField = readVkSupportedAlpha- instance {-# OVERLAPPING #-}-         HasVkMinSrcPosition VkDisplayPlaneCapabilitiesKHR where-        type VkMinSrcPositionMType VkDisplayPlaneCapabilitiesKHR =-             VkOffset2D--        {-# NOINLINE vkMinSrcPosition #-}-        vkMinSrcPosition x+         CanReadField "supportedAlpha" VkDisplayPlaneCapabilitiesKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition})--        {-# INLINE vkMinSrcPositionByteOffset #-}-        vkMinSrcPositionByteOffset ~_-          = #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition}+              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, supportedAlpha}) -        {-# INLINE readVkMinSrcPosition #-}-        readVkMinSrcPosition p-          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, supportedAlpha} -        {-# INLINE writeVkMinSrcPosition #-}-        writeVkMinSrcPosition p-          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition}+instance {-# OVERLAPPING #-}+         CanWriteField "supportedAlpha" VkDisplayPlaneCapabilitiesKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, supportedAlpha}  instance {-# OVERLAPPING #-}          HasField "minSrcPosition" VkDisplayPlaneCapabilitiesKHR where@@ -174,36 +138,22 @@         fieldOffset           = #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition} -instance CanReadField "minSrcPosition"-           VkDisplayPlaneCapabilitiesKHR-         where-        {-# INLINE getField #-}-        getField = vkMinSrcPosition--        {-# INLINE readField #-}-        readField = readVkMinSrcPosition- instance {-# OVERLAPPING #-}-         HasVkMaxSrcPosition VkDisplayPlaneCapabilitiesKHR where-        type VkMaxSrcPositionMType VkDisplayPlaneCapabilitiesKHR =-             VkOffset2D--        {-# NOINLINE vkMaxSrcPosition #-}-        vkMaxSrcPosition x+         CanReadField "minSrcPosition" VkDisplayPlaneCapabilitiesKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition})--        {-# INLINE vkMaxSrcPositionByteOffset #-}-        vkMaxSrcPositionByteOffset ~_-          = #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition}+              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition}) -        {-# INLINE readVkMaxSrcPosition #-}-        readVkMaxSrcPosition p-          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition} -        {-# INLINE writeVkMaxSrcPosition #-}-        writeVkMaxSrcPosition p-          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition}+instance {-# OVERLAPPING #-}+         CanWriteField "minSrcPosition" VkDisplayPlaneCapabilitiesKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition}  instance {-# OVERLAPPING #-}          HasField "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR where@@ -223,35 +173,22 @@         fieldOffset           = #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition} -instance CanReadField "maxSrcPosition"-           VkDisplayPlaneCapabilitiesKHR-         where-        {-# INLINE getField #-}-        getField = vkMaxSrcPosition--        {-# INLINE readField #-}-        readField = readVkMaxSrcPosition- instance {-# OVERLAPPING #-}-         HasVkMinSrcExtent VkDisplayPlaneCapabilitiesKHR where-        type VkMinSrcExtentMType VkDisplayPlaneCapabilitiesKHR = VkExtent2D--        {-# NOINLINE vkMinSrcExtent #-}-        vkMinSrcExtent x+         CanReadField "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent})--        {-# INLINE vkMinSrcExtentByteOffset #-}-        vkMinSrcExtentByteOffset ~_-          = #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent}+              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition}) -        {-# INLINE readVkMinSrcExtent #-}-        readVkMinSrcExtent p-          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition} -        {-# INLINE writeVkMinSrcExtent #-}-        writeVkMinSrcExtent p-          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent}+instance {-# OVERLAPPING #-}+         CanWriteField "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition}  instance {-# OVERLAPPING #-}          HasField "minSrcExtent" VkDisplayPlaneCapabilitiesKHR where@@ -271,34 +208,22 @@         fieldOffset           = #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent} -instance CanReadField "minSrcExtent" VkDisplayPlaneCapabilitiesKHR-         where-        {-# INLINE getField #-}-        getField = vkMinSrcExtent--        {-# INLINE readField #-}-        readField = readVkMinSrcExtent- instance {-# OVERLAPPING #-}-         HasVkMaxSrcExtent VkDisplayPlaneCapabilitiesKHR where-        type VkMaxSrcExtentMType VkDisplayPlaneCapabilitiesKHR = VkExtent2D--        {-# NOINLINE vkMaxSrcExtent #-}-        vkMaxSrcExtent x+         CanReadField "minSrcExtent" VkDisplayPlaneCapabilitiesKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent})--        {-# INLINE vkMaxSrcExtentByteOffset #-}-        vkMaxSrcExtentByteOffset ~_-          = #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent}+              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent}) -        {-# INLINE readVkMaxSrcExtent #-}-        readVkMaxSrcExtent p-          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent} -        {-# INLINE writeVkMaxSrcExtent #-}-        writeVkMaxSrcExtent p-          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent}+instance {-# OVERLAPPING #-}+         CanWriteField "minSrcExtent" VkDisplayPlaneCapabilitiesKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent}  instance {-# OVERLAPPING #-}          HasField "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR where@@ -318,35 +243,22 @@         fieldOffset           = #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent} -instance CanReadField "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR-         where-        {-# INLINE getField #-}-        getField = vkMaxSrcExtent--        {-# INLINE readField #-}-        readField = readVkMaxSrcExtent- instance {-# OVERLAPPING #-}-         HasVkMinDstPosition VkDisplayPlaneCapabilitiesKHR where-        type VkMinDstPositionMType VkDisplayPlaneCapabilitiesKHR =-             VkOffset2D--        {-# NOINLINE vkMinDstPosition #-}-        vkMinDstPosition x+         CanReadField "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition})--        {-# INLINE vkMinDstPositionByteOffset #-}-        vkMinDstPositionByteOffset ~_-          = #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition}+              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent}) -        {-# INLINE readVkMinDstPosition #-}-        readVkMinDstPosition p-          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent} -        {-# INLINE writeVkMinDstPosition #-}-        writeVkMinDstPosition p-          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition}+instance {-# OVERLAPPING #-}+         CanWriteField "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent}  instance {-# OVERLAPPING #-}          HasField "minDstPosition" VkDisplayPlaneCapabilitiesKHR where@@ -366,36 +278,22 @@         fieldOffset           = #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition} -instance CanReadField "minDstPosition"-           VkDisplayPlaneCapabilitiesKHR-         where-        {-# INLINE getField #-}-        getField = vkMinDstPosition--        {-# INLINE readField #-}-        readField = readVkMinDstPosition- instance {-# OVERLAPPING #-}-         HasVkMaxDstPosition VkDisplayPlaneCapabilitiesKHR where-        type VkMaxDstPositionMType VkDisplayPlaneCapabilitiesKHR =-             VkOffset2D--        {-# NOINLINE vkMaxDstPosition #-}-        vkMaxDstPosition x+         CanReadField "minDstPosition" VkDisplayPlaneCapabilitiesKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition})--        {-# INLINE vkMaxDstPositionByteOffset #-}-        vkMaxDstPositionByteOffset ~_-          = #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition}+              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition}) -        {-# INLINE readVkMaxDstPosition #-}-        readVkMaxDstPosition p-          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition} -        {-# INLINE writeVkMaxDstPosition #-}-        writeVkMaxDstPosition p-          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition}+instance {-# OVERLAPPING #-}+         CanWriteField "minDstPosition" VkDisplayPlaneCapabilitiesKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition}  instance {-# OVERLAPPING #-}          HasField "maxDstPosition" VkDisplayPlaneCapabilitiesKHR where@@ -415,35 +313,22 @@         fieldOffset           = #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition} -instance CanReadField "maxDstPosition"-           VkDisplayPlaneCapabilitiesKHR-         where-        {-# INLINE getField #-}-        getField = vkMaxDstPosition--        {-# INLINE readField #-}-        readField = readVkMaxDstPosition- instance {-# OVERLAPPING #-}-         HasVkMinDstExtent VkDisplayPlaneCapabilitiesKHR where-        type VkMinDstExtentMType VkDisplayPlaneCapabilitiesKHR = VkExtent2D--        {-# NOINLINE vkMinDstExtent #-}-        vkMinDstExtent x+         CanReadField "maxDstPosition" VkDisplayPlaneCapabilitiesKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent})--        {-# INLINE vkMinDstExtentByteOffset #-}-        vkMinDstExtentByteOffset ~_-          = #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent}+              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition}) -        {-# INLINE readVkMinDstExtent #-}-        readVkMinDstExtent p-          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition} -        {-# INLINE writeVkMinDstExtent #-}-        writeVkMinDstExtent p-          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent}+instance {-# OVERLAPPING #-}+         CanWriteField "maxDstPosition" VkDisplayPlaneCapabilitiesKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition}  instance {-# OVERLAPPING #-}          HasField "minDstExtent" VkDisplayPlaneCapabilitiesKHR where@@ -463,34 +348,22 @@         fieldOffset           = #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent} -instance CanReadField "minDstExtent" VkDisplayPlaneCapabilitiesKHR-         where-        {-# INLINE getField #-}-        getField = vkMinDstExtent--        {-# INLINE readField #-}-        readField = readVkMinDstExtent- instance {-# OVERLAPPING #-}-         HasVkMaxDstExtent VkDisplayPlaneCapabilitiesKHR where-        type VkMaxDstExtentMType VkDisplayPlaneCapabilitiesKHR = VkExtent2D--        {-# NOINLINE vkMaxDstExtent #-}-        vkMaxDstExtent x+         CanReadField "minDstExtent" VkDisplayPlaneCapabilitiesKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent})--        {-# INLINE vkMaxDstExtentByteOffset #-}-        vkMaxDstExtentByteOffset ~_-          = #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent}+              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent}) -        {-# INLINE readVkMaxDstExtent #-}-        readVkMaxDstExtent p-          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent} -        {-# INLINE writeVkMaxDstExtent #-}-        writeVkMaxDstExtent p-          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent}+instance {-# OVERLAPPING #-}+         CanWriteField "minDstExtent" VkDisplayPlaneCapabilitiesKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent}  instance {-# OVERLAPPING #-}          HasField "maxDstExtent" VkDisplayPlaneCapabilitiesKHR where@@ -510,41 +383,51 @@         fieldOffset           = #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent} -instance CanReadField "maxDstExtent" VkDisplayPlaneCapabilitiesKHR-         where-        {-# INLINE getField #-}-        getField = vkMaxDstExtent+instance {-# OVERLAPPING #-}+         CanReadField "maxDstExtent" VkDisplayPlaneCapabilitiesKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent})          {-# INLINE readField #-}-        readField = readVkMaxDstExtent+        readField p+          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent} +instance {-# OVERLAPPING #-}+         CanWriteField "maxDstExtent" VkDisplayPlaneCapabilitiesKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent}+ instance Show VkDisplayPlaneCapabilitiesKHR where         showsPrec d x           = showString "VkDisplayPlaneCapabilitiesKHR {" .-              showString "vkSupportedAlpha = " .-                showsPrec d (vkSupportedAlpha x) .+              showString "supportedAlpha = " .+                showsPrec d (getField @"supportedAlpha" x) .                   showString ", " .-                    showString "vkMinSrcPosition = " .-                      showsPrec d (vkMinSrcPosition x) .+                    showString "minSrcPosition = " .+                      showsPrec d (getField @"minSrcPosition" x) .                         showString ", " .-                          showString "vkMaxSrcPosition = " .-                            showsPrec d (vkMaxSrcPosition x) .+                          showString "maxSrcPosition = " .+                            showsPrec d (getField @"maxSrcPosition" x) .                               showString ", " .-                                showString "vkMinSrcExtent = " .-                                  showsPrec d (vkMinSrcExtent x) .+                                showString "minSrcExtent = " .+                                  showsPrec d (getField @"minSrcExtent" x) .                                     showString ", " .-                                      showString "vkMaxSrcExtent = " .-                                        showsPrec d (vkMaxSrcExtent x) .+                                      showString "maxSrcExtent = " .+                                        showsPrec d (getField @"maxSrcExtent" x) .                                           showString ", " .-                                            showString "vkMinDstPosition = " .-                                              showsPrec d (vkMinDstPosition x) .+                                            showString "minDstPosition = " .+                                              showsPrec d (getField @"minDstPosition" x) .                                                 showString ", " .-                                                  showString "vkMaxDstPosition = " .-                                                    showsPrec d (vkMaxDstPosition x) .+                                                  showString "maxDstPosition = " .+                                                    showsPrec d (getField @"maxDstPosition" x) .                                                       showString ", " .-                                                        showString "vkMinDstExtent = " .-                                                          showsPrec d (vkMinDstExtent x) .+                                                        showString "minDstExtent = " .+                                                          showsPrec d (getField @"minDstExtent" x) .                                                             showString ", " .-                                                              showString "vkMaxDstExtent = " .-                                                                showsPrec d (vkMaxDstExtent x) .-                                                                  showChar '}'+                                                              showString "maxDstExtent = " .+                                                                showsPrec d+                                                                  (getField @"maxDstExtent" x)+                                                                  . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDisplayPlanePropertiesKHR.hsc view
@@ -5,23 +5,23 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDisplayPlanePropertiesKHR        (VkDisplayPlanePropertiesKHR(..)) where-import           Foreign.Storable                    (Storable (..))+import           Foreign.Storable                 (Storable (..)) import           GHC.Prim import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Handles       (VkDisplayKHR)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                    (unsafeDupablePerformIO)+import           Graphics.Vulkan.Types.Handles    (VkDisplayKHR)+import           System.IO.Unsafe                 (unsafeDupablePerformIO)  -- | > typedef struct VkDisplayPlanePropertiesKHR { --   >     VkDisplayKHR                     currentDisplay; --   >     uint32_t                         currentStackIndex; --   > } VkDisplayPlanePropertiesKHR; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDisplayPlanePropertiesKHR.html VkDisplayPlanePropertiesKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDisplayPlanePropertiesKHR.html VkDisplayPlanePropertiesKHR registry at www.khronos.org> data VkDisplayPlanePropertiesKHR = VkDisplayPlanePropertiesKHR## Addr##                                                                 ByteArray## @@ -74,28 +74,6 @@         type StructExtends VkDisplayPlanePropertiesKHR = '[] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkCurrentDisplay VkDisplayPlanePropertiesKHR where-        type VkCurrentDisplayMType VkDisplayPlanePropertiesKHR =-             VkDisplayKHR--        {-# NOINLINE vkCurrentDisplay #-}-        vkCurrentDisplay x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlanePropertiesKHR, currentDisplay})--        {-# INLINE vkCurrentDisplayByteOffset #-}-        vkCurrentDisplayByteOffset ~_-          = #{offset VkDisplayPlanePropertiesKHR, currentDisplay}--        {-# INLINE readVkCurrentDisplay #-}-        readVkCurrentDisplay p-          = peekByteOff p #{offset VkDisplayPlanePropertiesKHR, currentDisplay}--        {-# INLINE writeVkCurrentDisplay #-}-        writeVkCurrentDisplay p-          = pokeByteOff p #{offset VkDisplayPlanePropertiesKHR, currentDisplay}--instance {-# OVERLAPPING #-}          HasField "currentDisplay" VkDisplayPlanePropertiesKHR where         type FieldType "currentDisplay" VkDisplayPlanePropertiesKHR =              VkDisplayKHR@@ -113,34 +91,22 @@         fieldOffset           = #{offset VkDisplayPlanePropertiesKHR, currentDisplay} -instance CanReadField "currentDisplay" VkDisplayPlanePropertiesKHR-         where-        {-# INLINE getField #-}-        getField = vkCurrentDisplay--        {-# INLINE readField #-}-        readField = readVkCurrentDisplay- instance {-# OVERLAPPING #-}-         HasVkCurrentStackIndex VkDisplayPlanePropertiesKHR where-        type VkCurrentStackIndexMType VkDisplayPlanePropertiesKHR = Word32--        {-# NOINLINE vkCurrentStackIndex #-}-        vkCurrentStackIndex x+         CanReadField "currentDisplay" VkDisplayPlanePropertiesKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPlanePropertiesKHR, currentStackIndex})--        {-# INLINE vkCurrentStackIndexByteOffset #-}-        vkCurrentStackIndexByteOffset ~_-          = #{offset VkDisplayPlanePropertiesKHR, currentStackIndex}+              (peekByteOff (unsafePtr x) #{offset VkDisplayPlanePropertiesKHR, currentDisplay}) -        {-# INLINE readVkCurrentStackIndex #-}-        readVkCurrentStackIndex p-          = peekByteOff p #{offset VkDisplayPlanePropertiesKHR, currentStackIndex}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplayPlanePropertiesKHR, currentDisplay} -        {-# INLINE writeVkCurrentStackIndex #-}-        writeVkCurrentStackIndex p-          = pokeByteOff p #{offset VkDisplayPlanePropertiesKHR, currentStackIndex}+instance {-# OVERLAPPING #-}+         CanWriteField "currentDisplay" VkDisplayPlanePropertiesKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayPlanePropertiesKHR, currentDisplay}  instance {-# OVERLAPPING #-}          HasField "currentStackIndex" VkDisplayPlanePropertiesKHR where@@ -160,20 +126,28 @@         fieldOffset           = #{offset VkDisplayPlanePropertiesKHR, currentStackIndex} -instance CanReadField "currentStackIndex"-           VkDisplayPlanePropertiesKHR-         where-        {-# INLINE getField #-}-        getField = vkCurrentStackIndex+instance {-# OVERLAPPING #-}+         CanReadField "currentStackIndex" VkDisplayPlanePropertiesKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPlanePropertiesKHR, currentStackIndex})          {-# INLINE readField #-}-        readField = readVkCurrentStackIndex+        readField p+          = peekByteOff p #{offset VkDisplayPlanePropertiesKHR, currentStackIndex} +instance {-# OVERLAPPING #-}+         CanWriteField "currentStackIndex" VkDisplayPlanePropertiesKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayPlanePropertiesKHR, currentStackIndex}+ instance Show VkDisplayPlanePropertiesKHR where         showsPrec d x           = showString "VkDisplayPlanePropertiesKHR {" .-              showString "vkCurrentDisplay = " .-                showsPrec d (vkCurrentDisplay x) .+              showString "currentDisplay = " .+                showsPrec d (getField @"currentDisplay" x) .                   showString ", " .-                    showString "vkCurrentStackIndex = " .-                      showsPrec d (vkCurrentStackIndex x) . showChar '}'+                    showString "currentStackIndex = " .+                      showsPrec d (getField @"currentStackIndex" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDisplayPowerInfoEXT.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDisplayPowerInfoEXT        (VkDisplayPowerInfoEXT(..)) where@@ -14,7 +15,6 @@ import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.Enum.VkDisplayPowerStateEXT (VkDisplayPowerStateEXT) import           Graphics.Vulkan.Types.Enum.VkStructureType        (VkStructureType)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                  (unsafeDupablePerformIO)  -- | > typedef struct VkDisplayPowerInfoEXT {@@ -23,7 +23,7 @@ --   >     VkDisplayPowerStateEXT           powerState; --   > } VkDisplayPowerInfoEXT; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDisplayPowerInfoEXT.html VkDisplayPowerInfoEXT registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDisplayPowerInfoEXT.html VkDisplayPowerInfoEXT registry at www.khronos.org> data VkDisplayPowerInfoEXT = VkDisplayPowerInfoEXT## Addr##                                                     ByteArray## @@ -72,26 +72,6 @@         type ReturnedOnly VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs         type StructExtends VkDisplayPowerInfoEXT = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSType VkDisplayPowerInfoEXT where-        type VkSTypeMType VkDisplayPowerInfoEXT = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPowerInfoEXT, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDisplayPowerInfoEXT, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDisplayPowerInfoEXT, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDisplayPowerInfoEXT, sType}- instance {-# OVERLAPPING #-} HasField "sType" VkDisplayPowerInfoEXT          where         type FieldType "sType" VkDisplayPowerInfoEXT = VkStructureType@@ -106,36 +86,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkDisplayPowerInfoEXT, sType} -instance CanReadField "sType" VkDisplayPowerInfoEXT where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDisplayPowerInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPowerInfoEXT, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkDisplayPowerInfoEXT, sType} -instance CanWriteField "sType" VkDisplayPowerInfoEXT where+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDisplayPowerInfoEXT where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkDisplayPowerInfoEXT where-        type VkPNextMType VkDisplayPowerInfoEXT = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPowerInfoEXT, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDisplayPowerInfoEXT, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDisplayPowerInfoEXT, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDisplayPowerInfoEXT, pNext}+        writeField p+          = pokeByteOff p #{offset VkDisplayPowerInfoEXT, sType}  instance {-# OVERLAPPING #-} HasField "pNext" VkDisplayPowerInfoEXT          where@@ -151,38 +117,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkDisplayPowerInfoEXT, pNext} -instance CanReadField "pNext" VkDisplayPowerInfoEXT where-        {-# INLINE getField #-}-        getField = vkPNext+instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDisplayPowerInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPowerInfoEXT, pNext})          {-# INLINE readField #-}-        readField = readVkPNext+        readField p+          = peekByteOff p #{offset VkDisplayPowerInfoEXT, pNext} -instance CanWriteField "pNext" VkDisplayPowerInfoEXT where+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDisplayPowerInfoEXT where         {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-} HasVkPowerState VkDisplayPowerInfoEXT-         where-        type VkPowerStateMType VkDisplayPowerInfoEXT =-             VkDisplayPowerStateEXT--        {-# NOINLINE vkPowerState #-}-        vkPowerState x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPowerInfoEXT, powerState})--        {-# INLINE vkPowerStateByteOffset #-}-        vkPowerStateByteOffset ~_-          = #{offset VkDisplayPowerInfoEXT, powerState}--        {-# INLINE readVkPowerState #-}-        readVkPowerState p-          = peekByteOff p #{offset VkDisplayPowerInfoEXT, powerState}--        {-# INLINE writeVkPowerState #-}-        writeVkPowerState p-          = pokeByteOff p #{offset VkDisplayPowerInfoEXT, powerState}+        writeField p+          = pokeByteOff p #{offset VkDisplayPowerInfoEXT, pNext}  instance {-# OVERLAPPING #-}          HasField "powerState" VkDisplayPowerInfoEXT where@@ -200,25 +150,31 @@         fieldOffset           = #{offset VkDisplayPowerInfoEXT, powerState} -instance CanReadField "powerState" VkDisplayPowerInfoEXT where-        {-# INLINE getField #-}-        getField = vkPowerState+instance {-# OVERLAPPING #-}+         CanReadField "powerState" VkDisplayPowerInfoEXT where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPowerInfoEXT, powerState})          {-# INLINE readField #-}-        readField = readVkPowerState+        readField p+          = peekByteOff p #{offset VkDisplayPowerInfoEXT, powerState} -instance CanWriteField "powerState" VkDisplayPowerInfoEXT where+instance {-# OVERLAPPING #-}+         CanWriteField "powerState" VkDisplayPowerInfoEXT where         {-# INLINE writeField #-}-        writeField = writeVkPowerState+        writeField p+          = pokeByteOff p #{offset VkDisplayPowerInfoEXT, powerState}  instance Show VkDisplayPowerInfoEXT where         showsPrec d x           = showString "VkDisplayPowerInfoEXT {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkPowerState = " .-                            showsPrec d (vkPowerState x) . showChar '}'+                          showString "powerState = " .+                            showsPrec d (getField @"powerState" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDisplayPresentInfoKHR.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDisplayPresentInfoKHR        (VkDisplayPresentInfoKHR(..)) where@@ -16,7 +17,6 @@ import           Graphics.Vulkan.Types.Enum.VkStructureType    (VkStructureType) import           Graphics.Vulkan.Types.Struct.VkPresentInfoKHR (VkPresentInfoKHR) import           Graphics.Vulkan.Types.Struct.VkRect2D         (VkRect2D)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                              (unsafeDupablePerformIO)  -- | > typedef struct VkDisplayPresentInfoKHR {@@ -27,7 +27,7 @@ --   >     VkBool32                         persistent; --   > } VkDisplayPresentInfoKHR; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDisplayPresentInfoKHR.html VkDisplayPresentInfoKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDisplayPresentInfoKHR.html VkDisplayPresentInfoKHR registry at www.khronos.org> data VkDisplayPresentInfoKHR = VkDisplayPresentInfoKHR## Addr##                                                         ByteArray## @@ -76,27 +76,6 @@         type ReturnedOnly VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs         type StructExtends VkDisplayPresentInfoKHR = '[VkPresentInfoKHR] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSType VkDisplayPresentInfoKHR-         where-        type VkSTypeMType VkDisplayPresentInfoKHR = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPresentInfoKHR, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDisplayPresentInfoKHR, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDisplayPresentInfoKHR, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDisplayPresentInfoKHR, sType}- instance {-# OVERLAPPING #-}          HasField "sType" VkDisplayPresentInfoKHR where         type FieldType "sType" VkDisplayPresentInfoKHR = VkStructureType@@ -111,37 +90,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkDisplayPresentInfoKHR, sType} -instance CanReadField "sType" VkDisplayPresentInfoKHR where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-}+         CanReadField "sType" VkDisplayPresentInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPresentInfoKHR, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkDisplayPresentInfoKHR, sType} -instance CanWriteField "sType" VkDisplayPresentInfoKHR where+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDisplayPresentInfoKHR where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkDisplayPresentInfoKHR-         where-        type VkPNextMType VkDisplayPresentInfoKHR = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPresentInfoKHR, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDisplayPresentInfoKHR, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDisplayPresentInfoKHR, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDisplayPresentInfoKHR, pNext}+        writeField p+          = pokeByteOff p #{offset VkDisplayPresentInfoKHR, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkDisplayPresentInfoKHR where@@ -157,37 +121,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkDisplayPresentInfoKHR, pNext} -instance CanReadField "pNext" VkDisplayPresentInfoKHR where-        {-# INLINE getField #-}-        getField = vkPNext+instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkDisplayPresentInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPresentInfoKHR, pNext})          {-# INLINE readField #-}-        readField = readVkPNext+        readField p+          = peekByteOff p #{offset VkDisplayPresentInfoKHR, pNext} -instance CanWriteField "pNext" VkDisplayPresentInfoKHR where+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDisplayPresentInfoKHR where         {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-} HasVkSrcRect VkDisplayPresentInfoKHR-         where-        type VkSrcRectMType VkDisplayPresentInfoKHR = VkRect2D--        {-# NOINLINE vkSrcRect #-}-        vkSrcRect x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPresentInfoKHR, srcRect})--        {-# INLINE vkSrcRectByteOffset #-}-        vkSrcRectByteOffset ~_-          = #{offset VkDisplayPresentInfoKHR, srcRect}--        {-# INLINE readVkSrcRect #-}-        readVkSrcRect p-          = peekByteOff p #{offset VkDisplayPresentInfoKHR, srcRect}--        {-# INLINE writeVkSrcRect #-}-        writeVkSrcRect p-          = pokeByteOff p #{offset VkDisplayPresentInfoKHR, srcRect}+        writeField p+          = pokeByteOff p #{offset VkDisplayPresentInfoKHR, pNext}  instance {-# OVERLAPPING #-}          HasField "srcRect" VkDisplayPresentInfoKHR where@@ -204,37 +153,22 @@         fieldOffset           = #{offset VkDisplayPresentInfoKHR, srcRect} -instance CanReadField "srcRect" VkDisplayPresentInfoKHR where-        {-# INLINE getField #-}-        getField = vkSrcRect+instance {-# OVERLAPPING #-}+         CanReadField "srcRect" VkDisplayPresentInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPresentInfoKHR, srcRect})          {-# INLINE readField #-}-        readField = readVkSrcRect+        readField p+          = peekByteOff p #{offset VkDisplayPresentInfoKHR, srcRect} -instance CanWriteField "srcRect" VkDisplayPresentInfoKHR where+instance {-# OVERLAPPING #-}+         CanWriteField "srcRect" VkDisplayPresentInfoKHR where         {-# INLINE writeField #-}-        writeField = writeVkSrcRect--instance {-# OVERLAPPING #-} HasVkDstRect VkDisplayPresentInfoKHR-         where-        type VkDstRectMType VkDisplayPresentInfoKHR = VkRect2D--        {-# NOINLINE vkDstRect #-}-        vkDstRect x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPresentInfoKHR, dstRect})--        {-# INLINE vkDstRectByteOffset #-}-        vkDstRectByteOffset ~_-          = #{offset VkDisplayPresentInfoKHR, dstRect}--        {-# INLINE readVkDstRect #-}-        readVkDstRect p-          = peekByteOff p #{offset VkDisplayPresentInfoKHR, dstRect}--        {-# INLINE writeVkDstRect #-}-        writeVkDstRect p-          = pokeByteOff p #{offset VkDisplayPresentInfoKHR, dstRect}+        writeField p+          = pokeByteOff p #{offset VkDisplayPresentInfoKHR, srcRect}  instance {-# OVERLAPPING #-}          HasField "dstRect" VkDisplayPresentInfoKHR where@@ -251,37 +185,22 @@         fieldOffset           = #{offset VkDisplayPresentInfoKHR, dstRect} -instance CanReadField "dstRect" VkDisplayPresentInfoKHR where-        {-# INLINE getField #-}-        getField = vkDstRect--        {-# INLINE readField #-}-        readField = readVkDstRect--instance CanWriteField "dstRect" VkDisplayPresentInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkDstRect- instance {-# OVERLAPPING #-}-         HasVkPersistent VkDisplayPresentInfoKHR where-        type VkPersistentMType VkDisplayPresentInfoKHR = VkBool32--        {-# NOINLINE vkPersistent #-}-        vkPersistent x+         CanReadField "dstRect" VkDisplayPresentInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPresentInfoKHR, persistent})--        {-# INLINE vkPersistentByteOffset #-}-        vkPersistentByteOffset ~_-          = #{offset VkDisplayPresentInfoKHR, persistent}+              (peekByteOff (unsafePtr x) #{offset VkDisplayPresentInfoKHR, dstRect}) -        {-# INLINE readVkPersistent #-}-        readVkPersistent p-          = peekByteOff p #{offset VkDisplayPresentInfoKHR, persistent}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplayPresentInfoKHR, dstRect} -        {-# INLINE writeVkPersistent #-}-        writeVkPersistent p-          = pokeByteOff p #{offset VkDisplayPresentInfoKHR, persistent}+instance {-# OVERLAPPING #-}+         CanWriteField "dstRect" VkDisplayPresentInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayPresentInfoKHR, dstRect}  instance {-# OVERLAPPING #-}          HasField "persistent" VkDisplayPresentInfoKHR where@@ -298,31 +217,37 @@         fieldOffset           = #{offset VkDisplayPresentInfoKHR, persistent} -instance CanReadField "persistent" VkDisplayPresentInfoKHR where-        {-# INLINE getField #-}-        getField = vkPersistent+instance {-# OVERLAPPING #-}+         CanReadField "persistent" VkDisplayPresentInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPresentInfoKHR, persistent})          {-# INLINE readField #-}-        readField = readVkPersistent+        readField p+          = peekByteOff p #{offset VkDisplayPresentInfoKHR, persistent} -instance CanWriteField "persistent" VkDisplayPresentInfoKHR where+instance {-# OVERLAPPING #-}+         CanWriteField "persistent" VkDisplayPresentInfoKHR where         {-# INLINE writeField #-}-        writeField = writeVkPersistent+        writeField p+          = pokeByteOff p #{offset VkDisplayPresentInfoKHR, persistent}  instance Show VkDisplayPresentInfoKHR where         showsPrec d x           = showString "VkDisplayPresentInfoKHR {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkSrcRect = " .-                            showsPrec d (vkSrcRect x) .+                          showString "srcRect = " .+                            showsPrec d (getField @"srcRect" x) .                               showString ", " .-                                showString "vkDstRect = " .-                                  showsPrec d (vkDstRect x) .+                                showString "dstRect = " .+                                  showsPrec d (getField @"dstRect" x) .                                     showString ", " .-                                      showString "vkPersistent = " .-                                        showsPrec d (vkPersistent x) . showChar '}'+                                      showString "persistent = " .+                                        showsPrec d (getField @"persistent" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDisplayPropertiesKHR.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDisplayPropertiesKHR        (VkDisplayPropertiesKHR(..)) where@@ -16,7 +17,6 @@ import           Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR (VkSurfaceTransformFlagsKHR) import           Graphics.Vulkan.Types.Handles                         (VkDisplayKHR) import           Graphics.Vulkan.Types.Struct.VkExtent2D               (VkExtent2D)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                      (unsafeDupablePerformIO)  -- | > typedef struct VkDisplayPropertiesKHR {@@ -29,7 +29,7 @@ --   >     VkBool32                         persistentContent; --   > } VkDisplayPropertiesKHR; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDisplayPropertiesKHR.html VkDisplayPropertiesKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDisplayPropertiesKHR.html VkDisplayPropertiesKHR registry at www.khronos.org> data VkDisplayPropertiesKHR = VkDisplayPropertiesKHR## Addr##                                                       ByteArray## @@ -80,27 +80,6 @@         type ReturnedOnly VkDisplayPropertiesKHR = 'True -- ' closing tick for hsc2hs         type StructExtends VkDisplayPropertiesKHR = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkDisplay VkDisplayPropertiesKHR-         where-        type VkDisplayMType VkDisplayPropertiesKHR = VkDisplayKHR--        {-# NOINLINE vkDisplay #-}-        vkDisplay x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, display})--        {-# INLINE vkDisplayByteOffset #-}-        vkDisplayByteOffset ~_-          = #{offset VkDisplayPropertiesKHR, display}--        {-# INLINE readVkDisplay #-}-        readVkDisplay p-          = peekByteOff p #{offset VkDisplayPropertiesKHR, display}--        {-# INLINE writeVkDisplay #-}-        writeVkDisplay p-          = pokeByteOff p #{offset VkDisplayPropertiesKHR, display}- instance {-# OVERLAPPING #-}          HasField "display" VkDisplayPropertiesKHR where         type FieldType "display" VkDisplayPropertiesKHR = VkDisplayKHR@@ -115,33 +94,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkDisplayPropertiesKHR, display} -instance CanReadField "display" VkDisplayPropertiesKHR where-        {-# INLINE getField #-}-        getField = vkDisplay--        {-# INLINE readField #-}-        readField = readVkDisplay- instance {-# OVERLAPPING #-}-         HasVkDisplayName VkDisplayPropertiesKHR where-        type VkDisplayNameMType VkDisplayPropertiesKHR = CString--        {-# NOINLINE vkDisplayName #-}-        vkDisplayName x+         CanReadField "display" VkDisplayPropertiesKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, displayName})--        {-# INLINE vkDisplayNameByteOffset #-}-        vkDisplayNameByteOffset ~_-          = #{offset VkDisplayPropertiesKHR, displayName}+              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, display}) -        {-# INLINE readVkDisplayName #-}-        readVkDisplayName p-          = peekByteOff p #{offset VkDisplayPropertiesKHR, displayName}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplayPropertiesKHR, display} -        {-# INLINE writeVkDisplayName #-}-        writeVkDisplayName p-          = pokeByteOff p #{offset VkDisplayPropertiesKHR, displayName}+instance {-# OVERLAPPING #-}+         CanWriteField "display" VkDisplayPropertiesKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayPropertiesKHR, display}  instance {-# OVERLAPPING #-}          HasField "displayName" VkDisplayPropertiesKHR where@@ -158,33 +126,22 @@         fieldOffset           = #{offset VkDisplayPropertiesKHR, displayName} -instance CanReadField "displayName" VkDisplayPropertiesKHR where-        {-# INLINE getField #-}-        getField = vkDisplayName--        {-# INLINE readField #-}-        readField = readVkDisplayName- instance {-# OVERLAPPING #-}-         HasVkPhysicalDimensions VkDisplayPropertiesKHR where-        type VkPhysicalDimensionsMType VkDisplayPropertiesKHR = VkExtent2D--        {-# NOINLINE vkPhysicalDimensions #-}-        vkPhysicalDimensions x+         CanReadField "displayName" VkDisplayPropertiesKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, physicalDimensions})--        {-# INLINE vkPhysicalDimensionsByteOffset #-}-        vkPhysicalDimensionsByteOffset ~_-          = #{offset VkDisplayPropertiesKHR, physicalDimensions}+              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, displayName}) -        {-# INLINE readVkPhysicalDimensions #-}-        readVkPhysicalDimensions p-          = peekByteOff p #{offset VkDisplayPropertiesKHR, physicalDimensions}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplayPropertiesKHR, displayName} -        {-# INLINE writeVkPhysicalDimensions #-}-        writeVkPhysicalDimensions p-          = pokeByteOff p #{offset VkDisplayPropertiesKHR, physicalDimensions}+instance {-# OVERLAPPING #-}+         CanWriteField "displayName" VkDisplayPropertiesKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayPropertiesKHR, displayName}  instance {-# OVERLAPPING #-}          HasField "physicalDimensions" VkDisplayPropertiesKHR where@@ -204,34 +161,22 @@         fieldOffset           = #{offset VkDisplayPropertiesKHR, physicalDimensions} -instance CanReadField "physicalDimensions" VkDisplayPropertiesKHR-         where-        {-# INLINE getField #-}-        getField = vkPhysicalDimensions--        {-# INLINE readField #-}-        readField = readVkPhysicalDimensions- instance {-# OVERLAPPING #-}-         HasVkPhysicalResolution VkDisplayPropertiesKHR where-        type VkPhysicalResolutionMType VkDisplayPropertiesKHR = VkExtent2D--        {-# NOINLINE vkPhysicalResolution #-}-        vkPhysicalResolution x+         CanReadField "physicalDimensions" VkDisplayPropertiesKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, physicalResolution})--        {-# INLINE vkPhysicalResolutionByteOffset #-}-        vkPhysicalResolutionByteOffset ~_-          = #{offset VkDisplayPropertiesKHR, physicalResolution}+              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, physicalDimensions}) -        {-# INLINE readVkPhysicalResolution #-}-        readVkPhysicalResolution p-          = peekByteOff p #{offset VkDisplayPropertiesKHR, physicalResolution}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplayPropertiesKHR, physicalDimensions} -        {-# INLINE writeVkPhysicalResolution #-}-        writeVkPhysicalResolution p-          = pokeByteOff p #{offset VkDisplayPropertiesKHR, physicalResolution}+instance {-# OVERLAPPING #-}+         CanWriteField "physicalDimensions" VkDisplayPropertiesKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayPropertiesKHR, physicalDimensions}  instance {-# OVERLAPPING #-}          HasField "physicalResolution" VkDisplayPropertiesKHR where@@ -251,35 +196,22 @@         fieldOffset           = #{offset VkDisplayPropertiesKHR, physicalResolution} -instance CanReadField "physicalResolution" VkDisplayPropertiesKHR-         where-        {-# INLINE getField #-}-        getField = vkPhysicalResolution--        {-# INLINE readField #-}-        readField = readVkPhysicalResolution- instance {-# OVERLAPPING #-}-         HasVkSupportedTransforms VkDisplayPropertiesKHR where-        type VkSupportedTransformsMType VkDisplayPropertiesKHR =-             VkSurfaceTransformFlagsKHR--        {-# NOINLINE vkSupportedTransforms #-}-        vkSupportedTransforms x+         CanReadField "physicalResolution" VkDisplayPropertiesKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, supportedTransforms})--        {-# INLINE vkSupportedTransformsByteOffset #-}-        vkSupportedTransformsByteOffset ~_-          = #{offset VkDisplayPropertiesKHR, supportedTransforms}+              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, physicalResolution}) -        {-# INLINE readVkSupportedTransforms #-}-        readVkSupportedTransforms p-          = peekByteOff p #{offset VkDisplayPropertiesKHR, supportedTransforms}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplayPropertiesKHR, physicalResolution} -        {-# INLINE writeVkSupportedTransforms #-}-        writeVkSupportedTransforms p-          = pokeByteOff p #{offset VkDisplayPropertiesKHR, supportedTransforms}+instance {-# OVERLAPPING #-}+         CanWriteField "physicalResolution" VkDisplayPropertiesKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayPropertiesKHR, physicalResolution}  instance {-# OVERLAPPING #-}          HasField "supportedTransforms" VkDisplayPropertiesKHR where@@ -299,34 +231,22 @@         fieldOffset           = #{offset VkDisplayPropertiesKHR, supportedTransforms} -instance CanReadField "supportedTransforms" VkDisplayPropertiesKHR-         where-        {-# INLINE getField #-}-        getField = vkSupportedTransforms--        {-# INLINE readField #-}-        readField = readVkSupportedTransforms- instance {-# OVERLAPPING #-}-         HasVkPlaneReorderPossible VkDisplayPropertiesKHR where-        type VkPlaneReorderPossibleMType VkDisplayPropertiesKHR = VkBool32--        {-# NOINLINE vkPlaneReorderPossible #-}-        vkPlaneReorderPossible x+         CanReadField "supportedTransforms" VkDisplayPropertiesKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, planeReorderPossible})--        {-# INLINE vkPlaneReorderPossibleByteOffset #-}-        vkPlaneReorderPossibleByteOffset ~_-          = #{offset VkDisplayPropertiesKHR, planeReorderPossible}+              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, supportedTransforms}) -        {-# INLINE readVkPlaneReorderPossible #-}-        readVkPlaneReorderPossible p-          = peekByteOff p #{offset VkDisplayPropertiesKHR, planeReorderPossible}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplayPropertiesKHR, supportedTransforms} -        {-# INLINE writeVkPlaneReorderPossible #-}-        writeVkPlaneReorderPossible p-          = pokeByteOff p #{offset VkDisplayPropertiesKHR, planeReorderPossible}+instance {-# OVERLAPPING #-}+         CanWriteField "supportedTransforms" VkDisplayPropertiesKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayPropertiesKHR, supportedTransforms}  instance {-# OVERLAPPING #-}          HasField "planeReorderPossible" VkDisplayPropertiesKHR where@@ -346,34 +266,22 @@         fieldOffset           = #{offset VkDisplayPropertiesKHR, planeReorderPossible} -instance CanReadField "planeReorderPossible" VkDisplayPropertiesKHR-         where-        {-# INLINE getField #-}-        getField = vkPlaneReorderPossible--        {-# INLINE readField #-}-        readField = readVkPlaneReorderPossible- instance {-# OVERLAPPING #-}-         HasVkPersistentContent VkDisplayPropertiesKHR where-        type VkPersistentContentMType VkDisplayPropertiesKHR = VkBool32--        {-# NOINLINE vkPersistentContent #-}-        vkPersistentContent x+         CanReadField "planeReorderPossible" VkDisplayPropertiesKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, persistentContent})--        {-# INLINE vkPersistentContentByteOffset #-}-        vkPersistentContentByteOffset ~_-          = #{offset VkDisplayPropertiesKHR, persistentContent}+              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, planeReorderPossible}) -        {-# INLINE readVkPersistentContent #-}-        readVkPersistentContent p-          = peekByteOff p #{offset VkDisplayPropertiesKHR, persistentContent}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplayPropertiesKHR, planeReorderPossible} -        {-# INLINE writeVkPersistentContent #-}-        writeVkPersistentContent p-          = pokeByteOff p #{offset VkDisplayPropertiesKHR, persistentContent}+instance {-# OVERLAPPING #-}+         CanWriteField "planeReorderPossible" VkDisplayPropertiesKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayPropertiesKHR, planeReorderPossible}  instance {-# OVERLAPPING #-}          HasField "persistentContent" VkDisplayPropertiesKHR where@@ -393,35 +301,44 @@         fieldOffset           = #{offset VkDisplayPropertiesKHR, persistentContent} -instance CanReadField "persistentContent" VkDisplayPropertiesKHR-         where-        {-# INLINE getField #-}-        getField = vkPersistentContent+instance {-# OVERLAPPING #-}+         CanReadField "persistentContent" VkDisplayPropertiesKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, persistentContent})          {-# INLINE readField #-}-        readField = readVkPersistentContent+        readField p+          = peekByteOff p #{offset VkDisplayPropertiesKHR, persistentContent} +instance {-# OVERLAPPING #-}+         CanWriteField "persistentContent" VkDisplayPropertiesKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplayPropertiesKHR, persistentContent}+ instance Show VkDisplayPropertiesKHR where         showsPrec d x           = showString "VkDisplayPropertiesKHR {" .-              showString "vkDisplay = " .-                showsPrec d (vkDisplay x) .+              showString "display = " .+                showsPrec d (getField @"display" x) .                   showString ", " .-                    showString "vkDisplayName = " .-                      showsPrec d (vkDisplayName x) .+                    showString "displayName = " .+                      showsPrec d (getField @"displayName" x) .                         showString ", " .-                          showString "vkPhysicalDimensions = " .-                            showsPrec d (vkPhysicalDimensions x) .+                          showString "physicalDimensions = " .+                            showsPrec d (getField @"physicalDimensions" x) .                               showString ", " .-                                showString "vkPhysicalResolution = " .-                                  showsPrec d (vkPhysicalResolution x) .+                                showString "physicalResolution = " .+                                  showsPrec d (getField @"physicalResolution" x) .                                     showString ", " .-                                      showString "vkSupportedTransforms = " .-                                        showsPrec d (vkSupportedTransforms x) .+                                      showString "supportedTransforms = " .+                                        showsPrec d (getField @"supportedTransforms" x) .                                           showString ", " .-                                            showString "vkPlaneReorderPossible = " .-                                              showsPrec d (vkPlaneReorderPossible x) .+                                            showString "planeReorderPossible = " .+                                              showsPrec d (getField @"planeReorderPossible" x) .                                                 showString ", " .-                                                  showString "vkPersistentContent = " .-                                                    showsPrec d (vkPersistentContent x) .+                                                  showString "persistentContent = " .+                                                    showsPrec d (getField @"persistentContent" x) .                                                       showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDisplaySurfaceCreateInfoKHR.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDisplaySurfaceCreateInfoKHR        (VkDisplaySurfaceCreateInfoKHR(..)) where@@ -18,7 +19,6 @@ import           Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR  (VkSurfaceTransformFlagBitsKHR) import           Graphics.Vulkan.Types.Handles                          (VkDisplayModeKHR) import           Graphics.Vulkan.Types.Struct.VkExtent2D                (VkExtent2D)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                       (unsafeDupablePerformIO)  -- | > typedef struct VkDisplaySurfaceCreateInfoKHR {@@ -34,7 +34,7 @@ --   >     VkExtent2D                       imageExtent; --   > } VkDisplaySurfaceCreateInfoKHR; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDisplaySurfaceCreateInfoKHR.html VkDisplaySurfaceCreateInfoKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDisplaySurfaceCreateInfoKHR.html VkDisplaySurfaceCreateInfoKHR registry at www.khronos.org> data VkDisplaySurfaceCreateInfoKHR = VkDisplaySurfaceCreateInfoKHR## Addr##                                                                     ByteArray## @@ -90,27 +90,6 @@         type StructExtends VkDisplaySurfaceCreateInfoKHR = '[] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkSType VkDisplaySurfaceCreateInfoKHR where-        type VkSTypeMType VkDisplaySurfaceCreateInfoKHR = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkDisplaySurfaceCreateInfoKHR, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}          HasField "sType" VkDisplaySurfaceCreateInfoKHR where         type FieldType "sType" VkDisplaySurfaceCreateInfoKHR =              VkStructureType@@ -126,37 +105,22 @@         fieldOffset           = #{offset VkDisplaySurfaceCreateInfoKHR, sType} -instance CanReadField "sType" VkDisplaySurfaceCreateInfoKHR where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkDisplaySurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkSType- instance {-# OVERLAPPING #-}-         HasVkPNext VkDisplaySurfaceCreateInfoKHR where-        type VkPNextMType VkDisplaySurfaceCreateInfoKHR = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x+         CanReadField "sType" VkDisplaySurfaceCreateInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkDisplaySurfaceCreateInfoKHR, pNext}+              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, sType}) -        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, pNext}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, sType} -        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, pNext}+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkDisplaySurfaceCreateInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkDisplaySurfaceCreateInfoKHR where@@ -173,38 +137,22 @@         fieldOffset           = #{offset VkDisplaySurfaceCreateInfoKHR, pNext} -instance CanReadField "pNext" VkDisplaySurfaceCreateInfoKHR where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkDisplaySurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkFlags VkDisplaySurfaceCreateInfoKHR where-        type VkFlagsMType VkDisplaySurfaceCreateInfoKHR =-             VkDisplaySurfaceCreateFlagsKHR--        {-# NOINLINE vkFlags #-}-        vkFlags x+         CanReadField "pNext" VkDisplaySurfaceCreateInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, flags})--        {-# INLINE vkFlagsByteOffset #-}-        vkFlagsByteOffset ~_-          = #{offset VkDisplaySurfaceCreateInfoKHR, flags}+              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, pNext}) -        {-# INLINE readVkFlags #-}-        readVkFlags p-          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, flags}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, pNext} -        {-# INLINE writeVkFlags #-}-        writeVkFlags p-          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, flags}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkDisplaySurfaceCreateInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, pNext}  instance {-# OVERLAPPING #-}          HasField "flags" VkDisplaySurfaceCreateInfoKHR where@@ -222,38 +170,22 @@         fieldOffset           = #{offset VkDisplaySurfaceCreateInfoKHR, flags} -instance CanReadField "flags" VkDisplaySurfaceCreateInfoKHR where-        {-# INLINE getField #-}-        getField = vkFlags--        {-# INLINE readField #-}-        readField = readVkFlags--instance CanWriteField "flags" VkDisplaySurfaceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkFlags- instance {-# OVERLAPPING #-}-         HasVkDisplayMode VkDisplaySurfaceCreateInfoKHR where-        type VkDisplayModeMType VkDisplaySurfaceCreateInfoKHR =-             VkDisplayModeKHR--        {-# NOINLINE vkDisplayMode #-}-        vkDisplayMode x+         CanReadField "flags" VkDisplaySurfaceCreateInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, displayMode})--        {-# INLINE vkDisplayModeByteOffset #-}-        vkDisplayModeByteOffset ~_-          = #{offset VkDisplaySurfaceCreateInfoKHR, displayMode}+              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, flags}) -        {-# INLINE readVkDisplayMode #-}-        readVkDisplayMode p-          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, displayMode}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, flags} -        {-# INLINE writeVkDisplayMode #-}-        writeVkDisplayMode p-          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, displayMode}+instance {-# OVERLAPPING #-}+         CanWriteField "flags" VkDisplaySurfaceCreateInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, flags}  instance {-# OVERLAPPING #-}          HasField "displayMode" VkDisplaySurfaceCreateInfoKHR where@@ -273,39 +205,22 @@         fieldOffset           = #{offset VkDisplaySurfaceCreateInfoKHR, displayMode} -instance CanReadField "displayMode" VkDisplaySurfaceCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkDisplayMode--        {-# INLINE readField #-}-        readField = readVkDisplayMode--instance CanWriteField "displayMode" VkDisplaySurfaceCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkDisplayMode- instance {-# OVERLAPPING #-}-         HasVkPlaneIndex VkDisplaySurfaceCreateInfoKHR where-        type VkPlaneIndexMType VkDisplaySurfaceCreateInfoKHR = Word32--        {-# NOINLINE vkPlaneIndex #-}-        vkPlaneIndex x+         CanReadField "displayMode" VkDisplaySurfaceCreateInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex})--        {-# INLINE vkPlaneIndexByteOffset #-}-        vkPlaneIndexByteOffset ~_-          = #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex}+              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, displayMode}) -        {-# INLINE readVkPlaneIndex #-}-        readVkPlaneIndex p-          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, displayMode} -        {-# INLINE writeVkPlaneIndex #-}-        writeVkPlaneIndex p-          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex}+instance {-# OVERLAPPING #-}+         CanWriteField "displayMode" VkDisplaySurfaceCreateInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, displayMode}  instance {-# OVERLAPPING #-}          HasField "planeIndex" VkDisplaySurfaceCreateInfoKHR where@@ -324,39 +239,22 @@         fieldOffset           = #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex} -instance CanReadField "planeIndex" VkDisplaySurfaceCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkPlaneIndex--        {-# INLINE readField #-}-        readField = readVkPlaneIndex--instance CanWriteField "planeIndex" VkDisplaySurfaceCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkPlaneIndex- instance {-# OVERLAPPING #-}-         HasVkPlaneStackIndex VkDisplaySurfaceCreateInfoKHR where-        type VkPlaneStackIndexMType VkDisplaySurfaceCreateInfoKHR = Word32--        {-# NOINLINE vkPlaneStackIndex #-}-        vkPlaneStackIndex x+         CanReadField "planeIndex" VkDisplaySurfaceCreateInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex})--        {-# INLINE vkPlaneStackIndexByteOffset #-}-        vkPlaneStackIndexByteOffset ~_-          = #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex}+              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex}) -        {-# INLINE readVkPlaneStackIndex #-}-        readVkPlaneStackIndex p-          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex} -        {-# INLINE writeVkPlaneStackIndex #-}-        writeVkPlaneStackIndex p-          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex}+instance {-# OVERLAPPING #-}+         CanWriteField "planeIndex" VkDisplaySurfaceCreateInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex}  instance {-# OVERLAPPING #-}          HasField "planeStackIndex" VkDisplaySurfaceCreateInfoKHR where@@ -376,42 +274,22 @@         fieldOffset           = #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex} -instance CanReadField "planeStackIndex"-           VkDisplaySurfaceCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkPlaneStackIndex--        {-# INLINE readField #-}-        readField = readVkPlaneStackIndex--instance CanWriteField "planeStackIndex"-           VkDisplaySurfaceCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkPlaneStackIndex- instance {-# OVERLAPPING #-}-         HasVkTransform VkDisplaySurfaceCreateInfoKHR where-        type VkTransformMType VkDisplaySurfaceCreateInfoKHR =-             VkSurfaceTransformFlagBitsKHR--        {-# NOINLINE vkTransform #-}-        vkTransform x+         CanReadField "planeStackIndex" VkDisplaySurfaceCreateInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, transform})--        {-# INLINE vkTransformByteOffset #-}-        vkTransformByteOffset ~_-          = #{offset VkDisplaySurfaceCreateInfoKHR, transform}+              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex}) -        {-# INLINE readVkTransform #-}-        readVkTransform p-          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, transform}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex} -        {-# INLINE writeVkTransform #-}-        writeVkTransform p-          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, transform}+instance {-# OVERLAPPING #-}+         CanWriteField "planeStackIndex" VkDisplaySurfaceCreateInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex}  instance {-# OVERLAPPING #-}          HasField "transform" VkDisplaySurfaceCreateInfoKHR where@@ -431,40 +309,22 @@         fieldOffset           = #{offset VkDisplaySurfaceCreateInfoKHR, transform} -instance CanReadField "transform" VkDisplaySurfaceCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkTransform--        {-# INLINE readField #-}-        readField = readVkTransform--instance CanWriteField "transform" VkDisplaySurfaceCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkTransform- instance {-# OVERLAPPING #-}-         HasVkGlobalAlpha VkDisplaySurfaceCreateInfoKHR where-        type VkGlobalAlphaMType VkDisplaySurfaceCreateInfoKHR =-             #{type float}--        {-# NOINLINE vkGlobalAlpha #-}-        vkGlobalAlpha x+         CanReadField "transform" VkDisplaySurfaceCreateInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha})--        {-# INLINE vkGlobalAlphaByteOffset #-}-        vkGlobalAlphaByteOffset ~_-          = #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha}+              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, transform}) -        {-# INLINE readVkGlobalAlpha #-}-        readVkGlobalAlpha p-          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, transform} -        {-# INLINE writeVkGlobalAlpha #-}-        writeVkGlobalAlpha p-          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha}+instance {-# OVERLAPPING #-}+         CanWriteField "transform" VkDisplaySurfaceCreateInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, transform}  instance {-# OVERLAPPING #-}          HasField "globalAlpha" VkDisplaySurfaceCreateInfoKHR where@@ -484,40 +344,22 @@         fieldOffset           = #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha} -instance CanReadField "globalAlpha" VkDisplaySurfaceCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkGlobalAlpha--        {-# INLINE readField #-}-        readField = readVkGlobalAlpha--instance CanWriteField "globalAlpha" VkDisplaySurfaceCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkGlobalAlpha- instance {-# OVERLAPPING #-}-         HasVkAlphaMode VkDisplaySurfaceCreateInfoKHR where-        type VkAlphaModeMType VkDisplaySurfaceCreateInfoKHR =-             VkDisplayPlaneAlphaFlagBitsKHR--        {-# NOINLINE vkAlphaMode #-}-        vkAlphaMode x+         CanReadField "globalAlpha" VkDisplaySurfaceCreateInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode})--        {-# INLINE vkAlphaModeByteOffset #-}-        vkAlphaModeByteOffset ~_-          = #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode}+              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha}) -        {-# INLINE readVkAlphaMode #-}-        readVkAlphaMode p-          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha} -        {-# INLINE writeVkAlphaMode #-}-        writeVkAlphaMode p-          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode}+instance {-# OVERLAPPING #-}+         CanWriteField "globalAlpha" VkDisplaySurfaceCreateInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha}  instance {-# OVERLAPPING #-}          HasField "alphaMode" VkDisplaySurfaceCreateInfoKHR where@@ -537,39 +379,22 @@         fieldOffset           = #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode} -instance CanReadField "alphaMode" VkDisplaySurfaceCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkAlphaMode--        {-# INLINE readField #-}-        readField = readVkAlphaMode--instance CanWriteField "alphaMode" VkDisplaySurfaceCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkAlphaMode- instance {-# OVERLAPPING #-}-         HasVkImageExtent VkDisplaySurfaceCreateInfoKHR where-        type VkImageExtentMType VkDisplaySurfaceCreateInfoKHR = VkExtent2D--        {-# NOINLINE vkImageExtent #-}-        vkImageExtent x+         CanReadField "alphaMode" VkDisplaySurfaceCreateInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent})--        {-# INLINE vkImageExtentByteOffset #-}-        vkImageExtentByteOffset ~_-          = #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent}+              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode}) -        {-# INLINE readVkImageExtent #-}-        readVkImageExtent p-          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode} -        {-# INLINE writeVkImageExtent #-}-        writeVkImageExtent p-          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent}+instance {-# OVERLAPPING #-}+         CanWriteField "alphaMode" VkDisplaySurfaceCreateInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode}  instance {-# OVERLAPPING #-}          HasField "imageExtent" VkDisplaySurfaceCreateInfoKHR where@@ -589,49 +414,56 @@         fieldOffset           = #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent} -instance CanReadField "imageExtent" VkDisplaySurfaceCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkImageExtent+instance {-# OVERLAPPING #-}+         CanReadField "imageExtent" VkDisplaySurfaceCreateInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent})          {-# INLINE readField #-}-        readField = readVkImageExtent+        readField p+          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent} -instance CanWriteField "imageExtent" VkDisplaySurfaceCreateInfoKHR-         where+instance {-# OVERLAPPING #-}+         CanWriteField "imageExtent" VkDisplaySurfaceCreateInfoKHR where         {-# INLINE writeField #-}-        writeField = writeVkImageExtent+        writeField p+          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent}  instance Show VkDisplaySurfaceCreateInfoKHR where         showsPrec d x           = showString "VkDisplaySurfaceCreateInfoKHR {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkFlags = " .-                            showsPrec d (vkFlags x) .+                          showString "flags = " .+                            showsPrec d (getField @"flags" x) .                               showString ", " .-                                showString "vkDisplayMode = " .-                                  showsPrec d (vkDisplayMode x) .+                                showString "displayMode = " .+                                  showsPrec d (getField @"displayMode" x) .                                     showString ", " .-                                      showString "vkPlaneIndex = " .-                                        showsPrec d (vkPlaneIndex x) .+                                      showString "planeIndex = " .+                                        showsPrec d (getField @"planeIndex" x) .                                           showString ", " .-                                            showString "vkPlaneStackIndex = " .-                                              showsPrec d (vkPlaneStackIndex x) .+                                            showString "planeStackIndex = " .+                                              showsPrec d (getField @"planeStackIndex" x) .                                                 showString ", " .-                                                  showString "vkTransform = " .-                                                    showsPrec d (vkTransform x) .+                                                  showString "transform = " .+                                                    showsPrec d (getField @"transform" x) .                                                       showString ", " .-                                                        showString "vkGlobalAlpha = " .-                                                          showsPrec d (vkGlobalAlpha x) .+                                                        showString "globalAlpha = " .+                                                          showsPrec d (getField @"globalAlpha" x) .                                                             showString ", " .-                                                              showString "vkAlphaMode = " .-                                                                showsPrec d (vkAlphaMode x) .+                                                              showString "alphaMode = " .+                                                                showsPrec d+                                                                  (getField @"alphaMode" x)+                                                                  .                                                                   showString ", " .-                                                                    showString "vkImageExtent = " .-                                                                      showsPrec d (vkImageExtent x)+                                                                    showString "imageExtent = " .+                                                                      showsPrec d+                                                                        (getField @"imageExtent" x)                                                                         . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDrawIndexedIndirectCommand.hsc view
@@ -5,15 +5,15 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDrawIndexedIndirectCommand        (VkDrawIndexedIndirectCommand(..)) where-import           Foreign.Storable                    (Storable (..))+import           Foreign.Storable                 (Storable (..)) import           GHC.Prim import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                    (unsafeDupablePerformIO)+import           System.IO.Unsafe                 (unsafeDupablePerformIO)  -- | > typedef struct VkDrawIndexedIndirectCommand { --   >     uint32_t               indexCount;@@ -23,7 +23,7 @@ --   >     uint32_t               firstInstance; --   > } VkDrawIndexedIndirectCommand; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDrawIndexedIndirectCommand.html VkDrawIndexedIndirectCommand registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDrawIndexedIndirectCommand.html VkDrawIndexedIndirectCommand registry at www.khronos.org> data VkDrawIndexedIndirectCommand = VkDrawIndexedIndirectCommand## Addr##                                                                   ByteArray## @@ -78,27 +78,6 @@         type StructExtends VkDrawIndexedIndirectCommand = '[] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkIndexCount VkDrawIndexedIndirectCommand where-        type VkIndexCountMType VkDrawIndexedIndirectCommand = Word32--        {-# NOINLINE vkIndexCount #-}-        vkIndexCount x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, indexCount})--        {-# INLINE vkIndexCountByteOffset #-}-        vkIndexCountByteOffset ~_-          = #{offset VkDrawIndexedIndirectCommand, indexCount}--        {-# INLINE readVkIndexCount #-}-        readVkIndexCount p-          = peekByteOff p #{offset VkDrawIndexedIndirectCommand, indexCount}--        {-# INLINE writeVkIndexCount #-}-        writeVkIndexCount p-          = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, indexCount}--instance {-# OVERLAPPING #-}          HasField "indexCount" VkDrawIndexedIndirectCommand where         type FieldType "indexCount" VkDrawIndexedIndirectCommand = Word32         type FieldOptional "indexCount" VkDrawIndexedIndirectCommand =@@ -115,39 +94,22 @@         fieldOffset           = #{offset VkDrawIndexedIndirectCommand, indexCount} -instance CanReadField "indexCount" VkDrawIndexedIndirectCommand-         where-        {-# INLINE getField #-}-        getField = vkIndexCount--        {-# INLINE readField #-}-        readField = readVkIndexCount--instance CanWriteField "indexCount" VkDrawIndexedIndirectCommand-         where-        {-# INLINE writeField #-}-        writeField = writeVkIndexCount- instance {-# OVERLAPPING #-}-         HasVkInstanceCount VkDrawIndexedIndirectCommand where-        type VkInstanceCountMType VkDrawIndexedIndirectCommand = Word32--        {-# NOINLINE vkInstanceCount #-}-        vkInstanceCount x+         CanReadField "indexCount" VkDrawIndexedIndirectCommand where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, instanceCount})--        {-# INLINE vkInstanceCountByteOffset #-}-        vkInstanceCountByteOffset ~_-          = #{offset VkDrawIndexedIndirectCommand, instanceCount}+              (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, indexCount}) -        {-# INLINE readVkInstanceCount #-}-        readVkInstanceCount p-          = peekByteOff p #{offset VkDrawIndexedIndirectCommand, instanceCount}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDrawIndexedIndirectCommand, indexCount} -        {-# INLINE writeVkInstanceCount #-}-        writeVkInstanceCount p-          = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, instanceCount}+instance {-# OVERLAPPING #-}+         CanWriteField "indexCount" VkDrawIndexedIndirectCommand where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, indexCount}  instance {-# OVERLAPPING #-}          HasField "instanceCount" VkDrawIndexedIndirectCommand where@@ -167,39 +129,22 @@         fieldOffset           = #{offset VkDrawIndexedIndirectCommand, instanceCount} -instance CanReadField "instanceCount" VkDrawIndexedIndirectCommand-         where-        {-# INLINE getField #-}-        getField = vkInstanceCount--        {-# INLINE readField #-}-        readField = readVkInstanceCount--instance CanWriteField "instanceCount" VkDrawIndexedIndirectCommand-         where-        {-# INLINE writeField #-}-        writeField = writeVkInstanceCount- instance {-# OVERLAPPING #-}-         HasVkFirstIndex VkDrawIndexedIndirectCommand where-        type VkFirstIndexMType VkDrawIndexedIndirectCommand = Word32--        {-# NOINLINE vkFirstIndex #-}-        vkFirstIndex x+         CanReadField "instanceCount" VkDrawIndexedIndirectCommand where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, firstIndex})--        {-# INLINE vkFirstIndexByteOffset #-}-        vkFirstIndexByteOffset ~_-          = #{offset VkDrawIndexedIndirectCommand, firstIndex}+              (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, instanceCount}) -        {-# INLINE readVkFirstIndex #-}-        readVkFirstIndex p-          = peekByteOff p #{offset VkDrawIndexedIndirectCommand, firstIndex}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDrawIndexedIndirectCommand, instanceCount} -        {-# INLINE writeVkFirstIndex #-}-        writeVkFirstIndex p-          = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, firstIndex}+instance {-# OVERLAPPING #-}+         CanWriteField "instanceCount" VkDrawIndexedIndirectCommand where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, instanceCount}  instance {-# OVERLAPPING #-}          HasField "firstIndex" VkDrawIndexedIndirectCommand where@@ -218,39 +163,22 @@         fieldOffset           = #{offset VkDrawIndexedIndirectCommand, firstIndex} -instance CanReadField "firstIndex" VkDrawIndexedIndirectCommand-         where-        {-# INLINE getField #-}-        getField = vkFirstIndex--        {-# INLINE readField #-}-        readField = readVkFirstIndex--instance CanWriteField "firstIndex" VkDrawIndexedIndirectCommand-         where-        {-# INLINE writeField #-}-        writeField = writeVkFirstIndex- instance {-# OVERLAPPING #-}-         HasVkVertexOffset VkDrawIndexedIndirectCommand where-        type VkVertexOffsetMType VkDrawIndexedIndirectCommand = Int32--        {-# NOINLINE vkVertexOffset #-}-        vkVertexOffset x+         CanReadField "firstIndex" VkDrawIndexedIndirectCommand where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, vertexOffset})--        {-# INLINE vkVertexOffsetByteOffset #-}-        vkVertexOffsetByteOffset ~_-          = #{offset VkDrawIndexedIndirectCommand, vertexOffset}+              (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, firstIndex}) -        {-# INLINE readVkVertexOffset #-}-        readVkVertexOffset p-          = peekByteOff p #{offset VkDrawIndexedIndirectCommand, vertexOffset}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDrawIndexedIndirectCommand, firstIndex} -        {-# INLINE writeVkVertexOffset #-}-        writeVkVertexOffset p-          = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, vertexOffset}+instance {-# OVERLAPPING #-}+         CanWriteField "firstIndex" VkDrawIndexedIndirectCommand where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, firstIndex}  instance {-# OVERLAPPING #-}          HasField "vertexOffset" VkDrawIndexedIndirectCommand where@@ -269,39 +197,22 @@         fieldOffset           = #{offset VkDrawIndexedIndirectCommand, vertexOffset} -instance CanReadField "vertexOffset" VkDrawIndexedIndirectCommand-         where-        {-# INLINE getField #-}-        getField = vkVertexOffset--        {-# INLINE readField #-}-        readField = readVkVertexOffset--instance CanWriteField "vertexOffset" VkDrawIndexedIndirectCommand-         where-        {-# INLINE writeField #-}-        writeField = writeVkVertexOffset- instance {-# OVERLAPPING #-}-         HasVkFirstInstance VkDrawIndexedIndirectCommand where-        type VkFirstInstanceMType VkDrawIndexedIndirectCommand = Word32--        {-# NOINLINE vkFirstInstance #-}-        vkFirstInstance x+         CanReadField "vertexOffset" VkDrawIndexedIndirectCommand where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, firstInstance})--        {-# INLINE vkFirstInstanceByteOffset #-}-        vkFirstInstanceByteOffset ~_-          = #{offset VkDrawIndexedIndirectCommand, firstInstance}+              (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, vertexOffset}) -        {-# INLINE readVkFirstInstance #-}-        readVkFirstInstance p-          = peekByteOff p #{offset VkDrawIndexedIndirectCommand, firstInstance}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDrawIndexedIndirectCommand, vertexOffset} -        {-# INLINE writeVkFirstInstance #-}-        writeVkFirstInstance p-          = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, firstInstance}+instance {-# OVERLAPPING #-}+         CanWriteField "vertexOffset" VkDrawIndexedIndirectCommand where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, vertexOffset}  instance {-# OVERLAPPING #-}          HasField "firstInstance" VkDrawIndexedIndirectCommand where@@ -321,33 +232,37 @@         fieldOffset           = #{offset VkDrawIndexedIndirectCommand, firstInstance} -instance CanReadField "firstInstance" VkDrawIndexedIndirectCommand-         where-        {-# INLINE getField #-}-        getField = vkFirstInstance+instance {-# OVERLAPPING #-}+         CanReadField "firstInstance" VkDrawIndexedIndirectCommand where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, firstInstance})          {-# INLINE readField #-}-        readField = readVkFirstInstance+        readField p+          = peekByteOff p #{offset VkDrawIndexedIndirectCommand, firstInstance} -instance CanWriteField "firstInstance" VkDrawIndexedIndirectCommand-         where+instance {-# OVERLAPPING #-}+         CanWriteField "firstInstance" VkDrawIndexedIndirectCommand where         {-# INLINE writeField #-}-        writeField = writeVkFirstInstance+        writeField p+          = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, firstInstance}  instance Show VkDrawIndexedIndirectCommand where         showsPrec d x           = showString "VkDrawIndexedIndirectCommand {" .-              showString "vkIndexCount = " .-                showsPrec d (vkIndexCount x) .+              showString "indexCount = " .+                showsPrec d (getField @"indexCount" x) .                   showString ", " .-                    showString "vkInstanceCount = " .-                      showsPrec d (vkInstanceCount x) .+                    showString "instanceCount = " .+                      showsPrec d (getField @"instanceCount" x) .                         showString ", " .-                          showString "vkFirstIndex = " .-                            showsPrec d (vkFirstIndex x) .+                          showString "firstIndex = " .+                            showsPrec d (getField @"firstIndex" x) .                               showString ", " .-                                showString "vkVertexOffset = " .-                                  showsPrec d (vkVertexOffset x) .+                                showString "vertexOffset = " .+                                  showsPrec d (getField @"vertexOffset" x) .                                     showString ", " .-                                      showString "vkFirstInstance = " .-                                        showsPrec d (vkFirstInstance x) . showChar '}'+                                      showString "firstInstance = " .+                                        showsPrec d (getField @"firstInstance" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkDrawIndirectCommand.hsc view
@@ -5,15 +5,15 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkDrawIndirectCommand        (VkDrawIndirectCommand(..)) where-import           Foreign.Storable                    (Storable (..))+import           Foreign.Storable                 (Storable (..)) import           GHC.Prim import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                    (unsafeDupablePerformIO)+import           System.IO.Unsafe                 (unsafeDupablePerformIO)  -- | > typedef struct VkDrawIndirectCommand { --   >     uint32_t               vertexCount;@@ -22,7 +22,7 @@ --   >     uint32_t               firstInstance; --   > } VkDrawIndirectCommand; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDrawIndirectCommand.html VkDrawIndirectCommand registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDrawIndirectCommand.html VkDrawIndirectCommand registry at www.khronos.org> data VkDrawIndirectCommand = VkDrawIndirectCommand## Addr##                                                     ByteArray## @@ -71,27 +71,6 @@         type ReturnedOnly VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs         type StructExtends VkDrawIndirectCommand = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkVertexCount VkDrawIndirectCommand-         where-        type VkVertexCountMType VkDrawIndirectCommand = Word32--        {-# NOINLINE vkVertexCount #-}-        vkVertexCount x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDrawIndirectCommand, vertexCount})--        {-# INLINE vkVertexCountByteOffset #-}-        vkVertexCountByteOffset ~_-          = #{offset VkDrawIndirectCommand, vertexCount}--        {-# INLINE readVkVertexCount #-}-        readVkVertexCount p-          = peekByteOff p #{offset VkDrawIndirectCommand, vertexCount}--        {-# INLINE writeVkVertexCount #-}-        writeVkVertexCount p-          = pokeByteOff p #{offset VkDrawIndirectCommand, vertexCount}- instance {-# OVERLAPPING #-}          HasField "vertexCount" VkDrawIndirectCommand where         type FieldType "vertexCount" VkDrawIndirectCommand = Word32@@ -107,37 +86,22 @@         fieldOffset           = #{offset VkDrawIndirectCommand, vertexCount} -instance CanReadField "vertexCount" VkDrawIndirectCommand where-        {-# INLINE getField #-}-        getField = vkVertexCount--        {-# INLINE readField #-}-        readField = readVkVertexCount--instance CanWriteField "vertexCount" VkDrawIndirectCommand where-        {-# INLINE writeField #-}-        writeField = writeVkVertexCount- instance {-# OVERLAPPING #-}-         HasVkInstanceCount VkDrawIndirectCommand where-        type VkInstanceCountMType VkDrawIndirectCommand = Word32--        {-# NOINLINE vkInstanceCount #-}-        vkInstanceCount x+         CanReadField "vertexCount" VkDrawIndirectCommand where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDrawIndirectCommand, instanceCount})--        {-# INLINE vkInstanceCountByteOffset #-}-        vkInstanceCountByteOffset ~_-          = #{offset VkDrawIndirectCommand, instanceCount}+              (peekByteOff (unsafePtr x) #{offset VkDrawIndirectCommand, vertexCount}) -        {-# INLINE readVkInstanceCount #-}-        readVkInstanceCount p-          = peekByteOff p #{offset VkDrawIndirectCommand, instanceCount}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDrawIndirectCommand, vertexCount} -        {-# INLINE writeVkInstanceCount #-}-        writeVkInstanceCount p-          = pokeByteOff p #{offset VkDrawIndirectCommand, instanceCount}+instance {-# OVERLAPPING #-}+         CanWriteField "vertexCount" VkDrawIndirectCommand where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDrawIndirectCommand, vertexCount}  instance {-# OVERLAPPING #-}          HasField "instanceCount" VkDrawIndirectCommand where@@ -154,37 +118,22 @@         fieldOffset           = #{offset VkDrawIndirectCommand, instanceCount} -instance CanReadField "instanceCount" VkDrawIndirectCommand where-        {-# INLINE getField #-}-        getField = vkInstanceCount+instance {-# OVERLAPPING #-}+         CanReadField "instanceCount" VkDrawIndirectCommand where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDrawIndirectCommand, instanceCount})          {-# INLINE readField #-}-        readField = readVkInstanceCount+        readField p+          = peekByteOff p #{offset VkDrawIndirectCommand, instanceCount} -instance CanWriteField "instanceCount" VkDrawIndirectCommand where+instance {-# OVERLAPPING #-}+         CanWriteField "instanceCount" VkDrawIndirectCommand where         {-# INLINE writeField #-}-        writeField = writeVkInstanceCount--instance {-# OVERLAPPING #-} HasVkFirstVertex VkDrawIndirectCommand-         where-        type VkFirstVertexMType VkDrawIndirectCommand = Word32--        {-# NOINLINE vkFirstVertex #-}-        vkFirstVertex x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDrawIndirectCommand, firstVertex})--        {-# INLINE vkFirstVertexByteOffset #-}-        vkFirstVertexByteOffset ~_-          = #{offset VkDrawIndirectCommand, firstVertex}--        {-# INLINE readVkFirstVertex #-}-        readVkFirstVertex p-          = peekByteOff p #{offset VkDrawIndirectCommand, firstVertex}--        {-# INLINE writeVkFirstVertex #-}-        writeVkFirstVertex p-          = pokeByteOff p #{offset VkDrawIndirectCommand, firstVertex}+        writeField p+          = pokeByteOff p #{offset VkDrawIndirectCommand, instanceCount}  instance {-# OVERLAPPING #-}          HasField "firstVertex" VkDrawIndirectCommand where@@ -201,37 +150,22 @@         fieldOffset           = #{offset VkDrawIndirectCommand, firstVertex} -instance CanReadField "firstVertex" VkDrawIndirectCommand where-        {-# INLINE getField #-}-        getField = vkFirstVertex--        {-# INLINE readField #-}-        readField = readVkFirstVertex--instance CanWriteField "firstVertex" VkDrawIndirectCommand where-        {-# INLINE writeField #-}-        writeField = writeVkFirstVertex- instance {-# OVERLAPPING #-}-         HasVkFirstInstance VkDrawIndirectCommand where-        type VkFirstInstanceMType VkDrawIndirectCommand = Word32--        {-# NOINLINE vkFirstInstance #-}-        vkFirstInstance x+         CanReadField "firstVertex" VkDrawIndirectCommand where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkDrawIndirectCommand, firstInstance})--        {-# INLINE vkFirstInstanceByteOffset #-}-        vkFirstInstanceByteOffset ~_-          = #{offset VkDrawIndirectCommand, firstInstance}+              (peekByteOff (unsafePtr x) #{offset VkDrawIndirectCommand, firstVertex}) -        {-# INLINE readVkFirstInstance #-}-        readVkFirstInstance p-          = peekByteOff p #{offset VkDrawIndirectCommand, firstInstance}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkDrawIndirectCommand, firstVertex} -        {-# INLINE writeVkFirstInstance #-}-        writeVkFirstInstance p-          = pokeByteOff p #{offset VkDrawIndirectCommand, firstInstance}+instance {-# OVERLAPPING #-}+         CanWriteField "firstVertex" VkDrawIndirectCommand where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkDrawIndirectCommand, firstVertex}  instance {-# OVERLAPPING #-}          HasField "firstInstance" VkDrawIndirectCommand where@@ -248,28 +182,34 @@         fieldOffset           = #{offset VkDrawIndirectCommand, firstInstance} -instance CanReadField "firstInstance" VkDrawIndirectCommand where-        {-# INLINE getField #-}-        getField = vkFirstInstance+instance {-# OVERLAPPING #-}+         CanReadField "firstInstance" VkDrawIndirectCommand where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDrawIndirectCommand, firstInstance})          {-# INLINE readField #-}-        readField = readVkFirstInstance+        readField p+          = peekByteOff p #{offset VkDrawIndirectCommand, firstInstance} -instance CanWriteField "firstInstance" VkDrawIndirectCommand where+instance {-# OVERLAPPING #-}+         CanWriteField "firstInstance" VkDrawIndirectCommand where         {-# INLINE writeField #-}-        writeField = writeVkFirstInstance+        writeField p+          = pokeByteOff p #{offset VkDrawIndirectCommand, firstInstance}  instance Show VkDrawIndirectCommand where         showsPrec d x           = showString "VkDrawIndirectCommand {" .-              showString "vkVertexCount = " .-                showsPrec d (vkVertexCount x) .+              showString "vertexCount = " .+                showsPrec d (getField @"vertexCount" x) .                   showString ", " .-                    showString "vkInstanceCount = " .-                      showsPrec d (vkInstanceCount x) .+                    showString "instanceCount = " .+                      showsPrec d (getField @"instanceCount" x) .                         showString ", " .-                          showString "vkFirstVertex = " .-                            showsPrec d (vkFirstVertex x) .+                          showString "firstVertex = " .+                            showsPrec d (getField @"firstVertex" x) .                               showString ", " .-                                showString "vkFirstInstance = " .-                                  showsPrec d (vkFirstInstance x) . showChar '}'+                                showString "firstInstance = " .+                                  showsPrec d (getField @"firstInstance" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkEventCreateInfo.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkEventCreateInfo        (VkEventCreateInfo(..)) where@@ -14,7 +15,6 @@ import           Graphics.Vulkan.Marshal.Internal import           Graphics.Vulkan.Types.Bitmasks             (VkEventCreateFlags) import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                           (unsafeDupablePerformIO)  -- | > typedef struct VkEventCreateInfo {@@ -23,7 +23,7 @@ --   >     VkEventCreateFlags     flags; --   > } VkEventCreateInfo; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkEventCreateInfo.html VkEventCreateInfo registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkEventCreateInfo.html VkEventCreateInfo registry at www.khronos.org> data VkEventCreateInfo = VkEventCreateInfo## Addr## ByteArray##  instance Eq VkEventCreateInfo where@@ -70,26 +70,6 @@         type ReturnedOnly VkEventCreateInfo = 'False -- ' closing tick for hsc2hs         type StructExtends VkEventCreateInfo = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSType VkEventCreateInfo where-        type VkSTypeMType VkEventCreateInfo = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkEventCreateInfo, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkEventCreateInfo, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkEventCreateInfo, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkEventCreateInfo, sType}- instance {-# OVERLAPPING #-} HasField "sType" VkEventCreateInfo          where         type FieldType "sType" VkEventCreateInfo = VkStructureType@@ -104,36 +84,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkEventCreateInfo, sType} -instance CanReadField "sType" VkEventCreateInfo where-        {-# INLINE getField #-}-        getField = vkSType+instance {-# OVERLAPPING #-} CanReadField "sType" VkEventCreateInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkEventCreateInfo, sType})          {-# INLINE readField #-}-        readField = readVkSType+        readField p+          = peekByteOff p #{offset VkEventCreateInfo, sType} -instance CanWriteField "sType" VkEventCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkEventCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkEventCreateInfo where-        type VkPNextMType VkEventCreateInfo = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkEventCreateInfo, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkEventCreateInfo, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkEventCreateInfo, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkEventCreateInfo, pNext}+        writeField p+          = pokeByteOff p #{offset VkEventCreateInfo, sType}  instance {-# OVERLAPPING #-} HasField "pNext" VkEventCreateInfo          where@@ -149,36 +115,22 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkEventCreateInfo, pNext} -instance CanReadField "pNext" VkEventCreateInfo where-        {-# INLINE getField #-}-        getField = vkPNext+instance {-# OVERLAPPING #-} CanReadField "pNext" VkEventCreateInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkEventCreateInfo, pNext})          {-# INLINE readField #-}-        readField = readVkPNext+        readField p+          = peekByteOff p #{offset VkEventCreateInfo, pNext} -instance CanWriteField "pNext" VkEventCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkEventCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-} HasVkFlags VkEventCreateInfo where-        type VkFlagsMType VkEventCreateInfo = VkEventCreateFlags--        {-# NOINLINE vkFlags #-}-        vkFlags x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkEventCreateInfo, flags})--        {-# INLINE vkFlagsByteOffset #-}-        vkFlagsByteOffset ~_-          = #{offset VkEventCreateInfo, flags}--        {-# INLINE readVkFlags #-}-        readVkFlags p-          = peekByteOff p #{offset VkEventCreateInfo, flags}--        {-# INLINE writeVkFlags #-}-        writeVkFlags p-          = pokeByteOff p #{offset VkEventCreateInfo, flags}+        writeField p+          = pokeByteOff p #{offset VkEventCreateInfo, pNext}  instance {-# OVERLAPPING #-} HasField "flags" VkEventCreateInfo          where@@ -194,24 +146,31 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkEventCreateInfo, flags} -instance CanReadField "flags" VkEventCreateInfo where-        {-# INLINE getField #-}-        getField = vkFlags+instance {-# OVERLAPPING #-} CanReadField "flags" VkEventCreateInfo+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkEventCreateInfo, flags})          {-# INLINE readField #-}-        readField = readVkFlags+        readField p+          = peekByteOff p #{offset VkEventCreateInfo, flags} -instance CanWriteField "flags" VkEventCreateInfo where+instance {-# OVERLAPPING #-}+         CanWriteField "flags" VkEventCreateInfo where         {-# INLINE writeField #-}-        writeField = writeVkFlags+        writeField p+          = pokeByteOff p #{offset VkEventCreateInfo, flags}  instance Show VkEventCreateInfo where         showsPrec d x           = showString "VkEventCreateInfo {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkFlags = " . showsPrec d (vkFlags x) . showChar '}'+                          showString "flags = " .+                            showsPrec d (getField @"flags" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExportFenceCreateInfo.hsc view
@@ -0,0 +1,181 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkExportFenceCreateInfo+       (VkExportFenceCreateInfo(..)) where+import           Foreign.Storable                                          (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlags (VkExternalFenceHandleTypeFlags)+import           Graphics.Vulkan.Types.Enum.VkStructureType                (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkFenceCreateInfo            (VkFenceCreateInfo)+import           System.IO.Unsafe                                          (unsafeDupablePerformIO)++-- | > typedef struct VkExportFenceCreateInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkExternalFenceHandleTypeFlags handleTypes;+--   > } VkExportFenceCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkExportFenceCreateInfo.html VkExportFenceCreateInfo registry at www.khronos.org>+data VkExportFenceCreateInfo = VkExportFenceCreateInfo## Addr##+                                                        ByteArray##++instance Eq VkExportFenceCreateInfo where+        (VkExportFenceCreateInfo## a _) == x@(VkExportFenceCreateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkExportFenceCreateInfo where+        (VkExportFenceCreateInfo## a _) `compare`+          x@(VkExportFenceCreateInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkExportFenceCreateInfo where+        sizeOf ~_ = #{size VkExportFenceCreateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkExportFenceCreateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkExportFenceCreateInfo where+        unsafeAddr (VkExportFenceCreateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkExportFenceCreateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkExportFenceCreateInfo## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExportFenceCreateInfo where+        type StructFields VkExportFenceCreateInfo =+             '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs+        type CUnionType VkExportFenceCreateInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkExportFenceCreateInfo = 'False -- ' closing tick for hsc2hs+        type StructExtends VkExportFenceCreateInfo = '[VkFenceCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkExportFenceCreateInfo where+        type FieldType "sType" VkExportFenceCreateInfo = VkStructureType+        type FieldOptional "sType" VkExportFenceCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkExportFenceCreateInfo =+             #{offset VkExportFenceCreateInfo, sType}+        type FieldIsArray "sType" VkExportFenceCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkExportFenceCreateInfo, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkExportFenceCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportFenceCreateInfo, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportFenceCreateInfo, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkExportFenceCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportFenceCreateInfo, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkExportFenceCreateInfo where+        type FieldType "pNext" VkExportFenceCreateInfo = Ptr Void+        type FieldOptional "pNext" VkExportFenceCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkExportFenceCreateInfo =+             #{offset VkExportFenceCreateInfo, pNext}+        type FieldIsArray "pNext" VkExportFenceCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkExportFenceCreateInfo, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkExportFenceCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportFenceCreateInfo, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportFenceCreateInfo, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkExportFenceCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportFenceCreateInfo, pNext}++instance {-# OVERLAPPING #-}+         HasField "handleTypes" VkExportFenceCreateInfo where+        type FieldType "handleTypes" VkExportFenceCreateInfo =+             VkExternalFenceHandleTypeFlags+        type FieldOptional "handleTypes" VkExportFenceCreateInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "handleTypes" VkExportFenceCreateInfo =+             #{offset VkExportFenceCreateInfo, handleTypes}+        type FieldIsArray "handleTypes" VkExportFenceCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExportFenceCreateInfo, handleTypes}++instance {-# OVERLAPPING #-}+         CanReadField "handleTypes" VkExportFenceCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportFenceCreateInfo, handleTypes})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportFenceCreateInfo, handleTypes}++instance {-# OVERLAPPING #-}+         CanWriteField "handleTypes" VkExportFenceCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportFenceCreateInfo, handleTypes}++instance Show VkExportFenceCreateInfo where+        showsPrec d x+          = showString "VkExportFenceCreateInfo {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "handleTypes = " .+                            showsPrec d (getField @"handleTypes" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExportFenceCreateInfoKHR.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Struct.VkExportFenceCreateInfoKHR+       (VkExportFenceCreateInfo(..), VkExportFenceCreateInfoKHR) where+import           Graphics.Vulkan.Types.Struct.VkExportFenceCreateInfo (VkExportFenceCreateInfo (..))++-- | Alias for `VkExportFenceCreateInfo`+type VkExportFenceCreateInfoKHR = VkExportFenceCreateInfo
− src-gen/Graphics/Vulkan/Types/Struct/VkExportFenceCreateInfoKHR.hsc
@@ -1,235 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkExportFenceCreateInfoKHR-       (VkExportFenceCreateInfoKHR(..)) where-import           Foreign.Storable                                             (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlagsKHR (VkExternalFenceHandleTypeFlagsKHR)-import           Graphics.Vulkan.Types.Enum.VkStructureType                   (VkStructureType)-import           Graphics.Vulkan.Types.Struct.VkFenceCreateInfo               (VkFenceCreateInfo)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                                             (unsafeDupablePerformIO)---- | > typedef struct VkExportFenceCreateInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkExternalFenceHandleTypeFlagsKHR handleTypes;---   > } VkExportFenceCreateInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExportFenceCreateInfoKHR.html VkExportFenceCreateInfoKHR registry at www.khronos.org>-data VkExportFenceCreateInfoKHR = VkExportFenceCreateInfoKHR## Addr##-                                                              ByteArray##--instance Eq VkExportFenceCreateInfoKHR where-        (VkExportFenceCreateInfoKHR## a _) ==-          x@(VkExportFenceCreateInfoKHR## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkExportFenceCreateInfoKHR where-        (VkExportFenceCreateInfoKHR## a _) `compare`-          x@(VkExportFenceCreateInfoKHR## b _) = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkExportFenceCreateInfoKHR where-        sizeOf ~_ = #{size VkExportFenceCreateInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_ = #{alignment VkExportFenceCreateInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkExportFenceCreateInfoKHR where-        unsafeAddr (VkExportFenceCreateInfoKHR## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkExportFenceCreateInfoKHR## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkExportFenceCreateInfoKHR##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkExportFenceCreateInfoKHR where-        type StructFields VkExportFenceCreateInfoKHR =-             '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs-        type CUnionType VkExportFenceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExportFenceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkExportFenceCreateInfoKHR =-             '[VkFenceCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-} HasVkSType VkExportFenceCreateInfoKHR-         where-        type VkSTypeMType VkExportFenceCreateInfoKHR = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportFenceCreateInfoKHR, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkExportFenceCreateInfoKHR, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkExportFenceCreateInfoKHR, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkExportFenceCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkExportFenceCreateInfoKHR where-        type FieldType "sType" VkExportFenceCreateInfoKHR = VkStructureType-        type FieldOptional "sType" VkExportFenceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExportFenceCreateInfoKHR =-             #{offset VkExportFenceCreateInfoKHR, sType}-        type FieldIsArray "sType" VkExportFenceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportFenceCreateInfoKHR, sType}--instance CanReadField "sType" VkExportFenceCreateInfoKHR where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkExportFenceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-} HasVkPNext VkExportFenceCreateInfoKHR-         where-        type VkPNextMType VkExportFenceCreateInfoKHR = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportFenceCreateInfoKHR, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkExportFenceCreateInfoKHR, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkExportFenceCreateInfoKHR, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkExportFenceCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExportFenceCreateInfoKHR where-        type FieldType "pNext" VkExportFenceCreateInfoKHR = Ptr Void-        type FieldOptional "pNext" VkExportFenceCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExportFenceCreateInfoKHR =-             #{offset VkExportFenceCreateInfoKHR, pNext}-        type FieldIsArray "pNext" VkExportFenceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportFenceCreateInfoKHR, pNext}--instance CanReadField "pNext" VkExportFenceCreateInfoKHR where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkExportFenceCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-}-         HasVkHandleTypes VkExportFenceCreateInfoKHR where-        type VkHandleTypesMType VkExportFenceCreateInfoKHR =-             VkExternalFenceHandleTypeFlagsKHR--        {-# NOINLINE vkHandleTypes #-}-        vkHandleTypes x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportFenceCreateInfoKHR, handleTypes})--        {-# INLINE vkHandleTypesByteOffset #-}-        vkHandleTypesByteOffset ~_-          = #{offset VkExportFenceCreateInfoKHR, handleTypes}--        {-# INLINE readVkHandleTypes #-}-        readVkHandleTypes p-          = peekByteOff p #{offset VkExportFenceCreateInfoKHR, handleTypes}--        {-# INLINE writeVkHandleTypes #-}-        writeVkHandleTypes p-          = pokeByteOff p #{offset VkExportFenceCreateInfoKHR, handleTypes}--instance {-# OVERLAPPING #-}-         HasField "handleTypes" VkExportFenceCreateInfoKHR where-        type FieldType "handleTypes" VkExportFenceCreateInfoKHR =-             VkExternalFenceHandleTypeFlagsKHR-        type FieldOptional "handleTypes" VkExportFenceCreateInfoKHR = 'True -- ' closing tick for hsc2hs-        type FieldOffset "handleTypes" VkExportFenceCreateInfoKHR =-             #{offset VkExportFenceCreateInfoKHR, handleTypes}-        type FieldIsArray "handleTypes" VkExportFenceCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportFenceCreateInfoKHR, handleTypes}--instance CanReadField "handleTypes" VkExportFenceCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkHandleTypes--        {-# INLINE readField #-}-        readField = readVkHandleTypes--instance CanWriteField "handleTypes" VkExportFenceCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkHandleTypes--instance Show VkExportFenceCreateInfoKHR where-        showsPrec d x-          = showString "VkExportFenceCreateInfoKHR {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkHandleTypes = " .-                            showsPrec d (vkHandleTypes x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkExportFenceWin32HandleInfoKHR.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkExportFenceWin32HandleInfoKHR        (VkExportFenceWin32HandleInfoKHR(..)) where@@ -15,7 +16,6 @@ import           Graphics.Vulkan.Types.Enum.VkStructureType     (VkStructureType) import           Graphics.Vulkan.Types.Include                  (DWORD, LPCWSTR, SECURITY_ATTRIBUTES) import           Graphics.Vulkan.Types.Struct.VkFenceCreateInfo (VkFenceCreateInfo)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                               (unsafeDupablePerformIO)  -- | > typedef struct VkExportFenceWin32HandleInfoKHR {@@ -26,7 +26,7 @@ --   >     LPCWSTR                                    name; --   > } VkExportFenceWin32HandleInfoKHR; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExportFenceWin32HandleInfoKHR.html VkExportFenceWin32HandleInfoKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkExportFenceWin32HandleInfoKHR.html VkExportFenceWin32HandleInfoKHR registry at www.khronos.org> data VkExportFenceWin32HandleInfoKHR = VkExportFenceWin32HandleInfoKHR## Addr##                                                                         ByteArray## @@ -81,27 +81,6 @@              '[VkFenceCreateInfo] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkSType VkExportFenceWin32HandleInfoKHR where-        type VkSTypeMType VkExportFenceWin32HandleInfoKHR = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkExportFenceWin32HandleInfoKHR, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}          HasField "sType" VkExportFenceWin32HandleInfoKHR where         type FieldType "sType" VkExportFenceWin32HandleInfoKHR =              VkStructureType@@ -117,38 +96,22 @@         fieldOffset           = #{offset VkExportFenceWin32HandleInfoKHR, sType} -instance CanReadField "sType" VkExportFenceWin32HandleInfoKHR where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkExportFenceWin32HandleInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkSType- instance {-# OVERLAPPING #-}-         HasVkPNext VkExportFenceWin32HandleInfoKHR where-        type VkPNextMType VkExportFenceWin32HandleInfoKHR = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x+         CanReadField "sType" VkExportFenceWin32HandleInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkExportFenceWin32HandleInfoKHR, pNext}+              (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, sType}) -        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, pNext}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, sType} -        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, pNext}+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkExportFenceWin32HandleInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkExportFenceWin32HandleInfoKHR where@@ -165,39 +128,22 @@         fieldOffset           = #{offset VkExportFenceWin32HandleInfoKHR, pNext} -instance CanReadField "pNext" VkExportFenceWin32HandleInfoKHR where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkExportFenceWin32HandleInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkPAttributes VkExportFenceWin32HandleInfoKHR where-        type VkPAttributesMType VkExportFenceWin32HandleInfoKHR =-             Ptr SECURITY_ATTRIBUTES--        {-# NOINLINE vkPAttributes #-}-        vkPAttributes x+         CanReadField "pNext" VkExportFenceWin32HandleInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, pAttributes})--        {-# INLINE vkPAttributesByteOffset #-}-        vkPAttributesByteOffset ~_-          = #{offset VkExportFenceWin32HandleInfoKHR, pAttributes}+              (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, pNext}) -        {-# INLINE readVkPAttributes #-}-        readVkPAttributes p-          = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, pAttributes}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, pNext} -        {-# INLINE writeVkPAttributes #-}-        writeVkPAttributes p-          = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, pAttributes}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkExportFenceWin32HandleInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, pNext}  instance {-# OVERLAPPING #-}          HasField "pAttributes" VkExportFenceWin32HandleInfoKHR where@@ -217,40 +163,22 @@         fieldOffset           = #{offset VkExportFenceWin32HandleInfoKHR, pAttributes} -instance CanReadField "pAttributes" VkExportFenceWin32HandleInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkPAttributes--        {-# INLINE readField #-}-        readField = readVkPAttributes--instance CanWriteField "pAttributes"-           VkExportFenceWin32HandleInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkPAttributes- instance {-# OVERLAPPING #-}-         HasVkDwAccess VkExportFenceWin32HandleInfoKHR where-        type VkDwAccessMType VkExportFenceWin32HandleInfoKHR = DWORD--        {-# NOINLINE vkDwAccess #-}-        vkDwAccess x+         CanReadField "pAttributes" VkExportFenceWin32HandleInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, dwAccess})--        {-# INLINE vkDwAccessByteOffset #-}-        vkDwAccessByteOffset ~_-          = #{offset VkExportFenceWin32HandleInfoKHR, dwAccess}+              (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, pAttributes}) -        {-# INLINE readVkDwAccess #-}-        readVkDwAccess p-          = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, dwAccess}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, pAttributes} -        {-# INLINE writeVkDwAccess #-}-        writeVkDwAccess p-          = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, dwAccess}+instance {-# OVERLAPPING #-}+         CanWriteField "pAttributes" VkExportFenceWin32HandleInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, pAttributes}  instance {-# OVERLAPPING #-}          HasField "dwAccess" VkExportFenceWin32HandleInfoKHR where@@ -269,39 +197,22 @@         fieldOffset           = #{offset VkExportFenceWin32HandleInfoKHR, dwAccess} -instance CanReadField "dwAccess" VkExportFenceWin32HandleInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkDwAccess--        {-# INLINE readField #-}-        readField = readVkDwAccess--instance CanWriteField "dwAccess" VkExportFenceWin32HandleInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkDwAccess- instance {-# OVERLAPPING #-}-         HasVkName VkExportFenceWin32HandleInfoKHR where-        type VkNameMType VkExportFenceWin32HandleInfoKHR = LPCWSTR--        {-# NOINLINE vkName #-}-        vkName x+         CanReadField "dwAccess" VkExportFenceWin32HandleInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, name})--        {-# INLINE vkNameByteOffset #-}-        vkNameByteOffset ~_-          = #{offset VkExportFenceWin32HandleInfoKHR, name}+              (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, dwAccess}) -        {-# INLINE readVkName #-}-        readVkName p-          = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, name}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, dwAccess} -        {-# INLINE writeVkName #-}-        writeVkName p-          = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, name}+instance {-# OVERLAPPING #-}+         CanWriteField "dwAccess" VkExportFenceWin32HandleInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, dwAccess}  instance {-# OVERLAPPING #-}          HasField "name" VkExportFenceWin32HandleInfoKHR where@@ -318,30 +229,37 @@         fieldOffset           = #{offset VkExportFenceWin32HandleInfoKHR, name} -instance CanReadField "name" VkExportFenceWin32HandleInfoKHR where-        {-# INLINE getField #-}-        getField = vkName+instance {-# OVERLAPPING #-}+         CanReadField "name" VkExportFenceWin32HandleInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, name})          {-# INLINE readField #-}-        readField = readVkName+        readField p+          = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, name} -instance CanWriteField "name" VkExportFenceWin32HandleInfoKHR where+instance {-# OVERLAPPING #-}+         CanWriteField "name" VkExportFenceWin32HandleInfoKHR where         {-# INLINE writeField #-}-        writeField = writeVkName+        writeField p+          = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, name}  instance Show VkExportFenceWin32HandleInfoKHR where         showsPrec d x           = showString "VkExportFenceWin32HandleInfoKHR {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkPAttributes = " .-                            showsPrec d (vkPAttributes x) .+                          showString "pAttributes = " .+                            showsPrec d (getField @"pAttributes" x) .                               showString ", " .-                                showString "vkDwAccess = " .-                                  showsPrec d (vkDwAccess x) .+                                showString "dwAccess = " .+                                  showsPrec d (getField @"dwAccess" x) .                                     showString ", " .-                                      showString "vkName = " . showsPrec d (vkName x) . showChar '}'+                                      showString "name = " .+                                        showsPrec d (getField @"name" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExportMemoryAllocateInfo.hsc view
@@ -0,0 +1,187 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkExportMemoryAllocateInfo+       (VkExportMemoryAllocateInfo(..)) where+import           Foreign.Storable                                           (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags (VkExternalMemoryHandleTypeFlags)+import           Graphics.Vulkan.Types.Enum.VkStructureType                 (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo          (VkMemoryAllocateInfo)+import           System.IO.Unsafe                                           (unsafeDupablePerformIO)++-- | > typedef struct VkExportMemoryAllocateInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkExternalMemoryHandleTypeFlags handleTypes;+--   > } VkExportMemoryAllocateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkExportMemoryAllocateInfo.html VkExportMemoryAllocateInfo registry at www.khronos.org>+data VkExportMemoryAllocateInfo = VkExportMemoryAllocateInfo## Addr##+                                                              ByteArray##++instance Eq VkExportMemoryAllocateInfo where+        (VkExportMemoryAllocateInfo## a _) ==+          x@(VkExportMemoryAllocateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkExportMemoryAllocateInfo where+        (VkExportMemoryAllocateInfo## a _) `compare`+          x@(VkExportMemoryAllocateInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkExportMemoryAllocateInfo where+        sizeOf ~_ = #{size VkExportMemoryAllocateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkExportMemoryAllocateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkExportMemoryAllocateInfo where+        unsafeAddr (VkExportMemoryAllocateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkExportMemoryAllocateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkExportMemoryAllocateInfo##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExportMemoryAllocateInfo where+        type StructFields VkExportMemoryAllocateInfo =+             '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs+        type CUnionType VkExportMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkExportMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs+        type StructExtends VkExportMemoryAllocateInfo =+             '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkExportMemoryAllocateInfo where+        type FieldType "sType" VkExportMemoryAllocateInfo = VkStructureType+        type FieldOptional "sType" VkExportMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkExportMemoryAllocateInfo =+             #{offset VkExportMemoryAllocateInfo, sType}+        type FieldIsArray "sType" VkExportMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExportMemoryAllocateInfo, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkExportMemoryAllocateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfo, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportMemoryAllocateInfo, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkExportMemoryAllocateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportMemoryAllocateInfo, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkExportMemoryAllocateInfo where+        type FieldType "pNext" VkExportMemoryAllocateInfo = Ptr Void+        type FieldOptional "pNext" VkExportMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkExportMemoryAllocateInfo =+             #{offset VkExportMemoryAllocateInfo, pNext}+        type FieldIsArray "pNext" VkExportMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExportMemoryAllocateInfo, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkExportMemoryAllocateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfo, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportMemoryAllocateInfo, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkExportMemoryAllocateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportMemoryAllocateInfo, pNext}++instance {-# OVERLAPPING #-}+         HasField "handleTypes" VkExportMemoryAllocateInfo where+        type FieldType "handleTypes" VkExportMemoryAllocateInfo =+             VkExternalMemoryHandleTypeFlags+        type FieldOptional "handleTypes" VkExportMemoryAllocateInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "handleTypes" VkExportMemoryAllocateInfo =+             #{offset VkExportMemoryAllocateInfo, handleTypes}+        type FieldIsArray "handleTypes" VkExportMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExportMemoryAllocateInfo, handleTypes}++instance {-# OVERLAPPING #-}+         CanReadField "handleTypes" VkExportMemoryAllocateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfo, handleTypes})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportMemoryAllocateInfo, handleTypes}++instance {-# OVERLAPPING #-}+         CanWriteField "handleTypes" VkExportMemoryAllocateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportMemoryAllocateInfo, handleTypes}++instance Show VkExportMemoryAllocateInfo where+        showsPrec d x+          = showString "VkExportMemoryAllocateInfo {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "handleTypes = " .+                            showsPrec d (getField @"handleTypes" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExportMemoryAllocateInfoKHR.hs view
@@ -0,0 +1,9 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Struct.VkExportMemoryAllocateInfoKHR+       (VkExportMemoryAllocateInfo(..), VkExportMemoryAllocateInfoKHR)+       where+import           Graphics.Vulkan.Types.Struct.VkExportMemoryAllocateInfo (VkExportMemoryAllocateInfo (..))++-- | Alias for `VkExportMemoryAllocateInfo`+type VkExportMemoryAllocateInfoKHR = VkExportMemoryAllocateInfo
− src-gen/Graphics/Vulkan/Types/Struct/VkExportMemoryAllocateInfoKHR.hsc
@@ -1,239 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkExportMemoryAllocateInfoKHR-       (VkExportMemoryAllocateInfoKHR(..)) where-import           Foreign.Storable                                              (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsKHR (VkExternalMemoryHandleTypeFlagsKHR)-import           Graphics.Vulkan.Types.Enum.VkStructureType                    (VkStructureType)-import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo             (VkMemoryAllocateInfo)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                                              (unsafeDupablePerformIO)---- | > typedef struct VkExportMemoryAllocateInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkExternalMemoryHandleTypeFlagsKHR handleTypes;---   > } VkExportMemoryAllocateInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExportMemoryAllocateInfoKHR.html VkExportMemoryAllocateInfoKHR registry at www.khronos.org>-data VkExportMemoryAllocateInfoKHR = VkExportMemoryAllocateInfoKHR## Addr##-                                                                    ByteArray##--instance Eq VkExportMemoryAllocateInfoKHR where-        (VkExportMemoryAllocateInfoKHR## a _) ==-          x@(VkExportMemoryAllocateInfoKHR## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkExportMemoryAllocateInfoKHR where-        (VkExportMemoryAllocateInfoKHR## a _) `compare`-          x@(VkExportMemoryAllocateInfoKHR## b _) = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkExportMemoryAllocateInfoKHR where-        sizeOf ~_ = #{size VkExportMemoryAllocateInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkExportMemoryAllocateInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkExportMemoryAllocateInfoKHR where-        unsafeAddr (VkExportMemoryAllocateInfoKHR## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkExportMemoryAllocateInfoKHR## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkExportMemoryAllocateInfoKHR##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkExportMemoryAllocateInfoKHR where-        type StructFields VkExportMemoryAllocateInfoKHR =-             '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs-        type CUnionType VkExportMemoryAllocateInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExportMemoryAllocateInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkExportMemoryAllocateInfoKHR =-             '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasVkSType VkExportMemoryAllocateInfoKHR where-        type VkSTypeMType VkExportMemoryAllocateInfoKHR = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfoKHR, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkExportMemoryAllocateInfoKHR, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkExportMemoryAllocateInfoKHR, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkExportMemoryAllocateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkExportMemoryAllocateInfoKHR where-        type FieldType "sType" VkExportMemoryAllocateInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkExportMemoryAllocateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExportMemoryAllocateInfoKHR =-             #{offset VkExportMemoryAllocateInfoKHR, sType}-        type FieldIsArray "sType" VkExportMemoryAllocateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportMemoryAllocateInfoKHR, sType}--instance CanReadField "sType" VkExportMemoryAllocateInfoKHR where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkExportMemoryAllocateInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-}-         HasVkPNext VkExportMemoryAllocateInfoKHR where-        type VkPNextMType VkExportMemoryAllocateInfoKHR = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfoKHR, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkExportMemoryAllocateInfoKHR, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkExportMemoryAllocateInfoKHR, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkExportMemoryAllocateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExportMemoryAllocateInfoKHR where-        type FieldType "pNext" VkExportMemoryAllocateInfoKHR = Ptr Void-        type FieldOptional "pNext" VkExportMemoryAllocateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExportMemoryAllocateInfoKHR =-             #{offset VkExportMemoryAllocateInfoKHR, pNext}-        type FieldIsArray "pNext" VkExportMemoryAllocateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportMemoryAllocateInfoKHR, pNext}--instance CanReadField "pNext" VkExportMemoryAllocateInfoKHR where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkExportMemoryAllocateInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-}-         HasVkHandleTypes VkExportMemoryAllocateInfoKHR where-        type VkHandleTypesMType VkExportMemoryAllocateInfoKHR =-             VkExternalMemoryHandleTypeFlagsKHR--        {-# NOINLINE vkHandleTypes #-}-        vkHandleTypes x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfoKHR, handleTypes})--        {-# INLINE vkHandleTypesByteOffset #-}-        vkHandleTypesByteOffset ~_-          = #{offset VkExportMemoryAllocateInfoKHR, handleTypes}--        {-# INLINE readVkHandleTypes #-}-        readVkHandleTypes p-          = peekByteOff p #{offset VkExportMemoryAllocateInfoKHR, handleTypes}--        {-# INLINE writeVkHandleTypes #-}-        writeVkHandleTypes p-          = pokeByteOff p #{offset VkExportMemoryAllocateInfoKHR, handleTypes}--instance {-# OVERLAPPING #-}-         HasField "handleTypes" VkExportMemoryAllocateInfoKHR where-        type FieldType "handleTypes" VkExportMemoryAllocateInfoKHR =-             VkExternalMemoryHandleTypeFlagsKHR-        type FieldOptional "handleTypes" VkExportMemoryAllocateInfoKHR =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "handleTypes" VkExportMemoryAllocateInfoKHR =-             #{offset VkExportMemoryAllocateInfoKHR, handleTypes}-        type FieldIsArray "handleTypes" VkExportMemoryAllocateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportMemoryAllocateInfoKHR, handleTypes}--instance CanReadField "handleTypes" VkExportMemoryAllocateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkHandleTypes--        {-# INLINE readField #-}-        readField = readVkHandleTypes--instance CanWriteField "handleTypes" VkExportMemoryAllocateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkHandleTypes--instance Show VkExportMemoryAllocateInfoKHR where-        showsPrec d x-          = showString "VkExportMemoryAllocateInfoKHR {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkHandleTypes = " .-                            showsPrec d (vkHandleTypes x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkExportMemoryAllocateInfoNV.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkExportMemoryAllocateInfoNV        (VkExportMemoryAllocateInfoNV(..)) where@@ -15,7 +16,6 @@ import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsNV (VkExternalMemoryHandleTypeFlagsNV) import           Graphics.Vulkan.Types.Enum.VkStructureType                   (VkStructureType) import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo            (VkMemoryAllocateInfo)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                             (unsafeDupablePerformIO)  -- | > typedef struct VkExportMemoryAllocateInfoNV {@@ -24,7 +24,7 @@ --   >     VkExternalMemoryHandleTypeFlagsNV handleTypes; --   > } VkExportMemoryAllocateInfoNV; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExportMemoryAllocateInfoNV.html VkExportMemoryAllocateInfoNV registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkExportMemoryAllocateInfoNV.html VkExportMemoryAllocateInfoNV registry at www.khronos.org> data VkExportMemoryAllocateInfoNV = VkExportMemoryAllocateInfoNV## Addr##                                                                   ByteArray## @@ -79,27 +79,6 @@              '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkSType VkExportMemoryAllocateInfoNV where-        type VkSTypeMType VkExportMemoryAllocateInfoNV = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfoNV, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkExportMemoryAllocateInfoNV, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkExportMemoryAllocateInfoNV, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkExportMemoryAllocateInfoNV, sType}--instance {-# OVERLAPPING #-}          HasField "sType" VkExportMemoryAllocateInfoNV where         type FieldType "sType" VkExportMemoryAllocateInfoNV =              VkStructureType@@ -115,37 +94,22 @@         fieldOffset           = #{offset VkExportMemoryAllocateInfoNV, sType} -instance CanReadField "sType" VkExportMemoryAllocateInfoNV where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkExportMemoryAllocateInfoNV where-        {-# INLINE writeField #-}-        writeField = writeVkSType- instance {-# OVERLAPPING #-}-         HasVkPNext VkExportMemoryAllocateInfoNV where-        type VkPNextMType VkExportMemoryAllocateInfoNV = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x+         CanReadField "sType" VkExportMemoryAllocateInfoNV where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfoNV, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkExportMemoryAllocateInfoNV, pNext}+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfoNV, sType}) -        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkExportMemoryAllocateInfoNV, pNext}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportMemoryAllocateInfoNV, sType} -        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkExportMemoryAllocateInfoNV, pNext}+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkExportMemoryAllocateInfoNV where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportMemoryAllocateInfoNV, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkExportMemoryAllocateInfoNV where@@ -162,38 +126,22 @@         fieldOffset           = #{offset VkExportMemoryAllocateInfoNV, pNext} -instance CanReadField "pNext" VkExportMemoryAllocateInfoNV where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkExportMemoryAllocateInfoNV where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkHandleTypes VkExportMemoryAllocateInfoNV where-        type VkHandleTypesMType VkExportMemoryAllocateInfoNV =-             VkExternalMemoryHandleTypeFlagsNV--        {-# NOINLINE vkHandleTypes #-}-        vkHandleTypes x+         CanReadField "pNext" VkExportMemoryAllocateInfoNV where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfoNV, handleTypes})--        {-# INLINE vkHandleTypesByteOffset #-}-        vkHandleTypesByteOffset ~_-          = #{offset VkExportMemoryAllocateInfoNV, handleTypes}+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfoNV, pNext}) -        {-# INLINE readVkHandleTypes #-}-        readVkHandleTypes p-          = peekByteOff p #{offset VkExportMemoryAllocateInfoNV, handleTypes}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportMemoryAllocateInfoNV, pNext} -        {-# INLINE writeVkHandleTypes #-}-        writeVkHandleTypes p-          = pokeByteOff p #{offset VkExportMemoryAllocateInfoNV, handleTypes}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkExportMemoryAllocateInfoNV where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportMemoryAllocateInfoNV, pNext}  instance {-# OVERLAPPING #-}          HasField "handleTypes" VkExportMemoryAllocateInfoNV where@@ -213,27 +161,31 @@         fieldOffset           = #{offset VkExportMemoryAllocateInfoNV, handleTypes} -instance CanReadField "handleTypes" VkExportMemoryAllocateInfoNV-         where-        {-# INLINE getField #-}-        getField = vkHandleTypes+instance {-# OVERLAPPING #-}+         CanReadField "handleTypes" VkExportMemoryAllocateInfoNV where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfoNV, handleTypes})          {-# INLINE readField #-}-        readField = readVkHandleTypes+        readField p+          = peekByteOff p #{offset VkExportMemoryAllocateInfoNV, handleTypes} -instance CanWriteField "handleTypes" VkExportMemoryAllocateInfoNV-         where+instance {-# OVERLAPPING #-}+         CanWriteField "handleTypes" VkExportMemoryAllocateInfoNV where         {-# INLINE writeField #-}-        writeField = writeVkHandleTypes+        writeField p+          = pokeByteOff p #{offset VkExportMemoryAllocateInfoNV, handleTypes}  instance Show VkExportMemoryAllocateInfoNV where         showsPrec d x           = showString "VkExportMemoryAllocateInfoNV {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkHandleTypes = " .-                            showsPrec d (vkHandleTypes x) . showChar '}'+                          showString "handleTypes = " .+                            showsPrec d (getField @"handleTypes" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkExportMemoryWin32HandleInfoKHR.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkExportMemoryWin32HandleInfoKHR        (VkExportMemoryWin32HandleInfoKHR(..)) where@@ -17,7 +18,6 @@                                                                     LPCWSTR,                                                                     SECURITY_ATTRIBUTES) import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo (VkMemoryAllocateInfo)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                  (unsafeDupablePerformIO)  -- | > typedef struct VkExportMemoryWin32HandleInfoKHR {@@ -28,7 +28,7 @@ --   >     LPCWSTR                          name; --   > } VkExportMemoryWin32HandleInfoKHR; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExportMemoryWin32HandleInfoKHR.html VkExportMemoryWin32HandleInfoKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkExportMemoryWin32HandleInfoKHR.html VkExportMemoryWin32HandleInfoKHR registry at www.khronos.org> data VkExportMemoryWin32HandleInfoKHR = VkExportMemoryWin32HandleInfoKHR## Addr##                                                                           ByteArray## @@ -84,28 +84,6 @@              '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkSType VkExportMemoryWin32HandleInfoKHR where-        type VkSTypeMType VkExportMemoryWin32HandleInfoKHR =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkExportMemoryWin32HandleInfoKHR, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}          HasField "sType" VkExportMemoryWin32HandleInfoKHR where         type FieldType "sType" VkExportMemoryWin32HandleInfoKHR =              VkStructureType@@ -122,39 +100,22 @@         fieldOffset           = #{offset VkExportMemoryWin32HandleInfoKHR, sType} -instance CanReadField "sType" VkExportMemoryWin32HandleInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkExportMemoryWin32HandleInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkSType- instance {-# OVERLAPPING #-}-         HasVkPNext VkExportMemoryWin32HandleInfoKHR where-        type VkPNextMType VkExportMemoryWin32HandleInfoKHR = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x+         CanReadField "sType" VkExportMemoryWin32HandleInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkExportMemoryWin32HandleInfoKHR, pNext}+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, sType}) -        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, pNext}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, sType} -        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, pNext}+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkExportMemoryWin32HandleInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkExportMemoryWin32HandleInfoKHR where@@ -172,40 +133,22 @@         fieldOffset           = #{offset VkExportMemoryWin32HandleInfoKHR, pNext} -instance CanReadField "pNext" VkExportMemoryWin32HandleInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkExportMemoryWin32HandleInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkPAttributes VkExportMemoryWin32HandleInfoKHR where-        type VkPAttributesMType VkExportMemoryWin32HandleInfoKHR =-             Ptr SECURITY_ATTRIBUTES--        {-# NOINLINE vkPAttributes #-}-        vkPAttributes x+         CanReadField "pNext" VkExportMemoryWin32HandleInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes})--        {-# INLINE vkPAttributesByteOffset #-}-        vkPAttributesByteOffset ~_-          = #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes}+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, pNext}) -        {-# INLINE readVkPAttributes #-}-        readVkPAttributes p-          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, pNext} -        {-# INLINE writeVkPAttributes #-}-        writeVkPAttributes p-          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkExportMemoryWin32HandleInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, pNext}  instance {-# OVERLAPPING #-}          HasField "pAttributes" VkExportMemoryWin32HandleInfoKHR where@@ -225,41 +168,22 @@         fieldOffset           = #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes} -instance CanReadField "pAttributes"-           VkExportMemoryWin32HandleInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkPAttributes--        {-# INLINE readField #-}-        readField = readVkPAttributes--instance CanWriteField "pAttributes"-           VkExportMemoryWin32HandleInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkPAttributes- instance {-# OVERLAPPING #-}-         HasVkDwAccess VkExportMemoryWin32HandleInfoKHR where-        type VkDwAccessMType VkExportMemoryWin32HandleInfoKHR = DWORD--        {-# NOINLINE vkDwAccess #-}-        vkDwAccess x+         CanReadField "pAttributes" VkExportMemoryWin32HandleInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess})--        {-# INLINE vkDwAccessByteOffset #-}-        vkDwAccessByteOffset ~_-          = #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess}+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes}) -        {-# INLINE readVkDwAccess #-}-        readVkDwAccess p-          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes} -        {-# INLINE writeVkDwAccess #-}-        writeVkDwAccess p-          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess}+instance {-# OVERLAPPING #-}+         CanWriteField "pAttributes" VkExportMemoryWin32HandleInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes}  instance {-# OVERLAPPING #-}          HasField "dwAccess" VkExportMemoryWin32HandleInfoKHR where@@ -278,39 +202,22 @@         fieldOffset           = #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess} -instance CanReadField "dwAccess" VkExportMemoryWin32HandleInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkDwAccess--        {-# INLINE readField #-}-        readField = readVkDwAccess--instance CanWriteField "dwAccess" VkExportMemoryWin32HandleInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkDwAccess- instance {-# OVERLAPPING #-}-         HasVkName VkExportMemoryWin32HandleInfoKHR where-        type VkNameMType VkExportMemoryWin32HandleInfoKHR = LPCWSTR--        {-# NOINLINE vkName #-}-        vkName x+         CanReadField "dwAccess" VkExportMemoryWin32HandleInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, name})--        {-# INLINE vkNameByteOffset #-}-        vkNameByteOffset ~_-          = #{offset VkExportMemoryWin32HandleInfoKHR, name}+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess}) -        {-# INLINE readVkName #-}-        readVkName p-          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, name}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess} -        {-# INLINE writeVkName #-}-        writeVkName p-          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, name}+instance {-# OVERLAPPING #-}+         CanWriteField "dwAccess" VkExportMemoryWin32HandleInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess}  instance {-# OVERLAPPING #-}          HasField "name" VkExportMemoryWin32HandleInfoKHR where@@ -327,31 +234,37 @@         fieldOffset           = #{offset VkExportMemoryWin32HandleInfoKHR, name} -instance CanReadField "name" VkExportMemoryWin32HandleInfoKHR where-        {-# INLINE getField #-}-        getField = vkName+instance {-# OVERLAPPING #-}+         CanReadField "name" VkExportMemoryWin32HandleInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, name})          {-# INLINE readField #-}-        readField = readVkName+        readField p+          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, name} -instance CanWriteField "name" VkExportMemoryWin32HandleInfoKHR-         where+instance {-# OVERLAPPING #-}+         CanWriteField "name" VkExportMemoryWin32HandleInfoKHR where         {-# INLINE writeField #-}-        writeField = writeVkName+        writeField p+          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, name}  instance Show VkExportMemoryWin32HandleInfoKHR where         showsPrec d x           = showString "VkExportMemoryWin32HandleInfoKHR {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkPAttributes = " .-                            showsPrec d (vkPAttributes x) .+                          showString "pAttributes = " .+                            showsPrec d (getField @"pAttributes" x) .                               showString ", " .-                                showString "vkDwAccess = " .-                                  showsPrec d (vkDwAccess x) .+                                showString "dwAccess = " .+                                  showsPrec d (getField @"dwAccess" x) .                                     showString ", " .-                                      showString "vkName = " . showsPrec d (vkName x) . showChar '}'+                                      showString "name = " .+                                        showsPrec d (getField @"name" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkExportMemoryWin32HandleInfoNV.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkExportMemoryWin32HandleInfoNV        (VkExportMemoryWin32HandleInfoNV(..)) where@@ -15,7 +16,6 @@ import           Graphics.Vulkan.Types.Enum.VkStructureType        (VkStructureType) import           Graphics.Vulkan.Types.Include                     (DWORD, SECURITY_ATTRIBUTES) import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo (VkMemoryAllocateInfo)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                  (unsafeDupablePerformIO)  -- | > typedef struct VkExportMemoryWin32HandleInfoNV {@@ -25,7 +25,7 @@ --   >     DWORD                            dwAccess; --   > } VkExportMemoryWin32HandleInfoNV; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExportMemoryWin32HandleInfoNV.html VkExportMemoryWin32HandleInfoNV registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkExportMemoryWin32HandleInfoNV.html VkExportMemoryWin32HandleInfoNV registry at www.khronos.org> data VkExportMemoryWin32HandleInfoNV = VkExportMemoryWin32HandleInfoNV## Addr##                                                                         ByteArray## @@ -80,27 +80,6 @@              '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkSType VkExportMemoryWin32HandleInfoNV where-        type VkSTypeMType VkExportMemoryWin32HandleInfoNV = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoNV, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkExportMemoryWin32HandleInfoNV, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoNV, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoNV, sType}--instance {-# OVERLAPPING #-}          HasField "sType" VkExportMemoryWin32HandleInfoNV where         type FieldType "sType" VkExportMemoryWin32HandleInfoNV =              VkStructureType@@ -116,38 +95,22 @@         fieldOffset           = #{offset VkExportMemoryWin32HandleInfoNV, sType} -instance CanReadField "sType" VkExportMemoryWin32HandleInfoNV where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkExportMemoryWin32HandleInfoNV-         where-        {-# INLINE writeField #-}-        writeField = writeVkSType- instance {-# OVERLAPPING #-}-         HasVkPNext VkExportMemoryWin32HandleInfoNV where-        type VkPNextMType VkExportMemoryWin32HandleInfoNV = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x+         CanReadField "sType" VkExportMemoryWin32HandleInfoNV where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoNV, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkExportMemoryWin32HandleInfoNV, pNext}+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoNV, sType}) -        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoNV, pNext}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoNV, sType} -        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoNV, pNext}+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkExportMemoryWin32HandleInfoNV where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoNV, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkExportMemoryWin32HandleInfoNV where@@ -164,39 +127,22 @@         fieldOffset           = #{offset VkExportMemoryWin32HandleInfoNV, pNext} -instance CanReadField "pNext" VkExportMemoryWin32HandleInfoNV where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkExportMemoryWin32HandleInfoNV-         where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkPAttributes VkExportMemoryWin32HandleInfoNV where-        type VkPAttributesMType VkExportMemoryWin32HandleInfoNV =-             Ptr SECURITY_ATTRIBUTES--        {-# NOINLINE vkPAttributes #-}-        vkPAttributes x+         CanReadField "pNext" VkExportMemoryWin32HandleInfoNV where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoNV, pAttributes})--        {-# INLINE vkPAttributesByteOffset #-}-        vkPAttributesByteOffset ~_-          = #{offset VkExportMemoryWin32HandleInfoNV, pAttributes}+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoNV, pNext}) -        {-# INLINE readVkPAttributes #-}-        readVkPAttributes p-          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoNV, pAttributes}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoNV, pNext} -        {-# INLINE writeVkPAttributes #-}-        writeVkPAttributes p-          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoNV, pAttributes}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkExportMemoryWin32HandleInfoNV where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoNV, pNext}  instance {-# OVERLAPPING #-}          HasField "pAttributes" VkExportMemoryWin32HandleInfoNV where@@ -216,40 +162,22 @@         fieldOffset           = #{offset VkExportMemoryWin32HandleInfoNV, pAttributes} -instance CanReadField "pAttributes" VkExportMemoryWin32HandleInfoNV-         where-        {-# INLINE getField #-}-        getField = vkPAttributes--        {-# INLINE readField #-}-        readField = readVkPAttributes--instance CanWriteField "pAttributes"-           VkExportMemoryWin32HandleInfoNV-         where-        {-# INLINE writeField #-}-        writeField = writeVkPAttributes- instance {-# OVERLAPPING #-}-         HasVkDwAccess VkExportMemoryWin32HandleInfoNV where-        type VkDwAccessMType VkExportMemoryWin32HandleInfoNV = DWORD--        {-# NOINLINE vkDwAccess #-}-        vkDwAccess x+         CanReadField "pAttributes" VkExportMemoryWin32HandleInfoNV where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoNV, dwAccess})--        {-# INLINE vkDwAccessByteOffset #-}-        vkDwAccessByteOffset ~_-          = #{offset VkExportMemoryWin32HandleInfoNV, dwAccess}+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoNV, pAttributes}) -        {-# INLINE readVkDwAccess #-}-        readVkDwAccess p-          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoNV, dwAccess}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoNV, pAttributes} -        {-# INLINE writeVkDwAccess #-}-        writeVkDwAccess p-          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoNV, dwAccess}+instance {-# OVERLAPPING #-}+         CanWriteField "pAttributes" VkExportMemoryWin32HandleInfoNV where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoNV, pAttributes}  instance {-# OVERLAPPING #-}          HasField "dwAccess" VkExportMemoryWin32HandleInfoNV where@@ -268,30 +196,34 @@         fieldOffset           = #{offset VkExportMemoryWin32HandleInfoNV, dwAccess} -instance CanReadField "dwAccess" VkExportMemoryWin32HandleInfoNV-         where-        {-# INLINE getField #-}-        getField = vkDwAccess+instance {-# OVERLAPPING #-}+         CanReadField "dwAccess" VkExportMemoryWin32HandleInfoNV where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoNV, dwAccess})          {-# INLINE readField #-}-        readField = readVkDwAccess+        readField p+          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoNV, dwAccess} -instance CanWriteField "dwAccess" VkExportMemoryWin32HandleInfoNV-         where+instance {-# OVERLAPPING #-}+         CanWriteField "dwAccess" VkExportMemoryWin32HandleInfoNV where         {-# INLINE writeField #-}-        writeField = writeVkDwAccess+        writeField p+          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoNV, dwAccess}  instance Show VkExportMemoryWin32HandleInfoNV where         showsPrec d x           = showString "VkExportMemoryWin32HandleInfoNV {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkPAttributes = " .-                            showsPrec d (vkPAttributes x) .+                          showString "pAttributes = " .+                            showsPrec d (getField @"pAttributes" x) .                               showString ", " .-                                showString "vkDwAccess = " .-                                  showsPrec d (vkDwAccess x) . showChar '}'+                                showString "dwAccess = " .+                                  showsPrec d (getField @"dwAccess" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExportSemaphoreCreateInfo.hsc view
@@ -0,0 +1,190 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkExportSemaphoreCreateInfo+       (VkExportSemaphoreCreateInfo(..)) where+import           Foreign.Storable                                              (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlags (VkExternalSemaphoreHandleTypeFlags)+import           Graphics.Vulkan.Types.Enum.VkStructureType                    (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkSemaphoreCreateInfo            (VkSemaphoreCreateInfo)+import           System.IO.Unsafe                                              (unsafeDupablePerformIO)++-- | > typedef struct VkExportSemaphoreCreateInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkExternalSemaphoreHandleTypeFlags handleTypes;+--   > } VkExportSemaphoreCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkExportSemaphoreCreateInfo.html VkExportSemaphoreCreateInfo registry at www.khronos.org>+data VkExportSemaphoreCreateInfo = VkExportSemaphoreCreateInfo## Addr##+                                                                ByteArray##++instance Eq VkExportSemaphoreCreateInfo where+        (VkExportSemaphoreCreateInfo## a _) ==+          x@(VkExportSemaphoreCreateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkExportSemaphoreCreateInfo where+        (VkExportSemaphoreCreateInfo## a _) `compare`+          x@(VkExportSemaphoreCreateInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkExportSemaphoreCreateInfo where+        sizeOf ~_ = #{size VkExportSemaphoreCreateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkExportSemaphoreCreateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkExportSemaphoreCreateInfo where+        unsafeAddr (VkExportSemaphoreCreateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkExportSemaphoreCreateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkExportSemaphoreCreateInfo##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExportSemaphoreCreateInfo where+        type StructFields VkExportSemaphoreCreateInfo =+             '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs+        type CUnionType VkExportSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkExportSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs+        type StructExtends VkExportSemaphoreCreateInfo =+             '[VkSemaphoreCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkExportSemaphoreCreateInfo where+        type FieldType "sType" VkExportSemaphoreCreateInfo =+             VkStructureType+        type FieldOptional "sType" VkExportSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkExportSemaphoreCreateInfo =+             #{offset VkExportSemaphoreCreateInfo, sType}+        type FieldIsArray "sType" VkExportSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExportSemaphoreCreateInfo, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkExportSemaphoreCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreCreateInfo, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportSemaphoreCreateInfo, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkExportSemaphoreCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportSemaphoreCreateInfo, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkExportSemaphoreCreateInfo where+        type FieldType "pNext" VkExportSemaphoreCreateInfo = Ptr Void+        type FieldOptional "pNext" VkExportSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkExportSemaphoreCreateInfo =+             #{offset VkExportSemaphoreCreateInfo, pNext}+        type FieldIsArray "pNext" VkExportSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExportSemaphoreCreateInfo, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkExportSemaphoreCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreCreateInfo, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportSemaphoreCreateInfo, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkExportSemaphoreCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportSemaphoreCreateInfo, pNext}++instance {-# OVERLAPPING #-}+         HasField "handleTypes" VkExportSemaphoreCreateInfo where+        type FieldType "handleTypes" VkExportSemaphoreCreateInfo =+             VkExternalSemaphoreHandleTypeFlags+        type FieldOptional "handleTypes" VkExportSemaphoreCreateInfo =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "handleTypes" VkExportSemaphoreCreateInfo =+             #{offset VkExportSemaphoreCreateInfo, handleTypes}+        type FieldIsArray "handleTypes" VkExportSemaphoreCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExportSemaphoreCreateInfo, handleTypes}++instance {-# OVERLAPPING #-}+         CanReadField "handleTypes" VkExportSemaphoreCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreCreateInfo, handleTypes})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportSemaphoreCreateInfo, handleTypes}++instance {-# OVERLAPPING #-}+         CanWriteField "handleTypes" VkExportSemaphoreCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportSemaphoreCreateInfo, handleTypes}++instance Show VkExportSemaphoreCreateInfo where+        showsPrec d x+          = showString "VkExportSemaphoreCreateInfo {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "handleTypes = " .+                            showsPrec d (getField @"handleTypes" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExportSemaphoreCreateInfoKHR.hs view
@@ -0,0 +1,9 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Struct.VkExportSemaphoreCreateInfoKHR+       (VkExportSemaphoreCreateInfo(..), VkExportSemaphoreCreateInfoKHR)+       where+import           Graphics.Vulkan.Types.Struct.VkExportSemaphoreCreateInfo (VkExportSemaphoreCreateInfo (..))++-- | Alias for `VkExportSemaphoreCreateInfo`+type VkExportSemaphoreCreateInfoKHR = VkExportSemaphoreCreateInfo
− src-gen/Graphics/Vulkan/Types/Struct/VkExportSemaphoreCreateInfoKHR.hsc
@@ -1,244 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkExportSemaphoreCreateInfoKHR-       (VkExportSemaphoreCreateInfoKHR(..)) where-import           Foreign.Storable-                                                                                   (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlagsKHR-                                                                                   (VkExternalSemaphoreHandleTypeFlagsKHR)-import           Graphics.Vulkan.Types.Enum.VkStructureType-                                                                                   (VkStructureType)-import           Graphics.Vulkan.Types.Struct.VkSemaphoreCreateInfo-                                                                                   (VkSemaphoreCreateInfo)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe-                                                                                   (unsafeDupablePerformIO)---- | > typedef struct VkExportSemaphoreCreateInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkExternalSemaphoreHandleTypeFlagsKHR handleTypes;---   > } VkExportSemaphoreCreateInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExportSemaphoreCreateInfoKHR.html VkExportSemaphoreCreateInfoKHR registry at www.khronos.org>-data VkExportSemaphoreCreateInfoKHR = VkExportSemaphoreCreateInfoKHR## Addr##-                                                                      ByteArray##--instance Eq VkExportSemaphoreCreateInfoKHR where-        (VkExportSemaphoreCreateInfoKHR## a _) ==-          x@(VkExportSemaphoreCreateInfoKHR## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkExportSemaphoreCreateInfoKHR where-        (VkExportSemaphoreCreateInfoKHR## a _) `compare`-          x@(VkExportSemaphoreCreateInfoKHR## b _) = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkExportSemaphoreCreateInfoKHR where-        sizeOf ~_ = #{size VkExportSemaphoreCreateInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkExportSemaphoreCreateInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkExportSemaphoreCreateInfoKHR where-        unsafeAddr (VkExportSemaphoreCreateInfoKHR## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkExportSemaphoreCreateInfoKHR## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkExportSemaphoreCreateInfoKHR##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkExportSemaphoreCreateInfoKHR where-        type StructFields VkExportSemaphoreCreateInfoKHR =-             '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs-        type CUnionType VkExportSemaphoreCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExportSemaphoreCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkExportSemaphoreCreateInfoKHR =-             '[VkSemaphoreCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasVkSType VkExportSemaphoreCreateInfoKHR where-        type VkSTypeMType VkExportSemaphoreCreateInfoKHR = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreCreateInfoKHR, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkExportSemaphoreCreateInfoKHR, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkExportSemaphoreCreateInfoKHR, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkExportSemaphoreCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkExportSemaphoreCreateInfoKHR where-        type FieldType "sType" VkExportSemaphoreCreateInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkExportSemaphoreCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExportSemaphoreCreateInfoKHR =-             #{offset VkExportSemaphoreCreateInfoKHR, sType}-        type FieldIsArray "sType" VkExportSemaphoreCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportSemaphoreCreateInfoKHR, sType}--instance CanReadField "sType" VkExportSemaphoreCreateInfoKHR where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkExportSemaphoreCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-}-         HasVkPNext VkExportSemaphoreCreateInfoKHR where-        type VkPNextMType VkExportSemaphoreCreateInfoKHR = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreCreateInfoKHR, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkExportSemaphoreCreateInfoKHR, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkExportSemaphoreCreateInfoKHR, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkExportSemaphoreCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExportSemaphoreCreateInfoKHR where-        type FieldType "pNext" VkExportSemaphoreCreateInfoKHR = Ptr Void-        type FieldOptional "pNext" VkExportSemaphoreCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExportSemaphoreCreateInfoKHR =-             #{offset VkExportSemaphoreCreateInfoKHR, pNext}-        type FieldIsArray "pNext" VkExportSemaphoreCreateInfoKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportSemaphoreCreateInfoKHR, pNext}--instance CanReadField "pNext" VkExportSemaphoreCreateInfoKHR where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkExportSemaphoreCreateInfoKHR where-        {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-}-         HasVkHandleTypes VkExportSemaphoreCreateInfoKHR where-        type VkHandleTypesMType VkExportSemaphoreCreateInfoKHR =-             VkExternalSemaphoreHandleTypeFlagsKHR--        {-# NOINLINE vkHandleTypes #-}-        vkHandleTypes x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreCreateInfoKHR, handleTypes})--        {-# INLINE vkHandleTypesByteOffset #-}-        vkHandleTypesByteOffset ~_-          = #{offset VkExportSemaphoreCreateInfoKHR, handleTypes}--        {-# INLINE readVkHandleTypes #-}-        readVkHandleTypes p-          = peekByteOff p #{offset VkExportSemaphoreCreateInfoKHR, handleTypes}--        {-# INLINE writeVkHandleTypes #-}-        writeVkHandleTypes p-          = pokeByteOff p #{offset VkExportSemaphoreCreateInfoKHR, handleTypes}--instance {-# OVERLAPPING #-}-         HasField "handleTypes" VkExportSemaphoreCreateInfoKHR where-        type FieldType "handleTypes" VkExportSemaphoreCreateInfoKHR =-             VkExternalSemaphoreHandleTypeFlagsKHR-        type FieldOptional "handleTypes" VkExportSemaphoreCreateInfoKHR =-             'True -- ' closing tick for hsc2hs-        type FieldOffset "handleTypes" VkExportSemaphoreCreateInfoKHR =-             #{offset VkExportSemaphoreCreateInfoKHR, handleTypes}-        type FieldIsArray "handleTypes" VkExportSemaphoreCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExportSemaphoreCreateInfoKHR, handleTypes}--instance CanReadField "handleTypes" VkExportSemaphoreCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkHandleTypes--        {-# INLINE readField #-}-        readField = readVkHandleTypes--instance CanWriteField "handleTypes" VkExportSemaphoreCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkHandleTypes--instance Show VkExportSemaphoreCreateInfoKHR where-        showsPrec d x-          = showString "VkExportSemaphoreCreateInfoKHR {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkHandleTypes = " .-                            showsPrec d (vkHandleTypes x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkExportSemaphoreWin32HandleInfoKHR.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkExportSemaphoreWin32HandleInfoKHR        (VkExportSemaphoreWin32HandleInfoKHR(..)) where@@ -17,7 +18,6 @@                                                                      LPCWSTR,                                                                      SECURITY_ATTRIBUTES) import           Graphics.Vulkan.Types.Struct.VkSemaphoreCreateInfo (VkSemaphoreCreateInfo)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                   (unsafeDupablePerformIO)  -- | > typedef struct VkExportSemaphoreWin32HandleInfoKHR {@@ -28,7 +28,7 @@ --   >     LPCWSTR                          name; --   > } VkExportSemaphoreWin32HandleInfoKHR; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExportSemaphoreWin32HandleInfoKHR.html VkExportSemaphoreWin32HandleInfoKHR registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkExportSemaphoreWin32HandleInfoKHR.html VkExportSemaphoreWin32HandleInfoKHR registry at www.khronos.org> data VkExportSemaphoreWin32HandleInfoKHR = VkExportSemaphoreWin32HandleInfoKHR## Addr##                                                                                 ByteArray## @@ -85,28 +85,6 @@              '[VkSemaphoreCreateInfo] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkSType VkExportSemaphoreWin32HandleInfoKHR where-        type VkSTypeMType VkExportSemaphoreWin32HandleInfoKHR =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreWin32HandleInfoKHR, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkExportSemaphoreWin32HandleInfoKHR, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, sType}--instance {-# OVERLAPPING #-}          HasField "sType" VkExportSemaphoreWin32HandleInfoKHR where         type FieldType "sType" VkExportSemaphoreWin32HandleInfoKHR =              VkStructureType@@ -124,39 +102,22 @@         fieldOffset           = #{offset VkExportSemaphoreWin32HandleInfoKHR, sType} -instance CanReadField "sType" VkExportSemaphoreWin32HandleInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkExportSemaphoreWin32HandleInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkSType- instance {-# OVERLAPPING #-}-         HasVkPNext VkExportSemaphoreWin32HandleInfoKHR where-        type VkPNextMType VkExportSemaphoreWin32HandleInfoKHR = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x+         CanReadField "sType" VkExportSemaphoreWin32HandleInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext}+              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreWin32HandleInfoKHR, sType}) -        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, sType} -        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext}+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkExportSemaphoreWin32HandleInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkExportSemaphoreWin32HandleInfoKHR where@@ -176,40 +137,22 @@         fieldOffset           = #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext} -instance CanReadField "pNext" VkExportSemaphoreWin32HandleInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkExportSemaphoreWin32HandleInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkPAttributes VkExportSemaphoreWin32HandleInfoKHR where-        type VkPAttributesMType VkExportSemaphoreWin32HandleInfoKHR =-             Ptr SECURITY_ATTRIBUTES--        {-# NOINLINE vkPAttributes #-}-        vkPAttributes x+         CanReadField "pNext" VkExportSemaphoreWin32HandleInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes})--        {-# INLINE vkPAttributesByteOffset #-}-        vkPAttributesByteOffset ~_-          = #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes}+              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext}) -        {-# INLINE readVkPAttributes #-}-        readVkPAttributes p-          = peekByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext} -        {-# INLINE writeVkPAttributes #-}-        writeVkPAttributes p-          = pokeByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkExportSemaphoreWin32HandleInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext}  instance {-# OVERLAPPING #-}          HasField "pAttributes" VkExportSemaphoreWin32HandleInfoKHR where@@ -231,41 +174,24 @@         fieldOffset           = #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes} -instance CanReadField "pAttributes"-           VkExportSemaphoreWin32HandleInfoKHR+instance {-# OVERLAPPING #-}+         CanReadField "pAttributes" VkExportSemaphoreWin32HandleInfoKHR          where-        {-# INLINE getField #-}-        getField = vkPAttributes+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes})          {-# INLINE readField #-}-        readField = readVkPAttributes+        readField p+          = peekByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes} -instance CanWriteField "pAttributes"-           VkExportSemaphoreWin32HandleInfoKHR+instance {-# OVERLAPPING #-}+         CanWriteField "pAttributes" VkExportSemaphoreWin32HandleInfoKHR          where         {-# INLINE writeField #-}-        writeField = writeVkPAttributes--instance {-# OVERLAPPING #-}-         HasVkDwAccess VkExportSemaphoreWin32HandleInfoKHR where-        type VkDwAccessMType VkExportSemaphoreWin32HandleInfoKHR = DWORD--        {-# NOINLINE vkDwAccess #-}-        vkDwAccess x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreWin32HandleInfoKHR, dwAccess})--        {-# INLINE vkDwAccessByteOffset #-}-        vkDwAccessByteOffset ~_-          = #{offset VkExportSemaphoreWin32HandleInfoKHR, dwAccess}--        {-# INLINE readVkDwAccess #-}-        readVkDwAccess p-          = peekByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, dwAccess}--        {-# INLINE writeVkDwAccess #-}-        writeVkDwAccess p-          = pokeByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, dwAccess}+        writeField p+          = pokeByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes}  instance {-# OVERLAPPING #-}          HasField "dwAccess" VkExportSemaphoreWin32HandleInfoKHR where@@ -285,41 +211,22 @@         fieldOffset           = #{offset VkExportSemaphoreWin32HandleInfoKHR, dwAccess} -instance CanReadField "dwAccess"-           VkExportSemaphoreWin32HandleInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkDwAccess--        {-# INLINE readField #-}-        readField = readVkDwAccess--instance CanWriteField "dwAccess"-           VkExportSemaphoreWin32HandleInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkDwAccess- instance {-# OVERLAPPING #-}-         HasVkName VkExportSemaphoreWin32HandleInfoKHR where-        type VkNameMType VkExportSemaphoreWin32HandleInfoKHR = LPCWSTR--        {-# NOINLINE vkName #-}-        vkName x+         CanReadField "dwAccess" VkExportSemaphoreWin32HandleInfoKHR where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreWin32HandleInfoKHR, name})--        {-# INLINE vkNameByteOffset #-}-        vkNameByteOffset ~_-          = #{offset VkExportSemaphoreWin32HandleInfoKHR, name}+              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreWin32HandleInfoKHR, dwAccess}) -        {-# INLINE readVkName #-}-        readVkName p-          = peekByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, name}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, dwAccess} -        {-# INLINE writeVkName #-}-        writeVkName p-          = pokeByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, name}+instance {-# OVERLAPPING #-}+         CanWriteField "dwAccess" VkExportSemaphoreWin32HandleInfoKHR where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, dwAccess}  instance {-# OVERLAPPING #-}          HasField "name" VkExportSemaphoreWin32HandleInfoKHR where@@ -338,32 +245,37 @@         fieldOffset           = #{offset VkExportSemaphoreWin32HandleInfoKHR, name} -instance CanReadField "name" VkExportSemaphoreWin32HandleInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkName+instance {-# OVERLAPPING #-}+         CanReadField "name" VkExportSemaphoreWin32HandleInfoKHR where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreWin32HandleInfoKHR, name})          {-# INLINE readField #-}-        readField = readVkName+        readField p+          = peekByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, name} -instance CanWriteField "name" VkExportSemaphoreWin32HandleInfoKHR-         where+instance {-# OVERLAPPING #-}+         CanWriteField "name" VkExportSemaphoreWin32HandleInfoKHR where         {-# INLINE writeField #-}-        writeField = writeVkName+        writeField p+          = pokeByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, name}  instance Show VkExportSemaphoreWin32HandleInfoKHR where         showsPrec d x           = showString "VkExportSemaphoreWin32HandleInfoKHR {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkPAttributes = " .-                            showsPrec d (vkPAttributes x) .+                          showString "pAttributes = " .+                            showsPrec d (getField @"pAttributes" x) .                               showString ", " .-                                showString "vkDwAccess = " .-                                  showsPrec d (vkDwAccess x) .+                                showString "dwAccess = " .+                                  showsPrec d (getField @"dwAccess" x) .                                     showString ", " .-                                      showString "vkName = " . showsPrec d (vkName x) . showChar '}'+                                      showString "name = " .+                                        showsPrec d (getField @"name" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkExtensionProperties.hsc view
@@ -8,26 +8,25 @@ {-# LANGUAGE PatternSynonyms       #-} {-# LANGUAGE ScopedTypeVariables   #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} {-# LANGUAGE UndecidableInstances  #-} module Graphics.Vulkan.Types.Struct.VkExtensionProperties        (VkExtensionProperties(..)) where-import           Foreign.Storable                    (Storable (..))+import           Foreign.Storable                 (Storable (..)) import           GHC.Prim-import           GHC.TypeLits                        (KnownNat, natVal') -- ' closing tick for hsc2hs-import           Graphics.Vulkan.Constants           (VK_MAX_EXTENSION_NAME_SIZE,-                                                      pattern VK_MAX_EXTENSION_NAME_SIZE)+import           GHC.TypeLits                     (KnownNat, natVal') -- ' closing tick for hsc2hs+import           Graphics.Vulkan.Constants        (VK_MAX_EXTENSION_NAME_SIZE, pattern VK_MAX_EXTENSION_NAME_SIZE) import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                    (unsafeDupablePerformIO)+import           System.IO.Unsafe                 (unsafeDupablePerformIO)  -- | > typedef struct VkExtensionProperties { --   >     char            extensionName[VK_MAX_EXTENSION_NAME_SIZE]; --   >     uint32_t        specVersion; --   > } VkExtensionProperties; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExtensionProperties.html VkExtensionProperties registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkExtensionProperties.html VkExtensionProperties registry at www.khronos.org> data VkExtensionProperties = VkExtensionProperties## Addr##                                                     ByteArray## @@ -77,33 +76,6 @@         type StructExtends VkExtensionProperties = '[] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkExtensionNameArray VkExtensionProperties where-        type VkExtensionNameArrayMType VkExtensionProperties = CChar--        {-# NOINLINE vkExtensionNameArray #-}-        vkExtensionNameArray x idx-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x)-                 (idx * sizeOf (undefined :: CChar) +-                    #{offset VkExtensionProperties, extensionName}))--        {-# INLINE vkExtensionNameArrayByteOffset #-}-        vkExtensionNameArrayByteOffset ~_-          = #{offset VkExtensionProperties, extensionName}--        {-# INLINE readVkExtensionNameArray #-}-        readVkExtensionNameArray p idx-          = peekByteOff p-              (idx * sizeOf (undefined :: CChar) +-                 #{offset VkExtensionProperties, extensionName})--        {-# INLINE writeVkExtensionNameArray #-}-        writeVkExtensionNameArray p idx-          = pokeByteOff p-              (idx * sizeOf (undefined :: CChar) +-                 #{offset VkExtensionProperties, extensionName})--instance {-# OVERLAPPING #-}          HasField "extensionName" VkExtensionProperties where         type FieldType "extensionName" VkExtensionProperties = CChar         type FieldOptional "extensionName" VkExtensionProperties = 'False -- ' closing tick for hsc2hs@@ -118,7 +90,8 @@         fieldOffset           = #{offset VkExtensionProperties, extensionName} -instance (KnownNat idx,+instance {-# OVERLAPPING #-}+         (KnownNat idx,           IndexInBounds "extensionName" idx VkExtensionProperties) =>          CanReadFieldArray "extensionName" idx VkExtensionProperties          where@@ -140,35 +113,44 @@         fieldArrayLength = VK_MAX_EXTENSION_NAME_SIZE          {-# INLINE getFieldArray #-}-        getFieldArray x-          = vkExtensionNameArray x-              (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs+        getFieldArray = f+          where {-# NOINLINE f #-}+                f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+                off+                  = #{offset VkExtensionProperties, extensionName} ++                      sizeOf (undefined :: CChar) *+                        fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs          {-# INLINE readFieldArray #-}-        readFieldArray x-          = readVkExtensionNameArray x-              (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs+        readFieldArray p+          = peekByteOff p+              (#{offset VkExtensionProperties, extensionName} ++                 sizeOf (undefined :: CChar) *+                   fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkSpecVersion VkExtensionProperties+instance {-# OVERLAPPING #-}+         (KnownNat idx,+          IndexInBounds "extensionName" idx VkExtensionProperties) =>+         CanWriteFieldArray "extensionName" idx VkExtensionProperties          where-        type VkSpecVersionMType VkExtensionProperties = Word32+        {-# SPECIALISE instance+                       CanWriteFieldArray "extensionName" 0 VkExtensionProperties #-} -        {-# NOINLINE vkSpecVersion #-}-        vkSpecVersion x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExtensionProperties, specVersion})+        {-# SPECIALISE instance+                       CanWriteFieldArray "extensionName" 1 VkExtensionProperties #-} -        {-# INLINE vkSpecVersionByteOffset #-}-        vkSpecVersionByteOffset ~_-          = #{offset VkExtensionProperties, specVersion}+        {-# SPECIALISE instance+                       CanWriteFieldArray "extensionName" 2 VkExtensionProperties #-} -        {-# INLINE readVkSpecVersion #-}-        readVkSpecVersion p-          = peekByteOff p #{offset VkExtensionProperties, specVersion}+        {-# SPECIALISE instance+                       CanWriteFieldArray "extensionName" 3 VkExtensionProperties #-} -        {-# INLINE writeVkSpecVersion #-}-        writeVkSpecVersion p-          = pokeByteOff p #{offset VkExtensionProperties, specVersion}+        {-# INLINE writeFieldArray #-}+        writeFieldArray p+          = pokeByteOff p+              (#{offset VkExtensionProperties, extensionName} ++                 sizeOf (undefined :: CChar) *+                   fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}          HasField "specVersion" VkExtensionProperties where@@ -185,21 +167,39 @@         fieldOffset           = #{offset VkExtensionProperties, specVersion} -instance CanReadField "specVersion" VkExtensionProperties where-        {-# INLINE getField #-}-        getField = vkSpecVersion+instance {-# OVERLAPPING #-}+         CanReadField "specVersion" VkExtensionProperties where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExtensionProperties, specVersion})          {-# INLINE readField #-}-        readField = readVkSpecVersion+        readField p+          = peekByteOff p #{offset VkExtensionProperties, specVersion} +instance {-# OVERLAPPING #-}+         CanWriteField "specVersion" VkExtensionProperties where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExtensionProperties, specVersion}+ instance Show VkExtensionProperties where         showsPrec d x           = showString "VkExtensionProperties {" .-              showString "vkExtensionNameArray = [" .-                showsPrec d-                  (map (vkExtensionNameArray x) [1 .. VK_MAX_EXTENSION_NAME_SIZE])-                  .-                  showChar ']' .-                    showString ", " .-                      showString "vkSpecVersion = " .-                        showsPrec d (vkSpecVersion x) . showChar '}'+              (showString "extensionName = [" .+                 showsPrec d+                   (let s = sizeOf+                              (undefined :: FieldType "extensionName" VkExtensionProperties)+                        o = fieldOffset @"extensionName" @VkExtensionProperties+                        f i+                          = peekByteOff (unsafePtr x) i ::+                              IO (FieldType "extensionName" VkExtensionProperties)+                      in+                      unsafeDupablePerformIO . mapM f $+                        map (\ i -> o + i * s) [0 .. VK_MAX_EXTENSION_NAME_SIZE - 1])+                   . showChar ']')+                .+                showString ", " .+                  showString "specVersion = " .+                    showsPrec d (getField @"specVersion" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkExtent2D.hsc view
@@ -5,22 +5,22 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkExtent2D (VkExtent2D(..))        where-import           Foreign.Storable                    (Storable (..))+import           Foreign.Storable                 (Storable (..)) import           GHC.Prim import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                    (unsafeDupablePerformIO)+import           System.IO.Unsafe                 (unsafeDupablePerformIO)  -- | > typedef struct VkExtent2D { --   >     uint32_t        width; --   >     uint32_t        height; --   > } VkExtent2D; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExtent2D.html VkExtent2D registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkExtent2D.html VkExtent2D registry at www.khronos.org> data VkExtent2D = VkExtent2D## Addr## ByteArray##  instance Eq VkExtent2D where@@ -67,25 +67,6 @@         type ReturnedOnly VkExtent2D = 'False -- ' closing tick for hsc2hs         type StructExtends VkExtent2D = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkWidth VkExtent2D where-        type VkWidthMType VkExtent2D = Word32--        {-# NOINLINE vkWidth #-}-        vkWidth x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExtent2D, width})--        {-# INLINE vkWidthByteOffset #-}-        vkWidthByteOffset ~_ = #{offset VkExtent2D, width}--        {-# INLINE readVkWidth #-}-        readVkWidth p-          = peekByteOff p #{offset VkExtent2D, width}--        {-# INLINE writeVkWidth #-}-        writeVkWidth p-          = pokeByteOff p #{offset VkExtent2D, width}- instance {-# OVERLAPPING #-} HasField "width" VkExtent2D where         type FieldType "width" VkExtent2D = Word32         type FieldOptional "width" VkExtent2D = 'False -- ' closing tick for hsc2hs@@ -99,35 +80,19 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkExtent2D, width} -instance CanReadField "width" VkExtent2D where-        {-# INLINE getField #-}-        getField = vkWidth+instance {-# OVERLAPPING #-} CanReadField "width" VkExtent2D where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExtent2D, width})          {-# INLINE readField #-}-        readField = readVkWidth+        readField p = peekByteOff p #{offset VkExtent2D, width} -instance CanWriteField "width" VkExtent2D where+instance {-# OVERLAPPING #-} CanWriteField "width" VkExtent2D where         {-# INLINE writeField #-}-        writeField = writeVkWidth--instance {-# OVERLAPPING #-} HasVkHeight VkExtent2D where-        type VkHeightMType VkExtent2D = Word32--        {-# NOINLINE vkHeight #-}-        vkHeight x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExtent2D, height})--        {-# INLINE vkHeightByteOffset #-}-        vkHeightByteOffset ~_ = #{offset VkExtent2D, height}--        {-# INLINE readVkHeight #-}-        readVkHeight p-          = peekByteOff p #{offset VkExtent2D, height}--        {-# INLINE writeVkHeight #-}-        writeVkHeight p-          = pokeByteOff p #{offset VkExtent2D, height}+        writeField p+          = pokeByteOff p #{offset VkExtent2D, width}  instance {-# OVERLAPPING #-} HasField "height" VkExtent2D where         type FieldType "height" VkExtent2D = Word32@@ -142,21 +107,27 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkExtent2D, height} -instance CanReadField "height" VkExtent2D where-        {-# INLINE getField #-}-        getField = vkHeight+instance {-# OVERLAPPING #-} CanReadField "height" VkExtent2D where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExtent2D, height})          {-# INLINE readField #-}-        readField = readVkHeight+        readField p+          = peekByteOff p #{offset VkExtent2D, height} -instance CanWriteField "height" VkExtent2D where+instance {-# OVERLAPPING #-} CanWriteField "height" VkExtent2D+         where         {-# INLINE writeField #-}-        writeField = writeVkHeight+        writeField p+          = pokeByteOff p #{offset VkExtent2D, height}  instance Show VkExtent2D where         showsPrec d x           = showString "VkExtent2D {" .-              showString "vkWidth = " .-                showsPrec d (vkWidth x) .+              showString "width = " .+                showsPrec d (getField @"width" x) .                   showString ", " .-                    showString "vkHeight = " . showsPrec d (vkHeight x) . showChar '}'+                    showString "height = " .+                      showsPrec d (getField @"height" x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkExtent3D.hsc view
@@ -5,15 +5,15 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkExtent3D (VkExtent3D(..))        where-import           Foreign.Storable                    (Storable (..))+import           Foreign.Storable                 (Storable (..)) import           GHC.Prim import           Graphics.Vulkan.Marshal import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                    (unsafeDupablePerformIO)+import           System.IO.Unsafe                 (unsafeDupablePerformIO)  -- | > typedef struct VkExtent3D { --   >     uint32_t        width;@@ -21,7 +21,7 @@ --   >     uint32_t        depth; --   > } VkExtent3D; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExtent3D.html VkExtent3D registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkExtent3D.html VkExtent3D registry at www.khronos.org> data VkExtent3D = VkExtent3D## Addr## ByteArray##  instance Eq VkExtent3D where@@ -68,25 +68,6 @@         type ReturnedOnly VkExtent3D = 'False -- ' closing tick for hsc2hs         type StructExtends VkExtent3D = '[] -- ' closing tick for hsc2hs -instance {-# OVERLAPPING #-} HasVkWidth VkExtent3D where-        type VkWidthMType VkExtent3D = Word32--        {-# NOINLINE vkWidth #-}-        vkWidth x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExtent3D, width})--        {-# INLINE vkWidthByteOffset #-}-        vkWidthByteOffset ~_ = #{offset VkExtent3D, width}--        {-# INLINE readVkWidth #-}-        readVkWidth p-          = peekByteOff p #{offset VkExtent3D, width}--        {-# INLINE writeVkWidth #-}-        writeVkWidth p-          = pokeByteOff p #{offset VkExtent3D, width}- instance {-# OVERLAPPING #-} HasField "width" VkExtent3D where         type FieldType "width" VkExtent3D = Word32         type FieldOptional "width" VkExtent3D = 'False -- ' closing tick for hsc2hs@@ -100,35 +81,19 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkExtent3D, width} -instance CanReadField "width" VkExtent3D where-        {-# INLINE getField #-}-        getField = vkWidth+instance {-# OVERLAPPING #-} CanReadField "width" VkExtent3D where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExtent3D, width})          {-# INLINE readField #-}-        readField = readVkWidth+        readField p = peekByteOff p #{offset VkExtent3D, width} -instance CanWriteField "width" VkExtent3D where+instance {-# OVERLAPPING #-} CanWriteField "width" VkExtent3D where         {-# INLINE writeField #-}-        writeField = writeVkWidth--instance {-# OVERLAPPING #-} HasVkHeight VkExtent3D where-        type VkHeightMType VkExtent3D = Word32--        {-# NOINLINE vkHeight #-}-        vkHeight x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExtent3D, height})--        {-# INLINE vkHeightByteOffset #-}-        vkHeightByteOffset ~_ = #{offset VkExtent3D, height}--        {-# INLINE readVkHeight #-}-        readVkHeight p-          = peekByteOff p #{offset VkExtent3D, height}--        {-# INLINE writeVkHeight #-}-        writeVkHeight p-          = pokeByteOff p #{offset VkExtent3D, height}+        writeField p+          = pokeByteOff p #{offset VkExtent3D, width}  instance {-# OVERLAPPING #-} HasField "height" VkExtent3D where         type FieldType "height" VkExtent3D = Word32@@ -143,35 +108,21 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkExtent3D, height} -instance CanReadField "height" VkExtent3D where-        {-# INLINE getField #-}-        getField = vkHeight+instance {-# OVERLAPPING #-} CanReadField "height" VkExtent3D where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExtent3D, height})          {-# INLINE readField #-}-        readField = readVkHeight+        readField p+          = peekByteOff p #{offset VkExtent3D, height} -instance CanWriteField "height" VkExtent3D where+instance {-# OVERLAPPING #-} CanWriteField "height" VkExtent3D+         where         {-# INLINE writeField #-}-        writeField = writeVkHeight--instance {-# OVERLAPPING #-} HasVkDepth VkExtent3D where-        type VkDepthMType VkExtent3D = Word32--        {-# NOINLINE vkDepth #-}-        vkDepth x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExtent3D, depth})--        {-# INLINE vkDepthByteOffset #-}-        vkDepthByteOffset ~_ = #{offset VkExtent3D, depth}--        {-# INLINE readVkDepth #-}-        readVkDepth p-          = peekByteOff p #{offset VkExtent3D, depth}--        {-# INLINE writeVkDepth #-}-        writeVkDepth p-          = pokeByteOff p #{offset VkExtent3D, depth}+        writeField p+          = pokeByteOff p #{offset VkExtent3D, height}  instance {-# OVERLAPPING #-} HasField "depth" VkExtent3D where         type FieldType "depth" VkExtent3D = Word32@@ -186,24 +137,28 @@         {-# INLINE fieldOffset #-}         fieldOffset = #{offset VkExtent3D, depth} -instance CanReadField "depth" VkExtent3D where-        {-# INLINE getField #-}-        getField = vkDepth+instance {-# OVERLAPPING #-} CanReadField "depth" VkExtent3D where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExtent3D, depth})          {-# INLINE readField #-}-        readField = readVkDepth+        readField p = peekByteOff p #{offset VkExtent3D, depth} -instance CanWriteField "depth" VkExtent3D where+instance {-# OVERLAPPING #-} CanWriteField "depth" VkExtent3D where         {-# INLINE writeField #-}-        writeField = writeVkDepth+        writeField p+          = pokeByteOff p #{offset VkExtent3D, depth}  instance Show VkExtent3D where         showsPrec d x           = showString "VkExtent3D {" .-              showString "vkWidth = " .-                showsPrec d (vkWidth x) .+              showString "width = " .+                showsPrec d (getField @"width" x) .                   showString ", " .-                    showString "vkHeight = " .-                      showsPrec d (vkHeight x) .+                    showString "height = " .+                      showsPrec d (getField @"height" x) .                         showString ", " .-                          showString "vkDepth = " . showsPrec d (vkDepth x) . showChar '}'+                          showString "depth = " .+                            showsPrec d (getField @"depth" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExternalBufferProperties.hsc view
@@ -0,0 +1,195 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkExternalBufferProperties+       (VkExternalBufferProperties(..)) where+import           Foreign.Storable                                        (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkStructureType              (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkExternalMemoryProperties (VkExternalMemoryProperties)+import           System.IO.Unsafe                                        (unsafeDupablePerformIO)++-- | > typedef struct VkExternalBufferProperties {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     VkExternalMemoryProperties    externalMemoryProperties;+--   > } VkExternalBufferProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkExternalBufferProperties.html VkExternalBufferProperties registry at www.khronos.org>+data VkExternalBufferProperties = VkExternalBufferProperties## Addr##+                                                              ByteArray##++instance Eq VkExternalBufferProperties where+        (VkExternalBufferProperties## a _) ==+          x@(VkExternalBufferProperties## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkExternalBufferProperties where+        (VkExternalBufferProperties## a _) `compare`+          x@(VkExternalBufferProperties## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkExternalBufferProperties where+        sizeOf ~_ = #{size VkExternalBufferProperties}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkExternalBufferProperties}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkExternalBufferProperties where+        unsafeAddr (VkExternalBufferProperties## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkExternalBufferProperties## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkExternalBufferProperties##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExternalBufferProperties where+        type StructFields VkExternalBufferProperties =+             '["sType", "pNext", "externalMemoryProperties"] -- ' closing tick for hsc2hs+        type CUnionType VkExternalBufferProperties = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkExternalBufferProperties = 'True -- ' closing tick for hsc2hs+        type StructExtends VkExternalBufferProperties = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkExternalBufferProperties where+        type FieldType "sType" VkExternalBufferProperties = VkStructureType+        type FieldOptional "sType" VkExternalBufferProperties = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkExternalBufferProperties =+             #{offset VkExternalBufferProperties, sType}+        type FieldIsArray "sType" VkExternalBufferProperties = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalBufferProperties, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkExternalBufferProperties where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalBufferProperties, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalBufferProperties, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkExternalBufferProperties where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalBufferProperties, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkExternalBufferProperties where+        type FieldType "pNext" VkExternalBufferProperties = Ptr Void+        type FieldOptional "pNext" VkExternalBufferProperties = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkExternalBufferProperties =+             #{offset VkExternalBufferProperties, pNext}+        type FieldIsArray "pNext" VkExternalBufferProperties = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalBufferProperties, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkExternalBufferProperties where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalBufferProperties, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalBufferProperties, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkExternalBufferProperties where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalBufferProperties, pNext}++instance {-# OVERLAPPING #-}+         HasField "externalMemoryProperties" VkExternalBufferProperties+         where+        type FieldType "externalMemoryProperties"+               VkExternalBufferProperties+             = VkExternalMemoryProperties+        type FieldOptional "externalMemoryProperties"+               VkExternalBufferProperties+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "externalMemoryProperties"+               VkExternalBufferProperties+             =+             #{offset VkExternalBufferProperties, externalMemoryProperties}+        type FieldIsArray "externalMemoryProperties"+               VkExternalBufferProperties+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalBufferProperties, externalMemoryProperties}++instance {-# OVERLAPPING #-}+         CanReadField "externalMemoryProperties" VkExternalBufferProperties+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalBufferProperties, externalMemoryProperties})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalBufferProperties, externalMemoryProperties}++instance {-# OVERLAPPING #-}+         CanWriteField "externalMemoryProperties" VkExternalBufferProperties+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalBufferProperties, externalMemoryProperties}++instance Show VkExternalBufferProperties where+        showsPrec d x+          = showString "VkExternalBufferProperties {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "externalMemoryProperties = " .+                            showsPrec d (getField @"externalMemoryProperties" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExternalBufferPropertiesKHR.hs view
@@ -0,0 +1,9 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Struct.VkExternalBufferPropertiesKHR+       (VkExternalBufferProperties(..), VkExternalBufferPropertiesKHR)+       where+import           Graphics.Vulkan.Types.Struct.VkExternalBufferProperties (VkExternalBufferProperties (..))++-- | Alias for `VkExternalBufferProperties`+type VkExternalBufferPropertiesKHR = VkExternalBufferProperties
− src-gen/Graphics/Vulkan/Types/Struct/VkExternalBufferPropertiesKHR.hsc
@@ -1,231 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkExternalBufferPropertiesKHR-       (VkExternalBufferPropertiesKHR(..)) where-import           Foreign.Storable                                           (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkStructureType                 (VkStructureType)-import           Graphics.Vulkan.Types.Struct.VkExternalMemoryPropertiesKHR (VkExternalMemoryPropertiesKHR)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                                           (unsafeDupablePerformIO)---- | > typedef struct VkExternalBufferPropertiesKHR {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     VkExternalMemoryPropertiesKHR    externalMemoryProperties;---   > } VkExternalBufferPropertiesKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExternalBufferPropertiesKHR.html VkExternalBufferPropertiesKHR registry at www.khronos.org>-data VkExternalBufferPropertiesKHR = VkExternalBufferPropertiesKHR## Addr##-                                                                    ByteArray##--instance Eq VkExternalBufferPropertiesKHR where-        (VkExternalBufferPropertiesKHR## a _) ==-          x@(VkExternalBufferPropertiesKHR## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkExternalBufferPropertiesKHR where-        (VkExternalBufferPropertiesKHR## a _) `compare`-          x@(VkExternalBufferPropertiesKHR## b _) = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkExternalBufferPropertiesKHR where-        sizeOf ~_ = #{size VkExternalBufferPropertiesKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkExternalBufferPropertiesKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkExternalBufferPropertiesKHR where-        unsafeAddr (VkExternalBufferPropertiesKHR## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkExternalBufferPropertiesKHR## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkExternalBufferPropertiesKHR##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkExternalBufferPropertiesKHR where-        type StructFields VkExternalBufferPropertiesKHR =-             '["sType", "pNext", "externalMemoryProperties"] -- ' closing tick for hsc2hs-        type CUnionType VkExternalBufferPropertiesKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExternalBufferPropertiesKHR = 'True -- ' closing tick for hsc2hs-        type StructExtends VkExternalBufferPropertiesKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasVkSType VkExternalBufferPropertiesKHR where-        type VkSTypeMType VkExternalBufferPropertiesKHR = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalBufferPropertiesKHR, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkExternalBufferPropertiesKHR, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkExternalBufferPropertiesKHR, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkExternalBufferPropertiesKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkExternalBufferPropertiesKHR where-        type FieldType "sType" VkExternalBufferPropertiesKHR =-             VkStructureType-        type FieldOptional "sType" VkExternalBufferPropertiesKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExternalBufferPropertiesKHR =-             #{offset VkExternalBufferPropertiesKHR, sType}-        type FieldIsArray "sType" VkExternalBufferPropertiesKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalBufferPropertiesKHR, sType}--instance CanReadField "sType" VkExternalBufferPropertiesKHR where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance {-# OVERLAPPING #-}-         HasVkPNext VkExternalBufferPropertiesKHR where-        type VkPNextMType VkExternalBufferPropertiesKHR = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalBufferPropertiesKHR, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkExternalBufferPropertiesKHR, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkExternalBufferPropertiesKHR, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkExternalBufferPropertiesKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExternalBufferPropertiesKHR where-        type FieldType "pNext" VkExternalBufferPropertiesKHR = Ptr Void-        type FieldOptional "pNext" VkExternalBufferPropertiesKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExternalBufferPropertiesKHR =-             #{offset VkExternalBufferPropertiesKHR, pNext}-        type FieldIsArray "pNext" VkExternalBufferPropertiesKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalBufferPropertiesKHR, pNext}--instance CanReadField "pNext" VkExternalBufferPropertiesKHR where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance {-# OVERLAPPING #-}-         HasVkExternalMemoryProperties VkExternalBufferPropertiesKHR where-        type VkExternalMemoryPropertiesMType VkExternalBufferPropertiesKHR-             = VkExternalMemoryPropertiesKHR--        {-# NOINLINE vkExternalMemoryProperties #-}-        vkExternalMemoryProperties x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalBufferPropertiesKHR, externalMemoryProperties})--        {-# INLINE vkExternalMemoryPropertiesByteOffset #-}-        vkExternalMemoryPropertiesByteOffset ~_-          = #{offset VkExternalBufferPropertiesKHR, externalMemoryProperties}--        {-# INLINE readVkExternalMemoryProperties #-}-        readVkExternalMemoryProperties p-          = peekByteOff p #{offset VkExternalBufferPropertiesKHR, externalMemoryProperties}--        {-# INLINE writeVkExternalMemoryProperties #-}-        writeVkExternalMemoryProperties p-          = pokeByteOff p #{offset VkExternalBufferPropertiesKHR, externalMemoryProperties}--instance {-# OVERLAPPING #-}-         HasField "externalMemoryProperties" VkExternalBufferPropertiesKHR-         where-        type FieldType "externalMemoryProperties"-               VkExternalBufferPropertiesKHR-             = VkExternalMemoryPropertiesKHR-        type FieldOptional "externalMemoryProperties"-               VkExternalBufferPropertiesKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "externalMemoryProperties"-               VkExternalBufferPropertiesKHR-             =-             #{offset VkExternalBufferPropertiesKHR, externalMemoryProperties}-        type FieldIsArray "externalMemoryProperties"-               VkExternalBufferPropertiesKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalBufferPropertiesKHR, externalMemoryProperties}--instance CanReadField "externalMemoryProperties"-           VkExternalBufferPropertiesKHR-         where-        {-# INLINE getField #-}-        getField = vkExternalMemoryProperties--        {-# INLINE readField #-}-        readField = readVkExternalMemoryProperties--instance Show VkExternalBufferPropertiesKHR where-        showsPrec d x-          = showString "VkExternalBufferPropertiesKHR {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkExternalMemoryProperties = " .-                            showsPrec d (vkExternalMemoryProperties x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExternalFenceProperties.hsc view
@@ -0,0 +1,284 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkExternalFenceProperties+       (VkExternalFenceProperties(..)) where+import           Foreign.Storable                                          (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkExternalFenceFeatureFlags    (VkExternalFenceFeatureFlags)+import           Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlags (VkExternalFenceHandleTypeFlags)+import           Graphics.Vulkan.Types.Enum.VkStructureType                (VkStructureType)+import           System.IO.Unsafe                                          (unsafeDupablePerformIO)++-- | > typedef struct VkExternalFenceProperties {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;+--   >     VkExternalFenceHandleTypeFlags compatibleHandleTypes;+--   >     VkExternalFenceFeatureFlags externalFenceFeatures;+--   > } VkExternalFenceProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkExternalFenceProperties.html VkExternalFenceProperties registry at www.khronos.org>+data VkExternalFenceProperties = VkExternalFenceProperties## Addr##+                                                            ByteArray##++instance Eq VkExternalFenceProperties where+        (VkExternalFenceProperties## a _) ==+          x@(VkExternalFenceProperties## b _) = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkExternalFenceProperties where+        (VkExternalFenceProperties## a _) `compare`+          x@(VkExternalFenceProperties## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkExternalFenceProperties where+        sizeOf ~_ = #{size VkExternalFenceProperties}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkExternalFenceProperties}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkExternalFenceProperties where+        unsafeAddr (VkExternalFenceProperties## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkExternalFenceProperties## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkExternalFenceProperties## (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExternalFenceProperties where+        type StructFields VkExternalFenceProperties =+             '["sType", "pNext", "exportFromImportedHandleTypes", -- ' closing tick for hsc2hs+               "compatibleHandleTypes", "externalFenceFeatures"]+        type CUnionType VkExternalFenceProperties = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkExternalFenceProperties = 'True -- ' closing tick for hsc2hs+        type StructExtends VkExternalFenceProperties = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkExternalFenceProperties where+        type FieldType "sType" VkExternalFenceProperties = VkStructureType+        type FieldOptional "sType" VkExternalFenceProperties = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkExternalFenceProperties =+             #{offset VkExternalFenceProperties, sType}+        type FieldIsArray "sType" VkExternalFenceProperties = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalFenceProperties, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkExternalFenceProperties where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalFenceProperties, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalFenceProperties, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkExternalFenceProperties where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalFenceProperties, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkExternalFenceProperties where+        type FieldType "pNext" VkExternalFenceProperties = Ptr Void+        type FieldOptional "pNext" VkExternalFenceProperties = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkExternalFenceProperties =+             #{offset VkExternalFenceProperties, pNext}+        type FieldIsArray "pNext" VkExternalFenceProperties = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalFenceProperties, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkExternalFenceProperties where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalFenceProperties, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalFenceProperties, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkExternalFenceProperties where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalFenceProperties, pNext}++instance {-# OVERLAPPING #-}+         HasField "exportFromImportedHandleTypes" VkExternalFenceProperties+         where+        type FieldType "exportFromImportedHandleTypes"+               VkExternalFenceProperties+             = VkExternalFenceHandleTypeFlags+        type FieldOptional "exportFromImportedHandleTypes"+               VkExternalFenceProperties+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "exportFromImportedHandleTypes"+               VkExternalFenceProperties+             =+             #{offset VkExternalFenceProperties, exportFromImportedHandleTypes}+        type FieldIsArray "exportFromImportedHandleTypes"+               VkExternalFenceProperties+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalFenceProperties, exportFromImportedHandleTypes}++instance {-# OVERLAPPING #-}+         CanReadField "exportFromImportedHandleTypes"+           VkExternalFenceProperties+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalFenceProperties, exportFromImportedHandleTypes})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalFenceProperties, exportFromImportedHandleTypes}++instance {-# OVERLAPPING #-}+         CanWriteField "exportFromImportedHandleTypes"+           VkExternalFenceProperties+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalFenceProperties, exportFromImportedHandleTypes}++instance {-# OVERLAPPING #-}+         HasField "compatibleHandleTypes" VkExternalFenceProperties where+        type FieldType "compatibleHandleTypes" VkExternalFenceProperties =+             VkExternalFenceHandleTypeFlags+        type FieldOptional "compatibleHandleTypes"+               VkExternalFenceProperties+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "compatibleHandleTypes" VkExternalFenceProperties+             =+             #{offset VkExternalFenceProperties, compatibleHandleTypes}+        type FieldIsArray "compatibleHandleTypes" VkExternalFenceProperties+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalFenceProperties, compatibleHandleTypes}++instance {-# OVERLAPPING #-}+         CanReadField "compatibleHandleTypes" VkExternalFenceProperties+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalFenceProperties, compatibleHandleTypes})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalFenceProperties, compatibleHandleTypes}++instance {-# OVERLAPPING #-}+         CanWriteField "compatibleHandleTypes" VkExternalFenceProperties+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalFenceProperties, compatibleHandleTypes}++instance {-# OVERLAPPING #-}+         HasField "externalFenceFeatures" VkExternalFenceProperties where+        type FieldType "externalFenceFeatures" VkExternalFenceProperties =+             VkExternalFenceFeatureFlags+        type FieldOptional "externalFenceFeatures"+               VkExternalFenceProperties+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "externalFenceFeatures" VkExternalFenceProperties+             =+             #{offset VkExternalFenceProperties, externalFenceFeatures}+        type FieldIsArray "externalFenceFeatures" VkExternalFenceProperties+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalFenceProperties, externalFenceFeatures}++instance {-# OVERLAPPING #-}+         CanReadField "externalFenceFeatures" VkExternalFenceProperties+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalFenceProperties, externalFenceFeatures})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalFenceProperties, externalFenceFeatures}++instance {-# OVERLAPPING #-}+         CanWriteField "externalFenceFeatures" VkExternalFenceProperties+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalFenceProperties, externalFenceFeatures}++instance Show VkExternalFenceProperties where+        showsPrec d x+          = showString "VkExternalFenceProperties {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "exportFromImportedHandleTypes = " .+                            showsPrec d (getField @"exportFromImportedHandleTypes" x) .+                              showString ", " .+                                showString "compatibleHandleTypes = " .+                                  showsPrec d (getField @"compatibleHandleTypes" x) .+                                    showString ", " .+                                      showString "externalFenceFeatures = " .+                                        showsPrec d (getField @"externalFenceFeatures" x) .+                                          showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExternalFencePropertiesKHR.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Struct.VkExternalFencePropertiesKHR+       (VkExternalFenceProperties(..), VkExternalFencePropertiesKHR) where+import           Graphics.Vulkan.Types.Struct.VkExternalFenceProperties (VkExternalFenceProperties (..))++-- | Alias for `VkExternalFenceProperties`+type VkExternalFencePropertiesKHR = VkExternalFenceProperties
− src-gen/Graphics/Vulkan/Types/Struct/VkExternalFencePropertiesKHR.hsc
@@ -1,350 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkExternalFencePropertiesKHR-       (VkExternalFencePropertiesKHR(..)) where-import           Foreign.Storable                                             (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkExternalFenceFeatureFlagsKHR    (VkExternalFenceFeatureFlagsKHR)-import           Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlagsKHR (VkExternalFenceHandleTypeFlagsKHR)-import           Graphics.Vulkan.Types.Enum.VkStructureType                   (VkStructureType)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                                             (unsafeDupablePerformIO)---- | > typedef struct VkExternalFencePropertiesKHR {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     VkExternalFenceHandleTypeFlagsKHR exportFromImportedHandleTypes;---   >     VkExternalFenceHandleTypeFlagsKHR compatibleHandleTypes;---   >     VkExternalFenceFeatureFlagsKHR externalFenceFeatures;---   > } VkExternalFencePropertiesKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExternalFencePropertiesKHR.html VkExternalFencePropertiesKHR registry at www.khronos.org>-data VkExternalFencePropertiesKHR = VkExternalFencePropertiesKHR## Addr##-                                                                  ByteArray##--instance Eq VkExternalFencePropertiesKHR where-        (VkExternalFencePropertiesKHR## a _) ==-          x@(VkExternalFencePropertiesKHR## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkExternalFencePropertiesKHR where-        (VkExternalFencePropertiesKHR## a _) `compare`-          x@(VkExternalFencePropertiesKHR## b _) = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkExternalFencePropertiesKHR where-        sizeOf ~_ = #{size VkExternalFencePropertiesKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkExternalFencePropertiesKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkExternalFencePropertiesKHR where-        unsafeAddr (VkExternalFencePropertiesKHR## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkExternalFencePropertiesKHR## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkExternalFencePropertiesKHR##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkExternalFencePropertiesKHR where-        type StructFields VkExternalFencePropertiesKHR =-             '["sType", "pNext", "exportFromImportedHandleTypes", -- ' closing tick for hsc2hs-               "compatibleHandleTypes", "externalFenceFeatures"]-        type CUnionType VkExternalFencePropertiesKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExternalFencePropertiesKHR = 'True -- ' closing tick for hsc2hs-        type StructExtends VkExternalFencePropertiesKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasVkSType VkExternalFencePropertiesKHR where-        type VkSTypeMType VkExternalFencePropertiesKHR = VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalFencePropertiesKHR, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkExternalFencePropertiesKHR, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkExternalFencePropertiesKHR, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkExternalFencePropertiesKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkExternalFencePropertiesKHR where-        type FieldType "sType" VkExternalFencePropertiesKHR =-             VkStructureType-        type FieldOptional "sType" VkExternalFencePropertiesKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExternalFencePropertiesKHR =-             #{offset VkExternalFencePropertiesKHR, sType}-        type FieldIsArray "sType" VkExternalFencePropertiesKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalFencePropertiesKHR, sType}--instance CanReadField "sType" VkExternalFencePropertiesKHR where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance {-# OVERLAPPING #-}-         HasVkPNext VkExternalFencePropertiesKHR where-        type VkPNextMType VkExternalFencePropertiesKHR = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalFencePropertiesKHR, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkExternalFencePropertiesKHR, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkExternalFencePropertiesKHR, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkExternalFencePropertiesKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExternalFencePropertiesKHR where-        type FieldType "pNext" VkExternalFencePropertiesKHR = Ptr Void-        type FieldOptional "pNext" VkExternalFencePropertiesKHR = 'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExternalFencePropertiesKHR =-             #{offset VkExternalFencePropertiesKHR, pNext}-        type FieldIsArray "pNext" VkExternalFencePropertiesKHR = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalFencePropertiesKHR, pNext}--instance CanReadField "pNext" VkExternalFencePropertiesKHR where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance {-# OVERLAPPING #-}-         HasVkExportFromImportedHandleTypes VkExternalFencePropertiesKHR-         where-        type VkExportFromImportedHandleTypesMType-               VkExternalFencePropertiesKHR-             = VkExternalFenceHandleTypeFlagsKHR--        {-# NOINLINE vkExportFromImportedHandleTypes #-}-        vkExportFromImportedHandleTypes x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalFencePropertiesKHR, exportFromImportedHandleTypes})--        {-# INLINE vkExportFromImportedHandleTypesByteOffset #-}-        vkExportFromImportedHandleTypesByteOffset ~_-          = #{offset VkExternalFencePropertiesKHR, exportFromImportedHandleTypes}--        {-# INLINE readVkExportFromImportedHandleTypes #-}-        readVkExportFromImportedHandleTypes p-          = peekByteOff p #{offset VkExternalFencePropertiesKHR, exportFromImportedHandleTypes}--        {-# INLINE writeVkExportFromImportedHandleTypes #-}-        writeVkExportFromImportedHandleTypes p-          = pokeByteOff p #{offset VkExternalFencePropertiesKHR, exportFromImportedHandleTypes}--instance {-# OVERLAPPING #-}-         HasField "exportFromImportedHandleTypes"-           VkExternalFencePropertiesKHR-         where-        type FieldType "exportFromImportedHandleTypes"-               VkExternalFencePropertiesKHR-             = VkExternalFenceHandleTypeFlagsKHR-        type FieldOptional "exportFromImportedHandleTypes"-               VkExternalFencePropertiesKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "exportFromImportedHandleTypes"-               VkExternalFencePropertiesKHR-             =-             #{offset VkExternalFencePropertiesKHR, exportFromImportedHandleTypes}-        type FieldIsArray "exportFromImportedHandleTypes"-               VkExternalFencePropertiesKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalFencePropertiesKHR, exportFromImportedHandleTypes}--instance CanReadField "exportFromImportedHandleTypes"-           VkExternalFencePropertiesKHR-         where-        {-# INLINE getField #-}-        getField = vkExportFromImportedHandleTypes--        {-# INLINE readField #-}-        readField = readVkExportFromImportedHandleTypes--instance {-# OVERLAPPING #-}-         HasVkCompatibleHandleTypes VkExternalFencePropertiesKHR where-        type VkCompatibleHandleTypesMType VkExternalFencePropertiesKHR =-             VkExternalFenceHandleTypeFlagsKHR--        {-# NOINLINE vkCompatibleHandleTypes #-}-        vkCompatibleHandleTypes x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalFencePropertiesKHR, compatibleHandleTypes})--        {-# INLINE vkCompatibleHandleTypesByteOffset #-}-        vkCompatibleHandleTypesByteOffset ~_-          = #{offset VkExternalFencePropertiesKHR, compatibleHandleTypes}--        {-# INLINE readVkCompatibleHandleTypes #-}-        readVkCompatibleHandleTypes p-          = peekByteOff p #{offset VkExternalFencePropertiesKHR, compatibleHandleTypes}--        {-# INLINE writeVkCompatibleHandleTypes #-}-        writeVkCompatibleHandleTypes p-          = pokeByteOff p #{offset VkExternalFencePropertiesKHR, compatibleHandleTypes}--instance {-# OVERLAPPING #-}-         HasField "compatibleHandleTypes" VkExternalFencePropertiesKHR where-        type FieldType "compatibleHandleTypes" VkExternalFencePropertiesKHR-             = VkExternalFenceHandleTypeFlagsKHR-        type FieldOptional "compatibleHandleTypes"-               VkExternalFencePropertiesKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "compatibleHandleTypes"-               VkExternalFencePropertiesKHR-             =-             #{offset VkExternalFencePropertiesKHR, compatibleHandleTypes}-        type FieldIsArray "compatibleHandleTypes"-               VkExternalFencePropertiesKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalFencePropertiesKHR, compatibleHandleTypes}--instance CanReadField "compatibleHandleTypes"-           VkExternalFencePropertiesKHR-         where-        {-# INLINE getField #-}-        getField = vkCompatibleHandleTypes--        {-# INLINE readField #-}-        readField = readVkCompatibleHandleTypes--instance {-# OVERLAPPING #-}-         HasVkExternalFenceFeatures VkExternalFencePropertiesKHR where-        type VkExternalFenceFeaturesMType VkExternalFencePropertiesKHR =-             VkExternalFenceFeatureFlagsKHR--        {-# NOINLINE vkExternalFenceFeatures #-}-        vkExternalFenceFeatures x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalFencePropertiesKHR, externalFenceFeatures})--        {-# INLINE vkExternalFenceFeaturesByteOffset #-}-        vkExternalFenceFeaturesByteOffset ~_-          = #{offset VkExternalFencePropertiesKHR, externalFenceFeatures}--        {-# INLINE readVkExternalFenceFeatures #-}-        readVkExternalFenceFeatures p-          = peekByteOff p #{offset VkExternalFencePropertiesKHR, externalFenceFeatures}--        {-# INLINE writeVkExternalFenceFeatures #-}-        writeVkExternalFenceFeatures p-          = pokeByteOff p #{offset VkExternalFencePropertiesKHR, externalFenceFeatures}--instance {-# OVERLAPPING #-}-         HasField "externalFenceFeatures" VkExternalFencePropertiesKHR where-        type FieldType "externalFenceFeatures" VkExternalFencePropertiesKHR-             = VkExternalFenceFeatureFlagsKHR-        type FieldOptional "externalFenceFeatures"-               VkExternalFencePropertiesKHR-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "externalFenceFeatures"-               VkExternalFencePropertiesKHR-             =-             #{offset VkExternalFencePropertiesKHR, externalFenceFeatures}-        type FieldIsArray "externalFenceFeatures"-               VkExternalFencePropertiesKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalFencePropertiesKHR, externalFenceFeatures}--instance CanReadField "externalFenceFeatures"-           VkExternalFencePropertiesKHR-         where-        {-# INLINE getField #-}-        getField = vkExternalFenceFeatures--        {-# INLINE readField #-}-        readField = readVkExternalFenceFeatures--instance Show VkExternalFencePropertiesKHR where-        showsPrec d x-          = showString "VkExternalFencePropertiesKHR {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkExportFromImportedHandleTypes = " .-                            showsPrec d (vkExportFromImportedHandleTypes x) .-                              showString ", " .-                                showString "vkCompatibleHandleTypes = " .-                                  showsPrec d (vkCompatibleHandleTypes x) .-                                    showString ", " .-                                      showString "vkExternalFenceFeatures = " .-                                        showsPrec d (vkExternalFenceFeatures x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExternalFormatANDROID.hsc view
@@ -0,0 +1,182 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkExternalFormatANDROID+       (VkExternalFormatANDROID(..)) where+import           Foreign.Storable                                                (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkStructureType                      (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkImageCreateInfo                  (VkImageCreateInfo)+import           Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionCreateInfo (VkSamplerYcbcrConversionCreateInfo)+import           System.IO.Unsafe                                                (unsafeDupablePerformIO)++-- | > typedef struct VkExternalFormatANDROID {+--   >     VkStructureType sType;+--   >     void*                              pNext;+--   >     uint64_t                           externalFormat;+--   > } VkExternalFormatANDROID;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkExternalFormatANDROID.html VkExternalFormatANDROID registry at www.khronos.org>+data VkExternalFormatANDROID = VkExternalFormatANDROID## Addr##+                                                        ByteArray##++instance Eq VkExternalFormatANDROID where+        (VkExternalFormatANDROID## a _) == x@(VkExternalFormatANDROID## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkExternalFormatANDROID where+        (VkExternalFormatANDROID## a _) `compare`+          x@(VkExternalFormatANDROID## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkExternalFormatANDROID where+        sizeOf ~_ = #{size VkExternalFormatANDROID}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkExternalFormatANDROID}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkExternalFormatANDROID where+        unsafeAddr (VkExternalFormatANDROID## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkExternalFormatANDROID## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkExternalFormatANDROID## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExternalFormatANDROID where+        type StructFields VkExternalFormatANDROID =+             '["sType", "pNext", "externalFormat"] -- ' closing tick for hsc2hs+        type CUnionType VkExternalFormatANDROID = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkExternalFormatANDROID = 'False -- ' closing tick for hsc2hs+        type StructExtends VkExternalFormatANDROID =+             '[VkImageCreateInfo, VkSamplerYcbcrConversionCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkExternalFormatANDROID where+        type FieldType "sType" VkExternalFormatANDROID = VkStructureType+        type FieldOptional "sType" VkExternalFormatANDROID = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkExternalFormatANDROID =+             #{offset VkExternalFormatANDROID, sType}+        type FieldIsArray "sType" VkExternalFormatANDROID = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkExternalFormatANDROID, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkExternalFormatANDROID where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalFormatANDROID, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalFormatANDROID, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkExternalFormatANDROID where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalFormatANDROID, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkExternalFormatANDROID where+        type FieldType "pNext" VkExternalFormatANDROID = Ptr Void+        type FieldOptional "pNext" VkExternalFormatANDROID = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkExternalFormatANDROID =+             #{offset VkExternalFormatANDROID, pNext}+        type FieldIsArray "pNext" VkExternalFormatANDROID = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkExternalFormatANDROID, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkExternalFormatANDROID where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalFormatANDROID, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalFormatANDROID, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkExternalFormatANDROID where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalFormatANDROID, pNext}++instance {-# OVERLAPPING #-}+         HasField "externalFormat" VkExternalFormatANDROID where+        type FieldType "externalFormat" VkExternalFormatANDROID = Word64+        type FieldOptional "externalFormat" VkExternalFormatANDROID =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "externalFormat" VkExternalFormatANDROID =+             #{offset VkExternalFormatANDROID, externalFormat}+        type FieldIsArray "externalFormat" VkExternalFormatANDROID = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalFormatANDROID, externalFormat}++instance {-# OVERLAPPING #-}+         CanReadField "externalFormat" VkExternalFormatANDROID where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalFormatANDROID, externalFormat})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalFormatANDROID, externalFormat}++instance {-# OVERLAPPING #-}+         CanWriteField "externalFormat" VkExternalFormatANDROID where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalFormatANDROID, externalFormat}++instance Show VkExternalFormatANDROID where+        showsPrec d x+          = showString "VkExternalFormatANDROID {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "externalFormat = " .+                            showsPrec d (getField @"externalFormat" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExternalImageFormatProperties.hsc view
@@ -0,0 +1,201 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkExternalImageFormatProperties+       (VkExternalImageFormatProperties(..)) where+import           Foreign.Storable                                        (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkStructureType              (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkExternalMemoryProperties (VkExternalMemoryProperties)+import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties2   (VkImageFormatProperties2)+import           System.IO.Unsafe                                        (unsafeDupablePerformIO)++-- | > typedef struct VkExternalImageFormatProperties {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     VkExternalMemoryProperties externalMemoryProperties;+--   > } VkExternalImageFormatProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkExternalImageFormatProperties.html VkExternalImageFormatProperties registry at www.khronos.org>+data VkExternalImageFormatProperties = VkExternalImageFormatProperties## Addr##+                                                                        ByteArray##++instance Eq VkExternalImageFormatProperties where+        (VkExternalImageFormatProperties## a _) ==+          x@(VkExternalImageFormatProperties## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkExternalImageFormatProperties where+        (VkExternalImageFormatProperties## a _) `compare`+          x@(VkExternalImageFormatProperties## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkExternalImageFormatProperties where+        sizeOf ~_ = #{size VkExternalImageFormatProperties}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkExternalImageFormatProperties}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkExternalImageFormatProperties where+        unsafeAddr (VkExternalImageFormatProperties## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkExternalImageFormatProperties## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkExternalImageFormatProperties##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExternalImageFormatProperties where+        type StructFields VkExternalImageFormatProperties =+             '["sType", "pNext", "externalMemoryProperties"] -- ' closing tick for hsc2hs+        type CUnionType VkExternalImageFormatProperties = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkExternalImageFormatProperties = 'True -- ' closing tick for hsc2hs+        type StructExtends VkExternalImageFormatProperties =+             '[VkImageFormatProperties2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkExternalImageFormatProperties where+        type FieldType "sType" VkExternalImageFormatProperties =+             VkStructureType+        type FieldOptional "sType" VkExternalImageFormatProperties = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkExternalImageFormatProperties =+             #{offset VkExternalImageFormatProperties, sType}+        type FieldIsArray "sType" VkExternalImageFormatProperties = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalImageFormatProperties, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkExternalImageFormatProperties where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatProperties, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalImageFormatProperties, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkExternalImageFormatProperties where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalImageFormatProperties, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkExternalImageFormatProperties where+        type FieldType "pNext" VkExternalImageFormatProperties = Ptr Void+        type FieldOptional "pNext" VkExternalImageFormatProperties = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkExternalImageFormatProperties =+             #{offset VkExternalImageFormatProperties, pNext}+        type FieldIsArray "pNext" VkExternalImageFormatProperties = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalImageFormatProperties, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkExternalImageFormatProperties where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatProperties, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalImageFormatProperties, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkExternalImageFormatProperties where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalImageFormatProperties, pNext}++instance {-# OVERLAPPING #-}+         HasField "externalMemoryProperties" VkExternalImageFormatProperties+         where+        type FieldType "externalMemoryProperties"+               VkExternalImageFormatProperties+             = VkExternalMemoryProperties+        type FieldOptional "externalMemoryProperties"+               VkExternalImageFormatProperties+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "externalMemoryProperties"+               VkExternalImageFormatProperties+             =+             #{offset VkExternalImageFormatProperties, externalMemoryProperties}+        type FieldIsArray "externalMemoryProperties"+               VkExternalImageFormatProperties+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalImageFormatProperties, externalMemoryProperties}++instance {-# OVERLAPPING #-}+         CanReadField "externalMemoryProperties"+           VkExternalImageFormatProperties+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatProperties, externalMemoryProperties})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalImageFormatProperties, externalMemoryProperties}++instance {-# OVERLAPPING #-}+         CanWriteField "externalMemoryProperties"+           VkExternalImageFormatProperties+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalImageFormatProperties, externalMemoryProperties}++instance Show VkExternalImageFormatProperties where+        showsPrec d x+          = showString "VkExternalImageFormatProperties {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "externalMemoryProperties = " .+                            showsPrec d (getField @"externalMemoryProperties" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExternalImageFormatPropertiesKHR.hs view
@@ -0,0 +1,11 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Struct.VkExternalImageFormatPropertiesKHR+       (VkExternalImageFormatProperties(..),+        VkExternalImageFormatPropertiesKHR)+       where+import           Graphics.Vulkan.Types.Struct.VkExternalImageFormatProperties (VkExternalImageFormatProperties (..))++-- | Alias for `VkExternalImageFormatProperties`+type VkExternalImageFormatPropertiesKHR =+     VkExternalImageFormatProperties
− src-gen/Graphics/Vulkan/Types/Struct/VkExternalImageFormatPropertiesKHR.hsc
@@ -1,245 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkExternalImageFormatPropertiesKHR-       (VkExternalImageFormatPropertiesKHR(..)) where-import           Foreign.Storable                                           (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkStructureType                 (VkStructureType)-import           Graphics.Vulkan.Types.Struct.VkExternalMemoryPropertiesKHR (VkExternalMemoryPropertiesKHR)-import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties2KHR   (VkImageFormatProperties2KHR)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                                           (unsafeDupablePerformIO)---- | > typedef struct VkExternalImageFormatPropertiesKHR {---   >     VkStructureType sType;---   >     void*                            pNext;---   >     VkExternalMemoryPropertiesKHR externalMemoryProperties;---   > } VkExternalImageFormatPropertiesKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExternalImageFormatPropertiesKHR.html VkExternalImageFormatPropertiesKHR registry at www.khronos.org>-data VkExternalImageFormatPropertiesKHR = VkExternalImageFormatPropertiesKHR## Addr##-                                                                              ByteArray##--instance Eq VkExternalImageFormatPropertiesKHR where-        (VkExternalImageFormatPropertiesKHR## a _) ==-          x@(VkExternalImageFormatPropertiesKHR## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkExternalImageFormatPropertiesKHR where-        (VkExternalImageFormatPropertiesKHR## a _) `compare`-          x@(VkExternalImageFormatPropertiesKHR## b _)-          = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkExternalImageFormatPropertiesKHR where-        sizeOf ~_ = #{size VkExternalImageFormatPropertiesKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkExternalImageFormatPropertiesKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkExternalImageFormatPropertiesKHR where-        unsafeAddr (VkExternalImageFormatPropertiesKHR## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkExternalImageFormatPropertiesKHR## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkExternalImageFormatPropertiesKHR##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkExternalImageFormatPropertiesKHR where-        type StructFields VkExternalImageFormatPropertiesKHR =-             '["sType", "pNext", "externalMemoryProperties"] -- ' closing tick for hsc2hs-        type CUnionType VkExternalImageFormatPropertiesKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExternalImageFormatPropertiesKHR = 'True -- ' closing tick for hsc2hs-        type StructExtends VkExternalImageFormatPropertiesKHR =-             '[VkImageFormatProperties2KHR] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasVkSType VkExternalImageFormatPropertiesKHR where-        type VkSTypeMType VkExternalImageFormatPropertiesKHR =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatPropertiesKHR, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkExternalImageFormatPropertiesKHR, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkExternalImageFormatPropertiesKHR, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkExternalImageFormatPropertiesKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkExternalImageFormatPropertiesKHR where-        type FieldType "sType" VkExternalImageFormatPropertiesKHR =-             VkStructureType-        type FieldOptional "sType" VkExternalImageFormatPropertiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExternalImageFormatPropertiesKHR =-             #{offset VkExternalImageFormatPropertiesKHR, sType}-        type FieldIsArray "sType" VkExternalImageFormatPropertiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalImageFormatPropertiesKHR, sType}--instance CanReadField "sType" VkExternalImageFormatPropertiesKHR-         where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance {-# OVERLAPPING #-}-         HasVkPNext VkExternalImageFormatPropertiesKHR where-        type VkPNextMType VkExternalImageFormatPropertiesKHR = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatPropertiesKHR, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkExternalImageFormatPropertiesKHR, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkExternalImageFormatPropertiesKHR, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkExternalImageFormatPropertiesKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExternalImageFormatPropertiesKHR where-        type FieldType "pNext" VkExternalImageFormatPropertiesKHR =-             Ptr Void-        type FieldOptional "pNext" VkExternalImageFormatPropertiesKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExternalImageFormatPropertiesKHR =-             #{offset VkExternalImageFormatPropertiesKHR, pNext}-        type FieldIsArray "pNext" VkExternalImageFormatPropertiesKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalImageFormatPropertiesKHR, pNext}--instance CanReadField "pNext" VkExternalImageFormatPropertiesKHR-         where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance {-# OVERLAPPING #-}-         HasVkExternalMemoryProperties VkExternalImageFormatPropertiesKHR-         where-        type VkExternalMemoryPropertiesMType-               VkExternalImageFormatPropertiesKHR-             = VkExternalMemoryPropertiesKHR--        {-# NOINLINE vkExternalMemoryProperties #-}-        vkExternalMemoryProperties x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatPropertiesKHR, externalMemoryProperties})--        {-# INLINE vkExternalMemoryPropertiesByteOffset #-}-        vkExternalMemoryPropertiesByteOffset ~_-          = #{offset VkExternalImageFormatPropertiesKHR, externalMemoryProperties}--        {-# INLINE readVkExternalMemoryProperties #-}-        readVkExternalMemoryProperties p-          = peekByteOff p #{offset VkExternalImageFormatPropertiesKHR, externalMemoryProperties}--        {-# INLINE writeVkExternalMemoryProperties #-}-        writeVkExternalMemoryProperties p-          = pokeByteOff p #{offset VkExternalImageFormatPropertiesKHR, externalMemoryProperties}--instance {-# OVERLAPPING #-}-         HasField "externalMemoryProperties"-           VkExternalImageFormatPropertiesKHR-         where-        type FieldType "externalMemoryProperties"-               VkExternalImageFormatPropertiesKHR-             = VkExternalMemoryPropertiesKHR-        type FieldOptional "externalMemoryProperties"-               VkExternalImageFormatPropertiesKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "externalMemoryProperties"-               VkExternalImageFormatPropertiesKHR-             =-             #{offset VkExternalImageFormatPropertiesKHR, externalMemoryProperties}-        type FieldIsArray "externalMemoryProperties"-               VkExternalImageFormatPropertiesKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalImageFormatPropertiesKHR, externalMemoryProperties}--instance CanReadField "externalMemoryProperties"-           VkExternalImageFormatPropertiesKHR-         where-        {-# INLINE getField #-}-        getField = vkExternalMemoryProperties--        {-# INLINE readField #-}-        readField = readVkExternalMemoryProperties--instance Show VkExternalImageFormatPropertiesKHR where-        showsPrec d x-          = showString "VkExternalImageFormatPropertiesKHR {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkExternalMemoryProperties = " .-                            showsPrec d (vkExternalMemoryProperties x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkExternalImageFormatPropertiesNV.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkExternalImageFormatPropertiesNV        (VkExternalImageFormatPropertiesNV(..)) where@@ -15,7 +16,6 @@ import           Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlagsNV    (VkExternalMemoryFeatureFlagsNV) import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsNV (VkExternalMemoryHandleTypeFlagsNV) import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties         (VkImageFormatProperties)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                             (unsafeDupablePerformIO)  -- | > typedef struct VkExternalImageFormatPropertiesNV {@@ -25,7 +25,7 @@ --   >     VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes; --   > } VkExternalImageFormatPropertiesNV; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExternalImageFormatPropertiesNV.html VkExternalImageFormatPropertiesNV registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkExternalImageFormatPropertiesNV.html VkExternalImageFormatPropertiesNV registry at www.khronos.org> data VkExternalImageFormatPropertiesNV = VkExternalImageFormatPropertiesNV## Addr##                                                                             ByteArray## @@ -81,28 +81,6 @@         type StructExtends VkExternalImageFormatPropertiesNV = '[] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkImageFormatProperties VkExternalImageFormatPropertiesNV where-        type VkImageFormatPropertiesMType VkExternalImageFormatPropertiesNV-             = VkImageFormatProperties--        {-# NOINLINE vkImageFormatProperties #-}-        vkImageFormatProperties x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatPropertiesNV, imageFormatProperties})--        {-# INLINE vkImageFormatPropertiesByteOffset #-}-        vkImageFormatPropertiesByteOffset ~_-          = #{offset VkExternalImageFormatPropertiesNV, imageFormatProperties}--        {-# INLINE readVkImageFormatProperties #-}-        readVkImageFormatProperties p-          = peekByteOff p #{offset VkExternalImageFormatPropertiesNV, imageFormatProperties}--        {-# INLINE writeVkImageFormatProperties #-}-        writeVkImageFormatProperties p-          = pokeByteOff p #{offset VkExternalImageFormatPropertiesNV, imageFormatProperties}--instance {-# OVERLAPPING #-}          HasField "imageFormatProperties" VkExternalImageFormatPropertiesNV          where         type FieldType "imageFormatProperties"@@ -126,37 +104,26 @@         fieldOffset           = #{offset VkExternalImageFormatPropertiesNV, imageFormatProperties} -instance CanReadField "imageFormatProperties"+instance {-# OVERLAPPING #-}+         CanReadField "imageFormatProperties"            VkExternalImageFormatPropertiesNV          where-        {-# INLINE getField #-}-        getField = vkImageFormatProperties+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatPropertiesNV, imageFormatProperties})          {-# INLINE readField #-}-        readField = readVkImageFormatProperties+        readField p+          = peekByteOff p #{offset VkExternalImageFormatPropertiesNV, imageFormatProperties}  instance {-# OVERLAPPING #-}-         HasVkExternalMemoryFeatures VkExternalImageFormatPropertiesNV where-        type VkExternalMemoryFeaturesMType-               VkExternalImageFormatPropertiesNV-             = VkExternalMemoryFeatureFlagsNV--        {-# NOINLINE vkExternalMemoryFeatures #-}-        vkExternalMemoryFeatures x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatPropertiesNV, externalMemoryFeatures})--        {-# INLINE vkExternalMemoryFeaturesByteOffset #-}-        vkExternalMemoryFeaturesByteOffset ~_-          = #{offset VkExternalImageFormatPropertiesNV, externalMemoryFeatures}--        {-# INLINE readVkExternalMemoryFeatures #-}-        readVkExternalMemoryFeatures p-          = peekByteOff p #{offset VkExternalImageFormatPropertiesNV, externalMemoryFeatures}--        {-# INLINE writeVkExternalMemoryFeatures #-}-        writeVkExternalMemoryFeatures p-          = pokeByteOff p #{offset VkExternalImageFormatPropertiesNV, externalMemoryFeatures}+         CanWriteField "imageFormatProperties"+           VkExternalImageFormatPropertiesNV+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalImageFormatPropertiesNV, imageFormatProperties}  instance {-# OVERLAPPING #-}          HasField "externalMemoryFeatures" VkExternalImageFormatPropertiesNV@@ -182,39 +149,26 @@         fieldOffset           = #{offset VkExternalImageFormatPropertiesNV, externalMemoryFeatures} -instance CanReadField "externalMemoryFeatures"+instance {-# OVERLAPPING #-}+         CanReadField "externalMemoryFeatures"            VkExternalImageFormatPropertiesNV          where-        {-# INLINE getField #-}-        getField = vkExternalMemoryFeatures+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatPropertiesNV, externalMemoryFeatures})          {-# INLINE readField #-}-        readField = readVkExternalMemoryFeatures+        readField p+          = peekByteOff p #{offset VkExternalImageFormatPropertiesNV, externalMemoryFeatures}  instance {-# OVERLAPPING #-}-         HasVkExportFromImportedHandleTypes+         CanWriteField "externalMemoryFeatures"            VkExternalImageFormatPropertiesNV          where-        type VkExportFromImportedHandleTypesMType-               VkExternalImageFormatPropertiesNV-             = VkExternalMemoryHandleTypeFlagsNV--        {-# NOINLINE vkExportFromImportedHandleTypes #-}-        vkExportFromImportedHandleTypes x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatPropertiesNV, exportFromImportedHandleTypes})--        {-# INLINE vkExportFromImportedHandleTypesByteOffset #-}-        vkExportFromImportedHandleTypesByteOffset ~_-          = #{offset VkExternalImageFormatPropertiesNV, exportFromImportedHandleTypes}--        {-# INLINE readVkExportFromImportedHandleTypes #-}-        readVkExportFromImportedHandleTypes p-          = peekByteOff p #{offset VkExternalImageFormatPropertiesNV, exportFromImportedHandleTypes}--        {-# INLINE writeVkExportFromImportedHandleTypes #-}-        writeVkExportFromImportedHandleTypes p-          = pokeByteOff p #{offset VkExternalImageFormatPropertiesNV, exportFromImportedHandleTypes}+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalImageFormatPropertiesNV, externalMemoryFeatures}  instance {-# OVERLAPPING #-}          HasField "exportFromImportedHandleTypes"@@ -241,36 +195,26 @@         fieldOffset           = #{offset VkExternalImageFormatPropertiesNV, exportFromImportedHandleTypes} -instance CanReadField "exportFromImportedHandleTypes"+instance {-# OVERLAPPING #-}+         CanReadField "exportFromImportedHandleTypes"            VkExternalImageFormatPropertiesNV          where-        {-# INLINE getField #-}-        getField = vkExportFromImportedHandleTypes+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatPropertiesNV, exportFromImportedHandleTypes})          {-# INLINE readField #-}-        readField = readVkExportFromImportedHandleTypes+        readField p+          = peekByteOff p #{offset VkExternalImageFormatPropertiesNV, exportFromImportedHandleTypes}  instance {-# OVERLAPPING #-}-         HasVkCompatibleHandleTypes VkExternalImageFormatPropertiesNV where-        type VkCompatibleHandleTypesMType VkExternalImageFormatPropertiesNV-             = VkExternalMemoryHandleTypeFlagsNV--        {-# NOINLINE vkCompatibleHandleTypes #-}-        vkCompatibleHandleTypes x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatPropertiesNV, compatibleHandleTypes})--        {-# INLINE vkCompatibleHandleTypesByteOffset #-}-        vkCompatibleHandleTypesByteOffset ~_-          = #{offset VkExternalImageFormatPropertiesNV, compatibleHandleTypes}--        {-# INLINE readVkCompatibleHandleTypes #-}-        readVkCompatibleHandleTypes p-          = peekByteOff p #{offset VkExternalImageFormatPropertiesNV, compatibleHandleTypes}--        {-# INLINE writeVkCompatibleHandleTypes #-}-        writeVkCompatibleHandleTypes p-          = pokeByteOff p #{offset VkExternalImageFormatPropertiesNV, compatibleHandleTypes}+         CanWriteField "exportFromImportedHandleTypes"+           VkExternalImageFormatPropertiesNV+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalImageFormatPropertiesNV, exportFromImportedHandleTypes}  instance {-# OVERLAPPING #-}          HasField "compatibleHandleTypes" VkExternalImageFormatPropertiesNV@@ -296,26 +240,38 @@         fieldOffset           = #{offset VkExternalImageFormatPropertiesNV, compatibleHandleTypes} -instance CanReadField "compatibleHandleTypes"+instance {-# OVERLAPPING #-}+         CanReadField "compatibleHandleTypes"            VkExternalImageFormatPropertiesNV          where-        {-# INLINE getField #-}-        getField = vkCompatibleHandleTypes+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatPropertiesNV, compatibleHandleTypes})          {-# INLINE readField #-}-        readField = readVkCompatibleHandleTypes+        readField p+          = peekByteOff p #{offset VkExternalImageFormatPropertiesNV, compatibleHandleTypes} +instance {-# OVERLAPPING #-}+         CanWriteField "compatibleHandleTypes"+           VkExternalImageFormatPropertiesNV+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalImageFormatPropertiesNV, compatibleHandleTypes}+ instance Show VkExternalImageFormatPropertiesNV where         showsPrec d x           = showString "VkExternalImageFormatPropertiesNV {" .-              showString "vkImageFormatProperties = " .-                showsPrec d (vkImageFormatProperties x) .+              showString "imageFormatProperties = " .+                showsPrec d (getField @"imageFormatProperties" x) .                   showString ", " .-                    showString "vkExternalMemoryFeatures = " .-                      showsPrec d (vkExternalMemoryFeatures x) .+                    showString "externalMemoryFeatures = " .+                      showsPrec d (getField @"externalMemoryFeatures" x) .                         showString ", " .-                          showString "vkExportFromImportedHandleTypes = " .-                            showsPrec d (vkExportFromImportedHandleTypes x) .+                          showString "exportFromImportedHandleTypes = " .+                            showsPrec d (getField @"exportFromImportedHandleTypes" x) .                               showString ", " .-                                showString "vkCompatibleHandleTypes = " .-                                  showsPrec d (vkCompatibleHandleTypes x) . showChar '}'+                                showString "compatibleHandleTypes = " .+                                  showsPrec d (getField @"compatibleHandleTypes" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExternalMemoryBufferCreateInfo.hsc view
@@ -0,0 +1,194 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkExternalMemoryBufferCreateInfo+       (VkExternalMemoryBufferCreateInfo(..)) where+import           Foreign.Storable                                           (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags (VkExternalMemoryHandleTypeFlags)+import           Graphics.Vulkan.Types.Enum.VkStructureType                 (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkBufferCreateInfo            (VkBufferCreateInfo)+import           System.IO.Unsafe                                           (unsafeDupablePerformIO)++-- | > typedef struct VkExternalMemoryBufferCreateInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkExternalMemoryHandleTypeFlags handleTypes;+--   > } VkExternalMemoryBufferCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkExternalMemoryBufferCreateInfo.html VkExternalMemoryBufferCreateInfo registry at www.khronos.org>+data VkExternalMemoryBufferCreateInfo = VkExternalMemoryBufferCreateInfo## Addr##+                                                                          ByteArray##++instance Eq VkExternalMemoryBufferCreateInfo where+        (VkExternalMemoryBufferCreateInfo## a _) ==+          x@(VkExternalMemoryBufferCreateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkExternalMemoryBufferCreateInfo where+        (VkExternalMemoryBufferCreateInfo## a _) `compare`+          x@(VkExternalMemoryBufferCreateInfo## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkExternalMemoryBufferCreateInfo where+        sizeOf ~_ = #{size VkExternalMemoryBufferCreateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkExternalMemoryBufferCreateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkExternalMemoryBufferCreateInfo where+        unsafeAddr (VkExternalMemoryBufferCreateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkExternalMemoryBufferCreateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkExternalMemoryBufferCreateInfo##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExternalMemoryBufferCreateInfo where+        type StructFields VkExternalMemoryBufferCreateInfo =+             '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs+        type CUnionType VkExternalMemoryBufferCreateInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkExternalMemoryBufferCreateInfo = 'False -- ' closing tick for hsc2hs+        type StructExtends VkExternalMemoryBufferCreateInfo =+             '[VkBufferCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkExternalMemoryBufferCreateInfo where+        type FieldType "sType" VkExternalMemoryBufferCreateInfo =+             VkStructureType+        type FieldOptional "sType" VkExternalMemoryBufferCreateInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkExternalMemoryBufferCreateInfo =+             #{offset VkExternalMemoryBufferCreateInfo, sType}+        type FieldIsArray "sType" VkExternalMemoryBufferCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalMemoryBufferCreateInfo, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkExternalMemoryBufferCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryBufferCreateInfo, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalMemoryBufferCreateInfo, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkExternalMemoryBufferCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalMemoryBufferCreateInfo, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkExternalMemoryBufferCreateInfo where+        type FieldType "pNext" VkExternalMemoryBufferCreateInfo = Ptr Void+        type FieldOptional "pNext" VkExternalMemoryBufferCreateInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkExternalMemoryBufferCreateInfo =+             #{offset VkExternalMemoryBufferCreateInfo, pNext}+        type FieldIsArray "pNext" VkExternalMemoryBufferCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalMemoryBufferCreateInfo, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkExternalMemoryBufferCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryBufferCreateInfo, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalMemoryBufferCreateInfo, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkExternalMemoryBufferCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalMemoryBufferCreateInfo, pNext}++instance {-# OVERLAPPING #-}+         HasField "handleTypes" VkExternalMemoryBufferCreateInfo where+        type FieldType "handleTypes" VkExternalMemoryBufferCreateInfo =+             VkExternalMemoryHandleTypeFlags+        type FieldOptional "handleTypes" VkExternalMemoryBufferCreateInfo =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "handleTypes" VkExternalMemoryBufferCreateInfo =+             #{offset VkExternalMemoryBufferCreateInfo, handleTypes}+        type FieldIsArray "handleTypes" VkExternalMemoryBufferCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalMemoryBufferCreateInfo, handleTypes}++instance {-# OVERLAPPING #-}+         CanReadField "handleTypes" VkExternalMemoryBufferCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryBufferCreateInfo, handleTypes})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalMemoryBufferCreateInfo, handleTypes}++instance {-# OVERLAPPING #-}+         CanWriteField "handleTypes" VkExternalMemoryBufferCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalMemoryBufferCreateInfo, handleTypes}++instance Show VkExternalMemoryBufferCreateInfo where+        showsPrec d x+          = showString "VkExternalMemoryBufferCreateInfo {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "handleTypes = " .+                            showsPrec d (getField @"handleTypes" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExternalMemoryBufferCreateInfoKHR.hs view
@@ -0,0 +1,11 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Struct.VkExternalMemoryBufferCreateInfoKHR+       (VkExternalMemoryBufferCreateInfo(..),+        VkExternalMemoryBufferCreateInfoKHR)+       where+import           Graphics.Vulkan.Types.Struct.VkExternalMemoryBufferCreateInfo (VkExternalMemoryBufferCreateInfo (..))++-- | Alias for `VkExternalMemoryBufferCreateInfo`+type VkExternalMemoryBufferCreateInfoKHR =+     VkExternalMemoryBufferCreateInfo
− src-gen/Graphics/Vulkan/Types/Struct/VkExternalMemoryBufferCreateInfoKHR.hsc
@@ -1,255 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkExternalMemoryBufferCreateInfoKHR-       (VkExternalMemoryBufferCreateInfoKHR(..)) where-import           Foreign.Storable                                              (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsKHR (VkExternalMemoryHandleTypeFlagsKHR)-import           Graphics.Vulkan.Types.Enum.VkStructureType                    (VkStructureType)-import           Graphics.Vulkan.Types.Struct.VkBufferCreateInfo               (VkBufferCreateInfo)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                                              (unsafeDupablePerformIO)---- | > typedef struct VkExternalMemoryBufferCreateInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkExternalMemoryHandleTypeFlagsKHR handleTypes;---   > } VkExternalMemoryBufferCreateInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExternalMemoryBufferCreateInfoKHR.html VkExternalMemoryBufferCreateInfoKHR registry at www.khronos.org>-data VkExternalMemoryBufferCreateInfoKHR = VkExternalMemoryBufferCreateInfoKHR## Addr##-                                                                                ByteArray##--instance Eq VkExternalMemoryBufferCreateInfoKHR where-        (VkExternalMemoryBufferCreateInfoKHR## a _) ==-          x@(VkExternalMemoryBufferCreateInfoKHR## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkExternalMemoryBufferCreateInfoKHR where-        (VkExternalMemoryBufferCreateInfoKHR## a _) `compare`-          x@(VkExternalMemoryBufferCreateInfoKHR## b _)-          = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkExternalMemoryBufferCreateInfoKHR where-        sizeOf ~_ = #{size VkExternalMemoryBufferCreateInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkExternalMemoryBufferCreateInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkExternalMemoryBufferCreateInfoKHR-         where-        unsafeAddr (VkExternalMemoryBufferCreateInfoKHR## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkExternalMemoryBufferCreateInfoKHR## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkExternalMemoryBufferCreateInfoKHR##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkExternalMemoryBufferCreateInfoKHR where-        type StructFields VkExternalMemoryBufferCreateInfoKHR =-             '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs-        type CUnionType VkExternalMemoryBufferCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExternalMemoryBufferCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkExternalMemoryBufferCreateInfoKHR =-             '[VkBufferCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasVkSType VkExternalMemoryBufferCreateInfoKHR where-        type VkSTypeMType VkExternalMemoryBufferCreateInfoKHR =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryBufferCreateInfoKHR, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkExternalMemoryBufferCreateInfoKHR, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkExternalMemoryBufferCreateInfoKHR, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkExternalMemoryBufferCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkExternalMemoryBufferCreateInfoKHR where-        type FieldType "sType" VkExternalMemoryBufferCreateInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkExternalMemoryBufferCreateInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExternalMemoryBufferCreateInfoKHR =-             #{offset VkExternalMemoryBufferCreateInfoKHR, sType}-        type FieldIsArray "sType" VkExternalMemoryBufferCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalMemoryBufferCreateInfoKHR, sType}--instance CanReadField "sType" VkExternalMemoryBufferCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkExternalMemoryBufferCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-}-         HasVkPNext VkExternalMemoryBufferCreateInfoKHR where-        type VkPNextMType VkExternalMemoryBufferCreateInfoKHR = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryBufferCreateInfoKHR, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkExternalMemoryBufferCreateInfoKHR, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkExternalMemoryBufferCreateInfoKHR, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkExternalMemoryBufferCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExternalMemoryBufferCreateInfoKHR where-        type FieldType "pNext" VkExternalMemoryBufferCreateInfoKHR =-             Ptr Void-        type FieldOptional "pNext" VkExternalMemoryBufferCreateInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExternalMemoryBufferCreateInfoKHR =-             #{offset VkExternalMemoryBufferCreateInfoKHR, pNext}-        type FieldIsArray "pNext" VkExternalMemoryBufferCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalMemoryBufferCreateInfoKHR, pNext}--instance CanReadField "pNext" VkExternalMemoryBufferCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkExternalMemoryBufferCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-}-         HasVkHandleTypes VkExternalMemoryBufferCreateInfoKHR where-        type VkHandleTypesMType VkExternalMemoryBufferCreateInfoKHR =-             VkExternalMemoryHandleTypeFlagsKHR--        {-# NOINLINE vkHandleTypes #-}-        vkHandleTypes x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryBufferCreateInfoKHR, handleTypes})--        {-# INLINE vkHandleTypesByteOffset #-}-        vkHandleTypesByteOffset ~_-          = #{offset VkExternalMemoryBufferCreateInfoKHR, handleTypes}--        {-# INLINE readVkHandleTypes #-}-        readVkHandleTypes p-          = peekByteOff p #{offset VkExternalMemoryBufferCreateInfoKHR, handleTypes}--        {-# INLINE writeVkHandleTypes #-}-        writeVkHandleTypes p-          = pokeByteOff p #{offset VkExternalMemoryBufferCreateInfoKHR, handleTypes}--instance {-# OVERLAPPING #-}-         HasField "handleTypes" VkExternalMemoryBufferCreateInfoKHR where-        type FieldType "handleTypes" VkExternalMemoryBufferCreateInfoKHR =-             VkExternalMemoryHandleTypeFlagsKHR-        type FieldOptional "handleTypes"-               VkExternalMemoryBufferCreateInfoKHR-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "handleTypes" VkExternalMemoryBufferCreateInfoKHR-             =-             #{offset VkExternalMemoryBufferCreateInfoKHR, handleTypes}-        type FieldIsArray "handleTypes" VkExternalMemoryBufferCreateInfoKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalMemoryBufferCreateInfoKHR, handleTypes}--instance CanReadField "handleTypes"-           VkExternalMemoryBufferCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkHandleTypes--        {-# INLINE readField #-}-        readField = readVkHandleTypes--instance CanWriteField "handleTypes"-           VkExternalMemoryBufferCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkHandleTypes--instance Show VkExternalMemoryBufferCreateInfoKHR where-        showsPrec d x-          = showString "VkExternalMemoryBufferCreateInfoKHR {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkHandleTypes = " .-                            showsPrec d (vkHandleTypes x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExternalMemoryImageCreateInfo.hsc view
@@ -0,0 +1,191 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkExternalMemoryImageCreateInfo+       (VkExternalMemoryImageCreateInfo(..)) where+import           Foreign.Storable                                           (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags (VkExternalMemoryHandleTypeFlags)+import           Graphics.Vulkan.Types.Enum.VkStructureType                 (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkImageCreateInfo             (VkImageCreateInfo)+import           System.IO.Unsafe                                           (unsafeDupablePerformIO)++-- | > typedef struct VkExternalMemoryImageCreateInfo {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkExternalMemoryHandleTypeFlags handleTypes;+--   > } VkExternalMemoryImageCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkExternalMemoryImageCreateInfo.html VkExternalMemoryImageCreateInfo registry at www.khronos.org>+data VkExternalMemoryImageCreateInfo = VkExternalMemoryImageCreateInfo## Addr##+                                                                        ByteArray##++instance Eq VkExternalMemoryImageCreateInfo where+        (VkExternalMemoryImageCreateInfo## a _) ==+          x@(VkExternalMemoryImageCreateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkExternalMemoryImageCreateInfo where+        (VkExternalMemoryImageCreateInfo## a _) `compare`+          x@(VkExternalMemoryImageCreateInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkExternalMemoryImageCreateInfo where+        sizeOf ~_ = #{size VkExternalMemoryImageCreateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkExternalMemoryImageCreateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkExternalMemoryImageCreateInfo where+        unsafeAddr (VkExternalMemoryImageCreateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkExternalMemoryImageCreateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkExternalMemoryImageCreateInfo##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExternalMemoryImageCreateInfo where+        type StructFields VkExternalMemoryImageCreateInfo =+             '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs+        type CUnionType VkExternalMemoryImageCreateInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkExternalMemoryImageCreateInfo = 'False -- ' closing tick for hsc2hs+        type StructExtends VkExternalMemoryImageCreateInfo =+             '[VkImageCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "sType" VkExternalMemoryImageCreateInfo where+        type FieldType "sType" VkExternalMemoryImageCreateInfo =+             VkStructureType+        type FieldOptional "sType" VkExternalMemoryImageCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkExternalMemoryImageCreateInfo =+             #{offset VkExternalMemoryImageCreateInfo, sType}+        type FieldIsArray "sType" VkExternalMemoryImageCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalMemoryImageCreateInfo, sType}++instance {-# OVERLAPPING #-}+         CanReadField "sType" VkExternalMemoryImageCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfo, sType})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalMemoryImageCreateInfo, sType}++instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkExternalMemoryImageCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalMemoryImageCreateInfo, sType}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkExternalMemoryImageCreateInfo where+        type FieldType "pNext" VkExternalMemoryImageCreateInfo = Ptr Void+        type FieldOptional "pNext" VkExternalMemoryImageCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkExternalMemoryImageCreateInfo =+             #{offset VkExternalMemoryImageCreateInfo, pNext}+        type FieldIsArray "pNext" VkExternalMemoryImageCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalMemoryImageCreateInfo, pNext}++instance {-# OVERLAPPING #-}+         CanReadField "pNext" VkExternalMemoryImageCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfo, pNext})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalMemoryImageCreateInfo, pNext}++instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkExternalMemoryImageCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalMemoryImageCreateInfo, pNext}++instance {-# OVERLAPPING #-}+         HasField "handleTypes" VkExternalMemoryImageCreateInfo where+        type FieldType "handleTypes" VkExternalMemoryImageCreateInfo =+             VkExternalMemoryHandleTypeFlags+        type FieldOptional "handleTypes" VkExternalMemoryImageCreateInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "handleTypes" VkExternalMemoryImageCreateInfo =+             #{offset VkExternalMemoryImageCreateInfo, handleTypes}+        type FieldIsArray "handleTypes" VkExternalMemoryImageCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalMemoryImageCreateInfo, handleTypes}++instance {-# OVERLAPPING #-}+         CanReadField "handleTypes" VkExternalMemoryImageCreateInfo where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfo, handleTypes})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalMemoryImageCreateInfo, handleTypes}++instance {-# OVERLAPPING #-}+         CanWriteField "handleTypes" VkExternalMemoryImageCreateInfo where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalMemoryImageCreateInfo, handleTypes}++instance Show VkExternalMemoryImageCreateInfo where+        showsPrec d x+          = showString "VkExternalMemoryImageCreateInfo {" .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .+                  showString ", " .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .+                        showString ", " .+                          showString "handleTypes = " .+                            showsPrec d (getField @"handleTypes" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExternalMemoryImageCreateInfoKHR.hs view
@@ -0,0 +1,11 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Struct.VkExternalMemoryImageCreateInfoKHR+       (VkExternalMemoryImageCreateInfo(..),+        VkExternalMemoryImageCreateInfoKHR)+       where+import           Graphics.Vulkan.Types.Struct.VkExternalMemoryImageCreateInfo (VkExternalMemoryImageCreateInfo (..))++-- | Alias for `VkExternalMemoryImageCreateInfo`+type VkExternalMemoryImageCreateInfoKHR =+     VkExternalMemoryImageCreateInfo
− src-gen/Graphics/Vulkan/Types/Struct/VkExternalMemoryImageCreateInfoKHR.hsc
@@ -1,252 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkExternalMemoryImageCreateInfoKHR-       (VkExternalMemoryImageCreateInfoKHR(..)) where-import           Foreign.Storable                                              (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsKHR (VkExternalMemoryHandleTypeFlagsKHR)-import           Graphics.Vulkan.Types.Enum.VkStructureType                    (VkStructureType)-import           Graphics.Vulkan.Types.Struct.VkImageCreateInfo                (VkImageCreateInfo)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                                              (unsafeDupablePerformIO)---- | > typedef struct VkExternalMemoryImageCreateInfoKHR {---   >     VkStructureType sType;---   >     const void*                      pNext;---   >     VkExternalMemoryHandleTypeFlagsKHR handleTypes;---   > } VkExternalMemoryImageCreateInfoKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExternalMemoryImageCreateInfoKHR.html VkExternalMemoryImageCreateInfoKHR registry at www.khronos.org>-data VkExternalMemoryImageCreateInfoKHR = VkExternalMemoryImageCreateInfoKHR## Addr##-                                                                              ByteArray##--instance Eq VkExternalMemoryImageCreateInfoKHR where-        (VkExternalMemoryImageCreateInfoKHR## a _) ==-          x@(VkExternalMemoryImageCreateInfoKHR## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkExternalMemoryImageCreateInfoKHR where-        (VkExternalMemoryImageCreateInfoKHR## a _) `compare`-          x@(VkExternalMemoryImageCreateInfoKHR## b _)-          = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkExternalMemoryImageCreateInfoKHR where-        sizeOf ~_ = #{size VkExternalMemoryImageCreateInfoKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkExternalMemoryImageCreateInfoKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkExternalMemoryImageCreateInfoKHR where-        unsafeAddr (VkExternalMemoryImageCreateInfoKHR## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkExternalMemoryImageCreateInfoKHR## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkExternalMemoryImageCreateInfoKHR##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkExternalMemoryImageCreateInfoKHR where-        type StructFields VkExternalMemoryImageCreateInfoKHR =-             '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs-        type CUnionType VkExternalMemoryImageCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExternalMemoryImageCreateInfoKHR = 'False -- ' closing tick for hsc2hs-        type StructExtends VkExternalMemoryImageCreateInfoKHR =-             '[VkImageCreateInfo] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasVkSType VkExternalMemoryImageCreateInfoKHR where-        type VkSTypeMType VkExternalMemoryImageCreateInfoKHR =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfoKHR, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkExternalMemoryImageCreateInfoKHR, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkExternalMemoryImageCreateInfoKHR, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkExternalMemoryImageCreateInfoKHR, sType}--instance {-# OVERLAPPING #-}-         HasField "sType" VkExternalMemoryImageCreateInfoKHR where-        type FieldType "sType" VkExternalMemoryImageCreateInfoKHR =-             VkStructureType-        type FieldOptional "sType" VkExternalMemoryImageCreateInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "sType" VkExternalMemoryImageCreateInfoKHR =-             #{offset VkExternalMemoryImageCreateInfoKHR, sType}-        type FieldIsArray "sType" VkExternalMemoryImageCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalMemoryImageCreateInfoKHR, sType}--instance CanReadField "sType" VkExternalMemoryImageCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkExternalMemoryImageCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkSType--instance {-# OVERLAPPING #-}-         HasVkPNext VkExternalMemoryImageCreateInfoKHR where-        type VkPNextMType VkExternalMemoryImageCreateInfoKHR = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfoKHR, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkExternalMemoryImageCreateInfoKHR, pNext}--        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkExternalMemoryImageCreateInfoKHR, pNext}--        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkExternalMemoryImageCreateInfoKHR, pNext}--instance {-# OVERLAPPING #-}-         HasField "pNext" VkExternalMemoryImageCreateInfoKHR where-        type FieldType "pNext" VkExternalMemoryImageCreateInfoKHR =-             Ptr Void-        type FieldOptional "pNext" VkExternalMemoryImageCreateInfoKHR =-             'False -- ' closing tick for hsc2hs-        type FieldOffset "pNext" VkExternalMemoryImageCreateInfoKHR =-             #{offset VkExternalMemoryImageCreateInfoKHR, pNext}-        type FieldIsArray "pNext" VkExternalMemoryImageCreateInfoKHR =-             'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalMemoryImageCreateInfoKHR, pNext}--instance CanReadField "pNext" VkExternalMemoryImageCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkExternalMemoryImageCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkPNext--instance {-# OVERLAPPING #-}-         HasVkHandleTypes VkExternalMemoryImageCreateInfoKHR where-        type VkHandleTypesMType VkExternalMemoryImageCreateInfoKHR =-             VkExternalMemoryHandleTypeFlagsKHR--        {-# NOINLINE vkHandleTypes #-}-        vkHandleTypes x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfoKHR, handleTypes})--        {-# INLINE vkHandleTypesByteOffset #-}-        vkHandleTypesByteOffset ~_-          = #{offset VkExternalMemoryImageCreateInfoKHR, handleTypes}--        {-# INLINE readVkHandleTypes #-}-        readVkHandleTypes p-          = peekByteOff p #{offset VkExternalMemoryImageCreateInfoKHR, handleTypes}--        {-# INLINE writeVkHandleTypes #-}-        writeVkHandleTypes p-          = pokeByteOff p #{offset VkExternalMemoryImageCreateInfoKHR, handleTypes}--instance {-# OVERLAPPING #-}-         HasField "handleTypes" VkExternalMemoryImageCreateInfoKHR where-        type FieldType "handleTypes" VkExternalMemoryImageCreateInfoKHR =-             VkExternalMemoryHandleTypeFlagsKHR-        type FieldOptional "handleTypes" VkExternalMemoryImageCreateInfoKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "handleTypes" VkExternalMemoryImageCreateInfoKHR =-             #{offset VkExternalMemoryImageCreateInfoKHR, handleTypes}-        type FieldIsArray "handleTypes" VkExternalMemoryImageCreateInfoKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalMemoryImageCreateInfoKHR, handleTypes}--instance CanReadField "handleTypes"-           VkExternalMemoryImageCreateInfoKHR-         where-        {-# INLINE getField #-}-        getField = vkHandleTypes--        {-# INLINE readField #-}-        readField = readVkHandleTypes--instance CanWriteField "handleTypes"-           VkExternalMemoryImageCreateInfoKHR-         where-        {-# INLINE writeField #-}-        writeField = writeVkHandleTypes--instance Show VkExternalMemoryImageCreateInfoKHR where-        showsPrec d x-          = showString "VkExternalMemoryImageCreateInfoKHR {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .-                  showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .-                        showString ", " .-                          showString "vkHandleTypes = " .-                            showsPrec d (vkHandleTypes x) . showChar '}'
src-gen/Graphics/Vulkan/Types/Struct/VkExternalMemoryImageCreateInfoNV.hsc view
@@ -5,6 +5,7 @@ {-# LANGUAGE MagicHash             #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-} {-# LANGUAGE TypeFamilies          #-} module Graphics.Vulkan.Types.Struct.VkExternalMemoryImageCreateInfoNV        (VkExternalMemoryImageCreateInfoNV(..)) where@@ -15,7 +16,6 @@ import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsNV (VkExternalMemoryHandleTypeFlagsNV) import           Graphics.Vulkan.Types.Enum.VkStructureType                   (VkStructureType) import           Graphics.Vulkan.Types.Struct.VkImageCreateInfo               (VkImageCreateInfo)-import           Graphics.Vulkan.Types.StructMembers import           System.IO.Unsafe                                             (unsafeDupablePerformIO)  -- | > typedef struct VkExternalMemoryImageCreateInfoNV {@@ -24,7 +24,7 @@ --   >     VkExternalMemoryHandleTypeFlagsNV handleTypes; --   > } VkExternalMemoryImageCreateInfoNV; -----   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExternalMemoryImageCreateInfoNV.html VkExternalMemoryImageCreateInfoNV registry at www.khronos.org>+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkExternalMemoryImageCreateInfoNV.html VkExternalMemoryImageCreateInfoNV registry at www.khronos.org> data VkExternalMemoryImageCreateInfoNV = VkExternalMemoryImageCreateInfoNV## Addr##                                                                             ByteArray## @@ -80,28 +80,6 @@              '[VkImageCreateInfo] -- ' closing tick for hsc2hs  instance {-# OVERLAPPING #-}-         HasVkSType VkExternalMemoryImageCreateInfoNV where-        type VkSTypeMType VkExternalMemoryImageCreateInfoNV =-             VkStructureType--        {-# NOINLINE vkSType #-}-        vkSType x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfoNV, sType})--        {-# INLINE vkSTypeByteOffset #-}-        vkSTypeByteOffset ~_-          = #{offset VkExternalMemoryImageCreateInfoNV, sType}--        {-# INLINE readVkSType #-}-        readVkSType p-          = peekByteOff p #{offset VkExternalMemoryImageCreateInfoNV, sType}--        {-# INLINE writeVkSType #-}-        writeVkSType p-          = pokeByteOff p #{offset VkExternalMemoryImageCreateInfoNV, sType}--instance {-# OVERLAPPING #-}          HasField "sType" VkExternalMemoryImageCreateInfoNV where         type FieldType "sType" VkExternalMemoryImageCreateInfoNV =              VkStructureType@@ -119,39 +97,22 @@         fieldOffset           = #{offset VkExternalMemoryImageCreateInfoNV, sType} -instance CanReadField "sType" VkExternalMemoryImageCreateInfoNV-         where-        {-# INLINE getField #-}-        getField = vkSType--        {-# INLINE readField #-}-        readField = readVkSType--instance CanWriteField "sType" VkExternalMemoryImageCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField = writeVkSType- instance {-# OVERLAPPING #-}-         HasVkPNext VkExternalMemoryImageCreateInfoNV where-        type VkPNextMType VkExternalMemoryImageCreateInfoNV = Ptr Void--        {-# NOINLINE vkPNext #-}-        vkPNext x+         CanReadField "sType" VkExternalMemoryImageCreateInfoNV where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfoNV, pNext})--        {-# INLINE vkPNextByteOffset #-}-        vkPNextByteOffset ~_-          = #{offset VkExternalMemoryImageCreateInfoNV, pNext}+              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfoNV, sType}) -        {-# INLINE readVkPNext #-}-        readVkPNext p-          = peekByteOff p #{offset VkExternalMemoryImageCreateInfoNV, pNext}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalMemoryImageCreateInfoNV, sType} -        {-# INLINE writeVkPNext #-}-        writeVkPNext p-          = pokeByteOff p #{offset VkExternalMemoryImageCreateInfoNV, pNext}+instance {-# OVERLAPPING #-}+         CanWriteField "sType" VkExternalMemoryImageCreateInfoNV where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalMemoryImageCreateInfoNV, sType}  instance {-# OVERLAPPING #-}          HasField "pNext" VkExternalMemoryImageCreateInfoNV where@@ -170,40 +131,22 @@         fieldOffset           = #{offset VkExternalMemoryImageCreateInfoNV, pNext} -instance CanReadField "pNext" VkExternalMemoryImageCreateInfoNV-         where-        {-# INLINE getField #-}-        getField = vkPNext--        {-# INLINE readField #-}-        readField = readVkPNext--instance CanWriteField "pNext" VkExternalMemoryImageCreateInfoNV-         where-        {-# INLINE writeField #-}-        writeField = writeVkPNext- instance {-# OVERLAPPING #-}-         HasVkHandleTypes VkExternalMemoryImageCreateInfoNV where-        type VkHandleTypesMType VkExternalMemoryImageCreateInfoNV =-             VkExternalMemoryHandleTypeFlagsNV--        {-# NOINLINE vkHandleTypes #-}-        vkHandleTypes x+         CanReadField "pNext" VkExternalMemoryImageCreateInfoNV where+        {-# NOINLINE getField #-}+        getField x           = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfoNV, handleTypes})--        {-# INLINE vkHandleTypesByteOffset #-}-        vkHandleTypesByteOffset ~_-          = #{offset VkExternalMemoryImageCreateInfoNV, handleTypes}+              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfoNV, pNext}) -        {-# INLINE readVkHandleTypes #-}-        readVkHandleTypes p-          = peekByteOff p #{offset VkExternalMemoryImageCreateInfoNV, handleTypes}+        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalMemoryImageCreateInfoNV, pNext} -        {-# INLINE writeVkHandleTypes #-}-        writeVkHandleTypes p-          = pokeByteOff p #{offset VkExternalMemoryImageCreateInfoNV, handleTypes}+instance {-# OVERLAPPING #-}+         CanWriteField "pNext" VkExternalMemoryImageCreateInfoNV where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalMemoryImageCreateInfoNV, pNext}  instance {-# OVERLAPPING #-}          HasField "handleTypes" VkExternalMemoryImageCreateInfoNV where@@ -223,29 +166,31 @@         fieldOffset           = #{offset VkExternalMemoryImageCreateInfoNV, handleTypes} -instance CanReadField "handleTypes"-           VkExternalMemoryImageCreateInfoNV-         where-        {-# INLINE getField #-}-        getField = vkHandleTypes+instance {-# OVERLAPPING #-}+         CanReadField "handleTypes" VkExternalMemoryImageCreateInfoNV where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfoNV, handleTypes})          {-# INLINE readField #-}-        readField = readVkHandleTypes+        readField p+          = peekByteOff p #{offset VkExternalMemoryImageCreateInfoNV, handleTypes} -instance CanWriteField "handleTypes"-           VkExternalMemoryImageCreateInfoNV-         where+instance {-# OVERLAPPING #-}+         CanWriteField "handleTypes" VkExternalMemoryImageCreateInfoNV where         {-# INLINE writeField #-}-        writeField = writeVkHandleTypes+        writeField p+          = pokeByteOff p #{offset VkExternalMemoryImageCreateInfoNV, handleTypes}  instance Show VkExternalMemoryImageCreateInfoNV where         showsPrec d x           = showString "VkExternalMemoryImageCreateInfoNV {" .-              showString "vkSType = " .-                showsPrec d (vkSType x) .+              showString "sType = " .+                showsPrec d (getField @"sType" x) .                   showString ", " .-                    showString "vkPNext = " .-                      showsPrec d (vkPNext x) .+                    showString "pNext = " .+                      showsPrec d (getField @"pNext" x) .                         showString ", " .-                          showString "vkHandleTypes = " .-                            showsPrec d (vkHandleTypes x) . showChar '}'+                          showString "handleTypes = " .+                            showsPrec d (getField @"handleTypes" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExternalMemoryProperties.hsc view
@@ -0,0 +1,215 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkExternalMemoryProperties+       (VkExternalMemoryProperties(..)) where+import           Foreign.Storable                                           (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlags    (VkExternalMemoryFeatureFlags)+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags (VkExternalMemoryHandleTypeFlags)+import           System.IO.Unsafe                                           (unsafeDupablePerformIO)++-- | > typedef struct VkExternalMemoryProperties {+--   >     VkExternalMemoryFeatureFlags  externalMemoryFeatures;+--   >     VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;+--   >     VkExternalMemoryHandleTypeFlags compatibleHandleTypes;+--   > } VkExternalMemoryProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkExternalMemoryProperties.html VkExternalMemoryProperties registry at www.khronos.org>+data VkExternalMemoryProperties = VkExternalMemoryProperties## Addr##+                                                              ByteArray##++instance Eq VkExternalMemoryProperties where+        (VkExternalMemoryProperties## a _) ==+          x@(VkExternalMemoryProperties## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkExternalMemoryProperties where+        (VkExternalMemoryProperties## a _) `compare`+          x@(VkExternalMemoryProperties## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkExternalMemoryProperties where+        sizeOf ~_ = #{size VkExternalMemoryProperties}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkExternalMemoryProperties}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkExternalMemoryProperties where+        unsafeAddr (VkExternalMemoryProperties## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkExternalMemoryProperties## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkExternalMemoryProperties##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExternalMemoryProperties where+        type StructFields VkExternalMemoryProperties =+             '["externalMemoryFeatures", "exportFromImportedHandleTypes", -- ' closing tick for hsc2hs+               "compatibleHandleTypes"]+        type CUnionType VkExternalMemoryProperties = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkExternalMemoryProperties = 'True -- ' closing tick for hsc2hs+        type StructExtends VkExternalMemoryProperties = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasField "externalMemoryFeatures" VkExternalMemoryProperties where+        type FieldType "externalMemoryFeatures" VkExternalMemoryProperties+             = VkExternalMemoryFeatureFlags+        type FieldOptional "externalMemoryFeatures"+               VkExternalMemoryProperties+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "externalMemoryFeatures"+               VkExternalMemoryProperties+             =+             #{offset VkExternalMemoryProperties, externalMemoryFeatures}+        type FieldIsArray "externalMemoryFeatures"+               VkExternalMemoryProperties+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalMemoryProperties, externalMemoryFeatures}++instance {-# OVERLAPPING #-}+         CanReadField "externalMemoryFeatures" VkExternalMemoryProperties+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryProperties, externalMemoryFeatures})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalMemoryProperties, externalMemoryFeatures}++instance {-# OVERLAPPING #-}+         CanWriteField "externalMemoryFeatures" VkExternalMemoryProperties+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalMemoryProperties, externalMemoryFeatures}++instance {-# OVERLAPPING #-}+         HasField "exportFromImportedHandleTypes" VkExternalMemoryProperties+         where+        type FieldType "exportFromImportedHandleTypes"+               VkExternalMemoryProperties+             = VkExternalMemoryHandleTypeFlags+        type FieldOptional "exportFromImportedHandleTypes"+               VkExternalMemoryProperties+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "exportFromImportedHandleTypes"+               VkExternalMemoryProperties+             =+             #{offset VkExternalMemoryProperties, exportFromImportedHandleTypes}+        type FieldIsArray "exportFromImportedHandleTypes"+               VkExternalMemoryProperties+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalMemoryProperties, exportFromImportedHandleTypes}++instance {-# OVERLAPPING #-}+         CanReadField "exportFromImportedHandleTypes"+           VkExternalMemoryProperties+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryProperties, exportFromImportedHandleTypes})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalMemoryProperties, exportFromImportedHandleTypes}++instance {-# OVERLAPPING #-}+         CanWriteField "exportFromImportedHandleTypes"+           VkExternalMemoryProperties+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalMemoryProperties, exportFromImportedHandleTypes}++instance {-# OVERLAPPING #-}+         HasField "compatibleHandleTypes" VkExternalMemoryProperties where+        type FieldType "compatibleHandleTypes" VkExternalMemoryProperties =+             VkExternalMemoryHandleTypeFlags+        type FieldOptional "compatibleHandleTypes"+               VkExternalMemoryProperties+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "compatibleHandleTypes" VkExternalMemoryProperties+             =+             #{offset VkExternalMemoryProperties, compatibleHandleTypes}+        type FieldIsArray "compatibleHandleTypes"+               VkExternalMemoryProperties+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalMemoryProperties, compatibleHandleTypes}++instance {-# OVERLAPPING #-}+         CanReadField "compatibleHandleTypes" VkExternalMemoryProperties+         where+        {-# NOINLINE getField #-}+        getField x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryProperties, compatibleHandleTypes})++        {-# INLINE readField #-}+        readField p+          = peekByteOff p #{offset VkExternalMemoryProperties, compatibleHandleTypes}++instance {-# OVERLAPPING #-}+         CanWriteField "compatibleHandleTypes" VkExternalMemoryProperties+         where+        {-# INLINE writeField #-}+        writeField p+          = pokeByteOff p #{offset VkExternalMemoryProperties, compatibleHandleTypes}++instance Show VkExternalMemoryProperties where+        showsPrec d x+          = showString "VkExternalMemoryProperties {" .+              showString "externalMemoryFeatures = " .+                showsPrec d (getField @"externalMemoryFeatures" x) .+                  showString ", " .+                    showString "exportFromImportedHandleTypes = " .+                      showsPrec d (getField @"exportFromImportedHandleTypes" x) .+                        showString ", " .+                          showString "compatibleHandleTypes = " .+                            showsPrec d (getField @"compatibleHandleTypes" x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExternalMemoryPropertiesKHR.hs view
@@ -0,0 +1,9 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Struct.VkExternalMemoryPropertiesKHR+       (VkExternalMemoryProperties(..), VkExternalMemoryPropertiesKHR)+       where+import           Graphics.Vulkan.Types.Struct.VkExternalMemoryProperties (VkExternalMemoryProperties (..))++-- | Alias for `VkExternalMemoryProperties`+type VkExternalMemoryPropertiesKHR = VkExternalMemoryProperties
− src-gen/Graphics/Vulkan/Types/Struct/VkExternalMemoryPropertiesKHR.hsc
@@ -1,258 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds             #-}-{-# LANGUAGE FlexibleInstances     #-}-{-# LANGUAGE MagicHash             #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict                #-}-{-# LANGUAGE TypeFamilies          #-}-module Graphics.Vulkan.Types.Struct.VkExternalMemoryPropertiesKHR-       (VkExternalMemoryPropertiesKHR(..)) where-import           Foreign.Storable                                              (Storable (..))-import           GHC.Prim-import           Graphics.Vulkan.Marshal-import           Graphics.Vulkan.Marshal.Internal-import           Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlagsKHR    (VkExternalMemoryFeatureFlagsKHR)-import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsKHR (VkExternalMemoryHandleTypeFlagsKHR)-import           Graphics.Vulkan.Types.StructMembers-import           System.IO.Unsafe                                              (unsafeDupablePerformIO)---- | > typedef struct VkExternalMemoryPropertiesKHR {---   >     VkExternalMemoryFeatureFlagsKHR  externalMemoryFeatures;---   >     VkExternalMemoryHandleTypeFlagsKHR exportFromImportedHandleTypes;---   >     VkExternalMemoryHandleTypeFlagsKHR compatibleHandleTypes;---   > } VkExternalMemoryPropertiesKHR;------   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExternalMemoryPropertiesKHR.html VkExternalMemoryPropertiesKHR registry at www.khronos.org>-data VkExternalMemoryPropertiesKHR = VkExternalMemoryPropertiesKHR## Addr##-                                                                    ByteArray##--instance Eq VkExternalMemoryPropertiesKHR where-        (VkExternalMemoryPropertiesKHR## a _) ==-          x@(VkExternalMemoryPropertiesKHR## b _)-          = EQ == cmpBytes## (sizeOf x) a b--        {-# INLINE (==) #-}--instance Ord VkExternalMemoryPropertiesKHR where-        (VkExternalMemoryPropertiesKHR## a _) `compare`-          x@(VkExternalMemoryPropertiesKHR## b _) = cmpBytes## (sizeOf x) a b--        {-# INLINE compare #-}--instance Storable VkExternalMemoryPropertiesKHR where-        sizeOf ~_ = #{size VkExternalMemoryPropertiesKHR}--        {-# INLINE sizeOf #-}-        alignment ~_-          = #{alignment VkExternalMemoryPropertiesKHR}--        {-# INLINE alignment #-}-        peek = peekVkData##--        {-# INLINE peek #-}-        poke = pokeVkData##--        {-# INLINE poke #-}--instance VulkanMarshalPrim VkExternalMemoryPropertiesKHR where-        unsafeAddr (VkExternalMemoryPropertiesKHR## a _) = a--        {-# INLINE unsafeAddr #-}-        unsafeByteArray (VkExternalMemoryPropertiesKHR## _ b) = b--        {-# INLINE unsafeByteArray #-}-        unsafeFromByteArrayOffset off b-          = VkExternalMemoryPropertiesKHR##-              (plusAddr## (byteArrayContents## b) off)-              b--        {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkExternalMemoryPropertiesKHR where-        type StructFields VkExternalMemoryPropertiesKHR =-             '["externalMemoryFeatures", "exportFromImportedHandleTypes", -- ' closing tick for hsc2hs-               "compatibleHandleTypes"]-        type CUnionType VkExternalMemoryPropertiesKHR = 'False -- ' closing tick for hsc2hs-        type ReturnedOnly VkExternalMemoryPropertiesKHR = 'True -- ' closing tick for hsc2hs-        type StructExtends VkExternalMemoryPropertiesKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}-         HasVkExternalMemoryFeatures VkExternalMemoryPropertiesKHR where-        type VkExternalMemoryFeaturesMType VkExternalMemoryPropertiesKHR =-             VkExternalMemoryFeatureFlagsKHR--        {-# NOINLINE vkExternalMemoryFeatures #-}-        vkExternalMemoryFeatures x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryPropertiesKHR, externalMemoryFeatures})--        {-# INLINE vkExternalMemoryFeaturesByteOffset #-}-        vkExternalMemoryFeaturesByteOffset ~_-          = #{offset VkExternalMemoryPropertiesKHR, externalMemoryFeatures}--        {-# INLINE readVkExternalMemoryFeatures #-}-        readVkExternalMemoryFeatures p-          = peekByteOff p #{offset VkExternalMemoryPropertiesKHR, externalMemoryFeatures}--        {-# INLINE writeVkExternalMemoryFeatures #-}-        writeVkExternalMemoryFeatures p-          = pokeByteOff p #{offset VkExternalMemoryPropertiesKHR, externalMemoryFeatures}--instance {-# OVERLAPPING #-}-         HasField "externalMemoryFeatures" VkExternalMemoryPropertiesKHR-         where-        type FieldType "externalMemoryFeatures"-               VkExternalMemoryPropertiesKHR-             = VkExternalMemoryFeatureFlagsKHR-        type FieldOptional "externalMemoryFeatures"-               VkExternalMemoryPropertiesKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "externalMemoryFeatures"-               VkExternalMemoryPropertiesKHR-             =-             #{offset VkExternalMemoryPropertiesKHR, externalMemoryFeatures}-        type FieldIsArray "externalMemoryFeatures"-               VkExternalMemoryPropertiesKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalMemoryPropertiesKHR, externalMemoryFeatures}--instance CanReadField "externalMemoryFeatures"-           VkExternalMemoryPropertiesKHR-         where-        {-# INLINE getField #-}-        getField = vkExternalMemoryFeatures--        {-# INLINE readField #-}-        readField = readVkExternalMemoryFeatures--instance {-# OVERLAPPING #-}-         HasVkExportFromImportedHandleTypes VkExternalMemoryPropertiesKHR-         where-        type VkExportFromImportedHandleTypesMType-               VkExternalMemoryPropertiesKHR-             = VkExternalMemoryHandleTypeFlagsKHR--        {-# NOINLINE vkExportFromImportedHandleTypes #-}-        vkExportFromImportedHandleTypes x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryPropertiesKHR, exportFromImportedHandleTypes})--        {-# INLINE vkExportFromImportedHandleTypesByteOffset #-}-        vkExportFromImportedHandleTypesByteOffset ~_-          = #{offset VkExternalMemoryPropertiesKHR, exportFromImportedHandleTypes}--        {-# INLINE readVkExportFromImportedHandleTypes #-}-        readVkExportFromImportedHandleTypes p-          = peekByteOff p #{offset VkExternalMemoryPropertiesKHR, exportFromImportedHandleTypes}--        {-# INLINE writeVkExportFromImportedHandleTypes #-}-        writeVkExportFromImportedHandleTypes p-          = pokeByteOff p #{offset VkExternalMemoryPropertiesKHR, exportFromImportedHandleTypes}--instance {-# OVERLAPPING #-}-         HasField "exportFromImportedHandleTypes"-           VkExternalMemoryPropertiesKHR-         where-        type FieldType "exportFromImportedHandleTypes"-               VkExternalMemoryPropertiesKHR-             = VkExternalMemoryHandleTypeFlagsKHR-        type FieldOptional "exportFromImportedHandleTypes"-               VkExternalMemoryPropertiesKHR-             = 'True -- ' closing tick for hsc2hs-        type FieldOffset "exportFromImportedHandleTypes"-               VkExternalMemoryPropertiesKHR-             =-             #{offset VkExternalMemoryPropertiesKHR, exportFromImportedHandleTypes}-        type FieldIsArray "exportFromImportedHandleTypes"-               VkExternalMemoryPropertiesKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = True--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalMemoryPropertiesKHR, exportFromImportedHandleTypes}--instance CanReadField "exportFromImportedHandleTypes"-           VkExternalMemoryPropertiesKHR-         where-        {-# INLINE getField #-}-        getField = vkExportFromImportedHandleTypes--        {-# INLINE readField #-}-        readField = readVkExportFromImportedHandleTypes--instance {-# OVERLAPPING #-}-         HasVkCompatibleHandleTypes VkExternalMemoryPropertiesKHR where-        type VkCompatibleHandleTypesMType VkExternalMemoryPropertiesKHR =-             VkExternalMemoryHandleTypeFlagsKHR--        {-# NOINLINE vkCompatibleHandleTypes #-}-        vkCompatibleHandleTypes x-          = unsafeDupablePerformIO-              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryPropertiesKHR, compatibleHandleTypes})--        {-# INLINE vkCompatibleHandleTypesByteOffset #-}-        vkCompatibleHandleTypesByteOffset ~_-          = #{offset VkExternalMemoryPropertiesKHR, compatibleHandleTypes}--        {-# INLINE readVkCompatibleHandleTypes #-}-        readVkCompatibleHandleTypes p-          = peekByteOff p #{offset VkExternalMemoryPropertiesKHR, compatibleHandleTypes}--        {-# INLINE writeVkCompatibleHandleTypes #-}-        writeVkCompatibleHandleTypes p-          = pokeByteOff p #{offset VkExternalMemoryPropertiesKHR, compatibleHandleTypes}--instance {-# OVERLAPPING #-}-         HasField "compatibleHandleTypes" VkExternalMemoryPropertiesKHR-         where-        type FieldType "compatibleHandleTypes"-               VkExternalMemoryPropertiesKHR-             = VkExternalMemoryHandleTypeFlagsKHR-        type FieldOptional "compatibleHandleTypes"-               VkExternalMemoryPropertiesKHR-             = 'False -- ' closing tick for hsc2hs-        type FieldOffset "compatibleHandleTypes"-               VkExternalMemoryPropertiesKHR-             =-             #{offset VkExternalMemoryPropertiesKHR, compatibleHandleTypes}-        type FieldIsArray "compatibleHandleTypes"-               VkExternalMemoryPropertiesKHR-             = 'False -- ' closing tick for hsc2hs--        {-# INLINE fieldOptional #-}-        fieldOptional = False--        {-# INLINE fieldOffset #-}-        fieldOffset-          = #{offset VkExternalMemoryPropertiesKHR, compatibleHandleTypes}--instance CanReadField "compatibleHandleTypes"-           VkExternalMemoryPropertiesKHR-         where-        {-# INLINE getField #-}-        getField = vkCompatibleHandleTypes--        {-# INLINE readField #-}-        readField = readVkCompatibleHandleTypes--instance Show VkExternalMemoryPropertiesKHR where-        showsPrec d x-          = showString "VkExternalMemoryPropertiesKHR {" .-              showString "vkExternalMemoryFeatures = " .-                showsPrec d (vkExternalMemoryFeatures x) .-                  showString ", " .-                    showString "vkExportFromImportedHandleTypes = " .-                      showsPrec d (vkExportFromImportedHandleTypes x) .-                        showString ", " .-                          showString "vkCompatibleHandleTypes = " .-                            showsPrec d (vkCompatibleHandleTypes x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExternalSemaphoreProperties.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkExternalSemaphorePropertiesKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkExternalSemaphorePropertiesKHR.hsc

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkFenceCreateInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkFenceGetFdInfoKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkFenceGetWin32HandleInfoKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkFormatProperties.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkFormatProperties2.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkFormatProperties2KHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkFormatProperties2KHR.hsc

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkFramebufferCreateInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkGraphicsPipelineCreateInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkHdrMetadataEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkIOSSurfaceCreateInfoMVK.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkImageBlit.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkImageCopy.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkImageCreateInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkImageFormatListCreateInfoKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkImageFormatProperties.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkImageFormatProperties2.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkImageFormatProperties2KHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkImageFormatProperties2KHR.hsc

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkImageMemoryBarrier.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkImageMemoryRequirementsInfo2.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkImageMemoryRequirementsInfo2KHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkImageMemoryRequirementsInfo2KHR.hsc

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkImagePlaneMemoryRequirementsInfo.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkImagePlaneMemoryRequirementsInfoKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkImagePlaneMemoryRequirementsInfoKHR.hsc

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkImageResolve.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkImageSparseMemoryRequirementsInfo2.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkImageSparseMemoryRequirementsInfo2KHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkImageSparseMemoryRequirementsInfo2KHR.hsc

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkImageSubresource.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkImageSubresourceLayers.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkImageSubresourceRange.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkImageSwapchainCreateInfoKHR.hsc view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkImageSwapchainCreateInfoKHX.hsc

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkImageViewCreateInfo.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkImageViewUsageCreateInfo.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkImageViewUsageCreateInfoKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkImageViewUsageCreateInfoKHR.hsc

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkImportAndroidHardwareBufferInfoANDROID.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkImportFenceFdInfoKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkImportFenceWin32HandleInfoKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkImportMemoryFdInfoKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkImportMemoryHostPointerInfoEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkImportMemoryWin32HandleInfoKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkImportMemoryWin32HandleInfoNV.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkImportSemaphoreFdInfoKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkImportSemaphoreWin32HandleInfoKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkIndirectCommandsLayoutCreateInfoNVX.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkIndirectCommandsLayoutTokenNVX.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkIndirectCommandsTokenNVX.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkInputAttachmentAspectReference.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkInputAttachmentAspectReferenceKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkInputAttachmentAspectReferenceKHR.hsc

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkInstanceCreateInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkLayerProperties.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkMacOSSurfaceCreateInfoMVK.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkMappedMemoryRange.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkMemoryAllocateFlagsInfo.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkMemoryAllocateFlagsInfoKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkMemoryAllocateFlagsInfoKHX.hsc

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkMemoryAllocateInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkMemoryBarrier.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkMemoryDedicatedAllocateInfo.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkMemoryDedicatedAllocateInfoKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkMemoryDedicatedAllocateInfoKHR.hsc

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkMemoryDedicatedRequirements.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkMemoryDedicatedRequirementsKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkMemoryDedicatedRequirementsKHR.hsc

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkMemoryFdPropertiesKHR.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkMemoryGetAndroidHardwareBufferInfoANDROID.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkMemoryGetFdInfoKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkMemoryGetWin32HandleInfoKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkMemoryHeap.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkMemoryHostPointerPropertiesEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkMemoryRequirements.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkMemoryRequirements2.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkMemoryRequirements2KHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkMemoryRequirements2KHR.hsc

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkMemoryType.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkMemoryWin32HandlePropertiesKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkMirSurfaceCreateInfoKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkMultisamplePropertiesEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkObjectTableCreateInfoNVX.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkObjectTableDescriptorSetEntryNVX.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkObjectTableEntryNVX.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkObjectTableIndexBufferEntryNVX.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkObjectTablePipelineEntryNVX.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkObjectTablePushConstantEntryNVX.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkObjectTableVertexBufferEntryNVX.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkOffset2D.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkOffset3D.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPastPresentationTimingGOOGLE.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDevice16BitStorageFeatures.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDevice16BitStorageFeaturesKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDevice16BitStorageFeaturesKHR.hsc

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceConservativeRasterizationPropertiesEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceDiscardRectanglePropertiesEXT.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceExternalBufferInfo.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceExternalBufferInfoKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceExternalBufferInfoKHR.hsc

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceExternalFenceInfo.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceExternalFenceInfoKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceExternalFenceInfoKHR.hsc

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceExternalImageFormatInfo.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceExternalImageFormatInfoKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceExternalImageFormatInfoKHR.hsc

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceExternalMemoryHostPropertiesEXT.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceExternalSemaphoreInfo.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceExternalSemaphoreInfoKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceExternalSemaphoreInfoKHR.hsc

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceFeatures.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceFeatures2.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceFeatures2KHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceFeatures2KHR.hsc

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceGroupProperties.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceGroupPropertiesKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceGroupPropertiesKHX.hsc

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceIDProperties.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceIDPropertiesKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceIDPropertiesKHR.hsc

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceImageFormatInfo2.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceImageFormatInfo2KHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceImageFormatInfo2KHR.hsc

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceLimits.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceMaintenance3Properties.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceMaintenance3PropertiesKHR.hs view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceMemoryProperties.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceMemoryProperties2.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceMemoryProperties2KHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceMemoryProperties2KHR.hsc

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceMultiviewFeatures.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceMultiviewFeaturesKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceMultiviewFeaturesKHX.hsc

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceMultiviewProperties.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceMultiviewPropertiesKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceMultiviewPropertiesKHX.hsc

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDevicePointClippingProperties.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDevicePointClippingPropertiesKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDevicePointClippingPropertiesKHR.hsc

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceProperties.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceProperties2.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceProperties2KHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceProperties2KHR.hsc

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceProtectedMemoryFeatures.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceProtectedMemoryProperties.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDevicePushDescriptorPropertiesKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceSampleLocationsPropertiesEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceSamplerYcbcrConversionFeatures.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR.hsc

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceShaderDrawParameterFeatures.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceSparseImageFormatInfo2.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceSparseImageFormatInfo2KHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceSparseImageFormatInfo2KHR.hsc

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceSparseProperties.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceSubgroupProperties.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceSurfaceInfo2KHR.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceVariablePointerFeatures.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceVariablePointerFeaturesKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceVariablePointerFeaturesKHR.hsc

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPipelineCacheCreateInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPipelineColorBlendAdvancedStateCreateInfoEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPipelineColorBlendAttachmentState.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPipelineColorBlendStateCreateInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPipelineCoverageModulationStateCreateInfoNV.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPipelineCoverageToColorStateCreateInfoNV.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPipelineDepthStencilStateCreateInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPipelineDiscardRectangleStateCreateInfoEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPipelineDynamicStateCreateInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPipelineInputAssemblyStateCreateInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPipelineLayoutCreateInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPipelineMultisampleStateCreateInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPipelineRasterizationConservativeStateCreateInfoEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPipelineRasterizationStateCreateInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPipelineRasterizationStateRasterizationOrderAMD.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPipelineSampleLocationsStateCreateInfoEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPipelineShaderStageCreateInfo.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPipelineTessellationDomainOriginStateCreateInfo.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPipelineTessellationDomainOriginStateCreateInfoKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkPipelineTessellationDomainOriginStateCreateInfoKHR.hsc

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPipelineTessellationStateCreateInfo.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPipelineVertexInputDivisorStateCreateInfoEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPipelineVertexInputStateCreateInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPipelineViewportStateCreateInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPipelineViewportSwizzleStateCreateInfoNV.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPipelineViewportWScalingStateCreateInfoNV.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPresentInfoKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPresentRegionKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPresentRegionsKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPresentTimeGOOGLE.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPresentTimesInfoGOOGLE.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkProtectedSubmitInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkPushConstantRange.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkQueryPoolCreateInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkQueueFamilyProperties.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkQueueFamilyProperties2.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkQueueFamilyProperties2KHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkQueueFamilyProperties2KHR.hsc

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkRect2D.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkRectLayerKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkRefreshCycleDurationGOOGLE.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkRenderPassBeginInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkRenderPassCreateInfo.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkRenderPassInputAttachmentAspectCreateInfo.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkRenderPassInputAttachmentAspectCreateInfoKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkRenderPassInputAttachmentAspectCreateInfoKHR.hsc

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkRenderPassMultiviewCreateInfo.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkRenderPassMultiviewCreateInfoKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkRenderPassMultiviewCreateInfoKHX.hsc

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkRenderPassSampleLocationsBeginInfoEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSampleLocationEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSampleLocationsInfoEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSamplerCreateInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSamplerReductionModeCreateInfoEXT.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkSamplerYcbcrConversionCreateInfo.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkSamplerYcbcrConversionCreateInfoKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkSamplerYcbcrConversionCreateInfoKHR.hsc

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkSamplerYcbcrConversionImageFormatProperties.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkSamplerYcbcrConversionImageFormatPropertiesKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkSamplerYcbcrConversionImageFormatPropertiesKHR.hsc

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkSamplerYcbcrConversionInfo.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkSamplerYcbcrConversionInfoKHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkSamplerYcbcrConversionInfoKHR.hsc

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSemaphoreCreateInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSemaphoreGetFdInfoKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSemaphoreGetWin32HandleInfoKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkShaderModuleCreateInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkShaderModuleValidationCacheCreateInfoEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkShaderResourceUsageAMD.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkShaderStatisticsInfoAMD.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSharedPresentSurfaceCapabilitiesKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSparseBufferMemoryBindInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSparseImageFormatProperties.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkSparseImageFormatProperties2.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkSparseImageFormatProperties2KHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkSparseImageFormatProperties2KHR.hsc

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSparseImageMemoryBind.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSparseImageMemoryBindInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSparseImageMemoryRequirements.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkSparseImageMemoryRequirements2.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkSparseImageMemoryRequirements2KHR.hs view

file too large to diff

− src-gen/Graphics/Vulkan/Types/Struct/VkSparseImageMemoryRequirements2KHR.hsc

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSparseImageOpaqueMemoryBindInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSparseMemoryBind.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSpecializationInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSpecializationMapEntry.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkStencilOpState.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSubmitInfo.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSubpassDependency.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSubpassDescription.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSubpassSampleLocationsEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSubresourceLayout.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSurfaceCapabilities2EXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSurfaceCapabilities2KHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSurfaceCapabilitiesKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSurfaceFormat2KHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSurfaceFormatKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSwapchainCounterCreateInfoEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkSwapchainCreateInfoKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkTextureLODGatherFormatPropertiesAMD.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkValidationCacheCreateInfoEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkValidationFlagsEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkVertexInputAttributeDescription.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkVertexInputBindingDescription.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkVertexInputBindingDivisorDescriptionEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkViSurfaceCreateInfoNN.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkViewport.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkViewportSwizzleNV.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkViewportWScalingNV.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkWaylandSurfaceCreateInfoKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkWin32KeyedMutexAcquireReleaseInfoKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkWin32KeyedMutexAcquireReleaseInfoNV.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkWin32SurfaceCreateInfoKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkWriteDescriptorSet.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkXYColorEXT.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkXcbSurfaceCreateInfoKHR.hsc view

file too large to diff

src-gen/Graphics/Vulkan/Types/Struct/VkXlibSurfaceCreateInfoKHR.hsc view

file too large to diff

− src-gen/Graphics/Vulkan/Types/StructMembers.hs

file too large to diff

src/Graphics/Vulkan.hs view

file too large to diff

src/Graphics/Vulkan/Marshal.hs view

file too large to diff

src/Graphics/Vulkan/Marshal/Create.hs view

file too large to diff

src/Graphics/Vulkan/Marshal/Internal.hs view

file too large to diff

vulkan-api.cabal view

file too large to diff