packages feed

vulkan-api (empty) → 0.1.0.0

raw patch · 554 files changed

+173252/−0 lines, 554 filesdep +basedep +ghc-primsetup-changed

Dependencies added: base, ghc-prim

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

Files

+ LICENSE view
@@ -0,0 +1,30 @@+Copyright Artem Chirkin (c) 2018++All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are met:++    * Redistributions of source code must retain the above copyright+      notice, this list of conditions and the following disclaimer.++    * Redistributions in binary form must reproduce the above+      copyright notice, this list of conditions and the following+      disclaimer in the documentation and/or other materials provided+      with the distribution.++    * Neither the name of Artem Chirkin nor the names of other+      contributors may be used to endorse or promote products derived+      from this software without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ include/vulkan/vulkan.h view
@@ -0,0 +1,7047 @@+#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
+ src-gen/Graphics/Vulkan/Constants.hs view
@@ -0,0 +1,137 @@+{-# 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_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_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)+       where+import           Graphics.Vulkan.Marshal++pattern VK_MAX_PHYSICAL_DEVICE_NAME_SIZE :: (Num a, Eq a) => a++pattern VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = 256++type VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = 256++pattern VK_UUID_SIZE :: (Num a, Eq a) => a++pattern VK_UUID_SIZE = 16++type VK_UUID_SIZE = 16++pattern VK_LUID_SIZE_KHR :: (Num a, Eq a) => a++pattern VK_LUID_SIZE_KHR = 8++type VK_LUID_SIZE_KHR = 8++pattern VK_MAX_EXTENSION_NAME_SIZE :: (Num a, Eq a) => a++pattern VK_MAX_EXTENSION_NAME_SIZE = 256++type VK_MAX_EXTENSION_NAME_SIZE = 256++pattern VK_MAX_DESCRIPTION_SIZE :: (Num a, Eq a) => a++pattern VK_MAX_DESCRIPTION_SIZE = 256++type VK_MAX_DESCRIPTION_SIZE = 256++pattern VK_MAX_MEMORY_TYPES :: (Num a, Eq a) => a++pattern VK_MAX_MEMORY_TYPES = 32++type VK_MAX_MEMORY_TYPES = 32++-- | The maximum number of unique memory heaps, each of which supporting 1 or more memory types+pattern VK_MAX_MEMORY_HEAPS :: (Num a, Eq a) => a++pattern VK_MAX_MEMORY_HEAPS = 16++type VK_MAX_MEMORY_HEAPS = 16++pattern VK_LOD_CLAMP_NONE :: (Fractional a, Eq a) => a++pattern VK_LOD_CLAMP_NONE = 1000.0++pattern VK_REMAINING_MIP_LEVELS :: Word32++pattern VK_REMAINING_MIP_LEVELS = 4294967295++type VK_REMAINING_MIP_LEVELS = 4294967295++pattern VK_REMAINING_ARRAY_LAYERS :: Word32++pattern VK_REMAINING_ARRAY_LAYERS = 4294967295++type VK_REMAINING_ARRAY_LAYERS = 4294967295++pattern VK_WHOLE_SIZE :: Word64++pattern VK_WHOLE_SIZE = 18446744073709551615++type VK_WHOLE_SIZE = 18446744073709551615++pattern VK_ATTACHMENT_UNUSED :: Word32++pattern VK_ATTACHMENT_UNUSED = 4294967295++type VK_ATTACHMENT_UNUSED = 4294967295++pattern VK_TRUE :: (Num a, Eq a) => a++pattern VK_TRUE = 1++type VK_TRUE = 1++pattern VK_FALSE :: (Num a, Eq a) => a++pattern VK_FALSE = 0++type VK_FALSE = 0++pattern VK_QUEUE_FAMILY_IGNORED :: Word32++pattern VK_QUEUE_FAMILY_IGNORED = 4294967295++type VK_QUEUE_FAMILY_IGNORED = 4294967295++pattern VK_QUEUE_FAMILY_EXTERNAL_KHR :: Word32++pattern VK_QUEUE_FAMILY_EXTERNAL_KHR = 4294967294++type VK_QUEUE_FAMILY_EXTERNAL_KHR = 4294967294++pattern VK_QUEUE_FAMILY_FOREIGN_EXT :: Word32++pattern VK_QUEUE_FAMILY_FOREIGN_EXT = 4294967293++type VK_QUEUE_FAMILY_FOREIGN_EXT = 4294967293++pattern VK_SUBPASS_EXTERNAL :: Word32++pattern VK_SUBPASS_EXTERNAL = 4294967295++type VK_SUBPASS_EXTERNAL = 4294967295++pattern VK_MAX_DEVICE_GROUP_SIZE_KHX :: (Num a, Eq a) => a++pattern VK_MAX_DEVICE_GROUP_SIZE_KHX = 32++type VK_MAX_DEVICE_GROUP_SIZE_KHX = 32
+ src-gen/Graphics/Vulkan/Core.hsc view
@@ -0,0 +1,3186 @@+#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/Ext.hs view
@@ -0,0 +1,315 @@+{-# LANGUAGE CPP #-}+module Graphics.Vulkan.Ext+    (+      module Graphics.Vulkan.Ext.VK_KHR_surface+    , module Graphics.Vulkan.Ext.VK_KHR_swapchain+    , module Graphics.Vulkan.Ext.VK_KHR_display+    , module Graphics.Vulkan.Ext.VK_KHR_display_swapchain+#ifdef VK_USE_PLATFORM_XLIB_KHR+    , module Graphics.Vulkan.Ext.VK_KHR_xlib_surface+#endif++#ifdef VK_USE_PLATFORM_XCB_KHR+    , module Graphics.Vulkan.Ext.VK_KHR_xcb_surface+#endif++#ifdef VK_USE_PLATFORM_WAYLAND_KHR+    , module Graphics.Vulkan.Ext.VK_KHR_wayland_surface+#endif++#ifdef VK_USE_PLATFORM_MIR_KHR+    , module Graphics.Vulkan.Ext.VK_KHR_mir_surface+#endif++#ifdef VK_USE_PLATFORM_ANDROID_KHR+    , module Graphics.Vulkan.Ext.VK_KHR_android_surface+#endif++#ifdef VK_USE_PLATFORM_WIN32_KHR+    , module Graphics.Vulkan.Ext.VK_KHR_win32_surface+#endif++    , module Graphics.Vulkan.Ext.VK_EXT_debug_report+    , module Graphics.Vulkan.Ext.VK_NV_glsl_shader+    , module Graphics.Vulkan.Ext.VK_EXT_depth_range_unrestricted+    , module Graphics.Vulkan.Ext.VK_KHR_sampler_mirror_clamp_to_edge+    , module Graphics.Vulkan.Ext.VK_IMG_filter_cubic+    , module Graphics.Vulkan.Ext.VK_AMD_rasterization_order+    , module Graphics.Vulkan.Ext.VK_AMD_shader_trinary_minmax+    , module Graphics.Vulkan.Ext.VK_AMD_shader_explicit_vertex_parameter+    , module Graphics.Vulkan.Ext.VK_EXT_debug_marker+    , module Graphics.Vulkan.Ext.VK_AMD_gcn_shader+    , module Graphics.Vulkan.Ext.VK_NV_dedicated_allocation+    , module Graphics.Vulkan.Ext.VK_AMD_draw_indirect_count+    , module Graphics.Vulkan.Ext.VK_AMD_negative_viewport_height+    , module Graphics.Vulkan.Ext.VK_AMD_gpu_shader_half_float+    , module Graphics.Vulkan.Ext.VK_AMD_shader_ballot+    , 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_IMG_format_pvrtc+    , module Graphics.Vulkan.Ext.VK_NV_external_memory_capabilities+    , module Graphics.Vulkan.Ext.VK_NV_external_memory+#ifdef VK_USE_PLATFORM_WIN32_KHR+    , module Graphics.Vulkan.Ext.VK_NV_external_memory_win32+#endif++#ifdef VK_USE_PLATFORM_WIN32_KHR+    , module Graphics.Vulkan.Ext.VK_NV_win32_keyed_mutex+#endif++    , module Graphics.Vulkan.Ext.VK_KHR_get_physical_device_properties2+    , module Graphics.Vulkan.Ext.VK_KHX_device_group+    , module Graphics.Vulkan.Ext.VK_EXT_validation_flags+#ifdef VK_USE_PLATFORM_VI_NN+    , module Graphics.Vulkan.Ext.VK_NN_vi_surface+#endif++    , module Graphics.Vulkan.Ext.VK_KHR_shader_draw_parameters+    , 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_external_memory_capabilities+    , module Graphics.Vulkan.Ext.VK_KHR_external_memory+#ifdef VK_USE_PLATFORM_WIN32_KHR+    , module Graphics.Vulkan.Ext.VK_KHR_external_memory_win32+#endif++    , module Graphics.Vulkan.Ext.VK_KHR_external_memory_fd+#ifdef VK_USE_PLATFORM_WIN32_KHR+    , module Graphics.Vulkan.Ext.VK_KHR_win32_keyed_mutex+#endif++    , module Graphics.Vulkan.Ext.VK_KHR_external_semaphore_capabilities+    , module Graphics.Vulkan.Ext.VK_KHR_external_semaphore+#ifdef VK_USE_PLATFORM_WIN32_KHR+    , module Graphics.Vulkan.Ext.VK_KHR_external_semaphore_win32+#endif++    , module Graphics.Vulkan.Ext.VK_KHR_external_semaphore_fd+    , module Graphics.Vulkan.Ext.VK_KHR_push_descriptor+    , module Graphics.Vulkan.Ext.VK_KHR_16bit_storage+    , module Graphics.Vulkan.Ext.VK_KHR_incremental_present+    , module Graphics.Vulkan.Ext.VK_KHR_descriptor_update_template+    , module Graphics.Vulkan.Ext.VK_NVX_device_generated_commands+    , module Graphics.Vulkan.Ext.VK_NV_clip_space_w_scaling+    , module Graphics.Vulkan.Ext.VK_EXT_direct_mode_display+#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT+    , module Graphics.Vulkan.Ext.VK_EXT_acquire_xlib_display+#endif++    , module Graphics.Vulkan.Ext.VK_EXT_display_surface_counter+    , module Graphics.Vulkan.Ext.VK_EXT_display_control+    , module Graphics.Vulkan.Ext.VK_GOOGLE_display_timing+    , module Graphics.Vulkan.Ext.VK_NV_sample_mask_override_coverage+    , module Graphics.Vulkan.Ext.VK_NV_geometry_shader_passthrough+    , module Graphics.Vulkan.Ext.VK_NV_viewport_array2+    , module Graphics.Vulkan.Ext.VK_NVX_multiview_per_view_attributes+    , module Graphics.Vulkan.Ext.VK_NV_viewport_swizzle+    , module Graphics.Vulkan.Ext.VK_EXT_discard_rectangles+    , module Graphics.Vulkan.Ext.VK_EXT_conservative_rasterization+    , module Graphics.Vulkan.Ext.VK_EXT_swapchain_colorspace+    , module Graphics.Vulkan.Ext.VK_EXT_hdr_metadata+    , module Graphics.Vulkan.Ext.VK_KHR_shared_presentable_image+    , module Graphics.Vulkan.Ext.VK_KHR_external_fence_capabilities+    , module Graphics.Vulkan.Ext.VK_KHR_external_fence+#ifdef VK_USE_PLATFORM_WIN32_KHR+    , module Graphics.Vulkan.Ext.VK_KHR_external_fence_win32+#endif++    , module Graphics.Vulkan.Ext.VK_KHR_external_fence_fd+    , module Graphics.Vulkan.Ext.VK_KHR_maintenance2+    , module Graphics.Vulkan.Ext.VK_KHR_get_surface_capabilities2+    , module Graphics.Vulkan.Ext.VK_KHR_variable_pointers+#ifdef VK_USE_PLATFORM_IOS_MVK+    , module Graphics.Vulkan.Ext.VK_MVK_ios_surface+#endif++#ifdef VK_USE_PLATFORM_MACOS_MVK+    , module Graphics.Vulkan.Ext.VK_MVK_macos_surface+#endif++    , 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_sampler_filter_minmax+    , module Graphics.Vulkan.Ext.VK_KHR_storage_buffer_storage_class+    , module Graphics.Vulkan.Ext.VK_AMD_gpu_shader_int16+    , module Graphics.Vulkan.Ext.VK_AMD_mixed_attachment_samples+    , module Graphics.Vulkan.Ext.VK_AMD_shader_fragment_mask+    , module Graphics.Vulkan.Ext.VK_EXT_shader_stencil_export+    , module Graphics.Vulkan.Ext.VK_EXT_sample_locations+    , module Graphics.Vulkan.Ext.VK_KHR_relaxed_block_layout+    , module Graphics.Vulkan.Ext.VK_KHR_get_memory_requirements2+    , module Graphics.Vulkan.Ext.VK_KHR_image_format_list+    , module Graphics.Vulkan.Ext.VK_EXT_blend_operation_advanced+    , module Graphics.Vulkan.Ext.VK_NV_fragment_coverage_to_color+    , module Graphics.Vulkan.Ext.VK_NV_framebuffer_mixed_samples+    , module Graphics.Vulkan.Ext.VK_NV_fill_rectangle+    , module Graphics.Vulkan.Ext.VK_EXT_post_depth_coverage+    , module Graphics.Vulkan.Ext.VK_KHR_sampler_ycbcr_conversion+    , 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_EXT_global_priority+    , module Graphics.Vulkan.Ext.VK_EXT_external_memory_host+    , module Graphics.Vulkan.Ext.VK_AMD_buffer_marker+    ) where++import Graphics.Vulkan.Ext.VK_KHR_surface+import Graphics.Vulkan.Ext.VK_KHR_swapchain+import Graphics.Vulkan.Ext.VK_KHR_display+import Graphics.Vulkan.Ext.VK_KHR_display_swapchain+#ifdef VK_USE_PLATFORM_XLIB_KHR+import Graphics.Vulkan.Ext.VK_KHR_xlib_surface+#endif++#ifdef VK_USE_PLATFORM_XCB_KHR+import Graphics.Vulkan.Ext.VK_KHR_xcb_surface+#endif++#ifdef VK_USE_PLATFORM_WAYLAND_KHR+import Graphics.Vulkan.Ext.VK_KHR_wayland_surface+#endif++#ifdef VK_USE_PLATFORM_MIR_KHR+import Graphics.Vulkan.Ext.VK_KHR_mir_surface+#endif++#ifdef VK_USE_PLATFORM_ANDROID_KHR+import Graphics.Vulkan.Ext.VK_KHR_android_surface+#endif++#ifdef VK_USE_PLATFORM_WIN32_KHR+import Graphics.Vulkan.Ext.VK_KHR_win32_surface+#endif++import Graphics.Vulkan.Ext.VK_EXT_debug_report+import Graphics.Vulkan.Ext.VK_NV_glsl_shader+import Graphics.Vulkan.Ext.VK_EXT_depth_range_unrestricted+import Graphics.Vulkan.Ext.VK_KHR_sampler_mirror_clamp_to_edge+import Graphics.Vulkan.Ext.VK_IMG_filter_cubic+import Graphics.Vulkan.Ext.VK_AMD_rasterization_order+import Graphics.Vulkan.Ext.VK_AMD_shader_trinary_minmax+import Graphics.Vulkan.Ext.VK_AMD_shader_explicit_vertex_parameter+import Graphics.Vulkan.Ext.VK_EXT_debug_marker+import Graphics.Vulkan.Ext.VK_AMD_gcn_shader+import Graphics.Vulkan.Ext.VK_NV_dedicated_allocation+import Graphics.Vulkan.Ext.VK_AMD_draw_indirect_count+import Graphics.Vulkan.Ext.VK_AMD_negative_viewport_height+import Graphics.Vulkan.Ext.VK_AMD_gpu_shader_half_float+import Graphics.Vulkan.Ext.VK_AMD_shader_ballot+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_IMG_format_pvrtc+import Graphics.Vulkan.Ext.VK_NV_external_memory_capabilities+import Graphics.Vulkan.Ext.VK_NV_external_memory+#ifdef VK_USE_PLATFORM_WIN32_KHR+import Graphics.Vulkan.Ext.VK_NV_external_memory_win32+#endif++#ifdef VK_USE_PLATFORM_WIN32_KHR+import Graphics.Vulkan.Ext.VK_NV_win32_keyed_mutex+#endif++import Graphics.Vulkan.Ext.VK_KHR_get_physical_device_properties2+import Graphics.Vulkan.Ext.VK_KHX_device_group+import Graphics.Vulkan.Ext.VK_EXT_validation_flags+#ifdef VK_USE_PLATFORM_VI_NN+import Graphics.Vulkan.Ext.VK_NN_vi_surface+#endif++import Graphics.Vulkan.Ext.VK_KHR_shader_draw_parameters+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_external_memory_capabilities+import Graphics.Vulkan.Ext.VK_KHR_external_memory+#ifdef VK_USE_PLATFORM_WIN32_KHR+import Graphics.Vulkan.Ext.VK_KHR_external_memory_win32+#endif++import Graphics.Vulkan.Ext.VK_KHR_external_memory_fd+#ifdef VK_USE_PLATFORM_WIN32_KHR+import Graphics.Vulkan.Ext.VK_KHR_win32_keyed_mutex+#endif++import Graphics.Vulkan.Ext.VK_KHR_external_semaphore_capabilities+import Graphics.Vulkan.Ext.VK_KHR_external_semaphore+#ifdef VK_USE_PLATFORM_WIN32_KHR+import Graphics.Vulkan.Ext.VK_KHR_external_semaphore_win32+#endif++import Graphics.Vulkan.Ext.VK_KHR_external_semaphore_fd+import Graphics.Vulkan.Ext.VK_KHR_push_descriptor+import Graphics.Vulkan.Ext.VK_KHR_16bit_storage+import Graphics.Vulkan.Ext.VK_KHR_incremental_present+import Graphics.Vulkan.Ext.VK_KHR_descriptor_update_template+import Graphics.Vulkan.Ext.VK_NVX_device_generated_commands+import Graphics.Vulkan.Ext.VK_NV_clip_space_w_scaling+import Graphics.Vulkan.Ext.VK_EXT_direct_mode_display+#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT+import Graphics.Vulkan.Ext.VK_EXT_acquire_xlib_display+#endif++import Graphics.Vulkan.Ext.VK_EXT_display_surface_counter+import Graphics.Vulkan.Ext.VK_EXT_display_control+import Graphics.Vulkan.Ext.VK_GOOGLE_display_timing+import Graphics.Vulkan.Ext.VK_NV_sample_mask_override_coverage+import Graphics.Vulkan.Ext.VK_NV_geometry_shader_passthrough+import Graphics.Vulkan.Ext.VK_NV_viewport_array2+import Graphics.Vulkan.Ext.VK_NVX_multiview_per_view_attributes+import Graphics.Vulkan.Ext.VK_NV_viewport_swizzle+import Graphics.Vulkan.Ext.VK_EXT_discard_rectangles+import Graphics.Vulkan.Ext.VK_EXT_conservative_rasterization+import Graphics.Vulkan.Ext.VK_EXT_swapchain_colorspace+import Graphics.Vulkan.Ext.VK_EXT_hdr_metadata+import Graphics.Vulkan.Ext.VK_KHR_shared_presentable_image+import Graphics.Vulkan.Ext.VK_KHR_external_fence_capabilities+import Graphics.Vulkan.Ext.VK_KHR_external_fence+#ifdef VK_USE_PLATFORM_WIN32_KHR+import Graphics.Vulkan.Ext.VK_KHR_external_fence_win32+#endif++import Graphics.Vulkan.Ext.VK_KHR_external_fence_fd+import Graphics.Vulkan.Ext.VK_KHR_maintenance2+import Graphics.Vulkan.Ext.VK_KHR_get_surface_capabilities2+import Graphics.Vulkan.Ext.VK_KHR_variable_pointers+#ifdef VK_USE_PLATFORM_IOS_MVK+import Graphics.Vulkan.Ext.VK_MVK_ios_surface+#endif++#ifdef VK_USE_PLATFORM_MACOS_MVK+import Graphics.Vulkan.Ext.VK_MVK_macos_surface+#endif++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_sampler_filter_minmax+import Graphics.Vulkan.Ext.VK_KHR_storage_buffer_storage_class+import Graphics.Vulkan.Ext.VK_AMD_gpu_shader_int16+import Graphics.Vulkan.Ext.VK_AMD_mixed_attachment_samples+import Graphics.Vulkan.Ext.VK_AMD_shader_fragment_mask+import Graphics.Vulkan.Ext.VK_EXT_shader_stencil_export+import Graphics.Vulkan.Ext.VK_EXT_sample_locations+import Graphics.Vulkan.Ext.VK_KHR_relaxed_block_layout+import Graphics.Vulkan.Ext.VK_KHR_get_memory_requirements2+import Graphics.Vulkan.Ext.VK_KHR_image_format_list+import Graphics.Vulkan.Ext.VK_EXT_blend_operation_advanced+import Graphics.Vulkan.Ext.VK_NV_fragment_coverage_to_color+import Graphics.Vulkan.Ext.VK_NV_framebuffer_mixed_samples+import Graphics.Vulkan.Ext.VK_NV_fill_rectangle+import Graphics.Vulkan.Ext.VK_EXT_post_depth_coverage+import Graphics.Vulkan.Ext.VK_KHR_sampler_ycbcr_conversion+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_EXT_global_priority+import Graphics.Vulkan.Ext.VK_EXT_external_memory_host+import Graphics.Vulkan.Ext.VK_AMD_buffer_marker
+ src-gen/Graphics/Vulkan/Ext/VK_AMD_buffer_marker.hs view
@@ -0,0 +1,88 @@+{-# 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_AMD_buffer_marker+       (-- * Vulkan extension: @VK_AMD_buffer_marker@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Daniel Rakos @aqnuep@+        --+        -- author: @AMD@+        --+        -- type: @device@+        --+        -- Extension number: @180@+        vkCmdWriteBufferMarkerAMD, module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkPipelineStageFlags,+        module Graphics.Vulkan.Types.Handles,+        VK_AMD_BUFFER_MARKER_SPEC_VERSION,+        pattern VK_AMD_BUFFER_MARKER_SPEC_VERSION,+        VK_AMD_BUFFER_MARKER_EXTENSION_NAME,+        pattern VK_AMD_BUFFER_MARKER_EXTENSION_NAME)+       where+import           GHC.Ptr                                         (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Enum.VkPipelineStageFlags+import           Graphics.Vulkan.Types.Handles++-- | 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.0-extensions/man/html/vkCmdWriteBufferMarkerAMD.html vkCmdWriteBufferMarkerAMD registry at www.khronos.org>+foreign import ccall unsafe "vkCmdWriteBufferMarkerAMD"+               vkCmdWriteBufferMarkerAMD ::+               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++type VK_AMD_BUFFER_MARKER_SPEC_VERSION = 1++pattern VK_AMD_BUFFER_MARKER_EXTENSION_NAME :: CString++pattern VK_AMD_BUFFER_MARKER_EXTENSION_NAME <-+        (is_VK_AMD_BUFFER_MARKER_EXTENSION_NAME -> True)+  where VK_AMD_BUFFER_MARKER_EXTENSION_NAME+          = _VK_AMD_BUFFER_MARKER_EXTENSION_NAME++{-# INLINE _VK_AMD_BUFFER_MARKER_EXTENSION_NAME #-}++_VK_AMD_BUFFER_MARKER_EXTENSION_NAME :: CString+_VK_AMD_BUFFER_MARKER_EXTENSION_NAME+  = Ptr "VK_AMD_buffer_marker\NUL"#++{-# INLINE is_VK_AMD_BUFFER_MARKER_EXTENSION_NAME #-}++is_VK_AMD_BUFFER_MARKER_EXTENSION_NAME :: CString -> Bool+is_VK_AMD_BUFFER_MARKER_EXTENSION_NAME+  = eqCStrings _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
@@ -0,0 +1,124 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_AMD_draw_indirect_count+       (-- * Vulkan extension: @VK_AMD_draw_indirect_count@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Daniel Rakos @aqnuep@+        --+        -- author: @AMD@+        --+        -- type: @device@+        --+        -- Extension number: @34@+        vkCmdDrawIndirectCountAMD, vkCmdDrawIndexedIndirectCountAMD,+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Handles,+        VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION,+        pattern VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION,+        VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME,+        pattern VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME)+       where+import           GHC.Ptr                         (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Handles++-- | queues: 'graphics'.+--+--   renderpass: @inside@+--+--   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.0-extensions/man/html/vkCmdDrawIndirectCountAMD.html vkCmdDrawIndirectCountAMD registry at www.khronos.org>+foreign import ccall unsafe "vkCmdDrawIndirectCountAMD"+               vkCmdDrawIndirectCountAMD ::+               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+--   >     , VkDeviceSize offset+--   >     , VkBuffer countBuffer+--   >     , VkDeviceSize countBufferOffset+--   >     , uint32_t maxDrawCount+--   >     , uint32_t stride+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdDrawIndexedIndirectCountAMD.html vkCmdDrawIndexedIndirectCountAMD registry at www.khronos.org>+foreign import ccall unsafe "vkCmdDrawIndexedIndirectCountAMD"+               vkCmdDrawIndexedIndirectCountAMD ::+               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++pattern VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION = 1++type VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION = 1++pattern VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME :: CString++pattern VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME <-+        (is_VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME -> True)+  where VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME+          = _VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME++{-# INLINE _VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME #-}++_VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME :: CString+_VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME+  = Ptr "VK_AMD_draw_indirect_count\NUL"#++{-# INLINE is_VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME #-}++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++type VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME =+     "VK_AMD_draw_indirect_count"
+ src-gen/Graphics/Vulkan/Ext/VK_AMD_gcn_shader.hs view
@@ -0,0 +1,52 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_AMD_gcn_shader+       (-- * Vulkan extension: @VK_AMD_gcn_shader@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @dominik.witczak@amd.com@+        --+        -- author: @AMD@+        --+        -- type: @device@+        --+        -- Extension number: @26@+        VK_AMD_GCN_SHADER_SPEC_VERSION,+        pattern VK_AMD_GCN_SHADER_SPEC_VERSION,+        VK_AMD_GCN_SHADER_EXTENSION_NAME,+        pattern VK_AMD_GCN_SHADER_EXTENSION_NAME)+       where+import           GHC.Ptr                 (Ptr (..))+import           Graphics.Vulkan.Marshal++pattern VK_AMD_GCN_SHADER_SPEC_VERSION :: (Num a, Eq a) => a++pattern VK_AMD_GCN_SHADER_SPEC_VERSION = 1++type VK_AMD_GCN_SHADER_SPEC_VERSION = 1++pattern VK_AMD_GCN_SHADER_EXTENSION_NAME :: CString++pattern VK_AMD_GCN_SHADER_EXTENSION_NAME <-+        (is_VK_AMD_GCN_SHADER_EXTENSION_NAME -> True)+  where VK_AMD_GCN_SHADER_EXTENSION_NAME+          = _VK_AMD_GCN_SHADER_EXTENSION_NAME++{-# INLINE _VK_AMD_GCN_SHADER_EXTENSION_NAME #-}++_VK_AMD_GCN_SHADER_EXTENSION_NAME :: CString+_VK_AMD_GCN_SHADER_EXTENSION_NAME = Ptr "VK_AMD_gcn_shader\NUL"#++{-# INLINE is_VK_AMD_GCN_SHADER_EXTENSION_NAME #-}++is_VK_AMD_GCN_SHADER_EXTENSION_NAME :: CString -> Bool+is_VK_AMD_GCN_SHADER_EXTENSION_NAME+  = eqCStrings _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
@@ -0,0 +1,55 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_AMD_gpu_shader_half_float+       (-- * Vulkan extension: @VK_AMD_gpu_shader_half_float@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Dominik Witczak @dominikwitczak_amd@+        --+        -- author: @AMD@+        --+        -- type: @device@+        --+        -- Extension number: @37@+        VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION,+        pattern VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION,+        VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME,+        pattern VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME)+       where+import           GHC.Ptr                 (Ptr (..))+import           Graphics.Vulkan.Marshal++pattern VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION = 1++type VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION = 1++pattern VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME :: CString++pattern VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME <-+        (is_VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME -> True)+  where VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME+          = _VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME++{-# INLINE _VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME #-}++_VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME :: CString+_VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME+  = Ptr "VK_AMD_gpu_shader_half_float\NUL"#++{-# INLINE is_VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME #-}++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++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
@@ -0,0 +1,54 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_AMD_gpu_shader_int16+       (-- * Vulkan extension: @VK_AMD_gpu_shader_int16@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @quentin.lin@amd.com@+        --+        -- author: @AMD@+        --+        -- type: @device@+        --+        -- Extension number: @133@+        VK_AMD_GPU_SHADER_INT16_SPEC_VERSION,+        pattern VK_AMD_GPU_SHADER_INT16_SPEC_VERSION,+        VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME,+        pattern VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME)+       where+import           GHC.Ptr                 (Ptr (..))+import           Graphics.Vulkan.Marshal++pattern VK_AMD_GPU_SHADER_INT16_SPEC_VERSION :: (Num a, Eq a) => a++pattern VK_AMD_GPU_SHADER_INT16_SPEC_VERSION = 1++type VK_AMD_GPU_SHADER_INT16_SPEC_VERSION = 1++pattern VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME :: CString++pattern VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME <-+        (is_VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME -> True)+  where VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME+          = _VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME++{-# INLINE _VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME #-}++_VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME :: CString+_VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME+  = Ptr "VK_AMD_gpu_shader_int16\NUL"#++{-# INLINE is_VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME #-}++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++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
@@ -0,0 +1,56 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_AMD_mixed_attachment_samples+       (-- * Vulkan extension: @VK_AMD_mixed_attachment_samples@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Matthaeus G. Chajdas @anteru@+        --+        -- author: @AMD@+        --+        -- type: @device@+        --+        -- Extension number: @137@+        VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION,+        pattern VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION,+        VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME,+        pattern VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME)+       where+import           GHC.Ptr                 (Ptr (..))+import           Graphics.Vulkan.Marshal++pattern VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION = 1++type VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION = 1++pattern VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME :: CString++pattern VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME <-+        (is_VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME -> True)+  where VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME+          = _VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME++{-# INLINE _VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME #-}++_VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME :: CString+_VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME+  = Ptr "VK_AMD_mixed_attachment_samples\NUL"#++{-# INLINE is_VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME #-}++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++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
@@ -0,0 +1,56 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_AMD_negative_viewport_height+       (-- * Vulkan extension: @VK_AMD_negative_viewport_height@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Matthaeus G. Chajdas @anteru@+        --+        -- author: @AMD@+        --+        -- type: @device@+        --+        -- Extension number: @36@+        VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION,+        pattern VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION,+        VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME,+        pattern VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME)+       where+import           GHC.Ptr                 (Ptr (..))+import           Graphics.Vulkan.Marshal++pattern VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION = 1++type VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION = 1++pattern VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME :: CString++pattern VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME <-+        (is_VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME -> True)+  where VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME+          = _VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME++{-# INLINE _VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME #-}++_VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME :: CString+_VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME+  = Ptr "VK_AMD_negative_viewport_height\NUL"#++{-# INLINE is_VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME #-}++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++type VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME =+     "VK_AMD_negative_viewport_height"
+ src-gen/Graphics/Vulkan/Ext/VK_AMD_rasterization_order.hs view
@@ -0,0 +1,82 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_AMD_rasterization_order+       (-- * Vulkan extension: @VK_AMD_rasterization_order@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Daniel Rakos @aqnuep@+        --+        -- author: @AMD@+        --+        -- type: @device@+        --+        -- Extension number: @19@+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkCullModeFlags,+        module Graphics.Vulkan.Types.Enum.VkFrontFace,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkPipelineRasterizationStateCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkPipelineRasterizationStateRasterizationOrderAMD,+        module Graphics.Vulkan.Types.Enum.VkPolygonMode,+        module Graphics.Vulkan.Types.Enum.VkRasterizationOrderAMD,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        -- > #include "vk_platform.h"+        VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION,+        pattern VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION,+        VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME,+        pattern VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD)+       where+import           GHC.Ptr+                                                                                                 (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Bitmasks+import           Graphics.Vulkan.Types.Enum.VkCullModeFlags+import           Graphics.Vulkan.Types.Enum.VkFrontFace+import           Graphics.Vulkan.Types.Enum.VkPolygonMode+import           Graphics.Vulkan.Types.Enum.VkRasterizationOrderAMD+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Struct.VkPipelineRasterizationStateCreateInfo+import           Graphics.Vulkan.Types.Struct.VkPipelineRasterizationStateRasterizationOrderAMD++pattern VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION :: (Num a, Eq a) =>+        a++pattern VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION = 1++type VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION = 1++pattern VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME :: CString++pattern VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME <-+        (is_VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME -> True)+  where VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME+          = _VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME++{-# INLINE _VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME #-}++_VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME :: CString+_VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME+  = Ptr "VK_AMD_rasterization_order\NUL"#++{-# INLINE is_VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME #-}++is_VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME :: CString -> Bool+is_VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME+  = eqCStrings _VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME++type VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME =+     "VK_AMD_rasterization_order"++pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD+        = VkStructureType 1000018000
+ src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_ballot.hs view
@@ -0,0 +1,53 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_AMD_shader_ballot+       (-- * Vulkan extension: @VK_AMD_shader_ballot@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Dominik Witczak @dominikwitczak_amd@+        --+        -- author: @AMD@+        --+        -- type: @device@+        --+        -- Extension number: @38@+        VK_AMD_SHADER_BALLOT_SPEC_VERSION,+        pattern VK_AMD_SHADER_BALLOT_SPEC_VERSION,+        VK_AMD_SHADER_BALLOT_EXTENSION_NAME,+        pattern VK_AMD_SHADER_BALLOT_EXTENSION_NAME)+       where+import           GHC.Ptr                 (Ptr (..))+import           Graphics.Vulkan.Marshal++pattern VK_AMD_SHADER_BALLOT_SPEC_VERSION :: (Num a, Eq a) => a++pattern VK_AMD_SHADER_BALLOT_SPEC_VERSION = 1++type VK_AMD_SHADER_BALLOT_SPEC_VERSION = 1++pattern VK_AMD_SHADER_BALLOT_EXTENSION_NAME :: CString++pattern VK_AMD_SHADER_BALLOT_EXTENSION_NAME <-+        (is_VK_AMD_SHADER_BALLOT_EXTENSION_NAME -> True)+  where VK_AMD_SHADER_BALLOT_EXTENSION_NAME+          = _VK_AMD_SHADER_BALLOT_EXTENSION_NAME++{-# INLINE _VK_AMD_SHADER_BALLOT_EXTENSION_NAME #-}++_VK_AMD_SHADER_BALLOT_EXTENSION_NAME :: CString+_VK_AMD_SHADER_BALLOT_EXTENSION_NAME+  = Ptr "VK_AMD_shader_ballot\NUL"#++{-# INLINE is_VK_AMD_SHADER_BALLOT_EXTENSION_NAME #-}++is_VK_AMD_SHADER_BALLOT_EXTENSION_NAME :: CString -> Bool+is_VK_AMD_SHADER_BALLOT_EXTENSION_NAME+  = eqCStrings _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
@@ -0,0 +1,60 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_AMD_shader_explicit_vertex_parameter+       (-- * Vulkan extension: @VK_AMD_shader_explicit_vertex_parameter@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @quentin.lin@amd.com@+        --+        -- author: @AMD@+        --+        -- type: @device@+        --+        -- Extension number: @22@+        VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION,+        pattern VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION,+        VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME,+        pattern VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME)+       where+import           GHC.Ptr                 (Ptr (..))+import           Graphics.Vulkan.Marshal++pattern VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION = 1++type VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION = 1++pattern VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME ::+        CString++pattern VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME <-+        (is_VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME -> True)+  where VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME+          = _VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME++{-# INLINE _VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME+           #-}++_VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME :: CString+_VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME+  = Ptr "VK_AMD_shader_explicit_vertex_parameter\NUL"#++{-# INLINE is_VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME+           #-}++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++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
@@ -0,0 +1,55 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_AMD_shader_fragment_mask+       (-- * Vulkan extension: @VK_AMD_shader_fragment_mask@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Aaron Hagan @ahagan@+        --+        -- author: @AMD@+        --+        -- type: @device@+        --+        -- Extension number: @138@+        VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION,+        pattern VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION,+        VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME,+        pattern VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME)+       where+import           GHC.Ptr                 (Ptr (..))+import           Graphics.Vulkan.Marshal++pattern VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION = 1++type VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION = 1++pattern VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME :: CString++pattern VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME <-+        (is_VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME -> True)+  where VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME+          = _VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME++{-# INLINE _VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME #-}++_VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME :: CString+_VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME+  = Ptr "VK_AMD_shader_fragment_mask\NUL"#++{-# INLINE is_VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME #-}++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++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
@@ -0,0 +1,57 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_AMD_shader_image_load_store_lod+       (-- * Vulkan extension: @VK_AMD_shader_image_load_store_lod@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Dominik Witczak @dominikwitczak_amd@+        --+        -- author: @AMD@+        --+        -- type: @device@+        --+        -- Extension number: @47@+        VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION,+        pattern VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION,+        VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME,+        pattern VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME)+       where+import           GHC.Ptr                 (Ptr (..))+import           Graphics.Vulkan.Marshal++pattern VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION = 1++type VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION = 1++pattern VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME ::+        CString++pattern VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME <-+        (is_VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME -> True)+  where VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME+          = _VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME++{-# INLINE _VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME #-}++_VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME :: CString+_VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME+  = Ptr "VK_AMD_shader_image_load_store_lod\NUL"#++{-# INLINE is_VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME #-}++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++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
@@ -0,0 +1,97 @@+{-# 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_AMD_shader_info+       (-- * Vulkan extension: @VK_AMD_shader_info@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jaakko Konttinen @jaakko@+        --+        -- author: @AMD@+        --+        -- type: @device@+        --+        -- Extension number: @43@+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkShaderInfoTypeAMD,+        module Graphics.Vulkan.Types.Struct.VkShaderResourceUsageAMD,+        module Graphics.Vulkan.Types.Enum.VkShaderStageFlags,+        module Graphics.Vulkan.Types.Struct.VkShaderStatisticsInfoAMD,+        -- > #include "vk_platform.h"+        vkGetShaderInfoAMD, module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Handles,+        VK_AMD_SHADER_INFO_SPEC_VERSION,+        pattern VK_AMD_SHADER_INFO_SPEC_VERSION,+        VK_AMD_SHADER_INFO_EXTENSION_NAME,+        pattern VK_AMD_SHADER_INFO_EXTENSION_NAME)+       where+import           GHC.Ptr                                                (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkShaderInfoTypeAMD+import           Graphics.Vulkan.Types.Enum.VkShaderStageFlags+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkShaderResourceUsageAMD+import           Graphics.Vulkan.Types.Struct.VkShaderStatisticsInfoAMD++-- | 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.0-extensions/man/html/vkGetShaderInfoAMD.html vkGetShaderInfoAMD registry at www.khronos.org>+foreign import ccall unsafe "vkGetShaderInfoAMD" vkGetShaderInfoAMD+               ::+               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++type VK_AMD_SHADER_INFO_SPEC_VERSION = 1++pattern VK_AMD_SHADER_INFO_EXTENSION_NAME :: CString++pattern VK_AMD_SHADER_INFO_EXTENSION_NAME <-+        (is_VK_AMD_SHADER_INFO_EXTENSION_NAME -> True)+  where VK_AMD_SHADER_INFO_EXTENSION_NAME+          = _VK_AMD_SHADER_INFO_EXTENSION_NAME++{-# INLINE _VK_AMD_SHADER_INFO_EXTENSION_NAME #-}++_VK_AMD_SHADER_INFO_EXTENSION_NAME :: CString+_VK_AMD_SHADER_INFO_EXTENSION_NAME = Ptr "VK_AMD_shader_info\NUL"#++{-# INLINE is_VK_AMD_SHADER_INFO_EXTENSION_NAME #-}++is_VK_AMD_SHADER_INFO_EXTENSION_NAME :: CString -> Bool+is_VK_AMD_SHADER_INFO_EXTENSION_NAME+  = eqCStrings _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
@@ -0,0 +1,55 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_AMD_shader_trinary_minmax+       (-- * Vulkan extension: @VK_AMD_shader_trinary_minmax@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @quentin.lin@amd.com@+        --+        -- author: @AMD@+        --+        -- type: @device@+        --+        -- Extension number: @21@+        VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION,+        pattern VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION,+        VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME,+        pattern VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME)+       where+import           GHC.Ptr                 (Ptr (..))+import           Graphics.Vulkan.Marshal++pattern VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION = 1++type VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION = 1++pattern VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME :: CString++pattern VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME <-+        (is_VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME -> True)+  where VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME+          = _VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME++{-# INLINE _VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME #-}++_VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME :: CString+_VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME+  = Ptr "VK_AMD_shader_trinary_minmax\NUL"#++{-# INLINE is_VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME #-}++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++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
@@ -0,0 +1,83 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_AMD_texture_gather_bias_lod+       (-- * Vulkan extension: @VK_AMD_texture_gather_bias_lod@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Rex Xu @amdrexu@+        --+        -- author: @AMD@+        --+        -- type: @device@+        --+        -- Extension number: @42@+        --+        -- Required extensions: 'VK_KHR_get_physical_device_properties2'.+        --++        -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.+        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.Enum.VkSampleCountFlags,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Struct.VkTextureLODGatherFormatPropertiesAMD,+        -- > #include "vk_platform.h"+        VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION,+        pattern VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION,+        VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME,+        pattern VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD)+       where+import           GHC.Ptr+                                                                                     (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags+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.VkTextureLODGatherFormatPropertiesAMD++pattern VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION = 1++type VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION = 1++pattern VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME :: CString++pattern VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME <-+        (is_VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME -> True)+  where VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME+          = _VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME++{-# INLINE _VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME #-}++_VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME :: CString+_VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME+  = Ptr "VK_AMD_texture_gather_bias_lod\NUL"#++{-# INLINE is_VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME #-}++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++type VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME =+     "VK_AMD_texture_gather_bias_lod"++pattern VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD+        = VkStructureType 1000041000
+ src-gen/Graphics/Vulkan/Ext/VK_EXT_acquire_xlib_display.hs view
@@ -0,0 +1,106 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_EXT_acquire_xlib_display+       (-- * Vulkan extension: @VK_EXT_acquire_xlib_display@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @James Jones @cubanismo@+        --+        -- author: @NV@+        --+        -- type: @instance@+        --+        -- 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,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Handles,+        VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION,+        pattern VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION,+        VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME,+        pattern VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME)+       where+import           GHC.Ptr                             (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Include       (Display, RROutput)++-- | 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.0-extensions/man/html/vkAcquireXlibDisplayEXT.html vkAcquireXlibDisplayEXT registry at www.khronos.org>+foreign import ccall unsafe "vkAcquireXlibDisplayEXT"+               vkAcquireXlibDisplayEXT ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr Display -- ^ dpy+                                               -> VkDisplayKHR -- ^ display+                                                               -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   > VkResult vkGetRandROutputDisplayEXT+--   >     ( VkPhysicalDevice physicalDevice+--   >     , Display* dpy+--   >     , RROutput rrOutput+--   >     , VkDisplayKHR* pDisplay+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetRandROutputDisplayEXT.html vkGetRandROutputDisplayEXT registry at www.khronos.org>+foreign import ccall unsafe "vkGetRandROutputDisplayEXT"+               vkGetRandROutputDisplayEXT ::+               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++pattern VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION = 1++type VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION = 1++pattern VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME :: CString++pattern VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME <-+        (is_VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME -> True)+  where VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME+          = _VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME++{-# INLINE _VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME #-}++_VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME :: CString+_VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME+  = Ptr "VK_EXT_acquire_xlib_display\NUL"#++{-# INLINE is_VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME #-}++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++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
@@ -0,0 +1,353 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_EXT_blend_operation_advanced+       (-- * Vulkan extension: @VK_EXT_blend_operation_advanced@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jeff Bolz @jbolz@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- Extension number: @149@+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.Enum.VkBlendFactor,+        module Graphics.Vulkan.Types.Enum.VkBlendOp,+        module Graphics.Vulkan.Types.Enum.VkBlendOverlapEXT,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkColorComponentFlags,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo,+        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.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.Struct.VkPipelineColorBlendAdvancedStateCreateInfoEXT,+        module Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAttachmentState,+        module Graphics.Vulkan.Types.Struct.VkPipelineColorBlendStateCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        -- > #include "vk_platform.h"+        VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION,+        pattern VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION,+        VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME,+        pattern VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT,+        pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT,+        pattern VK_BLEND_OP_ZERO_EXT, pattern VK_BLEND_OP_SRC_EXT,+        pattern VK_BLEND_OP_DST_EXT, pattern VK_BLEND_OP_SRC_OVER_EXT,+        pattern VK_BLEND_OP_DST_OVER_EXT, pattern VK_BLEND_OP_SRC_IN_EXT,+        pattern VK_BLEND_OP_DST_IN_EXT, pattern VK_BLEND_OP_SRC_OUT_EXT,+        pattern VK_BLEND_OP_DST_OUT_EXT, pattern VK_BLEND_OP_SRC_ATOP_EXT,+        pattern VK_BLEND_OP_DST_ATOP_EXT, pattern VK_BLEND_OP_XOR_EXT,+        pattern VK_BLEND_OP_MULTIPLY_EXT, pattern VK_BLEND_OP_SCREEN_EXT,+        pattern VK_BLEND_OP_OVERLAY_EXT, pattern VK_BLEND_OP_DARKEN_EXT,+        pattern VK_BLEND_OP_LIGHTEN_EXT,+        pattern VK_BLEND_OP_COLORDODGE_EXT,+        pattern VK_BLEND_OP_COLORBURN_EXT,+        pattern VK_BLEND_OP_HARDLIGHT_EXT,+        pattern VK_BLEND_OP_SOFTLIGHT_EXT,+        pattern VK_BLEND_OP_DIFFERENCE_EXT,+        pattern VK_BLEND_OP_EXCLUSION_EXT, pattern VK_BLEND_OP_INVERT_EXT,+        pattern VK_BLEND_OP_INVERT_RGB_EXT,+        pattern VK_BLEND_OP_LINEARDODGE_EXT,+        pattern VK_BLEND_OP_LINEARBURN_EXT,+        pattern VK_BLEND_OP_VIVIDLIGHT_EXT,+        pattern VK_BLEND_OP_LINEARLIGHT_EXT,+        pattern VK_BLEND_OP_PINLIGHT_EXT, pattern VK_BLEND_OP_HARDMIX_EXT,+        pattern VK_BLEND_OP_HSL_HUE_EXT,+        pattern VK_BLEND_OP_HSL_SATURATION_EXT,+        pattern VK_BLEND_OP_HSL_COLOR_EXT,+        pattern VK_BLEND_OP_HSL_LUMINOSITY_EXT,+        pattern VK_BLEND_OP_PLUS_EXT, pattern VK_BLEND_OP_PLUS_CLAMPED_EXT,+        pattern VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT,+        pattern VK_BLEND_OP_PLUS_DARKER_EXT, pattern VK_BLEND_OP_MINUS_EXT,+        pattern VK_BLEND_OP_MINUS_CLAMPED_EXT,+        pattern VK_BLEND_OP_CONTRAST_EXT,+        pattern VK_BLEND_OP_INVERT_OVG_EXT, pattern VK_BLEND_OP_RED_EXT,+        pattern VK_BLEND_OP_GREEN_EXT, pattern VK_BLEND_OP_BLUE_EXT,+        pattern VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_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.VkAccessFlags+                                                                                                   (VkAccessBitmask (..),+                                                                                                   VkAccessFlagBits)+import           Graphics.Vulkan.Types.Enum.VkBlendFactor+import           Graphics.Vulkan.Types.Enum.VkBlendOp+import           Graphics.Vulkan.Types.Enum.VkBlendOverlapEXT+import           Graphics.Vulkan.Types.Enum.VkColorComponentFlags+import           Graphics.Vulkan.Types.Enum.VkLogicOp+import           Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType+import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo+import           Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo+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.VkPhysicalDeviceLimits+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties+import           Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAdvancedStateCreateInfoEXT+import           Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAttachmentState+import           Graphics.Vulkan.Types.Struct.VkPipelineColorBlendStateCreateInfo++pattern VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION = 2++type VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION = 2++pattern VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME :: CString++pattern VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME <-+        (is_VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME -> True)+  where VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME+          = _VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME++{-# INLINE _VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME #-}++_VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME :: CString+_VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME+  = Ptr "VK_EXT_blend_operation_advanced\NUL"#++{-# INLINE is_VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME #-}++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++type VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME =+     "VK_EXT_blend_operation_advanced"++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT+        = VkStructureType 1000148000++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT+        = VkStructureType 1000148001++pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT+        = VkStructureType 1000148002++pattern VK_BLEND_OP_ZERO_EXT :: VkBlendOp++pattern VK_BLEND_OP_ZERO_EXT = VkBlendOp 1000148000++pattern VK_BLEND_OP_SRC_EXT :: VkBlendOp++pattern VK_BLEND_OP_SRC_EXT = VkBlendOp 1000148001++pattern VK_BLEND_OP_DST_EXT :: VkBlendOp++pattern VK_BLEND_OP_DST_EXT = VkBlendOp 1000148002++pattern VK_BLEND_OP_SRC_OVER_EXT :: VkBlendOp++pattern VK_BLEND_OP_SRC_OVER_EXT = VkBlendOp 1000148003++pattern VK_BLEND_OP_DST_OVER_EXT :: VkBlendOp++pattern VK_BLEND_OP_DST_OVER_EXT = VkBlendOp 1000148004++pattern VK_BLEND_OP_SRC_IN_EXT :: VkBlendOp++pattern VK_BLEND_OP_SRC_IN_EXT = VkBlendOp 1000148005++pattern VK_BLEND_OP_DST_IN_EXT :: VkBlendOp++pattern VK_BLEND_OP_DST_IN_EXT = VkBlendOp 1000148006++pattern VK_BLEND_OP_SRC_OUT_EXT :: VkBlendOp++pattern VK_BLEND_OP_SRC_OUT_EXT = VkBlendOp 1000148007++pattern VK_BLEND_OP_DST_OUT_EXT :: VkBlendOp++pattern VK_BLEND_OP_DST_OUT_EXT = VkBlendOp 1000148008++pattern VK_BLEND_OP_SRC_ATOP_EXT :: VkBlendOp++pattern VK_BLEND_OP_SRC_ATOP_EXT = VkBlendOp 1000148009++pattern VK_BLEND_OP_DST_ATOP_EXT :: VkBlendOp++pattern VK_BLEND_OP_DST_ATOP_EXT = VkBlendOp 1000148010++pattern VK_BLEND_OP_XOR_EXT :: VkBlendOp++pattern VK_BLEND_OP_XOR_EXT = VkBlendOp 1000148011++pattern VK_BLEND_OP_MULTIPLY_EXT :: VkBlendOp++pattern VK_BLEND_OP_MULTIPLY_EXT = VkBlendOp 1000148012++pattern VK_BLEND_OP_SCREEN_EXT :: VkBlendOp++pattern VK_BLEND_OP_SCREEN_EXT = VkBlendOp 1000148013++pattern VK_BLEND_OP_OVERLAY_EXT :: VkBlendOp++pattern VK_BLEND_OP_OVERLAY_EXT = VkBlendOp 1000148014++pattern VK_BLEND_OP_DARKEN_EXT :: VkBlendOp++pattern VK_BLEND_OP_DARKEN_EXT = VkBlendOp 1000148015++pattern VK_BLEND_OP_LIGHTEN_EXT :: VkBlendOp++pattern VK_BLEND_OP_LIGHTEN_EXT = VkBlendOp 1000148016++pattern VK_BLEND_OP_COLORDODGE_EXT :: VkBlendOp++pattern VK_BLEND_OP_COLORDODGE_EXT = VkBlendOp 1000148017++pattern VK_BLEND_OP_COLORBURN_EXT :: VkBlendOp++pattern VK_BLEND_OP_COLORBURN_EXT = VkBlendOp 1000148018++pattern VK_BLEND_OP_HARDLIGHT_EXT :: VkBlendOp++pattern VK_BLEND_OP_HARDLIGHT_EXT = VkBlendOp 1000148019++pattern VK_BLEND_OP_SOFTLIGHT_EXT :: VkBlendOp++pattern VK_BLEND_OP_SOFTLIGHT_EXT = VkBlendOp 1000148020++pattern VK_BLEND_OP_DIFFERENCE_EXT :: VkBlendOp++pattern VK_BLEND_OP_DIFFERENCE_EXT = VkBlendOp 1000148021++pattern VK_BLEND_OP_EXCLUSION_EXT :: VkBlendOp++pattern VK_BLEND_OP_EXCLUSION_EXT = VkBlendOp 1000148022++pattern VK_BLEND_OP_INVERT_EXT :: VkBlendOp++pattern VK_BLEND_OP_INVERT_EXT = VkBlendOp 1000148023++pattern VK_BLEND_OP_INVERT_RGB_EXT :: VkBlendOp++pattern VK_BLEND_OP_INVERT_RGB_EXT = VkBlendOp 1000148024++pattern VK_BLEND_OP_LINEARDODGE_EXT :: VkBlendOp++pattern VK_BLEND_OP_LINEARDODGE_EXT = VkBlendOp 1000148025++pattern VK_BLEND_OP_LINEARBURN_EXT :: VkBlendOp++pattern VK_BLEND_OP_LINEARBURN_EXT = VkBlendOp 1000148026++pattern VK_BLEND_OP_VIVIDLIGHT_EXT :: VkBlendOp++pattern VK_BLEND_OP_VIVIDLIGHT_EXT = VkBlendOp 1000148027++pattern VK_BLEND_OP_LINEARLIGHT_EXT :: VkBlendOp++pattern VK_BLEND_OP_LINEARLIGHT_EXT = VkBlendOp 1000148028++pattern VK_BLEND_OP_PINLIGHT_EXT :: VkBlendOp++pattern VK_BLEND_OP_PINLIGHT_EXT = VkBlendOp 1000148029++pattern VK_BLEND_OP_HARDMIX_EXT :: VkBlendOp++pattern VK_BLEND_OP_HARDMIX_EXT = VkBlendOp 1000148030++pattern VK_BLEND_OP_HSL_HUE_EXT :: VkBlendOp++pattern VK_BLEND_OP_HSL_HUE_EXT = VkBlendOp 1000148031++pattern VK_BLEND_OP_HSL_SATURATION_EXT :: VkBlendOp++pattern VK_BLEND_OP_HSL_SATURATION_EXT = VkBlendOp 1000148032++pattern VK_BLEND_OP_HSL_COLOR_EXT :: VkBlendOp++pattern VK_BLEND_OP_HSL_COLOR_EXT = VkBlendOp 1000148033++pattern VK_BLEND_OP_HSL_LUMINOSITY_EXT :: VkBlendOp++pattern VK_BLEND_OP_HSL_LUMINOSITY_EXT = VkBlendOp 1000148034++pattern VK_BLEND_OP_PLUS_EXT :: VkBlendOp++pattern VK_BLEND_OP_PLUS_EXT = VkBlendOp 1000148035++pattern VK_BLEND_OP_PLUS_CLAMPED_EXT :: VkBlendOp++pattern VK_BLEND_OP_PLUS_CLAMPED_EXT = VkBlendOp 1000148036++pattern VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT :: VkBlendOp++pattern VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = VkBlendOp 1000148037++pattern VK_BLEND_OP_PLUS_DARKER_EXT :: VkBlendOp++pattern VK_BLEND_OP_PLUS_DARKER_EXT = VkBlendOp 1000148038++pattern VK_BLEND_OP_MINUS_EXT :: VkBlendOp++pattern VK_BLEND_OP_MINUS_EXT = VkBlendOp 1000148039++pattern VK_BLEND_OP_MINUS_CLAMPED_EXT :: VkBlendOp++pattern VK_BLEND_OP_MINUS_CLAMPED_EXT = VkBlendOp 1000148040++pattern VK_BLEND_OP_CONTRAST_EXT :: VkBlendOp++pattern VK_BLEND_OP_CONTRAST_EXT = VkBlendOp 1000148041++pattern VK_BLEND_OP_INVERT_OVG_EXT :: VkBlendOp++pattern VK_BLEND_OP_INVERT_OVG_EXT = VkBlendOp 1000148042++pattern VK_BLEND_OP_RED_EXT :: VkBlendOp++pattern VK_BLEND_OP_RED_EXT = VkBlendOp 1000148043++pattern VK_BLEND_OP_GREEN_EXT :: VkBlendOp++pattern VK_BLEND_OP_GREEN_EXT = VkBlendOp 1000148044++pattern VK_BLEND_OP_BLUE_EXT :: VkBlendOp++pattern VK_BLEND_OP_BLUE_EXT = VkBlendOp 1000148045++-- | bitpos = @19@+pattern VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT ::+        VkAccessFlagBits++pattern VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT =+        VkAccessFlagBits 524288
+ src-gen/Graphics/Vulkan/Ext/VK_EXT_conservative_rasterization.hs view
@@ -0,0 +1,110 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_EXT_conservative_rasterization+       (-- * Vulkan extension: @VK_EXT_conservative_rasterization@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Piers Daniell @pdaniell@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- Extension number: @102@+        --+        -- 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.VkConservativeRasterizationModeEXT,+        module Graphics.Vulkan.Types.Enum.VkCullModeFlags,+        module Graphics.Vulkan.Types.Enum.VkFrontFace,+        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.VkPhysicalDeviceSparseProperties,+        module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkPipelineRasterizationConservativeStateCreateInfoEXT,+        module Graphics.Vulkan.Types.Struct.VkPipelineRasterizationStateCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkPolygonMode,+        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        -- > #include "vk_platform.h"+        VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION,+        pattern VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION,+        VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME,+        pattern VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT,+        pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_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.VkConservativeRasterizationModeEXT+import           Graphics.Vulkan.Types.Enum.VkCullModeFlags+import           Graphics.Vulkan.Types.Enum.VkFrontFace+import           Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType+import           Graphics.Vulkan.Types.Enum.VkPolygonMode+import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags+import           Graphics.Vulkan.Types.Enum.VkStructureType+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.VkPhysicalDeviceSparseProperties+import           Graphics.Vulkan.Types.Struct.VkPipelineRasterizationConservativeStateCreateInfoEXT+import           Graphics.Vulkan.Types.Struct.VkPipelineRasterizationStateCreateInfo++pattern VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION = 1++type VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION = 1++pattern VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME :: CString++pattern VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME <-+        (is_VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME -> True)+  where VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME+          = _VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME++{-# INLINE _VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME #-}++_VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME :: CString+_VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME+  = Ptr "VK_EXT_conservative_rasterization\NUL"#++{-# INLINE is_VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME #-}++is_VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME ::+                                                    CString -> Bool+is_VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME+  = eqCStrings _VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME++type VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME =+     "VK_EXT_conservative_rasterization"++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT+        = VkStructureType 1000101000++pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT+        = VkStructureType 1000101001
+ src-gen/Graphics/Vulkan/Ext/VK_EXT_debug_marker.hs view
@@ -0,0 +1,176 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_EXT_debug_marker+       (-- * Vulkan extension: @VK_EXT_debug_marker@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @baldurk@baldurk.org@+        --+        -- author: @Baldur Karlsson@+        --+        -- type: @device@+        --+        -- Extension number: @23@+        --+        -- Required extensions: 'VK_EXT_debug_report'.+        --++        -- ** Required extensions: 'VK_EXT_debug_report'.+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.Struct.VkDebugMarkerMarkerInfoEXT,+        module Graphics.Vulkan.Types.Struct.VkDebugMarkerObjectNameInfoEXT,+        module Graphics.Vulkan.Types.Struct.VkDebugMarkerObjectTagInfoEXT,+        module Graphics.Vulkan.Types.Enum.VkDebugReportObjectTypeEXT,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        -- > #include "vk_platform.h"+        vkDebugMarkerSetObjectTagEXT, vkDebugMarkerSetObjectNameEXT,+        vkCmdDebugMarkerBeginEXT, vkCmdDebugMarkerEndEXT,+        vkCmdDebugMarkerInsertEXT,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Handles,+        VK_EXT_DEBUG_MARKER_SPEC_VERSION,+        pattern VK_EXT_DEBUG_MARKER_SPEC_VERSION,+        VK_EXT_DEBUG_MARKER_EXTENSION_NAME,+        pattern VK_EXT_DEBUG_MARKER_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT,+        pattern VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT,+        pattern VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT)+       where+import           GHC.Ptr                                                     (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.Enum.VkDebugReportObjectTypeEXT+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkDebugMarkerMarkerInfoEXT+import           Graphics.Vulkan.Types.Struct.VkDebugMarkerObjectNameInfoEXT+import           Graphics.Vulkan.Types.Struct.VkDebugMarkerObjectTagInfoEXT++-- | Success codes: 'VK_SUCCESS'.+--+--   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.0-extensions/man/html/vkDebugMarkerSetObjectTagEXT.html vkDebugMarkerSetObjectTagEXT registry at www.khronos.org>+foreign import ccall unsafe "vkDebugMarkerSetObjectTagEXT"+               vkDebugMarkerSetObjectTagEXT ::+               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>+foreign import ccall unsafe "vkDebugMarkerSetObjectNameEXT"+               vkDebugMarkerSetObjectNameEXT ::+               VkDevice -- ^ device+                        -> Ptr VkDebugMarkerObjectNameInfoEXT -- ^ pNameInfo+                                                              -> IO VkResult++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdDebugMarkerBeginEXT+--   >     ( VkCommandBuffer commandBuffer+--   >     , const VkDebugMarkerMarkerInfoEXT* pMarkerInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdDebugMarkerBeginEXT.html vkCmdDebugMarkerBeginEXT registry at www.khronos.org>+foreign import ccall unsafe "vkCmdDebugMarkerBeginEXT"+               vkCmdDebugMarkerBeginEXT ::+               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>+foreign import ccall unsafe "vkCmdDebugMarkerEndEXT"+               vkCmdDebugMarkerEndEXT :: 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>+foreign import ccall unsafe "vkCmdDebugMarkerInsertEXT"+               vkCmdDebugMarkerInsertEXT ::+               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++type VK_EXT_DEBUG_MARKER_SPEC_VERSION = 4++pattern VK_EXT_DEBUG_MARKER_EXTENSION_NAME :: CString++pattern VK_EXT_DEBUG_MARKER_EXTENSION_NAME <-+        (is_VK_EXT_DEBUG_MARKER_EXTENSION_NAME -> True)+  where VK_EXT_DEBUG_MARKER_EXTENSION_NAME+          = _VK_EXT_DEBUG_MARKER_EXTENSION_NAME++{-# INLINE _VK_EXT_DEBUG_MARKER_EXTENSION_NAME #-}++_VK_EXT_DEBUG_MARKER_EXTENSION_NAME :: CString+_VK_EXT_DEBUG_MARKER_EXTENSION_NAME+  = Ptr "VK_EXT_debug_marker\NUL"#++{-# INLINE is_VK_EXT_DEBUG_MARKER_EXTENSION_NAME #-}++is_VK_EXT_DEBUG_MARKER_EXTENSION_NAME :: CString -> Bool+is_VK_EXT_DEBUG_MARKER_EXTENSION_NAME+  = eqCStrings _VK_EXT_DEBUG_MARKER_EXTENSION_NAME++type VK_EXT_DEBUG_MARKER_EXTENSION_NAME = "VK_EXT_debug_marker"++pattern VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT =+        VkStructureType 1000022000++pattern VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT =+        VkStructureType 1000022001++pattern VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT =+        VkStructureType 1000022002
+ src-gen/Graphics/Vulkan/Ext/VK_EXT_debug_report.hs view
@@ -0,0 +1,181 @@+{-# 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_EXT_debug_report+       (-- * Vulkan extension: @VK_EXT_debug_report@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Courtney Goeltzenleuchter @courtney@+        --+        -- author: @GOOGLE@+        --+        -- type: @instance@+        --+        -- Extension number: @12@+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.Struct.VkApplicationInfo,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Struct.VkDebugReportCallbackCreateInfoEXT,+        module Graphics.Vulkan.Types.Enum.VkDebugReportFlagsEXT,+        module Graphics.Vulkan.Types.Enum.VkDebugReportObjectTypeEXT,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkInstanceCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        -- > #include "vk_platform.h"+        vkCreateDebugReportCallbackEXT, vkDestroyDebugReportCallbackEXT,+        vkDebugReportMessageEXT,+        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_REPORT_SPEC_VERSION,+        pattern VK_EXT_DEBUG_REPORT_SPEC_VERSION,+        VK_EXT_DEBUG_REPORT_EXTENSION_NAME,+        pattern VK_EXT_DEBUG_REPORT_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,+        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)+       where+import           GHC.Ptr                                                         (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Bitmasks+import           Graphics.Vulkan.Types.Enum.VkDebugReportFlagsEXT+import           Graphics.Vulkan.Types.Enum.VkDebugReportObjectTypeEXT+import           Graphics.Vulkan.Types.Enum.VkInternalAllocationType+import           Graphics.Vulkan.Types.Enum.VkObjectType                         (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.VkDebugReportCallbackCreateInfoEXT+import           Graphics.Vulkan.Types.Struct.VkInstanceCreateInfo++-- | 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.0-extensions/man/html/vkCreateDebugReportCallbackEXT.html vkCreateDebugReportCallbackEXT registry at www.khronos.org>+foreign import ccall unsafe "vkCreateDebugReportCallbackEXT"+               vkCreateDebugReportCallbackEXT ::+               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>+foreign import ccall unsafe "vkDestroyDebugReportCallbackEXT"+               vkDestroyDebugReportCallbackEXT ::+               VkInstance -- ^ instance+                          ->+                 VkDebugReportCallbackEXT -- ^ callback+                                          -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                       -> 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.0-extensions/man/html/vkDebugReportMessageEXT.html vkDebugReportMessageEXT registry at www.khronos.org>+foreign import ccall unsafe "vkDebugReportMessageEXT"+               vkDebugReportMessageEXT ::+               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++type VK_EXT_DEBUG_REPORT_SPEC_VERSION = 9++pattern VK_EXT_DEBUG_REPORT_EXTENSION_NAME :: CString++pattern VK_EXT_DEBUG_REPORT_EXTENSION_NAME <-+        (is_VK_EXT_DEBUG_REPORT_EXTENSION_NAME -> True)+  where VK_EXT_DEBUG_REPORT_EXTENSION_NAME+          = _VK_EXT_DEBUG_REPORT_EXTENSION_NAME++{-# INLINE _VK_EXT_DEBUG_REPORT_EXTENSION_NAME #-}++_VK_EXT_DEBUG_REPORT_EXTENSION_NAME :: CString+_VK_EXT_DEBUG_REPORT_EXTENSION_NAME+  = Ptr "VK_EXT_debug_report\NUL"#++{-# INLINE is_VK_EXT_DEBUG_REPORT_EXTENSION_NAME #-}++is_VK_EXT_DEBUG_REPORT_EXTENSION_NAME :: CString -> Bool+is_VK_EXT_DEBUG_REPORT_EXTENSION_NAME+  = eqCStrings _VK_EXT_DEBUG_REPORT_EXTENSION_NAME++type VK_EXT_DEBUG_REPORT_EXTENSION_NAME = "VK_EXT_debug_report"++pattern VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT =+        VkStructureType 1000011000++pattern VK_ERROR_VALIDATION_FAILED_EXT :: VkResult++pattern VK_ERROR_VALIDATION_FAILED_EXT = VkResult (-1000011001)++pattern VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT =+        VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT++-- | VkDebugReportCallbackEXT+pattern VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT :: VkObjectType++pattern VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT =+        VkObjectType 1000011000++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT =+        VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT
+ src-gen/Graphics/Vulkan/Ext/VK_EXT_depth_range_unrestricted.hs view
@@ -0,0 +1,56 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_EXT_depth_range_unrestricted+       (-- * Vulkan extension: @VK_EXT_depth_range_unrestricted@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Piers Daniell @pdaniell@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- Extension number: @14@+        VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION,+        pattern VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION,+        VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME,+        pattern VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME)+       where+import           GHC.Ptr                 (Ptr (..))+import           Graphics.Vulkan.Marshal++pattern VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION = 1++type VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION = 1++pattern VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME :: CString++pattern VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME <-+        (is_VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME -> True)+  where VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME+          = _VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME++{-# INLINE _VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME #-}++_VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME :: CString+_VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME+  = Ptr "VK_EXT_depth_range_unrestricted\NUL"#++{-# INLINE is_VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME #-}++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++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
@@ -0,0 +1,79 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_EXT_direct_mode_display+       (-- * Vulkan extension: @VK_EXT_direct_mode_display@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @James Jones @cubanismo@+        --+        -- author: @NV@+        --+        -- type: @instance@+        --+        -- Extension number: @89@+        --+        -- Required extensions: 'VK_KHR_display'.+        --++        -- ** Required extensions: 'VK_KHR_display'.+        vkReleaseDisplayEXT, 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,+        VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME,+        pattern VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME)+       where+import           GHC.Ptr                             (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Handles++-- | Success codes: 'VK_SUCCESS'.+--+--   > VkResult vkReleaseDisplayEXT+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkDisplayKHR display+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkReleaseDisplayEXT.html vkReleaseDisplayEXT registry at www.khronos.org>+foreign import ccall unsafe "vkReleaseDisplayEXT"+               vkReleaseDisplayEXT ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> VkDisplayKHR -- ^ display+                                                -> IO VkResult++pattern VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION :: (Num a, Eq a) =>+        a++pattern VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION = 1++type VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION = 1++pattern VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME :: CString++pattern VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME <-+        (is_VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME -> True)+  where VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME+          = _VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME++{-# INLINE _VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME #-}++_VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME :: CString+_VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME+  = Ptr "VK_EXT_direct_mode_display\NUL"#++{-# INLINE is_VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME #-}++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++type VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME =+     "VK_EXT_direct_mode_display"
+ src-gen/Graphics/Vulkan/Ext/VK_EXT_discard_rectangles.hs view
@@ -0,0 +1,202 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_EXT_discard_rectangles+       (-- * Vulkan extension: @VK_EXT_discard_rectangles@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Piers Daniell @pdaniell@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- Extension number: @100@+        --+        -- 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.VkBlendFactor,+        module Graphics.Vulkan.Types.Enum.VkBlendOp,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkColorComponentFlags,+        module Graphics.Vulkan.Types.Enum.VkCompareOp,+        module Graphics.Vulkan.Types.Enum.VkCullModeFlags,+        module Graphics.Vulkan.Types.Enum.VkDiscardRectangleModeEXT,+        module Graphics.Vulkan.Types.Enum.VkDynamicState,+        module Graphics.Vulkan.Types.Struct.VkExtent2D,+        module Graphics.Vulkan.Types.Enum.VkFormat,+        module Graphics.Vulkan.Types.Enum.VkFrontFace,+        module Graphics.Vulkan.Types.Struct.VkGraphicsPipelineCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkLogicOp,+        module Graphics.Vulkan.Types.Struct.VkOffset2D,+        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.VkPhysicalDeviceSparseProperties,+        module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,+        module Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAttachmentState,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkPipelineColorBlendStateCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkPipelineCreateFlags,+        module Graphics.Vulkan.Types.Struct.VkPipelineDepthStencilStateCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkPipelineDiscardRectangleStateCreateInfoEXT,+        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.Enum.VkPolygonMode,+        module Graphics.Vulkan.Types.Enum.VkPrimitiveTopology,+        module Graphics.Vulkan.Types.Struct.VkRect2D,+        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,+        module Graphics.Vulkan.Types.Enum.VkShaderStageFlags,+        module Graphics.Vulkan.Types.Struct.VkSpecializationInfo,+        module Graphics.Vulkan.Types.Struct.VkSpecializationMapEntry,+        module Graphics.Vulkan.Types.Enum.VkStencilOp,+        module Graphics.Vulkan.Types.Struct.VkStencilOpState,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Struct.VkVertexInputAttributeDescription,+        module Graphics.Vulkan.Types.Struct.VkVertexInputBindingDescription,+        module Graphics.Vulkan.Types.Enum.VkVertexInputRate,+        module Graphics.Vulkan.Types.Struct.VkViewport,+        -- > #include "vk_platform.h"+        vkCmdSetDiscardRectangleEXT, module Graphics.Vulkan.Types.Handles,+        VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION,+        pattern VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION,+        VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME,+        pattern VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT,+        pattern VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT,+        pattern VK_DYNAMIC_STATE_DISCARD_RECTANGLE_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.VkBlendFactor+import           Graphics.Vulkan.Types.Enum.VkBlendOp+import           Graphics.Vulkan.Types.Enum.VkColorComponentFlags+import           Graphics.Vulkan.Types.Enum.VkCompareOp+import           Graphics.Vulkan.Types.Enum.VkCullModeFlags+import           Graphics.Vulkan.Types.Enum.VkDiscardRectangleModeEXT+import           Graphics.Vulkan.Types.Enum.VkDynamicState+import           Graphics.Vulkan.Types.Enum.VkFormat+import           Graphics.Vulkan.Types.Enum.VkFrontFace+import           Graphics.Vulkan.Types.Enum.VkLogicOp+import           Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType+import           Graphics.Vulkan.Types.Enum.VkPipelineCreateFlags+import           Graphics.Vulkan.Types.Enum.VkPolygonMode+import           Graphics.Vulkan.Types.Enum.VkPrimitiveTopology+import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags+import           Graphics.Vulkan.Types.Enum.VkShaderStageFlags+import           Graphics.Vulkan.Types.Enum.VkStencilOp+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Enum.VkVertexInputRate+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkExtent2D+import           Graphics.Vulkan.Types.Struct.VkGraphicsPipelineCreateInfo+import           Graphics.Vulkan.Types.Struct.VkOffset2D+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.VkPhysicalDeviceSparseProperties+import           Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAttachmentState+import           Graphics.Vulkan.Types.Struct.VkPipelineColorBlendStateCreateInfo+import           Graphics.Vulkan.Types.Struct.VkPipelineDepthStencilStateCreateInfo+import           Graphics.Vulkan.Types.Struct.VkPipelineDiscardRectangleStateCreateInfoEXT+import           Graphics.Vulkan.Types.Struct.VkPipelineDynamicStateCreateInfo+import           Graphics.Vulkan.Types.Struct.VkPipelineInputAssemblyStateCreateInfo+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.VkRect2D+import           Graphics.Vulkan.Types.Struct.VkSpecializationInfo+import           Graphics.Vulkan.Types.Struct.VkSpecializationMapEntry+import           Graphics.Vulkan.Types.Struct.VkStencilOpState+import           Graphics.Vulkan.Types.Struct.VkVertexInputAttributeDescription+import           Graphics.Vulkan.Types.Struct.VkVertexInputBindingDescription+import           Graphics.Vulkan.Types.Struct.VkViewport++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetDiscardRectangleEXT+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t firstDiscardRectangle+--   >     , uint32_t discardRectangleCount+--   >     , const VkRect2D* pDiscardRectangles+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdSetDiscardRectangleEXT.html vkCmdSetDiscardRectangleEXT registry at www.khronos.org>+foreign import ccall unsafe "vkCmdSetDiscardRectangleEXT"+               vkCmdSetDiscardRectangleEXT ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Word32 -- ^ firstDiscardRectangle+                                         -> Word32 -- ^ discardRectangleCount+                                                   -> Ptr VkRect2D -- ^ pDiscardRectangles+                                                                   -> IO ()++pattern VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION :: (Num a, Eq a) =>+        a++pattern VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION = 1++type VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION = 1++pattern VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME :: CString++pattern VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME <-+        (is_VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME -> True)+  where VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME+          = _VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME++{-# INLINE _VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME #-}++_VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME :: CString+_VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME+  = Ptr "VK_EXT_discard_rectangles\NUL"#++{-# INLINE is_VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME #-}++is_VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME :: CString -> Bool+is_VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME+  = eqCStrings _VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME++type VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME =+     "VK_EXT_discard_rectangles"++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT+        = VkStructureType 1000099000++pattern VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT+        = VkStructureType 1000099001++pattern VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT :: VkDynamicState++pattern VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT =+        VkDynamicState 1000099000
+ src-gen/Graphics/Vulkan/Ext/VK_EXT_display_control.hs view
@@ -0,0 +1,222 @@+{-# 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_display_control+       (-- * Vulkan extension: @VK_EXT_display_control@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @James Jones @cubanismo@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- Extension number: @92@+        --+        -- Required extensions: 'VK_EXT_display_surface_counter', 'VK_KHR_swapchain'.+        --++        -- ** Required extensions: 'VK_EXT_display_surface_counter', 'VK_KHR_swapchain'.+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkColorSpaceKHR,+        module Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR,+        module Graphics.Vulkan.Types.Struct.VkDeviceEventInfoEXT,+        module Graphics.Vulkan.Types.Enum.VkDeviceEventTypeEXT,+        module Graphics.Vulkan.Types.Struct.VkDisplayEventInfoEXT,+        module Graphics.Vulkan.Types.Enum.VkDisplayEventTypeEXT,+        module Graphics.Vulkan.Types.Struct.VkDisplayPowerInfoEXT,+        module Graphics.Vulkan.Types.Enum.VkDisplayPowerStateEXT,+        module Graphics.Vulkan.Types.Struct.VkExtent2D,+        module Graphics.Vulkan.Types.Enum.VkFormat,+        module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,+        module Graphics.Vulkan.Types.Enum.VkPresentModeKHR,+        module Graphics.Vulkan.Types.Enum.VkSharingMode,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Enum.VkSurfaceCounterFlagsEXT,+        module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR,+        module Graphics.Vulkan.Types.Struct.VkSwapchainCounterCreateInfoEXT,+        module Graphics.Vulkan.Types.Enum.VkSwapchainCreateFlagsKHR,+        module Graphics.Vulkan.Types.Struct.VkSwapchainCreateInfoKHR,+        -- > #include "vk_platform.h"+        vkDisplayPowerControlEXT, vkRegisterDeviceEventEXT,+        vkRegisterDisplayEventEXT, vkGetSwapchainCounterEXT,+        module Graphics.Vulkan.Marshal,+        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_DISPLAY_CONTROL_SPEC_VERSION,+        pattern VK_EXT_DISPLAY_CONTROL_SPEC_VERSION,+        VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME,+        pattern VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT,+        pattern VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT,+        pattern VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT,+        pattern VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT)+       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.VkCompositeAlphaFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkDeviceEventTypeEXT+import           Graphics.Vulkan.Types.Enum.VkDisplayEventTypeEXT+import           Graphics.Vulkan.Types.Enum.VkDisplayPowerStateEXT+import           Graphics.Vulkan.Types.Enum.VkFormat+import           Graphics.Vulkan.Types.Enum.VkImageUsageFlags+import           Graphics.Vulkan.Types.Enum.VkInternalAllocationType+import           Graphics.Vulkan.Types.Enum.VkPresentModeKHR+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkSharingMode+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Enum.VkSurfaceCounterFlagsEXT+import           Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkSwapchainCreateFlagsKHR+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.VkDeviceEventInfoEXT+import           Graphics.Vulkan.Types.Struct.VkDisplayEventInfoEXT+import           Graphics.Vulkan.Types.Struct.VkDisplayPowerInfoEXT+import           Graphics.Vulkan.Types.Struct.VkExtent2D+import           Graphics.Vulkan.Types.Struct.VkSwapchainCounterCreateInfoEXT+import           Graphics.Vulkan.Types.Struct.VkSwapchainCreateInfoKHR++-- | Success codes: 'VK_SUCCESS'.+--+--   > VkResult vkDisplayPowerControlEXT+--   >     ( VkDevice device+--   >     , VkDisplayKHR display+--   >     , const VkDisplayPowerInfoEXT* pDisplayPowerInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDisplayPowerControlEXT.html vkDisplayPowerControlEXT registry at www.khronos.org>+foreign import ccall unsafe "vkDisplayPowerControlEXT"+               vkDisplayPowerControlEXT ::+               VkDevice -- ^ device+                        ->+                 VkDisplayKHR -- ^ display+                              -> Ptr VkDisplayPowerInfoEXT -- ^ pDisplayPowerInfo+                                                           -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   > VkResult vkRegisterDeviceEventEXT+--   >     ( VkDevice device+--   >     , const VkDeviceEventInfoEXT* pDeviceEventInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkFence* pFence+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkRegisterDeviceEventEXT.html vkRegisterDeviceEventEXT registry at www.khronos.org>+foreign import ccall unsafe "vkRegisterDeviceEventEXT"+               vkRegisterDeviceEventEXT ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDeviceEventInfoEXT -- ^ pDeviceEventInfo+                                          ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkFence -- ^ pFence+                                                            -> IO VkResult++-- | 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.0-extensions/man/html/vkRegisterDisplayEventEXT.html vkRegisterDisplayEventEXT registry at www.khronos.org>+foreign import ccall unsafe "vkRegisterDisplayEventEXT"+               vkRegisterDisplayEventEXT ::+               VkDevice -- ^ device+                        ->+                 VkDisplayKHR -- ^ display+                              ->+                   Ptr VkDisplayEventInfoEXT -- ^ pDisplayEventInfo+                                             ->+                     Ptr VkAllocationCallbacks -- ^ pAllocator+                                               -> Ptr VkFence -- ^ pFence+                                                              -> IO VkResult++-- | Success codes: 'VK_SUCCESS', '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.0-extensions/man/html/vkGetSwapchainCounterEXT.html vkGetSwapchainCounterEXT registry at www.khronos.org>+foreign import ccall unsafe "vkGetSwapchainCounterEXT"+               vkGetSwapchainCounterEXT ::+               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++type VK_EXT_DISPLAY_CONTROL_SPEC_VERSION = 1++pattern VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME :: CString++pattern VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME <-+        (is_VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME -> True)+  where VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME+          = _VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME++{-# INLINE _VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME #-}++_VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME :: CString+_VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME+  = Ptr "VK_EXT_display_control\NUL"#++{-# INLINE is_VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME #-}++is_VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME :: CString -> Bool+is_VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME+  = eqCStrings _VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME++type VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME =+     "VK_EXT_display_control"++pattern VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: VkStructureType++pattern VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT =+        VkStructureType 1000091000++pattern VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT =+        VkStructureType 1000091001++pattern VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: VkStructureType++pattern VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT =+        VkStructureType 1000091002++pattern VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT =+        VkStructureType 1000091003
+ src-gen/Graphics/Vulkan/Ext/VK_EXT_display_surface_counter.hs view
@@ -0,0 +1,116 @@+{-# 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_EXT_display_surface_counter+       (-- * Vulkan extension: @VK_EXT_display_surface_counter@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @James Jones @cubanismo@+        --+        -- author: @NV@+        --+        -- type: @instance@+        --+        -- Extension number: @91@+        --+        -- Required extensions: 'VK_KHR_display'.+        --++        -- ** Required extensions: 'VK_KHR_display'.+        module Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR,+        module Graphics.Vulkan.Types.Struct.VkExtent2D,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Struct.VkSurfaceCapabilities2EXT,+        module Graphics.Vulkan.Types.Enum.VkSurfaceCounterFlagsEXT,+        module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR,+        -- > #include "vk_platform.h"+        vkGetPhysicalDeviceSurfaceCapabilities2EXT,+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Handles,+        VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION,+        pattern VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION,+        VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME,+        pattern VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,+        pattern VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT)+       where+import           GHC.Ptr                                                (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkImageUsageFlags+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Enum.VkSurfaceCounterFlagsEXT+import           Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkExtent2D+import           Graphics.Vulkan.Types.Struct.VkSurfaceCapabilities2EXT++-- | 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.0-extensions/man/html/vkGetPhysicalDeviceSurfaceCapabilities2EXT.html vkGetPhysicalDeviceSurfaceCapabilities2EXT registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetPhysicalDeviceSurfaceCapabilities2EXT"+               vkGetPhysicalDeviceSurfaceCapabilities2EXT ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 VkSurfaceKHR -- ^ surface+                              -> Ptr VkSurfaceCapabilities2EXT -- ^ pSurfaceCapabilities+                                                               -> IO VkResult++pattern VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION = 1++type VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION = 1++pattern VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME :: CString++pattern VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME <-+        (is_VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME -> True)+  where VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME+          = _VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME++{-# INLINE _VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME #-}++_VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME :: CString+_VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME+  = Ptr "VK_EXT_display_surface_counter\NUL"#++{-# INLINE is_VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME #-}++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++type VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME =+     "VK_EXT_display_surface_counter"++pattern VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT =+        VkStructureType 1000090000++pattern VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT =+        VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT
+ src-gen/Graphics/Vulkan/Ext/VK_EXT_external_memory_dma_buf.hs view
@@ -0,0 +1,70 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_EXT_external_memory_dma_buf+       (-- * Vulkan extension: @VK_EXT_external_memory_dma_buf@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Chad Versace @chadversary@+        --+        -- author: @EXT@+        --+        -- type: @device@+        --+        -- Extension number: @126@+        --+        -- Required extensions: 'VK_KHR_external_memory_fd'.+        --++        -- ** Required extensions: 'VK_KHR_external_memory_fd'.+        VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION,+        pattern VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION,+        VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME,+        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           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsKHR (VkExternalMemoryHandleTypeBitmaskKHR (..),+                                                                                VkExternalMemoryHandleTypeFlagBitsKHR)++pattern VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION = 1++type VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION = 1++pattern VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME :: CString++pattern VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME <-+        (is_VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME -> True)+  where VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME+          = _VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME++{-# INLINE _VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME #-}++_VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME :: CString+_VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME+  = Ptr "VK_EXT_external_memory_dma_buf\NUL"#++{-# INLINE is_VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME #-}++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++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++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT =+        VkExternalMemoryHandleTypeFlagBitsKHR 512
+ src-gen/Graphics/Vulkan/Ext/VK_EXT_external_memory_host.hs view
@@ -0,0 +1,155 @@+{-# 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_external_memory_host+       (-- * Vulkan extension: @VK_EXT_external_memory_host@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Daniel Rakos @aqnuep@+        --+        -- author: @EXT@+        --+        -- type: @device@+        --+        -- Extension number: @179@+        --+        -- Required extensions: 'VK_KHR_external_memory'.+        --++        -- ** 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.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.VkPhysicalDeviceSparseProperties,+        module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,+        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        -- > #include "vk_platform.h"+        vkGetMemoryHostPointerPropertiesEXT,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Handles,+        VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION,+        pattern VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION,+        VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME,+        pattern VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT,+        pattern VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT,+        pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT,+        pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT)+       where+import           GHC.Ptr+                                                                                               (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkImportMemoryHostPointerInfoEXT+import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo+import           Graphics.Vulkan.Types.Struct.VkMemoryHostPointerPropertiesEXT+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.VkPhysicalDeviceSparseProperties++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR'.+--+--   > VkResult vkGetMemoryHostPointerPropertiesEXT+--   >     ( VkDevice device+--   >     , VkExternalMemoryHandleTypeFlagBitsKHR 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>+foreign import ccall unsafe "vkGetMemoryHostPointerPropertiesEXT"+               vkGetMemoryHostPointerPropertiesEXT ::+               VkDevice -- ^ device+                        ->+                 VkExternalMemoryHandleTypeFlagBitsKHR -- ^ handleType+                                                       ->+                   Ptr Void -- ^ pHostPointer+                            -> Ptr VkMemoryHostPointerPropertiesEXT -- ^ pMemoryHostPointerProperties+                                                                    -> IO VkResult++pattern VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION = 1++type VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION = 1++pattern VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME :: CString++pattern VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME <-+        (is_VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME -> True)+  where VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME+          = _VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME++{-# INLINE _VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME #-}++_VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME :: CString+_VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME+  = Ptr "VK_EXT_external_memory_host\NUL"#++{-# INLINE is_VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME #-}++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++type VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME =+     "VK_EXT_external_memory_host"++pattern VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT =+        VkStructureType 1000178000++pattern VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT =+        VkStructureType 1000178001++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT+        = VkStructureType 1000178002++-- | bitpos = @7@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT ::+        VkExternalMemoryHandleTypeFlagBitsKHR++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT =+        VkExternalMemoryHandleTypeFlagBitsKHR 128++-- | bitpos = @8@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT+        :: VkExternalMemoryHandleTypeFlagBitsKHR++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT+        = VkExternalMemoryHandleTypeFlagBitsKHR 256
+ src-gen/Graphics/Vulkan/Ext/VK_EXT_global_priority.hs view
@@ -0,0 +1,82 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_EXT_global_priority+       (-- * Vulkan extension: @VK_EXT_global_priority@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Andres Rodriguez @lostgoat@+        --+        -- author: @EXT@+        --+        -- type: @device@+        --+        -- Extension number: @175@+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkDeviceQueueGlobalPriorityCreateInfoEXT,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkQueueGlobalPriorityEXT,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        -- > #include "vk_platform.h"+        VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION,+        pattern VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION,+        VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME,+        pattern VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT,+        pattern VK_ERROR_NOT_PERMITTED_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.VkQueueGlobalPriorityEXT+import           Graphics.Vulkan.Types.Enum.VkResult+                                                                                        (VkResult (..))+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo+import           Graphics.Vulkan.Types.Struct.VkDeviceQueueGlobalPriorityCreateInfoEXT++pattern VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION :: (Num a, Eq a) => a++pattern VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION = 2++type VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION = 2++pattern VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME :: CString++pattern VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME <-+        (is_VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME -> True)+  where VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME+          = _VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME++{-# INLINE _VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME #-}++_VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME :: CString+_VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME+  = Ptr "VK_EXT_global_priority\NUL"#++{-# INLINE is_VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME #-}++is_VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME :: CString -> Bool+is_VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME+  = eqCStrings _VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME++type VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME =+     "VK_EXT_global_priority"++pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT+        = VkStructureType 1000174000++pattern VK_ERROR_NOT_PERMITTED_EXT :: VkResult++pattern VK_ERROR_NOT_PERMITTED_EXT = VkResult (-1000174001)
+ src-gen/Graphics/Vulkan/Ext/VK_EXT_hdr_metadata.hs view
@@ -0,0 +1,91 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_EXT_hdr_metadata+       (-- * Vulkan extension: @VK_EXT_hdr_metadata@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Courtney Goeltzenleuchter @courtneygo@+        --+        -- author: @GOOGLE@+        --+        -- type: @device@+        --+        -- Extension number: @106@+        --+        -- Required extensions: 'VK_KHR_swapchain'.+        --++        -- ** Required extensions: 'VK_KHR_swapchain'.+        module Graphics.Vulkan.Types.Struct.VkHdrMetadataEXT,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Struct.VkXYColorEXT,+        -- > #include "vk_platform.h"+        vkSetHdrMetadataEXT, module Graphics.Vulkan.Types.Handles,+        VK_EXT_HDR_METADATA_SPEC_VERSION,+        pattern VK_EXT_HDR_METADATA_SPEC_VERSION,+        VK_EXT_HDR_METADATA_EXTENSION_NAME,+        pattern VK_EXT_HDR_METADATA_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_HDR_METADATA_EXT)+       where+import           GHC.Ptr                                       (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkHdrMetadataEXT+import           Graphics.Vulkan.Types.Struct.VkXYColorEXT++-- | > () vkSetHdrMetadataEXT+--   >     ( VkDevice device+--   >     , uint32_t swapchainCount+--   >     , const VkSwapchainKHR* pSwapchains+--   >     , const VkHdrMetadataEXT* pMetadata+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkSetHdrMetadataEXT.html vkSetHdrMetadataEXT registry at www.khronos.org>+foreign import ccall unsafe "vkSetHdrMetadataEXT"+               vkSetHdrMetadataEXT ::+               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++type VK_EXT_HDR_METADATA_SPEC_VERSION = 1++pattern VK_EXT_HDR_METADATA_EXTENSION_NAME :: CString++pattern VK_EXT_HDR_METADATA_EXTENSION_NAME <-+        (is_VK_EXT_HDR_METADATA_EXTENSION_NAME -> True)+  where VK_EXT_HDR_METADATA_EXTENSION_NAME+          = _VK_EXT_HDR_METADATA_EXTENSION_NAME++{-# INLINE _VK_EXT_HDR_METADATA_EXTENSION_NAME #-}++_VK_EXT_HDR_METADATA_EXTENSION_NAME :: CString+_VK_EXT_HDR_METADATA_EXTENSION_NAME+  = Ptr "VK_EXT_hdr_metadata\NUL"#++{-# INLINE is_VK_EXT_HDR_METADATA_EXTENSION_NAME #-}++is_VK_EXT_HDR_METADATA_EXTENSION_NAME :: CString -> Bool+is_VK_EXT_HDR_METADATA_EXTENSION_NAME+  = eqCStrings _VK_EXT_HDR_METADATA_EXTENSION_NAME++type VK_EXT_HDR_METADATA_EXTENSION_NAME = "VK_EXT_hdr_metadata"++pattern VK_STRUCTURE_TYPE_HDR_METADATA_EXT :: VkStructureType++pattern VK_STRUCTURE_TYPE_HDR_METADATA_EXT =+        VkStructureType 1000105000
+ src-gen/Graphics/Vulkan/Ext/VK_EXT_post_depth_coverage.hs view
@@ -0,0 +1,55 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_EXT_post_depth_coverage+       (-- * Vulkan extension: @VK_EXT_post_depth_coverage@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Daniel Koch @dgkoch@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- Extension number: @156@+        VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION,+        pattern VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION,+        VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME,+        pattern VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME)+       where+import           GHC.Ptr                 (Ptr (..))+import           Graphics.Vulkan.Marshal++pattern VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION :: (Num a, Eq a) =>+        a++pattern VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION = 1++type VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION = 1++pattern VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME :: CString++pattern VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME <-+        (is_VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME -> True)+  where VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME+          = _VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME++{-# INLINE _VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME #-}++_VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME :: CString+_VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME+  = Ptr "VK_EXT_post_depth_coverage\NUL"#++{-# INLINE is_VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME #-}++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++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
@@ -0,0 +1,63 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_EXT_queue_family_foreign+       (-- * Vulkan extension: @VK_EXT_queue_family_foreign@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Chad Versace @chadversary@+        --+        -- author: @EXT@+        --+        -- type: @device@+        --+        -- Extension number: @127@+        --+        -- Required extensions: 'VK_KHR_external_memory'.+        --++        -- ** Required extensions: 'VK_KHR_external_memory'.+        VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION,+        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)+       where+import           GHC.Ptr                   (Ptr (..))+import           Graphics.Vulkan.Constants (VK_QUEUE_FAMILY_FOREIGN_EXT,+                                            pattern VK_QUEUE_FAMILY_FOREIGN_EXT)+import           Graphics.Vulkan.Marshal++pattern VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION = 1++type VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION = 1++pattern VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME :: CString++pattern VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME <-+        (is_VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME -> True)+  where VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME+          = _VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME++{-# INLINE _VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME #-}++_VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME :: CString+_VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME+  = Ptr "VK_EXT_queue_family_foreign\NUL"#++{-# INLINE is_VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME #-}++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++type VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME =+     "VK_EXT_queue_family_foreign"
+ src-gen/Graphics/Vulkan/Ext/VK_EXT_sample_locations.hs view
@@ -0,0 +1,209 @@+{-# 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_sample_locations+       (-- * Vulkan extension: @VK_EXT_sample_locations@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Daniel Rakos @aqnuep@+        --+        -- author: @AMD@+        --+        -- type: @device@+        --+        -- Extension number: @144@+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.Enum.VkAccessFlags,+        module Graphics.Vulkan.Types.Struct.VkAttachmentSampleLocationsEXT,+        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.VkExtent2D,+        module Graphics.Vulkan.Types.Enum.VkImageAspectFlags,+        module Graphics.Vulkan.Types.Enum.VkImageLayout,+        module Graphics.Vulkan.Types.Struct.VkImageMemoryBarrier,+        module Graphics.Vulkan.Types.Struct.VkImageSubresourceRange,+        module Graphics.Vulkan.Types.Struct.VkMultisamplePropertiesEXT,+        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.VkPhysicalDeviceSampleLocationsPropertiesEXT,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,+        module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkPipelineMultisampleStateCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkPipelineSampleLocationsStateCreateInfoEXT,+        module Graphics.Vulkan.Types.Struct.VkRect2D,+        module Graphics.Vulkan.Types.Struct.VkRenderPassBeginInfo,+        module Graphics.Vulkan.Types.Struct.VkRenderPassSampleLocationsBeginInfoEXT,+        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,+        module Graphics.Vulkan.Types.Struct.VkSampleLocationEXT,+        module Graphics.Vulkan.Types.Struct.VkSampleLocationsInfoEXT,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Struct.VkSubpassSampleLocationsEXT,+        -- > #include "vk_platform.h"+        vkCmdSetSampleLocationsEXT,+        vkGetPhysicalDeviceMultisamplePropertiesEXT,+        module Graphics.Vulkan.Types.Handles,+        VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION,+        pattern VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION,+        VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME,+        pattern VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME,+        pattern VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT,+        pattern VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT,+        pattern VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT,+        pattern VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT,+        pattern VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT,+        pattern VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_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.VkAccessFlags+import           Graphics.Vulkan.Types.Enum.VkDynamicState+                                                                                            (VkDynamicState (..))+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.VkPhysicalDeviceType+import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkAttachmentSampleLocationsEXT+import           Graphics.Vulkan.Types.Struct.VkClearColorValue+import           Graphics.Vulkan.Types.Struct.VkClearDepthStencilValue+import           Graphics.Vulkan.Types.Struct.VkClearValue+import           Graphics.Vulkan.Types.Struct.VkExtent2D+import           Graphics.Vulkan.Types.Struct.VkImageMemoryBarrier+import           Graphics.Vulkan.Types.Struct.VkImageSubresourceRange+import           Graphics.Vulkan.Types.Struct.VkMultisamplePropertiesEXT+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.VkPhysicalDeviceSampleLocationsPropertiesEXT+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties+import           Graphics.Vulkan.Types.Struct.VkPipelineMultisampleStateCreateInfo+import           Graphics.Vulkan.Types.Struct.VkPipelineSampleLocationsStateCreateInfoEXT+import           Graphics.Vulkan.Types.Struct.VkRect2D+import           Graphics.Vulkan.Types.Struct.VkRenderPassBeginInfo+import           Graphics.Vulkan.Types.Struct.VkRenderPassSampleLocationsBeginInfoEXT+import           Graphics.Vulkan.Types.Struct.VkSampleLocationEXT+import           Graphics.Vulkan.Types.Struct.VkSampleLocationsInfoEXT+import           Graphics.Vulkan.Types.Struct.VkSubpassSampleLocationsEXT++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetSampleLocationsEXT+--   >     ( VkCommandBuffer commandBuffer+--   >     , const VkSampleLocationsInfoEXT* pSampleLocationsInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdSetSampleLocationsEXT.html vkCmdSetSampleLocationsEXT registry at www.khronos.org>+foreign import ccall unsafe "vkCmdSetSampleLocationsEXT"+               vkCmdSetSampleLocationsEXT ::+               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>+foreign import ccall unsafe+               "vkGetPhysicalDeviceMultisamplePropertiesEXT"+               vkGetPhysicalDeviceMultisamplePropertiesEXT ::+               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++type VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION = 1++pattern VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME :: CString++pattern VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME <-+        (is_VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME -> True)+  where VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME+          = _VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME++{-# INLINE _VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME #-}++_VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME :: CString+_VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME+  = Ptr "VK_EXT_sample_locations\NUL"#++{-# INLINE is_VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME #-}++is_VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME :: CString -> Bool+is_VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME+  = eqCStrings _VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME++type VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME =+     "VK_EXT_sample_locations"++-- | bitpos = @12@+pattern VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT+        :: VkImageCreateFlagBits++pattern VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT =+        VkImageCreateFlagBits 4096++pattern VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT =+        VkStructureType 1000143000++pattern VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT+        = VkStructureType 1000143001++pattern VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT+        = VkStructureType 1000143002++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT+        = VkStructureType 1000143003++pattern VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT =+        VkStructureType 1000143004++pattern VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT :: VkDynamicState++pattern VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT =+        VkDynamicState 1000143000
+ src-gen/Graphics/Vulkan/Ext/VK_EXT_sampler_filter_minmax.hs view
@@ -0,0 +1,126 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_EXT_sampler_filter_minmax+       (-- * Vulkan extension: @VK_EXT_sampler_filter_minmax@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jeff Bolz @jbolz@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- Extension number: @131@+        --+        -- 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.VkBorderColor,+        module Graphics.Vulkan.Types.Enum.VkCompareOp,+        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.VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,+        module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,+        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,+        module Graphics.Vulkan.Types.Enum.VkSamplerAddressMode,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkSamplerCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkSamplerMipmapMode,+        module Graphics.Vulkan.Types.Struct.VkSamplerReductionModeCreateInfoEXT,+        module Graphics.Vulkan.Types.Enum.VkSamplerReductionModeEXT,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        -- > #include "vk_platform.h"+        VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION,+        pattern VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION,+        VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME,+        pattern VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT,+        pattern VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT,+        pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_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.VkBorderColor+import           Graphics.Vulkan.Types.Enum.VkCompareOp+import           Graphics.Vulkan.Types.Enum.VkFilter+import           Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags+                                                                                                (VkFormatFeatureBitmask (..),+                                                                                                VkFormatFeatureFlagBits)+import           Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType+import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags+import           Graphics.Vulkan.Types.Enum.VkSamplerAddressMode+import           Graphics.Vulkan.Types.Enum.VkSamplerMipmapMode+import           Graphics.Vulkan.Types.Enum.VkSamplerReductionModeEXT+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.VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties+import           Graphics.Vulkan.Types.Struct.VkSamplerCreateInfo+import           Graphics.Vulkan.Types.Struct.VkSamplerReductionModeCreateInfoEXT++pattern VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION = 1++type VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION = 1++pattern VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME :: CString++pattern VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME <-+        (is_VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME -> True)+  where VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME+          = _VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME++{-# INLINE _VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME #-}++_VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME :: CString+_VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME+  = Ptr "VK_EXT_sampler_filter_minmax\NUL"#++{-# INLINE is_VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME #-}++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++type VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME =+     "VK_EXT_sampler_filter_minmax"++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT+        = VkStructureType 1000130000++pattern VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT =+        VkStructureType 1000130001++-- | Format can be used with min/max reduction filtering+--+--   bitpos = @16@+pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT ::+        VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT =+        VkFormatFeatureFlagBits 65536
+ src-gen/Graphics/Vulkan/Ext/VK_EXT_shader_stencil_export.hs view
@@ -0,0 +1,55 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_EXT_shader_stencil_export+       (-- * Vulkan extension: @VK_EXT_shader_stencil_export@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @dominik.witczak@amd.com@+        --+        -- author: @EXT@+        --+        -- type: @device@+        --+        -- Extension number: @141@+        VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION,+        pattern VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION,+        VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME,+        pattern VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME)+       where+import           GHC.Ptr                 (Ptr (..))+import           Graphics.Vulkan.Marshal++pattern VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION = 1++type VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION = 1++pattern VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME :: CString++pattern VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME <-+        (is_VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME -> True)+  where VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME+          = _VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME++{-# INLINE _VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME #-}++_VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME :: CString+_VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME+  = Ptr "VK_EXT_shader_stencil_export\NUL"#++{-# INLINE is_VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME #-}++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++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
@@ -0,0 +1,55 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_EXT_shader_subgroup_ballot+       (-- * Vulkan extension: @VK_EXT_shader_subgroup_ballot@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Daniel Koch @dgkoch@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- Extension number: @65@+        VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION,+        pattern VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION,+        VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME,+        pattern VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME)+       where+import           GHC.Ptr                 (Ptr (..))+import           Graphics.Vulkan.Marshal++pattern VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION = 1++type VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION = 1++pattern VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME :: CString++pattern VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME <-+        (is_VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME -> True)+  where VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME+          = _VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME++{-# INLINE _VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME #-}++_VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME :: CString+_VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME+  = Ptr "VK_EXT_shader_subgroup_ballot\NUL"#++{-# INLINE is_VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME #-}++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++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
@@ -0,0 +1,55 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_EXT_shader_subgroup_vote+       (-- * Vulkan extension: @VK_EXT_shader_subgroup_vote@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Daniel Koch @dgkoch@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- Extension number: @66@+        VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION,+        pattern VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION,+        VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME,+        pattern VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME)+       where+import           GHC.Ptr                 (Ptr (..))+import           Graphics.Vulkan.Marshal++pattern VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION = 1++type VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION = 1++pattern VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME :: CString++pattern VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME <-+        (is_VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME -> True)+  where VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME+          = _VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME++{-# INLINE _VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME #-}++_VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME :: CString+_VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME+  = Ptr "VK_EXT_shader_subgroup_vote\NUL"#++{-# INLINE is_VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME #-}++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++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
@@ -0,0 +1,57 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_EXT_shader_viewport_index_layer+       (-- * Vulkan extension: @VK_EXT_shader_viewport_index_layer@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Daniel Koch @dgkoch@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- Extension number: @163@+        VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION,+        pattern VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION,+        VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME,+        pattern VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME)+       where+import           GHC.Ptr                 (Ptr (..))+import           Graphics.Vulkan.Marshal++pattern VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION = 1++type VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION = 1++pattern VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME ::+        CString++pattern VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME <-+        (is_VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME -> True)+  where VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME+          = _VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME++{-# INLINE _VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME #-}++_VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME :: CString+_VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME+  = Ptr "VK_EXT_shader_viewport_index_layer\NUL"#++{-# INLINE is_VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME #-}++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++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
@@ -0,0 +1,144 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_EXT_swapchain_colorspace+       (-- * Vulkan extension: @VK_EXT_swapchain_colorspace@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Courtney Goeltzenleuchter @courtneygo@+        --+        -- author: @GOOGLE@+        --+        -- type: @instance@+        --+        -- Extension number: @105@+        --+        -- Required extensions: 'VK_KHR_surface'.+        --++        -- ** Required extensions: 'VK_KHR_surface'.+        VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION,+        pattern VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION,+        VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME,+        pattern VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME,+        pattern VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT,+        pattern VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT,+        pattern VK_COLOR_SPACE_DCI_P3_LINEAR_EXT,+        pattern VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT,+        pattern VK_COLOR_SPACE_BT709_LINEAR_EXT,+        pattern VK_COLOR_SPACE_BT709_NONLINEAR_EXT,+        pattern VK_COLOR_SPACE_BT2020_LINEAR_EXT,+        pattern VK_COLOR_SPACE_HDR10_ST2084_EXT,+        pattern VK_COLOR_SPACE_DOLBYVISION_EXT,+        pattern VK_COLOR_SPACE_HDR10_HLG_EXT,+        pattern VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT,+        pattern VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT,+        pattern VK_COLOR_SPACE_PASS_THROUGH_EXT,+        pattern VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT)+       where+import           GHC.Ptr                                    (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.Enum.VkColorSpaceKHR (VkColorSpaceKHR (..))++pattern VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION = 3++type VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION = 3++pattern VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME :: CString++pattern VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME <-+        (is_VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME -> True)+  where VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME+          = _VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME++{-# INLINE _VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME #-}++_VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME :: CString+_VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME+  = Ptr "VK_EXT_swapchain_colorspace\NUL"#++{-# INLINE is_VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME #-}++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++type VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME =+     "VK_EXT_swapchain_colorspace"++pattern VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT :: VkColorSpaceKHR++pattern VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT =+        VkColorSpaceKHR 1000104001++pattern VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT :: VkColorSpaceKHR++pattern VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT =+        VkColorSpaceKHR 1000104002++pattern VK_COLOR_SPACE_DCI_P3_LINEAR_EXT :: VkColorSpaceKHR++pattern VK_COLOR_SPACE_DCI_P3_LINEAR_EXT =+        VkColorSpaceKHR 1000104003++pattern VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT :: VkColorSpaceKHR++pattern VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT =+        VkColorSpaceKHR 1000104004++pattern VK_COLOR_SPACE_BT709_LINEAR_EXT :: VkColorSpaceKHR++pattern VK_COLOR_SPACE_BT709_LINEAR_EXT =+        VkColorSpaceKHR 1000104005++pattern VK_COLOR_SPACE_BT709_NONLINEAR_EXT :: VkColorSpaceKHR++pattern VK_COLOR_SPACE_BT709_NONLINEAR_EXT =+        VkColorSpaceKHR 1000104006++pattern VK_COLOR_SPACE_BT2020_LINEAR_EXT :: VkColorSpaceKHR++pattern VK_COLOR_SPACE_BT2020_LINEAR_EXT =+        VkColorSpaceKHR 1000104007++pattern VK_COLOR_SPACE_HDR10_ST2084_EXT :: VkColorSpaceKHR++pattern VK_COLOR_SPACE_HDR10_ST2084_EXT =+        VkColorSpaceKHR 1000104008++pattern VK_COLOR_SPACE_DOLBYVISION_EXT :: VkColorSpaceKHR++pattern VK_COLOR_SPACE_DOLBYVISION_EXT = VkColorSpaceKHR 1000104009++pattern VK_COLOR_SPACE_HDR10_HLG_EXT :: VkColorSpaceKHR++pattern VK_COLOR_SPACE_HDR10_HLG_EXT = VkColorSpaceKHR 1000104010++pattern VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT :: VkColorSpaceKHR++pattern VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT =+        VkColorSpaceKHR 1000104011++pattern VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT :: VkColorSpaceKHR++pattern VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT =+        VkColorSpaceKHR 1000104012++pattern VK_COLOR_SPACE_PASS_THROUGH_EXT :: VkColorSpaceKHR++pattern VK_COLOR_SPACE_PASS_THROUGH_EXT =+        VkColorSpaceKHR 1000104013++pattern VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT ::+        VkColorSpaceKHR++pattern VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT =+        VkColorSpaceKHR 1000104014
+ src-gen/Graphics/Vulkan/Ext/VK_EXT_validation_cache.hs view
@@ -0,0 +1,197 @@+{-# 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_EXT_validation_cache+       (-- * Vulkan extension: @VK_EXT_validation_cache@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Cort Stratton @cdwfs@+        --+        -- author: @GOOGLE@+        --+        -- type: @device@+        --+        -- Extension number: @161@+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkShaderModuleCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkShaderModuleValidationCacheCreateInfoEXT,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Struct.VkValidationCacheCreateInfoEXT,+        module Graphics.Vulkan.Types.Enum.VkValidationCacheHeaderVersionEXT,+        -- > #include "vk_platform.h"+        vkCreateValidationCacheEXT, vkDestroyValidationCacheEXT,+        vkMergeValidationCachesEXT, vkGetValidationCacheDataEXT,+        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_VALIDATION_CACHE_SPEC_VERSION,+        pattern VK_EXT_VALIDATION_CACHE_SPEC_VERSION,+        VK_EXT_VALIDATION_CACHE_EXTENSION_NAME,+        pattern VK_EXT_VALIDATION_CACHE_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT,+        pattern VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT,+        pattern VK_OBJECT_TYPE_VALIDATION_CACHE_EXT,+        pattern VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_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.VkDebugReportObjectTypeEXT+                                                                                          (VkDebugReportObjectTypeEXT (..))+import           Graphics.Vulkan.Types.Enum.VkInternalAllocationType+import           Graphics.Vulkan.Types.Enum.VkObjectType+                                                                                          (VkObjectType (..))+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Enum.VkSystemAllocationScope+import           Graphics.Vulkan.Types.Enum.VkValidationCacheHeaderVersionEXT+import           Graphics.Vulkan.Types.Funcpointers+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkAllocationCallbacks+import           Graphics.Vulkan.Types.Struct.VkShaderModuleCreateInfo+import           Graphics.Vulkan.Types.Struct.VkShaderModuleValidationCacheCreateInfoEXT+import           Graphics.Vulkan.Types.Struct.VkValidationCacheCreateInfoEXT++-- | 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.0-extensions/man/html/vkCreateValidationCacheEXT.html vkCreateValidationCacheEXT registry at www.khronos.org>+foreign import ccall unsafe "vkCreateValidationCacheEXT"+               vkCreateValidationCacheEXT ::+               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>+foreign import ccall unsafe "vkDestroyValidationCacheEXT"+               vkDestroyValidationCacheEXT ::+               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'.+--+--   > VkResult vkMergeValidationCachesEXT+--   >     ( VkDevice device+--   >     , VkValidationCacheEXT dstCache+--   >     , uint32_t srcCacheCount+--   >     , const VkValidationCacheEXT* pSrcCaches+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkMergeValidationCachesEXT.html vkMergeValidationCachesEXT registry at www.khronos.org>+foreign import ccall unsafe "vkMergeValidationCachesEXT"+               vkMergeValidationCachesEXT ::+               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'.+--+--   > VkResult vkGetValidationCacheDataEXT+--   >     ( VkDevice device+--   >     , VkValidationCacheEXT validationCache+--   >     , size_t* pDataSize+--   >     , void* pData+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetValidationCacheDataEXT.html vkGetValidationCacheDataEXT registry at www.khronos.org>+foreign import ccall unsafe "vkGetValidationCacheDataEXT"+               vkGetValidationCacheDataEXT ::+               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++type VK_EXT_VALIDATION_CACHE_SPEC_VERSION = 1++pattern VK_EXT_VALIDATION_CACHE_EXTENSION_NAME :: CString++pattern VK_EXT_VALIDATION_CACHE_EXTENSION_NAME <-+        (is_VK_EXT_VALIDATION_CACHE_EXTENSION_NAME -> True)+  where VK_EXT_VALIDATION_CACHE_EXTENSION_NAME+          = _VK_EXT_VALIDATION_CACHE_EXTENSION_NAME++{-# INLINE _VK_EXT_VALIDATION_CACHE_EXTENSION_NAME #-}++_VK_EXT_VALIDATION_CACHE_EXTENSION_NAME :: CString+_VK_EXT_VALIDATION_CACHE_EXTENSION_NAME+  = Ptr "VK_EXT_validation_cache\NUL"#++{-# INLINE is_VK_EXT_VALIDATION_CACHE_EXTENSION_NAME #-}++is_VK_EXT_VALIDATION_CACHE_EXTENSION_NAME :: CString -> Bool+is_VK_EXT_VALIDATION_CACHE_EXTENSION_NAME+  = eqCStrings _VK_EXT_VALIDATION_CACHE_EXTENSION_NAME++type VK_EXT_VALIDATION_CACHE_EXTENSION_NAME =+     "VK_EXT_validation_cache"++pattern VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT =+        VkStructureType 1000160000++pattern VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT+        = VkStructureType 1000160001++-- | VkValidationCacheEXT+pattern VK_OBJECT_TYPE_VALIDATION_CACHE_EXT :: VkObjectType++pattern VK_OBJECT_TYPE_VALIDATION_CACHE_EXT =+        VkObjectType 1000160000++pattern VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT =+        VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT
+ src-gen/Graphics/Vulkan/Ext/VK_EXT_validation_flags.hs view
@@ -0,0 +1,76 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_EXT_validation_flags+       (-- * Vulkan extension: @VK_EXT_validation_flags@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Tobin Ehlis @tobine@+        --+        -- author: @GOOGLE@+        --+        -- type: @instance@+        --+        -- Extension number: @62@+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.Struct.VkApplicationInfo,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkInstanceCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Enum.VkValidationCheckEXT,+        module Graphics.Vulkan.Types.Struct.VkValidationFlagsEXT,+        -- > #include "vk_platform.h"+        VK_EXT_VALIDATION_FLAGS_SPEC_VERSION,+        pattern VK_EXT_VALIDATION_FLAGS_SPEC_VERSION,+        VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME,+        pattern VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_VALIDATION_FLAGS_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.VkStructureType+import           Graphics.Vulkan.Types.Enum.VkValidationCheckEXT+import           Graphics.Vulkan.Types.Struct.VkApplicationInfo+import           Graphics.Vulkan.Types.Struct.VkInstanceCreateInfo+import           Graphics.Vulkan.Types.Struct.VkValidationFlagsEXT++pattern VK_EXT_VALIDATION_FLAGS_SPEC_VERSION :: (Num a, Eq a) => a++pattern VK_EXT_VALIDATION_FLAGS_SPEC_VERSION = 1++type VK_EXT_VALIDATION_FLAGS_SPEC_VERSION = 1++pattern VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME :: CString++pattern VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME <-+        (is_VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME -> True)+  where VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME+          = _VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME++{-# INLINE _VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME #-}++_VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME :: CString+_VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME+  = Ptr "VK_EXT_validation_flags\NUL"#++{-# INLINE is_VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME #-}++is_VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME :: CString -> Bool+is_VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME+  = eqCStrings _VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME++type VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME =+     "VK_EXT_validation_flags"++pattern VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT :: VkStructureType++pattern VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT =+        VkStructureType 1000061000
+ src-gen/Graphics/Vulkan/Ext/VK_GOOGLE_display_timing.hs view
@@ -0,0 +1,127 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_GOOGLE_display_timing+       (-- * Vulkan extension: @VK_GOOGLE_display_timing@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Ian Elliott ianelliott@google.com@+        --+        -- author: @GOOGLE@+        --+        -- type: @device@+        --+        -- Extension number: @93@+        --+        -- Required extensions: 'VK_KHR_swapchain'.+        --++        -- ** Required extensions: 'VK_KHR_swapchain'.+        module Graphics.Vulkan.Types.Struct.VkPastPresentationTimingGOOGLE,+        module Graphics.Vulkan.Types.Struct.VkPresentInfoKHR,+        module Graphics.Vulkan.Types.Struct.VkPresentTimeGOOGLE,+        module Graphics.Vulkan.Types.Struct.VkPresentTimesInfoGOOGLE,+        module Graphics.Vulkan.Types.Struct.VkRefreshCycleDurationGOOGLE,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        -- > #include "vk_platform.h"+        vkGetRefreshCycleDurationGOOGLE, vkGetPastPresentationTimingGOOGLE,+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.Handles,+        VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION,+        pattern VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION,+        VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME,+        pattern VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE)+       where+import           GHC.Ptr                                                     (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkPastPresentationTimingGOOGLE+import           Graphics.Vulkan.Types.Struct.VkPresentInfoKHR+import           Graphics.Vulkan.Types.Struct.VkPresentTimeGOOGLE+import           Graphics.Vulkan.Types.Struct.VkPresentTimesInfoGOOGLE+import           Graphics.Vulkan.Types.Struct.VkRefreshCycleDurationGOOGLE++-- | 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.0-extensions/man/html/vkGetRefreshCycleDurationGOOGLE.html vkGetRefreshCycleDurationGOOGLE registry at www.khronos.org>+foreign import ccall unsafe "vkGetRefreshCycleDurationGOOGLE"+               vkGetRefreshCycleDurationGOOGLE ::+               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'.+--+--   > VkResult vkGetPastPresentationTimingGOOGLE+--   >     ( VkDevice device+--   >     , VkSwapchainKHR swapchain+--   >     , uint32_t* pPresentationTimingCount+--   >     , VkPastPresentationTimingGOOGLE* pPresentationTimings+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPastPresentationTimingGOOGLE.html vkGetPastPresentationTimingGOOGLE registry at www.khronos.org>+foreign import ccall unsafe "vkGetPastPresentationTimingGOOGLE"+               vkGetPastPresentationTimingGOOGLE ::+               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++type VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION = 1++pattern VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME :: CString++pattern VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME <-+        (is_VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME -> True)+  where VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME+          = _VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME++{-# INLINE _VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME #-}++_VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME :: CString+_VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME+  = Ptr "VK_GOOGLE_display_timing\NUL"#++{-# INLINE is_VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME #-}++is_VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME :: CString -> Bool+is_VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME+  = eqCStrings _VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME++type VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME =+     "VK_GOOGLE_display_timing"++pattern VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE =+        VkStructureType 1000092000
+ src-gen/Graphics/Vulkan/Ext/VK_IMG_filter_cubic.hs view
@@ -0,0 +1,71 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_IMG_filter_cubic+       (-- * Vulkan extension: @VK_IMG_filter_cubic@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Tobias Hector @tobias@+        --+        -- author: @IMG@+        --+        -- type: @device@+        --+        -- Extension number: @16@+        VK_IMG_FILTER_CUBIC_SPEC_VERSION,+        pattern VK_IMG_FILTER_CUBIC_SPEC_VERSION,+        VK_IMG_FILTER_CUBIC_EXTENSION_NAME,+        pattern VK_IMG_FILTER_CUBIC_EXTENSION_NAME,+        pattern VK_FILTER_CUBIC_IMG,+        pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG)+       where+import           GHC.Ptr                                         (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.Enum.VkFilter             (VkFilter (..))+import           Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags (VkFormatFeatureBitmask (..),+                                                                  VkFormatFeatureFlagBits)++pattern VK_IMG_FILTER_CUBIC_SPEC_VERSION :: (Num a, Eq a) => a++pattern VK_IMG_FILTER_CUBIC_SPEC_VERSION = 1++type VK_IMG_FILTER_CUBIC_SPEC_VERSION = 1++pattern VK_IMG_FILTER_CUBIC_EXTENSION_NAME :: CString++pattern VK_IMG_FILTER_CUBIC_EXTENSION_NAME <-+        (is_VK_IMG_FILTER_CUBIC_EXTENSION_NAME -> True)+  where VK_IMG_FILTER_CUBIC_EXTENSION_NAME+          = _VK_IMG_FILTER_CUBIC_EXTENSION_NAME++{-# INLINE _VK_IMG_FILTER_CUBIC_EXTENSION_NAME #-}++_VK_IMG_FILTER_CUBIC_EXTENSION_NAME :: CString+_VK_IMG_FILTER_CUBIC_EXTENSION_NAME+  = Ptr "VK_IMG_filter_cubic\NUL"#++{-# INLINE is_VK_IMG_FILTER_CUBIC_EXTENSION_NAME #-}++is_VK_IMG_FILTER_CUBIC_EXTENSION_NAME :: CString -> Bool+is_VK_IMG_FILTER_CUBIC_EXTENSION_NAME+  = eqCStrings _VK_IMG_FILTER_CUBIC_EXTENSION_NAME++type VK_IMG_FILTER_CUBIC_EXTENSION_NAME = "VK_IMG_filter_cubic"++pattern VK_FILTER_CUBIC_IMG :: VkFilter++pattern VK_FILTER_CUBIC_IMG = VkFilter 1000015000++-- | Format can be filtered with VK_FILTER_CUBIC_IMG when being sampled+--+--   bitpos = @13@+pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG ::+        VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG =+        VkFormatFeatureFlagBits 8192
+ src-gen/Graphics/Vulkan/Ext/VK_IMG_format_pvrtc.hs view
@@ -0,0 +1,94 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_IMG_format_pvrtc+       (-- * Vulkan extension: @VK_IMG_format_pvrtc@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Tobias Hector @tobias@+        --+        -- author: @IMG@+        --+        -- type: @device@+        --+        -- Extension number: @55@+        VK_IMG_FORMAT_PVRTC_SPEC_VERSION,+        pattern VK_IMG_FORMAT_PVRTC_SPEC_VERSION,+        VK_IMG_FORMAT_PVRTC_EXTENSION_NAME,+        pattern VK_IMG_FORMAT_PVRTC_EXTENSION_NAME,+        pattern VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG,+        pattern VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG,+        pattern VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG,+        pattern VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG,+        pattern VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG,+        pattern VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG,+        pattern VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG,+        pattern VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG)+       where+import           GHC.Ptr                             (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.Enum.VkFormat (VkFormat (..))++pattern VK_IMG_FORMAT_PVRTC_SPEC_VERSION :: (Num a, Eq a) => a++pattern VK_IMG_FORMAT_PVRTC_SPEC_VERSION = 1++type VK_IMG_FORMAT_PVRTC_SPEC_VERSION = 1++pattern VK_IMG_FORMAT_PVRTC_EXTENSION_NAME :: CString++pattern VK_IMG_FORMAT_PVRTC_EXTENSION_NAME <-+        (is_VK_IMG_FORMAT_PVRTC_EXTENSION_NAME -> True)+  where VK_IMG_FORMAT_PVRTC_EXTENSION_NAME+          = _VK_IMG_FORMAT_PVRTC_EXTENSION_NAME++{-# INLINE _VK_IMG_FORMAT_PVRTC_EXTENSION_NAME #-}++_VK_IMG_FORMAT_PVRTC_EXTENSION_NAME :: CString+_VK_IMG_FORMAT_PVRTC_EXTENSION_NAME+  = Ptr "VK_IMG_format_pvrtc\NUL"#++{-# INLINE is_VK_IMG_FORMAT_PVRTC_EXTENSION_NAME #-}++is_VK_IMG_FORMAT_PVRTC_EXTENSION_NAME :: CString -> Bool+is_VK_IMG_FORMAT_PVRTC_EXTENSION_NAME+  = eqCStrings _VK_IMG_FORMAT_PVRTC_EXTENSION_NAME++type VK_IMG_FORMAT_PVRTC_EXTENSION_NAME = "VK_IMG_format_pvrtc"++pattern VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG :: VkFormat++pattern VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = VkFormat 1000054000++pattern VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG :: VkFormat++pattern VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = VkFormat 1000054001++pattern VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG :: VkFormat++pattern VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = VkFormat 1000054002++pattern VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG :: VkFormat++pattern VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = VkFormat 1000054003++pattern VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG :: VkFormat++pattern VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = VkFormat 1000054004++pattern VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG :: VkFormat++pattern VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = VkFormat 1000054005++pattern VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG :: VkFormat++pattern VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = VkFormat 1000054006++pattern VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG :: VkFormat++pattern VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = VkFormat 1000054007
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_16bit_storage.hs view
@@ -0,0 +1,84 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_KHR_16bit_storage+       (-- * Vulkan extension: @VK_KHR_16bit_storage@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jan-Harald Fredriksen @janharald@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @84@+        --+        -- Required extensions: 'VK_KHR_get_physical_device_properties2', 'VK_KHR_storage_buffer_storage_class'.+        --++        -- ** 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,+        pattern VK_KHR_16BIT_STORAGE_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR)+       where+import           GHC.Ptr+                                                                                       (Ptr (..))+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++pattern VK_KHR_16BIT_STORAGE_SPEC_VERSION = 1++type VK_KHR_16BIT_STORAGE_SPEC_VERSION = 1++pattern VK_KHR_16BIT_STORAGE_EXTENSION_NAME :: CString++pattern VK_KHR_16BIT_STORAGE_EXTENSION_NAME <-+        (is_VK_KHR_16BIT_STORAGE_EXTENSION_NAME -> True)+  where VK_KHR_16BIT_STORAGE_EXTENSION_NAME+          = _VK_KHR_16BIT_STORAGE_EXTENSION_NAME++{-# INLINE _VK_KHR_16BIT_STORAGE_EXTENSION_NAME #-}++_VK_KHR_16BIT_STORAGE_EXTENSION_NAME :: CString+_VK_KHR_16BIT_STORAGE_EXTENSION_NAME+  = Ptr "VK_KHR_16bit_storage\NUL"#++{-# INLINE is_VK_KHR_16BIT_STORAGE_EXTENSION_NAME #-}++is_VK_KHR_16BIT_STORAGE_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_16BIT_STORAGE_EXTENSION_NAME+  = eqCStrings _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
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_android_surface.hs view
@@ -0,0 +1,117 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_android_surface+       (-- * Vulkan extension: @VK_KHR_android_surface@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jesse Hall @jessehall@+        --+        -- author: @KHR@+        --+        -- type: @instance@+        --+        -- 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,+        module Graphics.Vulkan.Types.Struct.VkAndroidSurfaceCreateInfoKHR,+        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,+        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,+        VK_KHR_ANDROID_SURFACE_EXTENSION_NAME,+        pattern VK_KHR_ANDROID_SURFACE_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR)+       where+import           GHC.Ptr                                                    (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Bitmasks+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++-- | 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.0-extensions/man/html/vkCreateAndroidSurfaceKHR.html vkCreateAndroidSurfaceKHR registry at www.khronos.org>+foreign import ccall unsafe "vkCreateAndroidSurfaceKHR"+               vkCreateAndroidSurfaceKHR ::+               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++type VK_KHR_ANDROID_SURFACE_SPEC_VERSION = 6++pattern VK_KHR_ANDROID_SURFACE_EXTENSION_NAME :: CString++pattern VK_KHR_ANDROID_SURFACE_EXTENSION_NAME <-+        (is_VK_KHR_ANDROID_SURFACE_EXTENSION_NAME -> True)+  where VK_KHR_ANDROID_SURFACE_EXTENSION_NAME+          = _VK_KHR_ANDROID_SURFACE_EXTENSION_NAME++{-# INLINE _VK_KHR_ANDROID_SURFACE_EXTENSION_NAME #-}++_VK_KHR_ANDROID_SURFACE_EXTENSION_NAME :: CString+_VK_KHR_ANDROID_SURFACE_EXTENSION_NAME+  = Ptr "VK_KHR_android_surface\NUL"#++{-# INLINE is_VK_KHR_ANDROID_SURFACE_EXTENSION_NAME #-}++is_VK_KHR_ANDROID_SURFACE_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_ANDROID_SURFACE_EXTENSION_NAME+  = eqCStrings _VK_KHR_ANDROID_SURFACE_EXTENSION_NAME++type VK_KHR_ANDROID_SURFACE_EXTENSION_NAME =+     "VK_KHR_android_surface"++pattern VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR =+        VkStructureType 1000008000
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_bind_memory2.hs view
@@ -0,0 +1,127 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_bind_memory2+       (-- * Vulkan extension: @VK_KHR_bind_memory2@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Tobias Hector @tobias@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- 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,+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Handles,+        VK_KHR_BIND_MEMORY_2_SPEC_VERSION,+        pattern VK_KHR_BIND_MEMORY_2_SPEC_VERSION,+        VK_KHR_BIND_MEMORY_2_EXTENSION_NAME,+        pattern VK_KHR_BIND_MEMORY_2_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR,+        pattern VK_IMAGE_CREATE_ALIAS_BIT_KHR)+       where+import           GHC.Ptr                                                (Ptr (..))+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.VkBindBufferMemoryInfoKHR+import           Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfoKHR++-- | 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+--   >     )+--+--   <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"+               vkBindBufferMemory2KHR ::+               VkDevice -- ^ device+                        -> Word32 -- ^ bindInfoCount+                                  -> Ptr VkBindBufferMemoryInfoKHR -- ^ pBindInfos+                                                                   -> IO VkResult++-- | 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+--   >     )+--+--   <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"+               vkBindImageMemory2KHR ::+               VkDevice -- ^ device+                        -> Word32 -- ^ bindInfoCount+                                  -> Ptr VkBindImageMemoryInfoKHR -- ^ 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++type VK_KHR_BIND_MEMORY_2_SPEC_VERSION = 1++pattern VK_KHR_BIND_MEMORY_2_EXTENSION_NAME :: CString++pattern VK_KHR_BIND_MEMORY_2_EXTENSION_NAME <-+        (is_VK_KHR_BIND_MEMORY_2_EXTENSION_NAME -> True)+  where VK_KHR_BIND_MEMORY_2_EXTENSION_NAME+          = _VK_KHR_BIND_MEMORY_2_EXTENSION_NAME++{-# INLINE _VK_KHR_BIND_MEMORY_2_EXTENSION_NAME #-}++_VK_KHR_BIND_MEMORY_2_EXTENSION_NAME :: CString+_VK_KHR_BIND_MEMORY_2_EXTENSION_NAME+  = Ptr "VK_KHR_bind_memory2\NUL"#++{-# INLINE is_VK_KHR_BIND_MEMORY_2_EXTENSION_NAME #-}++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++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++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR =+        VkStructureType 1000157001++-- | bitpos = @10@+pattern VK_IMAGE_CREATE_ALIAS_BIT_KHR :: VkImageCreateFlagBits++pattern VK_IMAGE_CREATE_ALIAS_BIT_KHR = VkImageCreateFlagBits 1024
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_dedicated_allocation.hs view
@@ -0,0 +1,89 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_KHR_dedicated_allocation+       (-- * Vulkan extension: @VK_KHR_dedicated_allocation@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @James Jones @cubanismo@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @128@+        --+        -- Required extensions: 'VK_KHR_get_memory_requirements2'.+        --++        -- ** 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,+        pattern VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR,+        pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR)+       where+import           GHC.Ptr                                                       (Ptr (..))+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++pattern VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION = 3++type VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION = 3++pattern VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME :: CString++pattern VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME <-+        (is_VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME -> True)+  where VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME+          = _VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME++{-# INLINE _VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME #-}++_VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME :: CString+_VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME+  = Ptr "VK_KHR_dedicated_allocation\NUL"#++{-# INLINE is_VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME #-}++is_VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME+  = eqCStrings _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++pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR =+        VkStructureType 1000127001
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_descriptor_update_template.hs view
@@ -0,0 +1,198 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_descriptor_update_template+       (-- * Vulkan extension: @VK_KHR_descriptor_update_template@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Markus Tavenrath @mtavenrath@+        --+        -- author: @KHR@+        --+        -- 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,+        vkDestroyDescriptorUpdateTemplateKHR,+        vkUpdateDescriptorSetWithTemplateKHR,+        vkCmdPushDescriptorSetWithTemplateKHR,+        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_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)+       where+import           GHC.Ptr+                                                                                       (Ptr (..))+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.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+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.VkDescriptorUpdateTemplateCreateInfoKHR+import           Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateEntryKHR++-- | 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 VkAllocationCallbacks* pAllocator+--   >     , VkDescriptorUpdateTemplateKHR* 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"+               vkCreateDescriptorUpdateTemplateKHR ::+               VkDevice -- ^ device+                        ->+                 Ptr VkDescriptorUpdateTemplateCreateInfoKHR -- ^ pCreateInfo+                                                             ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             ->+                     Ptr VkDescriptorUpdateTemplateKHR -- ^ pDescriptorUpdateTemplate+                                                       -> IO VkResult++-- | > () vkDestroyDescriptorUpdateTemplateKHR+--   >     ( VkDevice device+--   >     , VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <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"+               vkDestroyDescriptorUpdateTemplateKHR ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorUpdateTemplateKHR -- ^ descriptorUpdateTemplate+                                               -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                            -> IO ()++-- | > () vkUpdateDescriptorSetWithTemplateKHR+--   >     ( VkDevice device+--   >     , VkDescriptorSet descriptorSet+--   >     , VkDescriptorUpdateTemplateKHR 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"+               vkUpdateDescriptorSetWithTemplateKHR ::+               VkDevice -- ^ device+                        ->+                 VkDescriptorSet -- ^ descriptorSet+                                 ->+                   VkDescriptorUpdateTemplateKHR -- ^ descriptorUpdateTemplate+                                                 -> Ptr Void -- ^ pData+                                                             -> IO ()++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @both@+--+--   > () vkCmdPushDescriptorSetWithTemplateKHR+--   >     ( VkCommandBuffer commandBuffer+--   >     , VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate+--   >     , VkPipelineLayout layout+--   >     , uint32_t set+--   >     , 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 ()++pattern VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION = 1++type VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION = 1++pattern VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME :: CString++pattern VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME <-+        (is_VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME -> True)+  where VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME+          = _VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME++{-# INLINE _VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME #-}++_VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME :: CString+_VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME+  = Ptr "VK_KHR_descriptor_update_template\NUL"#++{-# INLINE is_VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME #-}++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++type VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME =+     "VK_KHR_descriptor_update_template"++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR+        = VkStructureType 1000085000++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT+        :: VkDebugReportObjectTypeEXT++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
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_display.hs view
@@ -0,0 +1,283 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_display+       (-- * Vulkan extension: @VK_KHR_display@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @James Jones @cubanismo,Norbert Nopper @FslNopper@+        --+        -- author: @KHR@+        --+        -- type: @instance@+        --+        -- Extension number: @3@+        --+        -- Required extensions: 'VK_KHR_surface'.+        --++        -- ** Required extensions: 'VK_KHR_surface'.+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkDisplayModeCreateInfoKHR,+        module Graphics.Vulkan.Types.Struct.VkDisplayModeParametersKHR,+        module Graphics.Vulkan.Types.Struct.VkDisplayModePropertiesKHR,+        module Graphics.Vulkan.Types.Enum.VkDisplayPlaneAlphaFlagsKHR,+        module Graphics.Vulkan.Types.Struct.VkDisplayPlaneCapabilitiesKHR,+        module Graphics.Vulkan.Types.Struct.VkDisplayPlanePropertiesKHR,+        module Graphics.Vulkan.Types.Struct.VkDisplayPropertiesKHR,+        module Graphics.Vulkan.Types.Struct.VkDisplaySurfaceCreateInfoKHR,+        module Graphics.Vulkan.Types.Struct.VkExtent2D,+        module Graphics.Vulkan.Types.Struct.VkOffset2D,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR,+        -- > #include "vk_platform.h"+        vkGetPhysicalDeviceDisplayPropertiesKHR,+        vkGetPhysicalDeviceDisplayPlanePropertiesKHR,+        vkGetDisplayPlaneSupportedDisplaysKHR,+        vkGetDisplayModePropertiesKHR, vkCreateDisplayModeKHR,+        vkGetDisplayPlaneCapabilitiesKHR, vkCreateDisplayPlaneSurfaceKHR,+        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_KHR_DISPLAY_SPEC_VERSION, pattern VK_KHR_DISPLAY_SPEC_VERSION,+        VK_KHR_DISPLAY_EXTENSION_NAME,+        pattern VK_KHR_DISPLAY_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR,+        pattern VK_OBJECT_TYPE_DISPLAY_KHR,+        pattern VK_OBJECT_TYPE_DISPLAY_MODE_KHR)+       where+import           GHC.Ptr                                                    (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Bitmasks+import           Graphics.Vulkan.Types.Enum.VkDisplayPlaneAlphaFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkInternalAllocationType+import           Graphics.Vulkan.Types.Enum.VkObjectType                    (VkObjectType (..))+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR+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.VkDisplayModeCreateInfoKHR+import           Graphics.Vulkan.Types.Struct.VkDisplayModeParametersKHR+import           Graphics.Vulkan.Types.Struct.VkDisplayModePropertiesKHR+import           Graphics.Vulkan.Types.Struct.VkDisplayPlaneCapabilitiesKHR+import           Graphics.Vulkan.Types.Struct.VkDisplayPlanePropertiesKHR+import           Graphics.Vulkan.Types.Struct.VkDisplayPropertiesKHR+import           Graphics.Vulkan.Types.Struct.VkDisplaySurfaceCreateInfoKHR+import           Graphics.Vulkan.Types.Struct.VkExtent2D+import           Graphics.Vulkan.Types.Struct.VkOffset2D++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+--   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.0-extensions/man/html/vkGetPhysicalDeviceDisplayPropertiesKHR.html vkGetPhysicalDeviceDisplayPropertiesKHR registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetPhysicalDeviceDisplayPropertiesKHR"+               vkGetPhysicalDeviceDisplayPropertiesKHR ::+               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>+foreign import ccall unsafe+               "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"+               vkGetPhysicalDeviceDisplayPlanePropertiesKHR ::+               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+--   >     , uint32_t* pDisplayCount+--   >     , VkDisplayKHR* pDisplays+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetDisplayPlaneSupportedDisplaysKHR.html vkGetDisplayPlaneSupportedDisplaysKHR registry at www.khronos.org>+foreign import ccall unsafe "vkGetDisplayPlaneSupportedDisplaysKHR"+               vkGetDisplayPlaneSupportedDisplaysKHR ::+               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+--   >     , uint32_t* pPropertyCount+--   >     , VkDisplayModePropertiesKHR* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetDisplayModePropertiesKHR.html vkGetDisplayModePropertiesKHR registry at www.khronos.org>+foreign import ccall unsafe "vkGetDisplayModePropertiesKHR"+               vkGetDisplayModePropertiesKHR ::+               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'.+--+--   > VkResult vkCreateDisplayModeKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkDisplayKHR display+--   >     , const VkDisplayModeCreateInfoKHR* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkDisplayModeKHR* pMode+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateDisplayModeKHR.html vkCreateDisplayModeKHR registry at www.khronos.org>+foreign import ccall unsafe "vkCreateDisplayModeKHR"+               vkCreateDisplayModeKHR ::+               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+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkDisplayModeKHR mode+--   >     , uint32_t planeIndex+--   >     , VkDisplayPlaneCapabilitiesKHR* pCapabilities+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetDisplayPlaneCapabilitiesKHR.html vkGetDisplayPlaneCapabilitiesKHR registry at www.khronos.org>+foreign import ccall unsafe "vkGetDisplayPlaneCapabilitiesKHR"+               vkGetDisplayPlaneCapabilitiesKHR ::+               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+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkSurfaceKHR* pSurface+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateDisplayPlaneSurfaceKHR.html vkCreateDisplayPlaneSurfaceKHR registry at www.khronos.org>+foreign import ccall unsafe "vkCreateDisplayPlaneSurfaceKHR"+               vkCreateDisplayPlaneSurfaceKHR ::+               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++type VK_KHR_DISPLAY_SPEC_VERSION = 21++pattern VK_KHR_DISPLAY_EXTENSION_NAME :: CString++pattern VK_KHR_DISPLAY_EXTENSION_NAME <-+        (is_VK_KHR_DISPLAY_EXTENSION_NAME -> True)+  where VK_KHR_DISPLAY_EXTENSION_NAME+          = _VK_KHR_DISPLAY_EXTENSION_NAME++{-# INLINE _VK_KHR_DISPLAY_EXTENSION_NAME #-}++_VK_KHR_DISPLAY_EXTENSION_NAME :: CString+_VK_KHR_DISPLAY_EXTENSION_NAME = Ptr "VK_KHR_display\NUL"#++{-# INLINE is_VK_KHR_DISPLAY_EXTENSION_NAME #-}++is_VK_KHR_DISPLAY_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_DISPLAY_EXTENSION_NAME+  = eqCStrings _VK_KHR_DISPLAY_EXTENSION_NAME++type VK_KHR_DISPLAY_EXTENSION_NAME = "VK_KHR_display"++pattern VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR =+        VkStructureType 1000002000++pattern VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR =+        VkStructureType 1000002001++-- | VkDisplayKHR+pattern VK_OBJECT_TYPE_DISPLAY_KHR :: VkObjectType++pattern VK_OBJECT_TYPE_DISPLAY_KHR = VkObjectType 1000002000++-- | VkDisplayModeKHR+pattern VK_OBJECT_TYPE_DISPLAY_MODE_KHR :: VkObjectType++pattern VK_OBJECT_TYPE_DISPLAY_MODE_KHR = VkObjectType 1000002001
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_display_swapchain.hs view
@@ -0,0 +1,143 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_display_swapchain+       (-- * Vulkan extension: @VK_KHR_display_swapchain@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @James Jones @cubanismo@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @4@+        --+        -- Required extensions: 'VK_KHR_swapchain', 'VK_KHR_display'.+        --++        -- ** Required extensions: 'VK_KHR_swapchain', 'VK_KHR_display'.+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Struct.VkDisplayPresentInfoKHR,+        module Graphics.Vulkan.Types.Struct.VkExtent2D,+        module Graphics.Vulkan.Types.Struct.VkOffset2D,+        module Graphics.Vulkan.Types.Struct.VkPresentInfoKHR,+        module Graphics.Vulkan.Types.Struct.VkRect2D,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        -- > #include "vk_platform.h"+        vkCreateSharedSwapchainsKHR, module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.Enum.VkColorSpaceKHR,+        module Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR,+        module Graphics.Vulkan.Types.Enum.VkFormat,+        module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,+        module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,+        module Graphics.Vulkan.Types.Enum.VkPresentModeKHR,+        module Graphics.Vulkan.Types.Enum.VkSharingMode,+        module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR,+        module Graphics.Vulkan.Types.Enum.VkSwapchainCreateFlagsKHR,+        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.VkSwapchainCreateInfoKHR,+        VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION,+        pattern VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION,+        VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME,+        pattern VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR,+        pattern VK_ERROR_INCOMPATIBLE_DISPLAY_KHR)+       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.VkCompositeAlphaFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkFormat+import           Graphics.Vulkan.Types.Enum.VkImageUsageFlags+import           Graphics.Vulkan.Types.Enum.VkInternalAllocationType+import           Graphics.Vulkan.Types.Enum.VkPresentModeKHR+import           Graphics.Vulkan.Types.Enum.VkResult+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.Enum.VkSystemAllocationScope+import           Graphics.Vulkan.Types.Funcpointers+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkAllocationCallbacks+import           Graphics.Vulkan.Types.Struct.VkDisplayPresentInfoKHR+import           Graphics.Vulkan.Types.Struct.VkExtent2D+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'.+--+--   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.0-extensions/man/html/vkCreateSharedSwapchainsKHR.html vkCreateSharedSwapchainsKHR registry at www.khronos.org>+foreign import ccall unsafe "vkCreateSharedSwapchainsKHR"+               vkCreateSharedSwapchainsKHR ::+               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++type VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION = 9++pattern VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME :: CString++pattern VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME <-+        (is_VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME -> True)+  where VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME+          = _VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME++{-# INLINE _VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME #-}++_VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME :: CString+_VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME+  = Ptr "VK_KHR_display_swapchain\NUL"#++{-# INLINE is_VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME #-}++is_VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME+  = eqCStrings _VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME++type VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME =+     "VK_KHR_display_swapchain"++pattern VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR =+        VkStructureType 1000003000++pattern VK_ERROR_INCOMPATIBLE_DISPLAY_KHR :: VkResult++pattern VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = VkResult (-1000003001)
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence.hs view
@@ -0,0 +1,80 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_KHR_external_fence+       (-- * Vulkan extension: @VK_KHR_external_fence@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jesse Hall @jessehall@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @114@+        --+        -- Required extensions: 'VK_KHR_external_fence_capabilities'.+        --++        -- ** 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"+        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)+       where+import           GHC.Ptr                                                      (Ptr (..))+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.Struct.VkExportFenceCreateInfoKHR+import           Graphics.Vulkan.Types.Struct.VkFenceCreateInfo++pattern VK_KHR_EXTERNAL_FENCE_SPEC_VERSION :: (Num a, Eq a) => a++pattern VK_KHR_EXTERNAL_FENCE_SPEC_VERSION = 1++type VK_KHR_EXTERNAL_FENCE_SPEC_VERSION = 1++pattern VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME :: CString++pattern VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME <-+        (is_VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME -> True)+  where VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME+          = _VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME++{-# INLINE _VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME #-}++_VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME :: CString+_VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME+  = Ptr "VK_KHR_external_fence\NUL"#++{-# INLINE is_VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME #-}++is_VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME+  = eqCStrings _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
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence_capabilities.hs view
@@ -0,0 +1,130 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_external_fence_capabilities+       (-- * Vulkan extension: @VK_KHR_external_fence_capabilities@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jesse Hall @jessehall@+        --+        -- author: @KHR@+        --+        -- type: @instance@+        --+        -- Extension number: @113@+        --+        -- 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.VkExternalFenceFeatureFlagsKHR,+        module Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlagsKHR,+        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,+        module Graphics.Vulkan.Types.Handles,+        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)+       where+import           GHC.Ptr+                                                                                    (Ptr (..))+import           Graphics.Vulkan.Constants+                                                                                    (VK_LUID_SIZE_KHR,+                                                                                    pattern VK_LUID_SIZE_KHR)+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.Enum.VkStructureType+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkExternalFencePropertiesKHR+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+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceExternalFenceInfoKHR* pExternalFenceInfo+--   >     , VkExternalFencePropertiesKHR* pExternalFenceProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceExternalFencePropertiesKHR.html vkGetPhysicalDeviceExternalFencePropertiesKHR registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetPhysicalDeviceExternalFencePropertiesKHR"+               vkGetPhysicalDeviceExternalFencePropertiesKHR ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceExternalFenceInfoKHR -- ^ pExternalFenceInfo+                                                          ->+                   Ptr VkExternalFencePropertiesKHR -- ^ pExternalFenceProperties+                                                    -> IO ()++pattern VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION = 1++type VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION = 1++pattern VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME ::+        CString++pattern VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME <-+        (is_VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME -> True)+  where VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME+          = _VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME++{-# INLINE _VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME #-}++_VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME :: CString+_VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME+  = Ptr "VK_KHR_external_fence_capabilities\NUL"#++{-# INLINE is_VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME #-}++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++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++pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR =+        VkStructureType 1000112001
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence_fd.hs view
@@ -0,0 +1,124 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_external_fence_fd+       (-- * Vulkan extension: @VK_KHR_external_fence_fd@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jesse Hall @jessehall@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @116@+        --+        -- Required extensions: 'VK_KHR_external_fence'.+        --++        -- ** Required extensions: 'VK_KHR_external_fence'.+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlagsKHR,+        module Graphics.Vulkan.Types.Struct.VkFenceGetFdInfoKHR,+        module Graphics.Vulkan.Types.Enum.VkFenceImportFlagsKHR,+        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,+        module Graphics.Vulkan.Types.Handles,+        VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION,+        pattern VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION,+        VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME,+        pattern VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR)+       where+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.VkResult+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkFenceGetFdInfoKHR+import           Graphics.Vulkan.Types.Struct.VkImportFenceFdInfoKHR++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR'.+--+--   > 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>+foreign import ccall unsafe "vkImportFenceFdKHR" vkImportFenceFdKHR+               :: 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+--   >     ( VkDevice device+--   >     , const VkFenceGetFdInfoKHR* pGetFdInfo+--   >     , int* pFd+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-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++pattern VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION :: (Num a, Eq a) => a++pattern VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION = 1++type VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION = 1++pattern VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME :: CString++pattern VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME <-+        (is_VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME -> True)+  where VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME+          = _VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME++{-# INLINE _VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME #-}++_VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME :: CString+_VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME+  = Ptr "VK_KHR_external_fence_fd\NUL"#++{-# INLINE is_VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME #-}++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++type VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME =+     "VK_KHR_external_fence_fd"++pattern VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR =+        VkStructureType 1000115000++pattern VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR :: VkStructureType++pattern VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR =+        VkStructureType 1000115001
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence_win32.hs view
@@ -0,0 +1,148 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_external_fence_win32+       (-- * Vulkan extension: @VK_KHR_external_fence_win32@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jesse Hall @jessehall@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- 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.VkFenceCreateFlags,+        module Graphics.Vulkan.Types.Struct.VkFenceCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkFenceGetWin32HandleInfoKHR,+        module Graphics.Vulkan.Types.Enum.VkFenceImportFlagsKHR,+        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,+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Handles,+        module Graphics.Vulkan.Types.Include,+        VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION,+        pattern VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION,+        VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME,+        pattern VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR)+       where+import           GHC.Ptr                                                      (Ptr (..))+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.VkResult+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Include+import           Graphics.Vulkan.Types.Struct.VkExportFenceWin32HandleInfoKHR+import           Graphics.Vulkan.Types.Struct.VkFenceCreateInfo+import           Graphics.Vulkan.Types.Struct.VkFenceGetWin32HandleInfoKHR+import           Graphics.Vulkan.Types.Struct.VkImportFenceWin32HandleInfoKHR++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR'.+--+--   > 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>+foreign import ccall unsafe "vkImportFenceWin32HandleKHR"+               vkImportFenceWin32HandleKHR ::+               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+--   >     ( VkDevice device+--   >     , const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo+--   >     , HANDLE* pHandle+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetFenceWin32HandleKHR.html vkGetFenceWin32HandleKHR registry at www.khronos.org>+foreign import ccall unsafe "vkGetFenceWin32HandleKHR"+               vkGetFenceWin32HandleKHR ::+               VkDevice -- ^ device+                        ->+                 Ptr VkFenceGetWin32HandleInfoKHR -- ^ pGetWin32HandleInfo+                                                  -> Ptr HANDLE -- ^ pHandle+                                                                -> IO VkResult++pattern VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION = 1++type VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION = 1++pattern VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME :: CString++pattern VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME <-+        (is_VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME -> True)+  where VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME+          = _VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME++{-# INLINE _VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME #-}++_VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME :: CString+_VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME+  = Ptr "VK_KHR_external_fence_win32\NUL"#++{-# INLINE is_VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME #-}++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++type VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME =+     "VK_KHR_external_fence_win32"++pattern VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR =+        VkStructureType 1000114000++pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR =+        VkStructureType 1000114001++pattern VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR =+        VkStructureType 1000114002
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_external_memory.hs view
@@ -0,0 +1,134 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_KHR_external_memory+       (-- * Vulkan extension: @VK_KHR_external_memory@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @James Jones @cubanismo@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @73@+        --+        -- Required extensions: 'VK_KHR_external_memory_capabilities'.+        --++        -- ** 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,+        pattern VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR,+        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)+       where+import           GHC.Ptr+                                                                                   (Ptr (..))+import           Graphics.Vulkan.Constants+                                                                                   (VK_QUEUE_FAMILY_EXTERNAL_KHR,+                                                                                   pattern VK_QUEUE_FAMILY_EXTERNAL_KHR)+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++pattern VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION = 1++type VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION = 1++pattern VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME :: CString++pattern VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME <-+        (is_VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME -> True)+  where VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME+          = _VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME++{-# INLINE _VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME #-}++_VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME :: CString+_VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME+  = Ptr "VK_KHR_external_memory\NUL"#++{-# INLINE is_VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME #-}++is_VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME+  = eqCStrings _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++pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR =+        VkStructureType 1000072001++pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR =+        VkStructureType 1000072002++pattern VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR :: VkResult++pattern VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR =+        VkResult (-1000072003)
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_external_memory_capabilities.hs view
@@ -0,0 +1,180 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_external_memory_capabilities+       (-- * Vulkan extension: @VK_KHR_external_memory_capabilities@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @James Jones @cubanismo@+        --+        -- author: @KHR@+        --+        -- type: @instance@+        --+        -- Extension number: @72@+        --+        -- 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.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.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,+        module Graphics.Vulkan.Types.Handles,+        VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION,+        pattern VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION,+        VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME,+        pattern VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR,+        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)+       where+import           GHC.Ptr+                                                                                          (Ptr (..))+import           Graphics.Vulkan.Constants+                                                                                          (VK_LUID_SIZE_KHR,+                                                                                          pattern VK_LUID_SIZE_KHR)+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.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.VkStructureType+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkExtent3D+import           Graphics.Vulkan.Types.Struct.VkExternalBufferPropertiesKHR+import           Graphics.Vulkan.Types.Struct.VkExternalImageFormatPropertiesKHR+import           Graphics.Vulkan.Types.Struct.VkExternalMemoryPropertiesKHR+import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties+import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties2KHR+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+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceExternalBufferInfoKHR* pExternalBufferInfo+--   >     , VkExternalBufferPropertiesKHR* pExternalBufferProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceExternalBufferPropertiesKHR.html vkGetPhysicalDeviceExternalBufferPropertiesKHR registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetPhysicalDeviceExternalBufferPropertiesKHR"+               vkGetPhysicalDeviceExternalBufferPropertiesKHR ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceExternalBufferInfoKHR -- ^ pExternalBufferInfo+                                                           ->+                   Ptr VkExternalBufferPropertiesKHR -- ^ pExternalBufferProperties+                                                     -> IO ()++pattern VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION = 1++type VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION = 1++pattern VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME ::+        CString++pattern VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME <-+        (is_VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME -> True)+  where VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME+          = _VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME++{-# INLINE _VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME #-}++_VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME :: CString+_VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME+  = Ptr "VK_KHR_external_memory_capabilities\NUL"#++{-# INLINE is_VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME+           #-}++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++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++pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR =+        VkStructureType 1000071001++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR+        = VkStructureType 1000071002++pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR =+        VkStructureType 1000071003++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR =+        VkStructureType 1000071004
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_external_memory_fd.hs view
@@ -0,0 +1,142 @@+{-# 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_external_memory_fd+       (-- * Vulkan extension: @VK_KHR_external_memory_fd@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @James Jones @cubanismo@+        --+        -- author: @KHX@+        --+        -- type: @device@+        --+        -- Extension number: @75@+        --+        -- Required extensions: 'VK_KHR_external_memory'.+        --++        -- ** 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.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,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Handles,+        VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION,+        pattern VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION,+        VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME,+        pattern VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR,+        pattern VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR)+       where+import           GHC.Ptr                                                       (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkImportMemoryFdInfoKHR+import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo+import           Graphics.Vulkan.Types.Struct.VkMemoryFdPropertiesKHR+import           Graphics.Vulkan.Types.Struct.VkMemoryGetFdInfoKHR++-- | Success codes: 'VK_SUCCESS'.+--+--   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.0-extensions/man/html/vkGetMemoryFdKHR.html vkGetMemoryFdKHR registry at www.khronos.org>+foreign import ccall unsafe "vkGetMemoryFdKHR" vkGetMemoryFdKHR ::+               VkDevice -- ^ device+                        -> Ptr VkMemoryGetFdInfoKHR -- ^ pGetFdInfo+                                                    -> Ptr CInt -- ^ pFd+                                                                -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR'.+--+--   > VkResult vkGetMemoryFdPropertiesKHR+--   >     ( VkDevice device+--   >     , VkExternalMemoryHandleTypeFlagBitsKHR 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>+foreign import ccall unsafe "vkGetMemoryFdPropertiesKHR"+               vkGetMemoryFdPropertiesKHR ::+               VkDevice -- ^ device+                        ->+                 VkExternalMemoryHandleTypeFlagBitsKHR -- ^ handleType+                                                       ->+                   CInt -- ^ fd+                        -> Ptr VkMemoryFdPropertiesKHR -- ^ pMemoryFdProperties+                                                       -> IO VkResult++pattern VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION :: (Num a, Eq a) =>+        a++pattern VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION = 1++type VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION = 1++pattern VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME :: CString++pattern VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME <-+        (is_VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME -> True)+  where VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME+          = _VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME++{-# INLINE _VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME #-}++_VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME :: CString+_VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME+  = Ptr "VK_KHR_external_memory_fd\NUL"#++{-# INLINE is_VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME #-}++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++type VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME =+     "VK_KHR_external_memory_fd"++pattern VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR =+        VkStructureType 1000074000++pattern VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR =+        VkStructureType 1000074001++pattern VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR :: VkStructureType++pattern VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR =+        VkStructureType 1000074002
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_external_memory_win32.hs view
@@ -0,0 +1,159 @@+{-# 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_external_memory_win32+       (-- * Vulkan extension: @VK_KHR_external_memory_win32@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @James Jones @cubanismo@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- 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.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,+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Handles,+        VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION,+        pattern VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION,+        VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME,+        pattern VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR,+        pattern VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR)+       where+import           GHC.Ptr                                                       (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Include                                 (HANDLE)+import           Graphics.Vulkan.Types.Struct.VkExportMemoryWin32HandleInfoKHR+import           Graphics.Vulkan.Types.Struct.VkImportMemoryWin32HandleInfoKHR+import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo+import           Graphics.Vulkan.Types.Struct.VkMemoryGetWin32HandleInfoKHR+import           Graphics.Vulkan.Types.Struct.VkMemoryWin32HandlePropertiesKHR++-- | Success codes: 'VK_SUCCESS'.+--+--   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.0-extensions/man/html/vkGetMemoryWin32HandleKHR.html vkGetMemoryWin32HandleKHR registry at www.khronos.org>+foreign import ccall unsafe "vkGetMemoryWin32HandleKHR"+               vkGetMemoryWin32HandleKHR ::+               VkDevice -- ^ device+                        ->+                 Ptr VkMemoryGetWin32HandleInfoKHR -- ^ pGetWin32HandleInfo+                                                   -> Ptr HANDLE -- ^ pHandle+                                                                 -> IO VkResult++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR'.+--+--   > VkResult vkGetMemoryWin32HandlePropertiesKHR+--   >     ( VkDevice device+--   >     , VkExternalMemoryHandleTypeFlagBitsKHR 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>+foreign import ccall unsafe "vkGetMemoryWin32HandlePropertiesKHR"+               vkGetMemoryWin32HandlePropertiesKHR ::+               VkDevice -- ^ device+                        ->+                 VkExternalMemoryHandleTypeFlagBitsKHR -- ^ handleType+                                                       ->+                   HANDLE -- ^ handle+                          -> Ptr VkMemoryWin32HandlePropertiesKHR -- ^ pMemoryWin32HandleProperties+                                                                  -> IO VkResult++pattern VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION = 1++type VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION = 1++pattern VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME :: CString++pattern VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME <-+        (is_VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME -> True)+  where VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME+          = _VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME++{-# INLINE _VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME #-}++_VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME :: CString+_VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME+  = Ptr "VK_KHR_external_memory_win32\NUL"#++{-# INLINE is_VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME #-}++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++type VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME =+     "VK_KHR_external_memory_win32"++pattern VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR =+        VkStructureType 1000073000++pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR =+        VkStructureType 1000073001++pattern VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR =+        VkStructureType 1000073002++pattern VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR =+        VkStructureType 1000073003
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_external_semaphore.hs view
@@ -0,0 +1,83 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_KHR_external_semaphore+       (-- * Vulkan extension: @VK_KHR_external_semaphore@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @James Jones @cubanismo@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @78@+        --+        -- Required extensions: 'VK_KHR_external_semaphore_capabilities'.+        --++        -- ** 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.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)+       where+import           GHC.Ptr+                                                                                   (Ptr (..))+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.Struct.VkExportSemaphoreCreateInfoKHR+import           Graphics.Vulkan.Types.Struct.VkSemaphoreCreateInfo++pattern VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION :: (Num a, Eq a) =>+        a++pattern VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION = 1++type VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION = 1++pattern VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME :: CString++pattern VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME <-+        (is_VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME -> True)+  where VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME+          = _VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME++{-# INLINE _VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME #-}++_VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME :: CString+_VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME+  = Ptr "VK_KHR_external_semaphore\NUL"#++{-# INLINE is_VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME #-}++is_VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME+  = eqCStrings _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
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_external_semaphore_capabilities.hs view
@@ -0,0 +1,132 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_external_semaphore_capabilities+       (-- * Vulkan extension: @VK_KHR_external_semaphore_capabilities@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @James Jones @cubanismo@+        --+        -- author: @KHR@+        --+        -- type: @instance@+        --+        -- Extension number: @77@+        --+        -- 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.VkExternalSemaphoreFeatureFlagsKHR,+        module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlagsKHR,+        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,+        module Graphics.Vulkan.Types.Handles,+        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)+       where+import           GHC.Ptr+                                                                                        (Ptr (..))+import           Graphics.Vulkan.Constants+                                                                                        (VK_LUID_SIZE_KHR,+                                                                                        pattern VK_LUID_SIZE_KHR)+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.Enum.VkStructureType+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkExternalSemaphorePropertiesKHR+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+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceExternalSemaphoreInfoKHR* pExternalSemaphoreInfo+--   >     , VkExternalSemaphorePropertiesKHR* pExternalSemaphoreProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceExternalSemaphorePropertiesKHR.html vkGetPhysicalDeviceExternalSemaphorePropertiesKHR registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"+               vkGetPhysicalDeviceExternalSemaphorePropertiesKHR ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceExternalSemaphoreInfoKHR -- ^ pExternalSemaphoreInfo+                                                              ->+                   Ptr VkExternalSemaphorePropertiesKHR -- ^ pExternalSemaphoreProperties+                                                        -> IO ()++pattern VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION = 1++type VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION = 1++pattern VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME ::+        CString++pattern VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME <-+        (is_VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME -> True)+  where VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME+          = _VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME++{-# INLINE _VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME+           #-}++_VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME :: CString+_VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME+  = Ptr "VK_KHR_external_semaphore_capabilities\NUL"#++{-# INLINE is_VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME+           #-}++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++type VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME =+     "VK_KHR_external_semaphore_capabilities"++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR+        = VkStructureType 1000076000++pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR =+        VkStructureType 1000076001
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_external_semaphore_fd.hs view
@@ -0,0 +1,129 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_external_semaphore_fd+       (-- * Vulkan extension: @VK_KHR_external_semaphore_fd@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @James Jones @cubanismo@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @80@+        --+        -- Required extensions: 'VK_KHR_external_semaphore'.+        --++        -- ** Required extensions: 'VK_KHR_external_semaphore'.+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlagsKHR,+        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.VkStructureType,+        -- > #include "vk_platform.h"+        vkImportSemaphoreFdKHR, vkGetSemaphoreFdKHR,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Handles,+        VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION,+        pattern VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION,+        VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME,+        pattern VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR)+       where+import           GHC.Ptr+                                                                                   (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkImportSemaphoreFdInfoKHR+import           Graphics.Vulkan.Types.Struct.VkSemaphoreGetFdInfoKHR++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR'.+--+--   > 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>+foreign import ccall unsafe "vkImportSemaphoreFdKHR"+               vkImportSemaphoreFdKHR ::+               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+--   >     ( VkDevice device+--   >     , const VkSemaphoreGetFdInfoKHR* pGetFdInfo+--   >     , int* pFd+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetSemaphoreFdKHR.html vkGetSemaphoreFdKHR registry at www.khronos.org>+foreign import ccall unsafe "vkGetSemaphoreFdKHR"+               vkGetSemaphoreFdKHR ::+               VkDevice -- ^ device+                        -> Ptr VkSemaphoreGetFdInfoKHR -- ^ pGetFdInfo+                                                       -> Ptr CInt -- ^ pFd+                                                                   -> IO VkResult++pattern VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION = 1++type VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION = 1++pattern VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME :: CString++pattern VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME <-+        (is_VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME -> True)+  where VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME+          = _VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME++{-# INLINE _VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME #-}++_VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME :: CString+_VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME+  = Ptr "VK_KHR_external_semaphore_fd\NUL"#++{-# INLINE is_VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME #-}++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++type VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME =+     "VK_KHR_external_semaphore_fd"++pattern VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR =+        VkStructureType 1000079000++pattern VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR =+        VkStructureType 1000079001
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_external_semaphore_win32.hs view
@@ -0,0 +1,163 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_external_semaphore_win32+       (-- * Vulkan extension: @VK_KHR_external_semaphore_win32@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @James Jones @cubanismo@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- 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.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.VkStructureType,+        module Graphics.Vulkan.Types.Struct.VkSubmitInfo,+        -- > #include "vk_platform.h"+        --+        -- > #include <windows.h>+        vkImportSemaphoreWin32HandleKHR, vkGetSemaphoreWin32HandleKHR,+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Handles,+        module Graphics.Vulkan.Types.Include,+        VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION,+        pattern VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION,+        VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME,+        pattern VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR)+       where+import           GHC.Ptr+                                                                                   (Ptr (..))+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.VkPipelineStageFlags+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Include+import           Graphics.Vulkan.Types.Struct.VkD3D12FenceSubmitInfoKHR+import           Graphics.Vulkan.Types.Struct.VkExportSemaphoreWin32HandleInfoKHR+import           Graphics.Vulkan.Types.Struct.VkImportSemaphoreWin32HandleInfoKHR+import           Graphics.Vulkan.Types.Struct.VkSemaphoreCreateInfo+import           Graphics.Vulkan.Types.Struct.VkSemaphoreGetWin32HandleInfoKHR+import           Graphics.Vulkan.Types.Struct.VkSubmitInfo++-- | Success codes: 'VK_SUCCESS'.+--+--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR'.+--+--   > 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>+foreign import ccall unsafe "vkImportSemaphoreWin32HandleKHR"+               vkImportSemaphoreWin32HandleKHR ::+               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+--   >     ( VkDevice device+--   >     , const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo+--   >     , HANDLE* pHandle+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetSemaphoreWin32HandleKHR.html vkGetSemaphoreWin32HandleKHR registry at www.khronos.org>+foreign import ccall unsafe "vkGetSemaphoreWin32HandleKHR"+               vkGetSemaphoreWin32HandleKHR ::+               VkDevice -- ^ device+                        ->+                 Ptr VkSemaphoreGetWin32HandleInfoKHR -- ^ pGetWin32HandleInfo+                                                      -> Ptr HANDLE -- ^ pHandle+                                                                    -> IO VkResult++pattern VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION = 1++type VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION = 1++pattern VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME :: CString++pattern VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME <-+        (is_VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME -> True)+  where VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME+          = _VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME++{-# INLINE _VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME #-}++_VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME :: CString+_VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME+  = Ptr "VK_KHR_external_semaphore_win32\NUL"#++{-# INLINE is_VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME #-}++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++type VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME =+     "VK_KHR_external_semaphore_win32"++pattern VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR =+        VkStructureType 1000078000++pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR =+        VkStructureType 1000078001++pattern VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR =+        VkStructureType 1000078002++pattern VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR =+        VkStructureType 1000078003
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_get_memory_requirements2.hs view
@@ -0,0 +1,177 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_get_memory_requirements2+       (-- * Vulkan extension: @VK_KHR_get_memory_requirements2@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jason Ekstrand @jekstrand@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- 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,+        vkGetBufferMemoryRequirements2KHR,+        vkGetImageSparseMemoryRequirements2KHR,+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.Handles,+        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,+        pattern VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR,+        pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR,+        pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR,+        pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR,+        pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR)+       where+import           GHC.Ptr+                                                                                       (Ptr (..))+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.VkBufferMemoryRequirementsInfo2KHR+import           Graphics.Vulkan.Types.Struct.VkExtent3D+import           Graphics.Vulkan.Types.Struct.VkImageMemoryRequirementsInfo2KHR+import           Graphics.Vulkan.Types.Struct.VkImageSparseMemoryRequirementsInfo2KHR+import           Graphics.Vulkan.Types.Struct.VkMemoryRequirements+import           Graphics.Vulkan.Types.Struct.VkMemoryRequirements2KHR+import           Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties+import           Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements+import           Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements2KHR++-- | > () vkGetImageMemoryRequirements2KHR+--   >     ( VkDevice device+--   >     , const VkImageMemoryRequirementsInfo2KHR* pInfo+--   >     , VkMemoryRequirements2KHR* 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"+               vkGetImageMemoryRequirements2KHR ::+               VkDevice -- ^ device+                        ->+                 Ptr VkImageMemoryRequirementsInfo2KHR -- ^ pInfo+                                                       ->+                   Ptr VkMemoryRequirements2KHR -- ^ pMemoryRequirements+                                                -> IO ()++-- | > () vkGetBufferMemoryRequirements2KHR+--   >     ( VkDevice device+--   >     , const VkBufferMemoryRequirementsInfo2KHR* pInfo+--   >     , VkMemoryRequirements2KHR* 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"+               vkGetBufferMemoryRequirements2KHR ::+               VkDevice -- ^ device+                        ->+                 Ptr VkBufferMemoryRequirementsInfo2KHR -- ^ pInfo+                                                        ->+                   Ptr VkMemoryRequirements2KHR -- ^ pMemoryRequirements+                                                -> IO ()++-- | > () vkGetImageSparseMemoryRequirements2KHR+--   >     ( VkDevice device+--   >     , const VkImageSparseMemoryRequirementsInfo2KHR* pInfo+--   >     , uint32_t* pSparseMemoryRequirementCount+--   >     , VkSparseImageMemoryRequirements2KHR* 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"+               vkGetImageSparseMemoryRequirements2KHR ::+               VkDevice -- ^ device+                        ->+                 Ptr VkImageSparseMemoryRequirementsInfo2KHR -- ^ pInfo+                                                             ->+                   Ptr Word32 -- ^ pSparseMemoryRequirementCount+                              -> Ptr VkSparseImageMemoryRequirements2KHR -- ^ pSparseMemoryRequirements+                                                                         -> IO ()++pattern VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION = 1++type VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION = 1++pattern VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME :: CString++pattern VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME <-+        (is_VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME -> True)+  where VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME+          = _VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME++{-# INLINE _VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME #-}++_VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME :: CString+_VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME+  = Ptr "VK_KHR_get_memory_requirements2\NUL"#++{-# INLINE is_VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME #-}++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++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++pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR =+        VkStructureType 1000146001++pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR+        = VkStructureType 1000146002++pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR =+        VkStructureType 1000146003++pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR =+        VkStructureType 1000146004
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_get_physical_device_properties2.hs view
@@ -0,0 +1,324 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_get_physical_device_properties2+       (-- * Vulkan extension: @VK_KHR_get_physical_device_properties2@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jeff Bolz @jbolz@+        --+        -- author: @KHR@+        --+        -- type: @instance@+        --+        -- Extension number: @60@+        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.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.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.VkPhysicalDeviceLimits,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties2KHR,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseImageFormatInfo2KHR,+        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.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,+        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,+        pattern VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR,+        pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR,+        pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR,+        pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR,+        pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR)+       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.VkFormatFeatureFlags+import           Graphics.Vulkan.Types.Enum.VkImageAspectFlags+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.VkMemoryHeapFlags+import           Graphics.Vulkan.Types.Enum.VkMemoryPropertyFlags+import           Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType+import           Graphics.Vulkan.Types.Enum.VkQueueFlags+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags+import           Graphics.Vulkan.Types.Enum.VkSparseImageFormatFlags+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo+import           Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo+import           Graphics.Vulkan.Types.Struct.VkExtent3D+import           Graphics.Vulkan.Types.Struct.VkFormatProperties+import           Graphics.Vulkan.Types.Struct.VkFormatProperties2KHR+import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties+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.VkPhysicalDeviceFeatures2KHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceImageFormatInfo2KHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties2KHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseImageFormatInfo2KHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties+import           Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties+import           Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties2KHR+import           Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties+import           Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties2KHR++-- | > () vkGetPhysicalDeviceFeatures2KHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceFeatures2KHR* 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"+               vkGetPhysicalDeviceFeatures2KHR ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceFeatures2KHR -- ^ pFeatures+                                                                    -> IO ()++-- | > () vkGetPhysicalDeviceProperties2KHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceProperties2KHR* pProperties+--   >     )+--+--   <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"+               vkGetPhysicalDeviceProperties2KHR ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> Ptr VkPhysicalDeviceProperties2KHR -- ^ pProperties+                                                                      -> IO ()++-- | > () vkGetPhysicalDeviceFormatProperties2KHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkFormat format+--   >     , VkFormatProperties2KHR* 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"+               vkGetPhysicalDeviceFormatProperties2KHR ::+               VkPhysicalDevice -- ^ physicalDevice+                                -> VkFormat -- ^ format+                                            -> Ptr VkFormatProperties2KHR -- ^ 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 vkGetPhysicalDeviceImageFormatProperties2KHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceImageFormatInfo2KHR* pImageFormatInfo+--   >     , VkImageFormatProperties2KHR* pImageFormatProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html vkGetPhysicalDeviceImageFormatProperties2KHR registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetPhysicalDeviceImageFormatProperties2KHR"+               vkGetPhysicalDeviceImageFormatProperties2KHR ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceImageFormatInfo2KHR -- ^ pImageFormatInfo+                                                         ->+                   Ptr VkImageFormatProperties2KHR -- ^ pImageFormatProperties+                                                   -> IO VkResult++-- | > () vkGetPhysicalDeviceQueueFamilyProperties2KHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t* pQueueFamilyPropertyCount+--   >     , VkQueueFamilyProperties2KHR* pQueueFamilyProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html vkGetPhysicalDeviceQueueFamilyProperties2KHR registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetPhysicalDeviceQueueFamilyProperties2KHR"+               vkGetPhysicalDeviceQueueFamilyProperties2KHR ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr Word32 -- ^ pQueueFamilyPropertyCount+                            -> Ptr VkQueueFamilyProperties2KHR -- ^ pQueueFamilyProperties+                                                               -> IO ()++-- | > () vkGetPhysicalDeviceMemoryProperties2KHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkPhysicalDeviceMemoryProperties2KHR* pMemoryProperties+--   >     )+--+--   <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 ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceMemoryProperties2KHR -- ^ pMemoryProperties+                                                          -> IO ()++-- | > () vkGetPhysicalDeviceSparseImageFormatProperties2KHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceSparseImageFormatInfo2KHR* pFormatInfo+--   >     , uint32_t* pPropertyCount+--   >     , VkSparseImageFormatProperties2KHR* pProperties+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2KHR.html vkGetPhysicalDeviceSparseImageFormatProperties2KHR registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetPhysicalDeviceSparseImageFormatProperties2KHR"+               vkGetPhysicalDeviceSparseImageFormatProperties2KHR ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkPhysicalDeviceSparseImageFormatInfo2KHR -- ^ pFormatInfo+                                                               ->+                   Ptr Word32 -- ^ pPropertyCount+                              -> Ptr VkSparseImageFormatProperties2KHR -- ^ pProperties+                                                                       -> IO ()++pattern VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION = 1++type VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION = 1++pattern VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME ::+        CString++pattern VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME <-+        (is_VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME -> True)+  where VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME+          = _VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME++{-# INLINE _VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME+           #-}++_VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME :: CString+_VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME+  = Ptr "VK_KHR_get_physical_device_properties2\NUL"#++{-# INLINE is_VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME+           #-}++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++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++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR =+        VkStructureType 1000059001++pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR =+        VkStructureType 1000059002++pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR =+        VkStructureType 1000059003++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR =+        VkStructureType 1000059004++pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR =+        VkStructureType 1000059005++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR =+        VkStructureType 1000059006++pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR ::+        VkStructureType++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++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR+        = VkStructureType 1000059008
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_get_surface_capabilities2.hs view
@@ -0,0 +1,159 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_get_surface_capabilities2+       (-- * Vulkan extension: @VK_KHR_get_surface_capabilities2@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @James Jones @cubanismo@+        --+        -- author: @KHR@+        --+        -- type: @instance@+        --+        -- Extension number: @120@+        --+        -- Required extensions: 'VK_KHR_surface'.+        --++        -- ** Required extensions: 'VK_KHR_surface'.+        module Graphics.Vulkan.Types.Enum.VkColorSpaceKHR,+        module Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR,+        module Graphics.Vulkan.Types.Struct.VkExtent2D,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkFormat,+        module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSurfaceInfo2KHR,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Struct.VkSurfaceCapabilities2KHR,+        module Graphics.Vulkan.Types.Struct.VkSurfaceCapabilitiesKHR,+        module Graphics.Vulkan.Types.Struct.VkSurfaceFormat2KHR,+        module Graphics.Vulkan.Types.Struct.VkSurfaceFormatKHR,+        module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR,+        -- > #include "vk_platform.h"+        vkGetPhysicalDeviceSurfaceCapabilities2KHR,+        vkGetPhysicalDeviceSurfaceFormats2KHR,+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Handles,+        VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION,+        pattern VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION,+        VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME,+        pattern VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR,+        pattern VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR,+        pattern VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR)+       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.VkCompositeAlphaFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkFormat+import           Graphics.Vulkan.Types.Enum.VkImageUsageFlags+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkExtent2D+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSurfaceInfo2KHR+import           Graphics.Vulkan.Types.Struct.VkSurfaceCapabilities2KHR+import           Graphics.Vulkan.Types.Struct.VkSurfaceCapabilitiesKHR+import           Graphics.Vulkan.Types.Struct.VkSurfaceFormat2KHR+import           Graphics.Vulkan.Types.Struct.VkSurfaceFormatKHR++-- | 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.0-extensions/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html vkGetPhysicalDeviceSurfaceCapabilities2KHR registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetPhysicalDeviceSurfaceCapabilities2KHR"+               vkGetPhysicalDeviceSurfaceCapabilities2KHR ::+               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'.+--+--   > VkResult vkGetPhysicalDeviceSurfaceFormats2KHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo+--   >     , uint32_t* pSurfaceFormatCount+--   >     , VkSurfaceFormat2KHR* pSurfaceFormats+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html vkGetPhysicalDeviceSurfaceFormats2KHR registry at www.khronos.org>+foreign import ccall unsafe "vkGetPhysicalDeviceSurfaceFormats2KHR"+               vkGetPhysicalDeviceSurfaceFormats2KHR ::+               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++pattern VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION = 1++type VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION = 1++pattern VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME :: CString++pattern VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME <-+        (is_VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME -> True)+  where VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME+          = _VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME++{-# INLINE _VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME #-}++_VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME :: CString+_VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME+  = Ptr "VK_KHR_get_surface_capabilities2\NUL"#++{-# INLINE is_VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME #-}++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++type VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME =+     "VK_KHR_get_surface_capabilities2"++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR =+        VkStructureType 1000119000++pattern VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR =+        VkStructureType 1000119001++pattern VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR :: VkStructureType++pattern VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR =+        VkStructureType 1000119002
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_image_format_list.hs view
@@ -0,0 +1,88 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_KHR_image_format_list+       (-- * Vulkan extension: @VK_KHR_image_format_list@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jason Ekstrand @jekstrand@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @148@+        module Graphics.Vulkan.Types.Struct.VkExtent3D,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkFormat,+        module Graphics.Vulkan.Types.Enum.VkImageCreateFlags,+        module Graphics.Vulkan.Types.Struct.VkImageCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkImageFormatListCreateInfoKHR,+        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.Enum.VkSampleCountFlags,+        module Graphics.Vulkan.Types.Enum.VkSharingMode,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        -- > #include "vk_platform.h"+        VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION,+        pattern VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION,+        VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME,+        pattern VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR)+       where+import           GHC.Ptr                                                     (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+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.VkSampleCountFlags+import           Graphics.Vulkan.Types.Enum.VkSharingMode+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Struct.VkExtent3D+import           Graphics.Vulkan.Types.Struct.VkImageCreateInfo+import           Graphics.Vulkan.Types.Struct.VkImageFormatListCreateInfoKHR++pattern VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION :: (Num a, Eq a) => a++pattern VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION = 1++type VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION = 1++pattern VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME :: CString++pattern VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME <-+        (is_VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME -> True)+  where VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME+          = _VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME++{-# INLINE _VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME #-}++_VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME :: CString+_VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME+  = Ptr "VK_KHR_image_format_list\NUL"#++{-# INLINE is_VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME #-}++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++type VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME =+     "VK_KHR_image_format_list"++pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR =+        VkStructureType 1000147000
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_incremental_present.hs view
@@ -0,0 +1,83 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_KHR_incremental_present+       (-- * Vulkan extension: @VK_KHR_incremental_present@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Ian Elliott ianelliott@google.com@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @85@+        --+        -- Required extensions: 'VK_KHR_swapchain'.+        --++        -- ** Required extensions: 'VK_KHR_swapchain'.+        module Graphics.Vulkan.Types.Struct.VkExtent2D,+        module Graphics.Vulkan.Types.Struct.VkOffset2D,+        module Graphics.Vulkan.Types.Struct.VkPresentInfoKHR,+        module Graphics.Vulkan.Types.Struct.VkPresentRegionKHR,+        module Graphics.Vulkan.Types.Struct.VkPresentRegionsKHR,+        module Graphics.Vulkan.Types.Struct.VkRectLayerKHR,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        -- > #include "vk_platform.h"+        VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION,+        pattern VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION,+        VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME,+        pattern VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR)+       where+import           GHC.Ptr                                          (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Struct.VkExtent2D+import           Graphics.Vulkan.Types.Struct.VkOffset2D+import           Graphics.Vulkan.Types.Struct.VkPresentInfoKHR+import           Graphics.Vulkan.Types.Struct.VkPresentRegionKHR+import           Graphics.Vulkan.Types.Struct.VkPresentRegionsKHR+import           Graphics.Vulkan.Types.Struct.VkRectLayerKHR++pattern VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION :: (Num a, Eq a) =>+        a++pattern VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION = 1++type VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION = 1++pattern VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME :: CString++pattern VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME <-+        (is_VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME -> True)+  where VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME+          = _VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME++{-# INLINE _VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME #-}++_VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME :: CString+_VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME+  = Ptr "VK_KHR_incremental_present\NUL"#++{-# INLINE is_VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME #-}++is_VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME+  = eqCStrings _VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME++type VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME =+     "VK_KHR_incremental_present"++pattern VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR :: VkStructureType++pattern VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR =+        VkStructureType 1000084000
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_maintenance1.hs view
@@ -0,0 +1,116 @@+{-# 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_maintenance1+       (-- * Vulkan extension: @VK_KHR_maintenance1@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Piers Daniell @pdaniell@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @70@+        vkTrimCommandPoolKHR, 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,+        VK_KHR_MAINTENANCE1_EXTENSION_NAME,+        pattern VK_KHR_MAINTENANCE1_EXTENSION_NAME,+        pattern VK_ERROR_OUT_OF_POOL_MEMORY_KHR,+        pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR,+        pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR,+        pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR)+       where+import           GHC.Ptr                                         (Ptr (..))+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+--   >     ( VkDevice device+--   >     , VkCommandPool commandPool+--   >     , VkCommandPoolTrimFlagsKHR 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"+               vkTrimCommandPoolKHR ::+               VkDevice -- ^ device+                        -> VkCommandPool -- ^ commandPool+                                         -> VkCommandPoolTrimFlagsKHR -- ^ flags+                                                                      -> IO ()++pattern VK_KHR_MAINTENANCE1_SPEC_VERSION :: (Num a, Eq a) => a++pattern VK_KHR_MAINTENANCE1_SPEC_VERSION = 1++type VK_KHR_MAINTENANCE1_SPEC_VERSION = 1++pattern VK_KHR_MAINTENANCE1_EXTENSION_NAME :: CString++pattern VK_KHR_MAINTENANCE1_EXTENSION_NAME <-+        (is_VK_KHR_MAINTENANCE1_EXTENSION_NAME -> True)+  where VK_KHR_MAINTENANCE1_EXTENSION_NAME+          = _VK_KHR_MAINTENANCE1_EXTENSION_NAME++{-# INLINE _VK_KHR_MAINTENANCE1_EXTENSION_NAME #-}++_VK_KHR_MAINTENANCE1_EXTENSION_NAME :: CString+_VK_KHR_MAINTENANCE1_EXTENSION_NAME+  = Ptr "VK_KHR_maintenance1\NUL"#++{-# INLINE is_VK_KHR_MAINTENANCE1_EXTENSION_NAME #-}++is_VK_KHR_MAINTENANCE1_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_MAINTENANCE1_EXTENSION_NAME+  = eqCStrings _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_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++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++pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR =+        VkImageCreateFlagBits 32
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_maintenance2.hs view
@@ -0,0 +1,195 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_KHR_maintenance2+       (-- * Vulkan extension: @VK_KHR_maintenance2@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Michael Worcester @michaelworcester@+        --+        -- author: @KHR@+        --+        -- 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,+        pattern VK_KHR_MAINTENANCE2_EXTENSION_NAME,+        pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR,+        pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR,+        pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR,+        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)+       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.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.VkPointClippingBehaviorKHR+import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Enum.VkSubpassDescriptionFlags+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++pattern VK_KHR_MAINTENANCE2_SPEC_VERSION = 1++type VK_KHR_MAINTENANCE2_SPEC_VERSION = 1++pattern VK_KHR_MAINTENANCE2_EXTENSION_NAME :: CString++pattern VK_KHR_MAINTENANCE2_EXTENSION_NAME <-+        (is_VK_KHR_MAINTENANCE2_EXTENSION_NAME -> True)+  where VK_KHR_MAINTENANCE2_EXTENSION_NAME+          = _VK_KHR_MAINTENANCE2_EXTENSION_NAME++{-# INLINE _VK_KHR_MAINTENANCE2_EXTENSION_NAME #-}++_VK_KHR_MAINTENANCE2_EXTENSION_NAME :: CString+_VK_KHR_MAINTENANCE2_EXTENSION_NAME+  = Ptr "VK_KHR_maintenance2\NUL"#++{-# INLINE is_VK_KHR_MAINTENANCE2_EXTENSION_NAME #-}++is_VK_KHR_MAINTENANCE2_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_MAINTENANCE2_EXTENSION_NAME+  = eqCStrings _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++pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR =+        VkImageCreateFlagBits 256++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR+        :: VkStructureType++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++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++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++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++pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR+        = VkImageLayout 1000117000++pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR+        :: VkImageLayout++pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR+        = VkImageLayout 1000117001
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_mir_surface.hs view
@@ -0,0 +1,132 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_mir_surface+       (-- * Vulkan extension: @VK_KHR_mir_surface@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jesse Hall @jessehall,Ian Elliott ianelliott@google.com@+        --+        -- author: @KHR@+        --+        -- type: @instance@+        --+        -- 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,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkMirSurfaceCreateInfoKHR,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        -- > #include "vk_platform.h"+        --+        -- > #include <mir_toolkit/client_types.h>+        vkCreateMirSurfaceKHR,+        vkGetPhysicalDeviceMirPresentationSupportKHR,+        module Graphics.Vulkan.Marshal,+        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_MIR_SURFACE_SPEC_VERSION,+        pattern VK_KHR_MIR_SURFACE_SPEC_VERSION,+        VK_KHR_MIR_SURFACE_EXTENSION_NAME,+        pattern VK_KHR_MIR_SURFACE_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR)+       where+import           GHC.Ptr                                                (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Bitmasks+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.VkMirSurfaceCreateInfoKHR++-- | 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.0-extensions/man/html/vkCreateMirSurfaceKHR.html vkCreateMirSurfaceKHR registry at www.khronos.org>+foreign import ccall unsafe "vkCreateMirSurfaceKHR"+               vkCreateMirSurfaceKHR ::+               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>+foreign import ccall unsafe+               "vkGetPhysicalDeviceMirPresentationSupportKHR"+               vkGetPhysicalDeviceMirPresentationSupportKHR ::+               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++type VK_KHR_MIR_SURFACE_SPEC_VERSION = 4++pattern VK_KHR_MIR_SURFACE_EXTENSION_NAME :: CString++pattern VK_KHR_MIR_SURFACE_EXTENSION_NAME <-+        (is_VK_KHR_MIR_SURFACE_EXTENSION_NAME -> True)+  where VK_KHR_MIR_SURFACE_EXTENSION_NAME+          = _VK_KHR_MIR_SURFACE_EXTENSION_NAME++{-# INLINE _VK_KHR_MIR_SURFACE_EXTENSION_NAME #-}++_VK_KHR_MIR_SURFACE_EXTENSION_NAME :: CString+_VK_KHR_MIR_SURFACE_EXTENSION_NAME = Ptr "VK_KHR_mir_surface\NUL"#++{-# INLINE is_VK_KHR_MIR_SURFACE_EXTENSION_NAME #-}++is_VK_KHR_MIR_SURFACE_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_MIR_SURFACE_EXTENSION_NAME+  = eqCStrings _VK_KHR_MIR_SURFACE_EXTENSION_NAME++type VK_KHR_MIR_SURFACE_EXTENSION_NAME = "VK_KHR_mir_surface"++pattern VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR =+        VkStructureType 1000007000
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_push_descriptor.hs view
@@ -0,0 +1,143 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_push_descriptor+       (-- * Vulkan extension: @VK_KHR_push_descriptor@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jeff Bolz @jbolz@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @81@+        --+        -- 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.Struct.VkPhysicalDeviceLimits,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,+        module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR,+        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,+        module Graphics.Vulkan.Types.Enum.VkDescriptorType,+        module Graphics.Vulkan.Types.Enum.VkImageLayout,+        module Graphics.Vulkan.Types.Enum.VkPipelineBindPoint,+        module Graphics.Vulkan.Types.Handles,+        module Graphics.Vulkan.Types.Struct.VkDescriptorBufferInfo,+        module Graphics.Vulkan.Types.Struct.VkDescriptorImageInfo,+        module Graphics.Vulkan.Types.Struct.VkWriteDescriptorSet,+        VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION,+        pattern VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION,+        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)+       where+import           GHC.Ptr+                                                                                           (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Enum.VkDescriptorSetLayoutCreateFlags+                                                                                           (VkDescriptorSetLayoutCreateBitmask (..),+                                                                                           VkDescriptorSetLayoutCreateFlagBits)+import           Graphics.Vulkan.Types.Enum.VkDescriptorType+import           Graphics.Vulkan.Types.Enum.VkImageLayout+import           Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType+import           Graphics.Vulkan.Types.Enum.VkPipelineBindPoint+import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkDescriptorBufferInfo+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.VkPhysicalDevicePushDescriptorPropertiesKHR+import           Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties+import           Graphics.Vulkan.Types.Struct.VkWriteDescriptorSet++-- | 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.0-extensions/man/html/vkCmdPushDescriptorSetKHR.html vkCmdPushDescriptorSetKHR registry at www.khronos.org>+foreign import ccall unsafe "vkCmdPushDescriptorSetKHR"+               vkCmdPushDescriptorSetKHR ::+               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++type VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION = 1++pattern VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME :: CString++pattern VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME <-+        (is_VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME -> True)+  where VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME+          = _VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME++{-# INLINE _VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME #-}++_VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME :: CString+_VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME+  = Ptr "VK_KHR_push_descriptor\NUL"#++{-# INLINE is_VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME #-}++is_VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME+  = eqCStrings _VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME++type VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME =+     "VK_KHR_push_descriptor"++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR+        = VkStructureType 1000080000++-- | Descriptors are pushed via flink:vkCmdPushDescriptorSetKHR+--+--   bitpos = @0@+pattern VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR ::+        VkDescriptorSetLayoutCreateFlagBits++pattern VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR =+        VkDescriptorSetLayoutCreateFlagBits 1
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_relaxed_block_layout.hs view
@@ -0,0 +1,55 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_KHR_relaxed_block_layout+       (-- * Vulkan extension: @VK_KHR_relaxed_block_layout@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @John Kessenich @johnk@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @145@+        VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION,+        pattern VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION,+        VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME,+        pattern VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME)+       where+import           GHC.Ptr                 (Ptr (..))+import           Graphics.Vulkan.Marshal++pattern VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION = 1++type VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION = 1++pattern VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME :: CString++pattern VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME <-+        (is_VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME -> True)+  where VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME+          = _VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME++{-# INLINE _VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME #-}++_VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME :: CString+_VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME+  = Ptr "VK_KHR_relaxed_block_layout\NUL"#++{-# INLINE is_VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME #-}++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++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
@@ -0,0 +1,67 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_KHR_sampler_mirror_clamp_to_edge+       (-- * Vulkan extension: @VK_KHR_sampler_mirror_clamp_to_edge@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Tobias Hector @tobias@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @15@+        VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION,+        pattern VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION,+        VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME,+        pattern VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME,+        pattern VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE)+       where+import           GHC.Ptr                                         (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.Enum.VkSamplerAddressMode (VkSamplerAddressMode (..))++pattern VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION = 1++type VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION = 1++pattern VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME ::+        CString++pattern VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME <-+        (is_VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME -> True)+  where VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME+          = _VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME++{-# INLINE _VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME #-}++_VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME :: CString+_VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME+  = Ptr "VK_KHR_sampler_mirror_clamp_to_edge\NUL"#++{-# INLINE is_VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME+           #-}++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++type VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME =+     "VK_KHR_sampler_mirror_clamp_to_edge"++-- | Note that this defines what was previously a core enum, and so uses the 'value' attribute rather than 'offset', and does not have a suffix. This is a special case, and should not be repeated+pattern VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE ::+        VkSamplerAddressMode++pattern VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE =+        VkSamplerAddressMode 4
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_sampler_ycbcr_conversion.hs view
@@ -0,0 +1,557 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_sampler_ycbcr_conversion+       (-- * Vulkan extension: @VK_KHR_sampler_ycbcr_conversion@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Andrew Garrard @fluppeteer@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @157@+        --+        -- Required extensions: 'VK_KHR_maintenance1', 'VK_KHR_bind_memory2', 'VK_KHR_get_memory_requirements2', 'VK_KHR_get_physical_device_properties2'.+        --++        -- ** 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,+        vkDestroySamplerYcbcrConversionKHR,+        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_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION,+        pattern VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION,+        VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME,+        pattern VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR,+        pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR,+        pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT,+        pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR,+        pattern VK_FORMAT_G8B8G8R8_422_UNORM_KHR,+        pattern VK_FORMAT_B8G8R8G8_422_UNORM_KHR,+        pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR,+        pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR,+        pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR,+        pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR,+        pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR,+        pattern VK_FORMAT_R10X6_UNORM_PACK16_KHR,+        pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR,+        pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR,+        pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR,+        pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR,+        pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR,+        pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR,+        pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR,+        pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR,+        pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR,+        pattern VK_FORMAT_R12X4_UNORM_PACK16_KHR,+        pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR,+        pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR,+        pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR,+        pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR,+        pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR,+        pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR,+        pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR,+        pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR,+        pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR,+        pattern VK_FORMAT_G16B16G16R16_422_UNORM_KHR,+        pattern VK_FORMAT_B16G16R16G16_422_UNORM_KHR,+        pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR,+        pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR,+        pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR,+        pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR,+        pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR,+        pattern VK_IMAGE_ASPECT_PLANE_0_BIT_KHR,+        pattern VK_IMAGE_ASPECT_PLANE_1_BIT_KHR,+        pattern VK_IMAGE_ASPECT_PLANE_2_BIT_KHR,+        pattern VK_IMAGE_CREATE_DISJOINT_BIT_KHR,+        pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR,+        pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR,+        pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR,+        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)+       where+import           GHC.Ptr+                                                                                                 (Ptr (..))+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.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.VkSamplerYcbcrModelConversionKHR+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.VkSamplerYcbcrConversionCreateInfoKHR+import           Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionImageFormatPropertiesKHR+import           Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionInfoKHR++-- | 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 VkAllocationCallbacks* pAllocator+--   >     , VkSamplerYcbcrConversionKHR* 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"+               vkCreateSamplerYcbcrConversionKHR ::+               VkDevice -- ^ device+                        ->+                 Ptr VkSamplerYcbcrConversionCreateInfoKHR -- ^ pCreateInfo+                                                           ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             ->+                     Ptr VkSamplerYcbcrConversionKHR -- ^ pYcbcrConversion+                                                     -> IO VkResult++-- | > () vkDestroySamplerYcbcrConversionKHR+--   >     ( VkDevice device+--   >     , VkSamplerYcbcrConversionKHR ycbcrConversion+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <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"+               vkDestroySamplerYcbcrConversionKHR ::+               VkDevice -- ^ device+                        ->+                 VkSamplerYcbcrConversionKHR -- ^ ycbcrConversion+                                             -> Ptr VkAllocationCallbacks -- ^ pAllocator+                                                                          -> IO ()++pattern VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION = 1++type VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION = 1++pattern VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME :: CString++pattern VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME <-+        (is_VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME -> True)+  where VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME+          = _VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME++{-# INLINE _VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME #-}++_VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME :: CString+_VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME+  = Ptr "VK_KHR_sampler_ycbcr_conversion\NUL"#++{-# INLINE is_VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME #-}++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++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++pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR =+        VkStructureType 1000156001++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR =+        VkStructureType 1000156002++pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR+        = VkStructureType 1000156003++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR+        :: VkStructureType++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++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++pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT+        = VkDebugReportObjectTypeEXT 1000156000++pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR :: VkObjectType++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++pattern VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VkFormat 1000156001++pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR :: VkFormat++pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR =+        VkFormat 1000156002++pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR :: VkFormat++pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR =+        VkFormat 1000156003++pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR :: VkFormat++pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR =+        VkFormat 1000156004++pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR :: VkFormat++pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR =+        VkFormat 1000156005++pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR :: VkFormat++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++pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR :: VkFormat++pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR =+        VkFormat 1000156008++pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR ::+        VkFormat++pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR =+        VkFormat 1000156009++pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR ::+        VkFormat++pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR =+        VkFormat 1000156010++pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR ::+        VkFormat++pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR =+        VkFormat 1000156011++pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR ::+        VkFormat++pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR =+        VkFormat 1000156012++pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR ::+        VkFormat++pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR =+        VkFormat 1000156013++pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR ::+        VkFormat++pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR =+        VkFormat 1000156014++pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR ::+        VkFormat++pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR =+        VkFormat 1000156015++pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR ::+        VkFormat++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++pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR :: VkFormat++pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR =+        VkFormat 1000156018++pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR ::+        VkFormat++pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR =+        VkFormat 1000156019++pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR ::+        VkFormat++pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR =+        VkFormat 1000156020++pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR ::+        VkFormat++pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR =+        VkFormat 1000156021++pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR ::+        VkFormat++pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR =+        VkFormat 1000156022++pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR ::+        VkFormat++pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR =+        VkFormat 1000156023++pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR ::+        VkFormat++pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR =+        VkFormat 1000156024++pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR ::+        VkFormat++pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR =+        VkFormat 1000156025++pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR ::+        VkFormat++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++pattern VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VkFormat 1000156028++pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR :: VkFormat++pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR =+        VkFormat 1000156029++pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR :: VkFormat++pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR =+        VkFormat 1000156030++pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR :: VkFormat++pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR =+        VkFormat 1000156031++pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR :: VkFormat++pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR =+        VkFormat 1000156032++pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR :: VkFormat++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++-- | bitpos = @6@+pattern VK_IMAGE_ASPECT_PLANE_2_BIT_KHR :: VkImageAspectFlagBits++pattern VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VkImageAspectFlagBits 64++-- | bitpos = @9@+pattern VK_IMAGE_CREATE_DISJOINT_BIT_KHR :: VkImageCreateFlagBits++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++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++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++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++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR+        = VkFormatFeatureFlagBits 1048576++-- | bitpos = @21@+pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR+        :: VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR+        = VkFormatFeatureFlagBits 2097152++-- | Format supports disjoint planes+--+--   bitpos = @22@+pattern VK_FORMAT_FEATURE_DISJOINT_BIT_KHR ::+        VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_DISJOINT_BIT_KHR =+        VkFormatFeatureFlagBits 4194304++-- | Format can have cosited rather than midpoint chroma samples+--+--   bitpos = @23@+pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR ::+        VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR =+        VkFormatFeatureFlagBits 8388608
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_shader_draw_parameters.hs view
@@ -0,0 +1,55 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_KHR_shader_draw_parameters+       (-- * Vulkan extension: @VK_KHR_shader_draw_parameters@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Daniel Koch @dgkoch@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @64@+        VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION,+        pattern VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION,+        VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME,+        pattern VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME)+       where+import           GHC.Ptr                 (Ptr (..))+import           Graphics.Vulkan.Marshal++pattern VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION = 1++type VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION = 1++pattern VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME :: CString++pattern VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME <-+        (is_VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME -> True)+  where VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME+          = _VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME++{-# INLINE _VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME #-}++_VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME :: CString+_VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME+  = Ptr "VK_KHR_shader_draw_parameters\NUL"#++{-# INLINE is_VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME #-}++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++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
@@ -0,0 +1,134 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_shared_presentable_image+       (-- * Vulkan extension: @VK_KHR_shared_presentable_image@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Alon Or-bach @alonorbach@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @112@+        --+        -- Required extensions: 'VK_KHR_swapchain', 'VK_KHR_get_physical_device_properties2', 'VK_KHR_get_surface_capabilities2'.+        --++        -- ** Required extensions: 'VK_KHR_swapchain', 'VK_KHR_get_physical_device_properties2', 'VK_KHR_get_surface_capabilities2'.+        module Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR,+        module Graphics.Vulkan.Types.Struct.VkExtent2D,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,+        module Graphics.Vulkan.Types.Struct.VkSharedPresentSurfaceCapabilitiesKHR,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Struct.VkSurfaceCapabilities2KHR,+        module Graphics.Vulkan.Types.Struct.VkSurfaceCapabilitiesKHR,+        module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR,+        -- > #include "vk_platform.h"+        vkGetSwapchainStatusKHR,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Handles,+        VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION,+        pattern VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION,+        VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME,+        pattern VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR,+        pattern VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR,+        pattern VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR,+        pattern VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR)+       where+import           GHC.Ptr+                                                                                     (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkImageLayout+                                                                                     (VkImageLayout (..))+import           Graphics.Vulkan.Types.Enum.VkImageUsageFlags+import           Graphics.Vulkan.Types.Enum.VkPresentModeKHR+                                                                                     (VkPresentModeKHR (..))+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkExtent2D+import           Graphics.Vulkan.Types.Struct.VkSharedPresentSurfaceCapabilitiesKHR+import           Graphics.Vulkan.Types.Struct.VkSurfaceCapabilities2KHR+import           Graphics.Vulkan.Types.Struct.VkSurfaceCapabilitiesKHR++-- | 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.0-extensions/man/html/vkGetSwapchainStatusKHR.html vkGetSwapchainStatusKHR registry at www.khronos.org>+foreign import ccall unsafe "vkGetSwapchainStatusKHR"+               vkGetSwapchainStatusKHR ::+               VkDevice -- ^ device+                        -> VkSwapchainKHR -- ^ swapchain+                                          -> IO VkResult++pattern VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION = 1++type VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION = 1++pattern VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME :: CString++pattern VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME <-+        (is_VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME -> True)+  where VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME+          = _VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME++{-# INLINE _VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME #-}++_VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME :: CString+_VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME+  = Ptr "VK_KHR_shared_presentable_image\NUL"#++{-# INLINE is_VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME #-}++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++type VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME =+     "VK_KHR_shared_presentable_image"++pattern VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR =+        VkStructureType 1000111000++pattern VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR ::+        VkPresentModeKHR++pattern VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR =+        VkPresentModeKHR 1000111000++pattern VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR ::+        VkPresentModeKHR++pattern VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR =+        VkPresentModeKHR 1000111001++pattern VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR :: VkImageLayout++pattern VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR =+        VkImageLayout 1000111000
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_storage_buffer_storage_class.hs view
@@ -0,0 +1,58 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_KHR_storage_buffer_storage_class+       (-- * Vulkan extension: @VK_KHR_storage_buffer_storage_class@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Alexander Galazin @debater@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @132@+        VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION,+        pattern VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION,+        VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME,+        pattern VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME)+       where+import           GHC.Ptr                 (Ptr (..))+import           Graphics.Vulkan.Marshal++pattern VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION = 1++type VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION = 1++pattern VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME ::+        CString++pattern VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME <-+        (is_VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME -> True)+  where VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME+          = _VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME++{-# INLINE _VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME #-}++_VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME :: CString+_VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME+  = Ptr "VK_KHR_storage_buffer_storage_class\NUL"#++{-# INLINE is_VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME+           #-}++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++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
@@ -0,0 +1,209 @@+{-# 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_surface+       (-- * Vulkan extension: @VK_KHR_surface@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @James Jones @cubanismo,Ian Elliott ianelliott@google.com@+        --+        -- author: @KHR@+        --+        -- type: @instance@+        --+        -- Extension number: @1@+        vkDestroySurfaceKHR, vkGetPhysicalDeviceSurfaceSupportKHR,+        vkGetPhysicalDeviceSurfaceCapabilitiesKHR,+        vkGetPhysicalDeviceSurfaceFormatsKHR,+        vkGetPhysicalDeviceSurfacePresentModesKHR,+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkColorSpaceKHR,+        module Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR,+        module Graphics.Vulkan.Types.Enum.VkFormat,+        module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,+        module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,+        module Graphics.Vulkan.Types.Enum.VkPresentModeKHR,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR,+        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.VkExtent2D,+        module Graphics.Vulkan.Types.Struct.VkSurfaceCapabilitiesKHR,+        module Graphics.Vulkan.Types.Struct.VkSurfaceFormatKHR,+        VK_KHR_SURFACE_SPEC_VERSION, pattern VK_KHR_SURFACE_SPEC_VERSION,+        VK_KHR_SURFACE_EXTENSION_NAME,+        pattern VK_KHR_SURFACE_EXTENSION_NAME,+        pattern VK_ERROR_SURFACE_LOST_KHR,+        pattern VK_ERROR_NATIVE_WINDOW_IN_USE_KHR,+        pattern VK_COLORSPACE_SRGB_NONLINEAR_KHR,+        pattern VK_OBJECT_TYPE_SURFACE_KHR)+       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.VkCompositeAlphaFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkFormat+import           Graphics.Vulkan.Types.Enum.VkImageUsageFlags+import           Graphics.Vulkan.Types.Enum.VkInternalAllocationType+import           Graphics.Vulkan.Types.Enum.VkObjectType               (VkObjectType (..))+import           Graphics.Vulkan.Types.Enum.VkPresentModeKHR+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR+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.VkExtent2D+import           Graphics.Vulkan.Types.Struct.VkSurfaceCapabilitiesKHR+import           Graphics.Vulkan.Types.Struct.VkSurfaceFormatKHR++-- | > () vkDestroySurfaceKHR+--   >     ( VkInstance instance+--   >     , VkSurfaceKHR surface+--   >     , const VkAllocationCallbacks* pAllocator+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkDestroySurfaceKHR.html vkDestroySurfaceKHR registry at www.khronos.org>+foreign import ccall unsafe "vkDestroySurfaceKHR"+               vkDestroySurfaceKHR ::+               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'.+--+--   > VkResult vkGetPhysicalDeviceSurfaceSupportKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t queueFamilyIndex+--   >     , VkSurfaceKHR surface+--   >     , VkBool32* pSupported+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceSurfaceSupportKHR.html vkGetPhysicalDeviceSurfaceSupportKHR registry at www.khronos.org>+foreign import ccall unsafe "vkGetPhysicalDeviceSurfaceSupportKHR"+               vkGetPhysicalDeviceSurfaceSupportKHR ::+               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>+foreign import ccall unsafe+               "vkGetPhysicalDeviceSurfaceCapabilitiesKHR"+               vkGetPhysicalDeviceSurfaceCapabilitiesKHR ::+               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'.+--+--   > VkResult vkGetPhysicalDeviceSurfaceFormatsKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , VkSurfaceKHR surface+--   >     , uint32_t* pSurfaceFormatCount+--   >     , VkSurfaceFormatKHR* pSurfaceFormats+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceSurfaceFormatsKHR.html vkGetPhysicalDeviceSurfaceFormatsKHR registry at www.khronos.org>+foreign import ccall unsafe "vkGetPhysicalDeviceSurfaceFormatsKHR"+               vkGetPhysicalDeviceSurfaceFormatsKHR ::+               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+--   >     , uint32_t* pPresentModeCount+--   >     , VkPresentModeKHR* pPresentModes+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceSurfacePresentModesKHR.html vkGetPhysicalDeviceSurfacePresentModesKHR registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetPhysicalDeviceSurfacePresentModesKHR"+               vkGetPhysicalDeviceSurfacePresentModesKHR ::+               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++type VK_KHR_SURFACE_SPEC_VERSION = 25++pattern VK_KHR_SURFACE_EXTENSION_NAME :: CString++pattern VK_KHR_SURFACE_EXTENSION_NAME <-+        (is_VK_KHR_SURFACE_EXTENSION_NAME -> True)+  where VK_KHR_SURFACE_EXTENSION_NAME+          = _VK_KHR_SURFACE_EXTENSION_NAME++{-# INLINE _VK_KHR_SURFACE_EXTENSION_NAME #-}++_VK_KHR_SURFACE_EXTENSION_NAME :: CString+_VK_KHR_SURFACE_EXTENSION_NAME = Ptr "VK_KHR_surface\NUL"#++{-# INLINE is_VK_KHR_SURFACE_EXTENSION_NAME #-}++is_VK_KHR_SURFACE_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_SURFACE_EXTENSION_NAME+  = eqCStrings _VK_KHR_SURFACE_EXTENSION_NAME++type VK_KHR_SURFACE_EXTENSION_NAME = "VK_KHR_surface"++pattern VK_ERROR_SURFACE_LOST_KHR :: VkResult++pattern VK_ERROR_SURFACE_LOST_KHR = VkResult (-1000000000)++pattern VK_ERROR_NATIVE_WINDOW_IN_USE_KHR :: VkResult++pattern VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = VkResult (-1000000001)++pattern VK_COLORSPACE_SRGB_NONLINEAR_KHR =+        VK_COLOR_SPACE_SRGB_NONLINEAR_KHR++-- | VkSurfaceKHR+pattern VK_OBJECT_TYPE_SURFACE_KHR :: VkObjectType++pattern VK_OBJECT_TYPE_SURFACE_KHR = VkObjectType 1000000000
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_swapchain.hs view
@@ -0,0 +1,232 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_swapchain+       (-- * Vulkan extension: @VK_KHR_swapchain@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @James Jones @cubanismo,Ian Elliott ianelliott@google.com@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @2@+        --+        -- Required extensions: 'VK_KHR_surface'.+        --++        -- ** Required extensions: 'VK_KHR_surface'.+        vkCreateSwapchainKHR, vkDestroySwapchainKHR,+        vkGetSwapchainImagesKHR, vkAcquireNextImageKHR, vkQueuePresentKHR,+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkColorSpaceKHR,+        module Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR,+        module Graphics.Vulkan.Types.Enum.VkFormat,+        module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,+        module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,+        module Graphics.Vulkan.Types.Enum.VkPresentModeKHR,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Enum.VkSharingMode,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR,+        module Graphics.Vulkan.Types.Enum.VkSwapchainCreateFlagsKHR,+        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.VkExtent2D,+        module Graphics.Vulkan.Types.Struct.VkPresentInfoKHR,+        module Graphics.Vulkan.Types.Struct.VkSwapchainCreateInfoKHR,+        VK_KHR_SWAPCHAIN_SPEC_VERSION,+        pattern VK_KHR_SWAPCHAIN_SPEC_VERSION,+        VK_KHR_SWAPCHAIN_EXTENSION_NAME,+        pattern VK_KHR_SWAPCHAIN_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR,+        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)+       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.VkCompositeAlphaFlagsKHR+import           Graphics.Vulkan.Types.Enum.VkFormat+import           Graphics.Vulkan.Types.Enum.VkImageLayout              (VkImageLayout (..))+import           Graphics.Vulkan.Types.Enum.VkImageUsageFlags+import           Graphics.Vulkan.Types.Enum.VkInternalAllocationType+import           Graphics.Vulkan.Types.Enum.VkObjectType               (VkObjectType (..))+import           Graphics.Vulkan.Types.Enum.VkPresentModeKHR+import           Graphics.Vulkan.Types.Enum.VkResult+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.Enum.VkSystemAllocationScope+import           Graphics.Vulkan.Types.Funcpointers+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkAllocationCallbacks+import           Graphics.Vulkan.Types.Struct.VkExtent2D+import           Graphics.Vulkan.Types.Struct.VkPresentInfoKHR+import           Graphics.Vulkan.Types.Struct.VkSwapchainCreateInfoKHR++-- | 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.0-extensions/man/html/vkCreateSwapchainKHR.html vkCreateSwapchainKHR registry at www.khronos.org>+foreign import ccall unsafe "vkCreateSwapchainKHR"+               vkCreateSwapchainKHR ::+               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>+foreign import ccall unsafe "vkDestroySwapchainKHR"+               vkDestroySwapchainKHR ::+               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'.+--+--   > VkResult vkGetSwapchainImagesKHR+--   >     ( VkDevice device+--   >     , VkSwapchainKHR swapchain+--   >     , uint32_t* pSwapchainImageCount+--   >     , VkImage* pSwapchainImages+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetSwapchainImagesKHR.html vkGetSwapchainImagesKHR registry at www.khronos.org>+foreign import ccall unsafe "vkGetSwapchainImagesKHR"+               vkGetSwapchainImagesKHR ::+               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'.+--+--   > VkResult vkAcquireNextImageKHR+--   >     ( VkDevice device+--   >     , VkSwapchainKHR swapchain+--   >     , uint64_t timeout+--   >     , VkSemaphore semaphore+--   >     , VkFence fence+--   >     , uint32_t* pImageIndex+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkAcquireNextImageKHR.html vkAcquireNextImageKHR registry at www.khronos.org>+foreign import ccall unsafe "vkAcquireNextImageKHR"+               vkAcquireNextImageKHR ::+               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'.+--+--   > VkResult vkQueuePresentKHR+--   >     ( VkQueue queue+--   >     , const VkPresentInfoKHR* pPresentInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkQueuePresentKHR.html vkQueuePresentKHR registry at www.khronos.org>+foreign import ccall unsafe "vkQueuePresentKHR" vkQueuePresentKHR+               :: 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++type VK_KHR_SWAPCHAIN_SPEC_VERSION = 68++pattern VK_KHR_SWAPCHAIN_EXTENSION_NAME :: CString++pattern VK_KHR_SWAPCHAIN_EXTENSION_NAME <-+        (is_VK_KHR_SWAPCHAIN_EXTENSION_NAME -> True)+  where VK_KHR_SWAPCHAIN_EXTENSION_NAME+          = _VK_KHR_SWAPCHAIN_EXTENSION_NAME++{-# INLINE _VK_KHR_SWAPCHAIN_EXTENSION_NAME #-}++_VK_KHR_SWAPCHAIN_EXTENSION_NAME :: CString+_VK_KHR_SWAPCHAIN_EXTENSION_NAME = Ptr "VK_KHR_swapchain\NUL"#++{-# INLINE is_VK_KHR_SWAPCHAIN_EXTENSION_NAME #-}++is_VK_KHR_SWAPCHAIN_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_SWAPCHAIN_EXTENSION_NAME+  = eqCStrings _VK_KHR_SWAPCHAIN_EXTENSION_NAME++type VK_KHR_SWAPCHAIN_EXTENSION_NAME = "VK_KHR_swapchain"++pattern VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR =+        VkStructureType 1000001000++pattern VK_STRUCTURE_TYPE_PRESENT_INFO_KHR :: VkStructureType++pattern VK_STRUCTURE_TYPE_PRESENT_INFO_KHR =+        VkStructureType 1000001001++pattern VK_IMAGE_LAYOUT_PRESENT_SRC_KHR :: VkImageLayout++pattern VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = VkImageLayout 1000001002++pattern VK_SUBOPTIMAL_KHR :: VkResult++pattern VK_SUBOPTIMAL_KHR = VkResult 1000001003++pattern VK_ERROR_OUT_OF_DATE_KHR :: VkResult++pattern VK_ERROR_OUT_OF_DATE_KHR = VkResult (-1000001004)++-- | VkSwapchainKHR+pattern VK_OBJECT_TYPE_SWAPCHAIN_KHR :: VkObjectType++pattern VK_OBJECT_TYPE_SWAPCHAIN_KHR = VkObjectType 1000001000
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_variable_pointers.hs view
@@ -0,0 +1,85 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_KHR_variable_pointers+       (-- * Vulkan extension: @VK_KHR_variable_pointers@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jesse Hall @jessehall@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- Extension number: @121@+        --+        -- Required extensions: 'VK_KHR_get_physical_device_properties2', 'VK_KHR_storage_buffer_storage_class'.+        --++        -- ** 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,+        pattern VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR)+       where+import           GHC.Ptr+                                                                                          (Ptr (..))+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++pattern VK_KHR_VARIABLE_POINTERS_SPEC_VERSION = 1++type VK_KHR_VARIABLE_POINTERS_SPEC_VERSION = 1++pattern VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME :: CString++pattern VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME <-+        (is_VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME -> True)+  where VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME+          = _VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME++{-# INLINE _VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME #-}++_VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME :: CString+_VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME+  = Ptr "VK_KHR_variable_pointers\NUL"#++{-# INLINE is_VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME #-}++is_VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME+  = eqCStrings _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
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_wayland_surface.hs view
@@ -0,0 +1,134 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_wayland_surface+       (-- * Vulkan extension: @VK_KHR_wayland_surface@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jesse Hall @jessehall,Ian Elliott ianelliott@google.com@+        --+        -- author: @KHR@+        --+        -- type: @instance@+        --+        -- 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,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkWaylandSurfaceCreateInfoKHR,+        -- > #include "vk_platform.h"+        --+        -- > #include <wayland-client.h>+        vkCreateWaylandSurfaceKHR,+        vkGetPhysicalDeviceWaylandPresentationSupportKHR,+        module Graphics.Vulkan.Marshal,+        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_WAYLAND_SURFACE_SPEC_VERSION,+        pattern VK_KHR_WAYLAND_SURFACE_SPEC_VERSION,+        VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME,+        pattern VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR)+       where+import           GHC.Ptr                                                    (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Bitmasks+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.VkWaylandSurfaceCreateInfoKHR++-- | 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.0-extensions/man/html/vkCreateWaylandSurfaceKHR.html vkCreateWaylandSurfaceKHR registry at www.khronos.org>+foreign import ccall unsafe "vkCreateWaylandSurfaceKHR"+               vkCreateWaylandSurfaceKHR ::+               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>+foreign import ccall unsafe+               "vkGetPhysicalDeviceWaylandPresentationSupportKHR"+               vkGetPhysicalDeviceWaylandPresentationSupportKHR ::+               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++type VK_KHR_WAYLAND_SURFACE_SPEC_VERSION = 6++pattern VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME :: CString++pattern VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME <-+        (is_VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME -> True)+  where VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME+          = _VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME++{-# INLINE _VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME #-}++_VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME :: CString+_VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME+  = Ptr "VK_KHR_wayland_surface\NUL"#++{-# INLINE is_VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME #-}++is_VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME+  = eqCStrings _VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME++type VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME =+     "VK_KHR_wayland_surface"++pattern VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR =+        VkStructureType 1000006000
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_win32_keyed_mutex.hs view
@@ -0,0 +1,80 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_KHR_win32_keyed_mutex+       (-- * Vulkan extension: @VK_KHR_win32_keyed_mutex@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Carsten Rohde@+        --+        -- author: @KHR@+        --+        -- type: @device@+        --+        -- 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,+        module Graphics.Vulkan.Types.Enum.VkPipelineStageFlags,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Struct.VkSubmitInfo,+        module Graphics.Vulkan.Types.Struct.VkWin32KeyedMutexAcquireReleaseInfoKHR,+        -- > #include "vk_platform.h"+        VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION,+        pattern VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION,+        VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME,+        pattern VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR)+       where+import           GHC.Ptr+                                                                                      (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Enum.VkPipelineStageFlags+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Struct.VkSubmitInfo+import           Graphics.Vulkan.Types.Struct.VkWin32KeyedMutexAcquireReleaseInfoKHR++pattern VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION :: (Num a, Eq a) => a++pattern VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION = 1++type VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION = 1++pattern VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME :: CString++pattern VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME <-+        (is_VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME -> True)+  where VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME+          = _VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME++{-# INLINE _VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME #-}++_VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME :: CString+_VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME+  = Ptr "VK_KHR_win32_keyed_mutex\NUL"#++{-# INLINE is_VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME #-}++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++type VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME =+     "VK_KHR_win32_keyed_mutex"++pattern VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR+        = VkStructureType 1000075000
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_win32_surface.hs view
@@ -0,0 +1,131 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_win32_surface+       (-- * Vulkan extension: @VK_KHR_win32_surface@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jesse Hall @jessehall,Ian Elliott ianelliott@google.com@+        --+        -- author: @KHR@+        --+        -- type: @instance@+        --+        -- 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,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkWin32SurfaceCreateInfoKHR,+        -- > #include "vk_platform.h"+        --+        -- > #include <windows.h>+        vkCreateWin32SurfaceKHR,+        vkGetPhysicalDeviceWin32PresentationSupportKHR,+        module Graphics.Vulkan.Marshal,+        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_WIN32_SURFACE_SPEC_VERSION,+        pattern VK_KHR_WIN32_SURFACE_SPEC_VERSION,+        VK_KHR_WIN32_SURFACE_EXTENSION_NAME,+        pattern VK_KHR_WIN32_SURFACE_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR)+       where+import           GHC.Ptr                                                  (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Bitmasks+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.VkWin32SurfaceCreateInfoKHR++-- | 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.0-extensions/man/html/vkCreateWin32SurfaceKHR.html vkCreateWin32SurfaceKHR registry at www.khronos.org>+foreign import ccall unsafe "vkCreateWin32SurfaceKHR"+               vkCreateWin32SurfaceKHR ::+               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>+foreign import ccall unsafe+               "vkGetPhysicalDeviceWin32PresentationSupportKHR"+               vkGetPhysicalDeviceWin32PresentationSupportKHR ::+               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++type VK_KHR_WIN32_SURFACE_SPEC_VERSION = 6++pattern VK_KHR_WIN32_SURFACE_EXTENSION_NAME :: CString++pattern VK_KHR_WIN32_SURFACE_EXTENSION_NAME <-+        (is_VK_KHR_WIN32_SURFACE_EXTENSION_NAME -> True)+  where VK_KHR_WIN32_SURFACE_EXTENSION_NAME+          = _VK_KHR_WIN32_SURFACE_EXTENSION_NAME++{-# INLINE _VK_KHR_WIN32_SURFACE_EXTENSION_NAME #-}++_VK_KHR_WIN32_SURFACE_EXTENSION_NAME :: CString+_VK_KHR_WIN32_SURFACE_EXTENSION_NAME+  = Ptr "VK_KHR_win32_surface\NUL"#++{-# INLINE is_VK_KHR_WIN32_SURFACE_EXTENSION_NAME #-}++is_VK_KHR_WIN32_SURFACE_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_WIN32_SURFACE_EXTENSION_NAME+  = eqCStrings _VK_KHR_WIN32_SURFACE_EXTENSION_NAME++type VK_KHR_WIN32_SURFACE_EXTENSION_NAME = "VK_KHR_win32_surface"++pattern VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR =+        VkStructureType 1000009000
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_xcb_surface.hs view
@@ -0,0 +1,135 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_xcb_surface+       (-- * Vulkan extension: @VK_KHR_xcb_surface@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jesse Hall @jessehall,Ian Elliott ianelliott@google.com@+        --+        -- author: @KHR@+        --+        -- type: @instance@+        --+        -- 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,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkXcbSurfaceCreateInfoKHR,+        -- > #include "vk_platform.h"+        --+        -- > #include <xcb/xcb.h>+        vkCreateXcbSurfaceKHR,+        vkGetPhysicalDeviceXcbPresentationSupportKHR,+        module Graphics.Vulkan.Marshal,+        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_XCB_SURFACE_SPEC_VERSION,+        pattern VK_KHR_XCB_SURFACE_SPEC_VERSION,+        VK_KHR_XCB_SURFACE_EXTENSION_NAME,+        pattern VK_KHR_XCB_SURFACE_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR)+       where+import           GHC.Ptr                                                (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Bitmasks+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.VkXcbSurfaceCreateInfoKHR++-- | 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.0-extensions/man/html/vkCreateXcbSurfaceKHR.html vkCreateXcbSurfaceKHR registry at www.khronos.org>+foreign import ccall unsafe "vkCreateXcbSurfaceKHR"+               vkCreateXcbSurfaceKHR ::+               VkInstance -- ^ instance+                          ->+                 Ptr VkXcbSurfaceCreateInfoKHR -- ^ pCreateInfo+                                               ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                 -> IO VkResult++-- | > VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t queueFamilyIndex+--   >     , xcb_connection_t* connection+--   >     , 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>+foreign import ccall unsafe+               "vkGetPhysicalDeviceXcbPresentationSupportKHR"+               vkGetPhysicalDeviceXcbPresentationSupportKHR ::+               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++type VK_KHR_XCB_SURFACE_SPEC_VERSION = 6++pattern VK_KHR_XCB_SURFACE_EXTENSION_NAME :: CString++pattern VK_KHR_XCB_SURFACE_EXTENSION_NAME <-+        (is_VK_KHR_XCB_SURFACE_EXTENSION_NAME -> True)+  where VK_KHR_XCB_SURFACE_EXTENSION_NAME+          = _VK_KHR_XCB_SURFACE_EXTENSION_NAME++{-# INLINE _VK_KHR_XCB_SURFACE_EXTENSION_NAME #-}++_VK_KHR_XCB_SURFACE_EXTENSION_NAME :: CString+_VK_KHR_XCB_SURFACE_EXTENSION_NAME = Ptr "VK_KHR_xcb_surface\NUL"#++{-# INLINE is_VK_KHR_XCB_SURFACE_EXTENSION_NAME #-}++is_VK_KHR_XCB_SURFACE_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_XCB_SURFACE_EXTENSION_NAME+  = eqCStrings _VK_KHR_XCB_SURFACE_EXTENSION_NAME++type VK_KHR_XCB_SURFACE_EXTENSION_NAME = "VK_KHR_xcb_surface"++pattern VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR =+        VkStructureType 1000005000
+ src-gen/Graphics/Vulkan/Ext/VK_KHR_xlib_surface.hs view
@@ -0,0 +1,136 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_KHR_xlib_surface+       (-- * Vulkan extension: @VK_KHR_xlib_surface@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jesse Hall @jessehall,Ian Elliott ianelliott@google.com@+        --+        -- author: @KHR@+        --+        -- type: @instance@+        --+        -- 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,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkXlibSurfaceCreateInfoKHR,+        -- > #include "vk_platform.h"+        --+        -- > #include <X11/Xlib.h>+        vkCreateXlibSurfaceKHR,+        vkGetPhysicalDeviceXlibPresentationSupportKHR,+        module Graphics.Vulkan.Marshal,+        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_XLIB_SURFACE_SPEC_VERSION,+        pattern VK_KHR_XLIB_SURFACE_SPEC_VERSION,+        VK_KHR_XLIB_SURFACE_EXTENSION_NAME,+        pattern VK_KHR_XLIB_SURFACE_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR)+       where+import           GHC.Ptr                                                 (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Bitmasks+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.VkXlibSurfaceCreateInfoKHR++-- | 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.0-extensions/man/html/vkCreateXlibSurfaceKHR.html vkCreateXlibSurfaceKHR registry at www.khronos.org>+foreign import ccall unsafe "vkCreateXlibSurfaceKHR"+               vkCreateXlibSurfaceKHR ::+               VkInstance -- ^ instance+                          ->+                 Ptr VkXlibSurfaceCreateInfoKHR -- ^ pCreateInfo+                                                ->+                   Ptr VkAllocationCallbacks -- ^ pAllocator+                                             -> Ptr VkSurfaceKHR -- ^ pSurface+                                                                 -> IO VkResult++-- | > VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR+--   >     ( VkPhysicalDevice physicalDevice+--   >     , uint32_t queueFamilyIndex+--   >     , Display* dpy+--   >     , VisualID visualID+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkGetPhysicalDeviceXlibPresentationSupportKHR.html vkGetPhysicalDeviceXlibPresentationSupportKHR registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetPhysicalDeviceXlibPresentationSupportKHR"+               vkGetPhysicalDeviceXlibPresentationSupportKHR ::+               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++type VK_KHR_XLIB_SURFACE_SPEC_VERSION = 6++pattern VK_KHR_XLIB_SURFACE_EXTENSION_NAME :: CString++pattern VK_KHR_XLIB_SURFACE_EXTENSION_NAME <-+        (is_VK_KHR_XLIB_SURFACE_EXTENSION_NAME -> True)+  where VK_KHR_XLIB_SURFACE_EXTENSION_NAME+          = _VK_KHR_XLIB_SURFACE_EXTENSION_NAME++{-# INLINE _VK_KHR_XLIB_SURFACE_EXTENSION_NAME #-}++_VK_KHR_XLIB_SURFACE_EXTENSION_NAME :: CString+_VK_KHR_XLIB_SURFACE_EXTENSION_NAME+  = Ptr "VK_KHR_xlib_surface\NUL"#++{-# INLINE is_VK_KHR_XLIB_SURFACE_EXTENSION_NAME #-}++is_VK_KHR_XLIB_SURFACE_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_XLIB_SURFACE_EXTENSION_NAME+  = eqCStrings _VK_KHR_XLIB_SURFACE_EXTENSION_NAME++type VK_KHR_XLIB_SURFACE_EXTENSION_NAME = "VK_KHR_xlib_surface"++pattern VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR =+        VkStructureType 1000004000
+ src-gen/Graphics/Vulkan/Ext/VK_KHX_device_group.hs view
@@ -0,0 +1,481 @@+{-# 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 view
@@ -0,0 +1,127 @@+{-# 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 view
@@ -0,0 +1,149 @@+{-# 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
@@ -0,0 +1,111 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_MVK_ios_surface+       (-- * Vulkan extension: @VK_MVK_ios_surface@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Bill Hollings @billhollings@+        --+        -- author: @MVK@+        --+        -- type: @instance@+        --+        -- 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,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkIOSSurfaceCreateInfoMVK,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        -- > #include "vk_platform.h"+        vkCreateIOSSurfaceMVK, module Graphics.Vulkan.Marshal,+        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_MVK_IOS_SURFACE_SPEC_VERSION,+        pattern VK_MVK_IOS_SURFACE_SPEC_VERSION,+        VK_MVK_IOS_SURFACE_EXTENSION_NAME,+        pattern VK_MVK_IOS_SURFACE_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK)+       where+import           GHC.Ptr                                                (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Bitmasks+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.Struct.VkAllocationCallbacks+import           Graphics.Vulkan.Types.Struct.VkIOSSurfaceCreateInfoMVK++-- | 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.0-extensions/man/html/vkCreateIOSSurfaceMVK.html vkCreateIOSSurfaceMVK registry at www.khronos.org>+foreign import ccall unsafe "vkCreateIOSSurfaceMVK"+               vkCreateIOSSurfaceMVK ::+               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++type VK_MVK_IOS_SURFACE_SPEC_VERSION = 2++pattern VK_MVK_IOS_SURFACE_EXTENSION_NAME :: CString++pattern VK_MVK_IOS_SURFACE_EXTENSION_NAME <-+        (is_VK_MVK_IOS_SURFACE_EXTENSION_NAME -> True)+  where VK_MVK_IOS_SURFACE_EXTENSION_NAME+          = _VK_MVK_IOS_SURFACE_EXTENSION_NAME++{-# INLINE _VK_MVK_IOS_SURFACE_EXTENSION_NAME #-}++_VK_MVK_IOS_SURFACE_EXTENSION_NAME :: CString+_VK_MVK_IOS_SURFACE_EXTENSION_NAME = Ptr "VK_MVK_ios_surface\NUL"#++{-# INLINE is_VK_MVK_IOS_SURFACE_EXTENSION_NAME #-}++is_VK_MVK_IOS_SURFACE_EXTENSION_NAME :: CString -> Bool+is_VK_MVK_IOS_SURFACE_EXTENSION_NAME+  = eqCStrings _VK_MVK_IOS_SURFACE_EXTENSION_NAME++type VK_MVK_IOS_SURFACE_EXTENSION_NAME = "VK_MVK_ios_surface"++pattern VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK =+        VkStructureType 1000122000
+ src-gen/Graphics/Vulkan/Ext/VK_MVK_macos_surface.hs view
@@ -0,0 +1,112 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_MVK_macos_surface+       (-- * Vulkan extension: @VK_MVK_macos_surface@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Bill Hollings @billhollings@+        --+        -- author: @MVK@+        --+        -- type: @instance@+        --+        -- 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,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkMacOSSurfaceCreateInfoMVK,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        -- > #include "vk_platform.h"+        vkCreateMacOSSurfaceMVK, module Graphics.Vulkan.Marshal,+        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_MVK_MACOS_SURFACE_SPEC_VERSION,+        pattern VK_MVK_MACOS_SURFACE_SPEC_VERSION,+        VK_MVK_MACOS_SURFACE_EXTENSION_NAME,+        pattern VK_MVK_MACOS_SURFACE_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK)+       where+import           GHC.Ptr                                                  (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Bitmasks+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.Struct.VkAllocationCallbacks+import           Graphics.Vulkan.Types.Struct.VkMacOSSurfaceCreateInfoMVK++-- | 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.0-extensions/man/html/vkCreateMacOSSurfaceMVK.html vkCreateMacOSSurfaceMVK registry at www.khronos.org>+foreign import ccall unsafe "vkCreateMacOSSurfaceMVK"+               vkCreateMacOSSurfaceMVK ::+               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++type VK_MVK_MACOS_SURFACE_SPEC_VERSION = 2++pattern VK_MVK_MACOS_SURFACE_EXTENSION_NAME :: CString++pattern VK_MVK_MACOS_SURFACE_EXTENSION_NAME <-+        (is_VK_MVK_MACOS_SURFACE_EXTENSION_NAME -> True)+  where VK_MVK_MACOS_SURFACE_EXTENSION_NAME+          = _VK_MVK_MACOS_SURFACE_EXTENSION_NAME++{-# INLINE _VK_MVK_MACOS_SURFACE_EXTENSION_NAME #-}++_VK_MVK_MACOS_SURFACE_EXTENSION_NAME :: CString+_VK_MVK_MACOS_SURFACE_EXTENSION_NAME+  = Ptr "VK_MVK_macos_surface\NUL"#++{-# INLINE is_VK_MVK_MACOS_SURFACE_EXTENSION_NAME #-}++is_VK_MVK_MACOS_SURFACE_EXTENSION_NAME :: CString -> Bool+is_VK_MVK_MACOS_SURFACE_EXTENSION_NAME+  = eqCStrings _VK_MVK_MACOS_SURFACE_EXTENSION_NAME++type VK_MVK_MACOS_SURFACE_EXTENSION_NAME = "VK_MVK_macos_surface"++pattern VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK =+        VkStructureType 1000123000
+ src-gen/Graphics/Vulkan/Ext/VK_NN_vi_surface.hs view
@@ -0,0 +1,111 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_NN_vi_surface+       (-- * Vulkan extension: @VK_NN_vi_surface@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Mathias Heyer @mheyer@+        --+        -- author: @NN@+        --+        -- type: @instance@+        --+        -- 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,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkViSurfaceCreateInfoNN,+        -- > #include "vk_platform.h"+        vkCreateViSurfaceNN, module Graphics.Vulkan.Marshal,+        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_NN_VI_SURFACE_SPEC_VERSION,+        pattern VK_NN_VI_SURFACE_SPEC_VERSION,+        VK_NN_VI_SURFACE_EXTENSION_NAME,+        pattern VK_NN_VI_SURFACE_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN)+       where+import           GHC.Ptr                                              (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Bitmasks+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.Struct.VkAllocationCallbacks+import           Graphics.Vulkan.Types.Struct.VkViSurfaceCreateInfoNN++-- | 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.0-extensions/man/html/vkCreateViSurfaceNN.html vkCreateViSurfaceNN registry at www.khronos.org>+foreign import ccall unsafe "vkCreateViSurfaceNN"+               vkCreateViSurfaceNN ::+               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++type VK_NN_VI_SURFACE_SPEC_VERSION = 1++pattern VK_NN_VI_SURFACE_EXTENSION_NAME :: CString++pattern VK_NN_VI_SURFACE_EXTENSION_NAME <-+        (is_VK_NN_VI_SURFACE_EXTENSION_NAME -> True)+  where VK_NN_VI_SURFACE_EXTENSION_NAME+          = _VK_NN_VI_SURFACE_EXTENSION_NAME++{-# INLINE _VK_NN_VI_SURFACE_EXTENSION_NAME #-}++_VK_NN_VI_SURFACE_EXTENSION_NAME :: CString+_VK_NN_VI_SURFACE_EXTENSION_NAME = Ptr "VK_NN_vi_surface\NUL"#++{-# INLINE is_VK_NN_VI_SURFACE_EXTENSION_NAME #-}++is_VK_NN_VI_SURFACE_EXTENSION_NAME :: CString -> Bool+is_VK_NN_VI_SURFACE_EXTENSION_NAME+  = eqCStrings _VK_NN_VI_SURFACE_EXTENSION_NAME++type VK_NN_VI_SURFACE_EXTENSION_NAME = "VK_NN_vi_surface"++pattern VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN =+        VkStructureType 1000062000
+ src-gen/Graphics/Vulkan/Ext/VK_NVX_device_generated_commands.hs view
@@ -0,0 +1,381 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_NVX_device_generated_commands+       (-- * Vulkan extension: @VK_NVX_device_generated_commands@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Christoph Kubisch @pixeljetstream@+        --+        -- author: @NVX@+        --+        -- type: @device@+        --+        -- Extension number: @87@+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Struct.VkCmdProcessCommandsInfoNVX,+        module Graphics.Vulkan.Types.Struct.VkCmdReserveSpaceForCommandsInfoNVX,+        module Graphics.Vulkan.Types.Struct.VkDeviceGeneratedCommandsFeaturesNVX,+        module Graphics.Vulkan.Types.Struct.VkDeviceGeneratedCommandsLimitsNVX,+        module Graphics.Vulkan.Types.Enum.VkIndexType,+        module Graphics.Vulkan.Types.Struct.VkIndirectCommandsLayoutCreateInfoNVX,+        module Graphics.Vulkan.Types.Struct.VkIndirectCommandsLayoutTokenNVX,+        module Graphics.Vulkan.Types.Enum.VkIndirectCommandsLayoutUsageFlagsNVX,+        module Graphics.Vulkan.Types.Struct.VkIndirectCommandsTokenNVX,+        module Graphics.Vulkan.Types.Enum.VkIndirectCommandsTokenTypeNVX,+        module Graphics.Vulkan.Types.Enum.VkObjectEntryTypeNVX,+        module Graphics.Vulkan.Types.Enum.VkObjectEntryUsageFlagsNVX,+        module Graphics.Vulkan.Types.Struct.VkObjectTableCreateInfoNVX,+        module Graphics.Vulkan.Types.Struct.VkObjectTableDescriptorSetEntryNVX,+        module Graphics.Vulkan.Types.Struct.VkObjectTableEntryNVX,+        module Graphics.Vulkan.Types.Struct.VkObjectTableIndexBufferEntryNVX,+        module Graphics.Vulkan.Types.Struct.VkObjectTablePipelineEntryNVX,+        module Graphics.Vulkan.Types.Struct.VkObjectTablePushConstantEntryNVX,+        module Graphics.Vulkan.Types.Struct.VkObjectTableVertexBufferEntryNVX,+        module Graphics.Vulkan.Types.Enum.VkPipelineBindPoint,+        module Graphics.Vulkan.Types.Enum.VkShaderStageFlags,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        -- > #include "vk_platform.h"+        vkCmdProcessCommandsNVX, vkCmdReserveSpaceForCommandsNVX,+        vkCreateIndirectCommandsLayoutNVX,+        vkDestroyIndirectCommandsLayoutNVX, vkCreateObjectTableNVX,+        vkDestroyObjectTableNVX, vkRegisterObjectsNVX,+        vkUnregisterObjectsNVX,+        vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX,+        module Graphics.Vulkan.Marshal,+        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_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION,+        pattern VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION,+        VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME,+        pattern VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX,+        pattern VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX,+        pattern VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX,+        pattern VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX,+        pattern VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX,+        pattern VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX,+        pattern VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX,+        pattern VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX,+        pattern VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX,+        pattern VK_OBJECT_TYPE_OBJECT_TABLE_NVX,+        pattern VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX)+       where+import           GHC.Ptr+                                                                                     (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Enum.VkAccessFlags+                                                                                     (VkAccessBitmask (..),+                                                                                     VkAccessFlagBits)+import           Graphics.Vulkan.Types.Enum.VkIndexType+import           Graphics.Vulkan.Types.Enum.VkIndirectCommandsLayoutUsageFlagsNVX+import           Graphics.Vulkan.Types.Enum.VkIndirectCommandsTokenTypeNVX+import           Graphics.Vulkan.Types.Enum.VkInternalAllocationType+import           Graphics.Vulkan.Types.Enum.VkObjectEntryTypeNVX+import           Graphics.Vulkan.Types.Enum.VkObjectEntryUsageFlagsNVX+import           Graphics.Vulkan.Types.Enum.VkObjectType+                                                                                     (VkObjectType (..))+import           Graphics.Vulkan.Types.Enum.VkPipelineBindPoint+import           Graphics.Vulkan.Types.Enum.VkPipelineStageFlags+                                                                                     (VkPipelineStageBitmask (..),+                                                                                     VkPipelineStageFlagBits)+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkShaderStageFlags+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.VkCmdProcessCommandsInfoNVX+import           Graphics.Vulkan.Types.Struct.VkCmdReserveSpaceForCommandsInfoNVX+import           Graphics.Vulkan.Types.Struct.VkDeviceGeneratedCommandsFeaturesNVX+import           Graphics.Vulkan.Types.Struct.VkDeviceGeneratedCommandsLimitsNVX+import           Graphics.Vulkan.Types.Struct.VkIndirectCommandsLayoutCreateInfoNVX+import           Graphics.Vulkan.Types.Struct.VkIndirectCommandsLayoutTokenNVX+import           Graphics.Vulkan.Types.Struct.VkIndirectCommandsTokenNVX+import           Graphics.Vulkan.Types.Struct.VkObjectTableCreateInfoNVX+import           Graphics.Vulkan.Types.Struct.VkObjectTableDescriptorSetEntryNVX+import           Graphics.Vulkan.Types.Struct.VkObjectTableEntryNVX+import           Graphics.Vulkan.Types.Struct.VkObjectTableIndexBufferEntryNVX+import           Graphics.Vulkan.Types.Struct.VkObjectTablePipelineEntryNVX+import           Graphics.Vulkan.Types.Struct.VkObjectTablePushConstantEntryNVX+import           Graphics.Vulkan.Types.Struct.VkObjectTableVertexBufferEntryNVX++-- | queues: 'graphics', 'compute'.+--+--   renderpass: @inside@+--+--   > () vkCmdProcessCommandsNVX+--   >     ( VkCommandBuffer commandBuffer+--   >     , const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdProcessCommandsNVX.html vkCmdProcessCommandsNVX registry at www.khronos.org>+foreign import ccall unsafe "vkCmdProcessCommandsNVX"+               vkCmdProcessCommandsNVX ::+               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>+foreign import ccall unsafe "vkCmdReserveSpaceForCommandsNVX"+               vkCmdReserveSpaceForCommandsNVX ::+               VkCommandBuffer -- ^ commandBuffer+                               -> Ptr VkCmdReserveSpaceForCommandsInfoNVX -- ^ pReserveSpaceInfo+                                                                          -> IO ()++-- | 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.0-extensions/man/html/vkCreateIndirectCommandsLayoutNVX.html vkCreateIndirectCommandsLayoutNVX registry at www.khronos.org>+foreign import ccall unsafe "vkCreateIndirectCommandsLayoutNVX"+               vkCreateIndirectCommandsLayoutNVX ::+               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>+foreign import ccall unsafe "vkDestroyIndirectCommandsLayoutNVX"+               vkDestroyIndirectCommandsLayoutNVX ::+               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'.+--+--   > VkResult vkCreateObjectTableNVX+--   >     ( VkDevice device+--   >     , const VkObjectTableCreateInfoNVX* pCreateInfo+--   >     , const VkAllocationCallbacks* pAllocator+--   >     , VkObjectTableNVX* pObjectTable+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCreateObjectTableNVX.html vkCreateObjectTableNVX registry at www.khronos.org>+foreign import ccall unsafe "vkCreateObjectTableNVX"+               vkCreateObjectTableNVX ::+               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>+foreign import ccall unsafe "vkDestroyObjectTableNVX"+               vkDestroyObjectTableNVX ::+               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'.+--+--   > 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.0-extensions/man/html/vkRegisterObjectsNVX.html vkRegisterObjectsNVX registry at www.khronos.org>+foreign import ccall unsafe "vkRegisterObjectsNVX"+               vkRegisterObjectsNVX ::+               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+--   >     , uint32_t objectCount+--   >     , const VkObjectEntryTypeNVX* pObjectEntryTypes+--   >     , const uint32_t* pObjectIndices+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkUnregisterObjectsNVX.html vkUnregisterObjectsNVX registry at www.khronos.org>+foreign import ccall unsafe "vkUnregisterObjectsNVX"+               vkUnregisterObjectsNVX ::+               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>+foreign import ccall unsafe+               "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"+               vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX ::+               VkPhysicalDevice -- ^ physicalDevice+                                ->+                 Ptr VkDeviceGeneratedCommandsFeaturesNVX -- ^ pFeatures+                                                          ->+                   Ptr VkDeviceGeneratedCommandsLimitsNVX -- ^ pLimits+                                                          -> IO ()++pattern VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION = 3++type VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION = 3++pattern VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME :: CString++pattern VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME <-+        (is_VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME -> True)+  where VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME+          = _VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME++{-# INLINE _VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME #-}++_VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME :: CString+_VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME+  = Ptr "VK_NVX_device_generated_commands\NUL"#++{-# INLINE is_VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME #-}++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++type VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME =+     "VK_NVX_device_generated_commands"++pattern VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX =+        VkStructureType 1000086000++pattern VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX+        = VkStructureType 1000086001++pattern VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX =+        VkStructureType 1000086002++pattern VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX =+        VkStructureType 1000086003++pattern VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX =+        VkStructureType 1000086004++pattern VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX =+        VkStructureType 1000086005++-- | bitpos = @17@+pattern VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX ::+        VkPipelineStageFlagBits++pattern VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX =+        VkPipelineStageFlagBits 131072++-- | bitpos = @17@+pattern VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX :: VkAccessFlagBits++pattern VK_ACCESS_COMMAND_PROCESS_READ_BIT_NVX =+        VkAccessFlagBits 131072++-- | bitpos = @18@+pattern VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX :: VkAccessFlagBits++pattern VK_ACCESS_COMMAND_PROCESS_WRITE_BIT_NVX =+        VkAccessFlagBits 262144++-- | VkobjectTableNVX+pattern VK_OBJECT_TYPE_OBJECT_TABLE_NVX :: VkObjectType++pattern VK_OBJECT_TYPE_OBJECT_TABLE_NVX = VkObjectType 1000086000++-- | VkIndirectCommandsLayoutNVX+pattern VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX :: VkObjectType++pattern VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX =+        VkObjectType 1000086001
+ src-gen/Graphics/Vulkan/Ext/VK_NVX_multiview_per_view_attributes.hs view
@@ -0,0 +1,110 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_NVX_multiview_per_view_attributes+       (-- * Vulkan extension: @VK_NVX_multiview_per_view_attributes@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jeff Bolz @jbolz@+        --+        -- author: @NVX@+        --+        -- type: @device@+        --+        -- Extension number: @98@+        --+        -- Required extensions: 'VK_KHX_multiview'.+        --++        -- ** Required extensions: 'VK_KHX_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.VkPhysicalDeviceSparseProperties,+        module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,+        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        -- > #include "vk_platform.h"+        VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION,+        pattern VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION,+        VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME,+        pattern VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX,+        pattern VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX,+        pattern VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX)+       where+import           GHC.Ptr+                                                                                                       (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType+import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Enum.VkSubpassDescriptionFlags+                                                                                                       (VkSubpassDescriptionBitmask (..),+                                                                                                       VkSubpassDescriptionFlagBits)+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.VkPhysicalDeviceSparseProperties++pattern VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION = 1++type VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION = 1++pattern VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME ::+        CString++pattern VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME <-+        (is_VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME -> True)+  where VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME+          = _VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME++{-# INLINE _VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME #-}++_VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME :: CString+_VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME+  = Ptr "VK_NVX_multiview_per_view_attributes\NUL"#++{-# INLINE is_VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME+           #-}++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++type VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME =+     "VK_NVX_multiview_per_view_attributes"++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX+        = VkStructureType 1000097000++-- | bitpos = @0@+pattern VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX ::+        VkSubpassDescriptionFlagBits++pattern VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX =+        VkSubpassDescriptionFlagBits 1++-- | bitpos = @1@+pattern VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX ::+        VkSubpassDescriptionFlagBits++pattern VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX =+        VkSubpassDescriptionFlagBits 2
+ src-gen/Graphics/Vulkan/Ext/VK_NV_clip_space_w_scaling.hs view
@@ -0,0 +1,116 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds                #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash                #-}+{-# LANGUAGE PatternSynonyms          #-}+{-# LANGUAGE Strict                   #-}+{-# LANGUAGE ViewPatterns             #-}+module Graphics.Vulkan.Ext.VK_NV_clip_space_w_scaling+       (-- * Vulkan extension: @VK_NV_clip_space_w_scaling@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Eric Werness @ewerness@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- Extension number: @88@+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Struct.VkExtent2D,+        module Graphics.Vulkan.Types.Struct.VkOffset2D,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkPipelineViewportStateCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkPipelineViewportWScalingStateCreateInfoNV,+        module Graphics.Vulkan.Types.Struct.VkRect2D,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Struct.VkViewport,+        module Graphics.Vulkan.Types.Struct.VkViewportWScalingNV,+        -- > #include "vk_platform.h"+        vkCmdSetViewportWScalingNV, 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,+        pattern VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV,+        pattern VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV)+       where+import           GHC.Ptr+                                                                                           (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Bitmasks+import           Graphics.Vulkan.Types.Enum.VkDynamicState+                                                                                           (VkDynamicState (..))+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkExtent2D+import           Graphics.Vulkan.Types.Struct.VkOffset2D+import           Graphics.Vulkan.Types.Struct.VkPipelineViewportStateCreateInfo+import           Graphics.Vulkan.Types.Struct.VkPipelineViewportWScalingStateCreateInfoNV+import           Graphics.Vulkan.Types.Struct.VkRect2D+import           Graphics.Vulkan.Types.Struct.VkViewport+import           Graphics.Vulkan.Types.Struct.VkViewportWScalingNV++-- | queues: 'graphics'.+--+--   renderpass: @both@+--+--   > () vkCmdSetViewportWScalingNV+--   >     ( VkCommandBuffer commandBuffer+--   >     , uint32_t firstViewport+--   >     , uint32_t viewportCount+--   >     , const VkViewportWScalingNV* pViewportWScalings+--   >     )+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/vkCmdSetViewportWScalingNV.html vkCmdSetViewportWScalingNV registry at www.khronos.org>+foreign import ccall unsafe "vkCmdSetViewportWScalingNV"+               vkCmdSetViewportWScalingNV ::+               VkCommandBuffer -- ^ commandBuffer+                               ->+                 Word32 -- ^ firstViewport+                        -> Word32 -- ^ viewportCount+                                  -> Ptr VkViewportWScalingNV -- ^ pViewportWScalings+                                                              -> IO ()++pattern VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION :: (Num a, Eq a) =>+        a++pattern VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION = 1++type VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION = 1++pattern VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME :: CString++pattern VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME <-+        (is_VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME -> True)+  where VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME+          = _VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME++{-# INLINE _VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME #-}++_VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME :: CString+_VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME+  = Ptr "VK_NV_clip_space_w_scaling\NUL"#++{-# INLINE is_VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME #-}++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++type VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME =+     "VK_NV_clip_space_w_scaling"++pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV+        = VkStructureType 1000087000++pattern VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV :: VkDynamicState++pattern VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV =+        VkDynamicState 1000087000
+ src-gen/Graphics/Vulkan/Ext/VK_NV_dedicated_allocation.hs view
@@ -0,0 +1,116 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_NV_dedicated_allocation+       (-- * Vulkan extension: @VK_NV_dedicated_allocation@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jeff Bolz @jbolz@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- Extension number: @27@+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkBufferCreateFlags,+        module Graphics.Vulkan.Types.Struct.VkBufferCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkBufferUsageFlags,+        module Graphics.Vulkan.Types.Struct.VkDedicatedAllocationBufferCreateInfoNV,+        module Graphics.Vulkan.Types.Struct.VkDedicatedAllocationImageCreateInfoNV,+        module Graphics.Vulkan.Types.Struct.VkDedicatedAllocationMemoryAllocateInfoNV,+        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.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_NV_DEDICATED_ALLOCATION_SPEC_VERSION,+        pattern VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION,+        VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME,+        pattern VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV,+        pattern VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV,+        pattern VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV)+       where+import           GHC.Ptr+                                                                                         (Ptr (..))+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.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.VkSampleCountFlags+import           Graphics.Vulkan.Types.Enum.VkSharingMode+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Struct.VkBufferCreateInfo+import           Graphics.Vulkan.Types.Struct.VkDedicatedAllocationBufferCreateInfoNV+import           Graphics.Vulkan.Types.Struct.VkDedicatedAllocationImageCreateInfoNV+import           Graphics.Vulkan.Types.Struct.VkDedicatedAllocationMemoryAllocateInfoNV+import           Graphics.Vulkan.Types.Struct.VkExtent3D+import           Graphics.Vulkan.Types.Struct.VkImageCreateInfo+import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo++pattern VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION :: (Num a, Eq a) =>+        a++pattern VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION = 1++type VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION = 1++pattern VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME :: CString++pattern VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME <-+        (is_VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME -> True)+  where VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME+          = _VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME++{-# INLINE _VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME #-}++_VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME :: CString+_VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME+  = Ptr "VK_NV_dedicated_allocation\NUL"#++{-# INLINE is_VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME #-}++is_VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME :: CString -> Bool+is_VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME+  = eqCStrings _VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME++type VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME =+     "VK_NV_dedicated_allocation"++pattern VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV+        = VkStructureType 1000026000++pattern VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV+        = VkStructureType 1000026001++pattern VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV+        = VkStructureType 1000026002
+ src-gen/Graphics/Vulkan/Ext/VK_NV_external_memory.hs view
@@ -0,0 +1,105 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_NV_external_memory+       (-- * Vulkan extension: @VK_NV_external_memory@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @James Jones @cubanismo@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- Extension number: @57@+        --+        -- Required extensions: 'VK_NV_external_memory_capabilities'.+        --++        -- ** Required extensions: 'VK_NV_external_memory_capabilities'.+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Struct.VkExportMemoryAllocateInfoNV,+        module Graphics.Vulkan.Types.Struct.VkExtent3D,+        module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsNV,+        module Graphics.Vulkan.Types.Struct.VkExternalMemoryImageCreateInfoNV,+        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_NV_EXTERNAL_MEMORY_SPEC_VERSION,+        pattern VK_NV_EXTERNAL_MEMORY_SPEC_VERSION,+        VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME,+        pattern VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV,+        pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV)+       where+import           GHC.Ptr                                                        (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsNV+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.VkSampleCountFlags+import           Graphics.Vulkan.Types.Enum.VkSharingMode+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Struct.VkExportMemoryAllocateInfoNV+import           Graphics.Vulkan.Types.Struct.VkExtent3D+import           Graphics.Vulkan.Types.Struct.VkExternalMemoryImageCreateInfoNV+import           Graphics.Vulkan.Types.Struct.VkImageCreateInfo+import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo++pattern VK_NV_EXTERNAL_MEMORY_SPEC_VERSION :: (Num a, Eq a) => a++pattern VK_NV_EXTERNAL_MEMORY_SPEC_VERSION = 1++type VK_NV_EXTERNAL_MEMORY_SPEC_VERSION = 1++pattern VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME :: CString++pattern VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME <-+        (is_VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME -> True)+  where VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME+          = _VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME++{-# INLINE _VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME #-}++_VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME :: CString+_VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME+  = Ptr "VK_NV_external_memory\NUL"#++{-# INLINE is_VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME #-}++is_VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME :: CString -> Bool+is_VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME+  = eqCStrings _VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME++type VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME = "VK_NV_external_memory"++pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV =+        VkStructureType 1000056000++pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV =+        VkStructureType 1000056001
+ src-gen/Graphics/Vulkan/Ext/VK_NV_external_memory_capabilities.hs view
@@ -0,0 +1,126 @@+{-# 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_NV_external_memory_capabilities+       (-- * Vulkan extension: @VK_NV_external_memory_capabilities@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @James Jones @cubanismo@+        --+        -- author: @NV@+        --+        -- type: @instance@+        --+        -- Extension number: @56@+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Struct.VkExtent3D,+        module Graphics.Vulkan.Types.Struct.VkExternalImageFormatPropertiesNV,+        module Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlagsNV,+        module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsNV,+        module Graphics.Vulkan.Types.Struct.VkImageFormatProperties,+        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,+        -- > #include "vk_platform.h"+        vkGetPhysicalDeviceExternalImageFormatPropertiesNV,+        module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.Enum.VkFormat,+        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.VkResult,+        module Graphics.Vulkan.Types.Handles,+        VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION,+        pattern VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION,+        VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME,+        pattern VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME)+       where+import           GHC.Ptr                                                        (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlagsNV+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsNV+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.VkResult+import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Struct.VkExtent3D+import           Graphics.Vulkan.Types.Struct.VkExternalImageFormatPropertiesNV+import           Graphics.Vulkan.Types.Struct.VkImageFormatProperties++-- | 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.0-extensions/man/html/vkGetPhysicalDeviceExternalImageFormatPropertiesNV.html vkGetPhysicalDeviceExternalImageFormatPropertiesNV registry at www.khronos.org>+foreign import ccall unsafe+               "vkGetPhysicalDeviceExternalImageFormatPropertiesNV"+               vkGetPhysicalDeviceExternalImageFormatPropertiesNV ::+               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++pattern VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION = 1++type VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION = 1++pattern VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME ::+        CString++pattern VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME <-+        (is_VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME -> True)+  where VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME+          = _VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME++{-# INLINE _VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME #-}++_VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME :: CString+_VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME+  = Ptr "VK_NV_external_memory_capabilities\NUL"#++{-# INLINE is_VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME #-}++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++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
@@ -0,0 +1,121 @@+{-# 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_NV_external_memory_win32+       (-- * Vulkan extension: @VK_NV_external_memory_win32@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @James Jones @cubanismo@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- 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,+        module Graphics.Vulkan.Types.Struct.VkExportMemoryWin32HandleInfoNV,+        module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsNV,+        module Graphics.Vulkan.Types.Struct.VkImportMemoryWin32HandleInfoNV,+        module Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        -- > #include "vk_platform.h"+        --+        -- > #include <windows.h>+        vkGetMemoryWin32HandleNV, module Graphics.Vulkan.Marshal,+        module Graphics.Vulkan.Types.Enum.VkResult,+        module Graphics.Vulkan.Types.Handles,+        VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION,+        pattern VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION,+        VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME,+        pattern VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV,+        pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV)+       where+import           GHC.Ptr                                                      (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsNV+import           Graphics.Vulkan.Types.Enum.VkResult+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Handles+import           Graphics.Vulkan.Types.Include                                (HANDLE)+import           Graphics.Vulkan.Types.Struct.VkExportMemoryWin32HandleInfoNV+import           Graphics.Vulkan.Types.Struct.VkImportMemoryWin32HandleInfoNV+import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo++-- | 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.0-extensions/man/html/vkGetMemoryWin32HandleNV.html vkGetMemoryWin32HandleNV registry at www.khronos.org>+foreign import ccall unsafe "vkGetMemoryWin32HandleNV"+               vkGetMemoryWin32HandleNV ::+               VkDevice -- ^ device+                        ->+                 VkDeviceMemory -- ^ memory+                                ->+                   VkExternalMemoryHandleTypeFlagsNV -- ^ handleType+                                                     -> Ptr HANDLE -- ^ pHandle+                                                                   -> IO VkResult++pattern VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION = 1++type VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION = 1++pattern VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME :: CString++pattern VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME <-+        (is_VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME -> True)+  where VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME+          = _VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME++{-# INLINE _VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME #-}++_VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME :: CString+_VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME+  = Ptr "VK_NV_external_memory_win32\NUL"#++{-# INLINE is_VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME #-}++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++type VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME =+     "VK_NV_external_memory_win32"++pattern VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV =+        VkStructureType 1000057000++pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV =+        VkStructureType 1000057001
+ src-gen/Graphics/Vulkan/Ext/VK_NV_fill_rectangle.hs view
@@ -0,0 +1,60 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_NV_fill_rectangle+       (-- * Vulkan extension: @VK_NV_fill_rectangle@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jeff Bolz @jbolz@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- Extension number: @154@+        VK_NV_FILL_RECTANGLE_SPEC_VERSION,+        pattern VK_NV_FILL_RECTANGLE_SPEC_VERSION,+        VK_NV_FILL_RECTANGLE_EXTENSION_NAME,+        pattern VK_NV_FILL_RECTANGLE_EXTENSION_NAME,+        pattern VK_POLYGON_MODE_FILL_RECTANGLE_NV)+       where+import           GHC.Ptr                                  (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.Enum.VkPolygonMode (VkPolygonMode (..))++pattern VK_NV_FILL_RECTANGLE_SPEC_VERSION :: (Num a, Eq a) => a++pattern VK_NV_FILL_RECTANGLE_SPEC_VERSION = 1++type VK_NV_FILL_RECTANGLE_SPEC_VERSION = 1++pattern VK_NV_FILL_RECTANGLE_EXTENSION_NAME :: CString++pattern VK_NV_FILL_RECTANGLE_EXTENSION_NAME <-+        (is_VK_NV_FILL_RECTANGLE_EXTENSION_NAME -> True)+  where VK_NV_FILL_RECTANGLE_EXTENSION_NAME+          = _VK_NV_FILL_RECTANGLE_EXTENSION_NAME++{-# INLINE _VK_NV_FILL_RECTANGLE_EXTENSION_NAME #-}++_VK_NV_FILL_RECTANGLE_EXTENSION_NAME :: CString+_VK_NV_FILL_RECTANGLE_EXTENSION_NAME+  = Ptr "VK_NV_fill_rectangle\NUL"#++{-# INLINE is_VK_NV_FILL_RECTANGLE_EXTENSION_NAME #-}++is_VK_NV_FILL_RECTANGLE_EXTENSION_NAME :: CString -> Bool+is_VK_NV_FILL_RECTANGLE_EXTENSION_NAME+  = eqCStrings _VK_NV_FILL_RECTANGLE_EXTENSION_NAME++type VK_NV_FILL_RECTANGLE_EXTENSION_NAME = "VK_NV_fill_rectangle"++pattern VK_POLYGON_MODE_FILL_RECTANGLE_NV :: VkPolygonMode++pattern VK_POLYGON_MODE_FILL_RECTANGLE_NV =+        VkPolygonMode 1000153000
+ src-gen/Graphics/Vulkan/Ext/VK_NV_fragment_coverage_to_color.hs view
@@ -0,0 +1,77 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_NV_fragment_coverage_to_color+       (-- * Vulkan extension: @VK_NV_fragment_coverage_to_color@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jeff Bolz @jbolz@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- Extension number: @150@+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkPipelineCoverageToColorStateCreateInfoNV,+        module Graphics.Vulkan.Types.Struct.VkPipelineMultisampleStateCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        -- > #include "vk_platform.h"+        VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION,+        pattern VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION,+        VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME,+        pattern VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV)+       where+import           GHC.Ptr+                                                                                          (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Bitmasks+import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Struct.VkPipelineCoverageToColorStateCreateInfoNV+import           Graphics.Vulkan.Types.Struct.VkPipelineMultisampleStateCreateInfo++pattern VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION = 1++type VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION = 1++pattern VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME :: CString++pattern VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME <-+        (is_VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME -> True)+  where VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME+          = _VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME++{-# INLINE _VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME #-}++_VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME :: CString+_VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME+  = Ptr "VK_NV_fragment_coverage_to_color\NUL"#++{-# INLINE is_VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME #-}++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++type VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME =+     "VK_NV_fragment_coverage_to_color"++pattern VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV+        = VkStructureType 1000149000
+ src-gen/Graphics/Vulkan/Ext/VK_NV_framebuffer_mixed_samples.hs view
@@ -0,0 +1,79 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_NV_framebuffer_mixed_samples+       (-- * Vulkan extension: @VK_NV_framebuffer_mixed_samples@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Jeff Bolz @jbolz@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- Extension number: @153@+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Enum.VkCoverageModulationModeNV,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkPipelineCoverageModulationStateCreateInfoNV,+        module Graphics.Vulkan.Types.Struct.VkPipelineMultisampleStateCreateInfo,+        module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        -- > #include "vk_platform.h"+        VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION,+        pattern VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION,+        VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME,+        pattern VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV)+       where+import           GHC.Ptr+                                                                                             (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Bitmasks+import           Graphics.Vulkan.Types.Enum.VkCoverageModulationModeNV+import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Struct.VkPipelineCoverageModulationStateCreateInfoNV+import           Graphics.Vulkan.Types.Struct.VkPipelineMultisampleStateCreateInfo++pattern VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION = 1++type VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION = 1++pattern VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME :: CString++pattern VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME <-+        (is_VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME -> True)+  where VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME+          = _VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME++{-# INLINE _VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME #-}++_VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME :: CString+_VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME+  = Ptr "VK_NV_framebuffer_mixed_samples\NUL"#++{-# INLINE is_VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME #-}++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++type VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME =+     "VK_NV_framebuffer_mixed_samples"++pattern VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV+        = VkStructureType 1000152000
+ src-gen/Graphics/Vulkan/Ext/VK_NV_geometry_shader_passthrough.hs view
@@ -0,0 +1,56 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_NV_geometry_shader_passthrough+       (-- * Vulkan extension: @VK_NV_geometry_shader_passthrough@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Daniel Koch @dgkoch@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- Extension number: @96@+        VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION,+        pattern VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION,+        VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME,+        pattern VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME)+       where+import           GHC.Ptr                 (Ptr (..))+import           Graphics.Vulkan.Marshal++pattern VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION = 1++type VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION = 1++pattern VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME :: CString++pattern VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME <-+        (is_VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME -> True)+  where VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME+          = _VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME++{-# INLINE _VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME #-}++_VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME :: CString+_VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME+  = Ptr "VK_NV_geometry_shader_passthrough\NUL"#++{-# INLINE is_VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME #-}++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++type VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME =+     "VK_NV_geometry_shader_passthrough"
+ src-gen/Graphics/Vulkan/Ext/VK_NV_glsl_shader.hs view
@@ -0,0 +1,58 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_NV_glsl_shader+       (-- * Vulkan extension: @VK_NV_glsl_shader@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Piers Daniell @pdaniell@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- Extension number: @13@+        VK_NV_GLSL_SHADER_SPEC_VERSION,+        pattern VK_NV_GLSL_SHADER_SPEC_VERSION,+        VK_NV_GLSL_SHADER_EXTENSION_NAME,+        pattern VK_NV_GLSL_SHADER_EXTENSION_NAME,+        pattern VK_ERROR_INVALID_SHADER_NV)+       where+import           GHC.Ptr                             (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.Enum.VkResult (VkResult (..))++pattern VK_NV_GLSL_SHADER_SPEC_VERSION :: (Num a, Eq a) => a++pattern VK_NV_GLSL_SHADER_SPEC_VERSION = 1++type VK_NV_GLSL_SHADER_SPEC_VERSION = 1++pattern VK_NV_GLSL_SHADER_EXTENSION_NAME :: CString++pattern VK_NV_GLSL_SHADER_EXTENSION_NAME <-+        (is_VK_NV_GLSL_SHADER_EXTENSION_NAME -> True)+  where VK_NV_GLSL_SHADER_EXTENSION_NAME+          = _VK_NV_GLSL_SHADER_EXTENSION_NAME++{-# INLINE _VK_NV_GLSL_SHADER_EXTENSION_NAME #-}++_VK_NV_GLSL_SHADER_EXTENSION_NAME :: CString+_VK_NV_GLSL_SHADER_EXTENSION_NAME = Ptr "VK_NV_glsl_shader\NUL"#++{-# INLINE is_VK_NV_GLSL_SHADER_EXTENSION_NAME #-}++is_VK_NV_GLSL_SHADER_EXTENSION_NAME :: CString -> Bool+is_VK_NV_GLSL_SHADER_EXTENSION_NAME+  = eqCStrings _VK_NV_GLSL_SHADER_EXTENSION_NAME++type VK_NV_GLSL_SHADER_EXTENSION_NAME = "VK_NV_glsl_shader"++pattern VK_ERROR_INVALID_SHADER_NV :: VkResult++pattern VK_ERROR_INVALID_SHADER_NV = VkResult (-1000012000)
+ src-gen/Graphics/Vulkan/Ext/VK_NV_sample_mask_override_coverage.hs view
@@ -0,0 +1,58 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_NV_sample_mask_override_coverage+       (-- * Vulkan extension: @VK_NV_sample_mask_override_coverage@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Piers Daniell @pdaniell@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- Extension number: @95@+        VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION,+        pattern VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION,+        VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME,+        pattern VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME)+       where+import           GHC.Ptr                 (Ptr (..))+import           Graphics.Vulkan.Marshal++pattern VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION ::+        (Num a, Eq a) => a++pattern VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION = 1++type VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION = 1++pattern VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME ::+        CString++pattern VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME <-+        (is_VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME -> True)+  where VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME+          = _VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME++{-# INLINE _VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME #-}++_VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME :: CString+_VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME+  = Ptr "VK_NV_sample_mask_override_coverage\NUL"#++{-# INLINE is_VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME+           #-}++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++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
@@ -0,0 +1,53 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_NV_viewport_array2+       (-- * Vulkan extension: @VK_NV_viewport_array2@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Daniel Koch @dgkoch@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- Extension number: @97@+        VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION,+        pattern VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION,+        VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME,+        pattern VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME)+       where+import           GHC.Ptr                 (Ptr (..))+import           Graphics.Vulkan.Marshal++pattern VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION :: (Num a, Eq a) => a++pattern VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1++type VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1++pattern VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME :: CString++pattern VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME <-+        (is_VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME -> True)+  where VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME+          = _VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME++{-# INLINE _VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME #-}++_VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME :: CString+_VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME+  = Ptr "VK_NV_viewport_array2\NUL"#++{-# INLINE is_VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME #-}++is_VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME :: CString -> Bool+is_VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME+  = eqCStrings _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
@@ -0,0 +1,85 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_NV_viewport_swizzle+       (-- * Vulkan extension: @VK_NV_viewport_swizzle@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Piers Daniell @pdaniell@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- Extension number: @99@+        module Graphics.Vulkan.Types.Struct.VkExtent2D,+        module Graphics.Vulkan.Types.BaseTypes,+        module Graphics.Vulkan.Types.Struct.VkOffset2D,+        module Graphics.Vulkan.Types.Bitmasks,+        module Graphics.Vulkan.Types.Struct.VkPipelineViewportStateCreateInfo,+        module Graphics.Vulkan.Types.Struct.VkPipelineViewportSwizzleStateCreateInfoNV,+        module Graphics.Vulkan.Types.Struct.VkRect2D,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Struct.VkViewport,+        module Graphics.Vulkan.Types.Enum.VkViewportCoordinateSwizzleNV,+        module Graphics.Vulkan.Types.Struct.VkViewportSwizzleNV,+        -- > #include "vk_platform.h"+        VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION,+        pattern VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION,+        VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME,+        pattern VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV)+       where+import           GHC.Ptr+                                                                                          (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Bitmasks+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Enum.VkViewportCoordinateSwizzleNV+import           Graphics.Vulkan.Types.Struct.VkExtent2D+import           Graphics.Vulkan.Types.Struct.VkOffset2D+import           Graphics.Vulkan.Types.Struct.VkPipelineViewportStateCreateInfo+import           Graphics.Vulkan.Types.Struct.VkPipelineViewportSwizzleStateCreateInfoNV+import           Graphics.Vulkan.Types.Struct.VkRect2D+import           Graphics.Vulkan.Types.Struct.VkViewport+import           Graphics.Vulkan.Types.Struct.VkViewportSwizzleNV++pattern VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION :: (Num a, Eq a) => a++pattern VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION = 1++type VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION = 1++pattern VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME :: CString++pattern VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME <-+        (is_VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME -> True)+  where VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME+          = _VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME++{-# INLINE _VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME #-}++_VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME :: CString+_VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME+  = Ptr "VK_NV_viewport_swizzle\NUL"#++{-# INLINE is_VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME #-}++is_VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME :: CString -> Bool+is_VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME+  = eqCStrings _VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME++type VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME =+     "VK_NV_viewport_swizzle"++pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV+        = VkStructureType 1000098000
+ src-gen/Graphics/Vulkan/Ext/VK_NV_win32_keyed_mutex.hs view
@@ -0,0 +1,80 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds       #-}+{-# LANGUAGE MagicHash       #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict          #-}+{-# LANGUAGE ViewPatterns    #-}+module Graphics.Vulkan.Ext.VK_NV_win32_keyed_mutex+       (-- * Vulkan extension: @VK_NV_win32_keyed_mutex@+        -- |+        --+        -- supported: @vulkan@+        --+        -- contact: @Carsten Rohde@+        --+        -- author: @NV@+        --+        -- type: @device@+        --+        -- 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,+        module Graphics.Vulkan.Types.Enum.VkPipelineStageFlags,+        module Graphics.Vulkan.Types.Enum.VkStructureType,+        module Graphics.Vulkan.Types.Struct.VkSubmitInfo,+        module Graphics.Vulkan.Types.Struct.VkWin32KeyedMutexAcquireReleaseInfoNV,+        -- > #include "vk_platform.h"+        VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION,+        pattern VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION,+        VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME,+        pattern VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME,+        pattern VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV)+       where+import           GHC.Ptr+                                                                                     (Ptr (..))+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Types.BaseTypes+import           Graphics.Vulkan.Types.Enum.VkPipelineStageFlags+import           Graphics.Vulkan.Types.Enum.VkStructureType+import           Graphics.Vulkan.Types.Struct.VkSubmitInfo+import           Graphics.Vulkan.Types.Struct.VkWin32KeyedMutexAcquireReleaseInfoNV++pattern VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION :: (Num a, Eq a) => a++pattern VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION = 1++type VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION = 1++pattern VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME :: CString++pattern VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME <-+        (is_VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME -> True)+  where VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME+          = _VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME++{-# INLINE _VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME #-}++_VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME :: CString+_VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME+  = Ptr "VK_NV_win32_keyed_mutex\NUL"#++{-# INLINE is_VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME #-}++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++type VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME =+     "VK_NV_win32_keyed_mutex"++pattern VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV+        = VkStructureType 1000058000
+ src-gen/Graphics/Vulkan/Types/BaseTypes.hs view
@@ -0,0 +1,62 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.BaseTypes+       (VkBool32(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..))+       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.Marshal (Word32, Word64)++newtype VkBool32 = VkBool32 Word32+                     deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,+                               Storable, Real, Data, Generic)++instance Show VkBool32 where+        {-# INLINE show #-}+        show (VkBool32 x) = show x++instance Read VkBool32 where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS Word32)++newtype VkDeviceSize = VkDeviceSize Word64+                         deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,+                                   Storable, Real, Data, Generic)++instance Show VkDeviceSize where+        {-# INLINE show #-}+        show (VkDeviceSize x) = show x++instance Read VkDeviceSize where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS Word64)++newtype VkFlags = VkFlags Word32+                    deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,+                              Storable, Real, Data, Generic)++instance Show VkFlags where+        {-# INLINE show #-}+        show (VkFlags x) = show x++instance Read VkFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS Word32)++newtype VkSampleMask = VkSampleMask Word32+                         deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,+                                   Storable, Real, Data, Generic)++instance Show VkSampleMask where+        {-# INLINE show #-}+        show (VkSampleMask x) = show x++instance Read VkSampleMask where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS Word32)
+ src-gen/Graphics/Vulkan/Types/Bitmasks.hs view
@@ -0,0 +1,605 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Bitmasks+       (VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),+        VkCommandPoolTrimFlagsKHR(..), VkDescriptorPoolResetFlags(..),+        VkDescriptorUpdateTemplateCreateFlagsKHR(..),+        VkDeviceCreateFlags(..), VkDeviceQueueCreateFlags(..),+        VkDisplayModeCreateFlagsKHR(..),+        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),+        VkFramebufferCreateFlags(..), VkIOSSurfaceCreateFlagsMVK(..),+        VkImageViewCreateFlags(..), VkInstanceCreateFlags(..),+        VkMacOSSurfaceCreateFlagsMVK(..), VkMemoryMapFlags(..),+        VkMirSurfaceCreateFlagsKHR(..), VkPipelineCacheCreateFlags(..),+        VkPipelineColorBlendStateCreateFlags(..),+        VkPipelineCoverageModulationStateCreateFlagsNV(..),+        VkPipelineCoverageToColorStateCreateFlagsNV(..),+        VkPipelineDepthStencilStateCreateFlags(..),+        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),+        VkPipelineDynamicStateCreateFlags(..),+        VkPipelineInputAssemblyStateCreateFlags(..),+        VkPipelineLayoutCreateFlags(..),+        VkPipelineMultisampleStateCreateFlags(..),+        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),+        VkPipelineRasterizationStateCreateFlags(..),+        VkPipelineShaderStageCreateFlags(..),+        VkPipelineTessellationStateCreateFlags(..),+        VkPipelineVertexInputStateCreateFlags(..),+        VkPipelineViewportStateCreateFlags(..),+        VkPipelineViewportSwizzleStateCreateFlagsNV(..),+        VkQueryPoolCreateFlags(..), VkRenderPassCreateFlags(..),+        VkSamplerCreateFlags(..), VkSemaphoreCreateFlags(..),+        VkShaderModuleCreateFlags(..), VkValidationCacheCreateFlagsEXT(..),+        VkViSurfaceCreateFlagsNN(..), VkWaylandSurfaceCreateFlagsKHR(..),+        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),+        VkXlibSurfaceCreateFlagsKHR(..))+       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 VkAndroidSurfaceCreateFlagsKHR = VkAndroidSurfaceCreateFlagsKHR VkFlags+                                           deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                     FiniteBits, Storable, Real, Data, Generic)++instance Show VkAndroidSurfaceCreateFlagsKHR where+        {-# INLINE show #-}+        show (VkAndroidSurfaceCreateFlagsKHR x) = show x++instance Read VkAndroidSurfaceCreateFlagsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkBufferViewCreateFlags = VkBufferViewCreateFlags VkFlags+                                    deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                              FiniteBits, Storable, Real, Data, Generic)++instance Show VkBufferViewCreateFlags where+        {-# INLINE show #-}+        show (VkBufferViewCreateFlags x) = show x++instance Read VkBufferViewCreateFlags 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)++instance Show VkCommandPoolTrimFlagsKHR where+        {-# INLINE show #-}+        show (VkCommandPoolTrimFlagsKHR x) = show x++instance Read VkCommandPoolTrimFlagsKHR 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)++instance Show VkDescriptorPoolResetFlags where+        {-# INLINE show #-}+        show (VkDescriptorPoolResetFlags x) = show x++instance Read VkDescriptorPoolResetFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkDescriptorUpdateTemplateCreateFlagsKHR = VkDescriptorUpdateTemplateCreateFlagsKHR VkFlags+                                                     deriving (Eq, Ord, Num, Bounded, Enum,+                                                               Integral, Bits, FiniteBits, Storable,+                                                               Real, Data, Generic)++instance Show VkDescriptorUpdateTemplateCreateFlagsKHR where+        {-# INLINE show #-}+        show (VkDescriptorUpdateTemplateCreateFlagsKHR x) = show x++instance Read VkDescriptorUpdateTemplateCreateFlagsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkDeviceCreateFlags = VkDeviceCreateFlags VkFlags+                                deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,+                                          Storable, Real, Data, Generic)++instance Show VkDeviceCreateFlags where+        {-# INLINE show #-}+        show (VkDeviceCreateFlags x) = show x++instance Read VkDeviceCreateFlags where+        {-# 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)++instance Show VkDisplayModeCreateFlagsKHR where+        {-# INLINE show #-}+        show (VkDisplayModeCreateFlagsKHR x) = show x++instance Read VkDisplayModeCreateFlagsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkDisplaySurfaceCreateFlagsKHR = VkDisplaySurfaceCreateFlagsKHR VkFlags+                                           deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                     FiniteBits, Storable, Real, Data, Generic)++instance Show VkDisplaySurfaceCreateFlagsKHR where+        {-# INLINE show #-}+        show (VkDisplaySurfaceCreateFlagsKHR x) = show x++instance Read VkDisplaySurfaceCreateFlagsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkEventCreateFlags = VkEventCreateFlags VkFlags+                               deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,+                                         Storable, Real, Data, Generic)++instance Show VkEventCreateFlags where+        {-# INLINE show #-}+        show (VkEventCreateFlags x) = show x++instance Read VkEventCreateFlags 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)++instance Show VkFramebufferCreateFlags where+        {-# INLINE show #-}+        show (VkFramebufferCreateFlags x) = show x++instance Read VkFramebufferCreateFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkIOSSurfaceCreateFlagsMVK = VkIOSSurfaceCreateFlagsMVK VkFlags+                                       deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                 FiniteBits, Storable, Real, Data, Generic)++instance Show VkIOSSurfaceCreateFlagsMVK where+        {-# INLINE show #-}+        show (VkIOSSurfaceCreateFlagsMVK x) = show x++instance Read VkIOSSurfaceCreateFlagsMVK where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkImageViewCreateFlags = VkImageViewCreateFlags VkFlags+                                   deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                             FiniteBits, Storable, Real, Data, Generic)++instance Show VkImageViewCreateFlags where+        {-# INLINE show #-}+        show (VkImageViewCreateFlags x) = show x++instance Read VkImageViewCreateFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkInstanceCreateFlags = VkInstanceCreateFlags VkFlags+                                  deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,+                                            Storable, Real, Data, Generic)++instance Show VkInstanceCreateFlags where+        {-# INLINE show #-}+        show (VkInstanceCreateFlags x) = show x++instance Read VkInstanceCreateFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkMacOSSurfaceCreateFlagsMVK = VkMacOSSurfaceCreateFlagsMVK VkFlags+                                         deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                   FiniteBits, Storable, Real, Data, Generic)++instance Show VkMacOSSurfaceCreateFlagsMVK where+        {-# INLINE show #-}+        show (VkMacOSSurfaceCreateFlagsMVK x) = show x++instance Read VkMacOSSurfaceCreateFlagsMVK 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)++instance Show VkMemoryMapFlags where+        {-# INLINE show #-}+        show (VkMemoryMapFlags x) = show x++instance Read VkMemoryMapFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkMirSurfaceCreateFlagsKHR = VkMirSurfaceCreateFlagsKHR VkFlags+                                       deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                 FiniteBits, Storable, Real, Data, Generic)++instance Show VkMirSurfaceCreateFlagsKHR where+        {-# INLINE show #-}+        show (VkMirSurfaceCreateFlagsKHR x) = show x++instance Read VkMirSurfaceCreateFlagsKHR 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)++instance Show VkPipelineCacheCreateFlags where+        {-# INLINE show #-}+        show (VkPipelineCacheCreateFlags x) = show x++instance Read VkPipelineCacheCreateFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineColorBlendStateCreateFlags = VkPipelineColorBlendStateCreateFlags VkFlags+                                                 deriving (Eq, Ord, Num, Bounded, Enum, Integral,+                                                           Bits, FiniteBits, Storable, Real, Data,+                                                           Generic)++instance Show VkPipelineColorBlendStateCreateFlags where+        {-# INLINE show #-}+        show (VkPipelineColorBlendStateCreateFlags x) = show x++instance Read VkPipelineColorBlendStateCreateFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineCoverageModulationStateCreateFlagsNV = VkPipelineCoverageModulationStateCreateFlagsNV VkFlags+                                                           deriving (Eq, Ord, Num, Bounded, Enum,+                                                                     Integral, Bits, FiniteBits,+                                                                     Storable, Real, Data, Generic)++instance Show VkPipelineCoverageModulationStateCreateFlagsNV where+        {-# INLINE show #-}+        show (VkPipelineCoverageModulationStateCreateFlagsNV x) = show x++instance Read VkPipelineCoverageModulationStateCreateFlagsNV where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineCoverageToColorStateCreateFlagsNV = VkPipelineCoverageToColorStateCreateFlagsNV VkFlags+                                                        deriving (Eq, Ord, Num, Bounded, Enum,+                                                                  Integral, Bits, FiniteBits,+                                                                  Storable, Real, Data, Generic)++instance Show VkPipelineCoverageToColorStateCreateFlagsNV where+        {-# INLINE show #-}+        show (VkPipelineCoverageToColorStateCreateFlagsNV x) = show x++instance Read VkPipelineCoverageToColorStateCreateFlagsNV where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineDepthStencilStateCreateFlags = VkPipelineDepthStencilStateCreateFlags VkFlags+                                                   deriving (Eq, Ord, Num, Bounded, Enum, Integral,+                                                             Bits, FiniteBits, Storable, Real, Data,+                                                             Generic)++instance Show VkPipelineDepthStencilStateCreateFlags where+        {-# INLINE show #-}+        show (VkPipelineDepthStencilStateCreateFlags x) = show x++instance Read VkPipelineDepthStencilStateCreateFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineDiscardRectangleStateCreateFlagsEXT = VkPipelineDiscardRectangleStateCreateFlagsEXT VkFlags+                                                          deriving (Eq, Ord, Num, Bounded, Enum,+                                                                    Integral, Bits, FiniteBits,+                                                                    Storable, Real, Data, Generic)++instance Show VkPipelineDiscardRectangleStateCreateFlagsEXT where+        {-# INLINE show #-}+        show (VkPipelineDiscardRectangleStateCreateFlagsEXT x) = show x++instance Read VkPipelineDiscardRectangleStateCreateFlagsEXT where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineDynamicStateCreateFlags = VkPipelineDynamicStateCreateFlags VkFlags+                                              deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                        FiniteBits, Storable, Real, Data, Generic)++instance Show VkPipelineDynamicStateCreateFlags where+        {-# INLINE show #-}+        show (VkPipelineDynamicStateCreateFlags x) = show x++instance Read VkPipelineDynamicStateCreateFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineInputAssemblyStateCreateFlags = VkPipelineInputAssemblyStateCreateFlags VkFlags+                                                    deriving (Eq, Ord, Num, Bounded, Enum, Integral,+                                                              Bits, FiniteBits, Storable, Real,+                                                              Data, Generic)++instance Show VkPipelineInputAssemblyStateCreateFlags where+        {-# INLINE show #-}+        show (VkPipelineInputAssemblyStateCreateFlags x) = show x++instance Read VkPipelineInputAssemblyStateCreateFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineLayoutCreateFlags = VkPipelineLayoutCreateFlags VkFlags+                                        deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                  FiniteBits, Storable, Real, Data, Generic)++instance Show VkPipelineLayoutCreateFlags where+        {-# INLINE show #-}+        show (VkPipelineLayoutCreateFlags x) = show x++instance Read VkPipelineLayoutCreateFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineMultisampleStateCreateFlags = VkPipelineMultisampleStateCreateFlags VkFlags+                                                  deriving (Eq, Ord, Num, Bounded, Enum, Integral,+                                                            Bits, FiniteBits, Storable, Real, Data,+                                                            Generic)++instance Show VkPipelineMultisampleStateCreateFlags where+        {-# INLINE show #-}+        show (VkPipelineMultisampleStateCreateFlags x) = show x++instance Read VkPipelineMultisampleStateCreateFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineRasterizationConservativeStateCreateFlagsEXT = VkPipelineRasterizationConservativeStateCreateFlagsEXT VkFlags+                                                                   deriving (Eq, Ord, Num, Bounded,+                                                                             Enum, Integral, Bits,+                                                                             FiniteBits, Storable,+                                                                             Real, Data, Generic)++instance Show+           VkPipelineRasterizationConservativeStateCreateFlagsEXT+         where+        {-# INLINE show #-}+        show (VkPipelineRasterizationConservativeStateCreateFlagsEXT x)+          = show x++instance Read+           VkPipelineRasterizationConservativeStateCreateFlagsEXT+         where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineRasterizationStateCreateFlags = VkPipelineRasterizationStateCreateFlags VkFlags+                                                    deriving (Eq, Ord, Num, Bounded, Enum, Integral,+                                                              Bits, FiniteBits, Storable, Real,+                                                              Data, Generic)++instance Show VkPipelineRasterizationStateCreateFlags where+        {-# INLINE show #-}+        show (VkPipelineRasterizationStateCreateFlags x) = show x++instance Read VkPipelineRasterizationStateCreateFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineShaderStageCreateFlags = VkPipelineShaderStageCreateFlags VkFlags+                                             deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                       FiniteBits, Storable, Real, Data, Generic)++instance Show VkPipelineShaderStageCreateFlags where+        {-# INLINE show #-}+        show (VkPipelineShaderStageCreateFlags x) = show x++instance Read VkPipelineShaderStageCreateFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineTessellationStateCreateFlags = VkPipelineTessellationStateCreateFlags VkFlags+                                                   deriving (Eq, Ord, Num, Bounded, Enum, Integral,+                                                             Bits, FiniteBits, Storable, Real, Data,+                                                             Generic)++instance Show VkPipelineTessellationStateCreateFlags where+        {-# INLINE show #-}+        show (VkPipelineTessellationStateCreateFlags x) = show x++instance Read VkPipelineTessellationStateCreateFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineVertexInputStateCreateFlags = VkPipelineVertexInputStateCreateFlags VkFlags+                                                  deriving (Eq, Ord, Num, Bounded, Enum, Integral,+                                                            Bits, FiniteBits, Storable, Real, Data,+                                                            Generic)++instance Show VkPipelineVertexInputStateCreateFlags where+        {-# INLINE show #-}+        show (VkPipelineVertexInputStateCreateFlags x) = show x++instance Read VkPipelineVertexInputStateCreateFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineViewportStateCreateFlags = VkPipelineViewportStateCreateFlags VkFlags+                                               deriving (Eq, Ord, Num, Bounded, Enum, Integral,+                                                         Bits, FiniteBits, Storable, Real, Data,+                                                         Generic)++instance Show VkPipelineViewportStateCreateFlags where+        {-# INLINE show #-}+        show (VkPipelineViewportStateCreateFlags x) = show x++instance Read VkPipelineViewportStateCreateFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineViewportSwizzleStateCreateFlagsNV = VkPipelineViewportSwizzleStateCreateFlagsNV VkFlags+                                                        deriving (Eq, Ord, Num, Bounded, Enum,+                                                                  Integral, Bits, FiniteBits,+                                                                  Storable, Real, Data, Generic)++instance Show VkPipelineViewportSwizzleStateCreateFlagsNV where+        {-# INLINE show #-}+        show (VkPipelineViewportSwizzleStateCreateFlagsNV x) = show x++instance Read VkPipelineViewportSwizzleStateCreateFlagsNV where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkQueryPoolCreateFlags = VkQueryPoolCreateFlags VkFlags+                                   deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                             FiniteBits, Storable, Real, Data, Generic)++instance Show VkQueryPoolCreateFlags where+        {-# INLINE show #-}+        show (VkQueryPoolCreateFlags x) = show x++instance Read VkQueryPoolCreateFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkRenderPassCreateFlags = VkRenderPassCreateFlags VkFlags+                                    deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                              FiniteBits, Storable, Real, Data, Generic)++instance Show VkRenderPassCreateFlags where+        {-# INLINE show #-}+        show (VkRenderPassCreateFlags x) = show x++instance Read VkRenderPassCreateFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkSamplerCreateFlags = VkSamplerCreateFlags VkFlags+                                 deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,+                                           Storable, Real, Data, Generic)++instance Show VkSamplerCreateFlags where+        {-# INLINE show #-}+        show (VkSamplerCreateFlags x) = show x++instance Read VkSamplerCreateFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkSemaphoreCreateFlags = VkSemaphoreCreateFlags VkFlags+                                   deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                             FiniteBits, Storable, Real, Data, Generic)++instance Show VkSemaphoreCreateFlags where+        {-# INLINE show #-}+        show (VkSemaphoreCreateFlags x) = show x++instance Read VkSemaphoreCreateFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkShaderModuleCreateFlags = VkShaderModuleCreateFlags VkFlags+                                      deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                FiniteBits, Storable, Real, Data, Generic)++instance Show VkShaderModuleCreateFlags where+        {-# INLINE show #-}+        show (VkShaderModuleCreateFlags x) = show x++instance Read VkShaderModuleCreateFlags where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkValidationCacheCreateFlagsEXT = VkValidationCacheCreateFlagsEXT VkFlags+                                            deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                      FiniteBits, Storable, Real, Data, Generic)++instance Show VkValidationCacheCreateFlagsEXT where+        {-# INLINE show #-}+        show (VkValidationCacheCreateFlagsEXT x) = show x++instance Read VkValidationCacheCreateFlagsEXT where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkViSurfaceCreateFlagsNN = VkViSurfaceCreateFlagsNN VkFlags+                                     deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                               FiniteBits, Storable, Real, Data, Generic)++instance Show VkViSurfaceCreateFlagsNN where+        {-# INLINE show #-}+        show (VkViSurfaceCreateFlagsNN x) = show x++instance Read VkViSurfaceCreateFlagsNN where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkWaylandSurfaceCreateFlagsKHR = VkWaylandSurfaceCreateFlagsKHR VkFlags+                                           deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                     FiniteBits, Storable, Real, Data, Generic)++instance Show VkWaylandSurfaceCreateFlagsKHR where+        {-# INLINE show #-}+        show (VkWaylandSurfaceCreateFlagsKHR x) = show x++instance Read VkWaylandSurfaceCreateFlagsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkWin32SurfaceCreateFlagsKHR = VkWin32SurfaceCreateFlagsKHR VkFlags+                                         deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                   FiniteBits, Storable, Real, Data, Generic)++instance Show VkWin32SurfaceCreateFlagsKHR where+        {-# INLINE show #-}+        show (VkWin32SurfaceCreateFlagsKHR x) = show x++instance Read VkWin32SurfaceCreateFlagsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkXcbSurfaceCreateFlagsKHR = VkXcbSurfaceCreateFlagsKHR VkFlags+                                       deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                 FiniteBits, Storable, Real, Data, Generic)++instance Show VkXcbSurfaceCreateFlagsKHR where+        {-# INLINE show #-}+        show (VkXcbSurfaceCreateFlagsKHR x) = show x++instance Read VkXcbSurfaceCreateFlagsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkXlibSurfaceCreateFlagsKHR = VkXlibSurfaceCreateFlagsKHR VkFlags+                                        deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                  FiniteBits, Storable, Real, Data, Generic)++instance Show VkXlibSurfaceCreateFlagsKHR where+        {-# INLINE show #-}+        show (VkXlibSurfaceCreateFlagsKHR x) = show x++instance Read VkXlibSurfaceCreateFlagsKHR where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Defines.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE CPP             #-}+{-# LANGUAGE DataKinds       #-}+{-# 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)+       where+import           Data.Bits               (Bits (..))+import           Graphics.Vulkan.Marshal++-- | > // 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++pattern VK_API_VERSION_1_0 = 4194304++type VK_API_VERSION_1_0 = 4194304++-- | > // Version of this file+--   > #define VK_HEADER_VERSION 69+pattern VK_HEADER_VERSION :: (Num a, Eq a) => a++pattern VK_HEADER_VERSION = 69++type VK_HEADER_VERSION = 69++-- | > #define VK_MAKE_VERSION(major, minor, patch) \+--   >     (((major) << 22) | ((minor) << 12) | (patch))+_VK_MAKE_VERSION :: Bits a => a -> a -> a -> a+_VK_MAKE_VERSION major minor patch+  = unsafeShiftL major 22 .|. unsafeShiftL minor 12 .|. patch++{-# INLINE _VK_MAKE_VERSION #-}+#define VK_MAKE_VERSION(major, minor, patch) _VK_MAKE_VERSION major minor patch++-- | > #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)+_VK_VERSION_MAJOR :: Bits a => a -> a+_VK_VERSION_MAJOR version = unsafeShiftR version 22++{-# INLINE _VK_VERSION_MAJOR #-}+#define VK_VERSION_MAJOR(version) _VK_VERSION_MAJOR version++-- | > #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)+_VK_VERSION_MINOR :: (Bits a, Num a) => a -> a+_VK_VERSION_MINOR version = unsafeShiftR version 12 .&. 1023++{-# INLINE _VK_VERSION_MINOR #-}+#define VK_VERSION_MINOR(version) _VK_VERSION_MINOR version++-- | > #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)+_VK_VERSION_PATCH :: (Bits a, Num a) => a -> a+_VK_VERSION_PATCH = (.&. 4095)++{-# INLINE _VK_VERSION_PATCH #-}
+ src-gen/Graphics/Vulkan/Types/Enum/VkAccessFlags.hs view
@@ -0,0 +1,260 @@+{-# 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.VkAccessFlags+       (VkAccessBitmask(VkAccessBitmask, VkAccessFlags, VkAccessFlagBits,+                        VK_ACCESS_INDIRECT_COMMAND_READ_BIT, VK_ACCESS_INDEX_READ_BIT,+                        VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT, VK_ACCESS_UNIFORM_READ_BIT,+                        VK_ACCESS_INPUT_ATTACHMENT_READ_BIT, VK_ACCESS_SHADER_READ_BIT,+                        VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_COLOR_ATTACHMENT_READ_BIT,+                        VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,+                        VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT,+                        VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,+                        VK_ACCESS_TRANSFER_READ_BIT, VK_ACCESS_TRANSFER_WRITE_BIT,+                        VK_ACCESS_HOST_READ_BIT, VK_ACCESS_HOST_WRITE_BIT,+                        VK_ACCESS_MEMORY_READ_BIT, VK_ACCESS_MEMORY_WRITE_BIT),+        VkAccessFlags, VkAccessFlagBits)+       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 VkAccessBitmask (a :: FlagType) = VkAccessBitmask VkFlags+                                            deriving (Eq, Ord, Storable, Data, Generic)++type VkAccessFlags = VkAccessBitmask FlagMask++type VkAccessFlagBits = VkAccessBitmask FlagBit++pattern VkAccessFlagBits :: VkFlags -> VkAccessBitmask FlagBit++pattern VkAccessFlagBits n = VkAccessBitmask n++pattern VkAccessFlags :: VkFlags -> VkAccessBitmask FlagMask++pattern VkAccessFlags n = VkAccessBitmask n++deriving instance Bits (VkAccessBitmask FlagMask)++deriving instance FiniteBits (VkAccessBitmask FlagMask)++deriving instance Integral (VkAccessBitmask FlagMask)++deriving instance Num (VkAccessBitmask FlagMask)++deriving instance Bounded (VkAccessBitmask FlagMask)++deriving instance Enum (VkAccessBitmask FlagMask)++deriving instance Real (VkAccessBitmask FlagMask)++instance Show (VkAccessBitmask a) where+        showsPrec _ VK_ACCESS_INDIRECT_COMMAND_READ_BIT+          = showString "VK_ACCESS_INDIRECT_COMMAND_READ_BIT"+        showsPrec _ VK_ACCESS_INDEX_READ_BIT+          = showString "VK_ACCESS_INDEX_READ_BIT"+        showsPrec _ VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT+          = showString "VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT"+        showsPrec _ VK_ACCESS_UNIFORM_READ_BIT+          = showString "VK_ACCESS_UNIFORM_READ_BIT"+        showsPrec _ VK_ACCESS_INPUT_ATTACHMENT_READ_BIT+          = showString "VK_ACCESS_INPUT_ATTACHMENT_READ_BIT"+        showsPrec _ VK_ACCESS_SHADER_READ_BIT+          = showString "VK_ACCESS_SHADER_READ_BIT"+        showsPrec _ VK_ACCESS_SHADER_WRITE_BIT+          = showString "VK_ACCESS_SHADER_WRITE_BIT"+        showsPrec _ VK_ACCESS_COLOR_ATTACHMENT_READ_BIT+          = showString "VK_ACCESS_COLOR_ATTACHMENT_READ_BIT"+        showsPrec _ VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT+          = showString "VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT"+        showsPrec _ VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT+          = showString "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT"+        showsPrec _ VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT+          = showString "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT"+        showsPrec _ VK_ACCESS_TRANSFER_READ_BIT+          = showString "VK_ACCESS_TRANSFER_READ_BIT"+        showsPrec _ VK_ACCESS_TRANSFER_WRITE_BIT+          = showString "VK_ACCESS_TRANSFER_WRITE_BIT"+        showsPrec _ VK_ACCESS_HOST_READ_BIT+          = showString "VK_ACCESS_HOST_READ_BIT"+        showsPrec _ VK_ACCESS_HOST_WRITE_BIT+          = showString "VK_ACCESS_HOST_WRITE_BIT"+        showsPrec _ VK_ACCESS_MEMORY_READ_BIT+          = showString "VK_ACCESS_MEMORY_READ_BIT"+        showsPrec _ VK_ACCESS_MEMORY_WRITE_BIT+          = showString "VK_ACCESS_MEMORY_WRITE_BIT"+        showsPrec p (VkAccessBitmask x)+          = showParen (p >= 11)+              (showString "VkAccessBitmask " . showsPrec 11 x)++instance Read (VkAccessBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_ACCESS_INDIRECT_COMMAND_READ_BIT",+                   pure VK_ACCESS_INDIRECT_COMMAND_READ_BIT),+                  ("VK_ACCESS_INDEX_READ_BIT", pure VK_ACCESS_INDEX_READ_BIT),+                  ("VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT",+                   pure VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT),+                  ("VK_ACCESS_UNIFORM_READ_BIT", pure VK_ACCESS_UNIFORM_READ_BIT),+                  ("VK_ACCESS_INPUT_ATTACHMENT_READ_BIT",+                   pure VK_ACCESS_INPUT_ATTACHMENT_READ_BIT),+                  ("VK_ACCESS_SHADER_READ_BIT", pure VK_ACCESS_SHADER_READ_BIT),+                  ("VK_ACCESS_SHADER_WRITE_BIT", pure VK_ACCESS_SHADER_WRITE_BIT),+                  ("VK_ACCESS_COLOR_ATTACHMENT_READ_BIT",+                   pure VK_ACCESS_COLOR_ATTACHMENT_READ_BIT),+                  ("VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT",+                   pure VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT),+                  ("VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT",+                   pure VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT),+                  ("VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT",+                   pure VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT),+                  ("VK_ACCESS_TRANSFER_READ_BIT", pure VK_ACCESS_TRANSFER_READ_BIT),+                  ("VK_ACCESS_TRANSFER_WRITE_BIT",+                   pure VK_ACCESS_TRANSFER_WRITE_BIT),+                  ("VK_ACCESS_HOST_READ_BIT", pure VK_ACCESS_HOST_READ_BIT),+                  ("VK_ACCESS_HOST_WRITE_BIT", pure VK_ACCESS_HOST_WRITE_BIT),+                  ("VK_ACCESS_MEMORY_READ_BIT", pure VK_ACCESS_MEMORY_READ_BIT),+                  ("VK_ACCESS_MEMORY_WRITE_BIT", pure VK_ACCESS_MEMORY_WRITE_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkAccessBitmask") >>+                      (VkAccessBitmask <$> step readPrec)))++-- | Controls coherency of indirect command reads+--+--   bitpos = @0@+pattern VK_ACCESS_INDIRECT_COMMAND_READ_BIT :: VkAccessBitmask a++pattern VK_ACCESS_INDIRECT_COMMAND_READ_BIT = VkAccessBitmask 1++-- | Controls coherency of index reads+--+--   bitpos = @1@+pattern VK_ACCESS_INDEX_READ_BIT :: VkAccessBitmask a++pattern VK_ACCESS_INDEX_READ_BIT = VkAccessBitmask 2++-- | Controls coherency of vertex attribute reads+--+--   bitpos = @2@+pattern VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT :: VkAccessBitmask a++pattern VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = VkAccessBitmask 4++-- | Controls coherency of uniform buffer reads+--+--   bitpos = @3@+pattern VK_ACCESS_UNIFORM_READ_BIT :: VkAccessBitmask a++pattern VK_ACCESS_UNIFORM_READ_BIT = VkAccessBitmask 8++-- | Controls coherency of input attachment reads+--+--   bitpos = @4@+pattern VK_ACCESS_INPUT_ATTACHMENT_READ_BIT :: VkAccessBitmask a++pattern VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = VkAccessBitmask 16++-- | Controls coherency of shader reads+--+--   bitpos = @5@+pattern VK_ACCESS_SHADER_READ_BIT :: VkAccessBitmask a++pattern VK_ACCESS_SHADER_READ_BIT = VkAccessBitmask 32++-- | Controls coherency of shader writes+--+--   bitpos = @6@+pattern VK_ACCESS_SHADER_WRITE_BIT :: VkAccessBitmask a++pattern VK_ACCESS_SHADER_WRITE_BIT = VkAccessBitmask 64++-- | Controls coherency of color attachment reads+--+--   bitpos = @7@+pattern VK_ACCESS_COLOR_ATTACHMENT_READ_BIT :: VkAccessBitmask a++pattern VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = VkAccessBitmask 128++-- | Controls coherency of color attachment writes+--+--   bitpos = @8@+pattern VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT :: VkAccessBitmask a++pattern VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = VkAccessBitmask 256++-- | Controls coherency of depth/stencil attachment reads+--+--   bitpos = @9@+pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT ::+        VkAccessBitmask a++pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT =+        VkAccessBitmask 512++-- | Controls coherency of depth/stencil attachment writes+--+--   bitpos = @10@+pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT ::+        VkAccessBitmask a++pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT =+        VkAccessBitmask 1024++-- | Controls coherency of transfer reads+--+--   bitpos = @11@+pattern VK_ACCESS_TRANSFER_READ_BIT :: VkAccessBitmask a++pattern VK_ACCESS_TRANSFER_READ_BIT = VkAccessBitmask 2048++-- | Controls coherency of transfer writes+--+--   bitpos = @12@+pattern VK_ACCESS_TRANSFER_WRITE_BIT :: VkAccessBitmask a++pattern VK_ACCESS_TRANSFER_WRITE_BIT = VkAccessBitmask 4096++-- | Controls coherency of host reads+--+--   bitpos = @13@+pattern VK_ACCESS_HOST_READ_BIT :: VkAccessBitmask a++pattern VK_ACCESS_HOST_READ_BIT = VkAccessBitmask 8192++-- | Controls coherency of host writes+--+--   bitpos = @14@+pattern VK_ACCESS_HOST_WRITE_BIT :: VkAccessBitmask a++pattern VK_ACCESS_HOST_WRITE_BIT = VkAccessBitmask 16384++-- | Controls coherency of memory reads+--+--   bitpos = @15@+pattern VK_ACCESS_MEMORY_READ_BIT :: VkAccessBitmask a++pattern VK_ACCESS_MEMORY_READ_BIT = VkAccessBitmask 32768++-- | Controls coherency of memory writes+--+--   bitpos = @16@+pattern VK_ACCESS_MEMORY_WRITE_BIT :: VkAccessBitmask a++pattern VK_ACCESS_MEMORY_WRITE_BIT = VkAccessBitmask 65536
+ src-gen/Graphics/Vulkan/Types/Enum/VkAttachmentDescriptionFlags.hs view
@@ -0,0 +1,93 @@+{-# 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.VkAttachmentDescriptionFlags+       (VkAttachmentDescriptionBitmask(VkAttachmentDescriptionBitmask,+                                       VkAttachmentDescriptionFlags,+                                       VkAttachmentDescriptionFlagBits,+                                       VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT),+        VkAttachmentDescriptionFlags, VkAttachmentDescriptionFlagBits)+       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 VkAttachmentDescriptionBitmask (a ::+                                          FlagType) = VkAttachmentDescriptionBitmask VkFlags+                                                        deriving (Eq, Ord, Storable, Data, Generic)++type VkAttachmentDescriptionFlags =+     VkAttachmentDescriptionBitmask FlagMask++type VkAttachmentDescriptionFlagBits =+     VkAttachmentDescriptionBitmask FlagBit++pattern VkAttachmentDescriptionFlagBits ::+        VkFlags -> VkAttachmentDescriptionBitmask FlagBit++pattern VkAttachmentDescriptionFlagBits n =+        VkAttachmentDescriptionBitmask n++pattern VkAttachmentDescriptionFlags ::+        VkFlags -> VkAttachmentDescriptionBitmask FlagMask++pattern VkAttachmentDescriptionFlags n =+        VkAttachmentDescriptionBitmask n++deriving instance Bits (VkAttachmentDescriptionBitmask FlagMask)++deriving instance+         FiniteBits (VkAttachmentDescriptionBitmask FlagMask)++deriving instance+         Integral (VkAttachmentDescriptionBitmask FlagMask)++deriving instance Num (VkAttachmentDescriptionBitmask FlagMask)++deriving instance Bounded (VkAttachmentDescriptionBitmask FlagMask)++deriving instance Enum (VkAttachmentDescriptionBitmask FlagMask)++deriving instance Real (VkAttachmentDescriptionBitmask FlagMask)++instance Show (VkAttachmentDescriptionBitmask a) where+        showsPrec _ VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT+          = showString "VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT"+        showsPrec p (VkAttachmentDescriptionBitmask x)+          = showParen (p >= 11)+              (showString "VkAttachmentDescriptionBitmask " . showsPrec 11 x)++instance Read (VkAttachmentDescriptionBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT",+                   pure VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkAttachmentDescriptionBitmask") >>+                      (VkAttachmentDescriptionBitmask <$> step readPrec)))++-- | The attachment may alias physical memory of another attachment in the same render pass+--+--   bitpos = @0@+pattern VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT ::+        VkAttachmentDescriptionBitmask a++pattern VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT =+        VkAttachmentDescriptionBitmask 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkAttachmentLoadOp.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.VkAttachmentLoadOp+       (VkAttachmentLoadOp(VkAttachmentLoadOp, VK_ATTACHMENT_LOAD_OP_LOAD,+                           VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_LOAD_OP_DONT_CARE))+       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.0-extensions/man/html/VkAttachmentLoadOp.html VkAttachmentLoadOp registry at www.khronos.org>+newtype VkAttachmentLoadOp = VkAttachmentLoadOp Int32+                               deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkAttachmentLoadOp where+        showsPrec _ VK_ATTACHMENT_LOAD_OP_LOAD+          = showString "VK_ATTACHMENT_LOAD_OP_LOAD"+        showsPrec _ VK_ATTACHMENT_LOAD_OP_CLEAR+          = showString "VK_ATTACHMENT_LOAD_OP_CLEAR"+        showsPrec _ VK_ATTACHMENT_LOAD_OP_DONT_CARE+          = showString "VK_ATTACHMENT_LOAD_OP_DONT_CARE"+        showsPrec p (VkAttachmentLoadOp x)+          = showParen (p >= 11)+              (showString "VkAttachmentLoadOp " . showsPrec 11 x)++instance Read VkAttachmentLoadOp where+        readPrec+          = parens+              (choose+                 [("VK_ATTACHMENT_LOAD_OP_LOAD", pure VK_ATTACHMENT_LOAD_OP_LOAD),+                  ("VK_ATTACHMENT_LOAD_OP_CLEAR", pure VK_ATTACHMENT_LOAD_OP_CLEAR),+                  ("VK_ATTACHMENT_LOAD_OP_DONT_CARE",+                   pure VK_ATTACHMENT_LOAD_OP_DONT_CARE)]+                 ++++                 prec 10+                   (expectP (Ident "VkAttachmentLoadOp") >>+                      (VkAttachmentLoadOp <$> step readPrec)))++pattern VK_ATTACHMENT_LOAD_OP_LOAD :: VkAttachmentLoadOp++pattern VK_ATTACHMENT_LOAD_OP_LOAD = VkAttachmentLoadOp 0++pattern VK_ATTACHMENT_LOAD_OP_CLEAR :: VkAttachmentLoadOp++pattern VK_ATTACHMENT_LOAD_OP_CLEAR = VkAttachmentLoadOp 1++pattern VK_ATTACHMENT_LOAD_OP_DONT_CARE :: VkAttachmentLoadOp++pattern VK_ATTACHMENT_LOAD_OP_DONT_CARE = VkAttachmentLoadOp 2
+ src-gen/Graphics/Vulkan/Types/Enum/VkAttachmentStoreOp.hs view
@@ -0,0 +1,55 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkAttachmentStoreOp+       (VkAttachmentStoreOp(VkAttachmentStoreOp,+                            VK_ATTACHMENT_STORE_OP_STORE, VK_ATTACHMENT_STORE_OP_DONT_CARE))+       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.0-extensions/man/html/VkAttachmentStoreOp.html VkAttachmentStoreOp registry at www.khronos.org>+newtype VkAttachmentStoreOp = VkAttachmentStoreOp Int32+                                deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkAttachmentStoreOp where+        showsPrec _ VK_ATTACHMENT_STORE_OP_STORE+          = showString "VK_ATTACHMENT_STORE_OP_STORE"+        showsPrec _ VK_ATTACHMENT_STORE_OP_DONT_CARE+          = showString "VK_ATTACHMENT_STORE_OP_DONT_CARE"+        showsPrec p (VkAttachmentStoreOp x)+          = showParen (p >= 11)+              (showString "VkAttachmentStoreOp " . showsPrec 11 x)++instance Read VkAttachmentStoreOp where+        readPrec+          = parens+              (choose+                 [("VK_ATTACHMENT_STORE_OP_STORE",+                   pure VK_ATTACHMENT_STORE_OP_STORE),+                  ("VK_ATTACHMENT_STORE_OP_DONT_CARE",+                   pure VK_ATTACHMENT_STORE_OP_DONT_CARE)]+                 ++++                 prec 10+                   (expectP (Ident "VkAttachmentStoreOp") >>+                      (VkAttachmentStoreOp <$> step readPrec)))++pattern VK_ATTACHMENT_STORE_OP_STORE :: VkAttachmentStoreOp++pattern VK_ATTACHMENT_STORE_OP_STORE = VkAttachmentStoreOp 0++pattern VK_ATTACHMENT_STORE_OP_DONT_CARE :: VkAttachmentStoreOp++pattern VK_ATTACHMENT_STORE_OP_DONT_CARE = VkAttachmentStoreOp 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkBlendFactor.hs view
@@ -0,0 +1,193 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkBlendFactor+       (VkBlendFactor(VkBlendFactor, VK_BLEND_FACTOR_ZERO,+                      VK_BLEND_FACTOR_ONE, VK_BLEND_FACTOR_SRC_COLOR,+                      VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR, VK_BLEND_FACTOR_DST_COLOR,+                      VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR, VK_BLEND_FACTOR_SRC_ALPHA,+                      VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA, VK_BLEND_FACTOR_DST_ALPHA,+                      VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA,+                      VK_BLEND_FACTOR_CONSTANT_COLOR,+                      VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR,+                      VK_BLEND_FACTOR_CONSTANT_ALPHA,+                      VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA,+                      VK_BLEND_FACTOR_SRC_ALPHA_SATURATE, VK_BLEND_FACTOR_SRC1_COLOR,+                      VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR, VK_BLEND_FACTOR_SRC1_ALPHA,+                      VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA))+       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.0-extensions/man/html/VkBlendFactor.html VkBlendFactor registry at www.khronos.org>+newtype VkBlendFactor = VkBlendFactor Int32+                          deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkBlendFactor where+        showsPrec _ VK_BLEND_FACTOR_ZERO+          = showString "VK_BLEND_FACTOR_ZERO"+        showsPrec _ VK_BLEND_FACTOR_ONE = showString "VK_BLEND_FACTOR_ONE"+        showsPrec _ VK_BLEND_FACTOR_SRC_COLOR+          = showString "VK_BLEND_FACTOR_SRC_COLOR"+        showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR+          = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR"+        showsPrec _ VK_BLEND_FACTOR_DST_COLOR+          = showString "VK_BLEND_FACTOR_DST_COLOR"+        showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR+          = showString "VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR"+        showsPrec _ VK_BLEND_FACTOR_SRC_ALPHA+          = showString "VK_BLEND_FACTOR_SRC_ALPHA"+        showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA+          = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA"+        showsPrec _ VK_BLEND_FACTOR_DST_ALPHA+          = showString "VK_BLEND_FACTOR_DST_ALPHA"+        showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA+          = showString "VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA"+        showsPrec _ VK_BLEND_FACTOR_CONSTANT_COLOR+          = showString "VK_BLEND_FACTOR_CONSTANT_COLOR"+        showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR+          = showString "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR"+        showsPrec _ VK_BLEND_FACTOR_CONSTANT_ALPHA+          = showString "VK_BLEND_FACTOR_CONSTANT_ALPHA"+        showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA+          = showString "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA"+        showsPrec _ VK_BLEND_FACTOR_SRC_ALPHA_SATURATE+          = showString "VK_BLEND_FACTOR_SRC_ALPHA_SATURATE"+        showsPrec _ VK_BLEND_FACTOR_SRC1_COLOR+          = showString "VK_BLEND_FACTOR_SRC1_COLOR"+        showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR+          = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR"+        showsPrec _ VK_BLEND_FACTOR_SRC1_ALPHA+          = showString "VK_BLEND_FACTOR_SRC1_ALPHA"+        showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA+          = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA"+        showsPrec p (VkBlendFactor x)+          = showParen (p >= 11)+              (showString "VkBlendFactor " . showsPrec 11 x)++instance Read VkBlendFactor where+        readPrec+          = parens+              (choose+                 [("VK_BLEND_FACTOR_ZERO", pure VK_BLEND_FACTOR_ZERO),+                  ("VK_BLEND_FACTOR_ONE", pure VK_BLEND_FACTOR_ONE),+                  ("VK_BLEND_FACTOR_SRC_COLOR", pure VK_BLEND_FACTOR_SRC_COLOR),+                  ("VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR",+                   pure VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR),+                  ("VK_BLEND_FACTOR_DST_COLOR", pure VK_BLEND_FACTOR_DST_COLOR),+                  ("VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR",+                   pure VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR),+                  ("VK_BLEND_FACTOR_SRC_ALPHA", pure VK_BLEND_FACTOR_SRC_ALPHA),+                  ("VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA",+                   pure VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA),+                  ("VK_BLEND_FACTOR_DST_ALPHA", pure VK_BLEND_FACTOR_DST_ALPHA),+                  ("VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA",+                   pure VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA),+                  ("VK_BLEND_FACTOR_CONSTANT_COLOR",+                   pure VK_BLEND_FACTOR_CONSTANT_COLOR),+                  ("VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR",+                   pure VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR),+                  ("VK_BLEND_FACTOR_CONSTANT_ALPHA",+                   pure VK_BLEND_FACTOR_CONSTANT_ALPHA),+                  ("VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA",+                   pure VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA),+                  ("VK_BLEND_FACTOR_SRC_ALPHA_SATURATE",+                   pure VK_BLEND_FACTOR_SRC_ALPHA_SATURATE),+                  ("VK_BLEND_FACTOR_SRC1_COLOR", pure VK_BLEND_FACTOR_SRC1_COLOR),+                  ("VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR",+                   pure VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR),+                  ("VK_BLEND_FACTOR_SRC1_ALPHA", pure VK_BLEND_FACTOR_SRC1_ALPHA),+                  ("VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA",+                   pure VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA)]+                 ++++                 prec 10+                   (expectP (Ident "VkBlendFactor") >>+                      (VkBlendFactor <$> step readPrec)))++pattern VK_BLEND_FACTOR_ZERO :: VkBlendFactor++pattern VK_BLEND_FACTOR_ZERO = VkBlendFactor 0++pattern VK_BLEND_FACTOR_ONE :: VkBlendFactor++pattern VK_BLEND_FACTOR_ONE = VkBlendFactor 1++pattern VK_BLEND_FACTOR_SRC_COLOR :: VkBlendFactor++pattern VK_BLEND_FACTOR_SRC_COLOR = VkBlendFactor 2++pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR :: VkBlendFactor++pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = VkBlendFactor 3++pattern VK_BLEND_FACTOR_DST_COLOR :: VkBlendFactor++pattern VK_BLEND_FACTOR_DST_COLOR = VkBlendFactor 4++pattern VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR :: VkBlendFactor++pattern VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = VkBlendFactor 5++pattern VK_BLEND_FACTOR_SRC_ALPHA :: VkBlendFactor++pattern VK_BLEND_FACTOR_SRC_ALPHA = VkBlendFactor 6++pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA :: VkBlendFactor++pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = VkBlendFactor 7++pattern VK_BLEND_FACTOR_DST_ALPHA :: VkBlendFactor++pattern VK_BLEND_FACTOR_DST_ALPHA = VkBlendFactor 8++pattern VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA :: VkBlendFactor++pattern VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = VkBlendFactor 9++pattern VK_BLEND_FACTOR_CONSTANT_COLOR :: VkBlendFactor++pattern VK_BLEND_FACTOR_CONSTANT_COLOR = VkBlendFactor 10++pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR :: VkBlendFactor++pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = VkBlendFactor 11++pattern VK_BLEND_FACTOR_CONSTANT_ALPHA :: VkBlendFactor++pattern VK_BLEND_FACTOR_CONSTANT_ALPHA = VkBlendFactor 12++pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA :: VkBlendFactor++pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = VkBlendFactor 13++pattern VK_BLEND_FACTOR_SRC_ALPHA_SATURATE :: VkBlendFactor++pattern VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = VkBlendFactor 14++pattern VK_BLEND_FACTOR_SRC1_COLOR :: VkBlendFactor++pattern VK_BLEND_FACTOR_SRC1_COLOR = VkBlendFactor 15++pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR :: VkBlendFactor++pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = VkBlendFactor 16++pattern VK_BLEND_FACTOR_SRC1_ALPHA :: VkBlendFactor++pattern VK_BLEND_FACTOR_SRC1_ALPHA = VkBlendFactor 17++pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA :: VkBlendFactor++pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = VkBlendFactor 18
+ src-gen/Graphics/Vulkan/Types/Enum/VkBlendOp.hs view
@@ -0,0 +1,70 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkBlendOp+       (VkBlendOp(VkBlendOp, VK_BLEND_OP_ADD, VK_BLEND_OP_SUBTRACT,+                  VK_BLEND_OP_REVERSE_SUBTRACT, VK_BLEND_OP_MIN, VK_BLEND_OP_MAX))+       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.0-extensions/man/html/VkBlendOp.html VkBlendOp registry at www.khronos.org>+newtype VkBlendOp = VkBlendOp Int32+                      deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkBlendOp where+        showsPrec _ VK_BLEND_OP_ADD = showString "VK_BLEND_OP_ADD"+        showsPrec _ VK_BLEND_OP_SUBTRACT+          = showString "VK_BLEND_OP_SUBTRACT"+        showsPrec _ VK_BLEND_OP_REVERSE_SUBTRACT+          = showString "VK_BLEND_OP_REVERSE_SUBTRACT"+        showsPrec _ VK_BLEND_OP_MIN = showString "VK_BLEND_OP_MIN"+        showsPrec _ VK_BLEND_OP_MAX = showString "VK_BLEND_OP_MAX"+        showsPrec p (VkBlendOp x)+          = showParen (p >= 11) (showString "VkBlendOp " . showsPrec 11 x)++instance Read VkBlendOp where+        readPrec+          = parens+              (choose+                 [("VK_BLEND_OP_ADD", pure VK_BLEND_OP_ADD),+                  ("VK_BLEND_OP_SUBTRACT", pure VK_BLEND_OP_SUBTRACT),+                  ("VK_BLEND_OP_REVERSE_SUBTRACT",+                   pure VK_BLEND_OP_REVERSE_SUBTRACT),+                  ("VK_BLEND_OP_MIN", pure VK_BLEND_OP_MIN),+                  ("VK_BLEND_OP_MAX", pure VK_BLEND_OP_MAX)]+                 ++++                 prec 10+                   (expectP (Ident "VkBlendOp") >> (VkBlendOp <$> step readPrec)))++pattern VK_BLEND_OP_ADD :: VkBlendOp++pattern VK_BLEND_OP_ADD = VkBlendOp 0++pattern VK_BLEND_OP_SUBTRACT :: VkBlendOp++pattern VK_BLEND_OP_SUBTRACT = VkBlendOp 1++pattern VK_BLEND_OP_REVERSE_SUBTRACT :: VkBlendOp++pattern VK_BLEND_OP_REVERSE_SUBTRACT = VkBlendOp 2++pattern VK_BLEND_OP_MIN :: VkBlendOp++pattern VK_BLEND_OP_MIN = VkBlendOp 3++pattern VK_BLEND_OP_MAX :: VkBlendOp++pattern VK_BLEND_OP_MAX = VkBlendOp 4
+ src-gen/Graphics/Vulkan/Types/Enum/VkBlendOverlapEXT.hs view
@@ -0,0 +1,64 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkBlendOverlapEXT+       (VkBlendOverlapEXT(VkBlendOverlapEXT,+                          VK_BLEND_OVERLAP_UNCORRELATED_EXT, VK_BLEND_OVERLAP_DISJOINT_EXT,+                          VK_BLEND_OVERLAP_CONJOINT_EXT))+       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.0-extensions/man/html/VkBlendOverlapEXT.html VkBlendOverlapEXT registry at www.khronos.org>+newtype VkBlendOverlapEXT = VkBlendOverlapEXT Int32+                              deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkBlendOverlapEXT where+        showsPrec _ VK_BLEND_OVERLAP_UNCORRELATED_EXT+          = showString "VK_BLEND_OVERLAP_UNCORRELATED_EXT"+        showsPrec _ VK_BLEND_OVERLAP_DISJOINT_EXT+          = showString "VK_BLEND_OVERLAP_DISJOINT_EXT"+        showsPrec _ VK_BLEND_OVERLAP_CONJOINT_EXT+          = showString "VK_BLEND_OVERLAP_CONJOINT_EXT"+        showsPrec p (VkBlendOverlapEXT x)+          = showParen (p >= 11)+              (showString "VkBlendOverlapEXT " . showsPrec 11 x)++instance Read VkBlendOverlapEXT where+        readPrec+          = parens+              (choose+                 [("VK_BLEND_OVERLAP_UNCORRELATED_EXT",+                   pure VK_BLEND_OVERLAP_UNCORRELATED_EXT),+                  ("VK_BLEND_OVERLAP_DISJOINT_EXT",+                   pure VK_BLEND_OVERLAP_DISJOINT_EXT),+                  ("VK_BLEND_OVERLAP_CONJOINT_EXT",+                   pure VK_BLEND_OVERLAP_CONJOINT_EXT)]+                 ++++                 prec 10+                   (expectP (Ident "VkBlendOverlapEXT") >>+                      (VkBlendOverlapEXT <$> step readPrec)))++pattern VK_BLEND_OVERLAP_UNCORRELATED_EXT :: VkBlendOverlapEXT++pattern VK_BLEND_OVERLAP_UNCORRELATED_EXT = VkBlendOverlapEXT 0++pattern VK_BLEND_OVERLAP_DISJOINT_EXT :: VkBlendOverlapEXT++pattern VK_BLEND_OVERLAP_DISJOINT_EXT = VkBlendOverlapEXT 1++pattern VK_BLEND_OVERLAP_CONJOINT_EXT :: VkBlendOverlapEXT++pattern VK_BLEND_OVERLAP_CONJOINT_EXT = VkBlendOverlapEXT 2
+ src-gen/Graphics/Vulkan/Types/Enum/VkBorderColor.hs view
@@ -0,0 +1,92 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkBorderColor+       (VkBorderColor(VkBorderColor,+                      VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,+                      VK_BORDER_COLOR_INT_TRANSPARENT_BLACK,+                      VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK,+                      VK_BORDER_COLOR_INT_OPAQUE_BLACK,+                      VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE,+                      VK_BORDER_COLOR_INT_OPAQUE_WHITE))+       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.0-extensions/man/html/VkBorderColor.html VkBorderColor registry at www.khronos.org>+newtype VkBorderColor = VkBorderColor Int32+                          deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkBorderColor where+        showsPrec _ VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK+          = showString "VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK"+        showsPrec _ VK_BORDER_COLOR_INT_TRANSPARENT_BLACK+          = showString "VK_BORDER_COLOR_INT_TRANSPARENT_BLACK"+        showsPrec _ VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK+          = showString "VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK"+        showsPrec _ VK_BORDER_COLOR_INT_OPAQUE_BLACK+          = showString "VK_BORDER_COLOR_INT_OPAQUE_BLACK"+        showsPrec _ VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE+          = showString "VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE"+        showsPrec _ VK_BORDER_COLOR_INT_OPAQUE_WHITE+          = showString "VK_BORDER_COLOR_INT_OPAQUE_WHITE"+        showsPrec p (VkBorderColor x)+          = showParen (p >= 11)+              (showString "VkBorderColor " . showsPrec 11 x)++instance Read VkBorderColor where+        readPrec+          = parens+              (choose+                 [("VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK",+                   pure VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK),+                  ("VK_BORDER_COLOR_INT_TRANSPARENT_BLACK",+                   pure VK_BORDER_COLOR_INT_TRANSPARENT_BLACK),+                  ("VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK",+                   pure VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK),+                  ("VK_BORDER_COLOR_INT_OPAQUE_BLACK",+                   pure VK_BORDER_COLOR_INT_OPAQUE_BLACK),+                  ("VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE",+                   pure VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE),+                  ("VK_BORDER_COLOR_INT_OPAQUE_WHITE",+                   pure VK_BORDER_COLOR_INT_OPAQUE_WHITE)]+                 ++++                 prec 10+                   (expectP (Ident "VkBorderColor") >>+                      (VkBorderColor <$> step readPrec)))++pattern VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK :: VkBorderColor++pattern VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = VkBorderColor 0++pattern VK_BORDER_COLOR_INT_TRANSPARENT_BLACK :: VkBorderColor++pattern VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = VkBorderColor 1++pattern VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK :: VkBorderColor++pattern VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = VkBorderColor 2++pattern VK_BORDER_COLOR_INT_OPAQUE_BLACK :: VkBorderColor++pattern VK_BORDER_COLOR_INT_OPAQUE_BLACK = VkBorderColor 3++pattern VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE :: VkBorderColor++pattern VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = VkBorderColor 4++pattern VK_BORDER_COLOR_INT_OPAQUE_WHITE :: VkBorderColor++pattern VK_BORDER_COLOR_INT_OPAQUE_WHITE = VkBorderColor 5
+ src-gen/Graphics/Vulkan/Types/Enum/VkBufferCreateFlags.hs view
@@ -0,0 +1,113 @@+{-# 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.VkBufferCreateFlags+       (VkBufferCreateBitmask(VkBufferCreateBitmask, VkBufferCreateFlags,+                              VkBufferCreateFlagBits, VK_BUFFER_CREATE_SPARSE_BINDING_BIT,+                              VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT,+                              VK_BUFFER_CREATE_SPARSE_ALIASED_BIT),+        VkBufferCreateFlags, VkBufferCreateFlagBits)+       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 VkBufferCreateBitmask (a ::+                                 FlagType) = VkBufferCreateBitmask VkFlags+                                               deriving (Eq, Ord, Storable, Data, Generic)++type VkBufferCreateFlags = VkBufferCreateBitmask FlagMask++type VkBufferCreateFlagBits = VkBufferCreateBitmask FlagBit++pattern VkBufferCreateFlagBits ::+        VkFlags -> VkBufferCreateBitmask FlagBit++pattern VkBufferCreateFlagBits n = VkBufferCreateBitmask n++pattern VkBufferCreateFlags ::+        VkFlags -> VkBufferCreateBitmask FlagMask++pattern VkBufferCreateFlags n = VkBufferCreateBitmask n++deriving instance Bits (VkBufferCreateBitmask FlagMask)++deriving instance FiniteBits (VkBufferCreateBitmask FlagMask)++deriving instance Integral (VkBufferCreateBitmask FlagMask)++deriving instance Num (VkBufferCreateBitmask FlagMask)++deriving instance Bounded (VkBufferCreateBitmask FlagMask)++deriving instance Enum (VkBufferCreateBitmask FlagMask)++deriving instance Real (VkBufferCreateBitmask FlagMask)++instance Show (VkBufferCreateBitmask a) where+        showsPrec _ VK_BUFFER_CREATE_SPARSE_BINDING_BIT+          = showString "VK_BUFFER_CREATE_SPARSE_BINDING_BIT"+        showsPrec _ VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT+          = showString "VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT"+        showsPrec _ VK_BUFFER_CREATE_SPARSE_ALIASED_BIT+          = showString "VK_BUFFER_CREATE_SPARSE_ALIASED_BIT"+        showsPrec p (VkBufferCreateBitmask x)+          = showParen (p >= 11)+              (showString "VkBufferCreateBitmask " . showsPrec 11 x)++instance Read (VkBufferCreateBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_BUFFER_CREATE_SPARSE_BINDING_BIT",+                   pure VK_BUFFER_CREATE_SPARSE_BINDING_BIT),+                  ("VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT",+                   pure VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT),+                  ("VK_BUFFER_CREATE_SPARSE_ALIASED_BIT",+                   pure VK_BUFFER_CREATE_SPARSE_ALIASED_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkBufferCreateBitmask") >>+                      (VkBufferCreateBitmask <$> step readPrec)))++-- | Buffer should support sparse backing+--+--   bitpos = @0@+pattern VK_BUFFER_CREATE_SPARSE_BINDING_BIT ::+        VkBufferCreateBitmask a++pattern VK_BUFFER_CREATE_SPARSE_BINDING_BIT =+        VkBufferCreateBitmask 1++-- | Buffer should support sparse backing with partial residency+--+--   bitpos = @1@+pattern VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT ::+        VkBufferCreateBitmask a++pattern VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT =+        VkBufferCreateBitmask 2++-- | Buffer should support constent data access to physical memory ranges mapped into multiple locations of sparse buffers+--+--   bitpos = @2@+pattern VK_BUFFER_CREATE_SPARSE_ALIASED_BIT ::+        VkBufferCreateBitmask a++pattern VK_BUFFER_CREATE_SPARSE_ALIASED_BIT =+        VkBufferCreateBitmask 4
+ src-gen/Graphics/Vulkan/Types/Enum/VkBufferUsageFlags.hs view
@@ -0,0 +1,190 @@+{-# 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.VkBufferUsageFlags+       (VkBufferUsageBitmask(VkBufferUsageBitmask, VkBufferUsageFlags,+                             VkBufferUsageFlagBits, VK_BUFFER_USAGE_TRANSFER_SRC_BIT,+                             VK_BUFFER_USAGE_TRANSFER_DST_BIT,+                             VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT,+                             VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT,+                             VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,+                             VK_BUFFER_USAGE_STORAGE_BUFFER_BIT,+                             VK_BUFFER_USAGE_INDEX_BUFFER_BIT,+                             VK_BUFFER_USAGE_VERTEX_BUFFER_BIT,+                             VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT),+        VkBufferUsageFlags, VkBufferUsageFlagBits)+       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 VkBufferUsageBitmask (a ::+                                FlagType) = VkBufferUsageBitmask VkFlags+                                              deriving (Eq, Ord, Storable, Data, Generic)++type VkBufferUsageFlags = VkBufferUsageBitmask FlagMask++type VkBufferUsageFlagBits = VkBufferUsageBitmask FlagBit++pattern VkBufferUsageFlagBits ::+        VkFlags -> VkBufferUsageBitmask FlagBit++pattern VkBufferUsageFlagBits n = VkBufferUsageBitmask n++pattern VkBufferUsageFlags ::+        VkFlags -> VkBufferUsageBitmask FlagMask++pattern VkBufferUsageFlags n = VkBufferUsageBitmask n++deriving instance Bits (VkBufferUsageBitmask FlagMask)++deriving instance FiniteBits (VkBufferUsageBitmask FlagMask)++deriving instance Integral (VkBufferUsageBitmask FlagMask)++deriving instance Num (VkBufferUsageBitmask FlagMask)++deriving instance Bounded (VkBufferUsageBitmask FlagMask)++deriving instance Enum (VkBufferUsageBitmask FlagMask)++deriving instance Real (VkBufferUsageBitmask FlagMask)++instance Show (VkBufferUsageBitmask a) where+        showsPrec _ VK_BUFFER_USAGE_TRANSFER_SRC_BIT+          = showString "VK_BUFFER_USAGE_TRANSFER_SRC_BIT"+        showsPrec _ VK_BUFFER_USAGE_TRANSFER_DST_BIT+          = showString "VK_BUFFER_USAGE_TRANSFER_DST_BIT"+        showsPrec _ VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT+          = showString "VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT"+        showsPrec _ VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT+          = showString "VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT"+        showsPrec _ VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT+          = showString "VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT"+        showsPrec _ VK_BUFFER_USAGE_STORAGE_BUFFER_BIT+          = showString "VK_BUFFER_USAGE_STORAGE_BUFFER_BIT"+        showsPrec _ VK_BUFFER_USAGE_INDEX_BUFFER_BIT+          = showString "VK_BUFFER_USAGE_INDEX_BUFFER_BIT"+        showsPrec _ VK_BUFFER_USAGE_VERTEX_BUFFER_BIT+          = showString "VK_BUFFER_USAGE_VERTEX_BUFFER_BIT"+        showsPrec _ VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT+          = showString "VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT"+        showsPrec p (VkBufferUsageBitmask x)+          = showParen (p >= 11)+              (showString "VkBufferUsageBitmask " . showsPrec 11 x)++instance Read (VkBufferUsageBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_BUFFER_USAGE_TRANSFER_SRC_BIT",+                   pure VK_BUFFER_USAGE_TRANSFER_SRC_BIT),+                  ("VK_BUFFER_USAGE_TRANSFER_DST_BIT",+                   pure VK_BUFFER_USAGE_TRANSFER_DST_BIT),+                  ("VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT",+                   pure VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT),+                  ("VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT",+                   pure VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT),+                  ("VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT",+                   pure VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT),+                  ("VK_BUFFER_USAGE_STORAGE_BUFFER_BIT",+                   pure VK_BUFFER_USAGE_STORAGE_BUFFER_BIT),+                  ("VK_BUFFER_USAGE_INDEX_BUFFER_BIT",+                   pure VK_BUFFER_USAGE_INDEX_BUFFER_BIT),+                  ("VK_BUFFER_USAGE_VERTEX_BUFFER_BIT",+                   pure VK_BUFFER_USAGE_VERTEX_BUFFER_BIT),+                  ("VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT",+                   pure VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkBufferUsageBitmask") >>+                      (VkBufferUsageBitmask <$> step readPrec)))++-- | Can be used as a source of transfer operations+--+--   bitpos = @0@+pattern VK_BUFFER_USAGE_TRANSFER_SRC_BIT :: VkBufferUsageBitmask a++pattern VK_BUFFER_USAGE_TRANSFER_SRC_BIT = VkBufferUsageBitmask 1++-- | Can be used as a destination of transfer operations+--+--   bitpos = @1@+pattern VK_BUFFER_USAGE_TRANSFER_DST_BIT :: VkBufferUsageBitmask a++pattern VK_BUFFER_USAGE_TRANSFER_DST_BIT = VkBufferUsageBitmask 2++-- | Can be used as TBO+--+--   bitpos = @2@+pattern VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT ::+        VkBufferUsageBitmask a++pattern VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT =+        VkBufferUsageBitmask 4++-- | Can be used as IBO+--+--   bitpos = @3@+pattern VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT ::+        VkBufferUsageBitmask a++pattern VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT =+        VkBufferUsageBitmask 8++-- | Can be used as UBO+--+--   bitpos = @4@+pattern VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT ::+        VkBufferUsageBitmask a++pattern VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT =+        VkBufferUsageBitmask 16++-- | Can be used as SSBO+--+--   bitpos = @5@+pattern VK_BUFFER_USAGE_STORAGE_BUFFER_BIT ::+        VkBufferUsageBitmask a++pattern VK_BUFFER_USAGE_STORAGE_BUFFER_BIT =+        VkBufferUsageBitmask 32++-- | Can be used as source of fixed-function index fetch (index buffer)+--+--   bitpos = @6@+pattern VK_BUFFER_USAGE_INDEX_BUFFER_BIT :: VkBufferUsageBitmask a++pattern VK_BUFFER_USAGE_INDEX_BUFFER_BIT = VkBufferUsageBitmask 64++-- | Can be used as source of fixed-function vertex fetch (VBO)+--+--   bitpos = @7@+pattern VK_BUFFER_USAGE_VERTEX_BUFFER_BIT :: VkBufferUsageBitmask a++pattern VK_BUFFER_USAGE_VERTEX_BUFFER_BIT =+        VkBufferUsageBitmask 128++-- | Can be the source of indirect parameters (e.g. indirect buffer, parameter buffer)+--+--   bitpos = @8@+pattern VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT ::+        VkBufferUsageBitmask a++pattern VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT =+        VkBufferUsageBitmask 256
+ src-gen/Graphics/Vulkan/Types/Enum/VkBufferViewCreateFlagBits.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkBufferViewCreateFlagBits+       (VkBufferViewCreateFlagBits(..)) 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 VkBufferViewCreateFlagBits = VkBufferViewCreateFlagBits VkFlags+                                       deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                 FiniteBits, Storable, Real, Data, Generic)++instance Show VkBufferViewCreateFlagBits where+        {-# INLINE show #-}+        show (VkBufferViewCreateFlagBits x) = show x++instance Read VkBufferViewCreateFlagBits where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkChromaLocationKHR.hs view
@@ -0,0 +1,56 @@+{-# 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+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.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)++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)++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
+ src-gen/Graphics/Vulkan/Types/Enum/VkColorComponentFlags.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.VkColorComponentFlags+       (VkColorComponentBitmask(VkColorComponentBitmask,+                                VkColorComponentFlags, VkColorComponentFlagBits,+                                VK_COLOR_COMPONENT_R_BIT, VK_COLOR_COMPONENT_G_BIT,+                                VK_COLOR_COMPONENT_B_BIT, VK_COLOR_COMPONENT_A_BIT),+        VkColorComponentFlags, VkColorComponentFlagBits)+       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 VkColorComponentBitmask (a ::+                                   FlagType) = VkColorComponentBitmask VkFlags+                                                 deriving (Eq, Ord, Storable, Data, Generic)++type VkColorComponentFlags = VkColorComponentBitmask FlagMask++type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit++pattern VkColorComponentFlagBits ::+        VkFlags -> VkColorComponentBitmask FlagBit++pattern VkColorComponentFlagBits n = VkColorComponentBitmask n++pattern VkColorComponentFlags ::+        VkFlags -> VkColorComponentBitmask FlagMask++pattern VkColorComponentFlags n = VkColorComponentBitmask n++deriving instance Bits (VkColorComponentBitmask FlagMask)++deriving instance FiniteBits (VkColorComponentBitmask FlagMask)++deriving instance Integral (VkColorComponentBitmask FlagMask)++deriving instance Num (VkColorComponentBitmask FlagMask)++deriving instance Bounded (VkColorComponentBitmask FlagMask)++deriving instance Enum (VkColorComponentBitmask FlagMask)++deriving instance Real (VkColorComponentBitmask FlagMask)++instance Show (VkColorComponentBitmask a) where+        showsPrec _ VK_COLOR_COMPONENT_R_BIT+          = showString "VK_COLOR_COMPONENT_R_BIT"+        showsPrec _ VK_COLOR_COMPONENT_G_BIT+          = showString "VK_COLOR_COMPONENT_G_BIT"+        showsPrec _ VK_COLOR_COMPONENT_B_BIT+          = showString "VK_COLOR_COMPONENT_B_BIT"+        showsPrec _ VK_COLOR_COMPONENT_A_BIT+          = showString "VK_COLOR_COMPONENT_A_BIT"+        showsPrec p (VkColorComponentBitmask x)+          = showParen (p >= 11)+              (showString "VkColorComponentBitmask " . showsPrec 11 x)++instance Read (VkColorComponentBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_COLOR_COMPONENT_R_BIT", pure VK_COLOR_COMPONENT_R_BIT),+                  ("VK_COLOR_COMPONENT_G_BIT", pure VK_COLOR_COMPONENT_G_BIT),+                  ("VK_COLOR_COMPONENT_B_BIT", pure VK_COLOR_COMPONENT_B_BIT),+                  ("VK_COLOR_COMPONENT_A_BIT", pure VK_COLOR_COMPONENT_A_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkColorComponentBitmask") >>+                      (VkColorComponentBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_COLOR_COMPONENT_R_BIT :: VkColorComponentBitmask a++pattern VK_COLOR_COMPONENT_R_BIT = VkColorComponentBitmask 1++-- | bitpos = @1@+pattern VK_COLOR_COMPONENT_G_BIT :: VkColorComponentBitmask a++pattern VK_COLOR_COMPONENT_G_BIT = VkColorComponentBitmask 2++-- | bitpos = @2@+pattern VK_COLOR_COMPONENT_B_BIT :: VkColorComponentBitmask a++pattern VK_COLOR_COMPONENT_B_BIT = VkColorComponentBitmask 4++-- | bitpos = @3@+pattern VK_COLOR_COMPONENT_A_BIT :: VkColorComponentBitmask a++pattern VK_COLOR_COMPONENT_A_BIT = VkColorComponentBitmask 8
+ src-gen/Graphics/Vulkan/Types/Enum/VkColorSpaceKHR.hs view
@@ -0,0 +1,47 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkColorSpaceKHR+       (VkColorSpaceKHR(VkColorSpaceKHR,+                        VK_COLOR_SPACE_SRGB_NONLINEAR_KHR))+       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.0-extensions/man/html/VkColorSpaceKHR.html VkColorSpaceKHR registry at www.khronos.org>+newtype VkColorSpaceKHR = VkColorSpaceKHR Int32+                            deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkColorSpaceKHR where+        showsPrec _ VK_COLOR_SPACE_SRGB_NONLINEAR_KHR+          = showString "VK_COLOR_SPACE_SRGB_NONLINEAR_KHR"+        showsPrec p (VkColorSpaceKHR x)+          = showParen (p >= 11)+              (showString "VkColorSpaceKHR " . showsPrec 11 x)++instance Read VkColorSpaceKHR where+        readPrec+          = parens+              (choose+                 [("VK_COLOR_SPACE_SRGB_NONLINEAR_KHR",+                   pure VK_COLOR_SPACE_SRGB_NONLINEAR_KHR)]+                 ++++                 prec 10+                   (expectP (Ident "VkColorSpaceKHR") >>+                      (VkColorSpaceKHR <$> step readPrec)))++pattern VK_COLOR_SPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR++pattern VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = VkColorSpaceKHR 0
+ src-gen/Graphics/Vulkan/Types/Enum/VkCommandBufferLevel.hs view
@@ -0,0 +1,56 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkCommandBufferLevel+       (VkCommandBufferLevel(VkCommandBufferLevel,+                             VK_COMMAND_BUFFER_LEVEL_PRIMARY,+                             VK_COMMAND_BUFFER_LEVEL_SECONDARY))+       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.0-extensions/man/html/VkCommandBufferLevel.html VkCommandBufferLevel registry at www.khronos.org>+newtype VkCommandBufferLevel = VkCommandBufferLevel Int32+                                 deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkCommandBufferLevel where+        showsPrec _ VK_COMMAND_BUFFER_LEVEL_PRIMARY+          = showString "VK_COMMAND_BUFFER_LEVEL_PRIMARY"+        showsPrec _ VK_COMMAND_BUFFER_LEVEL_SECONDARY+          = showString "VK_COMMAND_BUFFER_LEVEL_SECONDARY"+        showsPrec p (VkCommandBufferLevel x)+          = showParen (p >= 11)+              (showString "VkCommandBufferLevel " . showsPrec 11 x)++instance Read VkCommandBufferLevel where+        readPrec+          = parens+              (choose+                 [("VK_COMMAND_BUFFER_LEVEL_PRIMARY",+                   pure VK_COMMAND_BUFFER_LEVEL_PRIMARY),+                  ("VK_COMMAND_BUFFER_LEVEL_SECONDARY",+                   pure VK_COMMAND_BUFFER_LEVEL_SECONDARY)]+                 ++++                 prec 10+                   (expectP (Ident "VkCommandBufferLevel") >>+                      (VkCommandBufferLevel <$> step readPrec)))++pattern VK_COMMAND_BUFFER_LEVEL_PRIMARY :: VkCommandBufferLevel++pattern VK_COMMAND_BUFFER_LEVEL_PRIMARY = VkCommandBufferLevel 0++pattern VK_COMMAND_BUFFER_LEVEL_SECONDARY :: VkCommandBufferLevel++pattern VK_COMMAND_BUFFER_LEVEL_SECONDARY = VkCommandBufferLevel 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkCommandBufferResetFlags.hs view
@@ -0,0 +1,89 @@+{-# 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.VkCommandBufferResetFlags+       (VkCommandBufferResetBitmask(VkCommandBufferResetBitmask,+                                    VkCommandBufferResetFlags, VkCommandBufferResetFlagBits,+                                    VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT),+        VkCommandBufferResetFlags, VkCommandBufferResetFlagBits)+       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 VkCommandBufferResetBitmask (a ::+                                       FlagType) = VkCommandBufferResetBitmask VkFlags+                                                     deriving (Eq, Ord, Storable, Data, Generic)++type VkCommandBufferResetFlags =+     VkCommandBufferResetBitmask FlagMask++type VkCommandBufferResetFlagBits =+     VkCommandBufferResetBitmask FlagBit++pattern VkCommandBufferResetFlagBits ::+        VkFlags -> VkCommandBufferResetBitmask FlagBit++pattern VkCommandBufferResetFlagBits n =+        VkCommandBufferResetBitmask n++pattern VkCommandBufferResetFlags ::+        VkFlags -> VkCommandBufferResetBitmask FlagMask++pattern VkCommandBufferResetFlags n = VkCommandBufferResetBitmask n++deriving instance Bits (VkCommandBufferResetBitmask FlagMask)++deriving instance FiniteBits (VkCommandBufferResetBitmask FlagMask)++deriving instance Integral (VkCommandBufferResetBitmask FlagMask)++deriving instance Num (VkCommandBufferResetBitmask FlagMask)++deriving instance Bounded (VkCommandBufferResetBitmask FlagMask)++deriving instance Enum (VkCommandBufferResetBitmask FlagMask)++deriving instance Real (VkCommandBufferResetBitmask FlagMask)++instance Show (VkCommandBufferResetBitmask a) where+        showsPrec _ VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT+          = showString "VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT"+        showsPrec p (VkCommandBufferResetBitmask x)+          = showParen (p >= 11)+              (showString "VkCommandBufferResetBitmask " . showsPrec 11 x)++instance Read (VkCommandBufferResetBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT",+                   pure VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkCommandBufferResetBitmask") >>+                      (VkCommandBufferResetBitmask <$> step readPrec)))++-- | Release resources owned by the buffer+--+--   bitpos = @0@+pattern VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT ::+        VkCommandBufferResetBitmask a++pattern VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT =+        VkCommandBufferResetBitmask 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkCommandBufferUsageFlags.hs view
@@ -0,0 +1,113 @@+{-# 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.VkCommandBufferUsageFlags+       (VkCommandBufferUsageBitmask(VkCommandBufferUsageBitmask,+                                    VkCommandBufferUsageFlags, VkCommandBufferUsageFlagBits,+                                    VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT,+                                    VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT,+                                    VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT),+        VkCommandBufferUsageFlags, VkCommandBufferUsageFlagBits)+       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 VkCommandBufferUsageBitmask (a ::+                                       FlagType) = VkCommandBufferUsageBitmask VkFlags+                                                     deriving (Eq, Ord, Storable, Data, Generic)++type VkCommandBufferUsageFlags =+     VkCommandBufferUsageBitmask FlagMask++type VkCommandBufferUsageFlagBits =+     VkCommandBufferUsageBitmask FlagBit++pattern VkCommandBufferUsageFlagBits ::+        VkFlags -> VkCommandBufferUsageBitmask FlagBit++pattern VkCommandBufferUsageFlagBits n =+        VkCommandBufferUsageBitmask n++pattern VkCommandBufferUsageFlags ::+        VkFlags -> VkCommandBufferUsageBitmask FlagMask++pattern VkCommandBufferUsageFlags n = VkCommandBufferUsageBitmask n++deriving instance Bits (VkCommandBufferUsageBitmask FlagMask)++deriving instance FiniteBits (VkCommandBufferUsageBitmask FlagMask)++deriving instance Integral (VkCommandBufferUsageBitmask FlagMask)++deriving instance Num (VkCommandBufferUsageBitmask FlagMask)++deriving instance Bounded (VkCommandBufferUsageBitmask FlagMask)++deriving instance Enum (VkCommandBufferUsageBitmask FlagMask)++deriving instance Real (VkCommandBufferUsageBitmask FlagMask)++instance Show (VkCommandBufferUsageBitmask a) where+        showsPrec _ VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT+          = showString "VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT"+        showsPrec _ VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT+          = showString "VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT"+        showsPrec _ VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT+          = showString "VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT"+        showsPrec p (VkCommandBufferUsageBitmask x)+          = showParen (p >= 11)+              (showString "VkCommandBufferUsageBitmask " . showsPrec 11 x)++instance Read (VkCommandBufferUsageBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT",+                   pure VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT),+                  ("VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT",+                   pure VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT),+                  ("VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT",+                   pure VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkCommandBufferUsageBitmask") >>+                      (VkCommandBufferUsageBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT ::+        VkCommandBufferUsageBitmask a++pattern VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT =+        VkCommandBufferUsageBitmask 1++-- | bitpos = @1@+pattern VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT ::+        VkCommandBufferUsageBitmask a++pattern VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT =+        VkCommandBufferUsageBitmask 2++-- | Command buffer may be submitted/executed more than once simultaneously+--+--   bitpos = @2@+pattern VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT ::+        VkCommandBufferUsageBitmask a++pattern VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT =+        VkCommandBufferUsageBitmask 4
+ src-gen/Graphics/Vulkan/Types/Enum/VkCommandPoolCreateFlags.hs view
@@ -0,0 +1,102 @@+{-# 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.VkCommandPoolCreateFlags+       (VkCommandPoolCreateBitmask(VkCommandPoolCreateBitmask,+                                   VkCommandPoolCreateFlags, VkCommandPoolCreateFlagBits,+                                   VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,+                                   VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT),+        VkCommandPoolCreateFlags, VkCommandPoolCreateFlagBits)+       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 VkCommandPoolCreateBitmask (a ::+                                      FlagType) = VkCommandPoolCreateBitmask VkFlags+                                                    deriving (Eq, Ord, Storable, Data, Generic)++type VkCommandPoolCreateFlags = VkCommandPoolCreateBitmask FlagMask++type VkCommandPoolCreateFlagBits =+     VkCommandPoolCreateBitmask FlagBit++pattern VkCommandPoolCreateFlagBits ::+        VkFlags -> VkCommandPoolCreateBitmask FlagBit++pattern VkCommandPoolCreateFlagBits n =+        VkCommandPoolCreateBitmask n++pattern VkCommandPoolCreateFlags ::+        VkFlags -> VkCommandPoolCreateBitmask FlagMask++pattern VkCommandPoolCreateFlags n = VkCommandPoolCreateBitmask n++deriving instance Bits (VkCommandPoolCreateBitmask FlagMask)++deriving instance FiniteBits (VkCommandPoolCreateBitmask FlagMask)++deriving instance Integral (VkCommandPoolCreateBitmask FlagMask)++deriving instance Num (VkCommandPoolCreateBitmask FlagMask)++deriving instance Bounded (VkCommandPoolCreateBitmask FlagMask)++deriving instance Enum (VkCommandPoolCreateBitmask FlagMask)++deriving instance Real (VkCommandPoolCreateBitmask FlagMask)++instance Show (VkCommandPoolCreateBitmask a) where+        showsPrec _ VK_COMMAND_POOL_CREATE_TRANSIENT_BIT+          = showString "VK_COMMAND_POOL_CREATE_TRANSIENT_BIT"+        showsPrec _ VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT+          = showString "VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT"+        showsPrec p (VkCommandPoolCreateBitmask x)+          = showParen (p >= 11)+              (showString "VkCommandPoolCreateBitmask " . showsPrec 11 x)++instance Read (VkCommandPoolCreateBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_COMMAND_POOL_CREATE_TRANSIENT_BIT",+                   pure VK_COMMAND_POOL_CREATE_TRANSIENT_BIT),+                  ("VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT",+                   pure VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkCommandPoolCreateBitmask") >>+                      (VkCommandPoolCreateBitmask <$> step readPrec)))++-- | Command buffers have a short lifetime+--+--   bitpos = @0@+pattern VK_COMMAND_POOL_CREATE_TRANSIENT_BIT ::+        VkCommandPoolCreateBitmask a++pattern VK_COMMAND_POOL_CREATE_TRANSIENT_BIT =+        VkCommandPoolCreateBitmask 1++-- | Command buffers may release their memory individually+--+--   bitpos = @1@+pattern VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT ::+        VkCommandPoolCreateBitmask a++pattern VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT =+        VkCommandPoolCreateBitmask 2
+ src-gen/Graphics/Vulkan/Types/Enum/VkCommandPoolResetFlags.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.VkCommandPoolResetFlags+       (VkCommandPoolResetBitmask(VkCommandPoolResetBitmask,+                                  VkCommandPoolResetFlags, VkCommandPoolResetFlagBits,+                                  VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT),+        VkCommandPoolResetFlags, VkCommandPoolResetFlagBits)+       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 VkCommandPoolResetBitmask (a ::+                                     FlagType) = VkCommandPoolResetBitmask VkFlags+                                                   deriving (Eq, Ord, Storable, Data, Generic)++type VkCommandPoolResetFlags = VkCommandPoolResetBitmask FlagMask++type VkCommandPoolResetFlagBits = VkCommandPoolResetBitmask FlagBit++pattern VkCommandPoolResetFlagBits ::+        VkFlags -> VkCommandPoolResetBitmask FlagBit++pattern VkCommandPoolResetFlagBits n = VkCommandPoolResetBitmask n++pattern VkCommandPoolResetFlags ::+        VkFlags -> VkCommandPoolResetBitmask FlagMask++pattern VkCommandPoolResetFlags n = VkCommandPoolResetBitmask n++deriving instance Bits (VkCommandPoolResetBitmask FlagMask)++deriving instance FiniteBits (VkCommandPoolResetBitmask FlagMask)++deriving instance Integral (VkCommandPoolResetBitmask FlagMask)++deriving instance Num (VkCommandPoolResetBitmask FlagMask)++deriving instance Bounded (VkCommandPoolResetBitmask FlagMask)++deriving instance Enum (VkCommandPoolResetBitmask FlagMask)++deriving instance Real (VkCommandPoolResetBitmask FlagMask)++instance Show (VkCommandPoolResetBitmask a) where+        showsPrec _ VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT+          = showString "VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT"+        showsPrec p (VkCommandPoolResetBitmask x)+          = showParen (p >= 11)+              (showString "VkCommandPoolResetBitmask " . showsPrec 11 x)++instance Read (VkCommandPoolResetBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT",+                   pure VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkCommandPoolResetBitmask") >>+                      (VkCommandPoolResetBitmask <$> step readPrec)))++-- | Release resources owned by the pool+--+--   bitpos = @0@+pattern VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT ::+        VkCommandPoolResetBitmask a++pattern VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT =+        VkCommandPoolResetBitmask 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkCompareOp.hs view
@@ -0,0 +1,93 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkCompareOp+       (VkCompareOp(VkCompareOp, VK_COMPARE_OP_NEVER, VK_COMPARE_OP_LESS,+                    VK_COMPARE_OP_EQUAL, VK_COMPARE_OP_LESS_OR_EQUAL,+                    VK_COMPARE_OP_GREATER, VK_COMPARE_OP_NOT_EQUAL,+                    VK_COMPARE_OP_GREATER_OR_EQUAL, VK_COMPARE_OP_ALWAYS))+       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.0-extensions/man/html/VkCompareOp.html VkCompareOp registry at www.khronos.org>+newtype VkCompareOp = VkCompareOp Int32+                        deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkCompareOp where+        showsPrec _ VK_COMPARE_OP_NEVER = showString "VK_COMPARE_OP_NEVER"+        showsPrec _ VK_COMPARE_OP_LESS = showString "VK_COMPARE_OP_LESS"+        showsPrec _ VK_COMPARE_OP_EQUAL = showString "VK_COMPARE_OP_EQUAL"+        showsPrec _ VK_COMPARE_OP_LESS_OR_EQUAL+          = showString "VK_COMPARE_OP_LESS_OR_EQUAL"+        showsPrec _ VK_COMPARE_OP_GREATER+          = showString "VK_COMPARE_OP_GREATER"+        showsPrec _ VK_COMPARE_OP_NOT_EQUAL+          = showString "VK_COMPARE_OP_NOT_EQUAL"+        showsPrec _ VK_COMPARE_OP_GREATER_OR_EQUAL+          = showString "VK_COMPARE_OP_GREATER_OR_EQUAL"+        showsPrec _ VK_COMPARE_OP_ALWAYS+          = showString "VK_COMPARE_OP_ALWAYS"+        showsPrec p (VkCompareOp x)+          = showParen (p >= 11) (showString "VkCompareOp " . showsPrec 11 x)++instance Read VkCompareOp where+        readPrec+          = parens+              (choose+                 [("VK_COMPARE_OP_NEVER", pure VK_COMPARE_OP_NEVER),+                  ("VK_COMPARE_OP_LESS", pure VK_COMPARE_OP_LESS),+                  ("VK_COMPARE_OP_EQUAL", pure VK_COMPARE_OP_EQUAL),+                  ("VK_COMPARE_OP_LESS_OR_EQUAL", pure VK_COMPARE_OP_LESS_OR_EQUAL),+                  ("VK_COMPARE_OP_GREATER", pure VK_COMPARE_OP_GREATER),+                  ("VK_COMPARE_OP_NOT_EQUAL", pure VK_COMPARE_OP_NOT_EQUAL),+                  ("VK_COMPARE_OP_GREATER_OR_EQUAL",+                   pure VK_COMPARE_OP_GREATER_OR_EQUAL),+                  ("VK_COMPARE_OP_ALWAYS", pure VK_COMPARE_OP_ALWAYS)]+                 ++++                 prec 10+                   (expectP (Ident "VkCompareOp") >> (VkCompareOp <$> step readPrec)))++pattern VK_COMPARE_OP_NEVER :: VkCompareOp++pattern VK_COMPARE_OP_NEVER = VkCompareOp 0++pattern VK_COMPARE_OP_LESS :: VkCompareOp++pattern VK_COMPARE_OP_LESS = VkCompareOp 1++pattern VK_COMPARE_OP_EQUAL :: VkCompareOp++pattern VK_COMPARE_OP_EQUAL = VkCompareOp 2++pattern VK_COMPARE_OP_LESS_OR_EQUAL :: VkCompareOp++pattern VK_COMPARE_OP_LESS_OR_EQUAL = VkCompareOp 3++pattern VK_COMPARE_OP_GREATER :: VkCompareOp++pattern VK_COMPARE_OP_GREATER = VkCompareOp 4++pattern VK_COMPARE_OP_NOT_EQUAL :: VkCompareOp++pattern VK_COMPARE_OP_NOT_EQUAL = VkCompareOp 5++pattern VK_COMPARE_OP_GREATER_OR_EQUAL :: VkCompareOp++pattern VK_COMPARE_OP_GREATER_OR_EQUAL = VkCompareOp 6++pattern VK_COMPARE_OP_ALWAYS :: VkCompareOp++pattern VK_COMPARE_OP_ALWAYS = VkCompareOp 7
+ src-gen/Graphics/Vulkan/Types/Enum/VkComponentSwizzle.hs view
@@ -0,0 +1,92 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkComponentSwizzle+       (VkComponentSwizzle(VkComponentSwizzle,+                           VK_COMPONENT_SWIZZLE_IDENTITY, VK_COMPONENT_SWIZZLE_ZERO,+                           VK_COMPONENT_SWIZZLE_ONE, VK_COMPONENT_SWIZZLE_R,+                           VK_COMPONENT_SWIZZLE_G, VK_COMPONENT_SWIZZLE_B,+                           VK_COMPONENT_SWIZZLE_A))+       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.0-extensions/man/html/VkComponentSwizzle.html VkComponentSwizzle registry at www.khronos.org>+newtype VkComponentSwizzle = VkComponentSwizzle Int32+                               deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkComponentSwizzle where+        showsPrec _ VK_COMPONENT_SWIZZLE_IDENTITY+          = showString "VK_COMPONENT_SWIZZLE_IDENTITY"+        showsPrec _ VK_COMPONENT_SWIZZLE_ZERO+          = showString "VK_COMPONENT_SWIZZLE_ZERO"+        showsPrec _ VK_COMPONENT_SWIZZLE_ONE+          = showString "VK_COMPONENT_SWIZZLE_ONE"+        showsPrec _ VK_COMPONENT_SWIZZLE_R+          = showString "VK_COMPONENT_SWIZZLE_R"+        showsPrec _ VK_COMPONENT_SWIZZLE_G+          = showString "VK_COMPONENT_SWIZZLE_G"+        showsPrec _ VK_COMPONENT_SWIZZLE_B+          = showString "VK_COMPONENT_SWIZZLE_B"+        showsPrec _ VK_COMPONENT_SWIZZLE_A+          = showString "VK_COMPONENT_SWIZZLE_A"+        showsPrec p (VkComponentSwizzle x)+          = showParen (p >= 11)+              (showString "VkComponentSwizzle " . showsPrec 11 x)++instance Read VkComponentSwizzle where+        readPrec+          = parens+              (choose+                 [("VK_COMPONENT_SWIZZLE_IDENTITY",+                   pure VK_COMPONENT_SWIZZLE_IDENTITY),+                  ("VK_COMPONENT_SWIZZLE_ZERO", pure VK_COMPONENT_SWIZZLE_ZERO),+                  ("VK_COMPONENT_SWIZZLE_ONE", pure VK_COMPONENT_SWIZZLE_ONE),+                  ("VK_COMPONENT_SWIZZLE_R", pure VK_COMPONENT_SWIZZLE_R),+                  ("VK_COMPONENT_SWIZZLE_G", pure VK_COMPONENT_SWIZZLE_G),+                  ("VK_COMPONENT_SWIZZLE_B", pure VK_COMPONENT_SWIZZLE_B),+                  ("VK_COMPONENT_SWIZZLE_A", pure VK_COMPONENT_SWIZZLE_A)]+                 ++++                 prec 10+                   (expectP (Ident "VkComponentSwizzle") >>+                      (VkComponentSwizzle <$> step readPrec)))++pattern VK_COMPONENT_SWIZZLE_IDENTITY :: VkComponentSwizzle++pattern VK_COMPONENT_SWIZZLE_IDENTITY = VkComponentSwizzle 0++pattern VK_COMPONENT_SWIZZLE_ZERO :: VkComponentSwizzle++pattern VK_COMPONENT_SWIZZLE_ZERO = VkComponentSwizzle 1++pattern VK_COMPONENT_SWIZZLE_ONE :: VkComponentSwizzle++pattern VK_COMPONENT_SWIZZLE_ONE = VkComponentSwizzle 2++pattern VK_COMPONENT_SWIZZLE_R :: VkComponentSwizzle++pattern VK_COMPONENT_SWIZZLE_R = VkComponentSwizzle 3++pattern VK_COMPONENT_SWIZZLE_G :: VkComponentSwizzle++pattern VK_COMPONENT_SWIZZLE_G = VkComponentSwizzle 4++pattern VK_COMPONENT_SWIZZLE_B :: VkComponentSwizzle++pattern VK_COMPONENT_SWIZZLE_B = VkComponentSwizzle 5++pattern VK_COMPONENT_SWIZZLE_A :: VkComponentSwizzle++pattern VK_COMPONENT_SWIZZLE_A = VkComponentSwizzle 6
+ src-gen/Graphics/Vulkan/Types/Enum/VkCompositeAlphaFlagsKHR.hs view
@@ -0,0 +1,122 @@+{-# 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.VkCompositeAlphaFlagsKHR+       (VkCompositeAlphaBitmaskKHR(VkCompositeAlphaBitmaskKHR,+                                   VkCompositeAlphaFlagsKHR, VkCompositeAlphaFlagBitsKHR,+                                   VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR,+                                   VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR,+                                   VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR,+                                   VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR),+        VkCompositeAlphaFlagsKHR, VkCompositeAlphaFlagBitsKHR)+       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 VkCompositeAlphaBitmaskKHR (a ::+                                      FlagType) = VkCompositeAlphaBitmaskKHR VkFlags+                                                    deriving (Eq, Ord, Storable, Data, Generic)++type VkCompositeAlphaFlagsKHR = VkCompositeAlphaBitmaskKHR FlagMask++type VkCompositeAlphaFlagBitsKHR =+     VkCompositeAlphaBitmaskKHR FlagBit++pattern VkCompositeAlphaFlagBitsKHR ::+        VkFlags -> VkCompositeAlphaBitmaskKHR FlagBit++pattern VkCompositeAlphaFlagBitsKHR n =+        VkCompositeAlphaBitmaskKHR n++pattern VkCompositeAlphaFlagsKHR ::+        VkFlags -> VkCompositeAlphaBitmaskKHR FlagMask++pattern VkCompositeAlphaFlagsKHR n = VkCompositeAlphaBitmaskKHR n++deriving instance Bits (VkCompositeAlphaBitmaskKHR FlagMask)++deriving instance FiniteBits (VkCompositeAlphaBitmaskKHR FlagMask)++deriving instance Integral (VkCompositeAlphaBitmaskKHR FlagMask)++deriving instance Num (VkCompositeAlphaBitmaskKHR FlagMask)++deriving instance Bounded (VkCompositeAlphaBitmaskKHR FlagMask)++deriving instance Enum (VkCompositeAlphaBitmaskKHR FlagMask)++deriving instance Real (VkCompositeAlphaBitmaskKHR FlagMask)++instance Show (VkCompositeAlphaBitmaskKHR a) where+        showsPrec _ VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR+          = showString "VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR"+        showsPrec _ VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR+          = showString "VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR"+        showsPrec _ VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR+          = showString "VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR"+        showsPrec _ VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR+          = showString "VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR"+        showsPrec p (VkCompositeAlphaBitmaskKHR x)+          = showParen (p >= 11)+              (showString "VkCompositeAlphaBitmaskKHR " . showsPrec 11 x)++instance Read (VkCompositeAlphaBitmaskKHR a) where+        readPrec+          = parens+              (choose+                 [("VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR",+                   pure VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR),+                  ("VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR",+                   pure VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR),+                  ("VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR",+                   pure VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR),+                  ("VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR",+                   pure VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR)]+                 ++++                 prec 10+                   (expectP (Ident "VkCompositeAlphaBitmaskKHR") >>+                      (VkCompositeAlphaBitmaskKHR <$> step readPrec)))++-- | bitpos = @0@+pattern VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR ::+        VkCompositeAlphaBitmaskKHR a++pattern VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR =+        VkCompositeAlphaBitmaskKHR 1++-- | bitpos = @1@+pattern VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR ::+        VkCompositeAlphaBitmaskKHR a++pattern VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR =+        VkCompositeAlphaBitmaskKHR 2++-- | bitpos = @2@+pattern VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR ::+        VkCompositeAlphaBitmaskKHR a++pattern VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR =+        VkCompositeAlphaBitmaskKHR 4++-- | bitpos = @3@+pattern VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR ::+        VkCompositeAlphaBitmaskKHR a++pattern VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR =+        VkCompositeAlphaBitmaskKHR 8
+ src-gen/Graphics/Vulkan/Types/Enum/VkConservativeRasterizationModeEXT.hs view
@@ -0,0 +1,72 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkConservativeRasterizationModeEXT+       (VkConservativeRasterizationModeEXT(VkConservativeRasterizationModeEXT,+                                           VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT,+                                           VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT,+                                           VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT))+       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.0-extensions/man/html/VkConservativeRasterizationModeEXT.html VkConservativeRasterizationModeEXT registry at www.khronos.org>+newtype VkConservativeRasterizationModeEXT = VkConservativeRasterizationModeEXT Int32+                                               deriving (Eq, Ord, Num, Bounded, Storable, Enum,+                                                         Data, Generic)++instance Show VkConservativeRasterizationModeEXT where+        showsPrec _ VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT+          = showString "VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT"+        showsPrec _ VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT+          = showString "VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT"+        showsPrec _ VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT+          = showString "VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT"+        showsPrec p (VkConservativeRasterizationModeEXT x)+          = showParen (p >= 11)+              (showString "VkConservativeRasterizationModeEXT " . showsPrec 11 x)++instance Read VkConservativeRasterizationModeEXT where+        readPrec+          = parens+              (choose+                 [("VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT",+                   pure VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT),+                  ("VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT",+                   pure VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT),+                  ("VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT",+                   pure VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT)]+                 ++++                 prec 10+                   (expectP (Ident "VkConservativeRasterizationModeEXT") >>+                      (VkConservativeRasterizationModeEXT <$> step readPrec)))++pattern VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT ::+        VkConservativeRasterizationModeEXT++pattern VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT =+        VkConservativeRasterizationModeEXT 0++pattern VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT ::+        VkConservativeRasterizationModeEXT++pattern VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT =+        VkConservativeRasterizationModeEXT 1++pattern VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT ::+        VkConservativeRasterizationModeEXT++pattern VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT =+        VkConservativeRasterizationModeEXT 2
+ src-gen/Graphics/Vulkan/Types/Enum/VkCoverageModulationModeNV.hs view
@@ -0,0 +1,83 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkCoverageModulationModeNV+       (VkCoverageModulationModeNV(VkCoverageModulationModeNV,+                                   VK_COVERAGE_MODULATION_MODE_NONE_NV,+                                   VK_COVERAGE_MODULATION_MODE_RGB_NV,+                                   VK_COVERAGE_MODULATION_MODE_ALPHA_NV,+                                   VK_COVERAGE_MODULATION_MODE_RGBA_NV))+       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.0-extensions/man/html/VkCoverageModulationModeNV.html VkCoverageModulationModeNV registry at www.khronos.org>+newtype VkCoverageModulationModeNV = VkCoverageModulationModeNV Int32+                                       deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,+                                                 Generic)++instance Show VkCoverageModulationModeNV where+        showsPrec _ VK_COVERAGE_MODULATION_MODE_NONE_NV+          = showString "VK_COVERAGE_MODULATION_MODE_NONE_NV"+        showsPrec _ VK_COVERAGE_MODULATION_MODE_RGB_NV+          = showString "VK_COVERAGE_MODULATION_MODE_RGB_NV"+        showsPrec _ VK_COVERAGE_MODULATION_MODE_ALPHA_NV+          = showString "VK_COVERAGE_MODULATION_MODE_ALPHA_NV"+        showsPrec _ VK_COVERAGE_MODULATION_MODE_RGBA_NV+          = showString "VK_COVERAGE_MODULATION_MODE_RGBA_NV"+        showsPrec p (VkCoverageModulationModeNV x)+          = showParen (p >= 11)+              (showString "VkCoverageModulationModeNV " . showsPrec 11 x)++instance Read VkCoverageModulationModeNV where+        readPrec+          = parens+              (choose+                 [("VK_COVERAGE_MODULATION_MODE_NONE_NV",+                   pure VK_COVERAGE_MODULATION_MODE_NONE_NV),+                  ("VK_COVERAGE_MODULATION_MODE_RGB_NV",+                   pure VK_COVERAGE_MODULATION_MODE_RGB_NV),+                  ("VK_COVERAGE_MODULATION_MODE_ALPHA_NV",+                   pure VK_COVERAGE_MODULATION_MODE_ALPHA_NV),+                  ("VK_COVERAGE_MODULATION_MODE_RGBA_NV",+                   pure VK_COVERAGE_MODULATION_MODE_RGBA_NV)]+                 ++++                 prec 10+                   (expectP (Ident "VkCoverageModulationModeNV") >>+                      (VkCoverageModulationModeNV <$> step readPrec)))++pattern VK_COVERAGE_MODULATION_MODE_NONE_NV ::+        VkCoverageModulationModeNV++pattern VK_COVERAGE_MODULATION_MODE_NONE_NV =+        VkCoverageModulationModeNV 0++pattern VK_COVERAGE_MODULATION_MODE_RGB_NV ::+        VkCoverageModulationModeNV++pattern VK_COVERAGE_MODULATION_MODE_RGB_NV =+        VkCoverageModulationModeNV 1++pattern VK_COVERAGE_MODULATION_MODE_ALPHA_NV ::+        VkCoverageModulationModeNV++pattern VK_COVERAGE_MODULATION_MODE_ALPHA_NV =+        VkCoverageModulationModeNV 2++pattern VK_COVERAGE_MODULATION_MODE_RGBA_NV ::+        VkCoverageModulationModeNV++pattern VK_COVERAGE_MODULATION_MODE_RGBA_NV =+        VkCoverageModulationModeNV 3
+ src-gen/Graphics/Vulkan/Types/Enum/VkCullModeFlags.hs view
@@ -0,0 +1,100 @@+{-# 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.VkCullModeFlags+       (VkCullModeBitmask(VkCullModeBitmask, VkCullModeFlags,+                          VkCullModeFlagBits, VK_CULL_MODE_NONE, VK_CULL_MODE_FRONT_BIT,+                          VK_CULL_MODE_BACK_BIT, VK_CULL_MODE_FRONT_AND_BACK),+        VkCullModeFlags, VkCullModeFlagBits)+       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 VkCullModeBitmask (a ::+                             FlagType) = VkCullModeBitmask VkFlags+                                           deriving (Eq, Ord, Storable, Data, Generic)++type VkCullModeFlags = VkCullModeBitmask FlagMask++type VkCullModeFlagBits = VkCullModeBitmask FlagBit++pattern VkCullModeFlagBits :: VkFlags -> VkCullModeBitmask FlagBit++pattern VkCullModeFlagBits n = VkCullModeBitmask n++pattern VkCullModeFlags :: VkFlags -> VkCullModeBitmask FlagMask++pattern VkCullModeFlags n = VkCullModeBitmask n++deriving instance Bits (VkCullModeBitmask FlagMask)++deriving instance FiniteBits (VkCullModeBitmask FlagMask)++deriving instance Integral (VkCullModeBitmask FlagMask)++deriving instance Num (VkCullModeBitmask FlagMask)++deriving instance Bounded (VkCullModeBitmask FlagMask)++deriving instance Enum (VkCullModeBitmask FlagMask)++deriving instance Real (VkCullModeBitmask FlagMask)++instance Show (VkCullModeBitmask a) where+        showsPrec _ VK_CULL_MODE_NONE = showString "VK_CULL_MODE_NONE"+        showsPrec _ VK_CULL_MODE_FRONT_BIT+          = showString "VK_CULL_MODE_FRONT_BIT"+        showsPrec _ VK_CULL_MODE_BACK_BIT+          = showString "VK_CULL_MODE_BACK_BIT"+        showsPrec _ VK_CULL_MODE_FRONT_AND_BACK+          = showString "VK_CULL_MODE_FRONT_AND_BACK"+        showsPrec p (VkCullModeBitmask x)+          = showParen (p >= 11)+              (showString "VkCullModeBitmask " . showsPrec 11 x)++instance Read (VkCullModeBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_CULL_MODE_NONE", pure VK_CULL_MODE_NONE),+                  ("VK_CULL_MODE_FRONT_BIT", pure VK_CULL_MODE_FRONT_BIT),+                  ("VK_CULL_MODE_BACK_BIT", pure VK_CULL_MODE_BACK_BIT),+                  ("VK_CULL_MODE_FRONT_AND_BACK", pure VK_CULL_MODE_FRONT_AND_BACK)]+                 ++++                 prec 10+                   (expectP (Ident "VkCullModeBitmask") >>+                      (VkCullModeBitmask <$> step readPrec)))++pattern VK_CULL_MODE_NONE :: VkCullModeBitmask a++pattern VK_CULL_MODE_NONE = VkCullModeBitmask 0++-- | bitpos = @0@+pattern VK_CULL_MODE_FRONT_BIT :: VkCullModeBitmask a++pattern VK_CULL_MODE_FRONT_BIT = VkCullModeBitmask 1++-- | bitpos = @1@+pattern VK_CULL_MODE_BACK_BIT :: VkCullModeBitmask a++pattern VK_CULL_MODE_BACK_BIT = VkCullModeBitmask 2++pattern VK_CULL_MODE_FRONT_AND_BACK :: VkCullModeBitmask a++pattern VK_CULL_MODE_FRONT_AND_BACK = VkCullModeBitmask 3
+ src-gen/Graphics/Vulkan/Types/Enum/VkDebugReportFlagsEXT.hs view
@@ -0,0 +1,126 @@+{-# 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.VkDebugReportFlagsEXT+       (VkDebugReportBitmaskEXT(VkDebugReportBitmaskEXT,+                                VkDebugReportFlagsEXT, VkDebugReportFlagBitsEXT,+                                VK_DEBUG_REPORT_INFORMATION_BIT_EXT,+                                VK_DEBUG_REPORT_WARNING_BIT_EXT,+                                VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT,+                                VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_DEBUG_BIT_EXT),+        VkDebugReportFlagsEXT, VkDebugReportFlagBitsEXT)+       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 VkDebugReportBitmaskEXT (a ::+                                   FlagType) = VkDebugReportBitmaskEXT VkFlags+                                                 deriving (Eq, Ord, Storable, Data, Generic)++type VkDebugReportFlagsEXT = VkDebugReportBitmaskEXT FlagMask++type VkDebugReportFlagBitsEXT = VkDebugReportBitmaskEXT FlagBit++pattern VkDebugReportFlagBitsEXT ::+        VkFlags -> VkDebugReportBitmaskEXT FlagBit++pattern VkDebugReportFlagBitsEXT n = VkDebugReportBitmaskEXT n++pattern VkDebugReportFlagsEXT ::+        VkFlags -> VkDebugReportBitmaskEXT FlagMask++pattern VkDebugReportFlagsEXT n = VkDebugReportBitmaskEXT n++deriving instance Bits (VkDebugReportBitmaskEXT FlagMask)++deriving instance FiniteBits (VkDebugReportBitmaskEXT FlagMask)++deriving instance Integral (VkDebugReportBitmaskEXT FlagMask)++deriving instance Num (VkDebugReportBitmaskEXT FlagMask)++deriving instance Bounded (VkDebugReportBitmaskEXT FlagMask)++deriving instance Enum (VkDebugReportBitmaskEXT FlagMask)++deriving instance Real (VkDebugReportBitmaskEXT FlagMask)++instance Show (VkDebugReportBitmaskEXT a) where+        showsPrec _ VK_DEBUG_REPORT_INFORMATION_BIT_EXT+          = showString "VK_DEBUG_REPORT_INFORMATION_BIT_EXT"+        showsPrec _ VK_DEBUG_REPORT_WARNING_BIT_EXT+          = showString "VK_DEBUG_REPORT_WARNING_BIT_EXT"+        showsPrec _ VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT+          = showString "VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT"+        showsPrec _ VK_DEBUG_REPORT_ERROR_BIT_EXT+          = showString "VK_DEBUG_REPORT_ERROR_BIT_EXT"+        showsPrec _ VK_DEBUG_REPORT_DEBUG_BIT_EXT+          = showString "VK_DEBUG_REPORT_DEBUG_BIT_EXT"+        showsPrec p (VkDebugReportBitmaskEXT x)+          = showParen (p >= 11)+              (showString "VkDebugReportBitmaskEXT " . showsPrec 11 x)++instance Read (VkDebugReportBitmaskEXT a) where+        readPrec+          = parens+              (choose+                 [("VK_DEBUG_REPORT_INFORMATION_BIT_EXT",+                   pure VK_DEBUG_REPORT_INFORMATION_BIT_EXT),+                  ("VK_DEBUG_REPORT_WARNING_BIT_EXT",+                   pure VK_DEBUG_REPORT_WARNING_BIT_EXT),+                  ("VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT",+                   pure VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT),+                  ("VK_DEBUG_REPORT_ERROR_BIT_EXT",+                   pure VK_DEBUG_REPORT_ERROR_BIT_EXT),+                  ("VK_DEBUG_REPORT_DEBUG_BIT_EXT",+                   pure VK_DEBUG_REPORT_DEBUG_BIT_EXT)]+                 ++++                 prec 10+                   (expectP (Ident "VkDebugReportBitmaskEXT") >>+                      (VkDebugReportBitmaskEXT <$> step readPrec)))++-- | bitpos = @0@+pattern VK_DEBUG_REPORT_INFORMATION_BIT_EXT ::+        VkDebugReportBitmaskEXT a++pattern VK_DEBUG_REPORT_INFORMATION_BIT_EXT =+        VkDebugReportBitmaskEXT 1++-- | bitpos = @1@+pattern VK_DEBUG_REPORT_WARNING_BIT_EXT ::+        VkDebugReportBitmaskEXT a++pattern VK_DEBUG_REPORT_WARNING_BIT_EXT = VkDebugReportBitmaskEXT 2++-- | bitpos = @2@+pattern VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT ::+        VkDebugReportBitmaskEXT a++pattern VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT =+        VkDebugReportBitmaskEXT 4++-- | bitpos = @3@+pattern VK_DEBUG_REPORT_ERROR_BIT_EXT :: VkDebugReportBitmaskEXT a++pattern VK_DEBUG_REPORT_ERROR_BIT_EXT = VkDebugReportBitmaskEXT 8++-- | bitpos = @4@+pattern VK_DEBUG_REPORT_DEBUG_BIT_EXT :: VkDebugReportBitmaskEXT a++pattern VK_DEBUG_REPORT_DEBUG_BIT_EXT = VkDebugReportBitmaskEXT 16
+ src-gen/Graphics/Vulkan/Types/Enum/VkDebugReportObjectTypeEXT.hs view
@@ -0,0 +1,418 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkDebugReportObjectTypeEXT+       (VkDebugReportObjectTypeEXT(VkDebugReportObjectTypeEXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT,+                                   VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT))+       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.0-extensions/man/html/VkDebugReportObjectTypeEXT.html VkDebugReportObjectTypeEXT registry at www.khronos.org>+newtype VkDebugReportObjectTypeEXT = VkDebugReportObjectTypeEXT Int32+                                       deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,+                                                 Generic)++instance Show VkDebugReportObjectTypeEXT where+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT+          = showString+              "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT"+        showsPrec _+          VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT+          = showString+              "VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT"+        showsPrec _+          VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT+          = showString+              "VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT"+        showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT+          = showString "VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT"+        showsPrec p (VkDebugReportObjectTypeEXT x)+          = showParen (p >= 11)+              (showString "VkDebugReportObjectTypeEXT " . showsPrec 11 x)++instance Read VkDebugReportObjectTypeEXT where+        readPrec+          = parens+              (choose+                 [("VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT),+                  ("VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT",+                   pure VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT)]+                 ++++                 prec 10+                   (expectP (Ident "VkDebugReportObjectTypeEXT") >>+                      (VkDebugReportObjectTypeEXT <$> step readPrec)))++pattern VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT =+        VkDebugReportObjectTypeEXT 0++pattern VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT =+        VkDebugReportObjectTypeEXT 1++pattern VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT =+        VkDebugReportObjectTypeEXT 2++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT =+        VkDebugReportObjectTypeEXT 3++pattern VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT =+        VkDebugReportObjectTypeEXT 4++pattern VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT =+        VkDebugReportObjectTypeEXT 5++pattern VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT =+        VkDebugReportObjectTypeEXT 6++pattern VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT =+        VkDebugReportObjectTypeEXT 7++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT =+        VkDebugReportObjectTypeEXT 8++pattern VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT =+        VkDebugReportObjectTypeEXT 9++pattern VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT =+        VkDebugReportObjectTypeEXT 10++pattern VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT =+        VkDebugReportObjectTypeEXT 11++pattern VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT =+        VkDebugReportObjectTypeEXT 12++pattern VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT =+        VkDebugReportObjectTypeEXT 13++pattern VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT =+        VkDebugReportObjectTypeEXT 14++pattern VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT =+        VkDebugReportObjectTypeEXT 15++pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT =+        VkDebugReportObjectTypeEXT 16++pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT =+        VkDebugReportObjectTypeEXT 17++pattern VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT =+        VkDebugReportObjectTypeEXT 18++pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT =+        VkDebugReportObjectTypeEXT 19++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT =+        VkDebugReportObjectTypeEXT 20++pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT =+        VkDebugReportObjectTypeEXT 21++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT =+        VkDebugReportObjectTypeEXT 22++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT =+        VkDebugReportObjectTypeEXT 23++pattern VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT =+        VkDebugReportObjectTypeEXT 24++pattern VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT =+        VkDebugReportObjectTypeEXT 25++pattern VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT =+        VkDebugReportObjectTypeEXT 26++pattern VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT =+        VkDebugReportObjectTypeEXT 27++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT+        :: VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT =+        VkDebugReportObjectTypeEXT 28++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT =+        VkDebugReportObjectTypeEXT 29++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT =+        VkDebugReportObjectTypeEXT 30++pattern VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT =+        VkDebugReportObjectTypeEXT 31++pattern VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT+        :: VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT+        = VkDebugReportObjectTypeEXT 32++pattern VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT ::+        VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT =+        VkDebugReportObjectTypeEXT 33
+ src-gen/Graphics/Vulkan/Types/Enum/VkDependencyFlags.hs view
@@ -0,0 +1,82 @@+{-# 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.VkDependencyFlags+       (VkDependencyBitmask(VkDependencyBitmask, VkDependencyFlags,+                            VkDependencyFlagBits, VK_DEPENDENCY_BY_REGION_BIT),+        VkDependencyFlags, VkDependencyFlagBits)+       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 VkDependencyBitmask (a ::+                               FlagType) = VkDependencyBitmask VkFlags+                                             deriving (Eq, Ord, Storable, Data, Generic)++type VkDependencyFlags = VkDependencyBitmask FlagMask++type VkDependencyFlagBits = VkDependencyBitmask FlagBit++pattern VkDependencyFlagBits ::+        VkFlags -> VkDependencyBitmask FlagBit++pattern VkDependencyFlagBits n = VkDependencyBitmask n++pattern VkDependencyFlags ::+        VkFlags -> VkDependencyBitmask FlagMask++pattern VkDependencyFlags n = VkDependencyBitmask n++deriving instance Bits (VkDependencyBitmask FlagMask)++deriving instance FiniteBits (VkDependencyBitmask FlagMask)++deriving instance Integral (VkDependencyBitmask FlagMask)++deriving instance Num (VkDependencyBitmask FlagMask)++deriving instance Bounded (VkDependencyBitmask FlagMask)++deriving instance Enum (VkDependencyBitmask FlagMask)++deriving instance Real (VkDependencyBitmask FlagMask)++instance Show (VkDependencyBitmask a) where+        showsPrec _ VK_DEPENDENCY_BY_REGION_BIT+          = showString "VK_DEPENDENCY_BY_REGION_BIT"+        showsPrec p (VkDependencyBitmask x)+          = showParen (p >= 11)+              (showString "VkDependencyBitmask " . showsPrec 11 x)++instance Read (VkDependencyBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_DEPENDENCY_BY_REGION_BIT", pure VK_DEPENDENCY_BY_REGION_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkDependencyBitmask") >>+                      (VkDependencyBitmask <$> step readPrec)))++-- | Dependency is per pixel region+--+--   bitpos = @0@+pattern VK_DEPENDENCY_BY_REGION_BIT :: VkDependencyBitmask a++pattern VK_DEPENDENCY_BY_REGION_BIT = VkDependencyBitmask 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkDescriptorPoolCreateFlags.hs view
@@ -0,0 +1,91 @@+{-# 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.VkDescriptorPoolCreateFlags+       (VkDescriptorPoolCreateBitmask(VkDescriptorPoolCreateBitmask,+                                      VkDescriptorPoolCreateFlags, VkDescriptorPoolCreateFlagBits,+                                      VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT),+        VkDescriptorPoolCreateFlags, VkDescriptorPoolCreateFlagBits)+       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 VkDescriptorPoolCreateBitmask (a ::+                                         FlagType) = VkDescriptorPoolCreateBitmask VkFlags+                                                       deriving (Eq, Ord, Storable, Data, Generic)++type VkDescriptorPoolCreateFlags =+     VkDescriptorPoolCreateBitmask FlagMask++type VkDescriptorPoolCreateFlagBits =+     VkDescriptorPoolCreateBitmask FlagBit++pattern VkDescriptorPoolCreateFlagBits ::+        VkFlags -> VkDescriptorPoolCreateBitmask FlagBit++pattern VkDescriptorPoolCreateFlagBits n =+        VkDescriptorPoolCreateBitmask n++pattern VkDescriptorPoolCreateFlags ::+        VkFlags -> VkDescriptorPoolCreateBitmask FlagMask++pattern VkDescriptorPoolCreateFlags n =+        VkDescriptorPoolCreateBitmask n++deriving instance Bits (VkDescriptorPoolCreateBitmask FlagMask)++deriving instance+         FiniteBits (VkDescriptorPoolCreateBitmask FlagMask)++deriving instance Integral (VkDescriptorPoolCreateBitmask FlagMask)++deriving instance Num (VkDescriptorPoolCreateBitmask FlagMask)++deriving instance Bounded (VkDescriptorPoolCreateBitmask FlagMask)++deriving instance Enum (VkDescriptorPoolCreateBitmask FlagMask)++deriving instance Real (VkDescriptorPoolCreateBitmask FlagMask)++instance Show (VkDescriptorPoolCreateBitmask a) where+        showsPrec _ VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT+          = showString "VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT"+        showsPrec p (VkDescriptorPoolCreateBitmask x)+          = showParen (p >= 11)+              (showString "VkDescriptorPoolCreateBitmask " . showsPrec 11 x)++instance Read (VkDescriptorPoolCreateBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT",+                   pure VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkDescriptorPoolCreateBitmask") >>+                      (VkDescriptorPoolCreateBitmask <$> step readPrec)))++-- | Descriptor sets may be freed individually+--+--   bitpos = @0@+pattern VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT ::+        VkDescriptorPoolCreateBitmask a++pattern VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT =+        VkDescriptorPoolCreateBitmask 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkDescriptorSetLayoutCreateFlags.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.VkDescriptorSetLayoutCreateFlags+       (VkDescriptorSetLayoutCreateBitmask(VkDescriptorSetLayoutCreateBitmask,+                                           VkDescriptorSetLayoutCreateFlags,+                                           VkDescriptorSetLayoutCreateFlagBits),+        VkDescriptorSetLayoutCreateFlags,+        VkDescriptorSetLayoutCreateFlagBits)+       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 VkDescriptorSetLayoutCreateBitmask (a ::+                                              FlagType) = VkDescriptorSetLayoutCreateBitmask VkFlags+                                                            deriving (Eq, Ord, Storable, Data,+                                                                      Generic)++type VkDescriptorSetLayoutCreateFlags =+     VkDescriptorSetLayoutCreateBitmask FlagMask++type VkDescriptorSetLayoutCreateFlagBits =+     VkDescriptorSetLayoutCreateBitmask FlagBit++pattern VkDescriptorSetLayoutCreateFlagBits ::+        VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagBit++pattern VkDescriptorSetLayoutCreateFlagBits n =+        VkDescriptorSetLayoutCreateBitmask n++pattern VkDescriptorSetLayoutCreateFlags ::+        VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagMask++pattern VkDescriptorSetLayoutCreateFlags n =+        VkDescriptorSetLayoutCreateBitmask n++deriving instance+         Bits (VkDescriptorSetLayoutCreateBitmask FlagMask)++deriving instance+         FiniteBits (VkDescriptorSetLayoutCreateBitmask FlagMask)++deriving instance+         Integral (VkDescriptorSetLayoutCreateBitmask FlagMask)++deriving instance Num (VkDescriptorSetLayoutCreateBitmask FlagMask)++deriving instance+         Bounded (VkDescriptorSetLayoutCreateBitmask FlagMask)++deriving instance+         Enum (VkDescriptorSetLayoutCreateBitmask FlagMask)++deriving instance+         Real (VkDescriptorSetLayoutCreateBitmask FlagMask)++instance Show (VkDescriptorSetLayoutCreateBitmask a) where+        showsPrec p (VkDescriptorSetLayoutCreateBitmask x)+          = showParen (p >= 11)+              (showString "VkDescriptorSetLayoutCreateBitmask " . showsPrec 11 x)++instance Read (VkDescriptorSetLayoutCreateBitmask a) where+        readPrec+          = parens+              (choose [] ++++                 prec 10+                   (expectP (Ident "VkDescriptorSetLayoutCreateBitmask") >>+                      (VkDescriptorSetLayoutCreateBitmask <$> step readPrec)))
+ src-gen/Graphics/Vulkan/Types/Enum/VkDescriptorType.hs view
@@ -0,0 +1,142 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkDescriptorType+       (VkDescriptorType(VkDescriptorType, VK_DESCRIPTOR_TYPE_SAMPLER,+                         VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,+                         VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,+                         VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER,+                         VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER,+                         VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,+                         VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,+                         VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,+                         VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC,+                         VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT))+       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.0-extensions/man/html/VkDescriptorType.html VkDescriptorType registry at www.khronos.org>+newtype VkDescriptorType = VkDescriptorType Int32+                             deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkDescriptorType where+        showsPrec _ VK_DESCRIPTOR_TYPE_SAMPLER+          = showString "VK_DESCRIPTOR_TYPE_SAMPLER"+        showsPrec _ VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER+          = showString "VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER"+        showsPrec _ VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE+          = showString "VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE"+        showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_IMAGE+          = showString "VK_DESCRIPTOR_TYPE_STORAGE_IMAGE"+        showsPrec _ VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER+          = showString "VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER"+        showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER+          = showString "VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER"+        showsPrec _ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER+          = showString "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER"+        showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_BUFFER+          = showString "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER"+        showsPrec _ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC+          = showString "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC"+        showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC+          = showString "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC"+        showsPrec _ VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT+          = showString "VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT"+        showsPrec p (VkDescriptorType x)+          = showParen (p >= 11)+              (showString "VkDescriptorType " . showsPrec 11 x)++instance Read VkDescriptorType where+        readPrec+          = parens+              (choose+                 [("VK_DESCRIPTOR_TYPE_SAMPLER", pure VK_DESCRIPTOR_TYPE_SAMPLER),+                  ("VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER",+                   pure VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER),+                  ("VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE",+                   pure VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE),+                  ("VK_DESCRIPTOR_TYPE_STORAGE_IMAGE",+                   pure VK_DESCRIPTOR_TYPE_STORAGE_IMAGE),+                  ("VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER",+                   pure VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER),+                  ("VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER",+                   pure VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER),+                  ("VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER",+                   pure VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER),+                  ("VK_DESCRIPTOR_TYPE_STORAGE_BUFFER",+                   pure VK_DESCRIPTOR_TYPE_STORAGE_BUFFER),+                  ("VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC",+                   pure VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC),+                  ("VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC",+                   pure VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC),+                  ("VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT",+                   pure VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT)]+                 ++++                 prec 10+                   (expectP (Ident "VkDescriptorType") >>+                      (VkDescriptorType <$> step readPrec)))++pattern VK_DESCRIPTOR_TYPE_SAMPLER :: VkDescriptorType++pattern VK_DESCRIPTOR_TYPE_SAMPLER = VkDescriptorType 0++pattern VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER ::+        VkDescriptorType++pattern VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER =+        VkDescriptorType 1++pattern VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE :: VkDescriptorType++pattern VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = VkDescriptorType 2++pattern VK_DESCRIPTOR_TYPE_STORAGE_IMAGE :: VkDescriptorType++pattern VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = VkDescriptorType 3++pattern VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER :: VkDescriptorType++pattern VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER =+        VkDescriptorType 4++pattern VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER :: VkDescriptorType++pattern VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER =+        VkDescriptorType 5++pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER :: VkDescriptorType++pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = VkDescriptorType 6++pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER :: VkDescriptorType++pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = VkDescriptorType 7++pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC ::+        VkDescriptorType++pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC =+        VkDescriptorType 8++pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC ::+        VkDescriptorType++pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC =+        VkDescriptorType 9++pattern VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT :: VkDescriptorType++pattern VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = VkDescriptorType 10
+ src-gen/Graphics/Vulkan/Types/Enum/VkDescriptorUpdateTemplateTypeKHR.hs view
@@ -0,0 +1,65 @@+{-# 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+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.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)++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)++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
+ src-gen/Graphics/Vulkan/Types/Enum/VkDeviceCreateFlagBits.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkDeviceCreateFlagBits+       (VkDeviceCreateFlagBits(..)) 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 VkDeviceCreateFlagBits = VkDeviceCreateFlagBits VkFlags+                                   deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                             FiniteBits, Storable, Real, Data, Generic)++instance Show VkDeviceCreateFlagBits where+        {-# INLINE show #-}+        show (VkDeviceCreateFlagBits x) = show x++instance Read VkDeviceCreateFlagBits where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkDeviceEventTypeEXT.hs view
@@ -0,0 +1,49 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkDeviceEventTypeEXT+       (VkDeviceEventTypeEXT(VkDeviceEventTypeEXT,+                             VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT))+       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.0-extensions/man/html/VkDeviceEventTypeEXT.html VkDeviceEventTypeEXT registry at www.khronos.org>+newtype VkDeviceEventTypeEXT = VkDeviceEventTypeEXT Int32+                                 deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkDeviceEventTypeEXT where+        showsPrec _ VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT+          = showString "VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT"+        showsPrec p (VkDeviceEventTypeEXT x)+          = showParen (p >= 11)+              (showString "VkDeviceEventTypeEXT " . showsPrec 11 x)++instance Read VkDeviceEventTypeEXT where+        readPrec+          = parens+              (choose+                 [("VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT",+                   pure VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT)]+                 ++++                 prec 10+                   (expectP (Ident "VkDeviceEventTypeEXT") >>+                      (VkDeviceEventTypeEXT <$> step readPrec)))++pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT ::+        VkDeviceEventTypeEXT++pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT =+        VkDeviceEventTypeEXT 0
+ src-gen/Graphics/Vulkan/Types/Enum/VkDeviceGroupPresentModeFlagsKHX.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.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 view
@@ -0,0 +1,25 @@+{-# 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/VkDiscardRectangleModeEXT.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.VkDiscardRectangleModeEXT+       (VkDiscardRectangleModeEXT(VkDiscardRectangleModeEXT,+                                  VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT,+                                  VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT))+       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.0-extensions/man/html/VkDiscardRectangleModeEXT.html VkDiscardRectangleModeEXT registry at www.khronos.org>+newtype VkDiscardRectangleModeEXT = VkDiscardRectangleModeEXT Int32+                                      deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,+                                                Generic)++instance Show VkDiscardRectangleModeEXT where+        showsPrec _ VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT+          = showString "VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT"+        showsPrec _ VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT+          = showString "VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT"+        showsPrec p (VkDiscardRectangleModeEXT x)+          = showParen (p >= 11)+              (showString "VkDiscardRectangleModeEXT " . showsPrec 11 x)++instance Read VkDiscardRectangleModeEXT where+        readPrec+          = parens+              (choose+                 [("VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT",+                   pure VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT),+                  ("VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT",+                   pure VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT)]+                 ++++                 prec 10+                   (expectP (Ident "VkDiscardRectangleModeEXT") >>+                      (VkDiscardRectangleModeEXT <$> step readPrec)))++pattern VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT ::+        VkDiscardRectangleModeEXT++pattern VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT =+        VkDiscardRectangleModeEXT 0++pattern VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT ::+        VkDiscardRectangleModeEXT++pattern VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT =+        VkDiscardRectangleModeEXT 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkDisplayEventTypeEXT.hs view
@@ -0,0 +1,49 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkDisplayEventTypeEXT+       (VkDisplayEventTypeEXT(VkDisplayEventTypeEXT,+                              VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT))+       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.0-extensions/man/html/VkDisplayEventTypeEXT.html VkDisplayEventTypeEXT registry at www.khronos.org>+newtype VkDisplayEventTypeEXT = VkDisplayEventTypeEXT Int32+                                  deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkDisplayEventTypeEXT where+        showsPrec _ VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT+          = showString "VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT"+        showsPrec p (VkDisplayEventTypeEXT x)+          = showParen (p >= 11)+              (showString "VkDisplayEventTypeEXT " . showsPrec 11 x)++instance Read VkDisplayEventTypeEXT where+        readPrec+          = parens+              (choose+                 [("VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT",+                   pure VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT)]+                 ++++                 prec 10+                   (expectP (Ident "VkDisplayEventTypeEXT") >>+                      (VkDisplayEventTypeEXT <$> step readPrec)))++pattern VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT ::+        VkDisplayEventTypeEXT++pattern VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT =+        VkDisplayEventTypeEXT 0
+ src-gen/Graphics/Vulkan/Types/Enum/VkDisplayPlaneAlphaFlagsKHR.hs view
@@ -0,0 +1,126 @@+{-# 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.VkDisplayPlaneAlphaFlagsKHR+       (VkDisplayPlaneAlphaBitmaskKHR(VkDisplayPlaneAlphaBitmaskKHR,+                                      VkDisplayPlaneAlphaFlagsKHR, VkDisplayPlaneAlphaFlagBitsKHR,+                                      VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR,+                                      VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR,+                                      VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR,+                                      VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR),+        VkDisplayPlaneAlphaFlagsKHR, VkDisplayPlaneAlphaFlagBitsKHR)+       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 VkDisplayPlaneAlphaBitmaskKHR (a ::+                                         FlagType) = VkDisplayPlaneAlphaBitmaskKHR VkFlags+                                                       deriving (Eq, Ord, Storable, Data, Generic)++type VkDisplayPlaneAlphaFlagsKHR =+     VkDisplayPlaneAlphaBitmaskKHR FlagMask++type VkDisplayPlaneAlphaFlagBitsKHR =+     VkDisplayPlaneAlphaBitmaskKHR FlagBit++pattern VkDisplayPlaneAlphaFlagBitsKHR ::+        VkFlags -> VkDisplayPlaneAlphaBitmaskKHR FlagBit++pattern VkDisplayPlaneAlphaFlagBitsKHR n =+        VkDisplayPlaneAlphaBitmaskKHR n++pattern VkDisplayPlaneAlphaFlagsKHR ::+        VkFlags -> VkDisplayPlaneAlphaBitmaskKHR FlagMask++pattern VkDisplayPlaneAlphaFlagsKHR n =+        VkDisplayPlaneAlphaBitmaskKHR n++deriving instance Bits (VkDisplayPlaneAlphaBitmaskKHR FlagMask)++deriving instance+         FiniteBits (VkDisplayPlaneAlphaBitmaskKHR FlagMask)++deriving instance Integral (VkDisplayPlaneAlphaBitmaskKHR FlagMask)++deriving instance Num (VkDisplayPlaneAlphaBitmaskKHR FlagMask)++deriving instance Bounded (VkDisplayPlaneAlphaBitmaskKHR FlagMask)++deriving instance Enum (VkDisplayPlaneAlphaBitmaskKHR FlagMask)++deriving instance Real (VkDisplayPlaneAlphaBitmaskKHR FlagMask)++instance Show (VkDisplayPlaneAlphaBitmaskKHR a) where+        showsPrec _ VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR+          = showString "VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR"+        showsPrec _ VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR+          = showString "VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR"+        showsPrec _ VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR+          = showString "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR"+        showsPrec _ VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR+          = showString+              "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR"+        showsPrec p (VkDisplayPlaneAlphaBitmaskKHR x)+          = showParen (p >= 11)+              (showString "VkDisplayPlaneAlphaBitmaskKHR " . showsPrec 11 x)++instance Read (VkDisplayPlaneAlphaBitmaskKHR a) where+        readPrec+          = parens+              (choose+                 [("VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR",+                   pure VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR),+                  ("VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR",+                   pure VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR),+                  ("VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR",+                   pure VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR),+                  ("VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR",+                   pure VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR)]+                 ++++                 prec 10+                   (expectP (Ident "VkDisplayPlaneAlphaBitmaskKHR") >>+                      (VkDisplayPlaneAlphaBitmaskKHR <$> step readPrec)))++-- | bitpos = @0@+pattern VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR ::+        VkDisplayPlaneAlphaBitmaskKHR a++pattern VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR =+        VkDisplayPlaneAlphaBitmaskKHR 1++-- | bitpos = @1@+pattern VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR ::+        VkDisplayPlaneAlphaBitmaskKHR a++pattern VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR =+        VkDisplayPlaneAlphaBitmaskKHR 2++-- | bitpos = @2@+pattern VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR ::+        VkDisplayPlaneAlphaBitmaskKHR a++pattern VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR =+        VkDisplayPlaneAlphaBitmaskKHR 4++-- | bitpos = @3@+pattern VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR ::+        VkDisplayPlaneAlphaBitmaskKHR a++pattern VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR =+        VkDisplayPlaneAlphaBitmaskKHR 8
+ src-gen/Graphics/Vulkan/Types/Enum/VkDisplayPowerStateEXT.hs view
@@ -0,0 +1,66 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkDisplayPowerStateEXT+       (VkDisplayPowerStateEXT(VkDisplayPowerStateEXT,+                               VK_DISPLAY_POWER_STATE_OFF_EXT, VK_DISPLAY_POWER_STATE_SUSPEND_EXT,+                               VK_DISPLAY_POWER_STATE_ON_EXT))+       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.0-extensions/man/html/VkDisplayPowerStateEXT.html VkDisplayPowerStateEXT registry at www.khronos.org>+newtype VkDisplayPowerStateEXT = VkDisplayPowerStateEXT Int32+                                   deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkDisplayPowerStateEXT where+        showsPrec _ VK_DISPLAY_POWER_STATE_OFF_EXT+          = showString "VK_DISPLAY_POWER_STATE_OFF_EXT"+        showsPrec _ VK_DISPLAY_POWER_STATE_SUSPEND_EXT+          = showString "VK_DISPLAY_POWER_STATE_SUSPEND_EXT"+        showsPrec _ VK_DISPLAY_POWER_STATE_ON_EXT+          = showString "VK_DISPLAY_POWER_STATE_ON_EXT"+        showsPrec p (VkDisplayPowerStateEXT x)+          = showParen (p >= 11)+              (showString "VkDisplayPowerStateEXT " . showsPrec 11 x)++instance Read VkDisplayPowerStateEXT where+        readPrec+          = parens+              (choose+                 [("VK_DISPLAY_POWER_STATE_OFF_EXT",+                   pure VK_DISPLAY_POWER_STATE_OFF_EXT),+                  ("VK_DISPLAY_POWER_STATE_SUSPEND_EXT",+                   pure VK_DISPLAY_POWER_STATE_SUSPEND_EXT),+                  ("VK_DISPLAY_POWER_STATE_ON_EXT",+                   pure VK_DISPLAY_POWER_STATE_ON_EXT)]+                 ++++                 prec 10+                   (expectP (Ident "VkDisplayPowerStateEXT") >>+                      (VkDisplayPowerStateEXT <$> step readPrec)))++pattern VK_DISPLAY_POWER_STATE_OFF_EXT :: VkDisplayPowerStateEXT++pattern VK_DISPLAY_POWER_STATE_OFF_EXT = VkDisplayPowerStateEXT 0++pattern VK_DISPLAY_POWER_STATE_SUSPEND_EXT ::+        VkDisplayPowerStateEXT++pattern VK_DISPLAY_POWER_STATE_SUSPEND_EXT =+        VkDisplayPowerStateEXT 1++pattern VK_DISPLAY_POWER_STATE_ON_EXT :: VkDisplayPowerStateEXT++pattern VK_DISPLAY_POWER_STATE_ON_EXT = VkDisplayPowerStateEXT 2
+ src-gen/Graphics/Vulkan/Types/Enum/VkDynamicState.hs view
@@ -0,0 +1,112 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkDynamicState+       (VkDynamicState(VkDynamicState, VK_DYNAMIC_STATE_VIEWPORT,+                       VK_DYNAMIC_STATE_SCISSOR, VK_DYNAMIC_STATE_LINE_WIDTH,+                       VK_DYNAMIC_STATE_DEPTH_BIAS, VK_DYNAMIC_STATE_BLEND_CONSTANTS,+                       VK_DYNAMIC_STATE_DEPTH_BOUNDS,+                       VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK,+                       VK_DYNAMIC_STATE_STENCIL_WRITE_MASK,+                       VK_DYNAMIC_STATE_STENCIL_REFERENCE))+       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.0-extensions/man/html/VkDynamicState.html VkDynamicState registry at www.khronos.org>+newtype VkDynamicState = VkDynamicState Int32+                           deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkDynamicState where+        showsPrec _ VK_DYNAMIC_STATE_VIEWPORT+          = showString "VK_DYNAMIC_STATE_VIEWPORT"+        showsPrec _ VK_DYNAMIC_STATE_SCISSOR+          = showString "VK_DYNAMIC_STATE_SCISSOR"+        showsPrec _ VK_DYNAMIC_STATE_LINE_WIDTH+          = showString "VK_DYNAMIC_STATE_LINE_WIDTH"+        showsPrec _ VK_DYNAMIC_STATE_DEPTH_BIAS+          = showString "VK_DYNAMIC_STATE_DEPTH_BIAS"+        showsPrec _ VK_DYNAMIC_STATE_BLEND_CONSTANTS+          = showString "VK_DYNAMIC_STATE_BLEND_CONSTANTS"+        showsPrec _ VK_DYNAMIC_STATE_DEPTH_BOUNDS+          = showString "VK_DYNAMIC_STATE_DEPTH_BOUNDS"+        showsPrec _ VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK+          = showString "VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK"+        showsPrec _ VK_DYNAMIC_STATE_STENCIL_WRITE_MASK+          = showString "VK_DYNAMIC_STATE_STENCIL_WRITE_MASK"+        showsPrec _ VK_DYNAMIC_STATE_STENCIL_REFERENCE+          = showString "VK_DYNAMIC_STATE_STENCIL_REFERENCE"+        showsPrec p (VkDynamicState x)+          = showParen (p >= 11)+              (showString "VkDynamicState " . showsPrec 11 x)++instance Read VkDynamicState where+        readPrec+          = parens+              (choose+                 [("VK_DYNAMIC_STATE_VIEWPORT", pure VK_DYNAMIC_STATE_VIEWPORT),+                  ("VK_DYNAMIC_STATE_SCISSOR", pure VK_DYNAMIC_STATE_SCISSOR),+                  ("VK_DYNAMIC_STATE_LINE_WIDTH", pure VK_DYNAMIC_STATE_LINE_WIDTH),+                  ("VK_DYNAMIC_STATE_DEPTH_BIAS", pure VK_DYNAMIC_STATE_DEPTH_BIAS),+                  ("VK_DYNAMIC_STATE_BLEND_CONSTANTS",+                   pure VK_DYNAMIC_STATE_BLEND_CONSTANTS),+                  ("VK_DYNAMIC_STATE_DEPTH_BOUNDS",+                   pure VK_DYNAMIC_STATE_DEPTH_BOUNDS),+                  ("VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK",+                   pure VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK),+                  ("VK_DYNAMIC_STATE_STENCIL_WRITE_MASK",+                   pure VK_DYNAMIC_STATE_STENCIL_WRITE_MASK),+                  ("VK_DYNAMIC_STATE_STENCIL_REFERENCE",+                   pure VK_DYNAMIC_STATE_STENCIL_REFERENCE)]+                 ++++                 prec 10+                   (expectP (Ident "VkDynamicState") >>+                      (VkDynamicState <$> step readPrec)))++pattern VK_DYNAMIC_STATE_VIEWPORT :: VkDynamicState++pattern VK_DYNAMIC_STATE_VIEWPORT = VkDynamicState 0++pattern VK_DYNAMIC_STATE_SCISSOR :: VkDynamicState++pattern VK_DYNAMIC_STATE_SCISSOR = VkDynamicState 1++pattern VK_DYNAMIC_STATE_LINE_WIDTH :: VkDynamicState++pattern VK_DYNAMIC_STATE_LINE_WIDTH = VkDynamicState 2++pattern VK_DYNAMIC_STATE_DEPTH_BIAS :: VkDynamicState++pattern VK_DYNAMIC_STATE_DEPTH_BIAS = VkDynamicState 3++pattern VK_DYNAMIC_STATE_BLEND_CONSTANTS :: VkDynamicState++pattern VK_DYNAMIC_STATE_BLEND_CONSTANTS = VkDynamicState 4++pattern VK_DYNAMIC_STATE_DEPTH_BOUNDS :: VkDynamicState++pattern VK_DYNAMIC_STATE_DEPTH_BOUNDS = VkDynamicState 5++pattern VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK :: VkDynamicState++pattern VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = VkDynamicState 6++pattern VK_DYNAMIC_STATE_STENCIL_WRITE_MASK :: VkDynamicState++pattern VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = VkDynamicState 7++pattern VK_DYNAMIC_STATE_STENCIL_REFERENCE :: VkDynamicState++pattern VK_DYNAMIC_STATE_STENCIL_REFERENCE = VkDynamicState 8
+ src-gen/Graphics/Vulkan/Types/Enum/VkExternalFenceFeatureFlagsKHR.hs view
@@ -0,0 +1,105 @@+{-# 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/VkExternalFenceHandleTypeFlagsKHR.hs view
@@ -0,0 +1,136 @@+{-# 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/VkExternalMemoryFeatureFlagsKHR.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.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/VkExternalMemoryFeatureFlagsNV.hs view
@@ -0,0 +1,117 @@+{-# 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.VkExternalMemoryFeatureFlagsNV+       (VkExternalMemoryFeatureBitmaskNV(VkExternalMemoryFeatureBitmaskNV,+                                         VkExternalMemoryFeatureFlagsNV,+                                         VkExternalMemoryFeatureFlagBitsNV,+                                         VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV,+                                         VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV,+                                         VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV),+        VkExternalMemoryFeatureFlagsNV, VkExternalMemoryFeatureFlagBitsNV)+       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 VkExternalMemoryFeatureBitmaskNV (a ::+                                            FlagType) = VkExternalMemoryFeatureBitmaskNV VkFlags+                                                          deriving (Eq, Ord, Storable, Data,+                                                                    Generic)++type VkExternalMemoryFeatureFlagsNV =+     VkExternalMemoryFeatureBitmaskNV FlagMask++type VkExternalMemoryFeatureFlagBitsNV =+     VkExternalMemoryFeatureBitmaskNV FlagBit++pattern VkExternalMemoryFeatureFlagBitsNV ::+        VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagBit++pattern VkExternalMemoryFeatureFlagBitsNV n =+        VkExternalMemoryFeatureBitmaskNV n++pattern VkExternalMemoryFeatureFlagsNV ::+        VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagMask++pattern VkExternalMemoryFeatureFlagsNV n =+        VkExternalMemoryFeatureBitmaskNV n++deriving instance Bits (VkExternalMemoryFeatureBitmaskNV FlagMask)++deriving instance+         FiniteBits (VkExternalMemoryFeatureBitmaskNV FlagMask)++deriving instance+         Integral (VkExternalMemoryFeatureBitmaskNV FlagMask)++deriving instance Num (VkExternalMemoryFeatureBitmaskNV FlagMask)++deriving instance+         Bounded (VkExternalMemoryFeatureBitmaskNV FlagMask)++deriving instance Enum (VkExternalMemoryFeatureBitmaskNV FlagMask)++deriving instance Real (VkExternalMemoryFeatureBitmaskNV FlagMask)++instance Show (VkExternalMemoryFeatureBitmaskNV a) where+        showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV+          = showString "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV"+        showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV+          = showString "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV"+        showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV+          = showString "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV"+        showsPrec p (VkExternalMemoryFeatureBitmaskNV x)+          = showParen (p >= 11)+              (showString "VkExternalMemoryFeatureBitmaskNV " . showsPrec 11 x)++instance Read (VkExternalMemoryFeatureBitmaskNV a) where+        readPrec+          = parens+              (choose+                 [("VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV",+                   pure VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV),+                  ("VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV",+                   pure VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV),+                  ("VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV",+                   pure VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV)]+                 ++++                 prec 10+                   (expectP (Ident "VkExternalMemoryFeatureBitmaskNV") >>+                      (VkExternalMemoryFeatureBitmaskNV <$> step readPrec)))++-- | bitpos = @0@+pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV ::+        VkExternalMemoryFeatureBitmaskNV a++pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV =+        VkExternalMemoryFeatureBitmaskNV 1++-- | bitpos = @1@+pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV ::+        VkExternalMemoryFeatureBitmaskNV a++pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV =+        VkExternalMemoryFeatureBitmaskNV 2++-- | bitpos = @2@+pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV ::+        VkExternalMemoryFeatureBitmaskNV a++pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV =+        VkExternalMemoryFeatureBitmaskNV 4
+ src-gen/Graphics/Vulkan/Types/Enum/VkExternalMemoryHandleTypeFlagsKHR.hs view
@@ -0,0 +1,175 @@+{-# 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/VkExternalMemoryHandleTypeFlagsNV.hs view
@@ -0,0 +1,137 @@+{-# 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.VkExternalMemoryHandleTypeFlagsNV+       (VkExternalMemoryHandleTypeBitmaskNV(VkExternalMemoryHandleTypeBitmaskNV,+                                            VkExternalMemoryHandleTypeFlagsNV,+                                            VkExternalMemoryHandleTypeFlagBitsNV,+                                            VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV,+                                            VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV,+                                            VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV,+                                            VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV),+        VkExternalMemoryHandleTypeFlagsNV,+        VkExternalMemoryHandleTypeFlagBitsNV)+       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 VkExternalMemoryHandleTypeBitmaskNV (a ::+                                               FlagType) = VkExternalMemoryHandleTypeBitmaskNV VkFlags+                                                             deriving (Eq, Ord, Storable, Data,+                                                                       Generic)++type VkExternalMemoryHandleTypeFlagsNV =+     VkExternalMemoryHandleTypeBitmaskNV FlagMask++type VkExternalMemoryHandleTypeFlagBitsNV =+     VkExternalMemoryHandleTypeBitmaskNV FlagBit++pattern VkExternalMemoryHandleTypeFlagBitsNV ::+        VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagBit++pattern VkExternalMemoryHandleTypeFlagBitsNV n =+        VkExternalMemoryHandleTypeBitmaskNV n++pattern VkExternalMemoryHandleTypeFlagsNV ::+        VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagMask++pattern VkExternalMemoryHandleTypeFlagsNV n =+        VkExternalMemoryHandleTypeBitmaskNV n++deriving instance+         Bits (VkExternalMemoryHandleTypeBitmaskNV FlagMask)++deriving instance+         FiniteBits (VkExternalMemoryHandleTypeBitmaskNV FlagMask)++deriving instance+         Integral (VkExternalMemoryHandleTypeBitmaskNV FlagMask)++deriving instance+         Num (VkExternalMemoryHandleTypeBitmaskNV FlagMask)++deriving instance+         Bounded (VkExternalMemoryHandleTypeBitmaskNV FlagMask)++deriving instance+         Enum (VkExternalMemoryHandleTypeBitmaskNV FlagMask)++deriving instance+         Real (VkExternalMemoryHandleTypeBitmaskNV FlagMask)++instance Show (VkExternalMemoryHandleTypeBitmaskNV a) where+        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV+          = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV"+        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV+          = showString+              "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV"+        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV+          = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV"+        showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV+          = showString+              "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV"+        showsPrec p (VkExternalMemoryHandleTypeBitmaskNV x)+          = showParen (p >= 11)+              (showString "VkExternalMemoryHandleTypeBitmaskNV " .+                 showsPrec 11 x)++instance Read (VkExternalMemoryHandleTypeBitmaskNV a) where+        readPrec+          = parens+              (choose+                 [("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV",+                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV),+                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV",+                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV),+                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV",+                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV),+                  ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV",+                   pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV)]+                 ++++                 prec 10+                   (expectP (Ident "VkExternalMemoryHandleTypeBitmaskNV") >>+                      (VkExternalMemoryHandleTypeBitmaskNV <$> step readPrec)))++-- | bitpos = @0@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV ::+        VkExternalMemoryHandleTypeBitmaskNV a++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV =+        VkExternalMemoryHandleTypeBitmaskNV 1++-- | bitpos = @1@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV ::+        VkExternalMemoryHandleTypeBitmaskNV a++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV =+        VkExternalMemoryHandleTypeBitmaskNV 2++-- | bitpos = @2@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV ::+        VkExternalMemoryHandleTypeBitmaskNV a++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV =+        VkExternalMemoryHandleTypeBitmaskNV 4++-- | bitpos = @3@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV ::+        VkExternalMemoryHandleTypeBitmaskNV a++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV =+        VkExternalMemoryHandleTypeBitmaskNV 8
+ src-gen/Graphics/Vulkan/Types/Enum/VkExternalSemaphoreFeatureFlagsKHR.hs view
@@ -0,0 +1,111 @@+{-# 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/VkExternalSemaphoreHandleTypeFlagsKHR.hs view
@@ -0,0 +1,151 @@+{-# 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/VkFenceCreateFlags.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.VkFenceCreateFlags+       (VkFenceCreateBitmask(VkFenceCreateBitmask, VkFenceCreateFlags,+                             VkFenceCreateFlagBits, VK_FENCE_CREATE_SIGNALED_BIT),+        VkFenceCreateFlags, VkFenceCreateFlagBits)+       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 VkFenceCreateBitmask (a ::+                                FlagType) = VkFenceCreateBitmask VkFlags+                                              deriving (Eq, Ord, Storable, Data, Generic)++type VkFenceCreateFlags = VkFenceCreateBitmask FlagMask++type VkFenceCreateFlagBits = VkFenceCreateBitmask FlagBit++pattern VkFenceCreateFlagBits ::+        VkFlags -> VkFenceCreateBitmask FlagBit++pattern VkFenceCreateFlagBits n = VkFenceCreateBitmask n++pattern VkFenceCreateFlags ::+        VkFlags -> VkFenceCreateBitmask FlagMask++pattern VkFenceCreateFlags n = VkFenceCreateBitmask n++deriving instance Bits (VkFenceCreateBitmask FlagMask)++deriving instance FiniteBits (VkFenceCreateBitmask FlagMask)++deriving instance Integral (VkFenceCreateBitmask FlagMask)++deriving instance Num (VkFenceCreateBitmask FlagMask)++deriving instance Bounded (VkFenceCreateBitmask FlagMask)++deriving instance Enum (VkFenceCreateBitmask FlagMask)++deriving instance Real (VkFenceCreateBitmask FlagMask)++instance Show (VkFenceCreateBitmask a) where+        showsPrec _ VK_FENCE_CREATE_SIGNALED_BIT+          = showString "VK_FENCE_CREATE_SIGNALED_BIT"+        showsPrec p (VkFenceCreateBitmask x)+          = showParen (p >= 11)+              (showString "VkFenceCreateBitmask " . showsPrec 11 x)++instance Read (VkFenceCreateBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_FENCE_CREATE_SIGNALED_BIT",+                   pure VK_FENCE_CREATE_SIGNALED_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkFenceCreateBitmask") >>+                      (VkFenceCreateBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_FENCE_CREATE_SIGNALED_BIT :: VkFenceCreateBitmask a++pattern VK_FENCE_CREATE_SIGNALED_BIT = VkFenceCreateBitmask 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkFenceImportFlagsKHR.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.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
@@ -0,0 +1,47 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkFilter+       (VkFilter(VkFilter, VK_FILTER_NEAREST, VK_FILTER_LINEAR)) 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.0-extensions/man/html/VkFilter.html VkFilter registry at www.khronos.org>+newtype VkFilter = VkFilter Int32+                     deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkFilter where+        showsPrec _ VK_FILTER_NEAREST = showString "VK_FILTER_NEAREST"+        showsPrec _ VK_FILTER_LINEAR = showString "VK_FILTER_LINEAR"+        showsPrec p (VkFilter x)+          = showParen (p >= 11) (showString "VkFilter " . showsPrec 11 x)++instance Read VkFilter where+        readPrec+          = parens+              (choose+                 [("VK_FILTER_NEAREST", pure VK_FILTER_NEAREST),+                  ("VK_FILTER_LINEAR", pure VK_FILTER_LINEAR)]+                 ++++                 prec 10+                   (expectP (Ident "VkFilter") >> (VkFilter <$> step readPrec)))++pattern VK_FILTER_NEAREST :: VkFilter++pattern VK_FILTER_NEAREST = VkFilter 0++pattern VK_FILTER_LINEAR :: VkFilter++pattern VK_FILTER_LINEAR = VkFilter 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkFormat.hs view
@@ -0,0 +1,1491 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkFormat+       (VkFormat(VkFormat, VK_FORMAT_UNDEFINED,+                 VK_FORMAT_R4G4_UNORM_PACK8, VK_FORMAT_R4G4B4A4_UNORM_PACK16,+                 VK_FORMAT_B4G4R4A4_UNORM_PACK16, VK_FORMAT_R5G6B5_UNORM_PACK16,+                 VK_FORMAT_B5G6R5_UNORM_PACK16, VK_FORMAT_R5G5B5A1_UNORM_PACK16,+                 VK_FORMAT_B5G5R5A1_UNORM_PACK16, VK_FORMAT_A1R5G5B5_UNORM_PACK16,+                 VK_FORMAT_R8_UNORM, VK_FORMAT_R8_SNORM, VK_FORMAT_R8_USCALED,+                 VK_FORMAT_R8_SSCALED, VK_FORMAT_R8_UINT, VK_FORMAT_R8_SINT,+                 VK_FORMAT_R8_SRGB, VK_FORMAT_R8G8_UNORM, VK_FORMAT_R8G8_SNORM,+                 VK_FORMAT_R8G8_USCALED, VK_FORMAT_R8G8_SSCALED,+                 VK_FORMAT_R8G8_UINT, VK_FORMAT_R8G8_SINT, VK_FORMAT_R8G8_SRGB,+                 VK_FORMAT_R8G8B8_UNORM, VK_FORMAT_R8G8B8_SNORM,+                 VK_FORMAT_R8G8B8_USCALED, VK_FORMAT_R8G8B8_SSCALED,+                 VK_FORMAT_R8G8B8_UINT, VK_FORMAT_R8G8B8_SINT,+                 VK_FORMAT_R8G8B8_SRGB, VK_FORMAT_B8G8R8_UNORM,+                 VK_FORMAT_B8G8R8_SNORM, VK_FORMAT_B8G8R8_USCALED,+                 VK_FORMAT_B8G8R8_SSCALED, VK_FORMAT_B8G8R8_UINT,+                 VK_FORMAT_B8G8R8_SINT, VK_FORMAT_B8G8R8_SRGB,+                 VK_FORMAT_R8G8B8A8_UNORM, VK_FORMAT_R8G8B8A8_SNORM,+                 VK_FORMAT_R8G8B8A8_USCALED, VK_FORMAT_R8G8B8A8_SSCALED,+                 VK_FORMAT_R8G8B8A8_UINT, VK_FORMAT_R8G8B8A8_SINT,+                 VK_FORMAT_R8G8B8A8_SRGB, VK_FORMAT_B8G8R8A8_UNORM,+                 VK_FORMAT_B8G8R8A8_SNORM, VK_FORMAT_B8G8R8A8_USCALED,+                 VK_FORMAT_B8G8R8A8_SSCALED, VK_FORMAT_B8G8R8A8_UINT,+                 VK_FORMAT_B8G8R8A8_SINT, VK_FORMAT_B8G8R8A8_SRGB,+                 VK_FORMAT_A8B8G8R8_UNORM_PACK32, VK_FORMAT_A8B8G8R8_SNORM_PACK32,+                 VK_FORMAT_A8B8G8R8_USCALED_PACK32,+                 VK_FORMAT_A8B8G8R8_SSCALED_PACK32, VK_FORMAT_A8B8G8R8_UINT_PACK32,+                 VK_FORMAT_A8B8G8R8_SINT_PACK32, VK_FORMAT_A8B8G8R8_SRGB_PACK32,+                 VK_FORMAT_A2R10G10B10_UNORM_PACK32,+                 VK_FORMAT_A2R10G10B10_SNORM_PACK32,+                 VK_FORMAT_A2R10G10B10_USCALED_PACK32,+                 VK_FORMAT_A2R10G10B10_SSCALED_PACK32,+                 VK_FORMAT_A2R10G10B10_UINT_PACK32,+                 VK_FORMAT_A2R10G10B10_SINT_PACK32,+                 VK_FORMAT_A2B10G10R10_UNORM_PACK32,+                 VK_FORMAT_A2B10G10R10_SNORM_PACK32,+                 VK_FORMAT_A2B10G10R10_USCALED_PACK32,+                 VK_FORMAT_A2B10G10R10_SSCALED_PACK32,+                 VK_FORMAT_A2B10G10R10_UINT_PACK32,+                 VK_FORMAT_A2B10G10R10_SINT_PACK32, VK_FORMAT_R16_UNORM,+                 VK_FORMAT_R16_SNORM, VK_FORMAT_R16_USCALED, VK_FORMAT_R16_SSCALED,+                 VK_FORMAT_R16_UINT, VK_FORMAT_R16_SINT, VK_FORMAT_R16_SFLOAT,+                 VK_FORMAT_R16G16_UNORM, VK_FORMAT_R16G16_SNORM,+                 VK_FORMAT_R16G16_USCALED, VK_FORMAT_R16G16_SSCALED,+                 VK_FORMAT_R16G16_UINT, VK_FORMAT_R16G16_SINT,+                 VK_FORMAT_R16G16_SFLOAT, VK_FORMAT_R16G16B16_UNORM,+                 VK_FORMAT_R16G16B16_SNORM, VK_FORMAT_R16G16B16_USCALED,+                 VK_FORMAT_R16G16B16_SSCALED, VK_FORMAT_R16G16B16_UINT,+                 VK_FORMAT_R16G16B16_SINT, VK_FORMAT_R16G16B16_SFLOAT,+                 VK_FORMAT_R16G16B16A16_UNORM, VK_FORMAT_R16G16B16A16_SNORM,+                 VK_FORMAT_R16G16B16A16_USCALED, VK_FORMAT_R16G16B16A16_SSCALED,+                 VK_FORMAT_R16G16B16A16_UINT, VK_FORMAT_R16G16B16A16_SINT,+                 VK_FORMAT_R16G16B16A16_SFLOAT, VK_FORMAT_R32_UINT,+                 VK_FORMAT_R32_SINT, VK_FORMAT_R32_SFLOAT, VK_FORMAT_R32G32_UINT,+                 VK_FORMAT_R32G32_SINT, VK_FORMAT_R32G32_SFLOAT,+                 VK_FORMAT_R32G32B32_UINT, VK_FORMAT_R32G32B32_SINT,+                 VK_FORMAT_R32G32B32_SFLOAT, VK_FORMAT_R32G32B32A32_UINT,+                 VK_FORMAT_R32G32B32A32_SINT, VK_FORMAT_R32G32B32A32_SFLOAT,+                 VK_FORMAT_R64_UINT, VK_FORMAT_R64_SINT, VK_FORMAT_R64_SFLOAT,+                 VK_FORMAT_R64G64_UINT, VK_FORMAT_R64G64_SINT,+                 VK_FORMAT_R64G64_SFLOAT, VK_FORMAT_R64G64B64_UINT,+                 VK_FORMAT_R64G64B64_SINT, VK_FORMAT_R64G64B64_SFLOAT,+                 VK_FORMAT_R64G64B64A64_UINT, VK_FORMAT_R64G64B64A64_SINT,+                 VK_FORMAT_R64G64B64A64_SFLOAT, VK_FORMAT_B10G11R11_UFLOAT_PACK32,+                 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32, VK_FORMAT_D16_UNORM,+                 VK_FORMAT_X8_D24_UNORM_PACK32, VK_FORMAT_D32_SFLOAT,+                 VK_FORMAT_S8_UINT, VK_FORMAT_D16_UNORM_S8_UINT,+                 VK_FORMAT_D24_UNORM_S8_UINT, VK_FORMAT_D32_SFLOAT_S8_UINT,+                 VK_FORMAT_BC1_RGB_UNORM_BLOCK, VK_FORMAT_BC1_RGB_SRGB_BLOCK,+                 VK_FORMAT_BC1_RGBA_UNORM_BLOCK, VK_FORMAT_BC1_RGBA_SRGB_BLOCK,+                 VK_FORMAT_BC2_UNORM_BLOCK, VK_FORMAT_BC2_SRGB_BLOCK,+                 VK_FORMAT_BC3_UNORM_BLOCK, VK_FORMAT_BC3_SRGB_BLOCK,+                 VK_FORMAT_BC4_UNORM_BLOCK, VK_FORMAT_BC4_SNORM_BLOCK,+                 VK_FORMAT_BC5_UNORM_BLOCK, VK_FORMAT_BC5_SNORM_BLOCK,+                 VK_FORMAT_BC6H_UFLOAT_BLOCK, VK_FORMAT_BC6H_SFLOAT_BLOCK,+                 VK_FORMAT_BC7_UNORM_BLOCK, VK_FORMAT_BC7_SRGB_BLOCK,+                 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK,+                 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK,+                 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK,+                 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK,+                 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK,+                 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK, VK_FORMAT_EAC_R11_UNORM_BLOCK,+                 VK_FORMAT_EAC_R11_SNORM_BLOCK, VK_FORMAT_EAC_R11G11_UNORM_BLOCK,+                 VK_FORMAT_EAC_R11G11_SNORM_BLOCK, VK_FORMAT_ASTC_4x4_UNORM_BLOCK,+                 VK_FORMAT_ASTC_4x4_SRGB_BLOCK, VK_FORMAT_ASTC_5x4_UNORM_BLOCK,+                 VK_FORMAT_ASTC_5x4_SRGB_BLOCK, VK_FORMAT_ASTC_5x5_UNORM_BLOCK,+                 VK_FORMAT_ASTC_5x5_SRGB_BLOCK, VK_FORMAT_ASTC_6x5_UNORM_BLOCK,+                 VK_FORMAT_ASTC_6x5_SRGB_BLOCK, VK_FORMAT_ASTC_6x6_UNORM_BLOCK,+                 VK_FORMAT_ASTC_6x6_SRGB_BLOCK, VK_FORMAT_ASTC_8x5_UNORM_BLOCK,+                 VK_FORMAT_ASTC_8x5_SRGB_BLOCK, VK_FORMAT_ASTC_8x6_UNORM_BLOCK,+                 VK_FORMAT_ASTC_8x6_SRGB_BLOCK, VK_FORMAT_ASTC_8x8_UNORM_BLOCK,+                 VK_FORMAT_ASTC_8x8_SRGB_BLOCK, VK_FORMAT_ASTC_10x5_UNORM_BLOCK,+                 VK_FORMAT_ASTC_10x5_SRGB_BLOCK, VK_FORMAT_ASTC_10x6_UNORM_BLOCK,+                 VK_FORMAT_ASTC_10x6_SRGB_BLOCK, VK_FORMAT_ASTC_10x8_UNORM_BLOCK,+                 VK_FORMAT_ASTC_10x8_SRGB_BLOCK, VK_FORMAT_ASTC_10x10_UNORM_BLOCK,+                 VK_FORMAT_ASTC_10x10_SRGB_BLOCK, VK_FORMAT_ASTC_12x10_UNORM_BLOCK,+                 VK_FORMAT_ASTC_12x10_SRGB_BLOCK, VK_FORMAT_ASTC_12x12_UNORM_BLOCK,+                 VK_FORMAT_ASTC_12x12_SRGB_BLOCK))+       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 (..))++-- | Vulkan format definitions+--+--   type = @enum@+--+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkFormat.html VkFormat registry at www.khronos.org>+newtype VkFormat = VkFormat Int32+                     deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkFormat where+        showsPrec _ VK_FORMAT_UNDEFINED = showString "VK_FORMAT_UNDEFINED"+        showsPrec _ VK_FORMAT_R4G4_UNORM_PACK8+          = showString "VK_FORMAT_R4G4_UNORM_PACK8"+        showsPrec _ VK_FORMAT_R4G4B4A4_UNORM_PACK16+          = showString "VK_FORMAT_R4G4B4A4_UNORM_PACK16"+        showsPrec _ VK_FORMAT_B4G4R4A4_UNORM_PACK16+          = showString "VK_FORMAT_B4G4R4A4_UNORM_PACK16"+        showsPrec _ VK_FORMAT_R5G6B5_UNORM_PACK16+          = showString "VK_FORMAT_R5G6B5_UNORM_PACK16"+        showsPrec _ VK_FORMAT_B5G6R5_UNORM_PACK16+          = showString "VK_FORMAT_B5G6R5_UNORM_PACK16"+        showsPrec _ VK_FORMAT_R5G5B5A1_UNORM_PACK16+          = showString "VK_FORMAT_R5G5B5A1_UNORM_PACK16"+        showsPrec _ VK_FORMAT_B5G5R5A1_UNORM_PACK16+          = showString "VK_FORMAT_B5G5R5A1_UNORM_PACK16"+        showsPrec _ VK_FORMAT_A1R5G5B5_UNORM_PACK16+          = showString "VK_FORMAT_A1R5G5B5_UNORM_PACK16"+        showsPrec _ VK_FORMAT_R8_UNORM = showString "VK_FORMAT_R8_UNORM"+        showsPrec _ VK_FORMAT_R8_SNORM = showString "VK_FORMAT_R8_SNORM"+        showsPrec _ VK_FORMAT_R8_USCALED+          = showString "VK_FORMAT_R8_USCALED"+        showsPrec _ VK_FORMAT_R8_SSCALED+          = showString "VK_FORMAT_R8_SSCALED"+        showsPrec _ VK_FORMAT_R8_UINT = showString "VK_FORMAT_R8_UINT"+        showsPrec _ VK_FORMAT_R8_SINT = showString "VK_FORMAT_R8_SINT"+        showsPrec _ VK_FORMAT_R8_SRGB = showString "VK_FORMAT_R8_SRGB"+        showsPrec _ VK_FORMAT_R8G8_UNORM+          = showString "VK_FORMAT_R8G8_UNORM"+        showsPrec _ VK_FORMAT_R8G8_SNORM+          = showString "VK_FORMAT_R8G8_SNORM"+        showsPrec _ VK_FORMAT_R8G8_USCALED+          = showString "VK_FORMAT_R8G8_USCALED"+        showsPrec _ VK_FORMAT_R8G8_SSCALED+          = showString "VK_FORMAT_R8G8_SSCALED"+        showsPrec _ VK_FORMAT_R8G8_UINT = showString "VK_FORMAT_R8G8_UINT"+        showsPrec _ VK_FORMAT_R8G8_SINT = showString "VK_FORMAT_R8G8_SINT"+        showsPrec _ VK_FORMAT_R8G8_SRGB = showString "VK_FORMAT_R8G8_SRGB"+        showsPrec _ VK_FORMAT_R8G8B8_UNORM+          = showString "VK_FORMAT_R8G8B8_UNORM"+        showsPrec _ VK_FORMAT_R8G8B8_SNORM+          = showString "VK_FORMAT_R8G8B8_SNORM"+        showsPrec _ VK_FORMAT_R8G8B8_USCALED+          = showString "VK_FORMAT_R8G8B8_USCALED"+        showsPrec _ VK_FORMAT_R8G8B8_SSCALED+          = showString "VK_FORMAT_R8G8B8_SSCALED"+        showsPrec _ VK_FORMAT_R8G8B8_UINT+          = showString "VK_FORMAT_R8G8B8_UINT"+        showsPrec _ VK_FORMAT_R8G8B8_SINT+          = showString "VK_FORMAT_R8G8B8_SINT"+        showsPrec _ VK_FORMAT_R8G8B8_SRGB+          = showString "VK_FORMAT_R8G8B8_SRGB"+        showsPrec _ VK_FORMAT_B8G8R8_UNORM+          = showString "VK_FORMAT_B8G8R8_UNORM"+        showsPrec _ VK_FORMAT_B8G8R8_SNORM+          = showString "VK_FORMAT_B8G8R8_SNORM"+        showsPrec _ VK_FORMAT_B8G8R8_USCALED+          = showString "VK_FORMAT_B8G8R8_USCALED"+        showsPrec _ VK_FORMAT_B8G8R8_SSCALED+          = showString "VK_FORMAT_B8G8R8_SSCALED"+        showsPrec _ VK_FORMAT_B8G8R8_UINT+          = showString "VK_FORMAT_B8G8R8_UINT"+        showsPrec _ VK_FORMAT_B8G8R8_SINT+          = showString "VK_FORMAT_B8G8R8_SINT"+        showsPrec _ VK_FORMAT_B8G8R8_SRGB+          = showString "VK_FORMAT_B8G8R8_SRGB"+        showsPrec _ VK_FORMAT_R8G8B8A8_UNORM+          = showString "VK_FORMAT_R8G8B8A8_UNORM"+        showsPrec _ VK_FORMAT_R8G8B8A8_SNORM+          = showString "VK_FORMAT_R8G8B8A8_SNORM"+        showsPrec _ VK_FORMAT_R8G8B8A8_USCALED+          = showString "VK_FORMAT_R8G8B8A8_USCALED"+        showsPrec _ VK_FORMAT_R8G8B8A8_SSCALED+          = showString "VK_FORMAT_R8G8B8A8_SSCALED"+        showsPrec _ VK_FORMAT_R8G8B8A8_UINT+          = showString "VK_FORMAT_R8G8B8A8_UINT"+        showsPrec _ VK_FORMAT_R8G8B8A8_SINT+          = showString "VK_FORMAT_R8G8B8A8_SINT"+        showsPrec _ VK_FORMAT_R8G8B8A8_SRGB+          = showString "VK_FORMAT_R8G8B8A8_SRGB"+        showsPrec _ VK_FORMAT_B8G8R8A8_UNORM+          = showString "VK_FORMAT_B8G8R8A8_UNORM"+        showsPrec _ VK_FORMAT_B8G8R8A8_SNORM+          = showString "VK_FORMAT_B8G8R8A8_SNORM"+        showsPrec _ VK_FORMAT_B8G8R8A8_USCALED+          = showString "VK_FORMAT_B8G8R8A8_USCALED"+        showsPrec _ VK_FORMAT_B8G8R8A8_SSCALED+          = showString "VK_FORMAT_B8G8R8A8_SSCALED"+        showsPrec _ VK_FORMAT_B8G8R8A8_UINT+          = showString "VK_FORMAT_B8G8R8A8_UINT"+        showsPrec _ VK_FORMAT_B8G8R8A8_SINT+          = showString "VK_FORMAT_B8G8R8A8_SINT"+        showsPrec _ VK_FORMAT_B8G8R8A8_SRGB+          = showString "VK_FORMAT_B8G8R8A8_SRGB"+        showsPrec _ VK_FORMAT_A8B8G8R8_UNORM_PACK32+          = showString "VK_FORMAT_A8B8G8R8_UNORM_PACK32"+        showsPrec _ VK_FORMAT_A8B8G8R8_SNORM_PACK32+          = showString "VK_FORMAT_A8B8G8R8_SNORM_PACK32"+        showsPrec _ VK_FORMAT_A8B8G8R8_USCALED_PACK32+          = showString "VK_FORMAT_A8B8G8R8_USCALED_PACK32"+        showsPrec _ VK_FORMAT_A8B8G8R8_SSCALED_PACK32+          = showString "VK_FORMAT_A8B8G8R8_SSCALED_PACK32"+        showsPrec _ VK_FORMAT_A8B8G8R8_UINT_PACK32+          = showString "VK_FORMAT_A8B8G8R8_UINT_PACK32"+        showsPrec _ VK_FORMAT_A8B8G8R8_SINT_PACK32+          = showString "VK_FORMAT_A8B8G8R8_SINT_PACK32"+        showsPrec _ VK_FORMAT_A8B8G8R8_SRGB_PACK32+          = showString "VK_FORMAT_A8B8G8R8_SRGB_PACK32"+        showsPrec _ VK_FORMAT_A2R10G10B10_UNORM_PACK32+          = showString "VK_FORMAT_A2R10G10B10_UNORM_PACK32"+        showsPrec _ VK_FORMAT_A2R10G10B10_SNORM_PACK32+          = showString "VK_FORMAT_A2R10G10B10_SNORM_PACK32"+        showsPrec _ VK_FORMAT_A2R10G10B10_USCALED_PACK32+          = showString "VK_FORMAT_A2R10G10B10_USCALED_PACK32"+        showsPrec _ VK_FORMAT_A2R10G10B10_SSCALED_PACK32+          = showString "VK_FORMAT_A2R10G10B10_SSCALED_PACK32"+        showsPrec _ VK_FORMAT_A2R10G10B10_UINT_PACK32+          = showString "VK_FORMAT_A2R10G10B10_UINT_PACK32"+        showsPrec _ VK_FORMAT_A2R10G10B10_SINT_PACK32+          = showString "VK_FORMAT_A2R10G10B10_SINT_PACK32"+        showsPrec _ VK_FORMAT_A2B10G10R10_UNORM_PACK32+          = showString "VK_FORMAT_A2B10G10R10_UNORM_PACK32"+        showsPrec _ VK_FORMAT_A2B10G10R10_SNORM_PACK32+          = showString "VK_FORMAT_A2B10G10R10_SNORM_PACK32"+        showsPrec _ VK_FORMAT_A2B10G10R10_USCALED_PACK32+          = showString "VK_FORMAT_A2B10G10R10_USCALED_PACK32"+        showsPrec _ VK_FORMAT_A2B10G10R10_SSCALED_PACK32+          = showString "VK_FORMAT_A2B10G10R10_SSCALED_PACK32"+        showsPrec _ VK_FORMAT_A2B10G10R10_UINT_PACK32+          = showString "VK_FORMAT_A2B10G10R10_UINT_PACK32"+        showsPrec _ VK_FORMAT_A2B10G10R10_SINT_PACK32+          = showString "VK_FORMAT_A2B10G10R10_SINT_PACK32"+        showsPrec _ VK_FORMAT_R16_UNORM = showString "VK_FORMAT_R16_UNORM"+        showsPrec _ VK_FORMAT_R16_SNORM = showString "VK_FORMAT_R16_SNORM"+        showsPrec _ VK_FORMAT_R16_USCALED+          = showString "VK_FORMAT_R16_USCALED"+        showsPrec _ VK_FORMAT_R16_SSCALED+          = showString "VK_FORMAT_R16_SSCALED"+        showsPrec _ VK_FORMAT_R16_UINT = showString "VK_FORMAT_R16_UINT"+        showsPrec _ VK_FORMAT_R16_SINT = showString "VK_FORMAT_R16_SINT"+        showsPrec _ VK_FORMAT_R16_SFLOAT+          = showString "VK_FORMAT_R16_SFLOAT"+        showsPrec _ VK_FORMAT_R16G16_UNORM+          = showString "VK_FORMAT_R16G16_UNORM"+        showsPrec _ VK_FORMAT_R16G16_SNORM+          = showString "VK_FORMAT_R16G16_SNORM"+        showsPrec _ VK_FORMAT_R16G16_USCALED+          = showString "VK_FORMAT_R16G16_USCALED"+        showsPrec _ VK_FORMAT_R16G16_SSCALED+          = showString "VK_FORMAT_R16G16_SSCALED"+        showsPrec _ VK_FORMAT_R16G16_UINT+          = showString "VK_FORMAT_R16G16_UINT"+        showsPrec _ VK_FORMAT_R16G16_SINT+          = showString "VK_FORMAT_R16G16_SINT"+        showsPrec _ VK_FORMAT_R16G16_SFLOAT+          = showString "VK_FORMAT_R16G16_SFLOAT"+        showsPrec _ VK_FORMAT_R16G16B16_UNORM+          = showString "VK_FORMAT_R16G16B16_UNORM"+        showsPrec _ VK_FORMAT_R16G16B16_SNORM+          = showString "VK_FORMAT_R16G16B16_SNORM"+        showsPrec _ VK_FORMAT_R16G16B16_USCALED+          = showString "VK_FORMAT_R16G16B16_USCALED"+        showsPrec _ VK_FORMAT_R16G16B16_SSCALED+          = showString "VK_FORMAT_R16G16B16_SSCALED"+        showsPrec _ VK_FORMAT_R16G16B16_UINT+          = showString "VK_FORMAT_R16G16B16_UINT"+        showsPrec _ VK_FORMAT_R16G16B16_SINT+          = showString "VK_FORMAT_R16G16B16_SINT"+        showsPrec _ VK_FORMAT_R16G16B16_SFLOAT+          = showString "VK_FORMAT_R16G16B16_SFLOAT"+        showsPrec _ VK_FORMAT_R16G16B16A16_UNORM+          = showString "VK_FORMAT_R16G16B16A16_UNORM"+        showsPrec _ VK_FORMAT_R16G16B16A16_SNORM+          = showString "VK_FORMAT_R16G16B16A16_SNORM"+        showsPrec _ VK_FORMAT_R16G16B16A16_USCALED+          = showString "VK_FORMAT_R16G16B16A16_USCALED"+        showsPrec _ VK_FORMAT_R16G16B16A16_SSCALED+          = showString "VK_FORMAT_R16G16B16A16_SSCALED"+        showsPrec _ VK_FORMAT_R16G16B16A16_UINT+          = showString "VK_FORMAT_R16G16B16A16_UINT"+        showsPrec _ VK_FORMAT_R16G16B16A16_SINT+          = showString "VK_FORMAT_R16G16B16A16_SINT"+        showsPrec _ VK_FORMAT_R16G16B16A16_SFLOAT+          = showString "VK_FORMAT_R16G16B16A16_SFLOAT"+        showsPrec _ VK_FORMAT_R32_UINT = showString "VK_FORMAT_R32_UINT"+        showsPrec _ VK_FORMAT_R32_SINT = showString "VK_FORMAT_R32_SINT"+        showsPrec _ VK_FORMAT_R32_SFLOAT+          = showString "VK_FORMAT_R32_SFLOAT"+        showsPrec _ VK_FORMAT_R32G32_UINT+          = showString "VK_FORMAT_R32G32_UINT"+        showsPrec _ VK_FORMAT_R32G32_SINT+          = showString "VK_FORMAT_R32G32_SINT"+        showsPrec _ VK_FORMAT_R32G32_SFLOAT+          = showString "VK_FORMAT_R32G32_SFLOAT"+        showsPrec _ VK_FORMAT_R32G32B32_UINT+          = showString "VK_FORMAT_R32G32B32_UINT"+        showsPrec _ VK_FORMAT_R32G32B32_SINT+          = showString "VK_FORMAT_R32G32B32_SINT"+        showsPrec _ VK_FORMAT_R32G32B32_SFLOAT+          = showString "VK_FORMAT_R32G32B32_SFLOAT"+        showsPrec _ VK_FORMAT_R32G32B32A32_UINT+          = showString "VK_FORMAT_R32G32B32A32_UINT"+        showsPrec _ VK_FORMAT_R32G32B32A32_SINT+          = showString "VK_FORMAT_R32G32B32A32_SINT"+        showsPrec _ VK_FORMAT_R32G32B32A32_SFLOAT+          = showString "VK_FORMAT_R32G32B32A32_SFLOAT"+        showsPrec _ VK_FORMAT_R64_UINT = showString "VK_FORMAT_R64_UINT"+        showsPrec _ VK_FORMAT_R64_SINT = showString "VK_FORMAT_R64_SINT"+        showsPrec _ VK_FORMAT_R64_SFLOAT+          = showString "VK_FORMAT_R64_SFLOAT"+        showsPrec _ VK_FORMAT_R64G64_UINT+          = showString "VK_FORMAT_R64G64_UINT"+        showsPrec _ VK_FORMAT_R64G64_SINT+          = showString "VK_FORMAT_R64G64_SINT"+        showsPrec _ VK_FORMAT_R64G64_SFLOAT+          = showString "VK_FORMAT_R64G64_SFLOAT"+        showsPrec _ VK_FORMAT_R64G64B64_UINT+          = showString "VK_FORMAT_R64G64B64_UINT"+        showsPrec _ VK_FORMAT_R64G64B64_SINT+          = showString "VK_FORMAT_R64G64B64_SINT"+        showsPrec _ VK_FORMAT_R64G64B64_SFLOAT+          = showString "VK_FORMAT_R64G64B64_SFLOAT"+        showsPrec _ VK_FORMAT_R64G64B64A64_UINT+          = showString "VK_FORMAT_R64G64B64A64_UINT"+        showsPrec _ VK_FORMAT_R64G64B64A64_SINT+          = showString "VK_FORMAT_R64G64B64A64_SINT"+        showsPrec _ VK_FORMAT_R64G64B64A64_SFLOAT+          = showString "VK_FORMAT_R64G64B64A64_SFLOAT"+        showsPrec _ VK_FORMAT_B10G11R11_UFLOAT_PACK32+          = showString "VK_FORMAT_B10G11R11_UFLOAT_PACK32"+        showsPrec _ VK_FORMAT_E5B9G9R9_UFLOAT_PACK32+          = showString "VK_FORMAT_E5B9G9R9_UFLOAT_PACK32"+        showsPrec _ VK_FORMAT_D16_UNORM = showString "VK_FORMAT_D16_UNORM"+        showsPrec _ VK_FORMAT_X8_D24_UNORM_PACK32+          = showString "VK_FORMAT_X8_D24_UNORM_PACK32"+        showsPrec _ VK_FORMAT_D32_SFLOAT+          = showString "VK_FORMAT_D32_SFLOAT"+        showsPrec _ VK_FORMAT_S8_UINT = showString "VK_FORMAT_S8_UINT"+        showsPrec _ VK_FORMAT_D16_UNORM_S8_UINT+          = showString "VK_FORMAT_D16_UNORM_S8_UINT"+        showsPrec _ VK_FORMAT_D24_UNORM_S8_UINT+          = showString "VK_FORMAT_D24_UNORM_S8_UINT"+        showsPrec _ VK_FORMAT_D32_SFLOAT_S8_UINT+          = showString "VK_FORMAT_D32_SFLOAT_S8_UINT"+        showsPrec _ VK_FORMAT_BC1_RGB_UNORM_BLOCK+          = showString "VK_FORMAT_BC1_RGB_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_BC1_RGB_SRGB_BLOCK+          = showString "VK_FORMAT_BC1_RGB_SRGB_BLOCK"+        showsPrec _ VK_FORMAT_BC1_RGBA_UNORM_BLOCK+          = showString "VK_FORMAT_BC1_RGBA_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_BC1_RGBA_SRGB_BLOCK+          = showString "VK_FORMAT_BC1_RGBA_SRGB_BLOCK"+        showsPrec _ VK_FORMAT_BC2_UNORM_BLOCK+          = showString "VK_FORMAT_BC2_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_BC2_SRGB_BLOCK+          = showString "VK_FORMAT_BC2_SRGB_BLOCK"+        showsPrec _ VK_FORMAT_BC3_UNORM_BLOCK+          = showString "VK_FORMAT_BC3_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_BC3_SRGB_BLOCK+          = showString "VK_FORMAT_BC3_SRGB_BLOCK"+        showsPrec _ VK_FORMAT_BC4_UNORM_BLOCK+          = showString "VK_FORMAT_BC4_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_BC4_SNORM_BLOCK+          = showString "VK_FORMAT_BC4_SNORM_BLOCK"+        showsPrec _ VK_FORMAT_BC5_UNORM_BLOCK+          = showString "VK_FORMAT_BC5_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_BC5_SNORM_BLOCK+          = showString "VK_FORMAT_BC5_SNORM_BLOCK"+        showsPrec _ VK_FORMAT_BC6H_UFLOAT_BLOCK+          = showString "VK_FORMAT_BC6H_UFLOAT_BLOCK"+        showsPrec _ VK_FORMAT_BC6H_SFLOAT_BLOCK+          = showString "VK_FORMAT_BC6H_SFLOAT_BLOCK"+        showsPrec _ VK_FORMAT_BC7_UNORM_BLOCK+          = showString "VK_FORMAT_BC7_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_BC7_SRGB_BLOCK+          = showString "VK_FORMAT_BC7_SRGB_BLOCK"+        showsPrec _ VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK+          = showString "VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK+          = showString "VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK"+        showsPrec _ VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK+          = showString "VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK+          = showString "VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK"+        showsPrec _ VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK+          = showString "VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK+          = showString "VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK"+        showsPrec _ VK_FORMAT_EAC_R11_UNORM_BLOCK+          = showString "VK_FORMAT_EAC_R11_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_EAC_R11_SNORM_BLOCK+          = showString "VK_FORMAT_EAC_R11_SNORM_BLOCK"+        showsPrec _ VK_FORMAT_EAC_R11G11_UNORM_BLOCK+          = showString "VK_FORMAT_EAC_R11G11_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_EAC_R11G11_SNORM_BLOCK+          = showString "VK_FORMAT_EAC_R11G11_SNORM_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_4x4_UNORM_BLOCK+          = showString "VK_FORMAT_ASTC_4x4_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_4x4_SRGB_BLOCK+          = showString "VK_FORMAT_ASTC_4x4_SRGB_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_5x4_UNORM_BLOCK+          = showString "VK_FORMAT_ASTC_5x4_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_5x4_SRGB_BLOCK+          = showString "VK_FORMAT_ASTC_5x4_SRGB_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_5x5_UNORM_BLOCK+          = showString "VK_FORMAT_ASTC_5x5_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_5x5_SRGB_BLOCK+          = showString "VK_FORMAT_ASTC_5x5_SRGB_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_6x5_UNORM_BLOCK+          = showString "VK_FORMAT_ASTC_6x5_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_6x5_SRGB_BLOCK+          = showString "VK_FORMAT_ASTC_6x5_SRGB_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_6x6_UNORM_BLOCK+          = showString "VK_FORMAT_ASTC_6x6_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_6x6_SRGB_BLOCK+          = showString "VK_FORMAT_ASTC_6x6_SRGB_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_8x5_UNORM_BLOCK+          = showString "VK_FORMAT_ASTC_8x5_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_8x5_SRGB_BLOCK+          = showString "VK_FORMAT_ASTC_8x5_SRGB_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_8x6_UNORM_BLOCK+          = showString "VK_FORMAT_ASTC_8x6_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_8x6_SRGB_BLOCK+          = showString "VK_FORMAT_ASTC_8x6_SRGB_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_8x8_UNORM_BLOCK+          = showString "VK_FORMAT_ASTC_8x8_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_8x8_SRGB_BLOCK+          = showString "VK_FORMAT_ASTC_8x8_SRGB_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_10x5_UNORM_BLOCK+          = showString "VK_FORMAT_ASTC_10x5_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_10x5_SRGB_BLOCK+          = showString "VK_FORMAT_ASTC_10x5_SRGB_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_10x6_UNORM_BLOCK+          = showString "VK_FORMAT_ASTC_10x6_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_10x6_SRGB_BLOCK+          = showString "VK_FORMAT_ASTC_10x6_SRGB_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_10x8_UNORM_BLOCK+          = showString "VK_FORMAT_ASTC_10x8_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_10x8_SRGB_BLOCK+          = showString "VK_FORMAT_ASTC_10x8_SRGB_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_10x10_UNORM_BLOCK+          = showString "VK_FORMAT_ASTC_10x10_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_10x10_SRGB_BLOCK+          = showString "VK_FORMAT_ASTC_10x10_SRGB_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_12x10_UNORM_BLOCK+          = showString "VK_FORMAT_ASTC_12x10_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_12x10_SRGB_BLOCK+          = showString "VK_FORMAT_ASTC_12x10_SRGB_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_12x12_UNORM_BLOCK+          = showString "VK_FORMAT_ASTC_12x12_UNORM_BLOCK"+        showsPrec _ VK_FORMAT_ASTC_12x12_SRGB_BLOCK+          = showString "VK_FORMAT_ASTC_12x12_SRGB_BLOCK"+        showsPrec p (VkFormat x)+          = showParen (p >= 11) (showString "VkFormat " . showsPrec 11 x)++instance Read VkFormat where+        readPrec+          = parens+              (choose+                 [("VK_FORMAT_UNDEFINED", pure VK_FORMAT_UNDEFINED),+                  ("VK_FORMAT_R4G4_UNORM_PACK8", pure VK_FORMAT_R4G4_UNORM_PACK8),+                  ("VK_FORMAT_R4G4B4A4_UNORM_PACK16",+                   pure VK_FORMAT_R4G4B4A4_UNORM_PACK16),+                  ("VK_FORMAT_B4G4R4A4_UNORM_PACK16",+                   pure VK_FORMAT_B4G4R4A4_UNORM_PACK16),+                  ("VK_FORMAT_R5G6B5_UNORM_PACK16",+                   pure VK_FORMAT_R5G6B5_UNORM_PACK16),+                  ("VK_FORMAT_B5G6R5_UNORM_PACK16",+                   pure VK_FORMAT_B5G6R5_UNORM_PACK16),+                  ("VK_FORMAT_R5G5B5A1_UNORM_PACK16",+                   pure VK_FORMAT_R5G5B5A1_UNORM_PACK16),+                  ("VK_FORMAT_B5G5R5A1_UNORM_PACK16",+                   pure VK_FORMAT_B5G5R5A1_UNORM_PACK16),+                  ("VK_FORMAT_A1R5G5B5_UNORM_PACK16",+                   pure VK_FORMAT_A1R5G5B5_UNORM_PACK16),+                  ("VK_FORMAT_R8_UNORM", pure VK_FORMAT_R8_UNORM),+                  ("VK_FORMAT_R8_SNORM", pure VK_FORMAT_R8_SNORM),+                  ("VK_FORMAT_R8_USCALED", pure VK_FORMAT_R8_USCALED),+                  ("VK_FORMAT_R8_SSCALED", pure VK_FORMAT_R8_SSCALED),+                  ("VK_FORMAT_R8_UINT", pure VK_FORMAT_R8_UINT),+                  ("VK_FORMAT_R8_SINT", pure VK_FORMAT_R8_SINT),+                  ("VK_FORMAT_R8_SRGB", pure VK_FORMAT_R8_SRGB),+                  ("VK_FORMAT_R8G8_UNORM", pure VK_FORMAT_R8G8_UNORM),+                  ("VK_FORMAT_R8G8_SNORM", pure VK_FORMAT_R8G8_SNORM),+                  ("VK_FORMAT_R8G8_USCALED", pure VK_FORMAT_R8G8_USCALED),+                  ("VK_FORMAT_R8G8_SSCALED", pure VK_FORMAT_R8G8_SSCALED),+                  ("VK_FORMAT_R8G8_UINT", pure VK_FORMAT_R8G8_UINT),+                  ("VK_FORMAT_R8G8_SINT", pure VK_FORMAT_R8G8_SINT),+                  ("VK_FORMAT_R8G8_SRGB", pure VK_FORMAT_R8G8_SRGB),+                  ("VK_FORMAT_R8G8B8_UNORM", pure VK_FORMAT_R8G8B8_UNORM),+                  ("VK_FORMAT_R8G8B8_SNORM", pure VK_FORMAT_R8G8B8_SNORM),+                  ("VK_FORMAT_R8G8B8_USCALED", pure VK_FORMAT_R8G8B8_USCALED),+                  ("VK_FORMAT_R8G8B8_SSCALED", pure VK_FORMAT_R8G8B8_SSCALED),+                  ("VK_FORMAT_R8G8B8_UINT", pure VK_FORMAT_R8G8B8_UINT),+                  ("VK_FORMAT_R8G8B8_SINT", pure VK_FORMAT_R8G8B8_SINT),+                  ("VK_FORMAT_R8G8B8_SRGB", pure VK_FORMAT_R8G8B8_SRGB),+                  ("VK_FORMAT_B8G8R8_UNORM", pure VK_FORMAT_B8G8R8_UNORM),+                  ("VK_FORMAT_B8G8R8_SNORM", pure VK_FORMAT_B8G8R8_SNORM),+                  ("VK_FORMAT_B8G8R8_USCALED", pure VK_FORMAT_B8G8R8_USCALED),+                  ("VK_FORMAT_B8G8R8_SSCALED", pure VK_FORMAT_B8G8R8_SSCALED),+                  ("VK_FORMAT_B8G8R8_UINT", pure VK_FORMAT_B8G8R8_UINT),+                  ("VK_FORMAT_B8G8R8_SINT", pure VK_FORMAT_B8G8R8_SINT),+                  ("VK_FORMAT_B8G8R8_SRGB", pure VK_FORMAT_B8G8R8_SRGB),+                  ("VK_FORMAT_R8G8B8A8_UNORM", pure VK_FORMAT_R8G8B8A8_UNORM),+                  ("VK_FORMAT_R8G8B8A8_SNORM", pure VK_FORMAT_R8G8B8A8_SNORM),+                  ("VK_FORMAT_R8G8B8A8_USCALED", pure VK_FORMAT_R8G8B8A8_USCALED),+                  ("VK_FORMAT_R8G8B8A8_SSCALED", pure VK_FORMAT_R8G8B8A8_SSCALED),+                  ("VK_FORMAT_R8G8B8A8_UINT", pure VK_FORMAT_R8G8B8A8_UINT),+                  ("VK_FORMAT_R8G8B8A8_SINT", pure VK_FORMAT_R8G8B8A8_SINT),+                  ("VK_FORMAT_R8G8B8A8_SRGB", pure VK_FORMAT_R8G8B8A8_SRGB),+                  ("VK_FORMAT_B8G8R8A8_UNORM", pure VK_FORMAT_B8G8R8A8_UNORM),+                  ("VK_FORMAT_B8G8R8A8_SNORM", pure VK_FORMAT_B8G8R8A8_SNORM),+                  ("VK_FORMAT_B8G8R8A8_USCALED", pure VK_FORMAT_B8G8R8A8_USCALED),+                  ("VK_FORMAT_B8G8R8A8_SSCALED", pure VK_FORMAT_B8G8R8A8_SSCALED),+                  ("VK_FORMAT_B8G8R8A8_UINT", pure VK_FORMAT_B8G8R8A8_UINT),+                  ("VK_FORMAT_B8G8R8A8_SINT", pure VK_FORMAT_B8G8R8A8_SINT),+                  ("VK_FORMAT_B8G8R8A8_SRGB", pure VK_FORMAT_B8G8R8A8_SRGB),+                  ("VK_FORMAT_A8B8G8R8_UNORM_PACK32",+                   pure VK_FORMAT_A8B8G8R8_UNORM_PACK32),+                  ("VK_FORMAT_A8B8G8R8_SNORM_PACK32",+                   pure VK_FORMAT_A8B8G8R8_SNORM_PACK32),+                  ("VK_FORMAT_A8B8G8R8_USCALED_PACK32",+                   pure VK_FORMAT_A8B8G8R8_USCALED_PACK32),+                  ("VK_FORMAT_A8B8G8R8_SSCALED_PACK32",+                   pure VK_FORMAT_A8B8G8R8_SSCALED_PACK32),+                  ("VK_FORMAT_A8B8G8R8_UINT_PACK32",+                   pure VK_FORMAT_A8B8G8R8_UINT_PACK32),+                  ("VK_FORMAT_A8B8G8R8_SINT_PACK32",+                   pure VK_FORMAT_A8B8G8R8_SINT_PACK32),+                  ("VK_FORMAT_A8B8G8R8_SRGB_PACK32",+                   pure VK_FORMAT_A8B8G8R8_SRGB_PACK32),+                  ("VK_FORMAT_A2R10G10B10_UNORM_PACK32",+                   pure VK_FORMAT_A2R10G10B10_UNORM_PACK32),+                  ("VK_FORMAT_A2R10G10B10_SNORM_PACK32",+                   pure VK_FORMAT_A2R10G10B10_SNORM_PACK32),+                  ("VK_FORMAT_A2R10G10B10_USCALED_PACK32",+                   pure VK_FORMAT_A2R10G10B10_USCALED_PACK32),+                  ("VK_FORMAT_A2R10G10B10_SSCALED_PACK32",+                   pure VK_FORMAT_A2R10G10B10_SSCALED_PACK32),+                  ("VK_FORMAT_A2R10G10B10_UINT_PACK32",+                   pure VK_FORMAT_A2R10G10B10_UINT_PACK32),+                  ("VK_FORMAT_A2R10G10B10_SINT_PACK32",+                   pure VK_FORMAT_A2R10G10B10_SINT_PACK32),+                  ("VK_FORMAT_A2B10G10R10_UNORM_PACK32",+                   pure VK_FORMAT_A2B10G10R10_UNORM_PACK32),+                  ("VK_FORMAT_A2B10G10R10_SNORM_PACK32",+                   pure VK_FORMAT_A2B10G10R10_SNORM_PACK32),+                  ("VK_FORMAT_A2B10G10R10_USCALED_PACK32",+                   pure VK_FORMAT_A2B10G10R10_USCALED_PACK32),+                  ("VK_FORMAT_A2B10G10R10_SSCALED_PACK32",+                   pure VK_FORMAT_A2B10G10R10_SSCALED_PACK32),+                  ("VK_FORMAT_A2B10G10R10_UINT_PACK32",+                   pure VK_FORMAT_A2B10G10R10_UINT_PACK32),+                  ("VK_FORMAT_A2B10G10R10_SINT_PACK32",+                   pure VK_FORMAT_A2B10G10R10_SINT_PACK32),+                  ("VK_FORMAT_R16_UNORM", pure VK_FORMAT_R16_UNORM),+                  ("VK_FORMAT_R16_SNORM", pure VK_FORMAT_R16_SNORM),+                  ("VK_FORMAT_R16_USCALED", pure VK_FORMAT_R16_USCALED),+                  ("VK_FORMAT_R16_SSCALED", pure VK_FORMAT_R16_SSCALED),+                  ("VK_FORMAT_R16_UINT", pure VK_FORMAT_R16_UINT),+                  ("VK_FORMAT_R16_SINT", pure VK_FORMAT_R16_SINT),+                  ("VK_FORMAT_R16_SFLOAT", pure VK_FORMAT_R16_SFLOAT),+                  ("VK_FORMAT_R16G16_UNORM", pure VK_FORMAT_R16G16_UNORM),+                  ("VK_FORMAT_R16G16_SNORM", pure VK_FORMAT_R16G16_SNORM),+                  ("VK_FORMAT_R16G16_USCALED", pure VK_FORMAT_R16G16_USCALED),+                  ("VK_FORMAT_R16G16_SSCALED", pure VK_FORMAT_R16G16_SSCALED),+                  ("VK_FORMAT_R16G16_UINT", pure VK_FORMAT_R16G16_UINT),+                  ("VK_FORMAT_R16G16_SINT", pure VK_FORMAT_R16G16_SINT),+                  ("VK_FORMAT_R16G16_SFLOAT", pure VK_FORMAT_R16G16_SFLOAT),+                  ("VK_FORMAT_R16G16B16_UNORM", pure VK_FORMAT_R16G16B16_UNORM),+                  ("VK_FORMAT_R16G16B16_SNORM", pure VK_FORMAT_R16G16B16_SNORM),+                  ("VK_FORMAT_R16G16B16_USCALED", pure VK_FORMAT_R16G16B16_USCALED),+                  ("VK_FORMAT_R16G16B16_SSCALED", pure VK_FORMAT_R16G16B16_SSCALED),+                  ("VK_FORMAT_R16G16B16_UINT", pure VK_FORMAT_R16G16B16_UINT),+                  ("VK_FORMAT_R16G16B16_SINT", pure VK_FORMAT_R16G16B16_SINT),+                  ("VK_FORMAT_R16G16B16_SFLOAT", pure VK_FORMAT_R16G16B16_SFLOAT),+                  ("VK_FORMAT_R16G16B16A16_UNORM",+                   pure VK_FORMAT_R16G16B16A16_UNORM),+                  ("VK_FORMAT_R16G16B16A16_SNORM",+                   pure VK_FORMAT_R16G16B16A16_SNORM),+                  ("VK_FORMAT_R16G16B16A16_USCALED",+                   pure VK_FORMAT_R16G16B16A16_USCALED),+                  ("VK_FORMAT_R16G16B16A16_SSCALED",+                   pure VK_FORMAT_R16G16B16A16_SSCALED),+                  ("VK_FORMAT_R16G16B16A16_UINT", pure VK_FORMAT_R16G16B16A16_UINT),+                  ("VK_FORMAT_R16G16B16A16_SINT", pure VK_FORMAT_R16G16B16A16_SINT),+                  ("VK_FORMAT_R16G16B16A16_SFLOAT",+                   pure VK_FORMAT_R16G16B16A16_SFLOAT),+                  ("VK_FORMAT_R32_UINT", pure VK_FORMAT_R32_UINT),+                  ("VK_FORMAT_R32_SINT", pure VK_FORMAT_R32_SINT),+                  ("VK_FORMAT_R32_SFLOAT", pure VK_FORMAT_R32_SFLOAT),+                  ("VK_FORMAT_R32G32_UINT", pure VK_FORMAT_R32G32_UINT),+                  ("VK_FORMAT_R32G32_SINT", pure VK_FORMAT_R32G32_SINT),+                  ("VK_FORMAT_R32G32_SFLOAT", pure VK_FORMAT_R32G32_SFLOAT),+                  ("VK_FORMAT_R32G32B32_UINT", pure VK_FORMAT_R32G32B32_UINT),+                  ("VK_FORMAT_R32G32B32_SINT", pure VK_FORMAT_R32G32B32_SINT),+                  ("VK_FORMAT_R32G32B32_SFLOAT", pure VK_FORMAT_R32G32B32_SFLOAT),+                  ("VK_FORMAT_R32G32B32A32_UINT", pure VK_FORMAT_R32G32B32A32_UINT),+                  ("VK_FORMAT_R32G32B32A32_SINT", pure VK_FORMAT_R32G32B32A32_SINT),+                  ("VK_FORMAT_R32G32B32A32_SFLOAT",+                   pure VK_FORMAT_R32G32B32A32_SFLOAT),+                  ("VK_FORMAT_R64_UINT", pure VK_FORMAT_R64_UINT),+                  ("VK_FORMAT_R64_SINT", pure VK_FORMAT_R64_SINT),+                  ("VK_FORMAT_R64_SFLOAT", pure VK_FORMAT_R64_SFLOAT),+                  ("VK_FORMAT_R64G64_UINT", pure VK_FORMAT_R64G64_UINT),+                  ("VK_FORMAT_R64G64_SINT", pure VK_FORMAT_R64G64_SINT),+                  ("VK_FORMAT_R64G64_SFLOAT", pure VK_FORMAT_R64G64_SFLOAT),+                  ("VK_FORMAT_R64G64B64_UINT", pure VK_FORMAT_R64G64B64_UINT),+                  ("VK_FORMAT_R64G64B64_SINT", pure VK_FORMAT_R64G64B64_SINT),+                  ("VK_FORMAT_R64G64B64_SFLOAT", pure VK_FORMAT_R64G64B64_SFLOAT),+                  ("VK_FORMAT_R64G64B64A64_UINT", pure VK_FORMAT_R64G64B64A64_UINT),+                  ("VK_FORMAT_R64G64B64A64_SINT", pure VK_FORMAT_R64G64B64A64_SINT),+                  ("VK_FORMAT_R64G64B64A64_SFLOAT",+                   pure VK_FORMAT_R64G64B64A64_SFLOAT),+                  ("VK_FORMAT_B10G11R11_UFLOAT_PACK32",+                   pure VK_FORMAT_B10G11R11_UFLOAT_PACK32),+                  ("VK_FORMAT_E5B9G9R9_UFLOAT_PACK32",+                   pure VK_FORMAT_E5B9G9R9_UFLOAT_PACK32),+                  ("VK_FORMAT_D16_UNORM", pure VK_FORMAT_D16_UNORM),+                  ("VK_FORMAT_X8_D24_UNORM_PACK32",+                   pure VK_FORMAT_X8_D24_UNORM_PACK32),+                  ("VK_FORMAT_D32_SFLOAT", pure VK_FORMAT_D32_SFLOAT),+                  ("VK_FORMAT_S8_UINT", pure VK_FORMAT_S8_UINT),+                  ("VK_FORMAT_D16_UNORM_S8_UINT", pure VK_FORMAT_D16_UNORM_S8_UINT),+                  ("VK_FORMAT_D24_UNORM_S8_UINT", pure VK_FORMAT_D24_UNORM_S8_UINT),+                  ("VK_FORMAT_D32_SFLOAT_S8_UINT",+                   pure VK_FORMAT_D32_SFLOAT_S8_UINT),+                  ("VK_FORMAT_BC1_RGB_UNORM_BLOCK",+                   pure VK_FORMAT_BC1_RGB_UNORM_BLOCK),+                  ("VK_FORMAT_BC1_RGB_SRGB_BLOCK",+                   pure VK_FORMAT_BC1_RGB_SRGB_BLOCK),+                  ("VK_FORMAT_BC1_RGBA_UNORM_BLOCK",+                   pure VK_FORMAT_BC1_RGBA_UNORM_BLOCK),+                  ("VK_FORMAT_BC1_RGBA_SRGB_BLOCK",+                   pure VK_FORMAT_BC1_RGBA_SRGB_BLOCK),+                  ("VK_FORMAT_BC2_UNORM_BLOCK", pure VK_FORMAT_BC2_UNORM_BLOCK),+                  ("VK_FORMAT_BC2_SRGB_BLOCK", pure VK_FORMAT_BC2_SRGB_BLOCK),+                  ("VK_FORMAT_BC3_UNORM_BLOCK", pure VK_FORMAT_BC3_UNORM_BLOCK),+                  ("VK_FORMAT_BC3_SRGB_BLOCK", pure VK_FORMAT_BC3_SRGB_BLOCK),+                  ("VK_FORMAT_BC4_UNORM_BLOCK", pure VK_FORMAT_BC4_UNORM_BLOCK),+                  ("VK_FORMAT_BC4_SNORM_BLOCK", pure VK_FORMAT_BC4_SNORM_BLOCK),+                  ("VK_FORMAT_BC5_UNORM_BLOCK", pure VK_FORMAT_BC5_UNORM_BLOCK),+                  ("VK_FORMAT_BC5_SNORM_BLOCK", pure VK_FORMAT_BC5_SNORM_BLOCK),+                  ("VK_FORMAT_BC6H_UFLOAT_BLOCK", pure VK_FORMAT_BC6H_UFLOAT_BLOCK),+                  ("VK_FORMAT_BC6H_SFLOAT_BLOCK", pure VK_FORMAT_BC6H_SFLOAT_BLOCK),+                  ("VK_FORMAT_BC7_UNORM_BLOCK", pure VK_FORMAT_BC7_UNORM_BLOCK),+                  ("VK_FORMAT_BC7_SRGB_BLOCK", pure VK_FORMAT_BC7_SRGB_BLOCK),+                  ("VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK",+                   pure VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK),+                  ("VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK",+                   pure VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK),+                  ("VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK",+                   pure VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK),+                  ("VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK",+                   pure VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK),+                  ("VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK",+                   pure VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK),+                  ("VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK",+                   pure VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK),+                  ("VK_FORMAT_EAC_R11_UNORM_BLOCK",+                   pure VK_FORMAT_EAC_R11_UNORM_BLOCK),+                  ("VK_FORMAT_EAC_R11_SNORM_BLOCK",+                   pure VK_FORMAT_EAC_R11_SNORM_BLOCK),+                  ("VK_FORMAT_EAC_R11G11_UNORM_BLOCK",+                   pure VK_FORMAT_EAC_R11G11_UNORM_BLOCK),+                  ("VK_FORMAT_EAC_R11G11_SNORM_BLOCK",+                   pure VK_FORMAT_EAC_R11G11_SNORM_BLOCK),+                  ("VK_FORMAT_ASTC_4x4_UNORM_BLOCK",+                   pure VK_FORMAT_ASTC_4x4_UNORM_BLOCK),+                  ("VK_FORMAT_ASTC_4x4_SRGB_BLOCK",+                   pure VK_FORMAT_ASTC_4x4_SRGB_BLOCK),+                  ("VK_FORMAT_ASTC_5x4_UNORM_BLOCK",+                   pure VK_FORMAT_ASTC_5x4_UNORM_BLOCK),+                  ("VK_FORMAT_ASTC_5x4_SRGB_BLOCK",+                   pure VK_FORMAT_ASTC_5x4_SRGB_BLOCK),+                  ("VK_FORMAT_ASTC_5x5_UNORM_BLOCK",+                   pure VK_FORMAT_ASTC_5x5_UNORM_BLOCK),+                  ("VK_FORMAT_ASTC_5x5_SRGB_BLOCK",+                   pure VK_FORMAT_ASTC_5x5_SRGB_BLOCK),+                  ("VK_FORMAT_ASTC_6x5_UNORM_BLOCK",+                   pure VK_FORMAT_ASTC_6x5_UNORM_BLOCK),+                  ("VK_FORMAT_ASTC_6x5_SRGB_BLOCK",+                   pure VK_FORMAT_ASTC_6x5_SRGB_BLOCK),+                  ("VK_FORMAT_ASTC_6x6_UNORM_BLOCK",+                   pure VK_FORMAT_ASTC_6x6_UNORM_BLOCK),+                  ("VK_FORMAT_ASTC_6x6_SRGB_BLOCK",+                   pure VK_FORMAT_ASTC_6x6_SRGB_BLOCK),+                  ("VK_FORMAT_ASTC_8x5_UNORM_BLOCK",+                   pure VK_FORMAT_ASTC_8x5_UNORM_BLOCK),+                  ("VK_FORMAT_ASTC_8x5_SRGB_BLOCK",+                   pure VK_FORMAT_ASTC_8x5_SRGB_BLOCK),+                  ("VK_FORMAT_ASTC_8x6_UNORM_BLOCK",+                   pure VK_FORMAT_ASTC_8x6_UNORM_BLOCK),+                  ("VK_FORMAT_ASTC_8x6_SRGB_BLOCK",+                   pure VK_FORMAT_ASTC_8x6_SRGB_BLOCK),+                  ("VK_FORMAT_ASTC_8x8_UNORM_BLOCK",+                   pure VK_FORMAT_ASTC_8x8_UNORM_BLOCK),+                  ("VK_FORMAT_ASTC_8x8_SRGB_BLOCK",+                   pure VK_FORMAT_ASTC_8x8_SRGB_BLOCK),+                  ("VK_FORMAT_ASTC_10x5_UNORM_BLOCK",+                   pure VK_FORMAT_ASTC_10x5_UNORM_BLOCK),+                  ("VK_FORMAT_ASTC_10x5_SRGB_BLOCK",+                   pure VK_FORMAT_ASTC_10x5_SRGB_BLOCK),+                  ("VK_FORMAT_ASTC_10x6_UNORM_BLOCK",+                   pure VK_FORMAT_ASTC_10x6_UNORM_BLOCK),+                  ("VK_FORMAT_ASTC_10x6_SRGB_BLOCK",+                   pure VK_FORMAT_ASTC_10x6_SRGB_BLOCK),+                  ("VK_FORMAT_ASTC_10x8_UNORM_BLOCK",+                   pure VK_FORMAT_ASTC_10x8_UNORM_BLOCK),+                  ("VK_FORMAT_ASTC_10x8_SRGB_BLOCK",+                   pure VK_FORMAT_ASTC_10x8_SRGB_BLOCK),+                  ("VK_FORMAT_ASTC_10x10_UNORM_BLOCK",+                   pure VK_FORMAT_ASTC_10x10_UNORM_BLOCK),+                  ("VK_FORMAT_ASTC_10x10_SRGB_BLOCK",+                   pure VK_FORMAT_ASTC_10x10_SRGB_BLOCK),+                  ("VK_FORMAT_ASTC_12x10_UNORM_BLOCK",+                   pure VK_FORMAT_ASTC_12x10_UNORM_BLOCK),+                  ("VK_FORMAT_ASTC_12x10_SRGB_BLOCK",+                   pure VK_FORMAT_ASTC_12x10_SRGB_BLOCK),+                  ("VK_FORMAT_ASTC_12x12_UNORM_BLOCK",+                   pure VK_FORMAT_ASTC_12x12_UNORM_BLOCK),+                  ("VK_FORMAT_ASTC_12x12_SRGB_BLOCK",+                   pure VK_FORMAT_ASTC_12x12_SRGB_BLOCK)]+                 ++++                 prec 10+                   (expectP (Ident "VkFormat") >> (VkFormat <$> step readPrec)))++pattern VK_FORMAT_UNDEFINED :: VkFormat++pattern VK_FORMAT_UNDEFINED = VkFormat 0++pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat++pattern VK_FORMAT_R4G4_UNORM_PACK8 = VkFormat 1++pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 = VkFormat 2++pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 = VkFormat 3++pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_R5G6B5_UNORM_PACK16 = VkFormat 4++pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_B5G6R5_UNORM_PACK16 = VkFormat 5++pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 = VkFormat 6++pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 = VkFormat 7++pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 = VkFormat 8++pattern VK_FORMAT_R8_UNORM :: VkFormat++pattern VK_FORMAT_R8_UNORM = VkFormat 9++pattern VK_FORMAT_R8_SNORM :: VkFormat++pattern VK_FORMAT_R8_SNORM = VkFormat 10++pattern VK_FORMAT_R8_USCALED :: VkFormat++pattern VK_FORMAT_R8_USCALED = VkFormat 11++pattern VK_FORMAT_R8_SSCALED :: VkFormat++pattern VK_FORMAT_R8_SSCALED = VkFormat 12++pattern VK_FORMAT_R8_UINT :: VkFormat++pattern VK_FORMAT_R8_UINT = VkFormat 13++pattern VK_FORMAT_R8_SINT :: VkFormat++pattern VK_FORMAT_R8_SINT = VkFormat 14++pattern VK_FORMAT_R8_SRGB :: VkFormat++pattern VK_FORMAT_R8_SRGB = VkFormat 15++pattern VK_FORMAT_R8G8_UNORM :: VkFormat++pattern VK_FORMAT_R8G8_UNORM = VkFormat 16++pattern VK_FORMAT_R8G8_SNORM :: VkFormat++pattern VK_FORMAT_R8G8_SNORM = VkFormat 17++pattern VK_FORMAT_R8G8_USCALED :: VkFormat++pattern VK_FORMAT_R8G8_USCALED = VkFormat 18++pattern VK_FORMAT_R8G8_SSCALED :: VkFormat++pattern VK_FORMAT_R8G8_SSCALED = VkFormat 19++pattern VK_FORMAT_R8G8_UINT :: VkFormat++pattern VK_FORMAT_R8G8_UINT = VkFormat 20++pattern VK_FORMAT_R8G8_SINT :: VkFormat++pattern VK_FORMAT_R8G8_SINT = VkFormat 21++pattern VK_FORMAT_R8G8_SRGB :: VkFormat++pattern VK_FORMAT_R8G8_SRGB = VkFormat 22++pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat++pattern VK_FORMAT_R8G8B8_UNORM = VkFormat 23++pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat++pattern VK_FORMAT_R8G8B8_SNORM = VkFormat 24++pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat++pattern VK_FORMAT_R8G8B8_USCALED = VkFormat 25++pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat++pattern VK_FORMAT_R8G8B8_SSCALED = VkFormat 26++pattern VK_FORMAT_R8G8B8_UINT :: VkFormat++pattern VK_FORMAT_R8G8B8_UINT = VkFormat 27++pattern VK_FORMAT_R8G8B8_SINT :: VkFormat++pattern VK_FORMAT_R8G8B8_SINT = VkFormat 28++pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat++pattern VK_FORMAT_R8G8B8_SRGB = VkFormat 29++pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat++pattern VK_FORMAT_B8G8R8_UNORM = VkFormat 30++pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat++pattern VK_FORMAT_B8G8R8_SNORM = VkFormat 31++pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat++pattern VK_FORMAT_B8G8R8_USCALED = VkFormat 32++pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat++pattern VK_FORMAT_B8G8R8_SSCALED = VkFormat 33++pattern VK_FORMAT_B8G8R8_UINT :: VkFormat++pattern VK_FORMAT_B8G8R8_UINT = VkFormat 34++pattern VK_FORMAT_B8G8R8_SINT :: VkFormat++pattern VK_FORMAT_B8G8R8_SINT = VkFormat 35++pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat++pattern VK_FORMAT_B8G8R8_SRGB = VkFormat 36++pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat++pattern VK_FORMAT_R8G8B8A8_UNORM = VkFormat 37++pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat++pattern VK_FORMAT_R8G8B8A8_SNORM = VkFormat 38++pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat++pattern VK_FORMAT_R8G8B8A8_USCALED = VkFormat 39++pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat++pattern VK_FORMAT_R8G8B8A8_SSCALED = VkFormat 40++pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat++pattern VK_FORMAT_R8G8B8A8_UINT = VkFormat 41++pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat++pattern VK_FORMAT_R8G8B8A8_SINT = VkFormat 42++pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat++pattern VK_FORMAT_R8G8B8A8_SRGB = VkFormat 43++pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat++pattern VK_FORMAT_B8G8R8A8_UNORM = VkFormat 44++pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat++pattern VK_FORMAT_B8G8R8A8_SNORM = VkFormat 45++pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat++pattern VK_FORMAT_B8G8R8A8_USCALED = VkFormat 46++pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat++pattern VK_FORMAT_B8G8R8A8_SSCALED = VkFormat 47++pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat++pattern VK_FORMAT_B8G8R8A8_UINT = VkFormat 48++pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat++pattern VK_FORMAT_B8G8R8A8_SINT = VkFormat 49++pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat++pattern VK_FORMAT_B8G8R8A8_SRGB = VkFormat 50++pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat++pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 = VkFormat 51++pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat++pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 = VkFormat 52++pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat++pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 = VkFormat 53++pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat++pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = VkFormat 54++pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat++pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 = VkFormat 55++pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat++pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 = VkFormat 56++pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat++pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 = VkFormat 57++pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat++pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 = VkFormat 58++pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat++pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 = VkFormat 59++pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat++pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 = VkFormat 60++pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat++pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = VkFormat 61++pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat++pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 = VkFormat 62++pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat++pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 = VkFormat 63++pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat++pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 = VkFormat 64++pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat++pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 = VkFormat 65++pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat++pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 = VkFormat 66++pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat++pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = VkFormat 67++pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat++pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 = VkFormat 68++pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat++pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 = VkFormat 69++pattern VK_FORMAT_R16_UNORM :: VkFormat++pattern VK_FORMAT_R16_UNORM = VkFormat 70++pattern VK_FORMAT_R16_SNORM :: VkFormat++pattern VK_FORMAT_R16_SNORM = VkFormat 71++pattern VK_FORMAT_R16_USCALED :: VkFormat++pattern VK_FORMAT_R16_USCALED = VkFormat 72++pattern VK_FORMAT_R16_SSCALED :: VkFormat++pattern VK_FORMAT_R16_SSCALED = VkFormat 73++pattern VK_FORMAT_R16_UINT :: VkFormat++pattern VK_FORMAT_R16_UINT = VkFormat 74++pattern VK_FORMAT_R16_SINT :: VkFormat++pattern VK_FORMAT_R16_SINT = VkFormat 75++pattern VK_FORMAT_R16_SFLOAT :: VkFormat++pattern VK_FORMAT_R16_SFLOAT = VkFormat 76++pattern VK_FORMAT_R16G16_UNORM :: VkFormat++pattern VK_FORMAT_R16G16_UNORM = VkFormat 77++pattern VK_FORMAT_R16G16_SNORM :: VkFormat++pattern VK_FORMAT_R16G16_SNORM = VkFormat 78++pattern VK_FORMAT_R16G16_USCALED :: VkFormat++pattern VK_FORMAT_R16G16_USCALED = VkFormat 79++pattern VK_FORMAT_R16G16_SSCALED :: VkFormat++pattern VK_FORMAT_R16G16_SSCALED = VkFormat 80++pattern VK_FORMAT_R16G16_UINT :: VkFormat++pattern VK_FORMAT_R16G16_UINT = VkFormat 81++pattern VK_FORMAT_R16G16_SINT :: VkFormat++pattern VK_FORMAT_R16G16_SINT = VkFormat 82++pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat++pattern VK_FORMAT_R16G16_SFLOAT = VkFormat 83++pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat++pattern VK_FORMAT_R16G16B16_UNORM = VkFormat 84++pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat++pattern VK_FORMAT_R16G16B16_SNORM = VkFormat 85++pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat++pattern VK_FORMAT_R16G16B16_USCALED = VkFormat 86++pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat++pattern VK_FORMAT_R16G16B16_SSCALED = VkFormat 87++pattern VK_FORMAT_R16G16B16_UINT :: VkFormat++pattern VK_FORMAT_R16G16B16_UINT = VkFormat 88++pattern VK_FORMAT_R16G16B16_SINT :: VkFormat++pattern VK_FORMAT_R16G16B16_SINT = VkFormat 89++pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat++pattern VK_FORMAT_R16G16B16_SFLOAT = VkFormat 90++pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat++pattern VK_FORMAT_R16G16B16A16_UNORM = VkFormat 91++pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat++pattern VK_FORMAT_R16G16B16A16_SNORM = VkFormat 92++pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat++pattern VK_FORMAT_R16G16B16A16_USCALED = VkFormat 93++pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat++pattern VK_FORMAT_R16G16B16A16_SSCALED = VkFormat 94++pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat++pattern VK_FORMAT_R16G16B16A16_UINT = VkFormat 95++pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat++pattern VK_FORMAT_R16G16B16A16_SINT = VkFormat 96++pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat++pattern VK_FORMAT_R16G16B16A16_SFLOAT = VkFormat 97++pattern VK_FORMAT_R32_UINT :: VkFormat++pattern VK_FORMAT_R32_UINT = VkFormat 98++pattern VK_FORMAT_R32_SINT :: VkFormat++pattern VK_FORMAT_R32_SINT = VkFormat 99++pattern VK_FORMAT_R32_SFLOAT :: VkFormat++pattern VK_FORMAT_R32_SFLOAT = VkFormat 100++pattern VK_FORMAT_R32G32_UINT :: VkFormat++pattern VK_FORMAT_R32G32_UINT = VkFormat 101++pattern VK_FORMAT_R32G32_SINT :: VkFormat++pattern VK_FORMAT_R32G32_SINT = VkFormat 102++pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat++pattern VK_FORMAT_R32G32_SFLOAT = VkFormat 103++pattern VK_FORMAT_R32G32B32_UINT :: VkFormat++pattern VK_FORMAT_R32G32B32_UINT = VkFormat 104++pattern VK_FORMAT_R32G32B32_SINT :: VkFormat++pattern VK_FORMAT_R32G32B32_SINT = VkFormat 105++pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat++pattern VK_FORMAT_R32G32B32_SFLOAT = VkFormat 106++pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat++pattern VK_FORMAT_R32G32B32A32_UINT = VkFormat 107++pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat++pattern VK_FORMAT_R32G32B32A32_SINT = VkFormat 108++pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat++pattern VK_FORMAT_R32G32B32A32_SFLOAT = VkFormat 109++pattern VK_FORMAT_R64_UINT :: VkFormat++pattern VK_FORMAT_R64_UINT = VkFormat 110++pattern VK_FORMAT_R64_SINT :: VkFormat++pattern VK_FORMAT_R64_SINT = VkFormat 111++pattern VK_FORMAT_R64_SFLOAT :: VkFormat++pattern VK_FORMAT_R64_SFLOAT = VkFormat 112++pattern VK_FORMAT_R64G64_UINT :: VkFormat++pattern VK_FORMAT_R64G64_UINT = VkFormat 113++pattern VK_FORMAT_R64G64_SINT :: VkFormat++pattern VK_FORMAT_R64G64_SINT = VkFormat 114++pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat++pattern VK_FORMAT_R64G64_SFLOAT = VkFormat 115++pattern VK_FORMAT_R64G64B64_UINT :: VkFormat++pattern VK_FORMAT_R64G64B64_UINT = VkFormat 116++pattern VK_FORMAT_R64G64B64_SINT :: VkFormat++pattern VK_FORMAT_R64G64B64_SINT = VkFormat 117++pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat++pattern VK_FORMAT_R64G64B64_SFLOAT = VkFormat 118++pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat++pattern VK_FORMAT_R64G64B64A64_UINT = VkFormat 119++pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat++pattern VK_FORMAT_R64G64B64A64_SINT = VkFormat 120++pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat++pattern VK_FORMAT_R64G64B64A64_SFLOAT = VkFormat 121++pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat++pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 = VkFormat 122++pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat++pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = VkFormat 123++pattern VK_FORMAT_D16_UNORM :: VkFormat++pattern VK_FORMAT_D16_UNORM = VkFormat 124++pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat++pattern VK_FORMAT_X8_D24_UNORM_PACK32 = VkFormat 125++pattern VK_FORMAT_D32_SFLOAT :: VkFormat++pattern VK_FORMAT_D32_SFLOAT = VkFormat 126++pattern VK_FORMAT_S8_UINT :: VkFormat++pattern VK_FORMAT_S8_UINT = VkFormat 127++pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat++pattern VK_FORMAT_D16_UNORM_S8_UINT = VkFormat 128++pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat++pattern VK_FORMAT_D24_UNORM_S8_UINT = VkFormat 129++pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat++pattern VK_FORMAT_D32_SFLOAT_S8_UINT = VkFormat 130++pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK = VkFormat 131++pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK = VkFormat 132++pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK = VkFormat 133++pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK = VkFormat 134++pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC2_UNORM_BLOCK = VkFormat 135++pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_BC2_SRGB_BLOCK = VkFormat 136++pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC3_UNORM_BLOCK = VkFormat 137++pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_BC3_SRGB_BLOCK = VkFormat 138++pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC4_UNORM_BLOCK = VkFormat 139++pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC4_SNORM_BLOCK = VkFormat 140++pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC5_UNORM_BLOCK = VkFormat 141++pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC5_SNORM_BLOCK = VkFormat 142++pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat++pattern VK_FORMAT_BC6H_UFLOAT_BLOCK = VkFormat 143++pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat++pattern VK_FORMAT_BC6H_SFLOAT_BLOCK = VkFormat 144++pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC7_UNORM_BLOCK = VkFormat 145++pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_BC7_SRGB_BLOCK = VkFormat 146++pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = VkFormat 147++pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = VkFormat 148++pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = VkFormat 149++pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = VkFormat 150++pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = VkFormat 151++pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = VkFormat 152++pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_EAC_R11_UNORM_BLOCK = VkFormat 153++pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat++pattern VK_FORMAT_EAC_R11_SNORM_BLOCK = VkFormat 154++pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK = VkFormat 155++pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat++pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK = VkFormat 156++pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK = VkFormat 157++pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK = VkFormat 158++pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK = VkFormat 159++pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK = VkFormat 160++pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK = VkFormat 161++pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK = VkFormat 162++pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK = VkFormat 163++pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK = VkFormat 164++pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK = VkFormat 165++pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK = VkFormat 166++pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK = VkFormat 167++pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK = VkFormat 168++pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK = VkFormat 169++pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK = VkFormat 170++pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK = VkFormat 171++pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK = VkFormat 172++pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK = VkFormat 173++pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK = VkFormat 174++pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK = VkFormat 175++pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK = VkFormat 176++pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK = VkFormat 177++pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK = VkFormat 178++pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK = VkFormat 179++pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK = VkFormat 180++pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK = VkFormat 181++pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK = VkFormat 182++pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK = VkFormat 183++pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK = VkFormat 184
+ src-gen/Graphics/Vulkan/Types/Enum/VkFormatFeatureFlags.hs view
@@ -0,0 +1,251 @@+{-# 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.VkFormatFeatureFlags+       (VkFormatFeatureBitmask(VkFormatFeatureBitmask,+                               VkFormatFeatureFlags, VkFormatFeatureFlagBits,+                               VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT,+                               VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT,+                               VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT,+                               VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT,+                               VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT,+                               VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT,+                               VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT,+                               VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT,+                               VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT,+                               VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT,+                               VK_FORMAT_FEATURE_BLIT_SRC_BIT, VK_FORMAT_FEATURE_BLIT_DST_BIT,+                               VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT),+        VkFormatFeatureFlags, VkFormatFeatureFlagBits)+       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 VkFormatFeatureBitmask (a ::+                                  FlagType) = VkFormatFeatureBitmask VkFlags+                                                deriving (Eq, Ord, Storable, Data, Generic)++type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask++type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit++pattern VkFormatFeatureFlagBits ::+        VkFlags -> VkFormatFeatureBitmask FlagBit++pattern VkFormatFeatureFlagBits n = VkFormatFeatureBitmask n++pattern VkFormatFeatureFlags ::+        VkFlags -> VkFormatFeatureBitmask FlagMask++pattern VkFormatFeatureFlags n = VkFormatFeatureBitmask n++deriving instance Bits (VkFormatFeatureBitmask FlagMask)++deriving instance FiniteBits (VkFormatFeatureBitmask FlagMask)++deriving instance Integral (VkFormatFeatureBitmask FlagMask)++deriving instance Num (VkFormatFeatureBitmask FlagMask)++deriving instance Bounded (VkFormatFeatureBitmask FlagMask)++deriving instance Enum (VkFormatFeatureBitmask FlagMask)++deriving instance Real (VkFormatFeatureBitmask FlagMask)++instance Show (VkFormatFeatureBitmask a) where+        showsPrec _ VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT+          = showString "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"+        showsPrec _ VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT+          = showString "VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT"+        showsPrec _ VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT+          = showString "VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT"+        showsPrec _ VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT+          = showString "VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT"+        showsPrec _ VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT+          = showString "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT"+        showsPrec _ VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT+          = showString "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT"+        showsPrec _ VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT+          = showString "VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT"+        showsPrec _ VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT+          = showString "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT"+        showsPrec _ VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT+          = showString "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT"+        showsPrec _ VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT+          = showString "VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT"+        showsPrec _ VK_FORMAT_FEATURE_BLIT_SRC_BIT+          = showString "VK_FORMAT_FEATURE_BLIT_SRC_BIT"+        showsPrec _ VK_FORMAT_FEATURE_BLIT_DST_BIT+          = showString "VK_FORMAT_FEATURE_BLIT_DST_BIT"+        showsPrec _ VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT+          = showString "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT"+        showsPrec p (VkFormatFeatureBitmask x)+          = showParen (p >= 11)+              (showString "VkFormatFeatureBitmask " . showsPrec 11 x)++instance Read (VkFormatFeatureBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT",+                   pure VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT),+                  ("VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT",+                   pure VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT),+                  ("VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT",+                   pure VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT),+                  ("VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT",+                   pure VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT),+                  ("VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT",+                   pure VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT),+                  ("VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT",+                   pure VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT),+                  ("VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT",+                   pure VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT),+                  ("VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT",+                   pure VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT),+                  ("VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT",+                   pure VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT),+                  ("VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT",+                   pure VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT),+                  ("VK_FORMAT_FEATURE_BLIT_SRC_BIT",+                   pure VK_FORMAT_FEATURE_BLIT_SRC_BIT),+                  ("VK_FORMAT_FEATURE_BLIT_DST_BIT",+                   pure VK_FORMAT_FEATURE_BLIT_DST_BIT),+                  ("VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT",+                   pure VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkFormatFeatureBitmask") >>+                      (VkFormatFeatureBitmask <$> step readPrec)))++-- | Format can be used for sampled images (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER descriptor types)+--+--   bitpos = @0@+pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT ::+        VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT =+        VkFormatFeatureBitmask 1++-- | Format can be used for storage images (STORAGE_IMAGE descriptor type)+--+--   bitpos = @1@+pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT ::+        VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT =+        VkFormatFeatureBitmask 2++-- | Format supports atomic operations in case it is used for storage images+--+--   bitpos = @2@+pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT ::+        VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT =+        VkFormatFeatureBitmask 4++-- | Format can be used for uniform texel buffers (TBOs)+--+--   bitpos = @3@+pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT ::+        VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT =+        VkFormatFeatureBitmask 8++-- | Format can be used for storage texel buffers (IBOs)+--+--   bitpos = @4@+pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT ::+        VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT =+        VkFormatFeatureBitmask 16++-- | Format supports atomic operations in case it is used for storage texel buffers+--+--   bitpos = @5@+pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT ::+        VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT =+        VkFormatFeatureBitmask 32++-- | Format can be used for vertex buffers (VBOs)+--+--   bitpos = @6@+pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT ::+        VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT =+        VkFormatFeatureBitmask 64++-- | Format can be used for color attachment images+--+--   bitpos = @7@+pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT ::+        VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT =+        VkFormatFeatureBitmask 128++-- | Format supports blending in case it is used for color attachment images+--+--   bitpos = @8@+pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT ::+        VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT =+        VkFormatFeatureBitmask 256++-- | Format can be used for depth/stencil attachment images+--+--   bitpos = @9@+pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT ::+        VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT =+        VkFormatFeatureBitmask 512++-- | Format can be used as the source image of blits with vkCmdBlitImage+--+--   bitpos = @10@+pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT =+        VkFormatFeatureBitmask 1024++-- | Format can be used as the destination image of blits with vkCmdBlitImage+--+--   bitpos = @11@+pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_BLIT_DST_BIT =+        VkFormatFeatureBitmask 2048++-- | Format can be filtered with VK_FILTER_LINEAR when being sampled+--+--   bitpos = @12@+pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT ::+        VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT =+        VkFormatFeatureBitmask 4096
+ src-gen/Graphics/Vulkan/Types/Enum/VkFramebufferCreateFlagBits.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkFramebufferCreateFlagBits+       (VkFramebufferCreateFlagBits(..)) 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 VkFramebufferCreateFlagBits = VkFramebufferCreateFlagBits VkFlags+                                        deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                  FiniteBits, Storable, Real, Data, Generic)++instance Show VkFramebufferCreateFlagBits where+        {-# INLINE show #-}+        show (VkFramebufferCreateFlagBits x) = show x++instance Read VkFramebufferCreateFlagBits where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkFrontFace.hs view
@@ -0,0 +1,52 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkFrontFace+       (VkFrontFace(VkFrontFace, VK_FRONT_FACE_COUNTER_CLOCKWISE,+                    VK_FRONT_FACE_CLOCKWISE))+       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.0-extensions/man/html/VkFrontFace.html VkFrontFace registry at www.khronos.org>+newtype VkFrontFace = VkFrontFace Int32+                        deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkFrontFace where+        showsPrec _ VK_FRONT_FACE_COUNTER_CLOCKWISE+          = showString "VK_FRONT_FACE_COUNTER_CLOCKWISE"+        showsPrec _ VK_FRONT_FACE_CLOCKWISE+          = showString "VK_FRONT_FACE_CLOCKWISE"+        showsPrec p (VkFrontFace x)+          = showParen (p >= 11) (showString "VkFrontFace " . showsPrec 11 x)++instance Read VkFrontFace where+        readPrec+          = parens+              (choose+                 [("VK_FRONT_FACE_COUNTER_CLOCKWISE",+                   pure VK_FRONT_FACE_COUNTER_CLOCKWISE),+                  ("VK_FRONT_FACE_CLOCKWISE", pure VK_FRONT_FACE_CLOCKWISE)]+                 ++++                 prec 10+                   (expectP (Ident "VkFrontFace") >> (VkFrontFace <$> step readPrec)))++pattern VK_FRONT_FACE_COUNTER_CLOCKWISE :: VkFrontFace++pattern VK_FRONT_FACE_COUNTER_CLOCKWISE = VkFrontFace 0++pattern VK_FRONT_FACE_CLOCKWISE :: VkFrontFace++pattern VK_FRONT_FACE_CLOCKWISE = VkFrontFace 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkImageAspectFlags.hs view
@@ -0,0 +1,107 @@+{-# 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.VkImageAspectFlags+       (VkImageAspectBitmask(VkImageAspectBitmask, VkImageAspectFlags,+                             VkImageAspectFlagBits, VK_IMAGE_ASPECT_COLOR_BIT,+                             VK_IMAGE_ASPECT_DEPTH_BIT, VK_IMAGE_ASPECT_STENCIL_BIT,+                             VK_IMAGE_ASPECT_METADATA_BIT),+        VkImageAspectFlags, VkImageAspectFlagBits)+       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 VkImageAspectBitmask (a ::+                                FlagType) = VkImageAspectBitmask VkFlags+                                              deriving (Eq, Ord, Storable, Data, Generic)++type VkImageAspectFlags = VkImageAspectBitmask FlagMask++type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit++pattern VkImageAspectFlagBits ::+        VkFlags -> VkImageAspectBitmask FlagBit++pattern VkImageAspectFlagBits n = VkImageAspectBitmask n++pattern VkImageAspectFlags ::+        VkFlags -> VkImageAspectBitmask FlagMask++pattern VkImageAspectFlags n = VkImageAspectBitmask n++deriving instance Bits (VkImageAspectBitmask FlagMask)++deriving instance FiniteBits (VkImageAspectBitmask FlagMask)++deriving instance Integral (VkImageAspectBitmask FlagMask)++deriving instance Num (VkImageAspectBitmask FlagMask)++deriving instance Bounded (VkImageAspectBitmask FlagMask)++deriving instance Enum (VkImageAspectBitmask FlagMask)++deriving instance Real (VkImageAspectBitmask FlagMask)++instance Show (VkImageAspectBitmask a) where+        showsPrec _ VK_IMAGE_ASPECT_COLOR_BIT+          = showString "VK_IMAGE_ASPECT_COLOR_BIT"+        showsPrec _ VK_IMAGE_ASPECT_DEPTH_BIT+          = showString "VK_IMAGE_ASPECT_DEPTH_BIT"+        showsPrec _ VK_IMAGE_ASPECT_STENCIL_BIT+          = showString "VK_IMAGE_ASPECT_STENCIL_BIT"+        showsPrec _ VK_IMAGE_ASPECT_METADATA_BIT+          = showString "VK_IMAGE_ASPECT_METADATA_BIT"+        showsPrec p (VkImageAspectBitmask x)+          = showParen (p >= 11)+              (showString "VkImageAspectBitmask " . showsPrec 11 x)++instance Read (VkImageAspectBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_IMAGE_ASPECT_COLOR_BIT", pure VK_IMAGE_ASPECT_COLOR_BIT),+                  ("VK_IMAGE_ASPECT_DEPTH_BIT", pure VK_IMAGE_ASPECT_DEPTH_BIT),+                  ("VK_IMAGE_ASPECT_STENCIL_BIT", pure VK_IMAGE_ASPECT_STENCIL_BIT),+                  ("VK_IMAGE_ASPECT_METADATA_BIT",+                   pure VK_IMAGE_ASPECT_METADATA_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkImageAspectBitmask") >>+                      (VkImageAspectBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a++pattern VK_IMAGE_ASPECT_COLOR_BIT = VkImageAspectBitmask 1++-- | bitpos = @1@+pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a++pattern VK_IMAGE_ASPECT_DEPTH_BIT = VkImageAspectBitmask 2++-- | bitpos = @2@+pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a++pattern VK_IMAGE_ASPECT_STENCIL_BIT = VkImageAspectBitmask 4++-- | bitpos = @3@+pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a++pattern VK_IMAGE_ASPECT_METADATA_BIT = VkImageAspectBitmask 8
+ src-gen/Graphics/Vulkan/Types/Enum/VkImageCreateFlags.hs view
@@ -0,0 +1,138 @@+{-# 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.VkImageCreateFlags+       (VkImageCreateBitmask(VkImageCreateBitmask, VkImageCreateFlags,+                             VkImageCreateFlagBits, VK_IMAGE_CREATE_SPARSE_BINDING_BIT,+                             VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT,+                             VK_IMAGE_CREATE_SPARSE_ALIASED_BIT,+                             VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT,+                             VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT),+        VkImageCreateFlags, VkImageCreateFlagBits)+       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 VkImageCreateBitmask (a ::+                                FlagType) = VkImageCreateBitmask VkFlags+                                              deriving (Eq, Ord, Storable, Data, Generic)++type VkImageCreateFlags = VkImageCreateBitmask FlagMask++type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit++pattern VkImageCreateFlagBits ::+        VkFlags -> VkImageCreateBitmask FlagBit++pattern VkImageCreateFlagBits n = VkImageCreateBitmask n++pattern VkImageCreateFlags ::+        VkFlags -> VkImageCreateBitmask FlagMask++pattern VkImageCreateFlags n = VkImageCreateBitmask n++deriving instance Bits (VkImageCreateBitmask FlagMask)++deriving instance FiniteBits (VkImageCreateBitmask FlagMask)++deriving instance Integral (VkImageCreateBitmask FlagMask)++deriving instance Num (VkImageCreateBitmask FlagMask)++deriving instance Bounded (VkImageCreateBitmask FlagMask)++deriving instance Enum (VkImageCreateBitmask FlagMask)++deriving instance Real (VkImageCreateBitmask FlagMask)++instance Show (VkImageCreateBitmask a) where+        showsPrec _ VK_IMAGE_CREATE_SPARSE_BINDING_BIT+          = showString "VK_IMAGE_CREATE_SPARSE_BINDING_BIT"+        showsPrec _ VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT+          = showString "VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT"+        showsPrec _ VK_IMAGE_CREATE_SPARSE_ALIASED_BIT+          = showString "VK_IMAGE_CREATE_SPARSE_ALIASED_BIT"+        showsPrec _ VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT+          = showString "VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT"+        showsPrec _ VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT+          = showString "VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT"+        showsPrec p (VkImageCreateBitmask x)+          = showParen (p >= 11)+              (showString "VkImageCreateBitmask " . showsPrec 11 x)++instance Read (VkImageCreateBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_IMAGE_CREATE_SPARSE_BINDING_BIT",+                   pure VK_IMAGE_CREATE_SPARSE_BINDING_BIT),+                  ("VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT",+                   pure VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT),+                  ("VK_IMAGE_CREATE_SPARSE_ALIASED_BIT",+                   pure VK_IMAGE_CREATE_SPARSE_ALIASED_BIT),+                  ("VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT",+                   pure VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT),+                  ("VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT",+                   pure VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkImageCreateBitmask") >>+                      (VkImageCreateBitmask <$> step readPrec)))++-- | Image should support sparse backing+--+--   bitpos = @0@+pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT ::+        VkImageCreateBitmask a++pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT = VkImageCreateBitmask 1++-- | Image should support sparse backing with partial residency+--+--   bitpos = @1@+pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT ::+        VkImageCreateBitmask a++pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT =+        VkImageCreateBitmask 2++-- | Image should support constent data access to physical memory ranges mapped into multiple locations of sparse images+--+--   bitpos = @2@+pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT ::+        VkImageCreateBitmask a++pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = VkImageCreateBitmask 4++-- | Allows image views to have different format than the base image+--+--   bitpos = @3@+pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT ::+        VkImageCreateBitmask a++pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = VkImageCreateBitmask 8++-- | Allows creating image views with cube type from the created image+--+--   bitpos = @4@+pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT ::+        VkImageCreateBitmask a++pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT =+        VkImageCreateBitmask 16
+ src-gen/Graphics/Vulkan/Types/Enum/VkImageLayout.hs view
@@ -0,0 +1,128 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkImageLayout+       (VkImageLayout(VkImageLayout, VK_IMAGE_LAYOUT_UNDEFINED,+                      VK_IMAGE_LAYOUT_GENERAL, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,+                      VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,+                      VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL,+                      VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,+                      VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,+                      VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,+                      VK_IMAGE_LAYOUT_PREINITIALIZED))+       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.0-extensions/man/html/VkImageLayout.html VkImageLayout registry at www.khronos.org>+newtype VkImageLayout = VkImageLayout Int32+                          deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkImageLayout where+        showsPrec _ VK_IMAGE_LAYOUT_UNDEFINED+          = showString "VK_IMAGE_LAYOUT_UNDEFINED"+        showsPrec _ VK_IMAGE_LAYOUT_GENERAL+          = showString "VK_IMAGE_LAYOUT_GENERAL"+        showsPrec _ VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL+          = showString "VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL"+        showsPrec _ VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL+          = showString "VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL"+        showsPrec _ VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL+          = showString "VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL"+        showsPrec _ VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL+          = showString "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL"+        showsPrec _ VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL+          = showString "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL"+        showsPrec _ VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL+          = showString "VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL"+        showsPrec _ VK_IMAGE_LAYOUT_PREINITIALIZED+          = showString "VK_IMAGE_LAYOUT_PREINITIALIZED"+        showsPrec p (VkImageLayout x)+          = showParen (p >= 11)+              (showString "VkImageLayout " . showsPrec 11 x)++instance Read VkImageLayout where+        readPrec+          = parens+              (choose+                 [("VK_IMAGE_LAYOUT_UNDEFINED", pure VK_IMAGE_LAYOUT_UNDEFINED),+                  ("VK_IMAGE_LAYOUT_GENERAL", pure VK_IMAGE_LAYOUT_GENERAL),+                  ("VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL",+                   pure VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL),+                  ("VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL",+                   pure VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL),+                  ("VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL",+                   pure VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL),+                  ("VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL",+                   pure VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL),+                  ("VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL",+                   pure VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL),+                  ("VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL",+                   pure VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL),+                  ("VK_IMAGE_LAYOUT_PREINITIALIZED",+                   pure VK_IMAGE_LAYOUT_PREINITIALIZED)]+                 ++++                 prec 10+                   (expectP (Ident "VkImageLayout") >>+                      (VkImageLayout <$> step readPrec)))++-- | Implicit layout an image is when its contents are undefined due to various reasons (e.g. right after creation)+pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout++pattern VK_IMAGE_LAYOUT_UNDEFINED = VkImageLayout 0++-- | General layout when image can be used for any kind of access+pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout++pattern VK_IMAGE_LAYOUT_GENERAL = VkImageLayout 1++-- | Optimal layout when image is only used for color attachment read/write+pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout++pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = VkImageLayout 2++-- | Optimal layout when image is only used for depth/stencil attachment read/write+pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL ::+        VkImageLayout++pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL =+        VkImageLayout 3++-- | Optimal layout when image is used for read only depth/stencil attachment and shader access+pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL ::+        VkImageLayout++pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL =+        VkImageLayout 4++-- | Optimal layout when image is used for read only shader access+pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout++pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = VkImageLayout 5++-- | Optimal layout when image is used only as source of transfer operations+pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout++pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = VkImageLayout 6++-- | Optimal layout when image is used only as destination of transfer operations+pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout++pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = VkImageLayout 7++-- | Initial layout used when the data is populated by the CPU+pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout++pattern VK_IMAGE_LAYOUT_PREINITIALIZED = VkImageLayout 8
+ src-gen/Graphics/Vulkan/Types/Enum/VkImageTiling.hs view
@@ -0,0 +1,53 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkImageTiling+       (VkImageTiling(VkImageTiling, VK_IMAGE_TILING_OPTIMAL,+                      VK_IMAGE_TILING_LINEAR))+       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.0-extensions/man/html/VkImageTiling.html VkImageTiling registry at www.khronos.org>+newtype VkImageTiling = VkImageTiling Int32+                          deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkImageTiling where+        showsPrec _ VK_IMAGE_TILING_OPTIMAL+          = showString "VK_IMAGE_TILING_OPTIMAL"+        showsPrec _ VK_IMAGE_TILING_LINEAR+          = showString "VK_IMAGE_TILING_LINEAR"+        showsPrec p (VkImageTiling x)+          = showParen (p >= 11)+              (showString "VkImageTiling " . showsPrec 11 x)++instance Read VkImageTiling where+        readPrec+          = parens+              (choose+                 [("VK_IMAGE_TILING_OPTIMAL", pure VK_IMAGE_TILING_OPTIMAL),+                  ("VK_IMAGE_TILING_LINEAR", pure VK_IMAGE_TILING_LINEAR)]+                 ++++                 prec 10+                   (expectP (Ident "VkImageTiling") >>+                      (VkImageTiling <$> step readPrec)))++pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling++pattern VK_IMAGE_TILING_OPTIMAL = VkImageTiling 0++pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling++pattern VK_IMAGE_TILING_LINEAR = VkImageTiling 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkImageType.hs view
@@ -0,0 +1,55 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkImageType+       (VkImageType(VkImageType, VK_IMAGE_TYPE_1D, VK_IMAGE_TYPE_2D,+                    VK_IMAGE_TYPE_3D))+       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.0-extensions/man/html/VkImageType.html VkImageType registry at www.khronos.org>+newtype VkImageType = VkImageType Int32+                        deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkImageType where+        showsPrec _ VK_IMAGE_TYPE_1D = showString "VK_IMAGE_TYPE_1D"+        showsPrec _ VK_IMAGE_TYPE_2D = showString "VK_IMAGE_TYPE_2D"+        showsPrec _ VK_IMAGE_TYPE_3D = showString "VK_IMAGE_TYPE_3D"+        showsPrec p (VkImageType x)+          = showParen (p >= 11) (showString "VkImageType " . showsPrec 11 x)++instance Read VkImageType where+        readPrec+          = parens+              (choose+                 [("VK_IMAGE_TYPE_1D", pure VK_IMAGE_TYPE_1D),+                  ("VK_IMAGE_TYPE_2D", pure VK_IMAGE_TYPE_2D),+                  ("VK_IMAGE_TYPE_3D", pure VK_IMAGE_TYPE_3D)]+                 ++++                 prec 10+                   (expectP (Ident "VkImageType") >> (VkImageType <$> step readPrec)))++pattern VK_IMAGE_TYPE_1D :: VkImageType++pattern VK_IMAGE_TYPE_1D = VkImageType 0++pattern VK_IMAGE_TYPE_2D :: VkImageType++pattern VK_IMAGE_TYPE_2D = VkImageType 1++pattern VK_IMAGE_TYPE_3D :: VkImageType++pattern VK_IMAGE_TYPE_3D = VkImageType 2
+ src-gen/Graphics/Vulkan/Types/Enum/VkImageUsageFlags.hs view
@@ -0,0 +1,171 @@+{-# 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.VkImageUsageFlags+       (VkImageUsageBitmask(VkImageUsageBitmask, VkImageUsageFlags,+                            VkImageUsageFlagBits, VK_IMAGE_USAGE_TRANSFER_SRC_BIT,+                            VK_IMAGE_USAGE_TRANSFER_DST_BIT, VK_IMAGE_USAGE_SAMPLED_BIT,+                            VK_IMAGE_USAGE_STORAGE_BIT, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,+                            VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,+                            VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT,+                            VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT),+        VkImageUsageFlags, VkImageUsageFlagBits)+       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 VkImageUsageBitmask (a ::+                               FlagType) = VkImageUsageBitmask VkFlags+                                             deriving (Eq, Ord, Storable, Data, Generic)++type VkImageUsageFlags = VkImageUsageBitmask FlagMask++type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit++pattern VkImageUsageFlagBits ::+        VkFlags -> VkImageUsageBitmask FlagBit++pattern VkImageUsageFlagBits n = VkImageUsageBitmask n++pattern VkImageUsageFlags ::+        VkFlags -> VkImageUsageBitmask FlagMask++pattern VkImageUsageFlags n = VkImageUsageBitmask n++deriving instance Bits (VkImageUsageBitmask FlagMask)++deriving instance FiniteBits (VkImageUsageBitmask FlagMask)++deriving instance Integral (VkImageUsageBitmask FlagMask)++deriving instance Num (VkImageUsageBitmask FlagMask)++deriving instance Bounded (VkImageUsageBitmask FlagMask)++deriving instance Enum (VkImageUsageBitmask FlagMask)++deriving instance Real (VkImageUsageBitmask FlagMask)++instance Show (VkImageUsageBitmask a) where+        showsPrec _ VK_IMAGE_USAGE_TRANSFER_SRC_BIT+          = showString "VK_IMAGE_USAGE_TRANSFER_SRC_BIT"+        showsPrec _ VK_IMAGE_USAGE_TRANSFER_DST_BIT+          = showString "VK_IMAGE_USAGE_TRANSFER_DST_BIT"+        showsPrec _ VK_IMAGE_USAGE_SAMPLED_BIT+          = showString "VK_IMAGE_USAGE_SAMPLED_BIT"+        showsPrec _ VK_IMAGE_USAGE_STORAGE_BIT+          = showString "VK_IMAGE_USAGE_STORAGE_BIT"+        showsPrec _ VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT+          = showString "VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT"+        showsPrec _ VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT+          = showString "VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT"+        showsPrec _ VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT+          = showString "VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT"+        showsPrec _ VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT+          = showString "VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT"+        showsPrec p (VkImageUsageBitmask x)+          = showParen (p >= 11)+              (showString "VkImageUsageBitmask " . showsPrec 11 x)++instance Read (VkImageUsageBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_IMAGE_USAGE_TRANSFER_SRC_BIT",+                   pure VK_IMAGE_USAGE_TRANSFER_SRC_BIT),+                  ("VK_IMAGE_USAGE_TRANSFER_DST_BIT",+                   pure VK_IMAGE_USAGE_TRANSFER_DST_BIT),+                  ("VK_IMAGE_USAGE_SAMPLED_BIT", pure VK_IMAGE_USAGE_SAMPLED_BIT),+                  ("VK_IMAGE_USAGE_STORAGE_BIT", pure VK_IMAGE_USAGE_STORAGE_BIT),+                  ("VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT",+                   pure VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT),+                  ("VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT",+                   pure VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT),+                  ("VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT",+                   pure VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT),+                  ("VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT",+                   pure VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkImageUsageBitmask") >>+                      (VkImageUsageBitmask <$> step readPrec)))++-- | Can be used as a source of transfer operations+--+--   bitpos = @0@+pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a++pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT = VkImageUsageBitmask 1++-- | Can be used as a destination of transfer operations+--+--   bitpos = @1@+pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a++pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT = VkImageUsageBitmask 2++-- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER descriptor types)+--+--   bitpos = @2@+pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a++pattern VK_IMAGE_USAGE_SAMPLED_BIT = VkImageUsageBitmask 4++-- | Can be used as storage image (STORAGE_IMAGE descriptor type)+--+--   bitpos = @3@+pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a++pattern VK_IMAGE_USAGE_STORAGE_BIT = VkImageUsageBitmask 8++-- | Can be used as framebuffer color attachment+--+--   bitpos = @4@+pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT ::+        VkImageUsageBitmask a++pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT =+        VkImageUsageBitmask 16++-- | Can be used as framebuffer depth/stencil attachment+--+--   bitpos = @5@+pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT ::+        VkImageUsageBitmask a++pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT =+        VkImageUsageBitmask 32++-- | Image data not needed outside of rendering+--+--   bitpos = @6@+pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT ::+        VkImageUsageBitmask a++pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT =+        VkImageUsageBitmask 64++-- | Can be used as framebuffer input attachment+--+--   bitpos = @7@+pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT ::+        VkImageUsageBitmask a++pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT =+        VkImageUsageBitmask 128
+ src-gen/Graphics/Vulkan/Types/Enum/VkImageViewType.hs view
@@ -0,0 +1,91 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkImageViewType+       (VkImageViewType(VkImageViewType, VK_IMAGE_VIEW_TYPE_1D,+                        VK_IMAGE_VIEW_TYPE_2D, VK_IMAGE_VIEW_TYPE_3D,+                        VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY,+                        VK_IMAGE_VIEW_TYPE_2D_ARRAY, VK_IMAGE_VIEW_TYPE_CUBE_ARRAY))+       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.0-extensions/man/html/VkImageViewType.html VkImageViewType registry at www.khronos.org>+newtype VkImageViewType = VkImageViewType Int32+                            deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkImageViewType where+        showsPrec _ VK_IMAGE_VIEW_TYPE_1D+          = showString "VK_IMAGE_VIEW_TYPE_1D"+        showsPrec _ VK_IMAGE_VIEW_TYPE_2D+          = showString "VK_IMAGE_VIEW_TYPE_2D"+        showsPrec _ VK_IMAGE_VIEW_TYPE_3D+          = showString "VK_IMAGE_VIEW_TYPE_3D"+        showsPrec _ VK_IMAGE_VIEW_TYPE_CUBE+          = showString "VK_IMAGE_VIEW_TYPE_CUBE"+        showsPrec _ VK_IMAGE_VIEW_TYPE_1D_ARRAY+          = showString "VK_IMAGE_VIEW_TYPE_1D_ARRAY"+        showsPrec _ VK_IMAGE_VIEW_TYPE_2D_ARRAY+          = showString "VK_IMAGE_VIEW_TYPE_2D_ARRAY"+        showsPrec _ VK_IMAGE_VIEW_TYPE_CUBE_ARRAY+          = showString "VK_IMAGE_VIEW_TYPE_CUBE_ARRAY"+        showsPrec p (VkImageViewType x)+          = showParen (p >= 11)+              (showString "VkImageViewType " . showsPrec 11 x)++instance Read VkImageViewType where+        readPrec+          = parens+              (choose+                 [("VK_IMAGE_VIEW_TYPE_1D", pure VK_IMAGE_VIEW_TYPE_1D),+                  ("VK_IMAGE_VIEW_TYPE_2D", pure VK_IMAGE_VIEW_TYPE_2D),+                  ("VK_IMAGE_VIEW_TYPE_3D", pure VK_IMAGE_VIEW_TYPE_3D),+                  ("VK_IMAGE_VIEW_TYPE_CUBE", pure VK_IMAGE_VIEW_TYPE_CUBE),+                  ("VK_IMAGE_VIEW_TYPE_1D_ARRAY", pure VK_IMAGE_VIEW_TYPE_1D_ARRAY),+                  ("VK_IMAGE_VIEW_TYPE_2D_ARRAY", pure VK_IMAGE_VIEW_TYPE_2D_ARRAY),+                  ("VK_IMAGE_VIEW_TYPE_CUBE_ARRAY",+                   pure VK_IMAGE_VIEW_TYPE_CUBE_ARRAY)]+                 ++++                 prec 10+                   (expectP (Ident "VkImageViewType") >>+                      (VkImageViewType <$> step readPrec)))++pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType++pattern VK_IMAGE_VIEW_TYPE_1D = VkImageViewType 0++pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType++pattern VK_IMAGE_VIEW_TYPE_2D = VkImageViewType 1++pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType++pattern VK_IMAGE_VIEW_TYPE_3D = VkImageViewType 2++pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType++pattern VK_IMAGE_VIEW_TYPE_CUBE = VkImageViewType 3++pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType++pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY = VkImageViewType 4++pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType++pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY = VkImageViewType 5++pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType++pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = VkImageViewType 6
+ src-gen/Graphics/Vulkan/Types/Enum/VkIndexType.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.VkIndexType+       (VkIndexType(VkIndexType, VK_INDEX_TYPE_UINT16,+                    VK_INDEX_TYPE_UINT32))+       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.0-extensions/man/html/VkIndexType.html VkIndexType registry at www.khronos.org>+newtype VkIndexType = VkIndexType Int32+                        deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkIndexType where+        showsPrec _ VK_INDEX_TYPE_UINT16+          = showString "VK_INDEX_TYPE_UINT16"+        showsPrec _ VK_INDEX_TYPE_UINT32+          = showString "VK_INDEX_TYPE_UINT32"+        showsPrec p (VkIndexType x)+          = showParen (p >= 11) (showString "VkIndexType " . showsPrec 11 x)++instance Read VkIndexType where+        readPrec+          = parens+              (choose+                 [("VK_INDEX_TYPE_UINT16", pure VK_INDEX_TYPE_UINT16),+                  ("VK_INDEX_TYPE_UINT32", pure VK_INDEX_TYPE_UINT32)]+                 ++++                 prec 10+                   (expectP (Ident "VkIndexType") >> (VkIndexType <$> step readPrec)))++pattern VK_INDEX_TYPE_UINT16 :: VkIndexType++pattern VK_INDEX_TYPE_UINT16 = VkIndexType 0++pattern VK_INDEX_TYPE_UINT32 :: VkIndexType++pattern VK_INDEX_TYPE_UINT32 = VkIndexType 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkIndirectCommandsLayoutUsageFlagsNVX.hs view
@@ -0,0 +1,144 @@+{-# 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.VkIndirectCommandsLayoutUsageFlagsNVX+       (VkIndirectCommandsLayoutUsageBitmaskNVX(VkIndirectCommandsLayoutUsageBitmaskNVX,+                                                VkIndirectCommandsLayoutUsageFlagsNVX,+                                                VkIndirectCommandsLayoutUsageFlagBitsNVX,+                                                VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX,+                                                VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX,+                                                VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX,+                                                VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX),+        VkIndirectCommandsLayoutUsageFlagsNVX,+        VkIndirectCommandsLayoutUsageFlagBitsNVX)+       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 VkIndirectCommandsLayoutUsageBitmaskNVX (a ::+                                                   FlagType) = VkIndirectCommandsLayoutUsageBitmaskNVX VkFlags+                                                                 deriving (Eq, Ord, Storable, Data,+                                                                           Generic)++type VkIndirectCommandsLayoutUsageFlagsNVX =+     VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask++type VkIndirectCommandsLayoutUsageFlagBitsNVX =+     VkIndirectCommandsLayoutUsageBitmaskNVX FlagBit++pattern VkIndirectCommandsLayoutUsageFlagBitsNVX ::+        VkFlags -> VkIndirectCommandsLayoutUsageBitmaskNVX FlagBit++pattern VkIndirectCommandsLayoutUsageFlagBitsNVX n =+        VkIndirectCommandsLayoutUsageBitmaskNVX n++pattern VkIndirectCommandsLayoutUsageFlagsNVX ::+        VkFlags -> VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask++pattern VkIndirectCommandsLayoutUsageFlagsNVX n =+        VkIndirectCommandsLayoutUsageBitmaskNVX n++deriving instance+         Bits (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)++deriving instance+         FiniteBits (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)++deriving instance+         Integral (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)++deriving instance+         Num (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)++deriving instance+         Bounded (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)++deriving instance+         Enum (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)++deriving instance+         Real (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)++instance Show (VkIndirectCommandsLayoutUsageBitmaskNVX a) where+        showsPrec _+          VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX+          = showString+              "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX"+        showsPrec _+          VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX+          = showString+              "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX"+        showsPrec _+          VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX+          = showString+              "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX"+        showsPrec _+          VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX+          = showString+              "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX"+        showsPrec p (VkIndirectCommandsLayoutUsageBitmaskNVX x)+          = showParen (p >= 11)+              (showString "VkIndirectCommandsLayoutUsageBitmaskNVX " .+                 showsPrec 11 x)++instance Read (VkIndirectCommandsLayoutUsageBitmaskNVX a) where+        readPrec+          = parens+              (choose+                 [("VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX",+                   pure+                     VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX),+                  ("VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX",+                   pure VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX),+                  ("VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX",+                   pure VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX),+                  ("VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX",+                   pure VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX)]+                 ++++                 prec 10+                   (expectP (Ident "VkIndirectCommandsLayoutUsageBitmaskNVX") >>+                      (VkIndirectCommandsLayoutUsageBitmaskNVX <$> step readPrec)))++-- | bitpos = @0@+pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX+        :: VkIndirectCommandsLayoutUsageBitmaskNVX a++pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX+        = VkIndirectCommandsLayoutUsageBitmaskNVX 1++-- | bitpos = @1@+pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX+        :: VkIndirectCommandsLayoutUsageBitmaskNVX a++pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX+        = VkIndirectCommandsLayoutUsageBitmaskNVX 2++-- | bitpos = @2@+pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX+        :: VkIndirectCommandsLayoutUsageBitmaskNVX a++pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX+        = VkIndirectCommandsLayoutUsageBitmaskNVX 4++-- | bitpos = @3@+pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX+        :: VkIndirectCommandsLayoutUsageBitmaskNVX a++pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX+        = VkIndirectCommandsLayoutUsageBitmaskNVX 8
+ src-gen/Graphics/Vulkan/Types/Enum/VkIndirectCommandsTokenTypeNVX.hs view
@@ -0,0 +1,127 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkIndirectCommandsTokenTypeNVX+       (VkIndirectCommandsTokenTypeNVX(VkIndirectCommandsTokenTypeNVX,+                                       VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX,+                                       VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX,+                                       VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX,+                                       VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX,+                                       VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX,+                                       VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX,+                                       VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX,+                                       VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX))+       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.0-extensions/man/html/VkIndirectCommandsTokenTypeNVX.html VkIndirectCommandsTokenTypeNVX registry at www.khronos.org>+newtype VkIndirectCommandsTokenTypeNVX = VkIndirectCommandsTokenTypeNVX Int32+                                           deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,+                                                     Generic)++instance Show VkIndirectCommandsTokenTypeNVX where+        showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX+          = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX"+        showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX+          = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX"+        showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX+          = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX"+        showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX+          = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX"+        showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX+          = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX"+        showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX+          = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX"+        showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX+          = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX"+        showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX+          = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX"+        showsPrec p (VkIndirectCommandsTokenTypeNVX x)+          = showParen (p >= 11)+              (showString "VkIndirectCommandsTokenTypeNVX " . showsPrec 11 x)++instance Read VkIndirectCommandsTokenTypeNVX where+        readPrec+          = parens+              (choose+                 [("VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX",+                   pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX),+                  ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX",+                   pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX),+                  ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX",+                   pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX),+                  ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX",+                   pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX),+                  ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX",+                   pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX),+                  ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX",+                   pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX),+                  ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX",+                   pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX),+                  ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX",+                   pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX)]+                 ++++                 prec 10+                   (expectP (Ident "VkIndirectCommandsTokenTypeNVX") >>+                      (VkIndirectCommandsTokenTypeNVX <$> step readPrec)))++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX ::+        VkIndirectCommandsTokenTypeNVX++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX =+        VkIndirectCommandsTokenTypeNVX 0++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX ::+        VkIndirectCommandsTokenTypeNVX++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX =+        VkIndirectCommandsTokenTypeNVX 1++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX ::+        VkIndirectCommandsTokenTypeNVX++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX =+        VkIndirectCommandsTokenTypeNVX 2++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX ::+        VkIndirectCommandsTokenTypeNVX++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX =+        VkIndirectCommandsTokenTypeNVX 3++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX ::+        VkIndirectCommandsTokenTypeNVX++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX =+        VkIndirectCommandsTokenTypeNVX 4++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX ::+        VkIndirectCommandsTokenTypeNVX++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX =+        VkIndirectCommandsTokenTypeNVX 5++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX ::+        VkIndirectCommandsTokenTypeNVX++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX =+        VkIndirectCommandsTokenTypeNVX 6++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX ::+        VkIndirectCommandsTokenTypeNVX++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX =+        VkIndirectCommandsTokenTypeNVX 7
+ src-gen/Graphics/Vulkan/Types/Enum/VkInstanceCreateFlagBits.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkInstanceCreateFlagBits+       (VkInstanceCreateFlagBits(..)) 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 VkInstanceCreateFlagBits = VkInstanceCreateFlagBits VkFlags+                                     deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                               FiniteBits, Storable, Real, Data, Generic)++instance Show VkInstanceCreateFlagBits where+        {-# INLINE show #-}+        show (VkInstanceCreateFlagBits x) = show x++instance Read VkInstanceCreateFlagBits where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkInternalAllocationType.hs view
@@ -0,0 +1,49 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkInternalAllocationType+       (VkInternalAllocationType(VkInternalAllocationType,+                                 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE))+       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.0-extensions/man/html/VkInternalAllocationType.html VkInternalAllocationType registry at www.khronos.org>+newtype VkInternalAllocationType = VkInternalAllocationType Int32+                                     deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkInternalAllocationType where+        showsPrec _ VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE+          = showString "VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE"+        showsPrec p (VkInternalAllocationType x)+          = showParen (p >= 11)+              (showString "VkInternalAllocationType " . showsPrec 11 x)++instance Read VkInternalAllocationType where+        readPrec+          = parens+              (choose+                 [("VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE",+                   pure VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE)]+                 ++++                 prec 10+                   (expectP (Ident "VkInternalAllocationType") >>+                      (VkInternalAllocationType <$> step readPrec)))++pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE ::+        VkInternalAllocationType++pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE =+        VkInternalAllocationType 0
+ src-gen/Graphics/Vulkan/Types/Enum/VkLogicOp.hs view
@@ -0,0 +1,144 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkLogicOp+       (VkLogicOp(VkLogicOp, VK_LOGIC_OP_CLEAR, VK_LOGIC_OP_AND,+                  VK_LOGIC_OP_AND_REVERSE, VK_LOGIC_OP_COPY,+                  VK_LOGIC_OP_AND_INVERTED, VK_LOGIC_OP_NO_OP, VK_LOGIC_OP_XOR,+                  VK_LOGIC_OP_OR, VK_LOGIC_OP_NOR, VK_LOGIC_OP_EQUIVALENT,+                  VK_LOGIC_OP_INVERT, VK_LOGIC_OP_OR_REVERSE,+                  VK_LOGIC_OP_COPY_INVERTED, VK_LOGIC_OP_OR_INVERTED,+                  VK_LOGIC_OP_NAND, VK_LOGIC_OP_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.0-extensions/man/html/VkLogicOp.html VkLogicOp registry at www.khronos.org>+newtype VkLogicOp = VkLogicOp Int32+                      deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkLogicOp where+        showsPrec _ VK_LOGIC_OP_CLEAR = showString "VK_LOGIC_OP_CLEAR"+        showsPrec _ VK_LOGIC_OP_AND = showString "VK_LOGIC_OP_AND"+        showsPrec _ VK_LOGIC_OP_AND_REVERSE+          = showString "VK_LOGIC_OP_AND_REVERSE"+        showsPrec _ VK_LOGIC_OP_COPY = showString "VK_LOGIC_OP_COPY"+        showsPrec _ VK_LOGIC_OP_AND_INVERTED+          = showString "VK_LOGIC_OP_AND_INVERTED"+        showsPrec _ VK_LOGIC_OP_NO_OP = showString "VK_LOGIC_OP_NO_OP"+        showsPrec _ VK_LOGIC_OP_XOR = showString "VK_LOGIC_OP_XOR"+        showsPrec _ VK_LOGIC_OP_OR = showString "VK_LOGIC_OP_OR"+        showsPrec _ VK_LOGIC_OP_NOR = showString "VK_LOGIC_OP_NOR"+        showsPrec _ VK_LOGIC_OP_EQUIVALENT+          = showString "VK_LOGIC_OP_EQUIVALENT"+        showsPrec _ VK_LOGIC_OP_INVERT = showString "VK_LOGIC_OP_INVERT"+        showsPrec _ VK_LOGIC_OP_OR_REVERSE+          = showString "VK_LOGIC_OP_OR_REVERSE"+        showsPrec _ VK_LOGIC_OP_COPY_INVERTED+          = showString "VK_LOGIC_OP_COPY_INVERTED"+        showsPrec _ VK_LOGIC_OP_OR_INVERTED+          = showString "VK_LOGIC_OP_OR_INVERTED"+        showsPrec _ VK_LOGIC_OP_NAND = showString "VK_LOGIC_OP_NAND"+        showsPrec _ VK_LOGIC_OP_SET = showString "VK_LOGIC_OP_SET"+        showsPrec p (VkLogicOp x)+          = showParen (p >= 11) (showString "VkLogicOp " . showsPrec 11 x)++instance Read VkLogicOp where+        readPrec+          = parens+              (choose+                 [("VK_LOGIC_OP_CLEAR", pure VK_LOGIC_OP_CLEAR),+                  ("VK_LOGIC_OP_AND", pure VK_LOGIC_OP_AND),+                  ("VK_LOGIC_OP_AND_REVERSE", pure VK_LOGIC_OP_AND_REVERSE),+                  ("VK_LOGIC_OP_COPY", pure VK_LOGIC_OP_COPY),+                  ("VK_LOGIC_OP_AND_INVERTED", pure VK_LOGIC_OP_AND_INVERTED),+                  ("VK_LOGIC_OP_NO_OP", pure VK_LOGIC_OP_NO_OP),+                  ("VK_LOGIC_OP_XOR", pure VK_LOGIC_OP_XOR),+                  ("VK_LOGIC_OP_OR", pure VK_LOGIC_OP_OR),+                  ("VK_LOGIC_OP_NOR", pure VK_LOGIC_OP_NOR),+                  ("VK_LOGIC_OP_EQUIVALENT", pure VK_LOGIC_OP_EQUIVALENT),+                  ("VK_LOGIC_OP_INVERT", pure VK_LOGIC_OP_INVERT),+                  ("VK_LOGIC_OP_OR_REVERSE", pure VK_LOGIC_OP_OR_REVERSE),+                  ("VK_LOGIC_OP_COPY_INVERTED", pure VK_LOGIC_OP_COPY_INVERTED),+                  ("VK_LOGIC_OP_OR_INVERTED", pure VK_LOGIC_OP_OR_INVERTED),+                  ("VK_LOGIC_OP_NAND", pure VK_LOGIC_OP_NAND),+                  ("VK_LOGIC_OP_SET", pure VK_LOGIC_OP_SET)]+                 ++++                 prec 10+                   (expectP (Ident "VkLogicOp") >> (VkLogicOp <$> step readPrec)))++pattern VK_LOGIC_OP_CLEAR :: VkLogicOp++pattern VK_LOGIC_OP_CLEAR = VkLogicOp 0++pattern VK_LOGIC_OP_AND :: VkLogicOp++pattern VK_LOGIC_OP_AND = VkLogicOp 1++pattern VK_LOGIC_OP_AND_REVERSE :: VkLogicOp++pattern VK_LOGIC_OP_AND_REVERSE = VkLogicOp 2++pattern VK_LOGIC_OP_COPY :: VkLogicOp++pattern VK_LOGIC_OP_COPY = VkLogicOp 3++pattern VK_LOGIC_OP_AND_INVERTED :: VkLogicOp++pattern VK_LOGIC_OP_AND_INVERTED = VkLogicOp 4++pattern VK_LOGIC_OP_NO_OP :: VkLogicOp++pattern VK_LOGIC_OP_NO_OP = VkLogicOp 5++pattern VK_LOGIC_OP_XOR :: VkLogicOp++pattern VK_LOGIC_OP_XOR = VkLogicOp 6++pattern VK_LOGIC_OP_OR :: VkLogicOp++pattern VK_LOGIC_OP_OR = VkLogicOp 7++pattern VK_LOGIC_OP_NOR :: VkLogicOp++pattern VK_LOGIC_OP_NOR = VkLogicOp 8++pattern VK_LOGIC_OP_EQUIVALENT :: VkLogicOp++pattern VK_LOGIC_OP_EQUIVALENT = VkLogicOp 9++pattern VK_LOGIC_OP_INVERT :: VkLogicOp++pattern VK_LOGIC_OP_INVERT = VkLogicOp 10++pattern VK_LOGIC_OP_OR_REVERSE :: VkLogicOp++pattern VK_LOGIC_OP_OR_REVERSE = VkLogicOp 11++pattern VK_LOGIC_OP_COPY_INVERTED :: VkLogicOp++pattern VK_LOGIC_OP_COPY_INVERTED = VkLogicOp 12++pattern VK_LOGIC_OP_OR_INVERTED :: VkLogicOp++pattern VK_LOGIC_OP_OR_INVERTED = VkLogicOp 13++pattern VK_LOGIC_OP_NAND :: VkLogicOp++pattern VK_LOGIC_OP_NAND = VkLogicOp 14++pattern VK_LOGIC_OP_SET :: VkLogicOp++pattern VK_LOGIC_OP_SET = VkLogicOp 15
+ src-gen/Graphics/Vulkan/Types/Enum/VkMemoryAllocateFlagsKHX.hs view
@@ -0,0 +1,88 @@+{-# 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/VkMemoryHeapFlags.hs view
@@ -0,0 +1,83 @@+{-# 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.VkMemoryHeapFlags+       (VkMemoryHeapBitmask(VkMemoryHeapBitmask, VkMemoryHeapFlags,+                            VkMemoryHeapFlagBits, VK_MEMORY_HEAP_DEVICE_LOCAL_BIT),+        VkMemoryHeapFlags, VkMemoryHeapFlagBits)+       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 VkMemoryHeapBitmask (a ::+                               FlagType) = VkMemoryHeapBitmask VkFlags+                                             deriving (Eq, Ord, Storable, Data, Generic)++type VkMemoryHeapFlags = VkMemoryHeapBitmask FlagMask++type VkMemoryHeapFlagBits = VkMemoryHeapBitmask FlagBit++pattern VkMemoryHeapFlagBits ::+        VkFlags -> VkMemoryHeapBitmask FlagBit++pattern VkMemoryHeapFlagBits n = VkMemoryHeapBitmask n++pattern VkMemoryHeapFlags ::+        VkFlags -> VkMemoryHeapBitmask FlagMask++pattern VkMemoryHeapFlags n = VkMemoryHeapBitmask n++deriving instance Bits (VkMemoryHeapBitmask FlagMask)++deriving instance FiniteBits (VkMemoryHeapBitmask FlagMask)++deriving instance Integral (VkMemoryHeapBitmask FlagMask)++deriving instance Num (VkMemoryHeapBitmask FlagMask)++deriving instance Bounded (VkMemoryHeapBitmask FlagMask)++deriving instance Enum (VkMemoryHeapBitmask FlagMask)++deriving instance Real (VkMemoryHeapBitmask FlagMask)++instance Show (VkMemoryHeapBitmask a) where+        showsPrec _ VK_MEMORY_HEAP_DEVICE_LOCAL_BIT+          = showString "VK_MEMORY_HEAP_DEVICE_LOCAL_BIT"+        showsPrec p (VkMemoryHeapBitmask x)+          = showParen (p >= 11)+              (showString "VkMemoryHeapBitmask " . showsPrec 11 x)++instance Read (VkMemoryHeapBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_MEMORY_HEAP_DEVICE_LOCAL_BIT",+                   pure VK_MEMORY_HEAP_DEVICE_LOCAL_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkMemoryHeapBitmask") >>+                      (VkMemoryHeapBitmask <$> step readPrec)))++-- | If set, heap represents device memory+--+--   bitpos = @0@+pattern VK_MEMORY_HEAP_DEVICE_LOCAL_BIT :: VkMemoryHeapBitmask a++pattern VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = VkMemoryHeapBitmask 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkMemoryPropertyFlags.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.VkMemoryPropertyFlags+       (VkMemoryPropertyBitmask(VkMemoryPropertyBitmask,+                                VkMemoryPropertyFlags, VkMemoryPropertyFlagBits,+                                VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,+                                VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT,+                                VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,+                                VK_MEMORY_PROPERTY_HOST_CACHED_BIT,+                                VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT),+        VkMemoryPropertyFlags, VkMemoryPropertyFlagBits)+       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 VkMemoryPropertyBitmask (a ::+                                   FlagType) = VkMemoryPropertyBitmask VkFlags+                                                 deriving (Eq, Ord, Storable, Data, Generic)++type VkMemoryPropertyFlags = VkMemoryPropertyBitmask FlagMask++type VkMemoryPropertyFlagBits = VkMemoryPropertyBitmask FlagBit++pattern VkMemoryPropertyFlagBits ::+        VkFlags -> VkMemoryPropertyBitmask FlagBit++pattern VkMemoryPropertyFlagBits n = VkMemoryPropertyBitmask n++pattern VkMemoryPropertyFlags ::+        VkFlags -> VkMemoryPropertyBitmask FlagMask++pattern VkMemoryPropertyFlags n = VkMemoryPropertyBitmask n++deriving instance Bits (VkMemoryPropertyBitmask FlagMask)++deriving instance FiniteBits (VkMemoryPropertyBitmask FlagMask)++deriving instance Integral (VkMemoryPropertyBitmask FlagMask)++deriving instance Num (VkMemoryPropertyBitmask FlagMask)++deriving instance Bounded (VkMemoryPropertyBitmask FlagMask)++deriving instance Enum (VkMemoryPropertyBitmask FlagMask)++deriving instance Real (VkMemoryPropertyBitmask FlagMask)++instance Show (VkMemoryPropertyBitmask a) where+        showsPrec _ VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT+          = showString "VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT"+        showsPrec _ VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT+          = showString "VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT"+        showsPrec _ VK_MEMORY_PROPERTY_HOST_COHERENT_BIT+          = showString "VK_MEMORY_PROPERTY_HOST_COHERENT_BIT"+        showsPrec _ VK_MEMORY_PROPERTY_HOST_CACHED_BIT+          = showString "VK_MEMORY_PROPERTY_HOST_CACHED_BIT"+        showsPrec _ VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT+          = showString "VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT"+        showsPrec p (VkMemoryPropertyBitmask x)+          = showParen (p >= 11)+              (showString "VkMemoryPropertyBitmask " . showsPrec 11 x)++instance Read (VkMemoryPropertyBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT",+                   pure VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT),+                  ("VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT",+                   pure VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT),+                  ("VK_MEMORY_PROPERTY_HOST_COHERENT_BIT",+                   pure VK_MEMORY_PROPERTY_HOST_COHERENT_BIT),+                  ("VK_MEMORY_PROPERTY_HOST_CACHED_BIT",+                   pure VK_MEMORY_PROPERTY_HOST_CACHED_BIT),+                  ("VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT",+                   pure VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkMemoryPropertyBitmask") >>+                      (VkMemoryPropertyBitmask <$> step readPrec)))++-- | If otherwise stated, then allocate memory on device+--+--   bitpos = @0@+pattern VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT ::+        VkMemoryPropertyBitmask a++pattern VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT =+        VkMemoryPropertyBitmask 1++-- | Memory is mappable by host+--+--   bitpos = @1@+pattern VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT ::+        VkMemoryPropertyBitmask a++pattern VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT =+        VkMemoryPropertyBitmask 2++-- | Memory will have i/o coherency. If not set, application may need to use vkFlushMappedMemoryRanges and vkInvalidateMappedMemoryRanges to flush/invalidate host cache+--+--   bitpos = @2@+pattern VK_MEMORY_PROPERTY_HOST_COHERENT_BIT ::+        VkMemoryPropertyBitmask a++pattern VK_MEMORY_PROPERTY_HOST_COHERENT_BIT =+        VkMemoryPropertyBitmask 4++-- | Memory will be cached by the host+--+--   bitpos = @3@+pattern VK_MEMORY_PROPERTY_HOST_CACHED_BIT ::+        VkMemoryPropertyBitmask a++pattern VK_MEMORY_PROPERTY_HOST_CACHED_BIT =+        VkMemoryPropertyBitmask 8++-- | Memory may be allocated by the driver when it is required+--+--   bitpos = @4@+pattern VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT ::+        VkMemoryPropertyBitmask a++pattern VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT =+        VkMemoryPropertyBitmask 16
+ src-gen/Graphics/Vulkan/Types/Enum/VkObjectEntryTypeNVX.hs view
@@ -0,0 +1,91 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkObjectEntryTypeNVX+       (VkObjectEntryTypeNVX(VkObjectEntryTypeNVX,+                             VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX,+                             VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX,+                             VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX,+                             VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX,+                             VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX))+       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.0-extensions/man/html/VkObjectEntryTypeNVX.html VkObjectEntryTypeNVX registry at www.khronos.org>+newtype VkObjectEntryTypeNVX = VkObjectEntryTypeNVX Int32+                                 deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkObjectEntryTypeNVX where+        showsPrec _ VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX+          = showString "VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX"+        showsPrec _ VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX+          = showString "VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX"+        showsPrec _ VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX+          = showString "VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX"+        showsPrec _ VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX+          = showString "VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX"+        showsPrec _ VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX+          = showString "VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX"+        showsPrec p (VkObjectEntryTypeNVX x)+          = showParen (p >= 11)+              (showString "VkObjectEntryTypeNVX " . showsPrec 11 x)++instance Read VkObjectEntryTypeNVX where+        readPrec+          = parens+              (choose+                 [("VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX",+                   pure VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX),+                  ("VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX",+                   pure VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX),+                  ("VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX",+                   pure VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX),+                  ("VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX",+                   pure VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX),+                  ("VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX",+                   pure VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX)]+                 ++++                 prec 10+                   (expectP (Ident "VkObjectEntryTypeNVX") >>+                      (VkObjectEntryTypeNVX <$> step readPrec)))++pattern VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX ::+        VkObjectEntryTypeNVX++pattern VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX =+        VkObjectEntryTypeNVX 0++pattern VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX :: VkObjectEntryTypeNVX++pattern VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX = VkObjectEntryTypeNVX 1++pattern VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX ::+        VkObjectEntryTypeNVX++pattern VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX =+        VkObjectEntryTypeNVX 2++pattern VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX ::+        VkObjectEntryTypeNVX++pattern VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX =+        VkObjectEntryTypeNVX 3++pattern VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX ::+        VkObjectEntryTypeNVX++pattern VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX =+        VkObjectEntryTypeNVX 4
+ src-gen/Graphics/Vulkan/Types/Enum/VkObjectEntryUsageFlagsNVX.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.VkObjectEntryUsageFlagsNVX+       (VkObjectEntryUsageBitmaskNVX(VkObjectEntryUsageBitmaskNVX,+                                     VkObjectEntryUsageFlagsNVX, VkObjectEntryUsageFlagBitsNVX,+                                     VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX,+                                     VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX),+        VkObjectEntryUsageFlagsNVX, VkObjectEntryUsageFlagBitsNVX)+       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 VkObjectEntryUsageBitmaskNVX (a ::+                                        FlagType) = VkObjectEntryUsageBitmaskNVX VkFlags+                                                      deriving (Eq, Ord, Storable, Data, Generic)++type VkObjectEntryUsageFlagsNVX =+     VkObjectEntryUsageBitmaskNVX FlagMask++type VkObjectEntryUsageFlagBitsNVX =+     VkObjectEntryUsageBitmaskNVX FlagBit++pattern VkObjectEntryUsageFlagBitsNVX ::+        VkFlags -> VkObjectEntryUsageBitmaskNVX FlagBit++pattern VkObjectEntryUsageFlagBitsNVX n =+        VkObjectEntryUsageBitmaskNVX n++pattern VkObjectEntryUsageFlagsNVX ::+        VkFlags -> VkObjectEntryUsageBitmaskNVX FlagMask++pattern VkObjectEntryUsageFlagsNVX n =+        VkObjectEntryUsageBitmaskNVX n++deriving instance Bits (VkObjectEntryUsageBitmaskNVX FlagMask)++deriving instance+         FiniteBits (VkObjectEntryUsageBitmaskNVX FlagMask)++deriving instance Integral (VkObjectEntryUsageBitmaskNVX FlagMask)++deriving instance Num (VkObjectEntryUsageBitmaskNVX FlagMask)++deriving instance Bounded (VkObjectEntryUsageBitmaskNVX FlagMask)++deriving instance Enum (VkObjectEntryUsageBitmaskNVX FlagMask)++deriving instance Real (VkObjectEntryUsageBitmaskNVX FlagMask)++instance Show (VkObjectEntryUsageBitmaskNVX a) where+        showsPrec _ VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX+          = showString "VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX"+        showsPrec _ VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX+          = showString "VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX"+        showsPrec p (VkObjectEntryUsageBitmaskNVX x)+          = showParen (p >= 11)+              (showString "VkObjectEntryUsageBitmaskNVX " . showsPrec 11 x)++instance Read (VkObjectEntryUsageBitmaskNVX a) where+        readPrec+          = parens+              (choose+                 [("VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX",+                   pure VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX),+                  ("VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX",+                   pure VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX)]+                 ++++                 prec 10+                   (expectP (Ident "VkObjectEntryUsageBitmaskNVX") >>+                      (VkObjectEntryUsageBitmaskNVX <$> step readPrec)))++-- | bitpos = @0@+pattern VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX ::+        VkObjectEntryUsageBitmaskNVX a++pattern VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX =+        VkObjectEntryUsageBitmaskNVX 1++-- | bitpos = @1@+pattern VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX ::+        VkObjectEntryUsageBitmaskNVX a++pattern VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX =+        VkObjectEntryUsageBitmaskNVX 2
+ src-gen/Graphics/Vulkan/Types/Enum/VkObjectType.hs view
@@ -0,0 +1,268 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkObjectType+       (VkObjectType(VkObjectType, VK_OBJECT_TYPE_UNKNOWN,+                     VK_OBJECT_TYPE_INSTANCE, VK_OBJECT_TYPE_PHYSICAL_DEVICE,+                     VK_OBJECT_TYPE_DEVICE, VK_OBJECT_TYPE_QUEUE,+                     VK_OBJECT_TYPE_SEMAPHORE, VK_OBJECT_TYPE_COMMAND_BUFFER,+                     VK_OBJECT_TYPE_FENCE, VK_OBJECT_TYPE_DEVICE_MEMORY,+                     VK_OBJECT_TYPE_BUFFER, VK_OBJECT_TYPE_IMAGE, VK_OBJECT_TYPE_EVENT,+                     VK_OBJECT_TYPE_QUERY_POOL, VK_OBJECT_TYPE_BUFFER_VIEW,+                     VK_OBJECT_TYPE_IMAGE_VIEW, VK_OBJECT_TYPE_SHADER_MODULE,+                     VK_OBJECT_TYPE_PIPELINE_CACHE, VK_OBJECT_TYPE_PIPELINE_LAYOUT,+                     VK_OBJECT_TYPE_RENDER_PASS, VK_OBJECT_TYPE_PIPELINE,+                     VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT, VK_OBJECT_TYPE_SAMPLER,+                     VK_OBJECT_TYPE_DESCRIPTOR_POOL, VK_OBJECT_TYPE_DESCRIPTOR_SET,+                     VK_OBJECT_TYPE_FRAMEBUFFER, VK_OBJECT_TYPE_COMMAND_POOL))+       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 (..))++-- | Enums to track objects of various types+--+--   type = @enum@+--+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkObjectType.html VkObjectType registry at www.khronos.org>+newtype VkObjectType = VkObjectType Int32+                         deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkObjectType where+        showsPrec _ VK_OBJECT_TYPE_UNKNOWN+          = showString "VK_OBJECT_TYPE_UNKNOWN"+        showsPrec _ VK_OBJECT_TYPE_INSTANCE+          = showString "VK_OBJECT_TYPE_INSTANCE"+        showsPrec _ VK_OBJECT_TYPE_PHYSICAL_DEVICE+          = showString "VK_OBJECT_TYPE_PHYSICAL_DEVICE"+        showsPrec _ VK_OBJECT_TYPE_DEVICE+          = showString "VK_OBJECT_TYPE_DEVICE"+        showsPrec _ VK_OBJECT_TYPE_QUEUE+          = showString "VK_OBJECT_TYPE_QUEUE"+        showsPrec _ VK_OBJECT_TYPE_SEMAPHORE+          = showString "VK_OBJECT_TYPE_SEMAPHORE"+        showsPrec _ VK_OBJECT_TYPE_COMMAND_BUFFER+          = showString "VK_OBJECT_TYPE_COMMAND_BUFFER"+        showsPrec _ VK_OBJECT_TYPE_FENCE+          = showString "VK_OBJECT_TYPE_FENCE"+        showsPrec _ VK_OBJECT_TYPE_DEVICE_MEMORY+          = showString "VK_OBJECT_TYPE_DEVICE_MEMORY"+        showsPrec _ VK_OBJECT_TYPE_BUFFER+          = showString "VK_OBJECT_TYPE_BUFFER"+        showsPrec _ VK_OBJECT_TYPE_IMAGE+          = showString "VK_OBJECT_TYPE_IMAGE"+        showsPrec _ VK_OBJECT_TYPE_EVENT+          = showString "VK_OBJECT_TYPE_EVENT"+        showsPrec _ VK_OBJECT_TYPE_QUERY_POOL+          = showString "VK_OBJECT_TYPE_QUERY_POOL"+        showsPrec _ VK_OBJECT_TYPE_BUFFER_VIEW+          = showString "VK_OBJECT_TYPE_BUFFER_VIEW"+        showsPrec _ VK_OBJECT_TYPE_IMAGE_VIEW+          = showString "VK_OBJECT_TYPE_IMAGE_VIEW"+        showsPrec _ VK_OBJECT_TYPE_SHADER_MODULE+          = showString "VK_OBJECT_TYPE_SHADER_MODULE"+        showsPrec _ VK_OBJECT_TYPE_PIPELINE_CACHE+          = showString "VK_OBJECT_TYPE_PIPELINE_CACHE"+        showsPrec _ VK_OBJECT_TYPE_PIPELINE_LAYOUT+          = showString "VK_OBJECT_TYPE_PIPELINE_LAYOUT"+        showsPrec _ VK_OBJECT_TYPE_RENDER_PASS+          = showString "VK_OBJECT_TYPE_RENDER_PASS"+        showsPrec _ VK_OBJECT_TYPE_PIPELINE+          = showString "VK_OBJECT_TYPE_PIPELINE"+        showsPrec _ VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT+          = showString "VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT"+        showsPrec _ VK_OBJECT_TYPE_SAMPLER+          = showString "VK_OBJECT_TYPE_SAMPLER"+        showsPrec _ VK_OBJECT_TYPE_DESCRIPTOR_POOL+          = showString "VK_OBJECT_TYPE_DESCRIPTOR_POOL"+        showsPrec _ VK_OBJECT_TYPE_DESCRIPTOR_SET+          = showString "VK_OBJECT_TYPE_DESCRIPTOR_SET"+        showsPrec _ VK_OBJECT_TYPE_FRAMEBUFFER+          = showString "VK_OBJECT_TYPE_FRAMEBUFFER"+        showsPrec _ VK_OBJECT_TYPE_COMMAND_POOL+          = showString "VK_OBJECT_TYPE_COMMAND_POOL"+        showsPrec p (VkObjectType x)+          = showParen (p >= 11) (showString "VkObjectType " . showsPrec 11 x)++instance Read VkObjectType where+        readPrec+          = parens+              (choose+                 [("VK_OBJECT_TYPE_UNKNOWN", pure VK_OBJECT_TYPE_UNKNOWN),+                  ("VK_OBJECT_TYPE_INSTANCE", pure VK_OBJECT_TYPE_INSTANCE),+                  ("VK_OBJECT_TYPE_PHYSICAL_DEVICE",+                   pure VK_OBJECT_TYPE_PHYSICAL_DEVICE),+                  ("VK_OBJECT_TYPE_DEVICE", pure VK_OBJECT_TYPE_DEVICE),+                  ("VK_OBJECT_TYPE_QUEUE", pure VK_OBJECT_TYPE_QUEUE),+                  ("VK_OBJECT_TYPE_SEMAPHORE", pure VK_OBJECT_TYPE_SEMAPHORE),+                  ("VK_OBJECT_TYPE_COMMAND_BUFFER",+                   pure VK_OBJECT_TYPE_COMMAND_BUFFER),+                  ("VK_OBJECT_TYPE_FENCE", pure VK_OBJECT_TYPE_FENCE),+                  ("VK_OBJECT_TYPE_DEVICE_MEMORY",+                   pure VK_OBJECT_TYPE_DEVICE_MEMORY),+                  ("VK_OBJECT_TYPE_BUFFER", pure VK_OBJECT_TYPE_BUFFER),+                  ("VK_OBJECT_TYPE_IMAGE", pure VK_OBJECT_TYPE_IMAGE),+                  ("VK_OBJECT_TYPE_EVENT", pure VK_OBJECT_TYPE_EVENT),+                  ("VK_OBJECT_TYPE_QUERY_POOL", pure VK_OBJECT_TYPE_QUERY_POOL),+                  ("VK_OBJECT_TYPE_BUFFER_VIEW", pure VK_OBJECT_TYPE_BUFFER_VIEW),+                  ("VK_OBJECT_TYPE_IMAGE_VIEW", pure VK_OBJECT_TYPE_IMAGE_VIEW),+                  ("VK_OBJECT_TYPE_SHADER_MODULE",+                   pure VK_OBJECT_TYPE_SHADER_MODULE),+                  ("VK_OBJECT_TYPE_PIPELINE_CACHE",+                   pure VK_OBJECT_TYPE_PIPELINE_CACHE),+                  ("VK_OBJECT_TYPE_PIPELINE_LAYOUT",+                   pure VK_OBJECT_TYPE_PIPELINE_LAYOUT),+                  ("VK_OBJECT_TYPE_RENDER_PASS", pure VK_OBJECT_TYPE_RENDER_PASS),+                  ("VK_OBJECT_TYPE_PIPELINE", pure VK_OBJECT_TYPE_PIPELINE),+                  ("VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT",+                   pure VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT),+                  ("VK_OBJECT_TYPE_SAMPLER", pure VK_OBJECT_TYPE_SAMPLER),+                  ("VK_OBJECT_TYPE_DESCRIPTOR_POOL",+                   pure VK_OBJECT_TYPE_DESCRIPTOR_POOL),+                  ("VK_OBJECT_TYPE_DESCRIPTOR_SET",+                   pure VK_OBJECT_TYPE_DESCRIPTOR_SET),+                  ("VK_OBJECT_TYPE_FRAMEBUFFER", pure VK_OBJECT_TYPE_FRAMEBUFFER),+                  ("VK_OBJECT_TYPE_COMMAND_POOL", pure VK_OBJECT_TYPE_COMMAND_POOL)]+                 ++++                 prec 10+                   (expectP (Ident "VkObjectType") >>+                      (VkObjectType <$> step readPrec)))++pattern VK_OBJECT_TYPE_UNKNOWN :: VkObjectType++pattern VK_OBJECT_TYPE_UNKNOWN = VkObjectType 0++-- | VkInstance+pattern VK_OBJECT_TYPE_INSTANCE :: VkObjectType++pattern VK_OBJECT_TYPE_INSTANCE = VkObjectType 1++-- | VkPhysicalDevice+pattern VK_OBJECT_TYPE_PHYSICAL_DEVICE :: VkObjectType++pattern VK_OBJECT_TYPE_PHYSICAL_DEVICE = VkObjectType 2++-- | VkDevice+pattern VK_OBJECT_TYPE_DEVICE :: VkObjectType++pattern VK_OBJECT_TYPE_DEVICE = VkObjectType 3++-- | VkQueue+pattern VK_OBJECT_TYPE_QUEUE :: VkObjectType++pattern VK_OBJECT_TYPE_QUEUE = VkObjectType 4++-- | VkSemaphore+pattern VK_OBJECT_TYPE_SEMAPHORE :: VkObjectType++pattern VK_OBJECT_TYPE_SEMAPHORE = VkObjectType 5++-- | VkCommandBuffer+pattern VK_OBJECT_TYPE_COMMAND_BUFFER :: VkObjectType++pattern VK_OBJECT_TYPE_COMMAND_BUFFER = VkObjectType 6++-- | VkFence+pattern VK_OBJECT_TYPE_FENCE :: VkObjectType++pattern VK_OBJECT_TYPE_FENCE = VkObjectType 7++-- | VkDeviceMemory+pattern VK_OBJECT_TYPE_DEVICE_MEMORY :: VkObjectType++pattern VK_OBJECT_TYPE_DEVICE_MEMORY = VkObjectType 8++-- | VkBuffer+pattern VK_OBJECT_TYPE_BUFFER :: VkObjectType++pattern VK_OBJECT_TYPE_BUFFER = VkObjectType 9++-- | VkImage+pattern VK_OBJECT_TYPE_IMAGE :: VkObjectType++pattern VK_OBJECT_TYPE_IMAGE = VkObjectType 10++-- | VkEvent+pattern VK_OBJECT_TYPE_EVENT :: VkObjectType++pattern VK_OBJECT_TYPE_EVENT = VkObjectType 11++-- | VkQueryPool+pattern VK_OBJECT_TYPE_QUERY_POOL :: VkObjectType++pattern VK_OBJECT_TYPE_QUERY_POOL = VkObjectType 12++-- | VkBufferView+pattern VK_OBJECT_TYPE_BUFFER_VIEW :: VkObjectType++pattern VK_OBJECT_TYPE_BUFFER_VIEW = VkObjectType 13++-- | VkImageView+pattern VK_OBJECT_TYPE_IMAGE_VIEW :: VkObjectType++pattern VK_OBJECT_TYPE_IMAGE_VIEW = VkObjectType 14++-- | VkShaderModule+pattern VK_OBJECT_TYPE_SHADER_MODULE :: VkObjectType++pattern VK_OBJECT_TYPE_SHADER_MODULE = VkObjectType 15++-- | VkPipelineCache+pattern VK_OBJECT_TYPE_PIPELINE_CACHE :: VkObjectType++pattern VK_OBJECT_TYPE_PIPELINE_CACHE = VkObjectType 16++-- | VkPipelineLayout+pattern VK_OBJECT_TYPE_PIPELINE_LAYOUT :: VkObjectType++pattern VK_OBJECT_TYPE_PIPELINE_LAYOUT = VkObjectType 17++-- | VkRenderPass+pattern VK_OBJECT_TYPE_RENDER_PASS :: VkObjectType++pattern VK_OBJECT_TYPE_RENDER_PASS = VkObjectType 18++-- | VkPipeline+pattern VK_OBJECT_TYPE_PIPELINE :: VkObjectType++pattern VK_OBJECT_TYPE_PIPELINE = VkObjectType 19++-- | VkDescriptorSetLayout+pattern VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT :: VkObjectType++pattern VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = VkObjectType 20++-- | VkSampler+pattern VK_OBJECT_TYPE_SAMPLER :: VkObjectType++pattern VK_OBJECT_TYPE_SAMPLER = VkObjectType 21++-- | VkDescriptorPool+pattern VK_OBJECT_TYPE_DESCRIPTOR_POOL :: VkObjectType++pattern VK_OBJECT_TYPE_DESCRIPTOR_POOL = VkObjectType 22++-- | VkDescriptorSet+pattern VK_OBJECT_TYPE_DESCRIPTOR_SET :: VkObjectType++pattern VK_OBJECT_TYPE_DESCRIPTOR_SET = VkObjectType 23++-- | VkFramebuffer+pattern VK_OBJECT_TYPE_FRAMEBUFFER :: VkObjectType++pattern VK_OBJECT_TYPE_FRAMEBUFFER = VkObjectType 24++-- | VkCommandPool+pattern VK_OBJECT_TYPE_COMMAND_POOL :: VkObjectType++pattern VK_OBJECT_TYPE_COMMAND_POOL = VkObjectType 25
+ src-gen/Graphics/Vulkan/Types/Enum/VkPeerMemoryFeatureFlagsKHX.hs view
@@ -0,0 +1,133 @@+{-# 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
@@ -0,0 +1,86 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType+       (VkPhysicalDeviceType(VkPhysicalDeviceType,+                             VK_PHYSICAL_DEVICE_TYPE_OTHER,+                             VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU,+                             VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU,+                             VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU, VK_PHYSICAL_DEVICE_TYPE_CPU))+       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.0-extensions/man/html/VkPhysicalDeviceType.html VkPhysicalDeviceType registry at www.khronos.org>+newtype VkPhysicalDeviceType = VkPhysicalDeviceType Int32+                                 deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkPhysicalDeviceType where+        showsPrec _ VK_PHYSICAL_DEVICE_TYPE_OTHER+          = showString "VK_PHYSICAL_DEVICE_TYPE_OTHER"+        showsPrec _ VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU+          = showString "VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU"+        showsPrec _ VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU+          = showString "VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU"+        showsPrec _ VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU+          = showString "VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU"+        showsPrec _ VK_PHYSICAL_DEVICE_TYPE_CPU+          = showString "VK_PHYSICAL_DEVICE_TYPE_CPU"+        showsPrec p (VkPhysicalDeviceType x)+          = showParen (p >= 11)+              (showString "VkPhysicalDeviceType " . showsPrec 11 x)++instance Read VkPhysicalDeviceType where+        readPrec+          = parens+              (choose+                 [("VK_PHYSICAL_DEVICE_TYPE_OTHER",+                   pure VK_PHYSICAL_DEVICE_TYPE_OTHER),+                  ("VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU",+                   pure VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU),+                  ("VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU",+                   pure VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU),+                  ("VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU",+                   pure VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU),+                  ("VK_PHYSICAL_DEVICE_TYPE_CPU", pure VK_PHYSICAL_DEVICE_TYPE_CPU)]+                 ++++                 prec 10+                   (expectP (Ident "VkPhysicalDeviceType") >>+                      (VkPhysicalDeviceType <$> step readPrec)))++pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType++pattern VK_PHYSICAL_DEVICE_TYPE_OTHER = VkPhysicalDeviceType 0++pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU ::+        VkPhysicalDeviceType++pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU =+        VkPhysicalDeviceType 1++pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU ::+        VkPhysicalDeviceType++pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU =+        VkPhysicalDeviceType 2++pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType++pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU =+        VkPhysicalDeviceType 3++pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType++pattern VK_PHYSICAL_DEVICE_TYPE_CPU = VkPhysicalDeviceType 4
+ src-gen/Graphics/Vulkan/Types/Enum/VkPipelineBindPoint.hs view
@@ -0,0 +1,55 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkPipelineBindPoint+       (VkPipelineBindPoint(VkPipelineBindPoint,+                            VK_PIPELINE_BIND_POINT_GRAPHICS, VK_PIPELINE_BIND_POINT_COMPUTE))+       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.0-extensions/man/html/VkPipelineBindPoint.html VkPipelineBindPoint registry at www.khronos.org>+newtype VkPipelineBindPoint = VkPipelineBindPoint Int32+                                deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkPipelineBindPoint where+        showsPrec _ VK_PIPELINE_BIND_POINT_GRAPHICS+          = showString "VK_PIPELINE_BIND_POINT_GRAPHICS"+        showsPrec _ VK_PIPELINE_BIND_POINT_COMPUTE+          = showString "VK_PIPELINE_BIND_POINT_COMPUTE"+        showsPrec p (VkPipelineBindPoint x)+          = showParen (p >= 11)+              (showString "VkPipelineBindPoint " . showsPrec 11 x)++instance Read VkPipelineBindPoint where+        readPrec+          = parens+              (choose+                 [("VK_PIPELINE_BIND_POINT_GRAPHICS",+                   pure VK_PIPELINE_BIND_POINT_GRAPHICS),+                  ("VK_PIPELINE_BIND_POINT_COMPUTE",+                   pure VK_PIPELINE_BIND_POINT_COMPUTE)]+                 ++++                 prec 10+                   (expectP (Ident "VkPipelineBindPoint") >>+                      (VkPipelineBindPoint <$> step readPrec)))++pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint++pattern VK_PIPELINE_BIND_POINT_GRAPHICS = VkPipelineBindPoint 0++pattern VK_PIPELINE_BIND_POINT_COMPUTE :: VkPipelineBindPoint++pattern VK_PIPELINE_BIND_POINT_COMPUTE = VkPipelineBindPoint 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkPipelineCacheCreateFlagBits.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkPipelineCacheCreateFlagBits+       (VkPipelineCacheCreateFlagBits(..)) 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 VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateFlagBits VkFlags+                                          deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                    FiniteBits, Storable, Real, Data, Generic)++instance Show VkPipelineCacheCreateFlagBits where+        {-# INLINE show #-}+        show (VkPipelineCacheCreateFlagBits x) = show x++instance Read VkPipelineCacheCreateFlagBits where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkPipelineCacheHeaderVersion.hs view
@@ -0,0 +1,50 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkPipelineCacheHeaderVersion+       (VkPipelineCacheHeaderVersion(VkPipelineCacheHeaderVersion,+                                     VK_PIPELINE_CACHE_HEADER_VERSION_ONE))+       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.0-extensions/man/html/VkPipelineCacheHeaderVersion.html VkPipelineCacheHeaderVersion registry at www.khronos.org>+newtype VkPipelineCacheHeaderVersion = VkPipelineCacheHeaderVersion Int32+                                         deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,+                                                   Generic)++instance Show VkPipelineCacheHeaderVersion where+        showsPrec _ VK_PIPELINE_CACHE_HEADER_VERSION_ONE+          = showString "VK_PIPELINE_CACHE_HEADER_VERSION_ONE"+        showsPrec p (VkPipelineCacheHeaderVersion x)+          = showParen (p >= 11)+              (showString "VkPipelineCacheHeaderVersion " . showsPrec 11 x)++instance Read VkPipelineCacheHeaderVersion where+        readPrec+          = parens+              (choose+                 [("VK_PIPELINE_CACHE_HEADER_VERSION_ONE",+                   pure VK_PIPELINE_CACHE_HEADER_VERSION_ONE)]+                 ++++                 prec 10+                   (expectP (Ident "VkPipelineCacheHeaderVersion") >>+                      (VkPipelineCacheHeaderVersion <$> step readPrec)))++pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE ::+        VkPipelineCacheHeaderVersion++pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE =+        VkPipelineCacheHeaderVersion 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkPipelineColorBlendStateCreateFlagBits.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkPipelineColorBlendStateCreateFlagBits+       (VkPipelineColorBlendStateCreateFlagBits(..)) 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 VkPipelineColorBlendStateCreateFlagBits = VkPipelineColorBlendStateCreateFlagBits VkFlags+                                                    deriving (Eq, Ord, Num, Bounded, Enum, Integral,+                                                              Bits, FiniteBits, Storable, Real,+                                                              Data, Generic)++instance Show VkPipelineColorBlendStateCreateFlagBits where+        {-# INLINE show #-}+        show (VkPipelineColorBlendStateCreateFlagBits x) = show x++instance Read VkPipelineColorBlendStateCreateFlagBits where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkPipelineCreateFlags.hs view
@@ -0,0 +1,108 @@+{-# 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.VkPipelineCreateFlags+       (VkPipelineCreateBitmask(VkPipelineCreateBitmask,+                                VkPipelineCreateFlags, VkPipelineCreateFlagBits,+                                VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT,+                                VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT,+                                VK_PIPELINE_CREATE_DERIVATIVE_BIT),+        VkPipelineCreateFlags, VkPipelineCreateFlagBits)+       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 VkPipelineCreateBitmask (a ::+                                   FlagType) = VkPipelineCreateBitmask VkFlags+                                                 deriving (Eq, Ord, Storable, Data, Generic)++type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask++type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit++pattern VkPipelineCreateFlagBits ::+        VkFlags -> VkPipelineCreateBitmask FlagBit++pattern VkPipelineCreateFlagBits n = VkPipelineCreateBitmask n++pattern VkPipelineCreateFlags ::+        VkFlags -> VkPipelineCreateBitmask FlagMask++pattern VkPipelineCreateFlags n = VkPipelineCreateBitmask n++deriving instance Bits (VkPipelineCreateBitmask FlagMask)++deriving instance FiniteBits (VkPipelineCreateBitmask FlagMask)++deriving instance Integral (VkPipelineCreateBitmask FlagMask)++deriving instance Num (VkPipelineCreateBitmask FlagMask)++deriving instance Bounded (VkPipelineCreateBitmask FlagMask)++deriving instance Enum (VkPipelineCreateBitmask FlagMask)++deriving instance Real (VkPipelineCreateBitmask FlagMask)++instance Show (VkPipelineCreateBitmask a) where+        showsPrec _ VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT+          = showString "VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT"+        showsPrec _ VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT+          = showString "VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT"+        showsPrec _ VK_PIPELINE_CREATE_DERIVATIVE_BIT+          = showString "VK_PIPELINE_CREATE_DERIVATIVE_BIT"+        showsPrec p (VkPipelineCreateBitmask x)+          = showParen (p >= 11)+              (showString "VkPipelineCreateBitmask " . showsPrec 11 x)++instance Read (VkPipelineCreateBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT",+                   pure VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT),+                  ("VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT",+                   pure VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT),+                  ("VK_PIPELINE_CREATE_DERIVATIVE_BIT",+                   pure VK_PIPELINE_CREATE_DERIVATIVE_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkPipelineCreateBitmask") >>+                      (VkPipelineCreateBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT ::+        VkPipelineCreateBitmask a++pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT =+        VkPipelineCreateBitmask 1++-- | bitpos = @1@+pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT ::+        VkPipelineCreateBitmask a++pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT =+        VkPipelineCreateBitmask 2++-- | bitpos = @2@+pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT ::+        VkPipelineCreateBitmask a++pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT =+        VkPipelineCreateBitmask 4
+ src-gen/Graphics/Vulkan/Types/Enum/VkPipelineDepthStencilStateCreateFlagBits.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkPipelineDepthStencilStateCreateFlagBits+       (VkPipelineDepthStencilStateCreateFlagBits(..)) 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 VkPipelineDepthStencilStateCreateFlagBits = VkPipelineDepthStencilStateCreateFlagBits VkFlags+                                                      deriving (Eq, Ord, Num, Bounded, Enum,+                                                                Integral, Bits, FiniteBits,+                                                                Storable, Real, Data, Generic)++instance Show VkPipelineDepthStencilStateCreateFlagBits where+        {-# INLINE show #-}+        show (VkPipelineDepthStencilStateCreateFlagBits x) = show x++instance Read VkPipelineDepthStencilStateCreateFlagBits where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkPipelineDynamicStateCreateFlagBits.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkPipelineDynamicStateCreateFlagBits+       (VkPipelineDynamicStateCreateFlagBits(..)) 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 VkPipelineDynamicStateCreateFlagBits = VkPipelineDynamicStateCreateFlagBits VkFlags+                                                 deriving (Eq, Ord, Num, Bounded, Enum, Integral,+                                                           Bits, FiniteBits, Storable, Real, Data,+                                                           Generic)++instance Show VkPipelineDynamicStateCreateFlagBits where+        {-# INLINE show #-}+        show (VkPipelineDynamicStateCreateFlagBits x) = show x++instance Read VkPipelineDynamicStateCreateFlagBits where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkPipelineInputAssemblyStateCreateFlagBits.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkPipelineInputAssemblyStateCreateFlagBits+       (VkPipelineInputAssemblyStateCreateFlagBits(..)) 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 VkPipelineInputAssemblyStateCreateFlagBits = VkPipelineInputAssemblyStateCreateFlagBits VkFlags+                                                       deriving (Eq, Ord, Num, Bounded, Enum,+                                                                 Integral, Bits, FiniteBits,+                                                                 Storable, Real, Data, Generic)++instance Show VkPipelineInputAssemblyStateCreateFlagBits where+        {-# INLINE show #-}+        show (VkPipelineInputAssemblyStateCreateFlagBits x) = show x++instance Read VkPipelineInputAssemblyStateCreateFlagBits where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkPipelineLayoutCreateFlagBits.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkPipelineLayoutCreateFlagBits+       (VkPipelineLayoutCreateFlagBits(..)) 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 VkPipelineLayoutCreateFlagBits = VkPipelineLayoutCreateFlagBits VkFlags+                                           deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                     FiniteBits, Storable, Real, Data, Generic)++instance Show VkPipelineLayoutCreateFlagBits where+        {-# INLINE show #-}+        show (VkPipelineLayoutCreateFlagBits x) = show x++instance Read VkPipelineLayoutCreateFlagBits where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkPipelineMultisampleStateCreateFlagBits.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkPipelineMultisampleStateCreateFlagBits+       (VkPipelineMultisampleStateCreateFlagBits(..)) 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 VkPipelineMultisampleStateCreateFlagBits = VkPipelineMultisampleStateCreateFlagBits VkFlags+                                                     deriving (Eq, Ord, Num, Bounded, Enum,+                                                               Integral, Bits, FiniteBits, Storable,+                                                               Real, Data, Generic)++instance Show VkPipelineMultisampleStateCreateFlagBits where+        {-# INLINE show #-}+        show (VkPipelineMultisampleStateCreateFlagBits x) = show x++instance Read VkPipelineMultisampleStateCreateFlagBits where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkPipelineRasterizationStateCreateFlagBits.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkPipelineRasterizationStateCreateFlagBits+       (VkPipelineRasterizationStateCreateFlagBits(..)) 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 VkPipelineRasterizationStateCreateFlagBits = VkPipelineRasterizationStateCreateFlagBits VkFlags+                                                       deriving (Eq, Ord, Num, Bounded, Enum,+                                                                 Integral, Bits, FiniteBits,+                                                                 Storable, Real, Data, Generic)++instance Show VkPipelineRasterizationStateCreateFlagBits where+        {-# INLINE show #-}+        show (VkPipelineRasterizationStateCreateFlagBits x) = show x++instance Read VkPipelineRasterizationStateCreateFlagBits where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkPipelineShaderStageCreateFlagBits.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkPipelineShaderStageCreateFlagBits+       (VkPipelineShaderStageCreateFlagBits(..)) 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 VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateFlagBits VkFlags+                                                deriving (Eq, Ord, Num, Bounded, Enum, Integral,+                                                          Bits, FiniteBits, Storable, Real, Data,+                                                          Generic)++instance Show VkPipelineShaderStageCreateFlagBits where+        {-# INLINE show #-}+        show (VkPipelineShaderStageCreateFlagBits x) = show x++instance Read VkPipelineShaderStageCreateFlagBits where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkPipelineStageFlags.hs view
@@ -0,0 +1,305 @@+{-# 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.VkPipelineStageFlags+       (VkPipelineStageBitmask(VkPipelineStageBitmask,+                               VkPipelineStageFlags, VkPipelineStageFlagBits,+                               VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,+                               VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT,+                               VK_PIPELINE_STAGE_VERTEX_INPUT_BIT,+                               VK_PIPELINE_STAGE_VERTEX_SHADER_BIT,+                               VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT,+                               VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT,+                               VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT,+                               VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT,+                               VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT,+                               VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT,+                               VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,+                               VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT,+                               VK_PIPELINE_STAGE_TRANSFER_BIT,+                               VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, VK_PIPELINE_STAGE_HOST_BIT,+                               VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT,+                               VK_PIPELINE_STAGE_ALL_COMMANDS_BIT),+        VkPipelineStageFlags, VkPipelineStageFlagBits)+       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 VkPipelineStageBitmask (a ::+                                  FlagType) = VkPipelineStageBitmask VkFlags+                                                deriving (Eq, Ord, Storable, Data, Generic)++type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask++type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit++pattern VkPipelineStageFlagBits ::+        VkFlags -> VkPipelineStageBitmask FlagBit++pattern VkPipelineStageFlagBits n = VkPipelineStageBitmask n++pattern VkPipelineStageFlags ::+        VkFlags -> VkPipelineStageBitmask FlagMask++pattern VkPipelineStageFlags n = VkPipelineStageBitmask n++deriving instance Bits (VkPipelineStageBitmask FlagMask)++deriving instance FiniteBits (VkPipelineStageBitmask FlagMask)++deriving instance Integral (VkPipelineStageBitmask FlagMask)++deriving instance Num (VkPipelineStageBitmask FlagMask)++deriving instance Bounded (VkPipelineStageBitmask FlagMask)++deriving instance Enum (VkPipelineStageBitmask FlagMask)++deriving instance Real (VkPipelineStageBitmask FlagMask)++instance Show (VkPipelineStageBitmask a) where+        showsPrec _ VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT+          = showString "VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT"+        showsPrec _ VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT+          = showString "VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT"+        showsPrec _ VK_PIPELINE_STAGE_VERTEX_INPUT_BIT+          = showString "VK_PIPELINE_STAGE_VERTEX_INPUT_BIT"+        showsPrec _ VK_PIPELINE_STAGE_VERTEX_SHADER_BIT+          = showString "VK_PIPELINE_STAGE_VERTEX_SHADER_BIT"+        showsPrec _ VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT+          = showString "VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT"+        showsPrec _ VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT+          = showString "VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT"+        showsPrec _ VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT+          = showString "VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT"+        showsPrec _ VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT+          = showString "VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT"+        showsPrec _ VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT+          = showString "VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT"+        showsPrec _ VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT+          = showString "VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT"+        showsPrec _ VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT+          = showString "VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT"+        showsPrec _ VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT+          = showString "VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT"+        showsPrec _ VK_PIPELINE_STAGE_TRANSFER_BIT+          = showString "VK_PIPELINE_STAGE_TRANSFER_BIT"+        showsPrec _ VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT+          = showString "VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT"+        showsPrec _ VK_PIPELINE_STAGE_HOST_BIT+          = showString "VK_PIPELINE_STAGE_HOST_BIT"+        showsPrec _ VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT+          = showString "VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT"+        showsPrec _ VK_PIPELINE_STAGE_ALL_COMMANDS_BIT+          = showString "VK_PIPELINE_STAGE_ALL_COMMANDS_BIT"+        showsPrec p (VkPipelineStageBitmask x)+          = showParen (p >= 11)+              (showString "VkPipelineStageBitmask " . showsPrec 11 x)++instance Read (VkPipelineStageBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT",+                   pure VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT),+                  ("VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT",+                   pure VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT),+                  ("VK_PIPELINE_STAGE_VERTEX_INPUT_BIT",+                   pure VK_PIPELINE_STAGE_VERTEX_INPUT_BIT),+                  ("VK_PIPELINE_STAGE_VERTEX_SHADER_BIT",+                   pure VK_PIPELINE_STAGE_VERTEX_SHADER_BIT),+                  ("VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT",+                   pure VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT),+                  ("VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT",+                   pure VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT),+                  ("VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT",+                   pure VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT),+                  ("VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT",+                   pure VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT),+                  ("VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT",+                   pure VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT),+                  ("VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT",+                   pure VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT),+                  ("VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT",+                   pure VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT),+                  ("VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT",+                   pure VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT),+                  ("VK_PIPELINE_STAGE_TRANSFER_BIT",+                   pure VK_PIPELINE_STAGE_TRANSFER_BIT),+                  ("VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT",+                   pure VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT),+                  ("VK_PIPELINE_STAGE_HOST_BIT", pure VK_PIPELINE_STAGE_HOST_BIT),+                  ("VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT",+                   pure VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT),+                  ("VK_PIPELINE_STAGE_ALL_COMMANDS_BIT",+                   pure VK_PIPELINE_STAGE_ALL_COMMANDS_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkPipelineStageBitmask") >>+                      (VkPipelineStageBitmask <$> step readPrec)))++-- | Before subsequent commands are processed+--+--   bitpos = @0@+pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT ::+        VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT =+        VkPipelineStageBitmask 1++-- | Draw/DispatchIndirect command fetch+--+--   bitpos = @1@+pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT ::+        VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT =+        VkPipelineStageBitmask 2++-- | Vertex/index fetch+--+--   bitpos = @2@+pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT ::+        VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT =+        VkPipelineStageBitmask 4++-- | Vertex shading+--+--   bitpos = @3@+pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT ::+        VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT =+        VkPipelineStageBitmask 8++-- | Tessellation control shading+--+--   bitpos = @4@+pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT ::+        VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT =+        VkPipelineStageBitmask 16++-- | Tessellation evaluation shading+--+--   bitpos = @5@+pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT ::+        VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT =+        VkPipelineStageBitmask 32++-- | Geometry shading+--+--   bitpos = @6@+pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT ::+        VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT =+        VkPipelineStageBitmask 64++-- | Fragment shading+--+--   bitpos = @7@+pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT ::+        VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT =+        VkPipelineStageBitmask 128++-- | Early fragment (depth and stencil) tests+--+--   bitpos = @8@+pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT ::+        VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT =+        VkPipelineStageBitmask 256++-- | Late fragment (depth and stencil) tests+--+--   bitpos = @9@+pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT ::+        VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT =+        VkPipelineStageBitmask 512++-- | Color attachment writes+--+--   bitpos = @10@+pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT ::+        VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT =+        VkPipelineStageBitmask 1024++-- | Compute shading+--+--   bitpos = @11@+pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT ::+        VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT =+        VkPipelineStageBitmask 2048++-- | Transfer/copy operations+--+--   bitpos = @12@+pattern VK_PIPELINE_STAGE_TRANSFER_BIT :: VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_TRANSFER_BIT =+        VkPipelineStageBitmask 4096++-- | After previous commands have completed+--+--   bitpos = @13@+pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT ::+        VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT =+        VkPipelineStageBitmask 8192++-- | Indicates host (CPU) is a source/sink of the dependency+--+--   bitpos = @14@+pattern VK_PIPELINE_STAGE_HOST_BIT :: VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_HOST_BIT = VkPipelineStageBitmask 16384++-- | All stages of the graphics pipeline+--+--   bitpos = @15@+pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT ::+        VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT =+        VkPipelineStageBitmask 32768++-- | All stages supported on the queue+--+--   bitpos = @16@+pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT ::+        VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT =+        VkPipelineStageBitmask 65536
+ src-gen/Graphics/Vulkan/Types/Enum/VkPipelineTessellationStateCreateFlagBits.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkPipelineTessellationStateCreateFlagBits+       (VkPipelineTessellationStateCreateFlagBits(..)) 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 VkPipelineTessellationStateCreateFlagBits = VkPipelineTessellationStateCreateFlagBits VkFlags+                                                      deriving (Eq, Ord, Num, Bounded, Enum,+                                                                Integral, Bits, FiniteBits,+                                                                Storable, Real, Data, Generic)++instance Show VkPipelineTessellationStateCreateFlagBits where+        {-# INLINE show #-}+        show (VkPipelineTessellationStateCreateFlagBits x) = show x++instance Read VkPipelineTessellationStateCreateFlagBits where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkPipelineVertexInputStateCreateFlagBits.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkPipelineVertexInputStateCreateFlagBits+       (VkPipelineVertexInputStateCreateFlagBits(..)) 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 VkPipelineVertexInputStateCreateFlagBits = VkPipelineVertexInputStateCreateFlagBits VkFlags+                                                     deriving (Eq, Ord, Num, Bounded, Enum,+                                                               Integral, Bits, FiniteBits, Storable,+                                                               Real, Data, Generic)++instance Show VkPipelineVertexInputStateCreateFlagBits where+        {-# INLINE show #-}+        show (VkPipelineVertexInputStateCreateFlagBits x) = show x++instance Read VkPipelineVertexInputStateCreateFlagBits where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkPipelineViewportStateCreateFlagBits.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkPipelineViewportStateCreateFlagBits+       (VkPipelineViewportStateCreateFlagBits(..)) 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 VkPipelineViewportStateCreateFlagBits = VkPipelineViewportStateCreateFlagBits VkFlags+                                                  deriving (Eq, Ord, Num, Bounded, Enum, Integral,+                                                            Bits, FiniteBits, Storable, Real, Data,+                                                            Generic)++instance Show VkPipelineViewportStateCreateFlagBits where+        {-# INLINE show #-}+        show (VkPipelineViewportStateCreateFlagBits x) = show x++instance Read VkPipelineViewportStateCreateFlagBits where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkPointClippingBehaviorKHR.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.VkPointClippingBehaviorKHR+       (VkPointClippingBehaviorKHR(VkPointClippingBehaviorKHR,+                                   VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR,+                                   VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR))+       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.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)++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)++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
+ src-gen/Graphics/Vulkan/Types/Enum/VkPolygonMode.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.VkPolygonMode+       (VkPolygonMode(VkPolygonMode, VK_POLYGON_MODE_FILL,+                      VK_POLYGON_MODE_LINE, VK_POLYGON_MODE_POINT))+       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.0-extensions/man/html/VkPolygonMode.html VkPolygonMode registry at www.khronos.org>+newtype VkPolygonMode = VkPolygonMode Int32+                          deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkPolygonMode where+        showsPrec _ VK_POLYGON_MODE_FILL+          = showString "VK_POLYGON_MODE_FILL"+        showsPrec _ VK_POLYGON_MODE_LINE+          = showString "VK_POLYGON_MODE_LINE"+        showsPrec _ VK_POLYGON_MODE_POINT+          = showString "VK_POLYGON_MODE_POINT"+        showsPrec p (VkPolygonMode x)+          = showParen (p >= 11)+              (showString "VkPolygonMode " . showsPrec 11 x)++instance Read VkPolygonMode where+        readPrec+          = parens+              (choose+                 [("VK_POLYGON_MODE_FILL", pure VK_POLYGON_MODE_FILL),+                  ("VK_POLYGON_MODE_LINE", pure VK_POLYGON_MODE_LINE),+                  ("VK_POLYGON_MODE_POINT", pure VK_POLYGON_MODE_POINT)]+                 ++++                 prec 10+                   (expectP (Ident "VkPolygonMode") >>+                      (VkPolygonMode <$> step readPrec)))++pattern VK_POLYGON_MODE_FILL :: VkPolygonMode++pattern VK_POLYGON_MODE_FILL = VkPolygonMode 0++pattern VK_POLYGON_MODE_LINE :: VkPolygonMode++pattern VK_POLYGON_MODE_LINE = VkPolygonMode 1++pattern VK_POLYGON_MODE_POINT :: VkPolygonMode++pattern VK_POLYGON_MODE_POINT = VkPolygonMode 2
+ src-gen/Graphics/Vulkan/Types/Enum/VkPresentModeKHR.hs view
@@ -0,0 +1,70 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkPresentModeKHR+       (VkPresentModeKHR(VkPresentModeKHR, VK_PRESENT_MODE_IMMEDIATE_KHR,+                         VK_PRESENT_MODE_MAILBOX_KHR, VK_PRESENT_MODE_FIFO_KHR,+                         VK_PRESENT_MODE_FIFO_RELAXED_KHR))+       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.0-extensions/man/html/VkPresentModeKHR.html VkPresentModeKHR registry at www.khronos.org>+newtype VkPresentModeKHR = VkPresentModeKHR Int32+                             deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkPresentModeKHR where+        showsPrec _ VK_PRESENT_MODE_IMMEDIATE_KHR+          = showString "VK_PRESENT_MODE_IMMEDIATE_KHR"+        showsPrec _ VK_PRESENT_MODE_MAILBOX_KHR+          = showString "VK_PRESENT_MODE_MAILBOX_KHR"+        showsPrec _ VK_PRESENT_MODE_FIFO_KHR+          = showString "VK_PRESENT_MODE_FIFO_KHR"+        showsPrec _ VK_PRESENT_MODE_FIFO_RELAXED_KHR+          = showString "VK_PRESENT_MODE_FIFO_RELAXED_KHR"+        showsPrec p (VkPresentModeKHR x)+          = showParen (p >= 11)+              (showString "VkPresentModeKHR " . showsPrec 11 x)++instance Read VkPresentModeKHR where+        readPrec+          = parens+              (choose+                 [("VK_PRESENT_MODE_IMMEDIATE_KHR",+                   pure VK_PRESENT_MODE_IMMEDIATE_KHR),+                  ("VK_PRESENT_MODE_MAILBOX_KHR", pure VK_PRESENT_MODE_MAILBOX_KHR),+                  ("VK_PRESENT_MODE_FIFO_KHR", pure VK_PRESENT_MODE_FIFO_KHR),+                  ("VK_PRESENT_MODE_FIFO_RELAXED_KHR",+                   pure VK_PRESENT_MODE_FIFO_RELAXED_KHR)]+                 ++++                 prec 10+                   (expectP (Ident "VkPresentModeKHR") >>+                      (VkPresentModeKHR <$> step readPrec)))++pattern VK_PRESENT_MODE_IMMEDIATE_KHR :: VkPresentModeKHR++pattern VK_PRESENT_MODE_IMMEDIATE_KHR = VkPresentModeKHR 0++pattern VK_PRESENT_MODE_MAILBOX_KHR :: VkPresentModeKHR++pattern VK_PRESENT_MODE_MAILBOX_KHR = VkPresentModeKHR 1++pattern VK_PRESENT_MODE_FIFO_KHR :: VkPresentModeKHR++pattern VK_PRESENT_MODE_FIFO_KHR = VkPresentModeKHR 2++pattern VK_PRESENT_MODE_FIFO_RELAXED_KHR :: VkPresentModeKHR++pattern VK_PRESENT_MODE_FIFO_RELAXED_KHR = VkPresentModeKHR 3
+ src-gen/Graphics/Vulkan/Types/Enum/VkPrimitiveTopology.hs view
@@ -0,0 +1,145 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkPrimitiveTopology+       (VkPrimitiveTopology(VkPrimitiveTopology,+                            VK_PRIMITIVE_TOPOLOGY_POINT_LIST, VK_PRIMITIVE_TOPOLOGY_LINE_LIST,+                            VK_PRIMITIVE_TOPOLOGY_LINE_STRIP,+                            VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST,+                            VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP,+                            VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN,+                            VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY,+                            VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY,+                            VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY,+                            VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY,+                            VK_PRIMITIVE_TOPOLOGY_PATCH_LIST))+       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.0-extensions/man/html/VkPrimitiveTopology.html VkPrimitiveTopology registry at www.khronos.org>+newtype VkPrimitiveTopology = VkPrimitiveTopology Int32+                                deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkPrimitiveTopology where+        showsPrec _ VK_PRIMITIVE_TOPOLOGY_POINT_LIST+          = showString "VK_PRIMITIVE_TOPOLOGY_POINT_LIST"+        showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_LIST+          = showString "VK_PRIMITIVE_TOPOLOGY_LINE_LIST"+        showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_STRIP+          = showString "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP"+        showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST+          = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST"+        showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP+          = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP"+        showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN+          = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN"+        showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY+          = showString "VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY"+        showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY+          = showString "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY"+        showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY+          = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY"+        showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY+          = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY"+        showsPrec _ VK_PRIMITIVE_TOPOLOGY_PATCH_LIST+          = showString "VK_PRIMITIVE_TOPOLOGY_PATCH_LIST"+        showsPrec p (VkPrimitiveTopology x)+          = showParen (p >= 11)+              (showString "VkPrimitiveTopology " . showsPrec 11 x)++instance Read VkPrimitiveTopology where+        readPrec+          = parens+              (choose+                 [("VK_PRIMITIVE_TOPOLOGY_POINT_LIST",+                   pure VK_PRIMITIVE_TOPOLOGY_POINT_LIST),+                  ("VK_PRIMITIVE_TOPOLOGY_LINE_LIST",+                   pure VK_PRIMITIVE_TOPOLOGY_LINE_LIST),+                  ("VK_PRIMITIVE_TOPOLOGY_LINE_STRIP",+                   pure VK_PRIMITIVE_TOPOLOGY_LINE_STRIP),+                  ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST",+                   pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST),+                  ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP",+                   pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP),+                  ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN",+                   pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN),+                  ("VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY",+                   pure VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY),+                  ("VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY",+                   pure VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY),+                  ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY",+                   pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY),+                  ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY",+                   pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY),+                  ("VK_PRIMITIVE_TOPOLOGY_PATCH_LIST",+                   pure VK_PRIMITIVE_TOPOLOGY_PATCH_LIST)]+                 ++++                 prec 10+                   (expectP (Ident "VkPrimitiveTopology") >>+                      (VkPrimitiveTopology <$> step readPrec)))++pattern VK_PRIMITIVE_TOPOLOGY_POINT_LIST :: VkPrimitiveTopology++pattern VK_PRIMITIVE_TOPOLOGY_POINT_LIST = VkPrimitiveTopology 0++pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST :: VkPrimitiveTopology++pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST = VkPrimitiveTopology 1++pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP :: VkPrimitiveTopology++pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = VkPrimitiveTopology 2++pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST :: VkPrimitiveTopology++pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = VkPrimitiveTopology 3++pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP :: VkPrimitiveTopology++pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP =+        VkPrimitiveTopology 4++pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN :: VkPrimitiveTopology++pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = VkPrimitiveTopology 5++pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY ::+        VkPrimitiveTopology++pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY =+        VkPrimitiveTopology 6++pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY ::+        VkPrimitiveTopology++pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY =+        VkPrimitiveTopology 7++pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY ::+        VkPrimitiveTopology++pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY =+        VkPrimitiveTopology 8++pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY ::+        VkPrimitiveTopology++pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY =+        VkPrimitiveTopology 9++pattern VK_PRIMITIVE_TOPOLOGY_PATCH_LIST :: VkPrimitiveTopology++pattern VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = VkPrimitiveTopology 10
+ src-gen/Graphics/Vulkan/Types/Enum/VkQueryControlFlags.hs view
@@ -0,0 +1,83 @@+{-# 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.VkQueryControlFlags+       (VkQueryControlBitmask(VkQueryControlBitmask, VkQueryControlFlags,+                              VkQueryControlFlagBits, VK_QUERY_CONTROL_PRECISE_BIT),+        VkQueryControlFlags, VkQueryControlFlagBits)+       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 VkQueryControlBitmask (a ::+                                 FlagType) = VkQueryControlBitmask VkFlags+                                               deriving (Eq, Ord, Storable, Data, Generic)++type VkQueryControlFlags = VkQueryControlBitmask FlagMask++type VkQueryControlFlagBits = VkQueryControlBitmask FlagBit++pattern VkQueryControlFlagBits ::+        VkFlags -> VkQueryControlBitmask FlagBit++pattern VkQueryControlFlagBits n = VkQueryControlBitmask n++pattern VkQueryControlFlags ::+        VkFlags -> VkQueryControlBitmask FlagMask++pattern VkQueryControlFlags n = VkQueryControlBitmask n++deriving instance Bits (VkQueryControlBitmask FlagMask)++deriving instance FiniteBits (VkQueryControlBitmask FlagMask)++deriving instance Integral (VkQueryControlBitmask FlagMask)++deriving instance Num (VkQueryControlBitmask FlagMask)++deriving instance Bounded (VkQueryControlBitmask FlagMask)++deriving instance Enum (VkQueryControlBitmask FlagMask)++deriving instance Real (VkQueryControlBitmask FlagMask)++instance Show (VkQueryControlBitmask a) where+        showsPrec _ VK_QUERY_CONTROL_PRECISE_BIT+          = showString "VK_QUERY_CONTROL_PRECISE_BIT"+        showsPrec p (VkQueryControlBitmask x)+          = showParen (p >= 11)+              (showString "VkQueryControlBitmask " . showsPrec 11 x)++instance Read (VkQueryControlBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_QUERY_CONTROL_PRECISE_BIT",+                   pure VK_QUERY_CONTROL_PRECISE_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkQueryControlBitmask") >>+                      (VkQueryControlBitmask <$> step readPrec)))++-- | Require precise results to be collected by the query+--+--   bitpos = @0@+pattern VK_QUERY_CONTROL_PRECISE_BIT :: VkQueryControlBitmask a++pattern VK_QUERY_CONTROL_PRECISE_BIT = VkQueryControlBitmask 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkQueryPipelineStatisticFlags.hs view
@@ -0,0 +1,253 @@+{-# 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.VkQueryPipelineStatisticFlags+       (VkQueryPipelineStatisticBitmask(VkQueryPipelineStatisticBitmask,+                                        VkQueryPipelineStatisticFlags,+                                        VkQueryPipelineStatisticFlagBits,+                                        VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT,+                                        VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT,+                                        VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT,+                                        VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT,+                                        VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT,+                                        VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT,+                                        VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT,+                                        VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT,+                                        VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT,+                                        VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT,+                                        VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT),+        VkQueryPipelineStatisticFlags, VkQueryPipelineStatisticFlagBits)+       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 VkQueryPipelineStatisticBitmask (a ::+                                           FlagType) = VkQueryPipelineStatisticBitmask VkFlags+                                                         deriving (Eq, Ord, Storable, Data, Generic)++type VkQueryPipelineStatisticFlags =+     VkQueryPipelineStatisticBitmask FlagMask++type VkQueryPipelineStatisticFlagBits =+     VkQueryPipelineStatisticBitmask FlagBit++pattern VkQueryPipelineStatisticFlagBits ::+        VkFlags -> VkQueryPipelineStatisticBitmask FlagBit++pattern VkQueryPipelineStatisticFlagBits n =+        VkQueryPipelineStatisticBitmask n++pattern VkQueryPipelineStatisticFlags ::+        VkFlags -> VkQueryPipelineStatisticBitmask FlagMask++pattern VkQueryPipelineStatisticFlags n =+        VkQueryPipelineStatisticBitmask n++deriving instance Bits (VkQueryPipelineStatisticBitmask FlagMask)++deriving instance+         FiniteBits (VkQueryPipelineStatisticBitmask FlagMask)++deriving instance+         Integral (VkQueryPipelineStatisticBitmask FlagMask)++deriving instance Num (VkQueryPipelineStatisticBitmask FlagMask)++deriving instance+         Bounded (VkQueryPipelineStatisticBitmask FlagMask)++deriving instance Enum (VkQueryPipelineStatisticBitmask FlagMask)++deriving instance Real (VkQueryPipelineStatisticBitmask FlagMask)++instance Show (VkQueryPipelineStatisticBitmask a) where+        showsPrec _ VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT+          = showString+              "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT"+        showsPrec _+          VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT+          = showString+              "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT"+        showsPrec _+          VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT+          = showString+              "VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT"+        showsPrec _+          VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT+          = showString+              "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT"+        showsPrec _+          VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT+          = showString+              "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT"+        showsPrec _ VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT+          = showString "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT"+        showsPrec _ VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT+          = showString "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT"+        showsPrec _+          VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT+          = showString+              "VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT"+        showsPrec _+          VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT+          = showString+              "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT"+        showsPrec _+          VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT+          = showString+              "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT"+        showsPrec _+          VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT+          = showString+              "VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT"+        showsPrec p (VkQueryPipelineStatisticBitmask x)+          = showParen (p >= 11)+              (showString "VkQueryPipelineStatisticBitmask " . showsPrec 11 x)++instance Read (VkQueryPipelineStatisticBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT",+                   pure VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT),+                  ("VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT",+                   pure VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT),+                  ("VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT",+                   pure VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT),+                  ("VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT",+                   pure VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT),+                  ("VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT",+                   pure VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT),+                  ("VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT",+                   pure VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT),+                  ("VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT",+                   pure VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT),+                  ("VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT",+                   pure VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT),+                  ("VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT",+                   pure+                     VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT),+                  ("VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT",+                   pure+                     VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT),+                  ("VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT",+                   pure VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkQueryPipelineStatisticBitmask") >>+                      (VkQueryPipelineStatisticBitmask <$> step readPrec)))++-- | Optional+--+--   bitpos = @0@+pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT ::+        VkQueryPipelineStatisticBitmask a++pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT =+        VkQueryPipelineStatisticBitmask 1++-- | Optional+--+--   bitpos = @1@+pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT+        :: VkQueryPipelineStatisticBitmask a++pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT =+        VkQueryPipelineStatisticBitmask 2++-- | Optional+--+--   bitpos = @2@+pattern VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT+        :: VkQueryPipelineStatisticBitmask a++pattern VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT =+        VkQueryPipelineStatisticBitmask 4++-- | Optional+--+--   bitpos = @3@+pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT+        :: VkQueryPipelineStatisticBitmask a++pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT+        = VkQueryPipelineStatisticBitmask 8++-- | Optional+--+--   bitpos = @4@+pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT+        :: VkQueryPipelineStatisticBitmask a++pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT+        = VkQueryPipelineStatisticBitmask 16++-- | Optional+--+--   bitpos = @5@+pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT ::+        VkQueryPipelineStatisticBitmask a++pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT =+        VkQueryPipelineStatisticBitmask 32++-- | Optional+--+--   bitpos = @6@+pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT ::+        VkQueryPipelineStatisticBitmask a++pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT =+        VkQueryPipelineStatisticBitmask 64++-- | Optional+--+--   bitpos = @7@+pattern VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT+        :: VkQueryPipelineStatisticBitmask a++pattern VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT+        = VkQueryPipelineStatisticBitmask 128++-- | Optional+--+--   bitpos = @8@+pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT+        :: VkQueryPipelineStatisticBitmask a++pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT+        = VkQueryPipelineStatisticBitmask 256++-- | Optional+--+--   bitpos = @9@+pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT+        :: VkQueryPipelineStatisticBitmask a++pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT+        = VkQueryPipelineStatisticBitmask 512++-- | Optional+--+--   bitpos = @10@+pattern VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT+        :: VkQueryPipelineStatisticBitmask a++pattern VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT+        = VkQueryPipelineStatisticBitmask 1024
+ src-gen/Graphics/Vulkan/Types/Enum/VkQueryPoolCreateFlagBits.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkQueryPoolCreateFlagBits+       (VkQueryPoolCreateFlagBits(..)) 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 VkQueryPoolCreateFlagBits = VkQueryPoolCreateFlagBits VkFlags+                                      deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                FiniteBits, Storable, Real, Data, Generic)++instance Show VkQueryPoolCreateFlagBits where+        {-# INLINE show #-}+        show (VkQueryPoolCreateFlagBits x) = show x++instance Read VkQueryPoolCreateFlagBits where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkQueryResultFlags.hs view
@@ -0,0 +1,117 @@+{-# 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.VkQueryResultFlags+       (VkQueryResultBitmask(VkQueryResultBitmask, VkQueryResultFlags,+                             VkQueryResultFlagBits, VK_QUERY_RESULT_64_BIT,+                             VK_QUERY_RESULT_WAIT_BIT, VK_QUERY_RESULT_WITH_AVAILABILITY_BIT,+                             VK_QUERY_RESULT_PARTIAL_BIT),+        VkQueryResultFlags, VkQueryResultFlagBits)+       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 VkQueryResultBitmask (a ::+                                FlagType) = VkQueryResultBitmask VkFlags+                                              deriving (Eq, Ord, Storable, Data, Generic)++type VkQueryResultFlags = VkQueryResultBitmask FlagMask++type VkQueryResultFlagBits = VkQueryResultBitmask FlagBit++pattern VkQueryResultFlagBits ::+        VkFlags -> VkQueryResultBitmask FlagBit++pattern VkQueryResultFlagBits n = VkQueryResultBitmask n++pattern VkQueryResultFlags ::+        VkFlags -> VkQueryResultBitmask FlagMask++pattern VkQueryResultFlags n = VkQueryResultBitmask n++deriving instance Bits (VkQueryResultBitmask FlagMask)++deriving instance FiniteBits (VkQueryResultBitmask FlagMask)++deriving instance Integral (VkQueryResultBitmask FlagMask)++deriving instance Num (VkQueryResultBitmask FlagMask)++deriving instance Bounded (VkQueryResultBitmask FlagMask)++deriving instance Enum (VkQueryResultBitmask FlagMask)++deriving instance Real (VkQueryResultBitmask FlagMask)++instance Show (VkQueryResultBitmask a) where+        showsPrec _ VK_QUERY_RESULT_64_BIT+          = showString "VK_QUERY_RESULT_64_BIT"+        showsPrec _ VK_QUERY_RESULT_WAIT_BIT+          = showString "VK_QUERY_RESULT_WAIT_BIT"+        showsPrec _ VK_QUERY_RESULT_WITH_AVAILABILITY_BIT+          = showString "VK_QUERY_RESULT_WITH_AVAILABILITY_BIT"+        showsPrec _ VK_QUERY_RESULT_PARTIAL_BIT+          = showString "VK_QUERY_RESULT_PARTIAL_BIT"+        showsPrec p (VkQueryResultBitmask x)+          = showParen (p >= 11)+              (showString "VkQueryResultBitmask " . showsPrec 11 x)++instance Read (VkQueryResultBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_QUERY_RESULT_64_BIT", pure VK_QUERY_RESULT_64_BIT),+                  ("VK_QUERY_RESULT_WAIT_BIT", pure VK_QUERY_RESULT_WAIT_BIT),+                  ("VK_QUERY_RESULT_WITH_AVAILABILITY_BIT",+                   pure VK_QUERY_RESULT_WITH_AVAILABILITY_BIT),+                  ("VK_QUERY_RESULT_PARTIAL_BIT", pure VK_QUERY_RESULT_PARTIAL_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkQueryResultBitmask") >>+                      (VkQueryResultBitmask <$> step readPrec)))++-- | Results of the queries are written to the destination buffer as 64-bit values+--+--   bitpos = @0@+pattern VK_QUERY_RESULT_64_BIT :: VkQueryResultBitmask a++pattern VK_QUERY_RESULT_64_BIT = VkQueryResultBitmask 1++-- | Results of the queries are waited on before proceeding with the result copy+--+--   bitpos = @1@+pattern VK_QUERY_RESULT_WAIT_BIT :: VkQueryResultBitmask a++pattern VK_QUERY_RESULT_WAIT_BIT = VkQueryResultBitmask 2++-- | Besides the results of the query, the availability of the results is also written+--+--   bitpos = @2@+pattern VK_QUERY_RESULT_WITH_AVAILABILITY_BIT ::+        VkQueryResultBitmask a++pattern VK_QUERY_RESULT_WITH_AVAILABILITY_BIT =+        VkQueryResultBitmask 4++-- | Copy the partial results of the query even if the final results are not available+--+--   bitpos = @3@+pattern VK_QUERY_RESULT_PARTIAL_BIT :: VkQueryResultBitmask a++pattern VK_QUERY_RESULT_PARTIAL_BIT = VkQueryResultBitmask 8
+ src-gen/Graphics/Vulkan/Types/Enum/VkQueryType.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.VkQueryType+       (VkQueryType(VkQueryType, VK_QUERY_TYPE_OCCLUSION,+                    VK_QUERY_TYPE_PIPELINE_STATISTICS, VK_QUERY_TYPE_TIMESTAMP))+       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.0-extensions/man/html/VkQueryType.html VkQueryType registry at www.khronos.org>+newtype VkQueryType = VkQueryType Int32+                        deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkQueryType where+        showsPrec _ VK_QUERY_TYPE_OCCLUSION+          = showString "VK_QUERY_TYPE_OCCLUSION"+        showsPrec _ VK_QUERY_TYPE_PIPELINE_STATISTICS+          = showString "VK_QUERY_TYPE_PIPELINE_STATISTICS"+        showsPrec _ VK_QUERY_TYPE_TIMESTAMP+          = showString "VK_QUERY_TYPE_TIMESTAMP"+        showsPrec p (VkQueryType x)+          = showParen (p >= 11) (showString "VkQueryType " . showsPrec 11 x)++instance Read VkQueryType where+        readPrec+          = parens+              (choose+                 [("VK_QUERY_TYPE_OCCLUSION", pure VK_QUERY_TYPE_OCCLUSION),+                  ("VK_QUERY_TYPE_PIPELINE_STATISTICS",+                   pure VK_QUERY_TYPE_PIPELINE_STATISTICS),+                  ("VK_QUERY_TYPE_TIMESTAMP", pure VK_QUERY_TYPE_TIMESTAMP)]+                 ++++                 prec 10+                   (expectP (Ident "VkQueryType") >> (VkQueryType <$> step readPrec)))++pattern VK_QUERY_TYPE_OCCLUSION :: VkQueryType++pattern VK_QUERY_TYPE_OCCLUSION = VkQueryType 0++-- | Optional+pattern VK_QUERY_TYPE_PIPELINE_STATISTICS :: VkQueryType++pattern VK_QUERY_TYPE_PIPELINE_STATISTICS = VkQueryType 1++pattern VK_QUERY_TYPE_TIMESTAMP :: VkQueryType++pattern VK_QUERY_TYPE_TIMESTAMP = VkQueryType 2
+ src-gen/Graphics/Vulkan/Types/Enum/VkQueueFlags.hs view
@@ -0,0 +1,110 @@+{-# 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.VkQueueFlags+       (VkQueueBitmask(VkQueueBitmask, VkQueueFlags, VkQueueFlagBits,+                       VK_QUEUE_GRAPHICS_BIT, VK_QUEUE_COMPUTE_BIT, VK_QUEUE_TRANSFER_BIT,+                       VK_QUEUE_SPARSE_BINDING_BIT),+        VkQueueFlags, VkQueueFlagBits)+       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 VkQueueBitmask (a :: FlagType) = VkQueueBitmask VkFlags+                                           deriving (Eq, Ord, Storable, Data, Generic)++type VkQueueFlags = VkQueueBitmask FlagMask++type VkQueueFlagBits = VkQueueBitmask FlagBit++pattern VkQueueFlagBits :: VkFlags -> VkQueueBitmask FlagBit++pattern VkQueueFlagBits n = VkQueueBitmask n++pattern VkQueueFlags :: VkFlags -> VkQueueBitmask FlagMask++pattern VkQueueFlags n = VkQueueBitmask n++deriving instance Bits (VkQueueBitmask FlagMask)++deriving instance FiniteBits (VkQueueBitmask FlagMask)++deriving instance Integral (VkQueueBitmask FlagMask)++deriving instance Num (VkQueueBitmask FlagMask)++deriving instance Bounded (VkQueueBitmask FlagMask)++deriving instance Enum (VkQueueBitmask FlagMask)++deriving instance Real (VkQueueBitmask FlagMask)++instance Show (VkQueueBitmask a) where+        showsPrec _ VK_QUEUE_GRAPHICS_BIT+          = showString "VK_QUEUE_GRAPHICS_BIT"+        showsPrec _ VK_QUEUE_COMPUTE_BIT+          = showString "VK_QUEUE_COMPUTE_BIT"+        showsPrec _ VK_QUEUE_TRANSFER_BIT+          = showString "VK_QUEUE_TRANSFER_BIT"+        showsPrec _ VK_QUEUE_SPARSE_BINDING_BIT+          = showString "VK_QUEUE_SPARSE_BINDING_BIT"+        showsPrec p (VkQueueBitmask x)+          = showParen (p >= 11)+              (showString "VkQueueBitmask " . showsPrec 11 x)++instance Read (VkQueueBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_QUEUE_GRAPHICS_BIT", pure VK_QUEUE_GRAPHICS_BIT),+                  ("VK_QUEUE_COMPUTE_BIT", pure VK_QUEUE_COMPUTE_BIT),+                  ("VK_QUEUE_TRANSFER_BIT", pure VK_QUEUE_TRANSFER_BIT),+                  ("VK_QUEUE_SPARSE_BINDING_BIT", pure VK_QUEUE_SPARSE_BINDING_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkQueueBitmask") >>+                      (VkQueueBitmask <$> step readPrec)))++-- | Queue supports graphics operations+--+--   bitpos = @0@+pattern VK_QUEUE_GRAPHICS_BIT :: VkQueueBitmask a++pattern VK_QUEUE_GRAPHICS_BIT = VkQueueBitmask 1++-- | Queue supports compute operations+--+--   bitpos = @1@+pattern VK_QUEUE_COMPUTE_BIT :: VkQueueBitmask a++pattern VK_QUEUE_COMPUTE_BIT = VkQueueBitmask 2++-- | Queue supports transfer operations+--+--   bitpos = @2@+pattern VK_QUEUE_TRANSFER_BIT :: VkQueueBitmask a++pattern VK_QUEUE_TRANSFER_BIT = VkQueueBitmask 4++-- | Queue supports sparse resource memory management operations+--+--   bitpos = @3@+pattern VK_QUEUE_SPARSE_BINDING_BIT :: VkQueueBitmask a++pattern VK_QUEUE_SPARSE_BINDING_BIT = VkQueueBitmask 8
+ src-gen/Graphics/Vulkan/Types/Enum/VkQueueGlobalPriorityEXT.hs view
@@ -0,0 +1,82 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkQueueGlobalPriorityEXT+       (VkQueueGlobalPriorityEXT(VkQueueGlobalPriorityEXT,+                                 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT,+                                 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT,+                                 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT,+                                 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT))+       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.0-extensions/man/html/VkQueueGlobalPriorityEXT.html VkQueueGlobalPriorityEXT registry at www.khronos.org>+newtype VkQueueGlobalPriorityEXT = VkQueueGlobalPriorityEXT Int32+                                     deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkQueueGlobalPriorityEXT where+        showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT+          = showString "VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT"+        showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT+          = showString "VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT"+        showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT+          = showString "VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT"+        showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT+          = showString "VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT"+        showsPrec p (VkQueueGlobalPriorityEXT x)+          = showParen (p >= 11)+              (showString "VkQueueGlobalPriorityEXT " . showsPrec 11 x)++instance Read VkQueueGlobalPriorityEXT where+        readPrec+          = parens+              (choose+                 [("VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT",+                   pure VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT),+                  ("VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT",+                   pure VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT),+                  ("VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT",+                   pure VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT),+                  ("VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT",+                   pure VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT)]+                 ++++                 prec 10+                   (expectP (Ident "VkQueueGlobalPriorityEXT") >>+                      (VkQueueGlobalPriorityEXT <$> step readPrec)))++pattern VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT ::+        VkQueueGlobalPriorityEXT++pattern VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT =+        VkQueueGlobalPriorityEXT 128++pattern VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT ::+        VkQueueGlobalPriorityEXT++pattern VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT =+        VkQueueGlobalPriorityEXT 256++pattern VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT ::+        VkQueueGlobalPriorityEXT++pattern VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT =+        VkQueueGlobalPriorityEXT 512++pattern VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT ::+        VkQueueGlobalPriorityEXT++pattern VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT =+        VkQueueGlobalPriorityEXT 1024
+ src-gen/Graphics/Vulkan/Types/Enum/VkRasterizationOrderAMD.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.VkRasterizationOrderAMD+       (VkRasterizationOrderAMD(VkRasterizationOrderAMD,+                                VK_RASTERIZATION_ORDER_STRICT_AMD,+                                VK_RASTERIZATION_ORDER_RELAXED_AMD))+       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.0-extensions/man/html/VkRasterizationOrderAMD.html VkRasterizationOrderAMD registry at www.khronos.org>+newtype VkRasterizationOrderAMD = VkRasterizationOrderAMD Int32+                                    deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkRasterizationOrderAMD where+        showsPrec _ VK_RASTERIZATION_ORDER_STRICT_AMD+          = showString "VK_RASTERIZATION_ORDER_STRICT_AMD"+        showsPrec _ VK_RASTERIZATION_ORDER_RELAXED_AMD+          = showString "VK_RASTERIZATION_ORDER_RELAXED_AMD"+        showsPrec p (VkRasterizationOrderAMD x)+          = showParen (p >= 11)+              (showString "VkRasterizationOrderAMD " . showsPrec 11 x)++instance Read VkRasterizationOrderAMD where+        readPrec+          = parens+              (choose+                 [("VK_RASTERIZATION_ORDER_STRICT_AMD",+                   pure VK_RASTERIZATION_ORDER_STRICT_AMD),+                  ("VK_RASTERIZATION_ORDER_RELAXED_AMD",+                   pure VK_RASTERIZATION_ORDER_RELAXED_AMD)]+                 ++++                 prec 10+                   (expectP (Ident "VkRasterizationOrderAMD") >>+                      (VkRasterizationOrderAMD <$> step readPrec)))++pattern VK_RASTERIZATION_ORDER_STRICT_AMD ::+        VkRasterizationOrderAMD++pattern VK_RASTERIZATION_ORDER_STRICT_AMD =+        VkRasterizationOrderAMD 0++pattern VK_RASTERIZATION_ORDER_RELAXED_AMD ::+        VkRasterizationOrderAMD++pattern VK_RASTERIZATION_ORDER_RELAXED_AMD =+        VkRasterizationOrderAMD 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkRenderPassCreateFlagBits.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkRenderPassCreateFlagBits+       (VkRenderPassCreateFlagBits(..)) 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 VkRenderPassCreateFlagBits = VkRenderPassCreateFlagBits VkFlags+                                       deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                                 FiniteBits, Storable, Real, Data, Generic)++instance Show VkRenderPassCreateFlagBits where+        {-# INLINE show #-}+        show (VkRenderPassCreateFlagBits x) = show x++instance Read VkRenderPassCreateFlagBits where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkResult.hs view
@@ -0,0 +1,190 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkResult+       (VkResult(VkResult, VK_SUCCESS, VK_NOT_READY, VK_TIMEOUT,+                 VK_EVENT_SET, VK_EVENT_RESET, VK_INCOMPLETE,+                 VK_ERROR_OUT_OF_HOST_MEMORY, VK_ERROR_OUT_OF_DEVICE_MEMORY,+                 VK_ERROR_INITIALIZATION_FAILED, VK_ERROR_DEVICE_LOST,+                 VK_ERROR_MEMORY_MAP_FAILED, VK_ERROR_LAYER_NOT_PRESENT,+                 VK_ERROR_EXTENSION_NOT_PRESENT, VK_ERROR_FEATURE_NOT_PRESENT,+                 VK_ERROR_INCOMPATIBLE_DRIVER, VK_ERROR_TOO_MANY_OBJECTS,+                 VK_ERROR_FORMAT_NOT_SUPPORTED, VK_ERROR_FRAGMENTED_POOL))+       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 (..))++-- | API result codes+--+--   type = @enum@+--+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkResult.html VkResult registry at www.khronos.org>+newtype VkResult = VkResult Int32+                     deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkResult where+        showsPrec _ VK_SUCCESS = showString "VK_SUCCESS"+        showsPrec _ VK_NOT_READY = showString "VK_NOT_READY"+        showsPrec _ VK_TIMEOUT = showString "VK_TIMEOUT"+        showsPrec _ VK_EVENT_SET = showString "VK_EVENT_SET"+        showsPrec _ VK_EVENT_RESET = showString "VK_EVENT_RESET"+        showsPrec _ VK_INCOMPLETE = showString "VK_INCOMPLETE"+        showsPrec _ VK_ERROR_OUT_OF_HOST_MEMORY+          = showString "VK_ERROR_OUT_OF_HOST_MEMORY"+        showsPrec _ VK_ERROR_OUT_OF_DEVICE_MEMORY+          = showString "VK_ERROR_OUT_OF_DEVICE_MEMORY"+        showsPrec _ VK_ERROR_INITIALIZATION_FAILED+          = showString "VK_ERROR_INITIALIZATION_FAILED"+        showsPrec _ VK_ERROR_DEVICE_LOST+          = showString "VK_ERROR_DEVICE_LOST"+        showsPrec _ VK_ERROR_MEMORY_MAP_FAILED+          = showString "VK_ERROR_MEMORY_MAP_FAILED"+        showsPrec _ VK_ERROR_LAYER_NOT_PRESENT+          = showString "VK_ERROR_LAYER_NOT_PRESENT"+        showsPrec _ VK_ERROR_EXTENSION_NOT_PRESENT+          = showString "VK_ERROR_EXTENSION_NOT_PRESENT"+        showsPrec _ VK_ERROR_FEATURE_NOT_PRESENT+          = showString "VK_ERROR_FEATURE_NOT_PRESENT"+        showsPrec _ VK_ERROR_INCOMPATIBLE_DRIVER+          = showString "VK_ERROR_INCOMPATIBLE_DRIVER"+        showsPrec _ VK_ERROR_TOO_MANY_OBJECTS+          = showString "VK_ERROR_TOO_MANY_OBJECTS"+        showsPrec _ VK_ERROR_FORMAT_NOT_SUPPORTED+          = showString "VK_ERROR_FORMAT_NOT_SUPPORTED"+        showsPrec _ VK_ERROR_FRAGMENTED_POOL+          = showString "VK_ERROR_FRAGMENTED_POOL"+        showsPrec p (VkResult x)+          = showParen (p >= 11) (showString "VkResult " . showsPrec 11 x)++instance Read VkResult where+        readPrec+          = parens+              (choose+                 [("VK_SUCCESS", pure VK_SUCCESS),+                  ("VK_NOT_READY", pure VK_NOT_READY),+                  ("VK_TIMEOUT", pure VK_TIMEOUT),+                  ("VK_EVENT_SET", pure VK_EVENT_SET),+                  ("VK_EVENT_RESET", pure VK_EVENT_RESET),+                  ("VK_INCOMPLETE", pure VK_INCOMPLETE),+                  ("VK_ERROR_OUT_OF_HOST_MEMORY", pure VK_ERROR_OUT_OF_HOST_MEMORY),+                  ("VK_ERROR_OUT_OF_DEVICE_MEMORY",+                   pure VK_ERROR_OUT_OF_DEVICE_MEMORY),+                  ("VK_ERROR_INITIALIZATION_FAILED",+                   pure VK_ERROR_INITIALIZATION_FAILED),+                  ("VK_ERROR_DEVICE_LOST", pure VK_ERROR_DEVICE_LOST),+                  ("VK_ERROR_MEMORY_MAP_FAILED", pure VK_ERROR_MEMORY_MAP_FAILED),+                  ("VK_ERROR_LAYER_NOT_PRESENT", pure VK_ERROR_LAYER_NOT_PRESENT),+                  ("VK_ERROR_EXTENSION_NOT_PRESENT",+                   pure VK_ERROR_EXTENSION_NOT_PRESENT),+                  ("VK_ERROR_FEATURE_NOT_PRESENT",+                   pure VK_ERROR_FEATURE_NOT_PRESENT),+                  ("VK_ERROR_INCOMPATIBLE_DRIVER",+                   pure VK_ERROR_INCOMPATIBLE_DRIVER),+                  ("VK_ERROR_TOO_MANY_OBJECTS", pure VK_ERROR_TOO_MANY_OBJECTS),+                  ("VK_ERROR_FORMAT_NOT_SUPPORTED",+                   pure VK_ERROR_FORMAT_NOT_SUPPORTED),+                  ("VK_ERROR_FRAGMENTED_POOL", pure VK_ERROR_FRAGMENTED_POOL)]+                 ++++                 prec 10+                   (expectP (Ident "VkResult") >> (VkResult <$> step readPrec)))++-- | Command completed successfully+pattern VK_SUCCESS :: VkResult++pattern VK_SUCCESS = VkResult 0++-- | A fence or query has not yet completed+pattern VK_NOT_READY :: VkResult++pattern VK_NOT_READY = VkResult 1++-- | A wait operation has not completed in the specified time+pattern VK_TIMEOUT :: VkResult++pattern VK_TIMEOUT = VkResult 2++-- | An event is signaled+pattern VK_EVENT_SET :: VkResult++pattern VK_EVENT_SET = VkResult 3++-- | An event is unsignaled+pattern VK_EVENT_RESET :: VkResult++pattern VK_EVENT_RESET = VkResult 4++-- | A return array was too small for the result+pattern VK_INCOMPLETE :: VkResult++pattern VK_INCOMPLETE = VkResult 5++-- | A host memory allocation has failed+pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult++pattern VK_ERROR_OUT_OF_HOST_MEMORY = VkResult (-1)++-- | A device memory allocation has failed+pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult++pattern VK_ERROR_OUT_OF_DEVICE_MEMORY = VkResult (-2)++-- | Initialization of a object has failed+pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult++pattern VK_ERROR_INITIALIZATION_FAILED = VkResult (-3)++-- | The logical device has been lost. See <<devsandqueues-lost-device>>+pattern VK_ERROR_DEVICE_LOST :: VkResult++pattern VK_ERROR_DEVICE_LOST = VkResult (-4)++-- | Mapping of a memory object has failed+pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult++pattern VK_ERROR_MEMORY_MAP_FAILED = VkResult (-5)++-- | Layer specified does not exist+pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult++pattern VK_ERROR_LAYER_NOT_PRESENT = VkResult (-6)++-- | Extension specified does not exist+pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult++pattern VK_ERROR_EXTENSION_NOT_PRESENT = VkResult (-7)++-- | Requested feature is not available on this device+pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult++pattern VK_ERROR_FEATURE_NOT_PRESENT = VkResult (-8)++-- | Unable to find a Vulkan driver+pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult++pattern VK_ERROR_INCOMPATIBLE_DRIVER = VkResult (-9)++-- | Too many objects of the type have already been created+pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult++pattern VK_ERROR_TOO_MANY_OBJECTS = VkResult (-10)++-- | Requested format is not supported on this device+pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult++pattern VK_ERROR_FORMAT_NOT_SUPPORTED = VkResult (-11)++-- | A requested pool allocation has failed due to fragmentation of the pool's memory+pattern VK_ERROR_FRAGMENTED_POOL :: VkResult++pattern VK_ERROR_FRAGMENTED_POOL = VkResult (-12)
+ src-gen/Graphics/Vulkan/Types/Enum/VkSampleCountFlags.hs view
@@ -0,0 +1,145 @@+{-# 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.VkSampleCountFlags+       (VkSampleCountBitmask(VkSampleCountBitmask, VkSampleCountFlags,+                             VkSampleCountFlagBits, VK_SAMPLE_COUNT_1_BIT,+                             VK_SAMPLE_COUNT_2_BIT, VK_SAMPLE_COUNT_4_BIT,+                             VK_SAMPLE_COUNT_8_BIT, VK_SAMPLE_COUNT_16_BIT,+                             VK_SAMPLE_COUNT_32_BIT, VK_SAMPLE_COUNT_64_BIT),+        VkSampleCountFlags, VkSampleCountFlagBits)+       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 VkSampleCountBitmask (a ::+                                FlagType) = VkSampleCountBitmask VkFlags+                                              deriving (Eq, Ord, Storable, Data, Generic)++type VkSampleCountFlags = VkSampleCountBitmask FlagMask++type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit++pattern VkSampleCountFlagBits ::+        VkFlags -> VkSampleCountBitmask FlagBit++pattern VkSampleCountFlagBits n = VkSampleCountBitmask n++pattern VkSampleCountFlags ::+        VkFlags -> VkSampleCountBitmask FlagMask++pattern VkSampleCountFlags n = VkSampleCountBitmask n++deriving instance Bits (VkSampleCountBitmask FlagMask)++deriving instance FiniteBits (VkSampleCountBitmask FlagMask)++deriving instance Integral (VkSampleCountBitmask FlagMask)++deriving instance Num (VkSampleCountBitmask FlagMask)++deriving instance Bounded (VkSampleCountBitmask FlagMask)++deriving instance Enum (VkSampleCountBitmask FlagMask)++deriving instance Real (VkSampleCountBitmask FlagMask)++instance Show (VkSampleCountBitmask a) where+        showsPrec _ VK_SAMPLE_COUNT_1_BIT+          = showString "VK_SAMPLE_COUNT_1_BIT"+        showsPrec _ VK_SAMPLE_COUNT_2_BIT+          = showString "VK_SAMPLE_COUNT_2_BIT"+        showsPrec _ VK_SAMPLE_COUNT_4_BIT+          = showString "VK_SAMPLE_COUNT_4_BIT"+        showsPrec _ VK_SAMPLE_COUNT_8_BIT+          = showString "VK_SAMPLE_COUNT_8_BIT"+        showsPrec _ VK_SAMPLE_COUNT_16_BIT+          = showString "VK_SAMPLE_COUNT_16_BIT"+        showsPrec _ VK_SAMPLE_COUNT_32_BIT+          = showString "VK_SAMPLE_COUNT_32_BIT"+        showsPrec _ VK_SAMPLE_COUNT_64_BIT+          = showString "VK_SAMPLE_COUNT_64_BIT"+        showsPrec p (VkSampleCountBitmask x)+          = showParen (p >= 11)+              (showString "VkSampleCountBitmask " . showsPrec 11 x)++instance Read (VkSampleCountBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_SAMPLE_COUNT_1_BIT", pure VK_SAMPLE_COUNT_1_BIT),+                  ("VK_SAMPLE_COUNT_2_BIT", pure VK_SAMPLE_COUNT_2_BIT),+                  ("VK_SAMPLE_COUNT_4_BIT", pure VK_SAMPLE_COUNT_4_BIT),+                  ("VK_SAMPLE_COUNT_8_BIT", pure VK_SAMPLE_COUNT_8_BIT),+                  ("VK_SAMPLE_COUNT_16_BIT", pure VK_SAMPLE_COUNT_16_BIT),+                  ("VK_SAMPLE_COUNT_32_BIT", pure VK_SAMPLE_COUNT_32_BIT),+                  ("VK_SAMPLE_COUNT_64_BIT", pure VK_SAMPLE_COUNT_64_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkSampleCountBitmask") >>+                      (VkSampleCountBitmask <$> step readPrec)))++-- | Sample count 1 supported+--+--   bitpos = @0@+pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a++pattern VK_SAMPLE_COUNT_1_BIT = VkSampleCountBitmask 1++-- | Sample count 2 supported+--+--   bitpos = @1@+pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a++pattern VK_SAMPLE_COUNT_2_BIT = VkSampleCountBitmask 2++-- | Sample count 4 supported+--+--   bitpos = @2@+pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a++pattern VK_SAMPLE_COUNT_4_BIT = VkSampleCountBitmask 4++-- | Sample count 8 supported+--+--   bitpos = @3@+pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a++pattern VK_SAMPLE_COUNT_8_BIT = VkSampleCountBitmask 8++-- | Sample count 16 supported+--+--   bitpos = @4@+pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a++pattern VK_SAMPLE_COUNT_16_BIT = VkSampleCountBitmask 16++-- | Sample count 32 supported+--+--   bitpos = @5@+pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a++pattern VK_SAMPLE_COUNT_32_BIT = VkSampleCountBitmask 32++-- | Sample count 64 supported+--+--   bitpos = @6@+pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a++pattern VK_SAMPLE_COUNT_64_BIT = VkSampleCountBitmask 64
+ src-gen/Graphics/Vulkan/Types/Enum/VkSamplerAddressMode.hs view
@@ -0,0 +1,80 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkSamplerAddressMode+       (VkSamplerAddressMode(VkSamplerAddressMode,+                             VK_SAMPLER_ADDRESS_MODE_REPEAT,+                             VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT,+                             VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE,+                             VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER))+       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.0-extensions/man/html/VkSamplerAddressMode.html VkSamplerAddressMode registry at www.khronos.org>+newtype VkSamplerAddressMode = VkSamplerAddressMode Int32+                                 deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkSamplerAddressMode where+        showsPrec _ VK_SAMPLER_ADDRESS_MODE_REPEAT+          = showString "VK_SAMPLER_ADDRESS_MODE_REPEAT"+        showsPrec _ VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT+          = showString "VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT"+        showsPrec _ VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE+          = showString "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE"+        showsPrec _ VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER+          = showString "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER"+        showsPrec p (VkSamplerAddressMode x)+          = showParen (p >= 11)+              (showString "VkSamplerAddressMode " . showsPrec 11 x)++instance Read VkSamplerAddressMode where+        readPrec+          = parens+              (choose+                 [("VK_SAMPLER_ADDRESS_MODE_REPEAT",+                   pure VK_SAMPLER_ADDRESS_MODE_REPEAT),+                  ("VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT",+                   pure VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT),+                  ("VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE",+                   pure VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE),+                  ("VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER",+                   pure VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER)]+                 ++++                 prec 10+                   (expectP (Ident "VkSamplerAddressMode") >>+                      (VkSamplerAddressMode <$> step readPrec)))++pattern VK_SAMPLER_ADDRESS_MODE_REPEAT :: VkSamplerAddressMode++pattern VK_SAMPLER_ADDRESS_MODE_REPEAT = VkSamplerAddressMode 0++pattern VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT ::+        VkSamplerAddressMode++pattern VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT =+        VkSamplerAddressMode 1++pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE ::+        VkSamplerAddressMode++pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE =+        VkSamplerAddressMode 2++pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER ::+        VkSamplerAddressMode++pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER =+        VkSamplerAddressMode 3
+ src-gen/Graphics/Vulkan/Types/Enum/VkSamplerCreateFlagBits.hs view
@@ -0,0 +1,25 @@+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkSamplerCreateFlagBits+       (VkSamplerCreateFlagBits(..)) 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 VkSamplerCreateFlagBits = VkSamplerCreateFlagBits VkFlags+                                    deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+                                              FiniteBits, Storable, Real, Data, Generic)++instance Show VkSamplerCreateFlagBits where+        {-# INLINE show #-}+        show (VkSamplerCreateFlagBits x) = show x++instance Read VkSamplerCreateFlagBits where+        {-# INLINE readsPrec #-}+        readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
+ src-gen/Graphics/Vulkan/Types/Enum/VkSamplerMipmapMode.hs view
@@ -0,0 +1,57 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkSamplerMipmapMode+       (VkSamplerMipmapMode(VkSamplerMipmapMode,+                            VK_SAMPLER_MIPMAP_MODE_NEAREST, VK_SAMPLER_MIPMAP_MODE_LINEAR))+       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.0-extensions/man/html/VkSamplerMipmapMode.html VkSamplerMipmapMode registry at www.khronos.org>+newtype VkSamplerMipmapMode = VkSamplerMipmapMode Int32+                                deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkSamplerMipmapMode where+        showsPrec _ VK_SAMPLER_MIPMAP_MODE_NEAREST+          = showString "VK_SAMPLER_MIPMAP_MODE_NEAREST"+        showsPrec _ VK_SAMPLER_MIPMAP_MODE_LINEAR+          = showString "VK_SAMPLER_MIPMAP_MODE_LINEAR"+        showsPrec p (VkSamplerMipmapMode x)+          = showParen (p >= 11)+              (showString "VkSamplerMipmapMode " . showsPrec 11 x)++instance Read VkSamplerMipmapMode where+        readPrec+          = parens+              (choose+                 [("VK_SAMPLER_MIPMAP_MODE_NEAREST",+                   pure VK_SAMPLER_MIPMAP_MODE_NEAREST),+                  ("VK_SAMPLER_MIPMAP_MODE_LINEAR",+                   pure VK_SAMPLER_MIPMAP_MODE_LINEAR)]+                 ++++                 prec 10+                   (expectP (Ident "VkSamplerMipmapMode") >>+                      (VkSamplerMipmapMode <$> step readPrec)))++-- | Choose nearest mip level+pattern VK_SAMPLER_MIPMAP_MODE_NEAREST :: VkSamplerMipmapMode++pattern VK_SAMPLER_MIPMAP_MODE_NEAREST = VkSamplerMipmapMode 0++-- | Linear filter between mip levels+pattern VK_SAMPLER_MIPMAP_MODE_LINEAR :: VkSamplerMipmapMode++pattern VK_SAMPLER_MIPMAP_MODE_LINEAR = VkSamplerMipmapMode 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkSamplerReductionModeEXT.hs view
@@ -0,0 +1,72 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkSamplerReductionModeEXT+       (VkSamplerReductionModeEXT(VkSamplerReductionModeEXT,+                                  VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT,+                                  VK_SAMPLER_REDUCTION_MODE_MIN_EXT,+                                  VK_SAMPLER_REDUCTION_MODE_MAX_EXT))+       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.0-extensions/man/html/VkSamplerReductionModeEXT.html VkSamplerReductionModeEXT registry at www.khronos.org>+newtype VkSamplerReductionModeEXT = VkSamplerReductionModeEXT Int32+                                      deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,+                                                Generic)++instance Show VkSamplerReductionModeEXT where+        showsPrec _ VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT+          = showString "VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT"+        showsPrec _ VK_SAMPLER_REDUCTION_MODE_MIN_EXT+          = showString "VK_SAMPLER_REDUCTION_MODE_MIN_EXT"+        showsPrec _ VK_SAMPLER_REDUCTION_MODE_MAX_EXT+          = showString "VK_SAMPLER_REDUCTION_MODE_MAX_EXT"+        showsPrec p (VkSamplerReductionModeEXT x)+          = showParen (p >= 11)+              (showString "VkSamplerReductionModeEXT " . showsPrec 11 x)++instance Read VkSamplerReductionModeEXT where+        readPrec+          = parens+              (choose+                 [("VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT",+                   pure VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT),+                  ("VK_SAMPLER_REDUCTION_MODE_MIN_EXT",+                   pure VK_SAMPLER_REDUCTION_MODE_MIN_EXT),+                  ("VK_SAMPLER_REDUCTION_MODE_MAX_EXT",+                   pure VK_SAMPLER_REDUCTION_MODE_MAX_EXT)]+                 ++++                 prec 10+                   (expectP (Ident "VkSamplerReductionModeEXT") >>+                      (VkSamplerReductionModeEXT <$> step readPrec)))++pattern VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT ::+        VkSamplerReductionModeEXT++pattern VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT =+        VkSamplerReductionModeEXT 0++pattern VK_SAMPLER_REDUCTION_MODE_MIN_EXT ::+        VkSamplerReductionModeEXT++pattern VK_SAMPLER_REDUCTION_MODE_MIN_EXT =+        VkSamplerReductionModeEXT 1++pattern VK_SAMPLER_REDUCTION_MODE_MAX_EXT ::+        VkSamplerReductionModeEXT++pattern VK_SAMPLER_REDUCTION_MODE_MAX_EXT =+        VkSamplerReductionModeEXT 2
+ src-gen/Graphics/Vulkan/Types/Enum/VkSamplerYcbcrModelConversionKHR.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.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+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.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)++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)++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
+ src-gen/Graphics/Vulkan/Types/Enum/VkSamplerYcbcrRangeKHR.hs view
@@ -0,0 +1,62 @@+{-# 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+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.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)++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)++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
+ src-gen/Graphics/Vulkan/Types/Enum/VkSemaphoreImportFlagsKHR.hs view
@@ -0,0 +1,87 @@+{-# 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
@@ -0,0 +1,64 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkShaderInfoTypeAMD+       (VkShaderInfoTypeAMD(VkShaderInfoTypeAMD,+                            VK_SHADER_INFO_TYPE_STATISTICS_AMD, VK_SHADER_INFO_TYPE_BINARY_AMD,+                            VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD))+       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.0-extensions/man/html/VkShaderInfoTypeAMD.html VkShaderInfoTypeAMD registry at www.khronos.org>+newtype VkShaderInfoTypeAMD = VkShaderInfoTypeAMD Int32+                                deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkShaderInfoTypeAMD where+        showsPrec _ VK_SHADER_INFO_TYPE_STATISTICS_AMD+          = showString "VK_SHADER_INFO_TYPE_STATISTICS_AMD"+        showsPrec _ VK_SHADER_INFO_TYPE_BINARY_AMD+          = showString "VK_SHADER_INFO_TYPE_BINARY_AMD"+        showsPrec _ VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD+          = showString "VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD"+        showsPrec p (VkShaderInfoTypeAMD x)+          = showParen (p >= 11)+              (showString "VkShaderInfoTypeAMD " . showsPrec 11 x)++instance Read VkShaderInfoTypeAMD where+        readPrec+          = parens+              (choose+                 [("VK_SHADER_INFO_TYPE_STATISTICS_AMD",+                   pure VK_SHADER_INFO_TYPE_STATISTICS_AMD),+                  ("VK_SHADER_INFO_TYPE_BINARY_AMD",+                   pure VK_SHADER_INFO_TYPE_BINARY_AMD),+                  ("VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD",+                   pure VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD)]+                 ++++                 prec 10+                   (expectP (Ident "VkShaderInfoTypeAMD") >>+                      (VkShaderInfoTypeAMD <$> step readPrec)))++pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD++pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD = VkShaderInfoTypeAMD 0++pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD++pattern VK_SHADER_INFO_TYPE_BINARY_AMD = VkShaderInfoTypeAMD 1++pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD++pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = VkShaderInfoTypeAMD 2
+ src-gen/Graphics/Vulkan/Types/Enum/VkShaderStageFlags.hs view
@@ -0,0 +1,147 @@+{-# 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.VkShaderStageFlags+       (VkShaderStageBitmask(VkShaderStageBitmask, VkShaderStageFlags,+                             VkShaderStageFlagBits, VK_SHADER_STAGE_VERTEX_BIT,+                             VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT,+                             VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT,+                             VK_SHADER_STAGE_GEOMETRY_BIT, VK_SHADER_STAGE_FRAGMENT_BIT,+                             VK_SHADER_STAGE_COMPUTE_BIT, VK_SHADER_STAGE_ALL_GRAPHICS,+                             VK_SHADER_STAGE_ALL),+        VkShaderStageFlags, VkShaderStageFlagBits)+       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 VkShaderStageBitmask (a ::+                                FlagType) = VkShaderStageBitmask VkFlags+                                              deriving (Eq, Ord, Storable, Data, Generic)++type VkShaderStageFlags = VkShaderStageBitmask FlagMask++type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit++pattern VkShaderStageFlagBits ::+        VkFlags -> VkShaderStageBitmask FlagBit++pattern VkShaderStageFlagBits n = VkShaderStageBitmask n++pattern VkShaderStageFlags ::+        VkFlags -> VkShaderStageBitmask FlagMask++pattern VkShaderStageFlags n = VkShaderStageBitmask n++deriving instance Bits (VkShaderStageBitmask FlagMask)++deriving instance FiniteBits (VkShaderStageBitmask FlagMask)++deriving instance Integral (VkShaderStageBitmask FlagMask)++deriving instance Num (VkShaderStageBitmask FlagMask)++deriving instance Bounded (VkShaderStageBitmask FlagMask)++deriving instance Enum (VkShaderStageBitmask FlagMask)++deriving instance Real (VkShaderStageBitmask FlagMask)++instance Show (VkShaderStageBitmask a) where+        showsPrec _ VK_SHADER_STAGE_VERTEX_BIT+          = showString "VK_SHADER_STAGE_VERTEX_BIT"+        showsPrec _ VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT+          = showString "VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT"+        showsPrec _ VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT+          = showString "VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT"+        showsPrec _ VK_SHADER_STAGE_GEOMETRY_BIT+          = showString "VK_SHADER_STAGE_GEOMETRY_BIT"+        showsPrec _ VK_SHADER_STAGE_FRAGMENT_BIT+          = showString "VK_SHADER_STAGE_FRAGMENT_BIT"+        showsPrec _ VK_SHADER_STAGE_COMPUTE_BIT+          = showString "VK_SHADER_STAGE_COMPUTE_BIT"+        showsPrec _ VK_SHADER_STAGE_ALL_GRAPHICS+          = showString "VK_SHADER_STAGE_ALL_GRAPHICS"+        showsPrec _ VK_SHADER_STAGE_ALL = showString "VK_SHADER_STAGE_ALL"+        showsPrec p (VkShaderStageBitmask x)+          = showParen (p >= 11)+              (showString "VkShaderStageBitmask " . showsPrec 11 x)++instance Read (VkShaderStageBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_SHADER_STAGE_VERTEX_BIT", pure VK_SHADER_STAGE_VERTEX_BIT),+                  ("VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT",+                   pure VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT),+                  ("VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT",+                   pure VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT),+                  ("VK_SHADER_STAGE_GEOMETRY_BIT",+                   pure VK_SHADER_STAGE_GEOMETRY_BIT),+                  ("VK_SHADER_STAGE_FRAGMENT_BIT",+                   pure VK_SHADER_STAGE_FRAGMENT_BIT),+                  ("VK_SHADER_STAGE_COMPUTE_BIT", pure VK_SHADER_STAGE_COMPUTE_BIT),+                  ("VK_SHADER_STAGE_ALL_GRAPHICS",+                   pure VK_SHADER_STAGE_ALL_GRAPHICS),+                  ("VK_SHADER_STAGE_ALL", pure VK_SHADER_STAGE_ALL)]+                 ++++                 prec 10+                   (expectP (Ident "VkShaderStageBitmask") >>+                      (VkShaderStageBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a++pattern VK_SHADER_STAGE_VERTEX_BIT = VkShaderStageBitmask 1++-- | bitpos = @1@+pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT ::+        VkShaderStageBitmask a++pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT =+        VkShaderStageBitmask 2++-- | bitpos = @2@+pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT ::+        VkShaderStageBitmask a++pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT =+        VkShaderStageBitmask 4++-- | bitpos = @3@+pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a++pattern VK_SHADER_STAGE_GEOMETRY_BIT = VkShaderStageBitmask 8++-- | bitpos = @4@+pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a++pattern VK_SHADER_STAGE_FRAGMENT_BIT = VkShaderStageBitmask 16++-- | bitpos = @5@+pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a++pattern VK_SHADER_STAGE_COMPUTE_BIT = VkShaderStageBitmask 32++pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a++pattern VK_SHADER_STAGE_ALL_GRAPHICS = VkShaderStageBitmask 31++pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a++pattern VK_SHADER_STAGE_ALL = VkShaderStageBitmask 2147483647
+ src-gen/Graphics/Vulkan/Types/Enum/VkSharingMode.hs view
@@ -0,0 +1,53 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkSharingMode+       (VkSharingMode(VkSharingMode, VK_SHARING_MODE_EXCLUSIVE,+                      VK_SHARING_MODE_CONCURRENT))+       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.0-extensions/man/html/VkSharingMode.html VkSharingMode registry at www.khronos.org>+newtype VkSharingMode = VkSharingMode Int32+                          deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkSharingMode where+        showsPrec _ VK_SHARING_MODE_EXCLUSIVE+          = showString "VK_SHARING_MODE_EXCLUSIVE"+        showsPrec _ VK_SHARING_MODE_CONCURRENT+          = showString "VK_SHARING_MODE_CONCURRENT"+        showsPrec p (VkSharingMode x)+          = showParen (p >= 11)+              (showString "VkSharingMode " . showsPrec 11 x)++instance Read VkSharingMode where+        readPrec+          = parens+              (choose+                 [("VK_SHARING_MODE_EXCLUSIVE", pure VK_SHARING_MODE_EXCLUSIVE),+                  ("VK_SHARING_MODE_CONCURRENT", pure VK_SHARING_MODE_CONCURRENT)]+                 ++++                 prec 10+                   (expectP (Ident "VkSharingMode") >>+                      (VkSharingMode <$> step readPrec)))++pattern VK_SHARING_MODE_EXCLUSIVE :: VkSharingMode++pattern VK_SHARING_MODE_EXCLUSIVE = VkSharingMode 0++pattern VK_SHARING_MODE_CONCURRENT :: VkSharingMode++pattern VK_SHARING_MODE_CONCURRENT = VkSharingMode 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkSparseImageFormatFlags.hs view
@@ -0,0 +1,116 @@+{-# 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.VkSparseImageFormatFlags+       (VkSparseImageFormatBitmask(VkSparseImageFormatBitmask,+                                   VkSparseImageFormatFlags, VkSparseImageFormatFlagBits,+                                   VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT,+                                   VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT,+                                   VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT),+        VkSparseImageFormatFlags, VkSparseImageFormatFlagBits)+       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 VkSparseImageFormatBitmask (a ::+                                      FlagType) = VkSparseImageFormatBitmask VkFlags+                                                    deriving (Eq, Ord, Storable, Data, Generic)++type VkSparseImageFormatFlags = VkSparseImageFormatBitmask FlagMask++type VkSparseImageFormatFlagBits =+     VkSparseImageFormatBitmask FlagBit++pattern VkSparseImageFormatFlagBits ::+        VkFlags -> VkSparseImageFormatBitmask FlagBit++pattern VkSparseImageFormatFlagBits n =+        VkSparseImageFormatBitmask n++pattern VkSparseImageFormatFlags ::+        VkFlags -> VkSparseImageFormatBitmask FlagMask++pattern VkSparseImageFormatFlags n = VkSparseImageFormatBitmask n++deriving instance Bits (VkSparseImageFormatBitmask FlagMask)++deriving instance FiniteBits (VkSparseImageFormatBitmask FlagMask)++deriving instance Integral (VkSparseImageFormatBitmask FlagMask)++deriving instance Num (VkSparseImageFormatBitmask FlagMask)++deriving instance Bounded (VkSparseImageFormatBitmask FlagMask)++deriving instance Enum (VkSparseImageFormatBitmask FlagMask)++deriving instance Real (VkSparseImageFormatBitmask FlagMask)++instance Show (VkSparseImageFormatBitmask a) where+        showsPrec _ VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT+          = showString "VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT"+        showsPrec _ VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT+          = showString "VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT"+        showsPrec _ VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT+          = showString "VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT"+        showsPrec p (VkSparseImageFormatBitmask x)+          = showParen (p >= 11)+              (showString "VkSparseImageFormatBitmask " . showsPrec 11 x)++instance Read (VkSparseImageFormatBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT",+                   pure VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT),+                  ("VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT",+                   pure VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT),+                  ("VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT",+                   pure VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkSparseImageFormatBitmask") >>+                      (VkSparseImageFormatBitmask <$> step readPrec)))++-- | Image uses a single mip tail region for all array layers+--+--   bitpos = @0@+pattern VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT ::+        VkSparseImageFormatBitmask a++pattern VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT =+        VkSparseImageFormatBitmask 1++-- | Image requires mip level dimensions to be an integer multiple of the sparse image block dimensions for non-tail mip levels.+--+--   bitpos = @1@+pattern VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT ::+        VkSparseImageFormatBitmask a++pattern VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT =+        VkSparseImageFormatBitmask 2++-- | Image uses a non-standard sparse image block dimensions+--+--   bitpos = @2@+pattern VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT ::+        VkSparseImageFormatBitmask a++pattern VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT =+        VkSparseImageFormatBitmask 4
+ src-gen/Graphics/Vulkan/Types/Enum/VkSparseMemoryBindFlags.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.VkSparseMemoryBindFlags+       (VkSparseMemoryBindBitmask(VkSparseMemoryBindBitmask,+                                  VkSparseMemoryBindFlags, VkSparseMemoryBindFlagBits,+                                  VK_SPARSE_MEMORY_BIND_METADATA_BIT),+        VkSparseMemoryBindFlags, VkSparseMemoryBindFlagBits)+       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 VkSparseMemoryBindBitmask (a ::+                                     FlagType) = VkSparseMemoryBindBitmask VkFlags+                                                   deriving (Eq, Ord, Storable, Data, Generic)++type VkSparseMemoryBindFlags = VkSparseMemoryBindBitmask FlagMask++type VkSparseMemoryBindFlagBits = VkSparseMemoryBindBitmask FlagBit++pattern VkSparseMemoryBindFlagBits ::+        VkFlags -> VkSparseMemoryBindBitmask FlagBit++pattern VkSparseMemoryBindFlagBits n = VkSparseMemoryBindBitmask n++pattern VkSparseMemoryBindFlags ::+        VkFlags -> VkSparseMemoryBindBitmask FlagMask++pattern VkSparseMemoryBindFlags n = VkSparseMemoryBindBitmask n++deriving instance Bits (VkSparseMemoryBindBitmask FlagMask)++deriving instance FiniteBits (VkSparseMemoryBindBitmask FlagMask)++deriving instance Integral (VkSparseMemoryBindBitmask FlagMask)++deriving instance Num (VkSparseMemoryBindBitmask FlagMask)++deriving instance Bounded (VkSparseMemoryBindBitmask FlagMask)++deriving instance Enum (VkSparseMemoryBindBitmask FlagMask)++deriving instance Real (VkSparseMemoryBindBitmask FlagMask)++instance Show (VkSparseMemoryBindBitmask a) where+        showsPrec _ VK_SPARSE_MEMORY_BIND_METADATA_BIT+          = showString "VK_SPARSE_MEMORY_BIND_METADATA_BIT"+        showsPrec p (VkSparseMemoryBindBitmask x)+          = showParen (p >= 11)+              (showString "VkSparseMemoryBindBitmask " . showsPrec 11 x)++instance Read (VkSparseMemoryBindBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_SPARSE_MEMORY_BIND_METADATA_BIT",+                   pure VK_SPARSE_MEMORY_BIND_METADATA_BIT)]+                 ++++                 prec 10+                   (expectP (Ident "VkSparseMemoryBindBitmask") >>+                      (VkSparseMemoryBindBitmask <$> step readPrec)))++-- | Operation binds resource metadata to memory+--+--   bitpos = @0@+pattern VK_SPARSE_MEMORY_BIND_METADATA_BIT ::+        VkSparseMemoryBindBitmask a++pattern VK_SPARSE_MEMORY_BIND_METADATA_BIT =+        VkSparseMemoryBindBitmask 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkStencilFaceFlags.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.VkStencilFaceFlags+       (VkStencilFaceBitmask(VkStencilFaceBitmask, VkStencilFaceFlags,+                             VkStencilFaceFlagBits, VK_STENCIL_FACE_FRONT_BIT,+                             VK_STENCIL_FACE_BACK_BIT, VK_STENCIL_FRONT_AND_BACK),+        VkStencilFaceFlags, VkStencilFaceFlagBits)+       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 VkStencilFaceBitmask (a ::+                                FlagType) = VkStencilFaceBitmask VkFlags+                                              deriving (Eq, Ord, Storable, Data, Generic)++type VkStencilFaceFlags = VkStencilFaceBitmask FlagMask++type VkStencilFaceFlagBits = VkStencilFaceBitmask FlagBit++pattern VkStencilFaceFlagBits ::+        VkFlags -> VkStencilFaceBitmask FlagBit++pattern VkStencilFaceFlagBits n = VkStencilFaceBitmask n++pattern VkStencilFaceFlags ::+        VkFlags -> VkStencilFaceBitmask FlagMask++pattern VkStencilFaceFlags n = VkStencilFaceBitmask n++deriving instance Bits (VkStencilFaceBitmask FlagMask)++deriving instance FiniteBits (VkStencilFaceBitmask FlagMask)++deriving instance Integral (VkStencilFaceBitmask FlagMask)++deriving instance Num (VkStencilFaceBitmask FlagMask)++deriving instance Bounded (VkStencilFaceBitmask FlagMask)++deriving instance Enum (VkStencilFaceBitmask FlagMask)++deriving instance Real (VkStencilFaceBitmask FlagMask)++instance Show (VkStencilFaceBitmask a) where+        showsPrec _ VK_STENCIL_FACE_FRONT_BIT+          = showString "VK_STENCIL_FACE_FRONT_BIT"+        showsPrec _ VK_STENCIL_FACE_BACK_BIT+          = showString "VK_STENCIL_FACE_BACK_BIT"+        showsPrec _ VK_STENCIL_FRONT_AND_BACK+          = showString "VK_STENCIL_FRONT_AND_BACK"+        showsPrec p (VkStencilFaceBitmask x)+          = showParen (p >= 11)+              (showString "VkStencilFaceBitmask " . showsPrec 11 x)++instance Read (VkStencilFaceBitmask a) where+        readPrec+          = parens+              (choose+                 [("VK_STENCIL_FACE_FRONT_BIT", pure VK_STENCIL_FACE_FRONT_BIT),+                  ("VK_STENCIL_FACE_BACK_BIT", pure VK_STENCIL_FACE_BACK_BIT),+                  ("VK_STENCIL_FRONT_AND_BACK", pure VK_STENCIL_FRONT_AND_BACK)]+                 ++++                 prec 10+                   (expectP (Ident "VkStencilFaceBitmask") >>+                      (VkStencilFaceBitmask <$> step readPrec)))++-- | Front face+--+--   bitpos = @0@+pattern VK_STENCIL_FACE_FRONT_BIT :: VkStencilFaceBitmask a++pattern VK_STENCIL_FACE_FRONT_BIT = VkStencilFaceBitmask 1++-- | Back face+--+--   bitpos = @1@+pattern VK_STENCIL_FACE_BACK_BIT :: VkStencilFaceBitmask a++pattern VK_STENCIL_FACE_BACK_BIT = VkStencilFaceBitmask 2++-- | Front and back faces+pattern VK_STENCIL_FRONT_AND_BACK :: VkStencilFaceBitmask a++pattern VK_STENCIL_FRONT_AND_BACK = VkStencilFaceBitmask 3
+ src-gen/Graphics/Vulkan/Types/Enum/VkStencilOp.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.VkStencilOp+       (VkStencilOp(VkStencilOp, VK_STENCIL_OP_KEEP, VK_STENCIL_OP_ZERO,+                    VK_STENCIL_OP_REPLACE, VK_STENCIL_OP_INCREMENT_AND_CLAMP,+                    VK_STENCIL_OP_DECREMENT_AND_CLAMP, VK_STENCIL_OP_INVERT,+                    VK_STENCIL_OP_INCREMENT_AND_WRAP,+                    VK_STENCIL_OP_DECREMENT_AND_WRAP))+       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.0-extensions/man/html/VkStencilOp.html VkStencilOp registry at www.khronos.org>+newtype VkStencilOp = VkStencilOp Int32+                        deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkStencilOp where+        showsPrec _ VK_STENCIL_OP_KEEP = showString "VK_STENCIL_OP_KEEP"+        showsPrec _ VK_STENCIL_OP_ZERO = showString "VK_STENCIL_OP_ZERO"+        showsPrec _ VK_STENCIL_OP_REPLACE+          = showString "VK_STENCIL_OP_REPLACE"+        showsPrec _ VK_STENCIL_OP_INCREMENT_AND_CLAMP+          = showString "VK_STENCIL_OP_INCREMENT_AND_CLAMP"+        showsPrec _ VK_STENCIL_OP_DECREMENT_AND_CLAMP+          = showString "VK_STENCIL_OP_DECREMENT_AND_CLAMP"+        showsPrec _ VK_STENCIL_OP_INVERT+          = showString "VK_STENCIL_OP_INVERT"+        showsPrec _ VK_STENCIL_OP_INCREMENT_AND_WRAP+          = showString "VK_STENCIL_OP_INCREMENT_AND_WRAP"+        showsPrec _ VK_STENCIL_OP_DECREMENT_AND_WRAP+          = showString "VK_STENCIL_OP_DECREMENT_AND_WRAP"+        showsPrec p (VkStencilOp x)+          = showParen (p >= 11) (showString "VkStencilOp " . showsPrec 11 x)++instance Read VkStencilOp where+        readPrec+          = parens+              (choose+                 [("VK_STENCIL_OP_KEEP", pure VK_STENCIL_OP_KEEP),+                  ("VK_STENCIL_OP_ZERO", pure VK_STENCIL_OP_ZERO),+                  ("VK_STENCIL_OP_REPLACE", pure VK_STENCIL_OP_REPLACE),+                  ("VK_STENCIL_OP_INCREMENT_AND_CLAMP",+                   pure VK_STENCIL_OP_INCREMENT_AND_CLAMP),+                  ("VK_STENCIL_OP_DECREMENT_AND_CLAMP",+                   pure VK_STENCIL_OP_DECREMENT_AND_CLAMP),+                  ("VK_STENCIL_OP_INVERT", pure VK_STENCIL_OP_INVERT),+                  ("VK_STENCIL_OP_INCREMENT_AND_WRAP",+                   pure VK_STENCIL_OP_INCREMENT_AND_WRAP),+                  ("VK_STENCIL_OP_DECREMENT_AND_WRAP",+                   pure VK_STENCIL_OP_DECREMENT_AND_WRAP)]+                 ++++                 prec 10+                   (expectP (Ident "VkStencilOp") >> (VkStencilOp <$> step readPrec)))++pattern VK_STENCIL_OP_KEEP :: VkStencilOp++pattern VK_STENCIL_OP_KEEP = VkStencilOp 0++pattern VK_STENCIL_OP_ZERO :: VkStencilOp++pattern VK_STENCIL_OP_ZERO = VkStencilOp 1++pattern VK_STENCIL_OP_REPLACE :: VkStencilOp++pattern VK_STENCIL_OP_REPLACE = VkStencilOp 2++pattern VK_STENCIL_OP_INCREMENT_AND_CLAMP :: VkStencilOp++pattern VK_STENCIL_OP_INCREMENT_AND_CLAMP = VkStencilOp 3++pattern VK_STENCIL_OP_DECREMENT_AND_CLAMP :: VkStencilOp++pattern VK_STENCIL_OP_DECREMENT_AND_CLAMP = VkStencilOp 4++pattern VK_STENCIL_OP_INVERT :: VkStencilOp++pattern VK_STENCIL_OP_INVERT = VkStencilOp 5++pattern VK_STENCIL_OP_INCREMENT_AND_WRAP :: VkStencilOp++pattern VK_STENCIL_OP_INCREMENT_AND_WRAP = VkStencilOp 6++pattern VK_STENCIL_OP_DECREMENT_AND_WRAP :: VkStencilOp++pattern VK_STENCIL_OP_DECREMENT_AND_WRAP = VkStencilOp 7
+ src-gen/Graphics/Vulkan/Types/Enum/VkStructureType.hs view
@@ -0,0 +1,559 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkStructureType+       (VkStructureType(VkStructureType,+                        VK_STRUCTURE_TYPE_APPLICATION_INFO,+                        VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,+                        VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO,+                        VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,+                        VK_STRUCTURE_TYPE_SUBMIT_INFO,+                        VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO,+                        VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE,+                        VK_STRUCTURE_TYPE_BIND_SPARSE_INFO,+                        VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,+                        VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,+                        VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,+                        VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO,+                        VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO,+                        VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO,+                        VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO,+                        VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO,+                        VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO,+                        VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO,+                        VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO,+                        VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO,+                        VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,+                        VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO,+                        VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO,+                        VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,+                        VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,+                        VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO,+                        VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO,+                        VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO,+                        VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO,+                        VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO,+                        VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO,+                        VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO,+                        VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO,+                        VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,+                        VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO,+                        VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET,+                        VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET,+                        VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO,+                        VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO,+                        VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,+                        VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,+                        VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO,+                        VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,+                        VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO,+                        VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER,+                        VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,+                        VK_STRUCTURE_TYPE_MEMORY_BARRIER,+                        VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO,+                        VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO))+       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 (..))++-- | Structure type enumerant+--+--   type = @enum@+--+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkStructureType.html VkStructureType registry at www.khronos.org>+newtype VkStructureType = VkStructureType Int32+                            deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkStructureType where+        showsPrec _ VK_STRUCTURE_TYPE_APPLICATION_INFO+          = showString "VK_STRUCTURE_TYPE_APPLICATION_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_SUBMIT_INFO+          = showString "VK_STRUCTURE_TYPE_SUBMIT_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO+          = showString "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE+          = showString "VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE"+        showsPrec _ VK_STRUCTURE_TYPE_BIND_SPARSE_INFO+          = showString "VK_STRUCTURE_TYPE_BIND_SPARSE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_FENCE_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_FENCE_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_EVENT_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_EVENT_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO"+        showsPrec _+          VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO+          = showString+              "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO"+        showsPrec _+          VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO+          = showString+              "VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO"+        showsPrec _+          VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO+          = showString+              "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO+          = showString+              "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO"+        showsPrec _+          VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO+          = showString+              "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO"+        showsPrec _+          VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO+          = showString+              "VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO"+        showsPrec _+          VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO+          = showString+              "VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO"+        showsPrec _+          VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO+          = showString+              "VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO+          = showString "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET+          = showString "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET"+        showsPrec _ VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET+          = showString "VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET"+        showsPrec _ VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO+          = showString "VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO+          = showString "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO+          = showString "VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO+          = showString "VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER+          = showString "VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER"+        showsPrec _ VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER+          = showString "VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER"+        showsPrec _ VK_STRUCTURE_TYPE_MEMORY_BARRIER+          = showString "VK_STRUCTURE_TYPE_MEMORY_BARRIER"+        showsPrec _ VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO"+        showsPrec _ VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO+          = showString "VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO"+        showsPrec p (VkStructureType x)+          = showParen (p >= 11)+              (showString "VkStructureType " . showsPrec 11 x)++instance Read VkStructureType where+        readPrec+          = parens+              (choose+                 [("VK_STRUCTURE_TYPE_APPLICATION_INFO",+                   pure VK_STRUCTURE_TYPE_APPLICATION_INFO),+                  ("VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_SUBMIT_INFO",+                   pure VK_STRUCTURE_TYPE_SUBMIT_INFO),+                  ("VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO",+                   pure VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO),+                  ("VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE",+                   pure VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE),+                  ("VK_STRUCTURE_TYPE_BIND_SPARSE_INFO",+                   pure VK_STRUCTURE_TYPE_BIND_SPARSE_INFO),+                  ("VK_STRUCTURE_TYPE_FENCE_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_FENCE_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_EVENT_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_EVENT_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO",+                   pure VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO),+                  ("VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET",+                   pure VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET),+                  ("VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET",+                   pure VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET),+                  ("VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO",+                   pure VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO),+                  ("VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO",+                   pure VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO),+                  ("VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO",+                   pure VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO),+                  ("VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO",+                   pure VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO),+                  ("VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER",+                   pure VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER),+                  ("VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER",+                   pure VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER),+                  ("VK_STRUCTURE_TYPE_MEMORY_BARRIER",+                   pure VK_STRUCTURE_TYPE_MEMORY_BARRIER),+                  ("VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO),+                  ("VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO",+                   pure VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO)]+                 ++++                 prec 10+                   (expectP (Ident "VkStructureType") >>+                      (VkStructureType <$> step readPrec)))++pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_APPLICATION_INFO = VkStructureType 0++pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = VkStructureType 1++pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO =+        VkStructureType 2++pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = VkStructureType 3++pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_SUBMIT_INFO = VkStructureType 4++pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = VkStructureType 5++pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType++pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = VkStructureType 6++pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = VkStructureType 7++pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = VkStructureType 8++pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = VkStructureType 9++pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = VkStructureType 10++pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO =+        VkStructureType 11++pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = VkStructureType 12++pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO =+        VkStructureType 13++pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = VkStructureType 14++pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO =+        VkStructureType 15++pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO =+        VkStructureType 16++pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO =+        VkStructureType 17++pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO =+        VkStructureType 18++pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO =+        VkStructureType 19++pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO+        = VkStructureType 20++pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO =+        VkStructureType 21++pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO =+        VkStructureType 22++pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO+        = VkStructureType 23++pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO =+        VkStructureType 24++pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO+        :: VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO+        = VkStructureType 25++pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO =+        VkStructureType 26++pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO =+        VkStructureType 27++pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO =+        VkStructureType 28++pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO =+        VkStructureType 29++pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO =+        VkStructureType 30++pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = VkStructureType 31++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO =+        VkStructureType 32++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO =+        VkStructureType 33++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO =+        VkStructureType 34++pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType++pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = VkStructureType 35++pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType++pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = VkStructureType 36++pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO =+        VkStructureType 37++pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO =+        VkStructureType 38++pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO =+        VkStructureType 39++pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO =+        VkStructureType 40++pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO =+        VkStructureType 41++pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO =+        VkStructureType 42++pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO =+        VkStructureType 43++pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType++pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER =+        VkStructureType 44++pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = VkStructureType 45++pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType++pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER = VkStructureType 46++-- | Reserved for internal use by the loader, layers, and ICDs+pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO =+        VkStructureType 47++-- | Reserved for internal use by the loader, layers, and ICDs+pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO ::+        VkStructureType++pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO =+        VkStructureType 48
+ src-gen/Graphics/Vulkan/Types/Enum/VkSubpassContents.hs view
@@ -0,0 +1,56 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkSubpassContents+       (VkSubpassContents(VkSubpassContents, VK_SUBPASS_CONTENTS_INLINE,+                          VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS))+       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.0-extensions/man/html/VkSubpassContents.html VkSubpassContents registry at www.khronos.org>+newtype VkSubpassContents = VkSubpassContents Int32+                              deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkSubpassContents where+        showsPrec _ VK_SUBPASS_CONTENTS_INLINE+          = showString "VK_SUBPASS_CONTENTS_INLINE"+        showsPrec _ VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS+          = showString "VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS"+        showsPrec p (VkSubpassContents x)+          = showParen (p >= 11)+              (showString "VkSubpassContents " . showsPrec 11 x)++instance Read VkSubpassContents where+        readPrec+          = parens+              (choose+                 [("VK_SUBPASS_CONTENTS_INLINE", pure VK_SUBPASS_CONTENTS_INLINE),+                  ("VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS",+                   pure VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS)]+                 ++++                 prec 10+                   (expectP (Ident "VkSubpassContents") >>+                      (VkSubpassContents <$> step readPrec)))++pattern VK_SUBPASS_CONTENTS_INLINE :: VkSubpassContents++pattern VK_SUBPASS_CONTENTS_INLINE = VkSubpassContents 0++pattern VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS ::+        VkSubpassContents++pattern VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS =+        VkSubpassContents 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkSubpassDescriptionFlags.hs view
@@ -0,0 +1,74 @@+{-# 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.VkSubpassDescriptionFlags+       (VkSubpassDescriptionBitmask(VkSubpassDescriptionBitmask,+                                    VkSubpassDescriptionFlags, VkSubpassDescriptionFlagBits),+        VkSubpassDescriptionFlags, VkSubpassDescriptionFlagBits)+       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 VkSubpassDescriptionBitmask (a ::+                                       FlagType) = VkSubpassDescriptionBitmask VkFlags+                                                     deriving (Eq, Ord, Storable, Data, Generic)++type VkSubpassDescriptionFlags =+     VkSubpassDescriptionBitmask FlagMask++type VkSubpassDescriptionFlagBits =+     VkSubpassDescriptionBitmask FlagBit++pattern VkSubpassDescriptionFlagBits ::+        VkFlags -> VkSubpassDescriptionBitmask FlagBit++pattern VkSubpassDescriptionFlagBits n =+        VkSubpassDescriptionBitmask n++pattern VkSubpassDescriptionFlags ::+        VkFlags -> VkSubpassDescriptionBitmask FlagMask++pattern VkSubpassDescriptionFlags n = VkSubpassDescriptionBitmask n++deriving instance Bits (VkSubpassDescriptionBitmask FlagMask)++deriving instance FiniteBits (VkSubpassDescriptionBitmask FlagMask)++deriving instance Integral (VkSubpassDescriptionBitmask FlagMask)++deriving instance Num (VkSubpassDescriptionBitmask FlagMask)++deriving instance Bounded (VkSubpassDescriptionBitmask FlagMask)++deriving instance Enum (VkSubpassDescriptionBitmask FlagMask)++deriving instance Real (VkSubpassDescriptionBitmask FlagMask)++instance Show (VkSubpassDescriptionBitmask a) where+        showsPrec p (VkSubpassDescriptionBitmask x)+          = showParen (p >= 11)+              (showString "VkSubpassDescriptionBitmask " . showsPrec 11 x)++instance Read (VkSubpassDescriptionBitmask a) where+        readPrec+          = parens+              (choose [] ++++                 prec 10+                   (expectP (Ident "VkSubpassDescriptionBitmask") >>+                      (VkSubpassDescriptionBitmask <$> step readPrec)))
+ src-gen/Graphics/Vulkan/Types/Enum/VkSurfaceCounterFlagsEXT.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.VkSurfaceCounterFlagsEXT+       (VkSurfaceCounterBitmaskEXT(VkSurfaceCounterBitmaskEXT,+                                   VkSurfaceCounterFlagsEXT, VkSurfaceCounterFlagBitsEXT,+                                   VK_SURFACE_COUNTER_VBLANK_EXT),+        VkSurfaceCounterFlagsEXT, VkSurfaceCounterFlagBitsEXT)+       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 VkSurfaceCounterBitmaskEXT (a ::+                                      FlagType) = VkSurfaceCounterBitmaskEXT VkFlags+                                                    deriving (Eq, Ord, Storable, Data, Generic)++type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask++type VkSurfaceCounterFlagBitsEXT =+     VkSurfaceCounterBitmaskEXT FlagBit++pattern VkSurfaceCounterFlagBitsEXT ::+        VkFlags -> VkSurfaceCounterBitmaskEXT FlagBit++pattern VkSurfaceCounterFlagBitsEXT n =+        VkSurfaceCounterBitmaskEXT n++pattern VkSurfaceCounterFlagsEXT ::+        VkFlags -> VkSurfaceCounterBitmaskEXT FlagMask++pattern VkSurfaceCounterFlagsEXT n = VkSurfaceCounterBitmaskEXT n++deriving instance Bits (VkSurfaceCounterBitmaskEXT FlagMask)++deriving instance FiniteBits (VkSurfaceCounterBitmaskEXT FlagMask)++deriving instance Integral (VkSurfaceCounterBitmaskEXT FlagMask)++deriving instance Num (VkSurfaceCounterBitmaskEXT FlagMask)++deriving instance Bounded (VkSurfaceCounterBitmaskEXT FlagMask)++deriving instance Enum (VkSurfaceCounterBitmaskEXT FlagMask)++deriving instance Real (VkSurfaceCounterBitmaskEXT FlagMask)++instance Show (VkSurfaceCounterBitmaskEXT a) where+        showsPrec _ VK_SURFACE_COUNTER_VBLANK_EXT+          = showString "VK_SURFACE_COUNTER_VBLANK_EXT"+        showsPrec p (VkSurfaceCounterBitmaskEXT x)+          = showParen (p >= 11)+              (showString "VkSurfaceCounterBitmaskEXT " . showsPrec 11 x)++instance Read (VkSurfaceCounterBitmaskEXT a) where+        readPrec+          = parens+              (choose+                 [("VK_SURFACE_COUNTER_VBLANK_EXT",+                   pure VK_SURFACE_COUNTER_VBLANK_EXT)]+                 ++++                 prec 10+                   (expectP (Ident "VkSurfaceCounterBitmaskEXT") >>+                      (VkSurfaceCounterBitmaskEXT <$> step readPrec)))++-- | bitpos = @0@+pattern VK_SURFACE_COUNTER_VBLANK_EXT ::+        VkSurfaceCounterBitmaskEXT a++pattern VK_SURFACE_COUNTER_VBLANK_EXT =+        VkSurfaceCounterBitmaskEXT 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkSurfaceTransformFlagsKHR.hs view
@@ -0,0 +1,191 @@+{-# 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.VkSurfaceTransformFlagsKHR+       (VkSurfaceTransformBitmaskKHR(VkSurfaceTransformBitmaskKHR,+                                     VkSurfaceTransformFlagsKHR, VkSurfaceTransformFlagBitsKHR,+                                     VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR,+                                     VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR,+                                     VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR,+                                     VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR,+                                     VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR,+                                     VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR,+                                     VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR,+                                     VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR,+                                     VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR),+        VkSurfaceTransformFlagsKHR, VkSurfaceTransformFlagBitsKHR)+       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 VkSurfaceTransformBitmaskKHR (a ::+                                        FlagType) = VkSurfaceTransformBitmaskKHR VkFlags+                                                      deriving (Eq, Ord, Storable, Data, Generic)++type VkSurfaceTransformFlagsKHR =+     VkSurfaceTransformBitmaskKHR FlagMask++type VkSurfaceTransformFlagBitsKHR =+     VkSurfaceTransformBitmaskKHR FlagBit++pattern VkSurfaceTransformFlagBitsKHR ::+        VkFlags -> VkSurfaceTransformBitmaskKHR FlagBit++pattern VkSurfaceTransformFlagBitsKHR n =+        VkSurfaceTransformBitmaskKHR n++pattern VkSurfaceTransformFlagsKHR ::+        VkFlags -> VkSurfaceTransformBitmaskKHR FlagMask++pattern VkSurfaceTransformFlagsKHR n =+        VkSurfaceTransformBitmaskKHR n++deriving instance Bits (VkSurfaceTransformBitmaskKHR FlagMask)++deriving instance+         FiniteBits (VkSurfaceTransformBitmaskKHR FlagMask)++deriving instance Integral (VkSurfaceTransformBitmaskKHR FlagMask)++deriving instance Num (VkSurfaceTransformBitmaskKHR FlagMask)++deriving instance Bounded (VkSurfaceTransformBitmaskKHR FlagMask)++deriving instance Enum (VkSurfaceTransformBitmaskKHR FlagMask)++deriving instance Real (VkSurfaceTransformBitmaskKHR FlagMask)++instance Show (VkSurfaceTransformBitmaskKHR a) where+        showsPrec _ VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR+          = showString "VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR"+        showsPrec _ VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR+          = showString "VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR"+        showsPrec _ VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR+          = showString "VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR"+        showsPrec _ VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR+          = showString "VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR"+        showsPrec _ VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR+          = showString "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR"+        showsPrec _+          VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR+          = showString+              "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR"+        showsPrec _+          VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR+          = showString+              "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR"+        showsPrec _+          VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR+          = showString+              "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR"+        showsPrec _ VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR+          = showString "VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR"+        showsPrec p (VkSurfaceTransformBitmaskKHR x)+          = showParen (p >= 11)+              (showString "VkSurfaceTransformBitmaskKHR " . showsPrec 11 x)++instance Read (VkSurfaceTransformBitmaskKHR a) where+        readPrec+          = parens+              (choose+                 [("VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR",+                   pure VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR),+                  ("VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR",+                   pure VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR),+                  ("VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR",+                   pure VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR),+                  ("VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR",+                   pure VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR),+                  ("VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR",+                   pure VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR),+                  ("VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR",+                   pure VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR),+                  ("VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR",+                   pure VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR),+                  ("VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR",+                   pure VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR),+                  ("VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR",+                   pure VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR)]+                 ++++                 prec 10+                   (expectP (Ident "VkSurfaceTransformBitmaskKHR") >>+                      (VkSurfaceTransformBitmaskKHR <$> step readPrec)))++-- | bitpos = @0@+pattern VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR ::+        VkSurfaceTransformBitmaskKHR a++pattern VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR =+        VkSurfaceTransformBitmaskKHR 1++-- | bitpos = @1@+pattern VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR ::+        VkSurfaceTransformBitmaskKHR a++pattern VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR =+        VkSurfaceTransformBitmaskKHR 2++-- | bitpos = @2@+pattern VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR ::+        VkSurfaceTransformBitmaskKHR a++pattern VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR =+        VkSurfaceTransformBitmaskKHR 4++-- | bitpos = @3@+pattern VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR ::+        VkSurfaceTransformBitmaskKHR a++pattern VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR =+        VkSurfaceTransformBitmaskKHR 8++-- | bitpos = @4@+pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR ::+        VkSurfaceTransformBitmaskKHR a++pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR =+        VkSurfaceTransformBitmaskKHR 16++-- | bitpos = @5@+pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR ::+        VkSurfaceTransformBitmaskKHR a++pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR =+        VkSurfaceTransformBitmaskKHR 32++-- | bitpos = @6@+pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR+        :: VkSurfaceTransformBitmaskKHR a++pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR =+        VkSurfaceTransformBitmaskKHR 64++-- | bitpos = @7@+pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR+        :: VkSurfaceTransformBitmaskKHR a++pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR =+        VkSurfaceTransformBitmaskKHR 128++-- | bitpos = @8@+pattern VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR ::+        VkSurfaceTransformBitmaskKHR a++pattern VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR =+        VkSurfaceTransformBitmaskKHR 256
+ src-gen/Graphics/Vulkan/Types/Enum/VkSwapchainCreateFlagsKHR.hs view
@@ -0,0 +1,74 @@+{-# 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.VkSwapchainCreateFlagsKHR+       (VkSwapchainCreateBitmaskKHR(VkSwapchainCreateBitmaskKHR,+                                    VkSwapchainCreateFlagsKHR, VkSwapchainCreateFlagBitsKHR),+        VkSwapchainCreateFlagsKHR, VkSwapchainCreateFlagBitsKHR)+       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 VkSwapchainCreateBitmaskKHR (a ::+                                       FlagType) = VkSwapchainCreateBitmaskKHR VkFlags+                                                     deriving (Eq, Ord, Storable, Data, Generic)++type VkSwapchainCreateFlagsKHR =+     VkSwapchainCreateBitmaskKHR FlagMask++type VkSwapchainCreateFlagBitsKHR =+     VkSwapchainCreateBitmaskKHR FlagBit++pattern VkSwapchainCreateFlagBitsKHR ::+        VkFlags -> VkSwapchainCreateBitmaskKHR FlagBit++pattern VkSwapchainCreateFlagBitsKHR n =+        VkSwapchainCreateBitmaskKHR n++pattern VkSwapchainCreateFlagsKHR ::+        VkFlags -> VkSwapchainCreateBitmaskKHR FlagMask++pattern VkSwapchainCreateFlagsKHR n = VkSwapchainCreateBitmaskKHR n++deriving instance Bits (VkSwapchainCreateBitmaskKHR FlagMask)++deriving instance FiniteBits (VkSwapchainCreateBitmaskKHR FlagMask)++deriving instance Integral (VkSwapchainCreateBitmaskKHR FlagMask)++deriving instance Num (VkSwapchainCreateBitmaskKHR FlagMask)++deriving instance Bounded (VkSwapchainCreateBitmaskKHR FlagMask)++deriving instance Enum (VkSwapchainCreateBitmaskKHR FlagMask)++deriving instance Real (VkSwapchainCreateBitmaskKHR FlagMask)++instance Show (VkSwapchainCreateBitmaskKHR a) where+        showsPrec p (VkSwapchainCreateBitmaskKHR x)+          = showParen (p >= 11)+              (showString "VkSwapchainCreateBitmaskKHR " . showsPrec 11 x)++instance Read (VkSwapchainCreateBitmaskKHR a) where+        readPrec+          = parens+              (choose [] ++++                 prec 10+                   (expectP (Ident "VkSwapchainCreateBitmaskKHR") >>+                      (VkSwapchainCreateBitmaskKHR <$> step readPrec)))
+ src-gen/Graphics/Vulkan/Types/Enum/VkSystemAllocationScope.hs view
@@ -0,0 +1,92 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope+       (VkSystemAllocationScope(VkSystemAllocationScope,+                                VK_SYSTEM_ALLOCATION_SCOPE_COMMAND,+                                VK_SYSTEM_ALLOCATION_SCOPE_OBJECT,+                                VK_SYSTEM_ALLOCATION_SCOPE_CACHE,+                                VK_SYSTEM_ALLOCATION_SCOPE_DEVICE,+                                VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE))+       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.0-extensions/man/html/VkSystemAllocationScope.html VkSystemAllocationScope registry at www.khronos.org>+newtype VkSystemAllocationScope = VkSystemAllocationScope Int32+                                    deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkSystemAllocationScope where+        showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_COMMAND+          = showString "VK_SYSTEM_ALLOCATION_SCOPE_COMMAND"+        showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_OBJECT+          = showString "VK_SYSTEM_ALLOCATION_SCOPE_OBJECT"+        showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_CACHE+          = showString "VK_SYSTEM_ALLOCATION_SCOPE_CACHE"+        showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_DEVICE+          = showString "VK_SYSTEM_ALLOCATION_SCOPE_DEVICE"+        showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE+          = showString "VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE"+        showsPrec p (VkSystemAllocationScope x)+          = showParen (p >= 11)+              (showString "VkSystemAllocationScope " . showsPrec 11 x)++instance Read VkSystemAllocationScope where+        readPrec+          = parens+              (choose+                 [("VK_SYSTEM_ALLOCATION_SCOPE_COMMAND",+                   pure VK_SYSTEM_ALLOCATION_SCOPE_COMMAND),+                  ("VK_SYSTEM_ALLOCATION_SCOPE_OBJECT",+                   pure VK_SYSTEM_ALLOCATION_SCOPE_OBJECT),+                  ("VK_SYSTEM_ALLOCATION_SCOPE_CACHE",+                   pure VK_SYSTEM_ALLOCATION_SCOPE_CACHE),+                  ("VK_SYSTEM_ALLOCATION_SCOPE_DEVICE",+                   pure VK_SYSTEM_ALLOCATION_SCOPE_DEVICE),+                  ("VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE",+                   pure VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE)]+                 ++++                 prec 10+                   (expectP (Ident "VkSystemAllocationScope") >>+                      (VkSystemAllocationScope <$> step readPrec)))++pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND ::+        VkSystemAllocationScope++pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND =+        VkSystemAllocationScope 0++pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT ::+        VkSystemAllocationScope++pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT =+        VkSystemAllocationScope 1++pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE :: VkSystemAllocationScope++pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE =+        VkSystemAllocationScope 2++pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE ::+        VkSystemAllocationScope++pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE =+        VkSystemAllocationScope 3++pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE ::+        VkSystemAllocationScope++pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE =+        VkSystemAllocationScope 4
+ src-gen/Graphics/Vulkan/Types/Enum/VkTessellationDomainOriginKHR.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.VkTessellationDomainOriginKHR+       (VkTessellationDomainOriginKHR(VkTessellationDomainOriginKHR,+                                      VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR,+                                      VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR))+       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.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)++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)++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
+ src-gen/Graphics/Vulkan/Types/Enum/VkValidationCacheHeaderVersionEXT.hs view
@@ -0,0 +1,50 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkValidationCacheHeaderVersionEXT+       (VkValidationCacheHeaderVersionEXT(VkValidationCacheHeaderVersionEXT,+                                          VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT))+       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.0-extensions/man/html/VkValidationCacheHeaderVersionEXT.html VkValidationCacheHeaderVersionEXT registry at www.khronos.org>+newtype VkValidationCacheHeaderVersionEXT = VkValidationCacheHeaderVersionEXT Int32+                                              deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,+                                                        Generic)++instance Show VkValidationCacheHeaderVersionEXT where+        showsPrec _ VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT+          = showString "VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT"+        showsPrec p (VkValidationCacheHeaderVersionEXT x)+          = showParen (p >= 11)+              (showString "VkValidationCacheHeaderVersionEXT " . showsPrec 11 x)++instance Read VkValidationCacheHeaderVersionEXT where+        readPrec+          = parens+              (choose+                 [("VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT",+                   pure VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT)]+                 ++++                 prec 10+                   (expectP (Ident "VkValidationCacheHeaderVersionEXT") >>+                      (VkValidationCacheHeaderVersionEXT <$> step readPrec)))++pattern VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT ::+        VkValidationCacheHeaderVersionEXT++pattern VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT =+        VkValidationCacheHeaderVersionEXT 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkValidationCheckEXT.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.VkValidationCheckEXT+       (VkValidationCheckEXT(VkValidationCheckEXT,+                             VK_VALIDATION_CHECK_ALL_EXT, VK_VALIDATION_CHECK_SHADERS_EXT))+       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.0-extensions/man/html/VkValidationCheckEXT.html VkValidationCheckEXT registry at www.khronos.org>+newtype VkValidationCheckEXT = VkValidationCheckEXT Int32+                                 deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkValidationCheckEXT where+        showsPrec _ VK_VALIDATION_CHECK_ALL_EXT+          = showString "VK_VALIDATION_CHECK_ALL_EXT"+        showsPrec _ VK_VALIDATION_CHECK_SHADERS_EXT+          = showString "VK_VALIDATION_CHECK_SHADERS_EXT"+        showsPrec p (VkValidationCheckEXT x)+          = showParen (p >= 11)+              (showString "VkValidationCheckEXT " . showsPrec 11 x)++instance Read VkValidationCheckEXT where+        readPrec+          = parens+              (choose+                 [("VK_VALIDATION_CHECK_ALL_EXT", pure VK_VALIDATION_CHECK_ALL_EXT),+                  ("VK_VALIDATION_CHECK_SHADERS_EXT",+                   pure VK_VALIDATION_CHECK_SHADERS_EXT)]+                 ++++                 prec 10+                   (expectP (Ident "VkValidationCheckEXT") >>+                      (VkValidationCheckEXT <$> step readPrec)))++pattern VK_VALIDATION_CHECK_ALL_EXT :: VkValidationCheckEXT++pattern VK_VALIDATION_CHECK_ALL_EXT = VkValidationCheckEXT 0++pattern VK_VALIDATION_CHECK_SHADERS_EXT :: VkValidationCheckEXT++pattern VK_VALIDATION_CHECK_SHADERS_EXT = VkValidationCheckEXT 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkVertexInputRate.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.VkVertexInputRate+       (VkVertexInputRate(VkVertexInputRate, VK_VERTEX_INPUT_RATE_VERTEX,+                          VK_VERTEX_INPUT_RATE_INSTANCE))+       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.0-extensions/man/html/VkVertexInputRate.html VkVertexInputRate registry at www.khronos.org>+newtype VkVertexInputRate = VkVertexInputRate Int32+                              deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkVertexInputRate where+        showsPrec _ VK_VERTEX_INPUT_RATE_VERTEX+          = showString "VK_VERTEX_INPUT_RATE_VERTEX"+        showsPrec _ VK_VERTEX_INPUT_RATE_INSTANCE+          = showString "VK_VERTEX_INPUT_RATE_INSTANCE"+        showsPrec p (VkVertexInputRate x)+          = showParen (p >= 11)+              (showString "VkVertexInputRate " . showsPrec 11 x)++instance Read VkVertexInputRate where+        readPrec+          = parens+              (choose+                 [("VK_VERTEX_INPUT_RATE_VERTEX", pure VK_VERTEX_INPUT_RATE_VERTEX),+                  ("VK_VERTEX_INPUT_RATE_INSTANCE",+                   pure VK_VERTEX_INPUT_RATE_INSTANCE)]+                 ++++                 prec 10+                   (expectP (Ident "VkVertexInputRate") >>+                      (VkVertexInputRate <$> step readPrec)))++pattern VK_VERTEX_INPUT_RATE_VERTEX :: VkVertexInputRate++pattern VK_VERTEX_INPUT_RATE_VERTEX = VkVertexInputRate 0++pattern VK_VERTEX_INPUT_RATE_INSTANCE :: VkVertexInputRate++pattern VK_VERTEX_INPUT_RATE_INSTANCE = VkVertexInputRate 1
+ src-gen/Graphics/Vulkan/Types/Enum/VkViewportCoordinateSwizzleNV.hs view
@@ -0,0 +1,127 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds                  #-}+{-# LANGUAGE DeriveDataTypeable         #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms            #-}+{-# LANGUAGE Strict                     #-}+module Graphics.Vulkan.Types.Enum.VkViewportCoordinateSwizzleNV+       (VkViewportCoordinateSwizzleNV(VkViewportCoordinateSwizzleNV,+                                      VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV,+                                      VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV,+                                      VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV,+                                      VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV,+                                      VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV,+                                      VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV,+                                      VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV,+                                      VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV))+       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.0-extensions/man/html/VkViewportCoordinateSwizzleNV.html VkViewportCoordinateSwizzleNV registry at www.khronos.org>+newtype VkViewportCoordinateSwizzleNV = VkViewportCoordinateSwizzleNV Int32+                                          deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,+                                                    Generic)++instance Show VkViewportCoordinateSwizzleNV where+        showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV+          = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV"+        showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV+          = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV"+        showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV+          = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV"+        showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV+          = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV"+        showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV+          = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV"+        showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV+          = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV"+        showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV+          = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV"+        showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV+          = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV"+        showsPrec p (VkViewportCoordinateSwizzleNV x)+          = showParen (p >= 11)+              (showString "VkViewportCoordinateSwizzleNV " . showsPrec 11 x)++instance Read VkViewportCoordinateSwizzleNV where+        readPrec+          = parens+              (choose+                 [("VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV",+                   pure VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV),+                  ("VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV",+                   pure VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV),+                  ("VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV",+                   pure VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV),+                  ("VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV",+                   pure VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV),+                  ("VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV",+                   pure VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV),+                  ("VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV",+                   pure VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV),+                  ("VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV",+                   pure VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV),+                  ("VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV",+                   pure VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV)]+                 ++++                 prec 10+                   (expectP (Ident "VkViewportCoordinateSwizzleNV") >>+                      (VkViewportCoordinateSwizzleNV <$> step readPrec)))++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV ::+        VkViewportCoordinateSwizzleNV++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV =+        VkViewportCoordinateSwizzleNV 0++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV ::+        VkViewportCoordinateSwizzleNV++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV =+        VkViewportCoordinateSwizzleNV 1++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV ::+        VkViewportCoordinateSwizzleNV++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV =+        VkViewportCoordinateSwizzleNV 2++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV ::+        VkViewportCoordinateSwizzleNV++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV =+        VkViewportCoordinateSwizzleNV 3++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV ::+        VkViewportCoordinateSwizzleNV++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV =+        VkViewportCoordinateSwizzleNV 4++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV ::+        VkViewportCoordinateSwizzleNV++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV =+        VkViewportCoordinateSwizzleNV 5++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV ::+        VkViewportCoordinateSwizzleNV++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV =+        VkViewportCoordinateSwizzleNV 6++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV ::+        VkViewportCoordinateSwizzleNV++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV =+        VkViewportCoordinateSwizzleNV 7
+ src-gen/Graphics/Vulkan/Types/Funcpointers.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE Strict    #-}+module Graphics.Vulkan.Types.Funcpointers+       (PFN_vkAllocationFunction, HS_vkAllocationFunction,+        newVkAllocationFunction, unwrapVkAllocationFunction,+        PFN_vkDebugReportCallbackEXT, HS_vkDebugReportCallbackEXT,+        newVkDebugReportCallbackEXT, unwrapVkDebugReportCallbackEXT,+        PFN_vkFreeFunction, HS_vkFreeFunction, newVkFreeFunction,+        unwrapVkFreeFunction, PFN_vkInternalAllocationNotification,+        HS_vkInternalAllocationNotification,+        newVkInternalAllocationNotification,+        unwrapVkInternalAllocationNotification,+        PFN_vkInternalFreeNotification, HS_vkInternalFreeNotification,+        newVkInternalFreeNotification, unwrapVkInternalFreeNotification,+        PFN_vkReallocationFunction, HS_vkReallocationFunction,+        newVkReallocationFunction, unwrapVkReallocationFunction,+        PFN_vkVoidFunction, HS_vkVoidFunction, newVkVoidFunction,+        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 (..))++type HS_vkAllocationFunction =+     Ptr Void ->+       CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void)++-- | > typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(+--   >     void*                                       pUserData,+--   >     size_t                                      size,+--   >     size_t                                      alignment,+--   >     VkSystemAllocationScope                     allocationScope);+type PFN_vkAllocationFunction = FunPtr HS_vkAllocationFunction++-- | Wrap haskell function into C-callable FunPtr.+--   Note, you need to free resources after using it.+foreign import ccall "wrapper" newVkAllocationFunction ::+               HS_vkAllocationFunction -> IO PFN_vkAllocationFunction++foreign import ccall "dynamic" unwrapVkAllocationFunction ::+               PFN_vkAllocationFunction -> HS_vkAllocationFunction++type HS_vkDebugReportCallbackEXT =+     VkDebugReportFlagsEXT ->+       VkDebugReportObjectTypeEXT ->+         Word64 ->+           CSize -> Int32 -> CString -> CString -> Ptr Void -> IO VkBool32++-- | > 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);+type PFN_vkDebugReportCallbackEXT =+     FunPtr HS_vkDebugReportCallbackEXT++-- | Wrap haskell function into C-callable FunPtr.+--   Note, you need to free resources after using it.+foreign import ccall "wrapper" newVkDebugReportCallbackEXT ::+               HS_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT++foreign import ccall "dynamic" unwrapVkDebugReportCallbackEXT ::+               PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT++type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO ()++-- | > typedef void (VKAPI_PTR *PFN_vkFreeFunction)(+--   >     void*                                       pUserData,+--   >     void*                                       pMemory);+type PFN_vkFreeFunction = FunPtr HS_vkFreeFunction++-- | Wrap haskell function into C-callable FunPtr.+--   Note, you need to free resources after using it.+foreign import ccall "wrapper" newVkFreeFunction ::+               HS_vkFreeFunction -> IO PFN_vkFreeFunction++foreign import ccall "dynamic" unwrapVkFreeFunction ::+               PFN_vkFreeFunction -> HS_vkFreeFunction++type HS_vkInternalAllocationNotification =+     Ptr Void ->+       CSize ->+         VkInternalAllocationType -> VkSystemAllocationScope -> IO ()++-- | > typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(+--   >     void*                                       pUserData,+--   >     size_t                                      size,+--   >     VkInternalAllocationType                    allocationType,+--   >     VkSystemAllocationScope                     allocationScope);+type PFN_vkInternalAllocationNotification =+     FunPtr HS_vkInternalAllocationNotification++-- | Wrap haskell function into C-callable FunPtr.+--   Note, you need to free resources after using it.+foreign import ccall "wrapper" newVkInternalAllocationNotification+               ::+               HS_vkInternalAllocationNotification ->+                 IO PFN_vkInternalAllocationNotification++foreign import ccall "dynamic"+               unwrapVkInternalAllocationNotification ::+               PFN_vkInternalAllocationNotification ->+                 HS_vkInternalAllocationNotification++type HS_vkInternalFreeNotification =+     Ptr Void ->+       CSize ->+         VkInternalAllocationType -> VkSystemAllocationScope -> IO ()++-- | > typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(+--   >     void*                                       pUserData,+--   >     size_t                                      size,+--   >     VkInternalAllocationType                    allocationType,+--   >     VkSystemAllocationScope                     allocationScope);+type PFN_vkInternalFreeNotification =+     FunPtr HS_vkInternalFreeNotification++-- | Wrap haskell function into C-callable FunPtr.+--   Note, you need to free resources after using it.+foreign import ccall "wrapper" newVkInternalFreeNotification ::+               HS_vkInternalFreeNotification -> IO PFN_vkInternalFreeNotification++foreign import ccall "dynamic" unwrapVkInternalFreeNotification ::+               PFN_vkInternalFreeNotification -> HS_vkInternalFreeNotification++type HS_vkReallocationFunction =+     Ptr Void ->+       Ptr Void ->+         CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void)++-- | > typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(+--   >     void*                                       pUserData,+--   >     void*                                       pOriginal,+--   >     size_t                                      size,+--   >     size_t                                      alignment,+--   >     VkSystemAllocationScope                     allocationScope);+type PFN_vkReallocationFunction = FunPtr HS_vkReallocationFunction++-- | Wrap haskell function into C-callable FunPtr.+--   Note, you need to free resources after using it.+foreign import ccall "wrapper" newVkReallocationFunction ::+               HS_vkReallocationFunction -> IO PFN_vkReallocationFunction++foreign import ccall "dynamic" unwrapVkReallocationFunction ::+               PFN_vkReallocationFunction -> HS_vkReallocationFunction++type HS_vkVoidFunction = IO ()++-- | > typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);+type PFN_vkVoidFunction = FunPtr HS_vkVoidFunction++-- | Wrap haskell function into C-callable FunPtr.+--   Note, you need to free resources after using it.+foreign import ccall "wrapper" newVkVoidFunction ::+               HS_vkVoidFunction -> IO PFN_vkVoidFunction++foreign import ccall "dynamic" unwrapVkVoidFunction ::+               PFN_vkVoidFunction -> HS_vkVoidFunction
+ src-gen/Graphics/Vulkan/Types/Handles.hs view
@@ -0,0 +1,206 @@+{-# LANGUAGE DataKinds      #-}+{-# LANGUAGE EmptyDataDecls #-}+{-# LANGUAGE Strict         #-}+module Graphics.Vulkan.Types.Handles+       (VkBuffer, VkBuffer_T(), VkBufferView, VkBufferView_T(),+        VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool,+        VkCommandPool_T(), VkDebugReportCallbackEXT,+        VkDebugReportCallbackEXT_T(), VkDescriptorPool,+        VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSet_T(),+        VkDescriptorSetLayout, VkDescriptorSetLayout_T(),+        VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(),+        VkDevice, VkDevice_T(), VkDeviceMemory, VkDeviceMemory_T(),+        VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR,+        VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(),+        VkFramebuffer, VkFramebuffer_T(), VkImage, VkImage_T(),+        VkImageView, VkImageView_T(), VkIndirectCommandsLayoutNVX,+        VkIndirectCommandsLayoutNVX_T(), VkInstance, VkInstance_T(),+        VkObjectTableNVX, VkObjectTableNVX_T(), VkPhysicalDevice,+        VkPhysicalDevice_T(), VkPipeline, VkPipeline_T(), VkPipelineCache,+        VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(),+        VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(), VkRenderPass,+        VkRenderPass_T(), VkSampler, VkSampler_T(),+        VkSamplerYcbcrConversionKHR, VkSamplerYcbcrConversionKHR_T(),+        VkSemaphore, VkSemaphore_T(), VkShaderModule, VkShaderModule_T(),+        VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR, VkSwapchainKHR_T(),+        VkValidationCacheEXT, VkValidationCacheEXT_T())+       where+import           Graphics.Vulkan.Marshal (Ptr, VkPtr)++type VkBuffer = VkPtr VkBuffer_T++-- | Opaque data type referenced by VkBuffer+data VkBuffer_T++type VkBufferView = VkPtr VkBufferView_T++-- | Opaque data type referenced by VkBufferView+data VkBufferView_T++type VkCommandBuffer = Ptr VkCommandBuffer_T++-- | Opaque data type referenced by VkCommandBuffer+data VkCommandBuffer_T++type VkCommandPool = VkPtr VkCommandPool_T++-- | Opaque data type referenced by VkCommandPool+data VkCommandPool_T++type VkDebugReportCallbackEXT = VkPtr VkDebugReportCallbackEXT_T++-- | Opaque data type referenced by VkDebugReportCallbackEXT+data VkDebugReportCallbackEXT_T++type VkDescriptorPool = VkPtr VkDescriptorPool_T++-- | Opaque data type referenced by VkDescriptorPool+data VkDescriptorPool_T++type VkDescriptorSet = VkPtr VkDescriptorSet_T++-- | Opaque data type referenced by VkDescriptorSet+data VkDescriptorSet_T++type VkDescriptorSetLayout = VkPtr VkDescriptorSetLayout_T++-- | Opaque data type referenced by VkDescriptorSetLayout+data VkDescriptorSetLayout_T++type VkDescriptorUpdateTemplateKHR =+     VkPtr VkDescriptorUpdateTemplateKHR_T++-- | Opaque data type referenced by VkDescriptorUpdateTemplateKHR+data VkDescriptorUpdateTemplateKHR_T++type VkDevice = Ptr VkDevice_T++-- | Opaque data type referenced by VkDevice+data VkDevice_T++type VkDeviceMemory = VkPtr VkDeviceMemory_T++-- | Opaque data type referenced by VkDeviceMemory+data VkDeviceMemory_T++type VkDisplayKHR = VkPtr VkDisplayKHR_T++-- | Opaque data type referenced by VkDisplayKHR+data VkDisplayKHR_T++type VkDisplayModeKHR = VkPtr VkDisplayModeKHR_T++-- | Opaque data type referenced by VkDisplayModeKHR+data VkDisplayModeKHR_T++type VkEvent = VkPtr VkEvent_T++-- | Opaque data type referenced by VkEvent+data VkEvent_T++type VkFence = VkPtr VkFence_T++-- | Opaque data type referenced by VkFence+data VkFence_T++type VkFramebuffer = VkPtr VkFramebuffer_T++-- | Opaque data type referenced by VkFramebuffer+data VkFramebuffer_T++type VkImage = VkPtr VkImage_T++-- | Opaque data type referenced by VkImage+data VkImage_T++type VkImageView = VkPtr VkImageView_T++-- | Opaque data type referenced by VkImageView+data VkImageView_T++type VkIndirectCommandsLayoutNVX =+     VkPtr VkIndirectCommandsLayoutNVX_T++-- | Opaque data type referenced by VkIndirectCommandsLayoutNVX+data VkIndirectCommandsLayoutNVX_T++type VkInstance = Ptr VkInstance_T++-- | Opaque data type referenced by VkInstance+data VkInstance_T++type VkObjectTableNVX = VkPtr VkObjectTableNVX_T++-- | Opaque data type referenced by VkObjectTableNVX+data VkObjectTableNVX_T++type VkPhysicalDevice = Ptr VkPhysicalDevice_T++-- | Opaque data type referenced by VkPhysicalDevice+data VkPhysicalDevice_T++type VkPipeline = VkPtr VkPipeline_T++-- | Opaque data type referenced by VkPipeline+data VkPipeline_T++type VkPipelineCache = VkPtr VkPipelineCache_T++-- | Opaque data type referenced by VkPipelineCache+data VkPipelineCache_T++type VkPipelineLayout = VkPtr VkPipelineLayout_T++-- | Opaque data type referenced by VkPipelineLayout+data VkPipelineLayout_T++type VkQueryPool = VkPtr VkQueryPool_T++-- | Opaque data type referenced by VkQueryPool+data VkQueryPool_T++type VkQueue = Ptr VkQueue_T++-- | Opaque data type referenced by VkQueue+data VkQueue_T++type VkRenderPass = VkPtr VkRenderPass_T++-- | Opaque data type referenced by VkRenderPass+data VkRenderPass_T++type VkSampler = VkPtr VkSampler_T++-- | Opaque data type referenced by VkSampler+data VkSampler_T++type VkSamplerYcbcrConversionKHR =+     VkPtr VkSamplerYcbcrConversionKHR_T++-- | Opaque data type referenced by VkSamplerYcbcrConversionKHR+data VkSamplerYcbcrConversionKHR_T++type VkSemaphore = VkPtr VkSemaphore_T++-- | Opaque data type referenced by VkSemaphore+data VkSemaphore_T++type VkShaderModule = VkPtr VkShaderModule_T++-- | Opaque data type referenced by VkShaderModule+data VkShaderModule_T++type VkSurfaceKHR = VkPtr VkSurfaceKHR_T++-- | Opaque data type referenced by VkSurfaceKHR+data VkSurfaceKHR_T++type VkSwapchainKHR = VkPtr VkSwapchainKHR_T++-- | Opaque data type referenced by VkSwapchainKHR+data VkSwapchainKHR_T++type VkValidationCacheEXT = VkPtr VkValidationCacheEXT_T++-- | Opaque data type referenced by VkValidationCacheEXT+data VkValidationCacheEXT_T
+ src-gen/Graphics/Vulkan/Types/Include.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DataKinds      #-}+{-# LANGUAGE EmptyDataDecls #-}+{-# 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)+       where+import           Graphics.Vulkan.Marshal (CULong (..), CWchar (..), Ptr, Word32)++-- | Requires @android/native_window.h@+data ANativeWindow++-- | Requires @windows.h@+type DWORD = Word32++-- | Requires @X11/Xlib.h@+data Display++-- | Requires @windows.h@+type HANDLE = Ptr ()++-- | Requires @windows.h@+type HINSTANCE = Ptr ()++-- | Requires @windows.h@+type HWND = Ptr ()++-- | Requires @windows.h@+type LPCWSTR = Ptr CWchar++-- | Requires @mir_toolkit/client_types.h@+data MirConnection++-- | Requires @mir_toolkit/client_types.h@+data MirSurface++-- | Requires @X11/extensions/Xrandr.h@+type RROutput = CULong++-- | Requires @windows.h@+data SECURITY_ATTRIBUTES++-- | Requires @X11/Xlib.h@+type VisualID = CULong++-- | Requires @X11/Xlib.h@+type Window = CULong++-- | Requires @wayland-client.h@+data WlDisplay++-- | Requires @wayland-client.h@+data WlSurface++-- | Requires @xcb/xcb.h@+data XcbConnectionT++-- | Requires @xcb/xcb.h@+type XcbVisualidT = CULong++-- | Requires @xcb/xcb.h@+type XcbWindowT = CULong
+ src-gen/Graphics/Vulkan/Types/Struct/VkAcquireNextImageInfoKHX.hsc view
@@ -0,0 +1,435 @@+#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
@@ -0,0 +1,397 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks+       (VkAllocationCallbacks(..)) where+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)++-- | > typedef struct VkAllocationCallbacks {+--   >     void*           pUserData;+--   >     PFN_vkAllocationFunction   pfnAllocation;+--   >     PFN_vkReallocationFunction pfnReallocation;+--   >     PFN_vkFreeFunction    pfnFree;+--   >     PFN_vkInternalAllocationNotification pfnInternalAllocation;+--   >     PFN_vkInternalFreeNotification pfnInternalFree;+--   > } VkAllocationCallbacks;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkAllocationCallbacks.html VkAllocationCallbacks registry at www.khronos.org>+data VkAllocationCallbacks = VkAllocationCallbacks## Addr##+                                                    ByteArray##++instance Eq VkAllocationCallbacks where+        (VkAllocationCallbacks## a _) == x@(VkAllocationCallbacks## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkAllocationCallbacks where+        (VkAllocationCallbacks## a _) `compare`+          x@(VkAllocationCallbacks## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkAllocationCallbacks where+        sizeOf ~_ = #{size VkAllocationCallbacks}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkAllocationCallbacks}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkAllocationCallbacks where+        unsafeAddr (VkAllocationCallbacks## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkAllocationCallbacks## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkAllocationCallbacks## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkAllocationCallbacks where+        type StructFields VkAllocationCallbacks =+             '["pUserData", "pfnAllocation", "pfnReallocation", "pfnFree", -- ' closing tick for hsc2hs+               "pfnInternalAllocation", "pfnInternalFree"]+        type CUnionType VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "pUserData" VkAllocationCallbacks = 'True -- ' closing tick for hsc2hs+        type FieldOffset "pUserData" VkAllocationCallbacks =+             #{offset VkAllocationCallbacks, pUserData}+        type FieldIsArray "pUserData" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnAllocation})++        {-# INLINE vkPfnAllocationByteOffset #-}+        vkPfnAllocationByteOffset ~_+          = #{offset VkAllocationCallbacks, pfnAllocation}++        {-# INLINE readVkPfnAllocation #-}+        readVkPfnAllocation p+          = peekByteOff p #{offset VkAllocationCallbacks, pfnAllocation}++        {-# INLINE writeVkPfnAllocation #-}+        writeVkPfnAllocation p+          = pokeByteOff p #{offset VkAllocationCallbacks, pfnAllocation}++instance {-# OVERLAPPING #-}+         HasField "pfnAllocation" VkAllocationCallbacks where+        type FieldType "pfnAllocation" VkAllocationCallbacks =+             PFN_vkAllocationFunction+        type FieldOptional "pfnAllocation" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pfnAllocation" VkAllocationCallbacks =+             #{offset VkAllocationCallbacks, pfnAllocation}+        type FieldIsArray "pfnAllocation" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnReallocation})++        {-# INLINE vkPfnReallocationByteOffset #-}+        vkPfnReallocationByteOffset ~_+          = #{offset VkAllocationCallbacks, pfnReallocation}++        {-# INLINE readVkPfnReallocation #-}+        readVkPfnReallocation p+          = peekByteOff p #{offset VkAllocationCallbacks, pfnReallocation}++        {-# INLINE writeVkPfnReallocation #-}+        writeVkPfnReallocation p+          = pokeByteOff p #{offset VkAllocationCallbacks, pfnReallocation}++instance {-# OVERLAPPING #-}+         HasField "pfnReallocation" VkAllocationCallbacks where+        type FieldType "pfnReallocation" VkAllocationCallbacks =+             PFN_vkReallocationFunction+        type FieldOptional "pfnReallocation" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pfnReallocation" VkAllocationCallbacks =+             #{offset VkAllocationCallbacks, pfnReallocation}+        type FieldIsArray "pfnReallocation" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAllocationCallbacks, pfnReallocation}++instance CanReadField "pfnReallocation" VkAllocationCallbacks where+        {-# INLINE getField #-}+        getField = vkPfnReallocation++        {-# INLINE readField #-}+        readField = readVkPfnReallocation++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pfnFree" VkAllocationCallbacks where+        type FieldType "pfnFree" VkAllocationCallbacks = PFN_vkFreeFunction+        type FieldOptional "pfnFree" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pfnFree" VkAllocationCallbacks =+             #{offset VkAllocationCallbacks, pfnFree}+        type FieldIsArray "pfnFree" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# 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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnInternalAllocation})++        {-# INLINE vkPfnInternalAllocationByteOffset #-}+        vkPfnInternalAllocationByteOffset ~_+          = #{offset VkAllocationCallbacks, pfnInternalAllocation}++        {-# INLINE readVkPfnInternalAllocation #-}+        readVkPfnInternalAllocation p+          = peekByteOff p #{offset VkAllocationCallbacks, pfnInternalAllocation}++        {-# INLINE writeVkPfnInternalAllocation #-}+        writeVkPfnInternalAllocation p+          = pokeByteOff p #{offset VkAllocationCallbacks, pfnInternalAllocation}++instance {-# OVERLAPPING #-}+         HasField "pfnInternalAllocation" VkAllocationCallbacks where+        type FieldType "pfnInternalAllocation" VkAllocationCallbacks =+             PFN_vkInternalAllocationNotification+        type FieldOptional "pfnInternalAllocation" VkAllocationCallbacks =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "pfnInternalAllocation" VkAllocationCallbacks =+             #{offset VkAllocationCallbacks, pfnInternalAllocation}+        type FieldIsArray "pfnInternalAllocation" VkAllocationCallbacks =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnInternalFree})++        {-# INLINE vkPfnInternalFreeByteOffset #-}+        vkPfnInternalFreeByteOffset ~_+          = #{offset VkAllocationCallbacks, pfnInternalFree}++        {-# INLINE readVkPfnInternalFree #-}+        readVkPfnInternalFree p+          = peekByteOff p #{offset VkAllocationCallbacks, pfnInternalFree}++        {-# INLINE writeVkPfnInternalFree #-}+        writeVkPfnInternalFree p+          = pokeByteOff p #{offset VkAllocationCallbacks, pfnInternalFree}++instance {-# OVERLAPPING #-}+         HasField "pfnInternalFree" VkAllocationCallbacks where+        type FieldType "pfnInternalFree" VkAllocationCallbacks =+             PFN_vkInternalFreeNotification+        type FieldOptional "pfnInternalFree" VkAllocationCallbacks = 'True -- ' closing tick for hsc2hs+        type FieldOffset "pfnInternalFree" VkAllocationCallbacks =+             #{offset VkAllocationCallbacks, pfnInternalFree}+        type FieldIsArray "pfnInternalFree" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAllocationCallbacks, pfnInternalFree}++instance CanReadField "pfnInternalFree" VkAllocationCallbacks where+        {-# INLINE getField #-}+        getField = vkPfnInternalFree++        {-# INLINE readField #-}+        readField = readVkPfnInternalFree++instance CanWriteField "pfnInternalFree" VkAllocationCallbacks+         where+        {-# INLINE writeField #-}+        writeField = writeVkPfnInternalFree++instance Show VkAllocationCallbacks where+        showsPrec d x+          = showString "VkAllocationCallbacks {" .+              showString "vkPUserData = " .+                showsPrec d (vkPUserData x) .+                  showString ", " .+                    showString "vkPfnAllocation = " .+                      showsPrec d (vkPfnAllocation x) .+                        showString ", " .+                          showString "vkPfnReallocation = " .+                            showsPrec d (vkPfnReallocation x) .+                              showString ", " .+                                showString "vkPfnFree = " .+                                  showsPrec d (vkPfnFree x) .+                                    showString ", " .+                                      showString "vkPfnInternalAllocation = " .+                                        showsPrec d (vkPfnInternalAllocation x) .+                                          showString ", " .+                                            showString "vkPfnInternalFree = " .+                                              showsPrec d (vkPfnInternalFree x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkAndroidSurfaceCreateInfoKHR.hsc view
@@ -0,0 +1,286 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkAndroidSurfaceCreateInfoKHR+       (VkAndroidSurfaceCreateInfoKHR(..)) where+import           Foreign.Storable                           (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Bitmasks             (VkAndroidSurfaceCreateFlagsKHR)+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;+--   > } VkAndroidSurfaceCreateInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkAndroidSurfaceCreateInfoKHR.html VkAndroidSurfaceCreateInfoKHR registry at www.khronos.org>+data VkAndroidSurfaceCreateInfoKHR = VkAndroidSurfaceCreateInfoKHR## Addr##+                                                                    ByteArray##++instance Eq VkAndroidSurfaceCreateInfoKHR where+        (VkAndroidSurfaceCreateInfoKHR## a _) ==+          x@(VkAndroidSurfaceCreateInfoKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkAndroidSurfaceCreateInfoKHR where+        (VkAndroidSurfaceCreateInfoKHR## a _) `compare`+          x@(VkAndroidSurfaceCreateInfoKHR## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkAndroidSurfaceCreateInfoKHR where+        sizeOf ~_ = #{size VkAndroidSurfaceCreateInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkAndroidSurfaceCreateInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkAndroidSurfaceCreateInfoKHR where+        unsafeAddr (VkAndroidSurfaceCreateInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkAndroidSurfaceCreateInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkAndroidSurfaceCreateInfoKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkAndroidSurfaceCreateInfoKHR where+        type StructFields VkAndroidSurfaceCreateInfoKHR =+             '["sType", "pNext", "flags", "window"] -- ' closing tick for hsc2hs+        type CUnionType VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkAndroidSurfaceCreateInfoKHR =+             #{offset VkAndroidSurfaceCreateInfoKHR, sType}+        type FieldIsArray "sType" VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAndroidSurfaceCreateInfoKHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkAndroidSurfaceCreateInfoKHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkAndroidSurfaceCreateInfoKHR where+        type FieldType "pNext" VkAndroidSurfaceCreateInfoKHR = Ptr Void+        type FieldOptional "pNext" VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkAndroidSurfaceCreateInfoKHR =+             #{offset VkAndroidSurfaceCreateInfoKHR, pNext}+        type FieldIsArray "pNext" VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAndroidSurfaceCreateInfoKHR, flags})++        {-# INLINE vkFlagsByteOffset #-}+        vkFlagsByteOffset ~_+          = #{offset VkAndroidSurfaceCreateInfoKHR, flags}++        {-# INLINE readVkFlags #-}+        readVkFlags p+          = peekByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, flags}++        {-# INLINE writeVkFlags #-}+        writeVkFlags p+          = pokeByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+         HasField "flags" VkAndroidSurfaceCreateInfoKHR where+        type FieldType "flags" VkAndroidSurfaceCreateInfoKHR =+             VkAndroidSurfaceCreateFlagsKHR+        type FieldOptional "flags" VkAndroidSurfaceCreateInfoKHR = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkAndroidSurfaceCreateInfoKHR =+             #{offset VkAndroidSurfaceCreateInfoKHR, flags}+        type FieldIsArray "flags" VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAndroidSurfaceCreateInfoKHR, window})++        {-# INLINE vkWindowByteOffset #-}+        vkWindowByteOffset ~_+          = #{offset VkAndroidSurfaceCreateInfoKHR, window}++        {-# INLINE readVkWindow #-}+        readVkWindow p+          = peekByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, window}++        {-# INLINE writeVkWindow #-}+        writeVkWindow p+          = pokeByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, window}++instance {-# OVERLAPPING #-}+         HasField "window" VkAndroidSurfaceCreateInfoKHR where+        type FieldType "window" VkAndroidSurfaceCreateInfoKHR =+             Ptr ANativeWindow+        type FieldOptional "window" VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "window" VkAndroidSurfaceCreateInfoKHR =+             #{offset VkAndroidSurfaceCreateInfoKHR, window}+        type FieldIsArray "window" VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAndroidSurfaceCreateInfoKHR, window}++instance CanReadField "window" VkAndroidSurfaceCreateInfoKHR where+        {-# INLINE getField #-}+        getField = vkWindow++        {-# INLINE readField #-}+        readField = readVkWindow++instance CanWriteField "window" VkAndroidSurfaceCreateInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkWindow++instance Show VkAndroidSurfaceCreateInfoKHR where+        showsPrec d x+          = showString "VkAndroidSurfaceCreateInfoKHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFlags = " .+                            showsPrec d (vkFlags x) .+                              showString ", " .+                                showString "vkWindow = " . showsPrec d (vkWindow x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkApplicationInfo.hsc view
@@ -0,0 +1,423 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkApplicationInfo+       (VkApplicationInfo(..)) 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.StructMembers+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkApplicationInfo {+--   >     VkStructureType sType;+--   >     const void*     pNext;+--   >     const char*     pApplicationName;+--   >     uint32_t        applicationVersion;+--   >     const char*     pEngineName;+--   >     uint32_t        engineVersion;+--   >     uint32_t        apiVersion;+--   > } VkApplicationInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkApplicationInfo.html VkApplicationInfo registry at www.khronos.org>+data VkApplicationInfo = VkApplicationInfo## Addr## ByteArray##++instance Eq VkApplicationInfo where+        (VkApplicationInfo## a _) == x@(VkApplicationInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkApplicationInfo where+        (VkApplicationInfo## a _) `compare` x@(VkApplicationInfo## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkApplicationInfo where+        sizeOf ~_ = #{size VkApplicationInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkApplicationInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkApplicationInfo where+        unsafeAddr (VkApplicationInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkApplicationInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkApplicationInfo## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkApplicationInfo where+        type StructFields VkApplicationInfo =+             '["sType", "pNext", "pApplicationName", "applicationVersion", -- ' closing tick for hsc2hs+               "pEngineName", "engineVersion", "apiVersion"]+        type CUnionType VkApplicationInfo = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkApplicationInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkApplicationInfo =+             #{offset VkApplicationInfo, sType}+        type FieldIsArray "sType" VkApplicationInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkApplicationInfo, sType}++instance CanReadField "sType" VkApplicationInfo where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-} HasField "pNext" VkApplicationInfo+         where+        type FieldType "pNext" VkApplicationInfo = Ptr Void+        type FieldOptional "pNext" VkApplicationInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkApplicationInfo =+             #{offset VkApplicationInfo, pNext}+        type FieldIsArray "pNext" VkApplicationInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkApplicationInfo, pNext}++instance CanReadField "pNext" VkApplicationInfo where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkApplicationInfo where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++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}++instance {-# OVERLAPPING #-}+         HasField "pApplicationName" VkApplicationInfo where+        type FieldType "pApplicationName" VkApplicationInfo = CString+        type FieldOptional "pApplicationName" VkApplicationInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "pApplicationName" VkApplicationInfo =+             #{offset VkApplicationInfo, pApplicationName}+        type FieldIsArray "pApplicationName" VkApplicationInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, applicationVersion})++        {-# INLINE vkApplicationVersionByteOffset #-}+        vkApplicationVersionByteOffset ~_+          = #{offset VkApplicationInfo, applicationVersion}++        {-# INLINE readVkApplicationVersion #-}+        readVkApplicationVersion p+          = peekByteOff p #{offset VkApplicationInfo, applicationVersion}++        {-# INLINE writeVkApplicationVersion #-}+        writeVkApplicationVersion p+          = pokeByteOff p #{offset VkApplicationInfo, applicationVersion}++instance {-# OVERLAPPING #-}+         HasField "applicationVersion" VkApplicationInfo where+        type FieldType "applicationVersion" VkApplicationInfo = Word32+        type FieldOptional "applicationVersion" VkApplicationInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "applicationVersion" VkApplicationInfo =+             #{offset VkApplicationInfo, applicationVersion}+        type FieldIsArray "applicationVersion" VkApplicationInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkApplicationInfo, applicationVersion}++instance CanReadField "applicationVersion" VkApplicationInfo where+        {-# INLINE getField #-}+        getField = vkApplicationVersion++        {-# INLINE readField #-}+        readField = readVkApplicationVersion++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pEngineName" VkApplicationInfo where+        type FieldType "pEngineName" VkApplicationInfo = CString+        type FieldOptional "pEngineName" VkApplicationInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "pEngineName" VkApplicationInfo =+             #{offset VkApplicationInfo, pEngineName}+        type FieldIsArray "pEngineName" VkApplicationInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkApplicationInfo, pEngineName}++instance CanReadField "pEngineName" VkApplicationInfo where+        {-# INLINE getField #-}+        getField = vkPEngineName++        {-# INLINE readField #-}+        readField = readVkPEngineName++instance 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}++instance {-# OVERLAPPING #-}+         HasField "engineVersion" VkApplicationInfo where+        type FieldType "engineVersion" VkApplicationInfo = Word32+        type FieldOptional "engineVersion" VkApplicationInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "engineVersion" VkApplicationInfo =+             #{offset VkApplicationInfo, engineVersion}+        type FieldIsArray "engineVersion" VkApplicationInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkApplicationInfo, engineVersion}++instance CanReadField "engineVersion" VkApplicationInfo where+        {-# INLINE getField #-}+        getField = vkEngineVersion++        {-# INLINE readField #-}+        readField = readVkEngineVersion++instance 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}++instance {-# OVERLAPPING #-}+         HasField "apiVersion" VkApplicationInfo where+        type FieldType "apiVersion" VkApplicationInfo = Word32+        type FieldOptional "apiVersion" VkApplicationInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "apiVersion" VkApplicationInfo =+             #{offset VkApplicationInfo, apiVersion}+        type FieldIsArray "apiVersion" VkApplicationInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkApplicationInfo, apiVersion}++instance CanReadField "apiVersion" VkApplicationInfo where+        {-# INLINE getField #-}+        getField = vkApiVersion++        {-# INLINE readField #-}+        readField = readVkApiVersion++instance CanWriteField "apiVersion" VkApplicationInfo where+        {-# INLINE writeField #-}+        writeField = writeVkApiVersion++instance Show VkApplicationInfo where+        showsPrec d x+          = showString "VkApplicationInfo {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkPApplicationName = " .+                            showsPrec d (vkPApplicationName x) .+                              showString ", " .+                                showString "vkApplicationVersion = " .+                                  showsPrec d (vkApplicationVersion x) .+                                    showString ", " .+                                      showString "vkPEngineName = " .+                                        showsPrec d (vkPEngineName x) .+                                          showString ", " .+                                            showString "vkEngineVersion = " .+                                              showsPrec d (vkEngineVersion x) .+                                                showString ", " .+                                                  showString "vkApiVersion = " .+                                                    showsPrec d (vkApiVersion x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkAttachmentDescription.hsc view
@@ -0,0 +1,551 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkAttachmentDescription+       (VkAttachmentDescription(..)) where+import           Foreign.Storable                                        (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkAttachmentDescriptionFlags (VkAttachmentDescriptionFlags)+import           Graphics.Vulkan.Types.Enum.VkAttachmentLoadOp           (VkAttachmentLoadOp)+import           Graphics.Vulkan.Types.Enum.VkAttachmentStoreOp          (VkAttachmentStoreOp)+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 {+--   >     VkAttachmentDescriptionFlags flags;+--   >     VkFormat               format;+--   >     VkSampleCountFlagBits  samples;+--   >     VkAttachmentLoadOp     loadOp;+--   >     VkAttachmentStoreOp    storeOp;+--   >     VkAttachmentLoadOp     stencilLoadOp;+--   >     VkAttachmentStoreOp    stencilStoreOp;+--   >     VkImageLayout          initialLayout;+--   >     VkImageLayout          finalLayout;+--   > } VkAttachmentDescription;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkAttachmentDescription.html VkAttachmentDescription registry at www.khronos.org>+data VkAttachmentDescription = VkAttachmentDescription## Addr##+                                                        ByteArray##++instance Eq VkAttachmentDescription where+        (VkAttachmentDescription## a _) == x@(VkAttachmentDescription## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkAttachmentDescription where+        (VkAttachmentDescription## a _) `compare`+          x@(VkAttachmentDescription## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkAttachmentDescription where+        sizeOf ~_ = #{size VkAttachmentDescription}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkAttachmentDescription}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkAttachmentDescription where+        unsafeAddr (VkAttachmentDescription## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkAttachmentDescription## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkAttachmentDescription## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkAttachmentDescription where+        type StructFields VkAttachmentDescription =+             '["flags", "format", "samples", "loadOp", "storeOp", -- ' closing tick for hsc2hs+               "stencilLoadOp", "stencilStoreOp", "initialLayout", "finalLayout"]+        type CUnionType VkAttachmentDescription = 'False -- ' closing tick for hsc2hs+        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 =+             VkAttachmentDescriptionFlags+        type FieldOptional "flags" VkAttachmentDescription = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkAttachmentDescription =+             #{offset VkAttachmentDescription, flags}+        type FieldIsArray "flags" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkAttachmentDescription, flags}++instance CanReadField "flags" VkAttachmentDescription where+        {-# INLINE getField #-}+        getField = vkFlags++        {-# INLINE readField #-}+        readField = readVkFlags++instance 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}++instance {-# OVERLAPPING #-}+         HasField "format" VkAttachmentDescription where+        type FieldType "format" VkAttachmentDescription = VkFormat+        type FieldOptional "format" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs+        type FieldOffset "format" VkAttachmentDescription =+             #{offset VkAttachmentDescription, format}+        type FieldIsArray "format" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkAttachmentDescription, format}++instance CanReadField "format" VkAttachmentDescription where+        {-# INLINE getField #-}+        getField = vkFormat++        {-# INLINE readField #-}+        readField = readVkFormat++instance 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}++instance {-# OVERLAPPING #-}+         HasField "samples" VkAttachmentDescription where+        type FieldType "samples" VkAttachmentDescription =+             VkSampleCountFlagBits+        type FieldOptional "samples" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs+        type FieldOffset "samples" VkAttachmentDescription =+             #{offset VkAttachmentDescription, samples}+        type FieldIsArray "samples" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAttachmentDescription, samples}++instance CanReadField "samples" VkAttachmentDescription where+        {-# INLINE getField #-}+        getField = vkSamples++        {-# INLINE readField #-}+        readField = readVkSamples++instance 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}++instance {-# OVERLAPPING #-}+         HasField "loadOp" VkAttachmentDescription where+        type FieldType "loadOp" VkAttachmentDescription =+             VkAttachmentLoadOp+        type FieldOptional "loadOp" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs+        type FieldOffset "loadOp" VkAttachmentDescription =+             #{offset VkAttachmentDescription, loadOp}+        type FieldIsArray "loadOp" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkAttachmentDescription, loadOp}++instance CanReadField "loadOp" VkAttachmentDescription where+        {-# INLINE getField #-}+        getField = vkLoadOp++        {-# INLINE readField #-}+        readField = readVkLoadOp++instance 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}++instance {-# OVERLAPPING #-}+         HasField "storeOp" VkAttachmentDescription where+        type FieldType "storeOp" VkAttachmentDescription =+             VkAttachmentStoreOp+        type FieldOptional "storeOp" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs+        type FieldOffset "storeOp" VkAttachmentDescription =+             #{offset VkAttachmentDescription, storeOp}+        type FieldIsArray "storeOp" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, stencilLoadOp})++        {-# INLINE vkStencilLoadOpByteOffset #-}+        vkStencilLoadOpByteOffset ~_+          = #{offset VkAttachmentDescription, stencilLoadOp}++        {-# INLINE readVkStencilLoadOp #-}+        readVkStencilLoadOp p+          = peekByteOff p #{offset VkAttachmentDescription, stencilLoadOp}++        {-# INLINE writeVkStencilLoadOp #-}+        writeVkStencilLoadOp p+          = pokeByteOff p #{offset VkAttachmentDescription, stencilLoadOp}++instance {-# OVERLAPPING #-}+         HasField "stencilLoadOp" VkAttachmentDescription where+        type FieldType "stencilLoadOp" VkAttachmentDescription =+             VkAttachmentLoadOp+        type FieldOptional "stencilLoadOp" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs+        type FieldOffset "stencilLoadOp" VkAttachmentDescription =+             #{offset VkAttachmentDescription, stencilLoadOp}+        type FieldIsArray "stencilLoadOp" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, stencilStoreOp})++        {-# INLINE vkStencilStoreOpByteOffset #-}+        vkStencilStoreOpByteOffset ~_+          = #{offset VkAttachmentDescription, stencilStoreOp}++        {-# INLINE readVkStencilStoreOp #-}+        readVkStencilStoreOp p+          = peekByteOff p #{offset VkAttachmentDescription, stencilStoreOp}++        {-# INLINE writeVkStencilStoreOp #-}+        writeVkStencilStoreOp p+          = pokeByteOff p #{offset VkAttachmentDescription, stencilStoreOp}++instance {-# OVERLAPPING #-}+         HasField "stencilStoreOp" VkAttachmentDescription where+        type FieldType "stencilStoreOp" VkAttachmentDescription =+             VkAttachmentStoreOp+        type FieldOptional "stencilStoreOp" VkAttachmentDescription =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "stencilStoreOp" VkAttachmentDescription =+             #{offset VkAttachmentDescription, stencilStoreOp}+        type FieldIsArray "stencilStoreOp" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, initialLayout})++        {-# INLINE vkInitialLayoutByteOffset #-}+        vkInitialLayoutByteOffset ~_+          = #{offset VkAttachmentDescription, initialLayout}++        {-# INLINE readVkInitialLayout #-}+        readVkInitialLayout p+          = peekByteOff p #{offset VkAttachmentDescription, initialLayout}++        {-# INLINE writeVkInitialLayout #-}+        writeVkInitialLayout p+          = pokeByteOff p #{offset VkAttachmentDescription, initialLayout}++instance {-# OVERLAPPING #-}+         HasField "initialLayout" VkAttachmentDescription where+        type FieldType "initialLayout" VkAttachmentDescription =+             VkImageLayout+        type FieldOptional "initialLayout" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs+        type FieldOffset "initialLayout" VkAttachmentDescription =+             #{offset VkAttachmentDescription, initialLayout}+        type FieldIsArray "initialLayout" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, finalLayout})++        {-# INLINE vkFinalLayoutByteOffset #-}+        vkFinalLayoutByteOffset ~_+          = #{offset VkAttachmentDescription, finalLayout}++        {-# INLINE readVkFinalLayout #-}+        readVkFinalLayout p+          = peekByteOff p #{offset VkAttachmentDescription, finalLayout}++        {-# INLINE writeVkFinalLayout #-}+        writeVkFinalLayout p+          = pokeByteOff p #{offset VkAttachmentDescription, finalLayout}++instance {-# OVERLAPPING #-}+         HasField "finalLayout" VkAttachmentDescription where+        type FieldType "finalLayout" VkAttachmentDescription =+             VkImageLayout+        type FieldOptional "finalLayout" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs+        type FieldOffset "finalLayout" VkAttachmentDescription =+             #{offset VkAttachmentDescription, finalLayout}+        type FieldIsArray "finalLayout" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAttachmentDescription, finalLayout}++instance CanReadField "finalLayout" VkAttachmentDescription where+        {-# INLINE getField #-}+        getField = vkFinalLayout++        {-# INLINE readField #-}+        readField = readVkFinalLayout++instance CanWriteField "finalLayout" VkAttachmentDescription where+        {-# INLINE writeField #-}+        writeField = writeVkFinalLayout++instance Show VkAttachmentDescription where+        showsPrec d x+          = showString "VkAttachmentDescription {" .+              showString "vkFlags = " .+                showsPrec d (vkFlags x) .+                  showString ", " .+                    showString "vkFormat = " .+                      showsPrec d (vkFormat x) .+                        showString ", " .+                          showString "vkSamples = " .+                            showsPrec d (vkSamples x) .+                              showString ", " .+                                showString "vkLoadOp = " .+                                  showsPrec d (vkLoadOp x) .+                                    showString ", " .+                                      showString "vkStoreOp = " .+                                        showsPrec d (vkStoreOp x) .+                                          showString ", " .+                                            showString "vkStencilLoadOp = " .+                                              showsPrec d (vkStencilLoadOp x) .+                                                showString ", " .+                                                  showString "vkStencilStoreOp = " .+                                                    showsPrec d (vkStencilStoreOp x) .+                                                      showString ", " .+                                                        showString "vkInitialLayout = " .+                                                          showsPrec d (vkInitialLayout x) .+                                                            showString ", " .+                                                              showString "vkFinalLayout = " .+                                                                showsPrec d (vkFinalLayout x) .+                                                                  showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkAttachmentReference.hsc view
@@ -0,0 +1,171 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkAttachmentReference+       (VkAttachmentReference(..)) where+import           Foreign.Storable                         (Storable (..))+import           GHC.Prim+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 {+--   >     uint32_t               attachment;+--   >     VkImageLayout          layout;+--   > } VkAttachmentReference;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkAttachmentReference.html VkAttachmentReference registry at www.khronos.org>+data VkAttachmentReference = VkAttachmentReference## Addr##+                                                    ByteArray##++instance Eq VkAttachmentReference where+        (VkAttachmentReference## a _) == x@(VkAttachmentReference## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkAttachmentReference where+        (VkAttachmentReference## a _) `compare`+          x@(VkAttachmentReference## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkAttachmentReference where+        sizeOf ~_ = #{size VkAttachmentReference}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkAttachmentReference}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkAttachmentReference where+        unsafeAddr (VkAttachmentReference## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkAttachmentReference## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkAttachmentReference## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkAttachmentReference where+        type StructFields VkAttachmentReference = '["attachment", "layout"] -- ' closing tick for hsc2hs+        type CUnionType VkAttachmentReference = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "attachment" VkAttachmentReference = 'False -- ' closing tick for hsc2hs+        type FieldOffset "attachment" VkAttachmentReference =+             #{offset VkAttachmentReference, attachment}+        type FieldIsArray "attachment" VkAttachmentReference = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAttachmentReference, attachment}++instance CanReadField "attachment" VkAttachmentReference where+        {-# INLINE getField #-}+        getField = vkAttachment++        {-# INLINE readField #-}+        readField = readVkAttachment++instance 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}++instance {-# OVERLAPPING #-}+         HasField "layout" VkAttachmentReference where+        type FieldType "layout" VkAttachmentReference = VkImageLayout+        type FieldOptional "layout" VkAttachmentReference = 'False -- ' closing tick for hsc2hs+        type FieldOffset "layout" VkAttachmentReference =+             #{offset VkAttachmentReference, layout}+        type FieldIsArray "layout" VkAttachmentReference = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkAttachmentReference, layout}++instance CanReadField "layout" VkAttachmentReference where+        {-# INLINE getField #-}+        getField = vkLayout++        {-# INLINE readField #-}+        readField = readVkLayout++instance CanWriteField "layout" VkAttachmentReference where+        {-# INLINE writeField #-}+        writeField = writeVkLayout++instance Show VkAttachmentReference where+        showsPrec d x+          = showString "VkAttachmentReference {" .+              showString "vkAttachment = " .+                showsPrec d (vkAttachment x) .+                  showString ", " .+                    showString "vkLayout = " . showsPrec d (vkLayout x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkAttachmentSampleLocationsEXT.hsc view
@@ -0,0 +1,197 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkAttachmentSampleLocationsEXT+       (VkAttachmentSampleLocationsEXT(..)) where+import           Foreign.Storable                                      (Storable (..))+import           GHC.Prim+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 {+--   >     uint32_t                         attachmentIndex;+--   >     VkSampleLocationsInfoEXT         sampleLocationsInfo;+--   > } VkAttachmentSampleLocationsEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkAttachmentSampleLocationsEXT.html VkAttachmentSampleLocationsEXT registry at www.khronos.org>+data VkAttachmentSampleLocationsEXT = VkAttachmentSampleLocationsEXT## Addr##+                                                                      ByteArray##++instance Eq VkAttachmentSampleLocationsEXT where+        (VkAttachmentSampleLocationsEXT## a _) ==+          x@(VkAttachmentSampleLocationsEXT## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkAttachmentSampleLocationsEXT where+        (VkAttachmentSampleLocationsEXT## a _) `compare`+          x@(VkAttachmentSampleLocationsEXT## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkAttachmentSampleLocationsEXT where+        sizeOf ~_ = #{size VkAttachmentSampleLocationsEXT}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkAttachmentSampleLocationsEXT}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkAttachmentSampleLocationsEXT where+        unsafeAddr (VkAttachmentSampleLocationsEXT## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkAttachmentSampleLocationsEXT## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkAttachmentSampleLocationsEXT##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkAttachmentSampleLocationsEXT where+        type StructFields VkAttachmentSampleLocationsEXT =+             '["attachmentIndex", "sampleLocationsInfo"] -- ' closing tick for hsc2hs+        type CUnionType VkAttachmentSampleLocationsEXT = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkAttachmentSampleLocationsEXT = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "attachmentIndex" VkAttachmentSampleLocationsEXT+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "attachmentIndex" VkAttachmentSampleLocationsEXT =+             #{offset VkAttachmentSampleLocationsEXT, attachmentIndex}+        type FieldIsArray "attachmentIndex" VkAttachmentSampleLocationsEXT+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAttachmentSampleLocationsEXT, attachmentIndex}++instance CanReadField "attachmentIndex"+           VkAttachmentSampleLocationsEXT+         where+        {-# INLINE getField #-}+        getField = vkAttachmentIndex++        {-# INLINE readField #-}+        readField = readVkAttachmentIndex++instance 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}++instance {-# OVERLAPPING #-}+         HasField "sampleLocationsInfo" VkAttachmentSampleLocationsEXT where+        type FieldType "sampleLocationsInfo" VkAttachmentSampleLocationsEXT+             = VkSampleLocationsInfoEXT+        type FieldOptional "sampleLocationsInfo"+               VkAttachmentSampleLocationsEXT+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sampleLocationsInfo"+               VkAttachmentSampleLocationsEXT+             =+             #{offset VkAttachmentSampleLocationsEXT, sampleLocationsInfo}+        type FieldIsArray "sampleLocationsInfo"+               VkAttachmentSampleLocationsEXT+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkAttachmentSampleLocationsEXT, sampleLocationsInfo}++instance CanReadField "sampleLocationsInfo"+           VkAttachmentSampleLocationsEXT+         where+        {-# INLINE getField #-}+        getField = vkSampleLocationsInfo++        {-# INLINE readField #-}+        readField = readVkSampleLocationsInfo++instance CanWriteField "sampleLocationsInfo"+           VkAttachmentSampleLocationsEXT+         where+        {-# INLINE writeField #-}+        writeField = writeVkSampleLocationsInfo++instance Show VkAttachmentSampleLocationsEXT where+        showsPrec d x+          = showString "VkAttachmentSampleLocationsEXT {" .+              showString "vkAttachmentIndex = " .+                showsPrec d (vkAttachmentIndex x) .+                  showString ", " .+                    showString "vkSampleLocationsInfo = " .+                      showsPrec d (vkSampleLocationsInfo x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkBindBufferMemoryDeviceGroupInfoKHX.hsc view
@@ -0,0 +1,324 @@+#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/VkBindBufferMemoryInfoKHR.hsc view
@@ -0,0 +1,335 @@+#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/VkBindImageMemoryDeviceGroupInfoKHX.hsc view
@@ -0,0 +1,444 @@+#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/VkBindImageMemoryInfoKHR.hsc view
@@ -0,0 +1,330 @@+#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/VkBindImageMemorySwapchainInfoKHX.hsc view
@@ -0,0 +1,308 @@+#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/VkBindImagePlaneMemoryInfoKHR.hsc view
@@ -0,0 +1,239 @@+#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
@@ -0,0 +1,704 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkBindSparseInfo+       (VkBindSparseInfo(..)) 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                                  (VkSemaphore)+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 {+--   >     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;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkBindSparseInfo.html VkBindSparseInfo registry at www.khronos.org>+data VkBindSparseInfo = VkBindSparseInfo## Addr## ByteArray##++instance Eq VkBindSparseInfo where+        (VkBindSparseInfo## a _) == x@(VkBindSparseInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkBindSparseInfo where+        (VkBindSparseInfo## a _) `compare` x@(VkBindSparseInfo## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkBindSparseInfo where+        sizeOf ~_ = #{size VkBindSparseInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkBindSparseInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkBindSparseInfo where+        unsafeAddr (VkBindSparseInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkBindSparseInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkBindSparseInfo## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBindSparseInfo where+        type StructFields VkBindSparseInfo =+             '["sType", "pNext", "waitSemaphoreCount", "pWaitSemaphores", -- ' closing tick for hsc2hs+               "bufferBindCount", "pBufferBinds", "imageOpaqueBindCount",+               "pImageOpaqueBinds", "imageBindCount", "pImageBinds",+               "signalSemaphoreCount", "pSignalSemaphores"]+        type CUnionType VkBindSparseInfo = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkBindSparseInfo =+             #{offset VkBindSparseInfo, sType}+        type FieldIsArray "sType" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBindSparseInfo, sType}++instance CanReadField "sType" VkBindSparseInfo where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-} HasField "pNext" VkBindSparseInfo+         where+        type FieldType "pNext" VkBindSparseInfo = Ptr Void+        type FieldOptional "pNext" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkBindSparseInfo =+             #{offset VkBindSparseInfo, pNext}+        type FieldIsArray "pNext" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBindSparseInfo, pNext}++instance CanReadField "pNext" VkBindSparseInfo where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance 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}++instance {-# OVERLAPPING #-}+         HasField "waitSemaphoreCount" VkBindSparseInfo where+        type FieldType "waitSemaphoreCount" VkBindSparseInfo = Word32+        type FieldOptional "waitSemaphoreCount" VkBindSparseInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "waitSemaphoreCount" VkBindSparseInfo =+             #{offset VkBindSparseInfo, waitSemaphoreCount}+        type FieldIsArray "waitSemaphoreCount" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindSparseInfo, waitSemaphoreCount}++instance CanReadField "waitSemaphoreCount" VkBindSparseInfo where+        {-# INLINE getField #-}+        getField = vkWaitSemaphoreCount++        {-# INLINE readField #-}+        readField = readVkWaitSemaphoreCount++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pWaitSemaphores" VkBindSparseInfo where+        type FieldType "pWaitSemaphores" VkBindSparseInfo = Ptr VkSemaphore+        type FieldOptional "pWaitSemaphores" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pWaitSemaphores" VkBindSparseInfo =+             #{offset VkBindSparseInfo, pWaitSemaphores}+        type FieldIsArray "pWaitSemaphores" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindSparseInfo, pWaitSemaphores}++instance CanReadField "pWaitSemaphores" VkBindSparseInfo where+        {-# INLINE getField #-}+        getField = vkPWaitSemaphores++        {-# INLINE readField #-}+        readField = readVkPWaitSemaphores++instance 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}++instance {-# OVERLAPPING #-}+         HasField "bufferBindCount" VkBindSparseInfo where+        type FieldType "bufferBindCount" VkBindSparseInfo = Word32+        type FieldOptional "bufferBindCount" VkBindSparseInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "bufferBindCount" VkBindSparseInfo =+             #{offset VkBindSparseInfo, bufferBindCount}+        type FieldIsArray "bufferBindCount" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindSparseInfo, bufferBindCount}++instance CanReadField "bufferBindCount" VkBindSparseInfo where+        {-# INLINE getField #-}+        getField = vkBufferBindCount++        {-# INLINE readField #-}+        readField = readVkBufferBindCount++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pBufferBinds" VkBindSparseInfo where+        type FieldType "pBufferBinds" VkBindSparseInfo =+             Ptr VkSparseBufferMemoryBindInfo+        type FieldOptional "pBufferBinds" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pBufferBinds" VkBindSparseInfo =+             #{offset VkBindSparseInfo, pBufferBinds}+        type FieldIsArray "pBufferBinds" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# 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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, imageOpaqueBindCount})++        {-# INLINE vkImageOpaqueBindCountByteOffset #-}+        vkImageOpaqueBindCountByteOffset ~_+          = #{offset VkBindSparseInfo, imageOpaqueBindCount}++        {-# INLINE readVkImageOpaqueBindCount #-}+        readVkImageOpaqueBindCount p+          = peekByteOff p #{offset VkBindSparseInfo, imageOpaqueBindCount}++        {-# INLINE writeVkImageOpaqueBindCount #-}+        writeVkImageOpaqueBindCount p+          = pokeByteOff p #{offset VkBindSparseInfo, imageOpaqueBindCount}++instance {-# OVERLAPPING #-}+         HasField "imageOpaqueBindCount" VkBindSparseInfo where+        type FieldType "imageOpaqueBindCount" VkBindSparseInfo = Word32+        type FieldOptional "imageOpaqueBindCount" VkBindSparseInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "imageOpaqueBindCount" VkBindSparseInfo =+             #{offset VkBindSparseInfo, imageOpaqueBindCount}+        type FieldIsArray "imageOpaqueBindCount" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pImageOpaqueBinds})++        {-# INLINE vkPImageOpaqueBindsByteOffset #-}+        vkPImageOpaqueBindsByteOffset ~_+          = #{offset VkBindSparseInfo, pImageOpaqueBinds}++        {-# INLINE readVkPImageOpaqueBinds #-}+        readVkPImageOpaqueBinds p+          = peekByteOff p #{offset VkBindSparseInfo, pImageOpaqueBinds}++        {-# INLINE writeVkPImageOpaqueBinds #-}+        writeVkPImageOpaqueBinds p+          = pokeByteOff p #{offset VkBindSparseInfo, pImageOpaqueBinds}++instance {-# OVERLAPPING #-}+         HasField "pImageOpaqueBinds" VkBindSparseInfo where+        type FieldType "pImageOpaqueBinds" VkBindSparseInfo =+             Ptr VkSparseImageOpaqueMemoryBindInfo+        type FieldOptional "pImageOpaqueBinds" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pImageOpaqueBinds" VkBindSparseInfo =+             #{offset VkBindSparseInfo, pImageOpaqueBinds}+        type FieldIsArray "pImageOpaqueBinds" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindSparseInfo, pImageOpaqueBinds}++instance CanReadField "pImageOpaqueBinds" VkBindSparseInfo where+        {-# INLINE getField #-}+        getField = vkPImageOpaqueBinds++        {-# INLINE readField #-}+        readField = readVkPImageOpaqueBinds++instance 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}++instance {-# OVERLAPPING #-}+         HasField "imageBindCount" VkBindSparseInfo where+        type FieldType "imageBindCount" VkBindSparseInfo = Word32+        type FieldOptional "imageBindCount" VkBindSparseInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "imageBindCount" VkBindSparseInfo =+             #{offset VkBindSparseInfo, imageBindCount}+        type FieldIsArray "imageBindCount" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindSparseInfo, imageBindCount}++instance CanReadField "imageBindCount" VkBindSparseInfo where+        {-# INLINE getField #-}+        getField = vkImageBindCount++        {-# INLINE readField #-}+        readField = readVkImageBindCount++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pImageBinds" VkBindSparseInfo where+        type FieldType "pImageBinds" VkBindSparseInfo =+             Ptr VkSparseImageMemoryBindInfo+        type FieldOptional "pImageBinds" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pImageBinds" VkBindSparseInfo =+             #{offset VkBindSparseInfo, pImageBinds}+        type FieldIsArray "pImageBinds" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# 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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, signalSemaphoreCount})++        {-# INLINE vkSignalSemaphoreCountByteOffset #-}+        vkSignalSemaphoreCountByteOffset ~_+          = #{offset VkBindSparseInfo, signalSemaphoreCount}++        {-# INLINE readVkSignalSemaphoreCount #-}+        readVkSignalSemaphoreCount p+          = peekByteOff p #{offset VkBindSparseInfo, signalSemaphoreCount}++        {-# INLINE writeVkSignalSemaphoreCount #-}+        writeVkSignalSemaphoreCount p+          = pokeByteOff p #{offset VkBindSparseInfo, signalSemaphoreCount}++instance {-# OVERLAPPING #-}+         HasField "signalSemaphoreCount" VkBindSparseInfo where+        type FieldType "signalSemaphoreCount" VkBindSparseInfo = Word32+        type FieldOptional "signalSemaphoreCount" VkBindSparseInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "signalSemaphoreCount" VkBindSparseInfo =+             #{offset VkBindSparseInfo, signalSemaphoreCount}+        type FieldIsArray "signalSemaphoreCount" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pSignalSemaphores})++        {-# INLINE vkPSignalSemaphoresByteOffset #-}+        vkPSignalSemaphoresByteOffset ~_+          = #{offset VkBindSparseInfo, pSignalSemaphores}++        {-# INLINE readVkPSignalSemaphores #-}+        readVkPSignalSemaphores p+          = peekByteOff p #{offset VkBindSparseInfo, pSignalSemaphores}++        {-# INLINE writeVkPSignalSemaphores #-}+        writeVkPSignalSemaphores p+          = pokeByteOff p #{offset VkBindSparseInfo, pSignalSemaphores}++instance {-# OVERLAPPING #-}+         HasField "pSignalSemaphores" VkBindSparseInfo where+        type FieldType "pSignalSemaphores" VkBindSparseInfo =+             Ptr VkSemaphore+        type FieldOptional "pSignalSemaphores" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pSignalSemaphores" VkBindSparseInfo =+             #{offset VkBindSparseInfo, pSignalSemaphores}+        type FieldIsArray "pSignalSemaphores" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBindSparseInfo, pSignalSemaphores}++instance CanReadField "pSignalSemaphores" VkBindSparseInfo where+        {-# INLINE getField #-}+        getField = vkPSignalSemaphores++        {-# INLINE readField #-}+        readField = readVkPSignalSemaphores++instance CanWriteField "pSignalSemaphores" VkBindSparseInfo where+        {-# INLINE writeField #-}+        writeField = writeVkPSignalSemaphores++instance Show VkBindSparseInfo where+        showsPrec d x+          = showString "VkBindSparseInfo {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkWaitSemaphoreCount = " .+                            showsPrec d (vkWaitSemaphoreCount x) .+                              showString ", " .+                                showString "vkPWaitSemaphores = " .+                                  showsPrec d (vkPWaitSemaphores x) .+                                    showString ", " .+                                      showString "vkBufferBindCount = " .+                                        showsPrec d (vkBufferBindCount x) .+                                          showString ", " .+                                            showString "vkPBufferBinds = " .+                                              showsPrec d (vkPBufferBinds x) .+                                                showString ", " .+                                                  showString "vkImageOpaqueBindCount = " .+                                                    showsPrec d (vkImageOpaqueBindCount x) .+                                                      showString ", " .+                                                        showString "vkPImageOpaqueBinds = " .+                                                          showsPrec d (vkPImageOpaqueBinds x) .+                                                            showString ", " .+                                                              showString "vkImageBindCount = " .+                                                                showsPrec d (vkImageBindCount x) .+                                                                  showString ", " .+                                                                    showString "vkPImageBinds = " .+                                                                      showsPrec d (vkPImageBinds x)+                                                                        .+                                                                        showString ", " .+                                                                          showString+                                                                            "vkSignalSemaphoreCount = "+                                                                            .+                                                                            showsPrec d+                                                                              (vkSignalSemaphoreCount+                                                                                 x)+                                                                              .+                                                                              showString ", " .+                                                                                showString+                                                                                  "vkPSignalSemaphores = "+                                                                                  .+                                                                                  showsPrec d+                                                                                    (vkPSignalSemaphores+                                                                                       x)+                                                                                    . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkBufferCopy.hsc view
@@ -0,0 +1,215 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkBufferCopy (VkBufferCopy(..))+       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.StructMembers+import           System.IO.Unsafe                    (unsafeDupablePerformIO)++-- | > typedef struct VkBufferCopy {+--   >     VkDeviceSize           srcOffset;+--   >     VkDeviceSize           dstOffset;+--   >     VkDeviceSize           size;+--   > } VkBufferCopy;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkBufferCopy.html VkBufferCopy registry at www.khronos.org>+data VkBufferCopy = VkBufferCopy## Addr## ByteArray##++instance Eq VkBufferCopy where+        (VkBufferCopy## a _) == x@(VkBufferCopy## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkBufferCopy where+        (VkBufferCopy## a _) `compare` x@(VkBufferCopy## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkBufferCopy where+        sizeOf ~_ = #{size VkBufferCopy}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkBufferCopy}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkBufferCopy where+        unsafeAddr (VkBufferCopy## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkBufferCopy## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkBufferCopy## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBufferCopy where+        type StructFields VkBufferCopy =+             '["srcOffset", "dstOffset", "size"] -- ' closing tick for hsc2hs+        type CUnionType VkBufferCopy = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "srcOffset" VkBufferCopy = 'False -- ' closing tick for hsc2hs+        type FieldOffset "srcOffset" VkBufferCopy =+             #{offset VkBufferCopy, srcOffset}+        type FieldIsArray "srcOffset" VkBufferCopy = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBufferCopy, srcOffset}++instance CanReadField "srcOffset" VkBufferCopy where+        {-# INLINE getField #-}+        getField = vkSrcOffset++        {-# INLINE readField #-}+        readField = readVkSrcOffset++instance 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}++instance {-# OVERLAPPING #-} HasField "dstOffset" VkBufferCopy+         where+        type FieldType "dstOffset" VkBufferCopy = VkDeviceSize+        type FieldOptional "dstOffset" VkBufferCopy = 'False -- ' closing tick for hsc2hs+        type FieldOffset "dstOffset" VkBufferCopy =+             #{offset VkBufferCopy, dstOffset}+        type FieldIsArray "dstOffset" VkBufferCopy = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBufferCopy, dstOffset}++instance CanReadField "dstOffset" VkBufferCopy where+        {-# INLINE getField #-}+        getField = vkDstOffset++        {-# INLINE readField #-}+        readField = readVkDstOffset++instance 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}++instance {-# OVERLAPPING #-} HasField "size" VkBufferCopy where+        type FieldType "size" VkBufferCopy = VkDeviceSize+        type FieldOptional "size" VkBufferCopy = 'False -- ' closing tick for hsc2hs+        type FieldOffset "size" VkBufferCopy =+             #{offset VkBufferCopy, size}+        type FieldIsArray "size" VkBufferCopy = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBufferCopy, size}++instance CanReadField "size" VkBufferCopy where+        {-# INLINE getField #-}+        getField = vkSize++        {-# INLINE readField #-}+        readField = readVkSize++instance CanWriteField "size" VkBufferCopy where+        {-# INLINE writeField #-}+        writeField = writeVkSize++instance Show VkBufferCopy where+        showsPrec d x+          = showString "VkBufferCopy {" .+              showString "vkSrcOffset = " .+                showsPrec d (vkSrcOffset x) .+                  showString ", " .+                    showString "vkDstOffset = " .+                      showsPrec d (vkDstOffset x) .+                        showString ", " .+                          showString "vkSize = " . showsPrec d (vkSize x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkBufferCreateInfo.hsc view
@@ -0,0 +1,482 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkBufferCreateInfo+       (VkBufferCreateInfo(..)) 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.VkBufferCreateFlags (VkBufferCreateFlags)+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 {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkBufferCreateFlags    flags;+--   >     VkDeviceSize           size;+--   >     VkBufferUsageFlags     usage;+--   >     VkSharingMode          sharingMode;+--   >     uint32_t               queueFamilyIndexCount;+--   >     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>+data VkBufferCreateInfo = VkBufferCreateInfo## Addr## ByteArray##++instance Eq VkBufferCreateInfo where+        (VkBufferCreateInfo## a _) == x@(VkBufferCreateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkBufferCreateInfo where+        (VkBufferCreateInfo## a _) `compare` x@(VkBufferCreateInfo## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkBufferCreateInfo where+        sizeOf ~_ = #{size VkBufferCreateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkBufferCreateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkBufferCreateInfo where+        unsafeAddr (VkBufferCreateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkBufferCreateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkBufferCreateInfo## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBufferCreateInfo where+        type StructFields VkBufferCreateInfo =+             '["sType", "pNext", "flags", "size", "usage", "sharingMode", -- ' closing tick for hsc2hs+               "queueFamilyIndexCount", "pQueueFamilyIndices"]+        type CUnionType VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkBufferCreateInfo =+             #{offset VkBufferCreateInfo, sType}+        type FieldIsArray "sType" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBufferCreateInfo, sType}++instance CanReadField "sType" VkBufferCreateInfo where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-} HasField "pNext" VkBufferCreateInfo+         where+        type FieldType "pNext" VkBufferCreateInfo = Ptr Void+        type FieldOptional "pNext" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkBufferCreateInfo =+             #{offset VkBufferCreateInfo, pNext}+        type FieldIsArray "pNext" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBufferCreateInfo, pNext}++instance CanReadField "pNext" VkBufferCreateInfo where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance 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}++instance {-# OVERLAPPING #-} HasField "flags" VkBufferCreateInfo+         where+        type FieldType "flags" VkBufferCreateInfo = VkBufferCreateFlags+        type FieldOptional "flags" VkBufferCreateInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkBufferCreateInfo =+             #{offset VkBufferCreateInfo, flags}+        type FieldIsArray "flags" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBufferCreateInfo, flags}++instance CanReadField "flags" VkBufferCreateInfo where+        {-# INLINE getField #-}+        getField = vkFlags++        {-# INLINE readField #-}+        readField = readVkFlags++instance 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}++instance {-# OVERLAPPING #-} HasField "size" VkBufferCreateInfo+         where+        type FieldType "size" VkBufferCreateInfo = VkDeviceSize+        type FieldOptional "size" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "size" VkBufferCreateInfo =+             #{offset VkBufferCreateInfo, size}+        type FieldIsArray "size" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBufferCreateInfo, size}++instance CanReadField "size" VkBufferCreateInfo where+        {-# INLINE getField #-}+        getField = vkSize++        {-# INLINE readField #-}+        readField = readVkSize++instance 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}++instance {-# OVERLAPPING #-} HasField "usage" VkBufferCreateInfo+         where+        type FieldType "usage" VkBufferCreateInfo = VkBufferUsageFlags+        type FieldOptional "usage" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "usage" VkBufferCreateInfo =+             #{offset VkBufferCreateInfo, usage}+        type FieldIsArray "usage" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBufferCreateInfo, usage}++instance CanReadField "usage" VkBufferCreateInfo where+        {-# INLINE getField #-}+        getField = vkUsage++        {-# INLINE readField #-}+        readField = readVkUsage++instance 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}++instance {-# OVERLAPPING #-}+         HasField "sharingMode" VkBufferCreateInfo where+        type FieldType "sharingMode" VkBufferCreateInfo = VkSharingMode+        type FieldOptional "sharingMode" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sharingMode" VkBufferCreateInfo =+             #{offset VkBufferCreateInfo, sharingMode}+        type FieldIsArray "sharingMode" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# 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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, queueFamilyIndexCount})++        {-# INLINE vkQueueFamilyIndexCountByteOffset #-}+        vkQueueFamilyIndexCountByteOffset ~_+          = #{offset VkBufferCreateInfo, queueFamilyIndexCount}++        {-# INLINE readVkQueueFamilyIndexCount #-}+        readVkQueueFamilyIndexCount p+          = peekByteOff p #{offset VkBufferCreateInfo, queueFamilyIndexCount}++        {-# INLINE writeVkQueueFamilyIndexCount #-}+        writeVkQueueFamilyIndexCount p+          = pokeByteOff p #{offset VkBufferCreateInfo, queueFamilyIndexCount}++instance {-# OVERLAPPING #-}+         HasField "queueFamilyIndexCount" VkBufferCreateInfo where+        type FieldType "queueFamilyIndexCount" VkBufferCreateInfo = Word32+        type FieldOptional "queueFamilyIndexCount" VkBufferCreateInfo =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "queueFamilyIndexCount" VkBufferCreateInfo =+             #{offset VkBufferCreateInfo, queueFamilyIndexCount}+        type FieldIsArray "queueFamilyIndexCount" VkBufferCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, pQueueFamilyIndices})++        {-# INLINE vkPQueueFamilyIndicesByteOffset #-}+        vkPQueueFamilyIndicesByteOffset ~_+          = #{offset VkBufferCreateInfo, pQueueFamilyIndices}++        {-# INLINE readVkPQueueFamilyIndices #-}+        readVkPQueueFamilyIndices p+          = peekByteOff p #{offset VkBufferCreateInfo, pQueueFamilyIndices}++        {-# INLINE writeVkPQueueFamilyIndices #-}+        writeVkPQueueFamilyIndices p+          = pokeByteOff p #{offset VkBufferCreateInfo, pQueueFamilyIndices}++instance {-# OVERLAPPING #-}+         HasField "pQueueFamilyIndices" VkBufferCreateInfo where+        type FieldType "pQueueFamilyIndices" VkBufferCreateInfo =+             Ptr Word32+        type FieldOptional "pQueueFamilyIndices" VkBufferCreateInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pQueueFamilyIndices" VkBufferCreateInfo =+             #{offset VkBufferCreateInfo, pQueueFamilyIndices}+        type FieldIsArray "pQueueFamilyIndices" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBufferCreateInfo, pQueueFamilyIndices}++instance CanReadField "pQueueFamilyIndices" VkBufferCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkPQueueFamilyIndices++        {-# INLINE readField #-}+        readField = readVkPQueueFamilyIndices++instance CanWriteField "pQueueFamilyIndices" VkBufferCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkPQueueFamilyIndices++instance Show VkBufferCreateInfo where+        showsPrec d x+          = showString "VkBufferCreateInfo {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFlags = " .+                            showsPrec d (vkFlags x) .+                              showString ", " .+                                showString "vkSize = " .+                                  showsPrec d (vkSize x) .+                                    showString ", " .+                                      showString "vkUsage = " .+                                        showsPrec d (vkUsage x) .+                                          showString ", " .+                                            showString "vkSharingMode = " .+                                              showsPrec d (vkSharingMode x) .+                                                showString ", " .+                                                  showString "vkQueueFamilyIndexCount = " .+                                                    showsPrec d (vkQueueFamilyIndexCount x) .+                                                      showString ", " .+                                                        showString "vkPQueueFamilyIndices = " .+                                                          showsPrec d (vkPQueueFamilyIndices x) .+                                                            showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkBufferImageCopy.hsc view
@@ -0,0 +1,380 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkBufferImageCopy+       (VkBufferImageCopy(..)) 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.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 {+--   >     VkDeviceSize           bufferOffset;+--   >     uint32_t               bufferRowLength;+--   >     uint32_t               bufferImageHeight;+--   >     VkImageSubresourceLayers imageSubresource;+--   >     VkOffset3D             imageOffset;+--   >     VkExtent3D             imageExtent;+--   > } VkBufferImageCopy;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkBufferImageCopy.html VkBufferImageCopy registry at www.khronos.org>+data VkBufferImageCopy = VkBufferImageCopy## Addr## ByteArray##++instance Eq VkBufferImageCopy where+        (VkBufferImageCopy## a _) == x@(VkBufferImageCopy## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkBufferImageCopy where+        (VkBufferImageCopy## a _) `compare` x@(VkBufferImageCopy## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkBufferImageCopy where+        sizeOf ~_ = #{size VkBufferImageCopy}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkBufferImageCopy}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkBufferImageCopy where+        unsafeAddr (VkBufferImageCopy## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkBufferImageCopy## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkBufferImageCopy## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBufferImageCopy where+        type StructFields VkBufferImageCopy =+             '["bufferOffset", "bufferRowLength", "bufferImageHeight", -- ' closing tick for hsc2hs+               "imageSubresource", "imageOffset", "imageExtent"]+        type CUnionType VkBufferImageCopy = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "bufferOffset" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs+        type FieldOffset "bufferOffset" VkBufferImageCopy =+             #{offset VkBufferImageCopy, bufferOffset}+        type FieldIsArray "bufferOffset" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBufferImageCopy, bufferOffset}++instance CanReadField "bufferOffset" VkBufferImageCopy where+        {-# INLINE getField #-}+        getField = vkBufferOffset++        {-# INLINE readField #-}+        readField = readVkBufferOffset++instance 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}++instance {-# OVERLAPPING #-}+         HasField "bufferRowLength" VkBufferImageCopy where+        type FieldType "bufferRowLength" VkBufferImageCopy = Word32+        type FieldOptional "bufferRowLength" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs+        type FieldOffset "bufferRowLength" VkBufferImageCopy =+             #{offset VkBufferImageCopy, bufferRowLength}+        type FieldIsArray "bufferRowLength" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, bufferImageHeight})++        {-# INLINE vkBufferImageHeightByteOffset #-}+        vkBufferImageHeightByteOffset ~_+          = #{offset VkBufferImageCopy, bufferImageHeight}++        {-# INLINE readVkBufferImageHeight #-}+        readVkBufferImageHeight p+          = peekByteOff p #{offset VkBufferImageCopy, bufferImageHeight}++        {-# INLINE writeVkBufferImageHeight #-}+        writeVkBufferImageHeight p+          = pokeByteOff p #{offset VkBufferImageCopy, bufferImageHeight}++instance {-# OVERLAPPING #-}+         HasField "bufferImageHeight" VkBufferImageCopy where+        type FieldType "bufferImageHeight" VkBufferImageCopy = Word32+        type FieldOptional "bufferImageHeight" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs+        type FieldOffset "bufferImageHeight" VkBufferImageCopy =+             #{offset VkBufferImageCopy, bufferImageHeight}+        type FieldIsArray "bufferImageHeight" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, imageSubresource})++        {-# INLINE vkImageSubresourceByteOffset #-}+        vkImageSubresourceByteOffset ~_+          = #{offset VkBufferImageCopy, imageSubresource}++        {-# INLINE readVkImageSubresource #-}+        readVkImageSubresource p+          = peekByteOff p #{offset VkBufferImageCopy, imageSubresource}++        {-# INLINE writeVkImageSubresource #-}+        writeVkImageSubresource p+          = pokeByteOff p #{offset VkBufferImageCopy, imageSubresource}++instance {-# OVERLAPPING #-}+         HasField "imageSubresource" VkBufferImageCopy where+        type FieldType "imageSubresource" VkBufferImageCopy =+             VkImageSubresourceLayers+        type FieldOptional "imageSubresource" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs+        type FieldOffset "imageSubresource" VkBufferImageCopy =+             #{offset VkBufferImageCopy, imageSubresource}+        type FieldIsArray "imageSubresource" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBufferImageCopy, imageSubresource}++instance CanReadField "imageSubresource" VkBufferImageCopy where+        {-# INLINE getField #-}+        getField = vkImageSubresource++        {-# INLINE readField #-}+        readField = readVkImageSubresource++instance 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}++instance {-# OVERLAPPING #-}+         HasField "imageOffset" VkBufferImageCopy where+        type FieldType "imageOffset" VkBufferImageCopy = VkOffset3D+        type FieldOptional "imageOffset" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs+        type FieldOffset "imageOffset" VkBufferImageCopy =+             #{offset VkBufferImageCopy, imageOffset}+        type FieldIsArray "imageOffset" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBufferImageCopy, imageOffset}++instance CanReadField "imageOffset" VkBufferImageCopy where+        {-# INLINE getField #-}+        getField = vkImageOffset++        {-# INLINE readField #-}+        readField = readVkImageOffset++instance 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}++instance {-# OVERLAPPING #-}+         HasField "imageExtent" VkBufferImageCopy where+        type FieldType "imageExtent" VkBufferImageCopy = VkExtent3D+        type FieldOptional "imageExtent" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs+        type FieldOffset "imageExtent" VkBufferImageCopy =+             #{offset VkBufferImageCopy, imageExtent}+        type FieldIsArray "imageExtent" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBufferImageCopy, imageExtent}++instance CanReadField "imageExtent" VkBufferImageCopy where+        {-# INLINE getField #-}+        getField = vkImageExtent++        {-# INLINE readField #-}+        readField = readVkImageExtent++instance CanWriteField "imageExtent" VkBufferImageCopy where+        {-# INLINE writeField #-}+        writeField = writeVkImageExtent++instance Show VkBufferImageCopy where+        showsPrec d x+          = showString "VkBufferImageCopy {" .+              showString "vkBufferOffset = " .+                showsPrec d (vkBufferOffset x) .+                  showString ", " .+                    showString "vkBufferRowLength = " .+                      showsPrec d (vkBufferRowLength x) .+                        showString ", " .+                          showString "vkBufferImageHeight = " .+                            showsPrec d (vkBufferImageHeight x) .+                              showString ", " .+                                showString "vkImageSubresource = " .+                                  showsPrec d (vkImageSubresource x) .+                                    showString ", " .+                                      showString "vkImageOffset = " .+                                        showsPrec d (vkImageOffset x) .+                                          showString ", " .+                                            showString "vkImageExtent = " .+                                              showsPrec d (vkImageExtent x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkBufferMemoryBarrier.hsc view
@@ -0,0 +1,539 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkBufferMemoryBarrier+       (VkBufferMemoryBarrier(..)) 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.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 {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkAccessFlags          srcAccessMask;+--   >     VkAccessFlags          dstAccessMask;+--   >     uint32_t               srcQueueFamilyIndex;+--   >     uint32_t               dstQueueFamilyIndex;+--   >     VkBuffer               buffer;+--   >     VkDeviceSize           offset;+--   >     VkDeviceSize           size;+--   > } VkBufferMemoryBarrier;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkBufferMemoryBarrier.html VkBufferMemoryBarrier registry at www.khronos.org>+data VkBufferMemoryBarrier = VkBufferMemoryBarrier## Addr##+                                                    ByteArray##++instance Eq VkBufferMemoryBarrier where+        (VkBufferMemoryBarrier## a _) == x@(VkBufferMemoryBarrier## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkBufferMemoryBarrier where+        (VkBufferMemoryBarrier## a _) `compare`+          x@(VkBufferMemoryBarrier## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkBufferMemoryBarrier where+        sizeOf ~_ = #{size VkBufferMemoryBarrier}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkBufferMemoryBarrier}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkBufferMemoryBarrier where+        unsafeAddr (VkBufferMemoryBarrier## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkBufferMemoryBarrier## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkBufferMemoryBarrier## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBufferMemoryBarrier where+        type StructFields VkBufferMemoryBarrier =+             '["sType", "pNext", "srcAccessMask", "dstAccessMask", -- ' closing tick for hsc2hs+               "srcQueueFamilyIndex", "dstQueueFamilyIndex", "buffer", "offset",+               "size"]+        type CUnionType VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkBufferMemoryBarrier =+             #{offset VkBufferMemoryBarrier, sType}+        type FieldIsArray "sType" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBufferMemoryBarrier, sType}++instance CanReadField "sType" VkBufferMemoryBarrier where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-} HasField "pNext" VkBufferMemoryBarrier+         where+        type FieldType "pNext" VkBufferMemoryBarrier = Ptr Void+        type FieldOptional "pNext" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkBufferMemoryBarrier =+             #{offset VkBufferMemoryBarrier, pNext}+        type FieldIsArray "pNext" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# 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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, srcAccessMask})++        {-# INLINE vkSrcAccessMaskByteOffset #-}+        vkSrcAccessMaskByteOffset ~_+          = #{offset VkBufferMemoryBarrier, srcAccessMask}++        {-# INLINE readVkSrcAccessMask #-}+        readVkSrcAccessMask p+          = peekByteOff p #{offset VkBufferMemoryBarrier, srcAccessMask}++        {-# INLINE writeVkSrcAccessMask #-}+        writeVkSrcAccessMask p+          = pokeByteOff p #{offset VkBufferMemoryBarrier, srcAccessMask}++instance {-# OVERLAPPING #-}+         HasField "srcAccessMask" VkBufferMemoryBarrier where+        type FieldType "srcAccessMask" VkBufferMemoryBarrier =+             VkAccessFlags+        type FieldOptional "srcAccessMask" VkBufferMemoryBarrier = 'True -- ' closing tick for hsc2hs+        type FieldOffset "srcAccessMask" VkBufferMemoryBarrier =+             #{offset VkBufferMemoryBarrier, srcAccessMask}+        type FieldIsArray "srcAccessMask" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, dstAccessMask})++        {-# INLINE vkDstAccessMaskByteOffset #-}+        vkDstAccessMaskByteOffset ~_+          = #{offset VkBufferMemoryBarrier, dstAccessMask}++        {-# INLINE readVkDstAccessMask #-}+        readVkDstAccessMask p+          = peekByteOff p #{offset VkBufferMemoryBarrier, dstAccessMask}++        {-# INLINE writeVkDstAccessMask #-}+        writeVkDstAccessMask p+          = pokeByteOff p #{offset VkBufferMemoryBarrier, dstAccessMask}++instance {-# OVERLAPPING #-}+         HasField "dstAccessMask" VkBufferMemoryBarrier where+        type FieldType "dstAccessMask" VkBufferMemoryBarrier =+             VkAccessFlags+        type FieldOptional "dstAccessMask" VkBufferMemoryBarrier = 'True -- ' closing tick for hsc2hs+        type FieldOffset "dstAccessMask" VkBufferMemoryBarrier =+             #{offset VkBufferMemoryBarrier, dstAccessMask}+        type FieldIsArray "dstAccessMask" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex})++        {-# INLINE vkSrcQueueFamilyIndexByteOffset #-}+        vkSrcQueueFamilyIndexByteOffset ~_+          = #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex}++        {-# INLINE readVkSrcQueueFamilyIndex #-}+        readVkSrcQueueFamilyIndex p+          = peekByteOff p #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex}++        {-# INLINE writeVkSrcQueueFamilyIndex #-}+        writeVkSrcQueueFamilyIndex p+          = pokeByteOff p #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex}++instance {-# OVERLAPPING #-}+         HasField "srcQueueFamilyIndex" VkBufferMemoryBarrier where+        type FieldType "srcQueueFamilyIndex" VkBufferMemoryBarrier = Word32+        type FieldOptional "srcQueueFamilyIndex" VkBufferMemoryBarrier =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "srcQueueFamilyIndex" VkBufferMemoryBarrier =+             #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex}+        type FieldIsArray "srcQueueFamilyIndex" VkBufferMemoryBarrier =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex})++        {-# INLINE vkDstQueueFamilyIndexByteOffset #-}+        vkDstQueueFamilyIndexByteOffset ~_+          = #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex}++        {-# INLINE readVkDstQueueFamilyIndex #-}+        readVkDstQueueFamilyIndex p+          = peekByteOff p #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex}++        {-# INLINE writeVkDstQueueFamilyIndex #-}+        writeVkDstQueueFamilyIndex p+          = pokeByteOff p #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex}++instance {-# OVERLAPPING #-}+         HasField "dstQueueFamilyIndex" VkBufferMemoryBarrier where+        type FieldType "dstQueueFamilyIndex" VkBufferMemoryBarrier = Word32+        type FieldOptional "dstQueueFamilyIndex" VkBufferMemoryBarrier =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "dstQueueFamilyIndex" VkBufferMemoryBarrier =+             #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex}+        type FieldIsArray "dstQueueFamilyIndex" VkBufferMemoryBarrier =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex}++instance CanReadField "dstQueueFamilyIndex" VkBufferMemoryBarrier+         where+        {-# INLINE getField #-}+        getField = vkDstQueueFamilyIndex++        {-# INLINE readField #-}+        readField = readVkDstQueueFamilyIndex++instance 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}++instance {-# OVERLAPPING #-}+         HasField "buffer" VkBufferMemoryBarrier where+        type FieldType "buffer" VkBufferMemoryBarrier = VkBuffer+        type FieldOptional "buffer" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs+        type FieldOffset "buffer" VkBufferMemoryBarrier =+             #{offset VkBufferMemoryBarrier, buffer}+        type FieldIsArray "buffer" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBufferMemoryBarrier, buffer}++instance CanReadField "buffer" VkBufferMemoryBarrier where+        {-# INLINE getField #-}+        getField = vkBuffer++        {-# INLINE readField #-}+        readField = readVkBuffer++instance 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}++instance {-# OVERLAPPING #-}+         HasField "offset" VkBufferMemoryBarrier where+        type FieldType "offset" VkBufferMemoryBarrier = VkDeviceSize+        type FieldOptional "offset" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs+        type FieldOffset "offset" VkBufferMemoryBarrier =+             #{offset VkBufferMemoryBarrier, offset}+        type FieldIsArray "offset" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBufferMemoryBarrier, offset}++instance CanReadField "offset" VkBufferMemoryBarrier where+        {-# INLINE getField #-}+        getField = vkOffset++        {-# INLINE readField #-}+        readField = readVkOffset++instance 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}++instance {-# OVERLAPPING #-} HasField "size" VkBufferMemoryBarrier+         where+        type FieldType "size" VkBufferMemoryBarrier = VkDeviceSize+        type FieldOptional "size" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs+        type FieldOffset "size" VkBufferMemoryBarrier =+             #{offset VkBufferMemoryBarrier, size}+        type FieldIsArray "size" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBufferMemoryBarrier, size}++instance CanReadField "size" VkBufferMemoryBarrier where+        {-# INLINE getField #-}+        getField = vkSize++        {-# INLINE readField #-}+        readField = readVkSize++instance CanWriteField "size" VkBufferMemoryBarrier where+        {-# INLINE writeField #-}+        writeField = writeVkSize++instance Show VkBufferMemoryBarrier where+        showsPrec d x+          = showString "VkBufferMemoryBarrier {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkSrcAccessMask = " .+                            showsPrec d (vkSrcAccessMask x) .+                              showString ", " .+                                showString "vkDstAccessMask = " .+                                  showsPrec d (vkDstAccessMask x) .+                                    showString ", " .+                                      showString "vkSrcQueueFamilyIndex = " .+                                        showsPrec d (vkSrcQueueFamilyIndex x) .+                                          showString ", " .+                                            showString "vkDstQueueFamilyIndex = " .+                                              showsPrec d (vkDstQueueFamilyIndex x) .+                                                showString ", " .+                                                  showString "vkBuffer = " .+                                                    showsPrec d (vkBuffer x) .+                                                      showString ", " .+                                                        showString "vkOffset = " .+                                                          showsPrec d (vkOffset x) .+                                                            showString ", " .+                                                              showString "vkSize = " .+                                                                showsPrec d (vkSize x) .+                                                                  showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkBufferMemoryRequirementsInfo2KHR.hsc view
@@ -0,0 +1,246 @@+#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
@@ -0,0 +1,427 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkBufferViewCreateInfo+       (VkBufferViewCreateInfo(..)) 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.Bitmasks             (VkBufferViewCreateFlags)+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 {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkBufferViewCreateFlagsflags;+--   >     VkBuffer               buffer;+--   >     VkFormat               format;+--   >     VkDeviceSize           offset;+--   >     VkDeviceSize           range;+--   > } VkBufferViewCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkBufferViewCreateInfo.html VkBufferViewCreateInfo registry at www.khronos.org>+data VkBufferViewCreateInfo = VkBufferViewCreateInfo## Addr##+                                                      ByteArray##++instance Eq VkBufferViewCreateInfo where+        (VkBufferViewCreateInfo## a _) == x@(VkBufferViewCreateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkBufferViewCreateInfo where+        (VkBufferViewCreateInfo## a _) `compare`+          x@(VkBufferViewCreateInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkBufferViewCreateInfo where+        sizeOf ~_ = #{size VkBufferViewCreateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkBufferViewCreateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkBufferViewCreateInfo where+        unsafeAddr (VkBufferViewCreateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkBufferViewCreateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkBufferViewCreateInfo## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBufferViewCreateInfo where+        type StructFields VkBufferViewCreateInfo =+             '["sType", "pNext", "flags", "buffer", "format", "offset", "range"] -- ' closing tick for hsc2hs+        type CUnionType VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkBufferViewCreateInfo =+             #{offset VkBufferViewCreateInfo, sType}+        type FieldIsArray "sType" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBufferViewCreateInfo, sType}++instance CanReadField "sType" VkBufferViewCreateInfo where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkBufferViewCreateInfo where+        type FieldType "pNext" VkBufferViewCreateInfo = Ptr Void+        type FieldOptional "pNext" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkBufferViewCreateInfo =+             #{offset VkBufferViewCreateInfo, pNext}+        type FieldIsArray "pNext" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBufferViewCreateInfo, pNext}++instance CanReadField "pNext" VkBufferViewCreateInfo where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance 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}++instance {-# OVERLAPPING #-}+         HasField "flags" VkBufferViewCreateInfo where+        type FieldType "flags" VkBufferViewCreateInfo =+             VkBufferViewCreateFlags+        type FieldOptional "flags" VkBufferViewCreateInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkBufferViewCreateInfo =+             #{offset VkBufferViewCreateInfo, flags}+        type FieldIsArray "flags" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBufferViewCreateInfo, flags}++instance CanReadField "flags" VkBufferViewCreateInfo where+        {-# INLINE getField #-}+        getField = vkFlags++        {-# INLINE readField #-}+        readField = readVkFlags++instance 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}++instance {-# OVERLAPPING #-}+         HasField "buffer" VkBufferViewCreateInfo where+        type FieldType "buffer" VkBufferViewCreateInfo = VkBuffer+        type FieldOptional "buffer" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "buffer" VkBufferViewCreateInfo =+             #{offset VkBufferViewCreateInfo, buffer}+        type FieldIsArray "buffer" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBufferViewCreateInfo, buffer}++instance CanReadField "buffer" VkBufferViewCreateInfo where+        {-# INLINE getField #-}+        getField = vkBuffer++        {-# INLINE readField #-}+        readField = readVkBuffer++instance 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}++instance {-# OVERLAPPING #-}+         HasField "format" VkBufferViewCreateInfo where+        type FieldType "format" VkBufferViewCreateInfo = VkFormat+        type FieldOptional "format" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "format" VkBufferViewCreateInfo =+             #{offset VkBufferViewCreateInfo, format}+        type FieldIsArray "format" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBufferViewCreateInfo, format}++instance CanReadField "format" VkBufferViewCreateInfo where+        {-# INLINE getField #-}+        getField = vkFormat++        {-# INLINE readField #-}+        readField = readVkFormat++instance 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}++instance {-# OVERLAPPING #-}+         HasField "offset" VkBufferViewCreateInfo where+        type FieldType "offset" VkBufferViewCreateInfo = VkDeviceSize+        type FieldOptional "offset" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "offset" VkBufferViewCreateInfo =+             #{offset VkBufferViewCreateInfo, offset}+        type FieldIsArray "offset" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBufferViewCreateInfo, offset}++instance CanReadField "offset" VkBufferViewCreateInfo where+        {-# INLINE getField #-}+        getField = vkOffset++        {-# INLINE readField #-}+        readField = readVkOffset++instance 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}++instance {-# OVERLAPPING #-}+         HasField "range" VkBufferViewCreateInfo where+        type FieldType "range" VkBufferViewCreateInfo = VkDeviceSize+        type FieldOptional "range" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "range" VkBufferViewCreateInfo =+             #{offset VkBufferViewCreateInfo, range}+        type FieldIsArray "range" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkBufferViewCreateInfo, range}++instance CanReadField "range" VkBufferViewCreateInfo where+        {-# INLINE getField #-}+        getField = vkRange++        {-# INLINE readField #-}+        readField = readVkRange++instance CanWriteField "range" VkBufferViewCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkRange++instance Show VkBufferViewCreateInfo where+        showsPrec d x+          = showString "VkBufferViewCreateInfo {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFlags = " .+                            showsPrec d (vkFlags x) .+                              showString ", " .+                                showString "vkBuffer = " .+                                  showsPrec d (vkBuffer x) .+                                    showString ", " .+                                      showString "vkFormat = " .+                                        showsPrec d (vkFormat x) .+                                          showString ", " .+                                            showString "vkOffset = " .+                                              showsPrec d (vkOffset x) .+                                                showString ", " .+                                                  showString "vkRange = " .+                                                    showsPrec d (vkRange x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkClearAttachment.hsc view
@@ -0,0 +1,223 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkClearAttachment+       (VkClearAttachment(..)) where+import           Foreign.Storable                              (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+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 {+--   >     VkImageAspectFlags     aspectMask;+--   >     uint32_t               colorAttachment;+--   >     VkClearValue           clearValue;+--   > } VkClearAttachment;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkClearAttachment.html VkClearAttachment registry at www.khronos.org>+data VkClearAttachment = VkClearAttachment## Addr## ByteArray##++instance Eq VkClearAttachment where+        (VkClearAttachment## a _) == x@(VkClearAttachment## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkClearAttachment where+        (VkClearAttachment## a _) `compare` x@(VkClearAttachment## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkClearAttachment where+        sizeOf ~_ = #{size VkClearAttachment}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkClearAttachment}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkClearAttachment where+        unsafeAddr (VkClearAttachment## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkClearAttachment## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkClearAttachment## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkClearAttachment where+        type StructFields VkClearAttachment =+             '["aspectMask", "colorAttachment", "clearValue"] -- ' closing tick for hsc2hs+        type CUnionType VkClearAttachment = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "aspectMask" VkClearAttachment = 'False -- ' closing tick for hsc2hs+        type FieldOffset "aspectMask" VkClearAttachment =+             #{offset VkClearAttachment, aspectMask}+        type FieldIsArray "aspectMask" VkClearAttachment = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkClearAttachment, aspectMask}++instance CanReadField "aspectMask" VkClearAttachment where+        {-# INLINE getField #-}+        getField = vkAspectMask++        {-# INLINE readField #-}+        readField = readVkAspectMask++instance 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}++instance {-# OVERLAPPING #-}+         HasField "colorAttachment" VkClearAttachment where+        type FieldType "colorAttachment" VkClearAttachment = Word32+        type FieldOptional "colorAttachment" VkClearAttachment = 'False -- ' closing tick for hsc2hs+        type FieldOffset "colorAttachment" VkClearAttachment =+             #{offset VkClearAttachment, colorAttachment}+        type FieldIsArray "colorAttachment" VkClearAttachment = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkClearAttachment, colorAttachment}++instance CanReadField "colorAttachment" VkClearAttachment where+        {-# INLINE getField #-}+        getField = vkColorAttachment++        {-# INLINE readField #-}+        readField = readVkColorAttachment++instance 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}++instance {-# OVERLAPPING #-}+         HasField "clearValue" VkClearAttachment where+        type FieldType "clearValue" VkClearAttachment = VkClearValue+        type FieldOptional "clearValue" VkClearAttachment = 'False -- ' closing tick for hsc2hs+        type FieldOffset "clearValue" VkClearAttachment =+             #{offset VkClearAttachment, clearValue}+        type FieldIsArray "clearValue" VkClearAttachment = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkClearAttachment, clearValue}++instance CanReadField "clearValue" VkClearAttachment where+        {-# INLINE getField #-}+        getField = vkClearValue++        {-# INLINE readField #-}+        readField = readVkClearValue++instance CanWriteField "clearValue" VkClearAttachment where+        {-# INLINE writeField #-}+        writeField = writeVkClearValue++instance Show VkClearAttachment where+        showsPrec d x+          = showString "VkClearAttachment {" .+              showString "vkAspectMask = " .+                showsPrec d (vkAspectMask x) .+                  showString ", " .+                    showString "vkColorAttachment = " .+                      showsPrec d (vkColorAttachment x) .+                        showString ", " .+                          showString "vkClearValue = " .+                            showsPrec d (vkClearValue x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkClearColorValue.hsc view
@@ -0,0 +1,366 @@+#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.VkClearColorValue+       (VkClearColorValue(..)) 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.StructMembers+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.+--+--   > typedef union VkClearColorValue {+--   >     float                  float32[4];+--   >     int32_t                int32[4];+--   >     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>+data VkClearColorValue = VkClearColorValue## Addr## ByteArray##++instance Eq VkClearColorValue where+        (VkClearColorValue## a _) == x@(VkClearColorValue## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkClearColorValue where+        (VkClearColorValue## a _) `compare` x@(VkClearColorValue## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkClearColorValue where+        sizeOf ~_ = #{size VkClearColorValue}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkClearColorValue}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkClearColorValue where+        unsafeAddr (VkClearColorValue## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkClearColorValue## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkClearColorValue## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkClearColorValue where+        type StructFields VkClearColorValue =+             '["float32", "int32", "uint32"] -- ' closing tick for hsc2hs+        type CUnionType VkClearColorValue = 'True -- ' closing tick for hsc2hs+        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 =+             #{type float}+        type FieldOptional "float32" VkClearColorValue = 'False -- ' closing tick for hsc2hs+        type FieldOffset "float32" VkClearColorValue =+             #{offset VkClearColorValue, float32}+        type FieldIsArray "float32" VkClearColorValue = 'True -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkClearColorValue, float32}++instance (KnownNat idx,+          IndexInBounds "float32" idx VkClearColorValue) =>+         CanReadFieldArray "float32" idx VkClearColorValue+         where+        {-# SPECIALISE instance+                       CanReadFieldArray "float32" 0 VkClearColorValue #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "float32" 1 VkClearColorValue #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "float32" 2 VkClearColorValue #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "float32" 3 VkClearColorValue #-}+        type FieldArrayLength "float32" VkClearColorValue = 4++        {-# INLINE fieldArrayLength #-}+        fieldArrayLength = 4++        {-# INLINE getFieldArray #-}+        getFieldArray x+          = vkFloat32Array x (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++        {-# INLINE readFieldArray #-}+        readFieldArray x+          = readVkFloat32Array x+              (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++instance (KnownNat idx,+          IndexInBounds "float32" idx VkClearColorValue) =>+         CanWriteFieldArray "float32" idx VkClearColorValue+         where+        {-# SPECIALISE instance+                       CanWriteFieldArray "float32" 0 VkClearColorValue #-}++        {-# SPECIALISE instance+                       CanWriteFieldArray "float32" 1 VkClearColorValue #-}++        {-# SPECIALISE instance+                       CanWriteFieldArray "float32" 2 VkClearColorValue #-}++        {-# SPECIALISE instance+                       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+          = pokeByteOff p+              (idx * sizeOf (undefined :: Int32) ++                 #{offset VkClearColorValue, int32})++instance {-# OVERLAPPING #-} HasField "int32" VkClearColorValue+         where+        type FieldType "int32" VkClearColorValue = Int32+        type FieldOptional "int32" VkClearColorValue = 'False -- ' closing tick for hsc2hs+        type FieldOffset "int32" VkClearColorValue =+             #{offset VkClearColorValue, int32}+        type FieldIsArray "int32" VkClearColorValue = 'True -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkClearColorValue, int32}++instance (KnownNat idx,+          IndexInBounds "int32" idx VkClearColorValue) =>+         CanReadFieldArray "int32" idx VkClearColorValue+         where+        {-# SPECIALISE instance+                       CanReadFieldArray "int32" 0 VkClearColorValue #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "int32" 1 VkClearColorValue #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "int32" 2 VkClearColorValue #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "int32" 3 VkClearColorValue #-}+        type FieldArrayLength "int32" VkClearColorValue = 4++        {-# INLINE fieldArrayLength #-}+        fieldArrayLength = 4++        {-# INLINE getFieldArray #-}+        getFieldArray x+          = vkInt32Array x (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++        {-# INLINE readFieldArray #-}+        readFieldArray x+          = readVkInt32Array x (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++instance (KnownNat idx,+          IndexInBounds "int32" idx VkClearColorValue) =>+         CanWriteFieldArray "int32" idx VkClearColorValue+         where+        {-# SPECIALISE instance+                       CanWriteFieldArray "int32" 0 VkClearColorValue #-}++        {-# SPECIALISE instance+                       CanWriteFieldArray "int32" 1 VkClearColorValue #-}++        {-# SPECIALISE instance+                       CanWriteFieldArray "int32" 2 VkClearColorValue #-}++        {-# SPECIALISE instance+                       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+          = pokeByteOff p+              (idx * sizeOf (undefined :: Word32) ++                 #{offset VkClearColorValue, uint32})++instance {-# OVERLAPPING #-} HasField "uint32" VkClearColorValue+         where+        type FieldType "uint32" VkClearColorValue = Word32+        type FieldOptional "uint32" VkClearColorValue = 'False -- ' closing tick for hsc2hs+        type FieldOffset "uint32" VkClearColorValue =+             #{offset VkClearColorValue, uint32}+        type FieldIsArray "uint32" VkClearColorValue = 'True -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkClearColorValue, uint32}++instance (KnownNat idx,+          IndexInBounds "uint32" idx VkClearColorValue) =>+         CanReadFieldArray "uint32" idx VkClearColorValue+         where+        {-# SPECIALISE instance+                       CanReadFieldArray "uint32" 0 VkClearColorValue #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "uint32" 1 VkClearColorValue #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "uint32" 2 VkClearColorValue #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "uint32" 3 VkClearColorValue #-}+        type FieldArrayLength "uint32" VkClearColorValue = 4++        {-# INLINE fieldArrayLength #-}+        fieldArrayLength = 4++        {-# INLINE getFieldArray #-}+        getFieldArray x+          = vkUint32Array x (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++        {-# INLINE readFieldArray #-}+        readFieldArray x+          = readVkUint32Array x+              (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++instance (KnownNat idx,+          IndexInBounds "uint32" idx VkClearColorValue) =>+         CanWriteFieldArray "uint32" idx VkClearColorValue+         where+        {-# SPECIALISE instance+                       CanWriteFieldArray "uint32" 0 VkClearColorValue #-}++        {-# SPECIALISE instance+                       CanWriteFieldArray "uint32" 1 VkClearColorValue #-}++        {-# SPECIALISE instance+                       CanWriteFieldArray "uint32" 2 VkClearColorValue #-}++        {-# SPECIALISE instance+                       CanWriteFieldArray "uint32" 3 VkClearColorValue #-}++        {-# INLINE writeFieldArray #-}+        writeFieldArray x+          = writeVkUint32Array x+              (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 ", " .+                      showString "vkInt32Array = [" .+                        showsPrec d (map (vkInt32Array x) [1 .. 4]) .+                          showChar ']' .+                            showString ", " .+                              showString "vkUint32Array = [" .+                                showsPrec d (map (vkUint32Array x) [1 .. 4]) .+                                  showChar ']' . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkClearDepthStencilValue.hsc view
@@ -0,0 +1,174 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkClearDepthStencilValue+       (VkClearDepthStencilValue(..)) where+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)++-- | > 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>+data VkClearDepthStencilValue = VkClearDepthStencilValue## Addr##+                                                          ByteArray##++instance Eq VkClearDepthStencilValue where+        (VkClearDepthStencilValue## a _) ==+          x@(VkClearDepthStencilValue## b _) = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkClearDepthStencilValue where+        (VkClearDepthStencilValue## a _) `compare`+          x@(VkClearDepthStencilValue## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkClearDepthStencilValue where+        sizeOf ~_ = #{size VkClearDepthStencilValue}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkClearDepthStencilValue}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkClearDepthStencilValue where+        unsafeAddr (VkClearDepthStencilValue## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkClearDepthStencilValue## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkClearDepthStencilValue## (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkClearDepthStencilValue where+        type StructFields VkClearDepthStencilValue = '["depth", "stencil"] -- ' closing tick for hsc2hs+        type CUnionType VkClearDepthStencilValue = 'False -- ' closing tick for hsc2hs+        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 =+             #{type float}+        type FieldOptional "depth" VkClearDepthStencilValue = 'False -- ' closing tick for hsc2hs+        type FieldOffset "depth" VkClearDepthStencilValue =+             #{offset VkClearDepthStencilValue, depth}+        type FieldIsArray "depth" VkClearDepthStencilValue = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkClearDepthStencilValue, depth}++instance CanReadField "depth" VkClearDepthStencilValue where+        {-# INLINE getField #-}+        getField = vkDepth++        {-# INLINE readField #-}+        readField = readVkDepth++instance 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}++instance {-# OVERLAPPING #-}+         HasField "stencil" VkClearDepthStencilValue where+        type FieldType "stencil" VkClearDepthStencilValue = Word32+        type FieldOptional "stencil" VkClearDepthStencilValue = 'False -- ' closing tick for hsc2hs+        type FieldOffset "stencil" VkClearDepthStencilValue =+             #{offset VkClearDepthStencilValue, stencil}+        type FieldIsArray "stencil" VkClearDepthStencilValue = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkClearDepthStencilValue, stencil}++instance CanReadField "stencil" VkClearDepthStencilValue where+        {-# INLINE getField #-}+        getField = vkStencil++        {-# INLINE readField #-}+        readField = readVkStencil++instance CanWriteField "stencil" VkClearDepthStencilValue where+        {-# INLINE writeField #-}+        writeField = writeVkStencil++instance Show VkClearDepthStencilValue where+        showsPrec d x+          = showString "VkClearDepthStencilValue {" .+              showString "vkDepth = " .+                showsPrec d (vkDepth x) .+                  showString ", " .+                    showString "vkStencil = " .+                      showsPrec d (vkStencil x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkClearRect.hsc view
@@ -0,0 +1,216 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkClearRect (VkClearRect(..))+       where+import           Foreign.Storable                      (Storable (..))+import           GHC.Prim+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 {+--   >     VkRect2D       rect;+--   >     uint32_t       baseArrayLayer;+--   >     uint32_t       layerCount;+--   > } VkClearRect;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkClearRect.html VkClearRect registry at www.khronos.org>+data VkClearRect = VkClearRect## Addr## ByteArray##++instance Eq VkClearRect where+        (VkClearRect## a _) == x@(VkClearRect## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkClearRect where+        (VkClearRect## a _) `compare` x@(VkClearRect## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkClearRect where+        sizeOf ~_ = #{size VkClearRect}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkClearRect}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkClearRect where+        unsafeAddr (VkClearRect## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkClearRect## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkClearRect## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkClearRect where+        type StructFields VkClearRect =+             '["rect", "baseArrayLayer", "layerCount"] -- ' closing tick for hsc2hs+        type CUnionType VkClearRect = 'False -- ' closing tick for hsc2hs+        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+        type FieldOffset "rect" VkClearRect =+             #{offset VkClearRect, rect}+        type FieldIsArray "rect" VkClearRect = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkClearRect, rect}++instance CanReadField "rect" VkClearRect where+        {-# INLINE getField #-}+        getField = vkRect++        {-# INLINE readField #-}+        readField = readVkRect++instance 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}++instance {-# OVERLAPPING #-} HasField "baseArrayLayer" VkClearRect+         where+        type FieldType "baseArrayLayer" VkClearRect = Word32+        type FieldOptional "baseArrayLayer" VkClearRect = 'False -- ' closing tick for hsc2hs+        type FieldOffset "baseArrayLayer" VkClearRect =+             #{offset VkClearRect, baseArrayLayer}+        type FieldIsArray "baseArrayLayer" VkClearRect = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkClearRect, baseArrayLayer}++instance CanReadField "baseArrayLayer" VkClearRect where+        {-# INLINE getField #-}+        getField = vkBaseArrayLayer++        {-# INLINE readField #-}+        readField = readVkBaseArrayLayer++instance 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}++instance {-# OVERLAPPING #-} HasField "layerCount" VkClearRect+         where+        type FieldType "layerCount" VkClearRect = Word32+        type FieldOptional "layerCount" VkClearRect = 'False -- ' closing tick for hsc2hs+        type FieldOffset "layerCount" VkClearRect =+             #{offset VkClearRect, layerCount}+        type FieldIsArray "layerCount" VkClearRect = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkClearRect, layerCount}++instance CanReadField "layerCount" VkClearRect where+        {-# INLINE getField #-}+        getField = vkLayerCount++        {-# INLINE readField #-}+        readField = readVkLayerCount++instance CanWriteField "layerCount" VkClearRect where+        {-# INLINE writeField #-}+        writeField = writeVkLayerCount++instance Show VkClearRect where+        showsPrec d x+          = showString "VkClearRect {" .+              showString "vkRect = " .+                showsPrec d (vkRect x) .+                  showString ", " .+                    showString "vkBaseArrayLayer = " .+                      showsPrec d (vkBaseArrayLayer x) .+                        showString ", " .+                          showString "vkLayerCount = " .+                            showsPrec d (vkLayerCount x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkClearValue.hsc view
@@ -0,0 +1,170 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkClearValue (VkClearValue(..))+       where+import           Foreign.Storable                                      (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+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.+--+--   > typedef union VkClearValue {+--   >     VkClearColorValue      color;+--   >     VkClearDepthStencilValue depthStencil;+--   > } VkClearValue;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkClearValue.html VkClearValue registry at www.khronos.org>+data VkClearValue = VkClearValue## Addr## ByteArray##++instance Eq VkClearValue where+        (VkClearValue## a _) == x@(VkClearValue## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkClearValue where+        (VkClearValue## a _) `compare` x@(VkClearValue## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkClearValue where+        sizeOf ~_ = #{size VkClearValue}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkClearValue}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkClearValue where+        unsafeAddr (VkClearValue## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkClearValue## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkClearValue## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkClearValue where+        type StructFields VkClearValue = '["color", "depthStencil"] -- ' closing tick for hsc2hs+        type CUnionType VkClearValue = 'True -- ' closing tick for hsc2hs+        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+        type FieldOffset "color" VkClearValue =+             #{offset VkClearValue, color}+        type FieldIsArray "color" VkClearValue = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkClearValue, color}++instance CanReadField "color" VkClearValue where+        {-# INLINE getField #-}+        getField = vkColor++        {-# INLINE readField #-}+        readField = readVkColor++instance 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}++instance {-# OVERLAPPING #-} HasField "depthStencil" VkClearValue+         where+        type FieldType "depthStencil" VkClearValue =+             VkClearDepthStencilValue+        type FieldOptional "depthStencil" VkClearValue = 'False -- ' closing tick for hsc2hs+        type FieldOffset "depthStencil" VkClearValue =+             #{offset VkClearValue, depthStencil}+        type FieldIsArray "depthStencil" VkClearValue = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkClearValue, depthStencil}++instance CanReadField "depthStencil" VkClearValue where+        {-# INLINE getField #-}+        getField = vkDepthStencil++        {-# INLINE readField #-}+        readField = readVkDepthStencil++instance CanWriteField "depthStencil" VkClearValue where+        {-# INLINE writeField #-}+        writeField = writeVkDepthStencil++instance Show VkClearValue where+        showsPrec d x+          = showString "VkClearValue {" .+              showString "vkColor = " .+                showsPrec d (vkColor x) .+                  showString ", " .+                    showString "vkDepthStencil = " .+                      showsPrec d (vkDepthStencil x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkCmdProcessCommandsInfoNVX.hsc view
@@ -0,0 +1,822 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkCmdProcessCommandsInfoNVX+       (VkCmdProcessCommandsInfoNVX(..)) 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,+                                                                          VkCommandBuffer,+                                                                          VkIndirectCommandsLayoutNVX,+                                                                          VkObjectTableNVX)+import           Graphics.Vulkan.Types.Struct.VkIndirectCommandsTokenNVX (VkIndirectCommandsTokenNVX)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                        (unsafeDupablePerformIO)++-- | > 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;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkCmdProcessCommandsInfoNVX.html VkCmdProcessCommandsInfoNVX registry at www.khronos.org>+data VkCmdProcessCommandsInfoNVX = VkCmdProcessCommandsInfoNVX## Addr##+                                                                ByteArray##++instance Eq VkCmdProcessCommandsInfoNVX where+        (VkCmdProcessCommandsInfoNVX## a _) ==+          x@(VkCmdProcessCommandsInfoNVX## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkCmdProcessCommandsInfoNVX where+        (VkCmdProcessCommandsInfoNVX## a _) `compare`+          x@(VkCmdProcessCommandsInfoNVX## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkCmdProcessCommandsInfoNVX where+        sizeOf ~_ = #{size VkCmdProcessCommandsInfoNVX}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkCmdProcessCommandsInfoNVX}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkCmdProcessCommandsInfoNVX where+        unsafeAddr (VkCmdProcessCommandsInfoNVX## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkCmdProcessCommandsInfoNVX## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkCmdProcessCommandsInfoNVX##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkCmdProcessCommandsInfoNVX where+        type StructFields VkCmdProcessCommandsInfoNVX =+             '["sType", "pNext", "objectTable", "indirectCommandsLayout", -- ' closing tick for hsc2hs+               "indirectCommandsTokenCount", "pIndirectCommandsTokens",+               "maxSequencesCount", "targetCommandBuffer", "sequencesCountBuffer",+               "sequencesCountOffset", "sequencesIndexBuffer",+               "sequencesIndexOffset"]+        type CUnionType VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs+        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 =+             VkStructureType+        type FieldOptional "sType" VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkCmdProcessCommandsInfoNVX =+             #{offset VkCmdProcessCommandsInfoNVX, sType}+        type FieldIsArray "sType" VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkCmdProcessCommandsInfoNVX, sType}++instance CanReadField "sType" VkCmdProcessCommandsInfoNVX where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkCmdProcessCommandsInfoNVX where+        type FieldType "pNext" VkCmdProcessCommandsInfoNVX = Ptr Void+        type FieldOptional "pNext" VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkCmdProcessCommandsInfoNVX =+             #{offset VkCmdProcessCommandsInfoNVX, pNext}+        type FieldIsArray "pNext" VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, objectTable})++        {-# INLINE vkObjectTableByteOffset #-}+        vkObjectTableByteOffset ~_+          = #{offset VkCmdProcessCommandsInfoNVX, objectTable}++        {-# INLINE readVkObjectTable #-}+        readVkObjectTable p+          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, objectTable}++        {-# INLINE writeVkObjectTable #-}+        writeVkObjectTable p+          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, objectTable}++instance {-# OVERLAPPING #-}+         HasField "objectTable" VkCmdProcessCommandsInfoNVX where+        type FieldType "objectTable" VkCmdProcessCommandsInfoNVX =+             VkObjectTableNVX+        type FieldOptional "objectTable" VkCmdProcessCommandsInfoNVX =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "objectTable" VkCmdProcessCommandsInfoNVX =+             #{offset VkCmdProcessCommandsInfoNVX, objectTable}+        type FieldIsArray "objectTable" VkCmdProcessCommandsInfoNVX =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout})++        {-# INLINE vkIndirectCommandsLayoutByteOffset #-}+        vkIndirectCommandsLayoutByteOffset ~_+          = #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout}++        {-# INLINE readVkIndirectCommandsLayout #-}+        readVkIndirectCommandsLayout p+          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout}++        {-# INLINE writeVkIndirectCommandsLayout #-}+        writeVkIndirectCommandsLayout p+          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout}++instance {-# OVERLAPPING #-}+         HasField "indirectCommandsLayout" VkCmdProcessCommandsInfoNVX where+        type FieldType "indirectCommandsLayout" VkCmdProcessCommandsInfoNVX+             = VkIndirectCommandsLayoutNVX+        type FieldOptional "indirectCommandsLayout"+               VkCmdProcessCommandsInfoNVX+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "indirectCommandsLayout"+               VkCmdProcessCommandsInfoNVX+             =+             #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout}+        type FieldIsArray "indirectCommandsLayout"+               VkCmdProcessCommandsInfoNVX+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout}++instance CanReadField "indirectCommandsLayout"+           VkCmdProcessCommandsInfoNVX+         where+        {-# INLINE getField #-}+        getField = vkIndirectCommandsLayout++        {-# INLINE readField #-}+        readField = readVkIndirectCommandsLayout++instance 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}++instance {-# OVERLAPPING #-}+         HasField "indirectCommandsTokenCount" VkCmdProcessCommandsInfoNVX+         where+        type FieldType "indirectCommandsTokenCount"+               VkCmdProcessCommandsInfoNVX+             = Word32+        type FieldOptional "indirectCommandsTokenCount"+               VkCmdProcessCommandsInfoNVX+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "indirectCommandsTokenCount"+               VkCmdProcessCommandsInfoNVX+             =+             #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsTokenCount}+        type FieldIsArray "indirectCommandsTokenCount"+               VkCmdProcessCommandsInfoNVX+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsTokenCount}++instance CanReadField "indirectCommandsTokenCount"+           VkCmdProcessCommandsInfoNVX+         where+        {-# INLINE getField #-}+        getField = vkIndirectCommandsTokenCount++        {-# INLINE readField #-}+        readField = readVkIndirectCommandsTokenCount++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pIndirectCommandsTokens" VkCmdProcessCommandsInfoNVX+         where+        type FieldType "pIndirectCommandsTokens"+               VkCmdProcessCommandsInfoNVX+             = Ptr VkIndirectCommandsTokenNVX+        type FieldOptional "pIndirectCommandsTokens"+               VkCmdProcessCommandsInfoNVX+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pIndirectCommandsTokens"+               VkCmdProcessCommandsInfoNVX+             =+             #{offset VkCmdProcessCommandsInfoNVX, pIndirectCommandsTokens}+        type FieldIsArray "pIndirectCommandsTokens"+               VkCmdProcessCommandsInfoNVX+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkCmdProcessCommandsInfoNVX, pIndirectCommandsTokens}++instance CanReadField "pIndirectCommandsTokens"+           VkCmdProcessCommandsInfoNVX+         where+        {-# INLINE getField #-}+        getField = vkPIndirectCommandsTokens++        {-# INLINE readField #-}+        readField = readVkPIndirectCommandsTokens++instance 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}++instance {-# OVERLAPPING #-}+         HasField "maxSequencesCount" VkCmdProcessCommandsInfoNVX where+        type FieldType "maxSequencesCount" VkCmdProcessCommandsInfoNVX =+             Word32+        type FieldOptional "maxSequencesCount" VkCmdProcessCommandsInfoNVX+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "maxSequencesCount" VkCmdProcessCommandsInfoNVX =+             #{offset VkCmdProcessCommandsInfoNVX, maxSequencesCount}+        type FieldIsArray "maxSequencesCount" VkCmdProcessCommandsInfoNVX =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer})++        {-# INLINE vkTargetCommandBufferByteOffset #-}+        vkTargetCommandBufferByteOffset ~_+          = #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer}++        {-# INLINE readVkTargetCommandBuffer #-}+        readVkTargetCommandBuffer p+          = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer}++        {-# INLINE writeVkTargetCommandBuffer #-}+        writeVkTargetCommandBuffer p+          = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer}++instance {-# OVERLAPPING #-}+         HasField "targetCommandBuffer" VkCmdProcessCommandsInfoNVX where+        type FieldType "targetCommandBuffer" VkCmdProcessCommandsInfoNVX =+             VkCommandBuffer+        type FieldOptional "targetCommandBuffer"+               VkCmdProcessCommandsInfoNVX+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "targetCommandBuffer" VkCmdProcessCommandsInfoNVX+             =+             #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer}+        type FieldIsArray "targetCommandBuffer" VkCmdProcessCommandsInfoNVX+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer}++instance CanReadField "targetCommandBuffer"+           VkCmdProcessCommandsInfoNVX+         where+        {-# INLINE getField #-}+        getField = vkTargetCommandBuffer++        {-# INLINE readField #-}+        readField = readVkTargetCommandBuffer++instance 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}++instance {-# OVERLAPPING #-}+         HasField "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX where+        type FieldType "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX =+             VkBuffer+        type FieldOptional "sequencesCountBuffer"+               VkCmdProcessCommandsInfoNVX+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX+             =+             #{offset VkCmdProcessCommandsInfoNVX, sequencesCountBuffer}+        type FieldIsArray "sequencesCountBuffer"+               VkCmdProcessCommandsInfoNVX+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkCmdProcessCommandsInfoNVX, sequencesCountBuffer}++instance CanReadField "sequencesCountBuffer"+           VkCmdProcessCommandsInfoNVX+         where+        {-# INLINE getField #-}+        getField = vkSequencesCountBuffer++        {-# INLINE readField #-}+        readField = readVkSequencesCountBuffer++instance 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}++instance {-# OVERLAPPING #-}+         HasField "sequencesCountOffset" VkCmdProcessCommandsInfoNVX where+        type FieldType "sequencesCountOffset" VkCmdProcessCommandsInfoNVX =+             VkDeviceSize+        type FieldOptional "sequencesCountOffset"+               VkCmdProcessCommandsInfoNVX+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "sequencesCountOffset" VkCmdProcessCommandsInfoNVX+             =+             #{offset VkCmdProcessCommandsInfoNVX, sequencesCountOffset}+        type FieldIsArray "sequencesCountOffset"+               VkCmdProcessCommandsInfoNVX+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkCmdProcessCommandsInfoNVX, sequencesCountOffset}++instance CanReadField "sequencesCountOffset"+           VkCmdProcessCommandsInfoNVX+         where+        {-# INLINE getField #-}+        getField = vkSequencesCountOffset++        {-# INLINE readField #-}+        readField = readVkSequencesCountOffset++instance 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}++instance {-# OVERLAPPING #-}+         HasField "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX where+        type FieldType "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX =+             VkBuffer+        type FieldOptional "sequencesIndexBuffer"+               VkCmdProcessCommandsInfoNVX+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX+             =+             #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexBuffer}+        type FieldIsArray "sequencesIndexBuffer"+               VkCmdProcessCommandsInfoNVX+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexBuffer}++instance CanReadField "sequencesIndexBuffer"+           VkCmdProcessCommandsInfoNVX+         where+        {-# INLINE getField #-}+        getField = vkSequencesIndexBuffer++        {-# INLINE readField #-}+        readField = readVkSequencesIndexBuffer++instance 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}++instance {-# OVERLAPPING #-}+         HasField "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX where+        type FieldType "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX =+             VkDeviceSize+        type FieldOptional "sequencesIndexOffset"+               VkCmdProcessCommandsInfoNVX+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX+             =+             #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexOffset}+        type FieldIsArray "sequencesIndexOffset"+               VkCmdProcessCommandsInfoNVX+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexOffset}++instance CanReadField "sequencesIndexOffset"+           VkCmdProcessCommandsInfoNVX+         where+        {-# INLINE getField #-}+        getField = vkSequencesIndexOffset++        {-# INLINE readField #-}+        readField = readVkSequencesIndexOffset++instance CanWriteField "sequencesIndexOffset"+           VkCmdProcessCommandsInfoNVX+         where+        {-# INLINE writeField #-}+        writeField = writeVkSequencesIndexOffset++instance Show VkCmdProcessCommandsInfoNVX where+        showsPrec d x+          = showString "VkCmdProcessCommandsInfoNVX {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkObjectTable = " .+                            showsPrec d (vkObjectTable x) .+                              showString ", " .+                                showString "vkIndirectCommandsLayout = " .+                                  showsPrec d (vkIndirectCommandsLayout x) .+                                    showString ", " .+                                      showString "vkIndirectCommandsTokenCount = " .+                                        showsPrec d (vkIndirectCommandsTokenCount x) .+                                          showString ", " .+                                            showString "vkPIndirectCommandsTokens = " .+                                              showsPrec d (vkPIndirectCommandsTokens x) .+                                                showString ", " .+                                                  showString "vkMaxSequencesCount = " .+                                                    showsPrec d (vkMaxSequencesCount x) .+                                                      showString ", " .+                                                        showString "vkTargetCommandBuffer = " .+                                                          showsPrec d (vkTargetCommandBuffer x) .+                                                            showString ", " .+                                                              showString "vkSequencesCountBuffer = "+                                                                .+                                                                showsPrec d+                                                                  (vkSequencesCountBuffer x)+                                                                  .+                                                                  showString ", " .+                                                                    showString+                                                                      "vkSequencesCountOffset = "+                                                                      .+                                                                      showsPrec d+                                                                        (vkSequencesCountOffset x)+                                                                        .+                                                                        showString ", " .+                                                                          showString+                                                                            "vkSequencesIndexBuffer = "+                                                                            .+                                                                            showsPrec d+                                                                              (vkSequencesIndexBuffer+                                                                                 x)+                                                                              .+                                                                              showString ", " .+                                                                                showString+                                                                                  "vkSequencesIndexOffset = "+                                                                                  .+                                                                                  showsPrec d+                                                                                    (vkSequencesIndexOffset+                                                                                       x)+                                                                                    . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkCmdReserveSpaceForCommandsInfoNVX.hsc view
@@ -0,0 +1,388 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkCmdReserveSpaceForCommandsInfoNVX+       (VkCmdReserveSpaceForCommandsInfoNVX(..)) 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              (VkIndirectCommandsLayoutNVX,+                                                             VkObjectTableNVX)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkCmdReserveSpaceForCommandsInfoNVX {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkObjectTableNVX                                         objectTable;+--   >     VkIndirectCommandsLayoutNVX                              indirectCommandsLayout;+--   >     uint32_t                                                 maxSequencesCount;+--   > } VkCmdReserveSpaceForCommandsInfoNVX;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkCmdReserveSpaceForCommandsInfoNVX.html VkCmdReserveSpaceForCommandsInfoNVX registry at www.khronos.org>+data VkCmdReserveSpaceForCommandsInfoNVX = VkCmdReserveSpaceForCommandsInfoNVX## Addr##+                                                                                ByteArray##++instance Eq VkCmdReserveSpaceForCommandsInfoNVX where+        (VkCmdReserveSpaceForCommandsInfoNVX## a _) ==+          x@(VkCmdReserveSpaceForCommandsInfoNVX## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkCmdReserveSpaceForCommandsInfoNVX where+        (VkCmdReserveSpaceForCommandsInfoNVX## a _) `compare`+          x@(VkCmdReserveSpaceForCommandsInfoNVX## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkCmdReserveSpaceForCommandsInfoNVX where+        sizeOf ~_ = #{size VkCmdReserveSpaceForCommandsInfoNVX}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkCmdReserveSpaceForCommandsInfoNVX}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkCmdReserveSpaceForCommandsInfoNVX+         where+        unsafeAddr (VkCmdReserveSpaceForCommandsInfoNVX## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkCmdReserveSpaceForCommandsInfoNVX## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkCmdReserveSpaceForCommandsInfoNVX##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkCmdReserveSpaceForCommandsInfoNVX where+        type StructFields VkCmdReserveSpaceForCommandsInfoNVX =+             '["sType", "pNext", "objectTable", "indirectCommandsLayout", -- ' closing tick for hsc2hs+               "maxSequencesCount"]+        type CUnionType VkCmdReserveSpaceForCommandsInfoNVX = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkCmdReserveSpaceForCommandsInfoNVX = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkCmdReserveSpaceForCommandsInfoNVX =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkCmdReserveSpaceForCommandsInfoNVX =+             #{offset VkCmdReserveSpaceForCommandsInfoNVX, sType}+        type FieldIsArray "sType" VkCmdReserveSpaceForCommandsInfoNVX =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkCmdReserveSpaceForCommandsInfoNVX where+        type FieldType "pNext" VkCmdReserveSpaceForCommandsInfoNVX =+             Ptr Void+        type FieldOptional "pNext" VkCmdReserveSpaceForCommandsInfoNVX =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkCmdReserveSpaceForCommandsInfoNVX =+             #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext}+        type FieldIsArray "pNext" VkCmdReserveSpaceForCommandsInfoNVX =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable})++        {-# INLINE vkObjectTableByteOffset #-}+        vkObjectTableByteOffset ~_+          = #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable}++        {-# INLINE readVkObjectTable #-}+        readVkObjectTable p+          = peekByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable}++        {-# INLINE writeVkObjectTable #-}+        writeVkObjectTable p+          = pokeByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable}++instance {-# OVERLAPPING #-}+         HasField "objectTable" VkCmdReserveSpaceForCommandsInfoNVX where+        type FieldType "objectTable" VkCmdReserveSpaceForCommandsInfoNVX =+             VkObjectTableNVX+        type FieldOptional "objectTable"+               VkCmdReserveSpaceForCommandsInfoNVX+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "objectTable" VkCmdReserveSpaceForCommandsInfoNVX+             =+             #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable}+        type FieldIsArray "objectTable" VkCmdReserveSpaceForCommandsInfoNVX+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable}++instance CanReadField "objectTable"+           VkCmdReserveSpaceForCommandsInfoNVX+         where+        {-# INLINE getField #-}+        getField = vkObjectTable++        {-# INLINE readField #-}+        readField = readVkObjectTable++instance CanWriteField "objectTable"+           VkCmdReserveSpaceForCommandsInfoNVX+         where+        {-# INLINE writeField #-}+        writeField = writeVkObjectTable++instance {-# OVERLAPPING #-}+         HasVkIndirectCommandsLayout 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}++instance {-# OVERLAPPING #-}+         HasField "indirectCommandsLayout"+           VkCmdReserveSpaceForCommandsInfoNVX+         where+        type FieldType "indirectCommandsLayout"+               VkCmdReserveSpaceForCommandsInfoNVX+             = VkIndirectCommandsLayoutNVX+        type FieldOptional "indirectCommandsLayout"+               VkCmdReserveSpaceForCommandsInfoNVX+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "indirectCommandsLayout"+               VkCmdReserveSpaceForCommandsInfoNVX+             =+             #{offset VkCmdReserveSpaceForCommandsInfoNVX, indirectCommandsLayout}+        type FieldIsArray "indirectCommandsLayout"+               VkCmdReserveSpaceForCommandsInfoNVX+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkCmdReserveSpaceForCommandsInfoNVX, indirectCommandsLayout}++instance CanReadField "indirectCommandsLayout"+           VkCmdReserveSpaceForCommandsInfoNVX+         where+        {-# INLINE getField #-}+        getField = vkIndirectCommandsLayout++        {-# INLINE readField #-}+        readField = readVkIndirectCommandsLayout++instance 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}++instance {-# OVERLAPPING #-}+         HasField "maxSequencesCount" VkCmdReserveSpaceForCommandsInfoNVX+         where+        type FieldType "maxSequencesCount"+               VkCmdReserveSpaceForCommandsInfoNVX+             = Word32+        type FieldOptional "maxSequencesCount"+               VkCmdReserveSpaceForCommandsInfoNVX+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "maxSequencesCount"+               VkCmdReserveSpaceForCommandsInfoNVX+             =+             #{offset VkCmdReserveSpaceForCommandsInfoNVX, maxSequencesCount}+        type FieldIsArray "maxSequencesCount"+               VkCmdReserveSpaceForCommandsInfoNVX+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkCmdReserveSpaceForCommandsInfoNVX, maxSequencesCount}++instance CanReadField "maxSequencesCount"+           VkCmdReserveSpaceForCommandsInfoNVX+         where+        {-# INLINE getField #-}+        getField = vkMaxSequencesCount++        {-# INLINE readField #-}+        readField = readVkMaxSequencesCount++instance CanWriteField "maxSequencesCount"+           VkCmdReserveSpaceForCommandsInfoNVX+         where+        {-# INLINE writeField #-}+        writeField = writeVkMaxSequencesCount++instance Show VkCmdReserveSpaceForCommandsInfoNVX where+        showsPrec d x+          = showString "VkCmdReserveSpaceForCommandsInfoNVX {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkObjectTable = " .+                            showsPrec d (vkObjectTable x) .+                              showString ", " .+                                showString "vkIndirectCommandsLayout = " .+                                  showsPrec d (vkIndirectCommandsLayout x) .+                                    showString ", " .+                                      showString "vkMaxSequencesCount = " .+                                        showsPrec d (vkMaxSequencesCount x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkCommandBufferAllocateInfo.hsc view
@@ -0,0 +1,347 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkCommandBufferAllocateInfo+       (VkCommandBufferAllocateInfo(..)) where+import           Foreign.Storable                                (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+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 {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkCommandPool          commandPool;+--   >     VkCommandBufferLevel   level;+--   >     uint32_t               commandBufferCount;+--   > } VkCommandBufferAllocateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkCommandBufferAllocateInfo.html VkCommandBufferAllocateInfo registry at www.khronos.org>+data VkCommandBufferAllocateInfo = VkCommandBufferAllocateInfo## Addr##+                                                                ByteArray##++instance Eq VkCommandBufferAllocateInfo where+        (VkCommandBufferAllocateInfo## a _) ==+          x@(VkCommandBufferAllocateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkCommandBufferAllocateInfo where+        (VkCommandBufferAllocateInfo## a _) `compare`+          x@(VkCommandBufferAllocateInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkCommandBufferAllocateInfo where+        sizeOf ~_ = #{size VkCommandBufferAllocateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkCommandBufferAllocateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkCommandBufferAllocateInfo where+        unsafeAddr (VkCommandBufferAllocateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkCommandBufferAllocateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkCommandBufferAllocateInfo##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkCommandBufferAllocateInfo where+        type StructFields VkCommandBufferAllocateInfo =+             '["sType", "pNext", "commandPool", "level", "commandBufferCount"] -- ' closing tick for hsc2hs+        type CUnionType VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs+        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 =+             VkStructureType+        type FieldOptional "sType" VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkCommandBufferAllocateInfo =+             #{offset VkCommandBufferAllocateInfo, sType}+        type FieldIsArray "sType" VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkCommandBufferAllocateInfo, sType}++instance CanReadField "sType" VkCommandBufferAllocateInfo where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkCommandBufferAllocateInfo where+        type FieldType "pNext" VkCommandBufferAllocateInfo = Ptr Void+        type FieldOptional "pNext" VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkCommandBufferAllocateInfo =+             #{offset VkCommandBufferAllocateInfo, pNext}+        type FieldIsArray "pNext" VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferAllocateInfo, commandPool})++        {-# INLINE vkCommandPoolByteOffset #-}+        vkCommandPoolByteOffset ~_+          = #{offset VkCommandBufferAllocateInfo, commandPool}++        {-# INLINE readVkCommandPool #-}+        readVkCommandPool p+          = peekByteOff p #{offset VkCommandBufferAllocateInfo, commandPool}++        {-# INLINE writeVkCommandPool #-}+        writeVkCommandPool p+          = pokeByteOff p #{offset VkCommandBufferAllocateInfo, commandPool}++instance {-# OVERLAPPING #-}+         HasField "commandPool" VkCommandBufferAllocateInfo where+        type FieldType "commandPool" VkCommandBufferAllocateInfo =+             VkCommandPool+        type FieldOptional "commandPool" VkCommandBufferAllocateInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "commandPool" VkCommandBufferAllocateInfo =+             #{offset VkCommandBufferAllocateInfo, commandPool}+        type FieldIsArray "commandPool" VkCommandBufferAllocateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkCommandBufferAllocateInfo, commandPool}++instance CanReadField "commandPool" VkCommandBufferAllocateInfo+         where+        {-# INLINE getField #-}+        getField = vkCommandPool++        {-# INLINE readField #-}+        readField = readVkCommandPool++instance 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}++instance {-# OVERLAPPING #-}+         HasField "level" VkCommandBufferAllocateInfo where+        type FieldType "level" VkCommandBufferAllocateInfo =+             VkCommandBufferLevel+        type FieldOptional "level" VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "level" VkCommandBufferAllocateInfo =+             #{offset VkCommandBufferAllocateInfo, level}+        type FieldIsArray "level" VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferAllocateInfo, commandBufferCount})++        {-# INLINE vkCommandBufferCountByteOffset #-}+        vkCommandBufferCountByteOffset ~_+          = #{offset VkCommandBufferAllocateInfo, commandBufferCount}++        {-# INLINE readVkCommandBufferCount #-}+        readVkCommandBufferCount p+          = peekByteOff p #{offset VkCommandBufferAllocateInfo, commandBufferCount}++        {-# INLINE writeVkCommandBufferCount #-}+        writeVkCommandBufferCount p+          = pokeByteOff p #{offset VkCommandBufferAllocateInfo, commandBufferCount}++instance {-# OVERLAPPING #-}+         HasField "commandBufferCount" VkCommandBufferAllocateInfo where+        type FieldType "commandBufferCount" VkCommandBufferAllocateInfo =+             Word32+        type FieldOptional "commandBufferCount" VkCommandBufferAllocateInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "commandBufferCount" VkCommandBufferAllocateInfo =+             #{offset VkCommandBufferAllocateInfo, commandBufferCount}+        type FieldIsArray "commandBufferCount" VkCommandBufferAllocateInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkCommandBufferAllocateInfo, commandBufferCount}++instance CanReadField "commandBufferCount"+           VkCommandBufferAllocateInfo+         where+        {-# INLINE getField #-}+        getField = vkCommandBufferCount++        {-# INLINE readField #-}+        readField = readVkCommandBufferCount++instance CanWriteField "commandBufferCount"+           VkCommandBufferAllocateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkCommandBufferCount++instance Show VkCommandBufferAllocateInfo where+        showsPrec d x+          = showString "VkCommandBufferAllocateInfo {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkCommandPool = " .+                            showsPrec d (vkCommandPool x) .+                              showString ", " .+                                showString "vkLevel = " .+                                  showsPrec d (vkLevel x) .+                                    showString ", " .+                                      showString "vkCommandBufferCount = " .+                                        showsPrec d (vkCommandBufferCount x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkCommandBufferBeginInfo.hsc view
@@ -0,0 +1,284 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkCommandBufferBeginInfo+       (VkCommandBufferBeginInfo(..)) where+import           Foreign.Storable                                            (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+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 {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkCommandBufferUsageFlags  flags;+--   >     const VkCommandBufferInheritanceInfo*       pInheritanceInfo;+--   > } VkCommandBufferBeginInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkCommandBufferBeginInfo.html VkCommandBufferBeginInfo registry at www.khronos.org>+data VkCommandBufferBeginInfo = VkCommandBufferBeginInfo## Addr##+                                                          ByteArray##++instance Eq VkCommandBufferBeginInfo where+        (VkCommandBufferBeginInfo## a _) ==+          x@(VkCommandBufferBeginInfo## b _) = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkCommandBufferBeginInfo where+        (VkCommandBufferBeginInfo## a _) `compare`+          x@(VkCommandBufferBeginInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkCommandBufferBeginInfo where+        sizeOf ~_ = #{size VkCommandBufferBeginInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkCommandBufferBeginInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkCommandBufferBeginInfo where+        unsafeAddr (VkCommandBufferBeginInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkCommandBufferBeginInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkCommandBufferBeginInfo## (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkCommandBufferBeginInfo where+        type StructFields VkCommandBufferBeginInfo =+             '["sType", "pNext", "flags", "pInheritanceInfo"] -- ' closing tick for hsc2hs+        type CUnionType VkCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkCommandBufferBeginInfo =+             #{offset VkCommandBufferBeginInfo, sType}+        type FieldIsArray "sType" VkCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkCommandBufferBeginInfo, sType}++instance CanReadField "sType" VkCommandBufferBeginInfo where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkCommandBufferBeginInfo where+        type FieldType "pNext" VkCommandBufferBeginInfo = Ptr Void+        type FieldOptional "pNext" VkCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkCommandBufferBeginInfo =+             #{offset VkCommandBufferBeginInfo, pNext}+        type FieldIsArray "pNext" VkCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkCommandBufferBeginInfo, pNext}++instance CanReadField "pNext" VkCommandBufferBeginInfo where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance 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}++instance {-# OVERLAPPING #-}+         HasField "flags" VkCommandBufferBeginInfo where+        type FieldType "flags" VkCommandBufferBeginInfo =+             VkCommandBufferUsageFlags+        type FieldOptional "flags" VkCommandBufferBeginInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkCommandBufferBeginInfo =+             #{offset VkCommandBufferBeginInfo, flags}+        type FieldIsArray "flags" VkCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# 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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferBeginInfo, pInheritanceInfo})++        {-# INLINE vkPInheritanceInfoByteOffset #-}+        vkPInheritanceInfoByteOffset ~_+          = #{offset VkCommandBufferBeginInfo, pInheritanceInfo}++        {-# INLINE readVkPInheritanceInfo #-}+        readVkPInheritanceInfo p+          = peekByteOff p #{offset VkCommandBufferBeginInfo, pInheritanceInfo}++        {-# INLINE writeVkPInheritanceInfo #-}+        writeVkPInheritanceInfo p+          = pokeByteOff p #{offset VkCommandBufferBeginInfo, pInheritanceInfo}++instance {-# OVERLAPPING #-}+         HasField "pInheritanceInfo" VkCommandBufferBeginInfo where+        type FieldType "pInheritanceInfo" VkCommandBufferBeginInfo =+             Ptr VkCommandBufferInheritanceInfo+        type FieldOptional "pInheritanceInfo" VkCommandBufferBeginInfo =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "pInheritanceInfo" VkCommandBufferBeginInfo =+             #{offset VkCommandBufferBeginInfo, pInheritanceInfo}+        type FieldIsArray "pInheritanceInfo" VkCommandBufferBeginInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkCommandBufferBeginInfo, pInheritanceInfo}++instance CanReadField "pInheritanceInfo" VkCommandBufferBeginInfo+         where+        {-# INLINE getField #-}+        getField = vkPInheritanceInfo++        {-# INLINE readField #-}+        readField = readVkPInheritanceInfo++instance CanWriteField "pInheritanceInfo" VkCommandBufferBeginInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkPInheritanceInfo++instance Show VkCommandBufferBeginInfo where+        showsPrec d x+          = showString "VkCommandBufferBeginInfo {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFlags = " .+                            showsPrec d (vkFlags x) .+                              showString ", " .+                                showString "vkPInheritanceInfo = " .+                                  showsPrec d (vkPInheritanceInfo x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkCommandBufferInheritanceInfo.hsc view
@@ -0,0 +1,539 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkCommandBufferInheritanceInfo+       (VkCommandBufferInheritanceInfo(..)) 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.VkQueryControlFlags           (VkQueryControlFlags)+import           Graphics.Vulkan.Types.Enum.VkQueryPipelineStatisticFlags (VkQueryPipelineStatisticFlags)+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 {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkRenderPass    renderPass;+--   >     uint32_t               subpass;+--   >     VkFramebuffer   framebuffer;+--   >     VkBool32               occlusionQueryEnable;+--   >     VkQueryControlFlags    queryFlags;+--   >     VkQueryPipelineStatisticFlags pipelineStatistics;+--   > } VkCommandBufferInheritanceInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkCommandBufferInheritanceInfo.html VkCommandBufferInheritanceInfo registry at www.khronos.org>+data VkCommandBufferInheritanceInfo = VkCommandBufferInheritanceInfo## Addr##+                                                                      ByteArray##++instance Eq VkCommandBufferInheritanceInfo where+        (VkCommandBufferInheritanceInfo## a _) ==+          x@(VkCommandBufferInheritanceInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkCommandBufferInheritanceInfo where+        (VkCommandBufferInheritanceInfo## a _) `compare`+          x@(VkCommandBufferInheritanceInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkCommandBufferInheritanceInfo where+        sizeOf ~_ = #{size VkCommandBufferInheritanceInfo}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkCommandBufferInheritanceInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkCommandBufferInheritanceInfo where+        unsafeAddr (VkCommandBufferInheritanceInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkCommandBufferInheritanceInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkCommandBufferInheritanceInfo##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkCommandBufferInheritanceInfo where+        type StructFields VkCommandBufferInheritanceInfo =+             '["sType", "pNext", "renderPass", "subpass", "framebuffer", -- ' closing tick for hsc2hs+               "occlusionQueryEnable", "queryFlags", "pipelineStatistics"]+        type CUnionType VkCommandBufferInheritanceInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkCommandBufferInheritanceInfo = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkCommandBufferInheritanceInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkCommandBufferInheritanceInfo =+             #{offset VkCommandBufferInheritanceInfo, sType}+        type FieldIsArray "sType" VkCommandBufferInheritanceInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkCommandBufferInheritanceInfo, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkCommandBufferInheritanceInfo where+        type FieldType "pNext" VkCommandBufferInheritanceInfo = Ptr Void+        type FieldOptional "pNext" VkCommandBufferInheritanceInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkCommandBufferInheritanceInfo =+             #{offset VkCommandBufferInheritanceInfo, pNext}+        type FieldIsArray "pNext" VkCommandBufferInheritanceInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, renderPass})++        {-# INLINE vkRenderPassByteOffset #-}+        vkRenderPassByteOffset ~_+          = #{offset VkCommandBufferInheritanceInfo, renderPass}++        {-# INLINE readVkRenderPass #-}+        readVkRenderPass p+          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, renderPass}++        {-# INLINE writeVkRenderPass #-}+        writeVkRenderPass p+          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, renderPass}++instance {-# OVERLAPPING #-}+         HasField "renderPass" VkCommandBufferInheritanceInfo where+        type FieldType "renderPass" VkCommandBufferInheritanceInfo =+             VkRenderPass+        type FieldOptional "renderPass" VkCommandBufferInheritanceInfo =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "renderPass" VkCommandBufferInheritanceInfo =+             #{offset VkCommandBufferInheritanceInfo, renderPass}+        type FieldIsArray "renderPass" VkCommandBufferInheritanceInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, subpass})++        {-# INLINE vkSubpassByteOffset #-}+        vkSubpassByteOffset ~_+          = #{offset VkCommandBufferInheritanceInfo, subpass}++        {-# INLINE readVkSubpass #-}+        readVkSubpass p+          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, subpass}++        {-# INLINE writeVkSubpass #-}+        writeVkSubpass p+          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, subpass}++instance {-# OVERLAPPING #-}+         HasField "subpass" VkCommandBufferInheritanceInfo where+        type FieldType "subpass" VkCommandBufferInheritanceInfo = Word32+        type FieldOptional "subpass" VkCommandBufferInheritanceInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "subpass" VkCommandBufferInheritanceInfo =+             #{offset VkCommandBufferInheritanceInfo, subpass}+        type FieldIsArray "subpass" VkCommandBufferInheritanceInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, framebuffer})++        {-# INLINE vkFramebufferByteOffset #-}+        vkFramebufferByteOffset ~_+          = #{offset VkCommandBufferInheritanceInfo, framebuffer}++        {-# INLINE readVkFramebuffer #-}+        readVkFramebuffer p+          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, framebuffer}++        {-# INLINE writeVkFramebuffer #-}+        writeVkFramebuffer p+          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, framebuffer}++instance {-# OVERLAPPING #-}+         HasField "framebuffer" VkCommandBufferInheritanceInfo where+        type FieldType "framebuffer" VkCommandBufferInheritanceInfo =+             VkFramebuffer+        type FieldOptional "framebuffer" VkCommandBufferInheritanceInfo =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "framebuffer" VkCommandBufferInheritanceInfo =+             #{offset VkCommandBufferInheritanceInfo, framebuffer}+        type FieldIsArray "framebuffer" VkCommandBufferInheritanceInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable})++        {-# INLINE vkOcclusionQueryEnableByteOffset #-}+        vkOcclusionQueryEnableByteOffset ~_+          = #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable}++        {-# INLINE readVkOcclusionQueryEnable #-}+        readVkOcclusionQueryEnable p+          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable}++        {-# INLINE writeVkOcclusionQueryEnable #-}+        writeVkOcclusionQueryEnable p+          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable}++instance {-# OVERLAPPING #-}+         HasField "occlusionQueryEnable" VkCommandBufferInheritanceInfo+         where+        type FieldType "occlusionQueryEnable"+               VkCommandBufferInheritanceInfo+             = VkBool32+        type FieldOptional "occlusionQueryEnable"+               VkCommandBufferInheritanceInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "occlusionQueryEnable"+               VkCommandBufferInheritanceInfo+             =+             #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable}+        type FieldIsArray "occlusionQueryEnable"+               VkCommandBufferInheritanceInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable}++instance CanReadField "occlusionQueryEnable"+           VkCommandBufferInheritanceInfo+         where+        {-# INLINE getField #-}+        getField = vkOcclusionQueryEnable++        {-# INLINE readField #-}+        readField = readVkOcclusionQueryEnable++instance 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}++instance {-# OVERLAPPING #-}+         HasField "queryFlags" VkCommandBufferInheritanceInfo where+        type FieldType "queryFlags" VkCommandBufferInheritanceInfo =+             VkQueryControlFlags+        type FieldOptional "queryFlags" VkCommandBufferInheritanceInfo =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "queryFlags" VkCommandBufferInheritanceInfo =+             #{offset VkCommandBufferInheritanceInfo, queryFlags}+        type FieldIsArray "queryFlags" VkCommandBufferInheritanceInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, pipelineStatistics})++        {-# INLINE vkPipelineStatisticsByteOffset #-}+        vkPipelineStatisticsByteOffset ~_+          = #{offset VkCommandBufferInheritanceInfo, pipelineStatistics}++        {-# INLINE readVkPipelineStatistics #-}+        readVkPipelineStatistics p+          = peekByteOff p #{offset VkCommandBufferInheritanceInfo, pipelineStatistics}++        {-# INLINE writeVkPipelineStatistics #-}+        writeVkPipelineStatistics p+          = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, pipelineStatistics}++instance {-# OVERLAPPING #-}+         HasField "pipelineStatistics" VkCommandBufferInheritanceInfo where+        type FieldType "pipelineStatistics" VkCommandBufferInheritanceInfo+             = VkQueryPipelineStatisticFlags+        type FieldOptional "pipelineStatistics"+               VkCommandBufferInheritanceInfo+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "pipelineStatistics"+               VkCommandBufferInheritanceInfo+             =+             #{offset VkCommandBufferInheritanceInfo, pipelineStatistics}+        type FieldIsArray "pipelineStatistics"+               VkCommandBufferInheritanceInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkCommandBufferInheritanceInfo, pipelineStatistics}++instance CanReadField "pipelineStatistics"+           VkCommandBufferInheritanceInfo+         where+        {-# INLINE getField #-}+        getField = vkPipelineStatistics++        {-# INLINE readField #-}+        readField = readVkPipelineStatistics++instance CanWriteField "pipelineStatistics"+           VkCommandBufferInheritanceInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkPipelineStatistics++instance Show VkCommandBufferInheritanceInfo where+        showsPrec d x+          = showString "VkCommandBufferInheritanceInfo {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkRenderPass = " .+                            showsPrec d (vkRenderPass x) .+                              showString ", " .+                                showString "vkSubpass = " .+                                  showsPrec d (vkSubpass x) .+                                    showString ", " .+                                      showString "vkFramebuffer = " .+                                        showsPrec d (vkFramebuffer x) .+                                          showString ", " .+                                            showString "vkOcclusionQueryEnable = " .+                                              showsPrec d (vkOcclusionQueryEnable x) .+                                                showString ", " .+                                                  showString "vkQueryFlags = " .+                                                    showsPrec d (vkQueryFlags x) .+                                                      showString ", " .+                                                        showString "vkPipelineStatistics = " .+                                                          showsPrec d (vkPipelineStatistics x) .+                                                            showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkCommandPoolCreateInfo.hsc view
@@ -0,0 +1,280 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkCommandPoolCreateInfo+       (VkCommandPoolCreateInfo(..)) where+import           Foreign.Storable                                    (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+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 {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkCommandPoolCreateFlags   flags;+--   >     uint32_t               queueFamilyIndex;+--   > } VkCommandPoolCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkCommandPoolCreateInfo.html VkCommandPoolCreateInfo registry at www.khronos.org>+data VkCommandPoolCreateInfo = VkCommandPoolCreateInfo## Addr##+                                                        ByteArray##++instance Eq VkCommandPoolCreateInfo where+        (VkCommandPoolCreateInfo## a _) == x@(VkCommandPoolCreateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkCommandPoolCreateInfo where+        (VkCommandPoolCreateInfo## a _) `compare`+          x@(VkCommandPoolCreateInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkCommandPoolCreateInfo where+        sizeOf ~_ = #{size VkCommandPoolCreateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkCommandPoolCreateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkCommandPoolCreateInfo where+        unsafeAddr (VkCommandPoolCreateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkCommandPoolCreateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkCommandPoolCreateInfo## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkCommandPoolCreateInfo where+        type StructFields VkCommandPoolCreateInfo =+             '["sType", "pNext", "flags", "queueFamilyIndex"] -- ' closing tick for hsc2hs+        type CUnionType VkCommandPoolCreateInfo = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkCommandPoolCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkCommandPoolCreateInfo =+             #{offset VkCommandPoolCreateInfo, sType}+        type FieldIsArray "sType" VkCommandPoolCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkCommandPoolCreateInfo, sType}++instance CanReadField "sType" VkCommandPoolCreateInfo where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkCommandPoolCreateInfo where+        type FieldType "pNext" VkCommandPoolCreateInfo = Ptr Void+        type FieldOptional "pNext" VkCommandPoolCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkCommandPoolCreateInfo =+             #{offset VkCommandPoolCreateInfo, pNext}+        type FieldIsArray "pNext" VkCommandPoolCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkCommandPoolCreateInfo, pNext}++instance CanReadField "pNext" VkCommandPoolCreateInfo where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance 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}++instance {-# OVERLAPPING #-}+         HasField "flags" VkCommandPoolCreateInfo where+        type FieldType "flags" VkCommandPoolCreateInfo =+             VkCommandPoolCreateFlags+        type FieldOptional "flags" VkCommandPoolCreateInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkCommandPoolCreateInfo =+             #{offset VkCommandPoolCreateInfo, flags}+        type FieldIsArray "flags" VkCommandPoolCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# 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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCommandPoolCreateInfo, queueFamilyIndex})++        {-# INLINE vkQueueFamilyIndexByteOffset #-}+        vkQueueFamilyIndexByteOffset ~_+          = #{offset VkCommandPoolCreateInfo, queueFamilyIndex}++        {-# INLINE readVkQueueFamilyIndex #-}+        readVkQueueFamilyIndex p+          = peekByteOff p #{offset VkCommandPoolCreateInfo, queueFamilyIndex}++        {-# INLINE writeVkQueueFamilyIndex #-}+        writeVkQueueFamilyIndex p+          = pokeByteOff p #{offset VkCommandPoolCreateInfo, queueFamilyIndex}++instance {-# OVERLAPPING #-}+         HasField "queueFamilyIndex" VkCommandPoolCreateInfo where+        type FieldType "queueFamilyIndex" VkCommandPoolCreateInfo = Word32+        type FieldOptional "queueFamilyIndex" VkCommandPoolCreateInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "queueFamilyIndex" VkCommandPoolCreateInfo =+             #{offset VkCommandPoolCreateInfo, queueFamilyIndex}+        type FieldIsArray "queueFamilyIndex" VkCommandPoolCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkCommandPoolCreateInfo, queueFamilyIndex}++instance CanReadField "queueFamilyIndex" VkCommandPoolCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkQueueFamilyIndex++        {-# INLINE readField #-}+        readField = readVkQueueFamilyIndex++instance CanWriteField "queueFamilyIndex" VkCommandPoolCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkQueueFamilyIndex++instance Show VkCommandPoolCreateInfo where+        showsPrec d x+          = showString "VkCommandPoolCreateInfo {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFlags = " .+                            showsPrec d (vkFlags x) .+                              showString ", " .+                                showString "vkQueueFamilyIndex = " .+                                  showsPrec d (vkQueueFamilyIndex x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkComponentMapping.hsc view
@@ -0,0 +1,257 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkComponentMapping+       (VkComponentMapping(..)) where+import           Foreign.Storable                              (Storable (..))+import           GHC.Prim+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 {+--   >     VkComponentSwizzle r;+--   >     VkComponentSwizzle g;+--   >     VkComponentSwizzle b;+--   >     VkComponentSwizzle a;+--   > } VkComponentMapping;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkComponentMapping.html VkComponentMapping registry at www.khronos.org>+data VkComponentMapping = VkComponentMapping## Addr## ByteArray##++instance Eq VkComponentMapping where+        (VkComponentMapping## a _) == x@(VkComponentMapping## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkComponentMapping where+        (VkComponentMapping## a _) `compare` x@(VkComponentMapping## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkComponentMapping where+        sizeOf ~_ = #{size VkComponentMapping}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkComponentMapping}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkComponentMapping where+        unsafeAddr (VkComponentMapping## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkComponentMapping## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkComponentMapping## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkComponentMapping where+        type StructFields VkComponentMapping = '["r", "g", "b", "a"] -- ' closing tick for hsc2hs+        type CUnionType VkComponentMapping = 'False -- ' closing tick for hsc2hs+        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+        type FieldOffset "r" VkComponentMapping =+             #{offset VkComponentMapping, r}+        type FieldIsArray "r" VkComponentMapping = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkComponentMapping, r}++instance CanReadField "r" VkComponentMapping where+        {-# INLINE getField #-}+        getField = vkR++        {-# INLINE readField #-}+        readField = readVkR++instance 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}++instance {-# OVERLAPPING #-} HasField "g" VkComponentMapping where+        type FieldType "g" VkComponentMapping = VkComponentSwizzle+        type FieldOptional "g" VkComponentMapping = 'False -- ' closing tick for hsc2hs+        type FieldOffset "g" VkComponentMapping =+             #{offset VkComponentMapping, g}+        type FieldIsArray "g" VkComponentMapping = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkComponentMapping, g}++instance CanReadField "g" VkComponentMapping where+        {-# INLINE getField #-}+        getField = vkG++        {-# INLINE readField #-}+        readField = readVkG++instance 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}++instance {-# OVERLAPPING #-} HasField "b" VkComponentMapping where+        type FieldType "b" VkComponentMapping = VkComponentSwizzle+        type FieldOptional "b" VkComponentMapping = 'False -- ' closing tick for hsc2hs+        type FieldOffset "b" VkComponentMapping =+             #{offset VkComponentMapping, b}+        type FieldIsArray "b" VkComponentMapping = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkComponentMapping, b}++instance CanReadField "b" VkComponentMapping where+        {-# INLINE getField #-}+        getField = vkB++        {-# INLINE readField #-}+        readField = readVkB++instance 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}++instance {-# OVERLAPPING #-} HasField "a" VkComponentMapping where+        type FieldType "a" VkComponentMapping = VkComponentSwizzle+        type FieldOptional "a" VkComponentMapping = 'False -- ' closing tick for hsc2hs+        type FieldOffset "a" VkComponentMapping =+             #{offset VkComponentMapping, a}+        type FieldIsArray "a" VkComponentMapping = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkComponentMapping, a}++instance CanReadField "a" VkComponentMapping where+        {-# INLINE getField #-}+        getField = vkA++        {-# INLINE readField #-}+        readField = readVkA++instance CanWriteField "a" VkComponentMapping where+        {-# INLINE writeField #-}+        writeField = writeVkA++instance Show VkComponentMapping where+        showsPrec d x+          = showString "VkComponentMapping {" .+              showString "vkR = " .+                showsPrec d (vkR x) .+                  showString ", " .+                    showString "vkG = " .+                      showsPrec d (vkG x) .+                        showString ", " .+                          showString "vkB = " .+                            showsPrec d (vkB x) .+                              showString ", " .+                                showString "vkA = " . showsPrec d (vkA x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkComputePipelineCreateInfo.hsc view
@@ -0,0 +1,459 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkComputePipelineCreateInfo+       (VkComputePipelineCreateInfo(..)) where+import           Foreign.Storable                                             (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkPipelineCreateFlags             (VkPipelineCreateFlags)+import           Graphics.Vulkan.Types.Enum.VkStructureType                   (VkStructureType)+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 {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkPipelineCreateFlags  flags;+--   >     VkPipelineShaderStageCreateInfo stage;+--   >     VkPipelineLayout       layout;+--   >     VkPipeline      basePipelineHandle;+--   >     int32_t                basePipelineIndex;+--   > } VkComputePipelineCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkComputePipelineCreateInfo.html VkComputePipelineCreateInfo registry at www.khronos.org>+data VkComputePipelineCreateInfo = VkComputePipelineCreateInfo## Addr##+                                                                ByteArray##++instance Eq VkComputePipelineCreateInfo where+        (VkComputePipelineCreateInfo## a _) ==+          x@(VkComputePipelineCreateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkComputePipelineCreateInfo where+        (VkComputePipelineCreateInfo## a _) `compare`+          x@(VkComputePipelineCreateInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkComputePipelineCreateInfo where+        sizeOf ~_ = #{size VkComputePipelineCreateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkComputePipelineCreateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkComputePipelineCreateInfo where+        unsafeAddr (VkComputePipelineCreateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkComputePipelineCreateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkComputePipelineCreateInfo##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkComputePipelineCreateInfo where+        type StructFields VkComputePipelineCreateInfo =+             '["sType", "pNext", "flags", "stage", "layout", -- ' closing tick for hsc2hs+               "basePipelineHandle", "basePipelineIndex"]+        type CUnionType VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs+        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 =+             VkStructureType+        type FieldOptional "sType" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkComputePipelineCreateInfo =+             #{offset VkComputePipelineCreateInfo, sType}+        type FieldIsArray "sType" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkComputePipelineCreateInfo, sType}++instance CanReadField "sType" VkComputePipelineCreateInfo where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkComputePipelineCreateInfo where+        type FieldType "pNext" VkComputePipelineCreateInfo = Ptr Void+        type FieldOptional "pNext" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkComputePipelineCreateInfo =+             #{offset VkComputePipelineCreateInfo, pNext}+        type FieldIsArray "pNext" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkComputePipelineCreateInfo, pNext}++instance CanReadField "pNext" VkComputePipelineCreateInfo where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance 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}++instance {-# OVERLAPPING #-}+         HasField "flags" VkComputePipelineCreateInfo where+        type FieldType "flags" VkComputePipelineCreateInfo =+             VkPipelineCreateFlags+        type FieldOptional "flags" VkComputePipelineCreateInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkComputePipelineCreateInfo =+             #{offset VkComputePipelineCreateInfo, flags}+        type FieldIsArray "flags" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkComputePipelineCreateInfo, flags}++instance CanReadField "flags" VkComputePipelineCreateInfo where+        {-# INLINE getField #-}+        getField = vkFlags++        {-# INLINE readField #-}+        readField = readVkFlags++instance 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}++instance {-# OVERLAPPING #-}+         HasField "stage" VkComputePipelineCreateInfo where+        type FieldType "stage" VkComputePipelineCreateInfo =+             VkPipelineShaderStageCreateInfo+        type FieldOptional "stage" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "stage" VkComputePipelineCreateInfo =+             #{offset VkComputePipelineCreateInfo, stage}+        type FieldIsArray "stage" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, layout})++        {-# INLINE vkLayoutByteOffset #-}+        vkLayoutByteOffset ~_+          = #{offset VkComputePipelineCreateInfo, layout}++        {-# INLINE readVkLayout #-}+        readVkLayout p+          = peekByteOff p #{offset VkComputePipelineCreateInfo, layout}++        {-# INLINE writeVkLayout #-}+        writeVkLayout p+          = pokeByteOff p #{offset VkComputePipelineCreateInfo, layout}++instance {-# OVERLAPPING #-}+         HasField "layout" VkComputePipelineCreateInfo where+        type FieldType "layout" VkComputePipelineCreateInfo =+             VkPipelineLayout+        type FieldOptional "layout" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "layout" VkComputePipelineCreateInfo =+             #{offset VkComputePipelineCreateInfo, layout}+        type FieldIsArray "layout" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, basePipelineHandle})++        {-# INLINE vkBasePipelineHandleByteOffset #-}+        vkBasePipelineHandleByteOffset ~_+          = #{offset VkComputePipelineCreateInfo, basePipelineHandle}++        {-# INLINE readVkBasePipelineHandle #-}+        readVkBasePipelineHandle p+          = peekByteOff p #{offset VkComputePipelineCreateInfo, basePipelineHandle}++        {-# INLINE writeVkBasePipelineHandle #-}+        writeVkBasePipelineHandle p+          = pokeByteOff p #{offset VkComputePipelineCreateInfo, basePipelineHandle}++instance {-# OVERLAPPING #-}+         HasField "basePipelineHandle" VkComputePipelineCreateInfo where+        type FieldType "basePipelineHandle" VkComputePipelineCreateInfo =+             VkPipeline+        type FieldOptional "basePipelineHandle" VkComputePipelineCreateInfo+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "basePipelineHandle" VkComputePipelineCreateInfo =+             #{offset VkComputePipelineCreateInfo, basePipelineHandle}+        type FieldIsArray "basePipelineHandle" VkComputePipelineCreateInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkComputePipelineCreateInfo, basePipelineHandle}++instance CanReadField "basePipelineHandle"+           VkComputePipelineCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkBasePipelineHandle++        {-# INLINE readField #-}+        readField = readVkBasePipelineHandle++instance 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}++instance {-# OVERLAPPING #-}+         HasField "basePipelineIndex" VkComputePipelineCreateInfo where+        type FieldType "basePipelineIndex" VkComputePipelineCreateInfo =+             Int32+        type FieldOptional "basePipelineIndex" VkComputePipelineCreateInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "basePipelineIndex" VkComputePipelineCreateInfo =+             #{offset VkComputePipelineCreateInfo, basePipelineIndex}+        type FieldIsArray "basePipelineIndex" VkComputePipelineCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkComputePipelineCreateInfo, basePipelineIndex}++instance CanReadField "basePipelineIndex"+           VkComputePipelineCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkBasePipelineIndex++        {-# INLINE readField #-}+        readField = readVkBasePipelineIndex++instance CanWriteField "basePipelineIndex"+           VkComputePipelineCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkBasePipelineIndex++instance Show VkComputePipelineCreateInfo where+        showsPrec d x+          = showString "VkComputePipelineCreateInfo {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFlags = " .+                            showsPrec d (vkFlags x) .+                              showString ", " .+                                showString "vkStage = " .+                                  showsPrec d (vkStage x) .+                                    showString ", " .+                                      showString "vkLayout = " .+                                        showsPrec d (vkLayout x) .+                                          showString ", " .+                                            showString "vkBasePipelineHandle = " .+                                              showsPrec d (vkBasePipelineHandle x) .+                                                showString ", " .+                                                  showString "vkBasePipelineIndex = " .+                                                    showsPrec d (vkBasePipelineIndex x) .+                                                      showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkCopyDescriptorSet.hsc view
@@ -0,0 +1,523 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkCopyDescriptorSet+       (VkCopyDescriptorSet(..)) 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              (VkDescriptorSet)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > 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;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkCopyDescriptorSet.html VkCopyDescriptorSet registry at www.khronos.org>+data VkCopyDescriptorSet = VkCopyDescriptorSet## Addr## ByteArray##++instance Eq VkCopyDescriptorSet where+        (VkCopyDescriptorSet## a _) == x@(VkCopyDescriptorSet## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkCopyDescriptorSet where+        (VkCopyDescriptorSet## a _) `compare` x@(VkCopyDescriptorSet## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkCopyDescriptorSet where+        sizeOf ~_ = #{size VkCopyDescriptorSet}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkCopyDescriptorSet}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkCopyDescriptorSet where+        unsafeAddr (VkCopyDescriptorSet## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkCopyDescriptorSet## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkCopyDescriptorSet## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkCopyDescriptorSet where+        type StructFields VkCopyDescriptorSet =+             '["sType", "pNext", "srcSet", "srcBinding", "srcArrayElement", -- ' closing tick for hsc2hs+               "dstSet", "dstBinding", "dstArrayElement", "descriptorCount"]+        type CUnionType VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkCopyDescriptorSet =+             #{offset VkCopyDescriptorSet, sType}+        type FieldIsArray "sType" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkCopyDescriptorSet, sType}++instance CanReadField "sType" VkCopyDescriptorSet where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-} HasField "pNext" VkCopyDescriptorSet+         where+        type FieldType "pNext" VkCopyDescriptorSet = Ptr Void+        type FieldOptional "pNext" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkCopyDescriptorSet =+             #{offset VkCopyDescriptorSet, pNext}+        type FieldIsArray "pNext" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkCopyDescriptorSet, pNext}++instance CanReadField "pNext" VkCopyDescriptorSet where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance 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}++instance {-# OVERLAPPING #-} HasField "srcSet" VkCopyDescriptorSet+         where+        type FieldType "srcSet" VkCopyDescriptorSet = VkDescriptorSet+        type FieldOptional "srcSet" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs+        type FieldOffset "srcSet" VkCopyDescriptorSet =+             #{offset VkCopyDescriptorSet, srcSet}+        type FieldIsArray "srcSet" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkCopyDescriptorSet, srcSet}++instance CanReadField "srcSet" VkCopyDescriptorSet where+        {-# INLINE getField #-}+        getField = vkSrcSet++        {-# INLINE readField #-}+        readField = readVkSrcSet++instance 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}++instance {-# OVERLAPPING #-}+         HasField "srcBinding" VkCopyDescriptorSet where+        type FieldType "srcBinding" VkCopyDescriptorSet = Word32+        type FieldOptional "srcBinding" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs+        type FieldOffset "srcBinding" VkCopyDescriptorSet =+             #{offset VkCopyDescriptorSet, srcBinding}+        type FieldIsArray "srcBinding" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# 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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, srcArrayElement})++        {-# INLINE vkSrcArrayElementByteOffset #-}+        vkSrcArrayElementByteOffset ~_+          = #{offset VkCopyDescriptorSet, srcArrayElement}++        {-# INLINE readVkSrcArrayElement #-}+        readVkSrcArrayElement p+          = peekByteOff p #{offset VkCopyDescriptorSet, srcArrayElement}++        {-# INLINE writeVkSrcArrayElement #-}+        writeVkSrcArrayElement p+          = pokeByteOff p #{offset VkCopyDescriptorSet, srcArrayElement}++instance {-# OVERLAPPING #-}+         HasField "srcArrayElement" VkCopyDescriptorSet where+        type FieldType "srcArrayElement" VkCopyDescriptorSet = Word32+        type FieldOptional "srcArrayElement" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs+        type FieldOffset "srcArrayElement" VkCopyDescriptorSet =+             #{offset VkCopyDescriptorSet, srcArrayElement}+        type FieldIsArray "srcArrayElement" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkCopyDescriptorSet, srcArrayElement}++instance CanReadField "srcArrayElement" VkCopyDescriptorSet where+        {-# INLINE getField #-}+        getField = vkSrcArrayElement++        {-# INLINE readField #-}+        readField = readVkSrcArrayElement++instance 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}++instance {-# OVERLAPPING #-} HasField "dstSet" VkCopyDescriptorSet+         where+        type FieldType "dstSet" VkCopyDescriptorSet = VkDescriptorSet+        type FieldOptional "dstSet" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs+        type FieldOffset "dstSet" VkCopyDescriptorSet =+             #{offset VkCopyDescriptorSet, dstSet}+        type FieldIsArray "dstSet" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkCopyDescriptorSet, dstSet}++instance CanReadField "dstSet" VkCopyDescriptorSet where+        {-# INLINE getField #-}+        getField = vkDstSet++        {-# INLINE readField #-}+        readField = readVkDstSet++instance 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}++instance {-# OVERLAPPING #-}+         HasField "dstBinding" VkCopyDescriptorSet where+        type FieldType "dstBinding" VkCopyDescriptorSet = Word32+        type FieldOptional "dstBinding" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs+        type FieldOffset "dstBinding" VkCopyDescriptorSet =+             #{offset VkCopyDescriptorSet, dstBinding}+        type FieldIsArray "dstBinding" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# 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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, dstArrayElement})++        {-# INLINE vkDstArrayElementByteOffset #-}+        vkDstArrayElementByteOffset ~_+          = #{offset VkCopyDescriptorSet, dstArrayElement}++        {-# INLINE readVkDstArrayElement #-}+        readVkDstArrayElement p+          = peekByteOff p #{offset VkCopyDescriptorSet, dstArrayElement}++        {-# INLINE writeVkDstArrayElement #-}+        writeVkDstArrayElement p+          = pokeByteOff p #{offset VkCopyDescriptorSet, dstArrayElement}++instance {-# OVERLAPPING #-}+         HasField "dstArrayElement" VkCopyDescriptorSet where+        type FieldType "dstArrayElement" VkCopyDescriptorSet = Word32+        type FieldOptional "dstArrayElement" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs+        type FieldOffset "dstArrayElement" VkCopyDescriptorSet =+             #{offset VkCopyDescriptorSet, dstArrayElement}+        type FieldIsArray "dstArrayElement" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, descriptorCount})++        {-# INLINE vkDescriptorCountByteOffset #-}+        vkDescriptorCountByteOffset ~_+          = #{offset VkCopyDescriptorSet, descriptorCount}++        {-# INLINE readVkDescriptorCount #-}+        readVkDescriptorCount p+          = peekByteOff p #{offset VkCopyDescriptorSet, descriptorCount}++        {-# INLINE writeVkDescriptorCount #-}+        writeVkDescriptorCount p+          = pokeByteOff p #{offset VkCopyDescriptorSet, descriptorCount}++instance {-# OVERLAPPING #-}+         HasField "descriptorCount" VkCopyDescriptorSet where+        type FieldType "descriptorCount" VkCopyDescriptorSet = Word32+        type FieldOptional "descriptorCount" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs+        type FieldOffset "descriptorCount" VkCopyDescriptorSet =+             #{offset VkCopyDescriptorSet, descriptorCount}+        type FieldIsArray "descriptorCount" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkCopyDescriptorSet, descriptorCount}++instance CanReadField "descriptorCount" VkCopyDescriptorSet where+        {-# INLINE getField #-}+        getField = vkDescriptorCount++        {-# INLINE readField #-}+        readField = readVkDescriptorCount++instance CanWriteField "descriptorCount" VkCopyDescriptorSet where+        {-# INLINE writeField #-}+        writeField = writeVkDescriptorCount++instance Show VkCopyDescriptorSet where+        showsPrec d x+          = showString "VkCopyDescriptorSet {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkSrcSet = " .+                            showsPrec d (vkSrcSet x) .+                              showString ", " .+                                showString "vkSrcBinding = " .+                                  showsPrec d (vkSrcBinding x) .+                                    showString ", " .+                                      showString "vkSrcArrayElement = " .+                                        showsPrec d (vkSrcArrayElement x) .+                                          showString ", " .+                                            showString "vkDstSet = " .+                                              showsPrec d (vkDstSet x) .+                                                showString ", " .+                                                  showString "vkDstBinding = " .+                                                    showsPrec d (vkDstBinding x) .+                                                      showString ", " .+                                                        showString "vkDstArrayElement = " .+                                                          showsPrec d (vkDstArrayElement x) .+                                                            showString ", " .+                                                              showString "vkDescriptorCount = " .+                                                                showsPrec d (vkDescriptorCount x) .+                                                                  showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkD3D12FenceSubmitInfoKHR.hsc view
@@ -0,0 +1,428 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkD3D12FenceSubmitInfoKHR+       (VkD3D12FenceSubmitInfoKHR(..)) 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 VkD3D12FenceSubmitInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t         waitSemaphoreValuesCount;+--   >     const uint64_t* pWaitSemaphoreValues;+--   >     uint32_t         signalSemaphoreValuesCount;+--   >     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>+data VkD3D12FenceSubmitInfoKHR = VkD3D12FenceSubmitInfoKHR## Addr##+                                                            ByteArray##++instance Eq VkD3D12FenceSubmitInfoKHR where+        (VkD3D12FenceSubmitInfoKHR## a _) ==+          x@(VkD3D12FenceSubmitInfoKHR## b _) = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkD3D12FenceSubmitInfoKHR where+        (VkD3D12FenceSubmitInfoKHR## a _) `compare`+          x@(VkD3D12FenceSubmitInfoKHR## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkD3D12FenceSubmitInfoKHR where+        sizeOf ~_ = #{size VkD3D12FenceSubmitInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkD3D12FenceSubmitInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkD3D12FenceSubmitInfoKHR where+        unsafeAddr (VkD3D12FenceSubmitInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkD3D12FenceSubmitInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkD3D12FenceSubmitInfoKHR## (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkD3D12FenceSubmitInfoKHR where+        type StructFields VkD3D12FenceSubmitInfoKHR =+             '["sType", "pNext", "waitSemaphoreValuesCount", -- ' closing tick for hsc2hs+               "pWaitSemaphoreValues", "signalSemaphoreValuesCount",+               "pSignalSemaphoreValues"]+        type CUnionType VkD3D12FenceSubmitInfoKHR = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkD3D12FenceSubmitInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkD3D12FenceSubmitInfoKHR =+             #{offset VkD3D12FenceSubmitInfoKHR, sType}+        type FieldIsArray "sType" VkD3D12FenceSubmitInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkD3D12FenceSubmitInfoKHR, sType}++instance CanReadField "sType" VkD3D12FenceSubmitInfoKHR where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkD3D12FenceSubmitInfoKHR where+        type FieldType "pNext" VkD3D12FenceSubmitInfoKHR = Ptr Void+        type FieldOptional "pNext" VkD3D12FenceSubmitInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkD3D12FenceSubmitInfoKHR =+             #{offset VkD3D12FenceSubmitInfoKHR, pNext}+        type FieldIsArray "pNext" VkD3D12FenceSubmitInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount})++        {-# INLINE vkWaitSemaphoreValuesCountByteOffset #-}+        vkWaitSemaphoreValuesCountByteOffset ~_+          = #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount}++        {-# INLINE readVkWaitSemaphoreValuesCount #-}+        readVkWaitSemaphoreValuesCount p+          = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount}++        {-# INLINE writeVkWaitSemaphoreValuesCount #-}+        writeVkWaitSemaphoreValuesCount p+          = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount}++instance {-# OVERLAPPING #-}+         HasField "waitSemaphoreValuesCount" VkD3D12FenceSubmitInfoKHR where+        type FieldType "waitSemaphoreValuesCount" VkD3D12FenceSubmitInfoKHR+             = Word32+        type FieldOptional "waitSemaphoreValuesCount"+               VkD3D12FenceSubmitInfoKHR+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "waitSemaphoreValuesCount"+               VkD3D12FenceSubmitInfoKHR+             =+             #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount}+        type FieldIsArray "waitSemaphoreValuesCount"+               VkD3D12FenceSubmitInfoKHR+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount}++instance CanReadField "waitSemaphoreValuesCount"+           VkD3D12FenceSubmitInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkWaitSemaphoreValuesCount++        {-# INLINE readField #-}+        readField = readVkWaitSemaphoreValuesCount++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pWaitSemaphoreValues" VkD3D12FenceSubmitInfoKHR where+        type FieldType "pWaitSemaphoreValues" VkD3D12FenceSubmitInfoKHR =+             Ptr Word64+        type FieldOptional "pWaitSemaphoreValues" VkD3D12FenceSubmitInfoKHR+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "pWaitSemaphoreValues" VkD3D12FenceSubmitInfoKHR =+             #{offset VkD3D12FenceSubmitInfoKHR, pWaitSemaphoreValues}+        type FieldIsArray "pWaitSemaphoreValues" VkD3D12FenceSubmitInfoKHR+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkD3D12FenceSubmitInfoKHR, pWaitSemaphoreValues}++instance CanReadField "pWaitSemaphoreValues"+           VkD3D12FenceSubmitInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkPWaitSemaphoreValues++        {-# INLINE readField #-}+        readField = readVkPWaitSemaphoreValues++instance 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}++instance {-# OVERLAPPING #-}+         HasField "signalSemaphoreValuesCount" VkD3D12FenceSubmitInfoKHR+         where+        type FieldType "signalSemaphoreValuesCount"+               VkD3D12FenceSubmitInfoKHR+             = Word32+        type FieldOptional "signalSemaphoreValuesCount"+               VkD3D12FenceSubmitInfoKHR+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "signalSemaphoreValuesCount"+               VkD3D12FenceSubmitInfoKHR+             =+             #{offset VkD3D12FenceSubmitInfoKHR, signalSemaphoreValuesCount}+        type FieldIsArray "signalSemaphoreValuesCount"+               VkD3D12FenceSubmitInfoKHR+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkD3D12FenceSubmitInfoKHR, signalSemaphoreValuesCount}++instance CanReadField "signalSemaphoreValuesCount"+           VkD3D12FenceSubmitInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkSignalSemaphoreValuesCount++        {-# INLINE readField #-}+        readField = readVkSignalSemaphoreValuesCount++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pSignalSemaphoreValues" VkD3D12FenceSubmitInfoKHR where+        type FieldType "pSignalSemaphoreValues" VkD3D12FenceSubmitInfoKHR =+             Ptr Word64+        type FieldOptional "pSignalSemaphoreValues"+               VkD3D12FenceSubmitInfoKHR+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "pSignalSemaphoreValues" VkD3D12FenceSubmitInfoKHR+             =+             #{offset VkD3D12FenceSubmitInfoKHR, pSignalSemaphoreValues}+        type FieldIsArray "pSignalSemaphoreValues"+               VkD3D12FenceSubmitInfoKHR+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkD3D12FenceSubmitInfoKHR, pSignalSemaphoreValues}++instance CanReadField "pSignalSemaphoreValues"+           VkD3D12FenceSubmitInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkPSignalSemaphoreValues++        {-# INLINE readField #-}+        readField = readVkPSignalSemaphoreValues++instance CanWriteField "pSignalSemaphoreValues"+           VkD3D12FenceSubmitInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkPSignalSemaphoreValues++instance Show VkD3D12FenceSubmitInfoKHR where+        showsPrec d x+          = showString "VkD3D12FenceSubmitInfoKHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkWaitSemaphoreValuesCount = " .+                            showsPrec d (vkWaitSemaphoreValuesCount x) .+                              showString ", " .+                                showString "vkPWaitSemaphoreValues = " .+                                  showsPrec d (vkPWaitSemaphoreValues x) .+                                    showString ", " .+                                      showString "vkSignalSemaphoreValuesCount = " .+                                        showsPrec d (vkSignalSemaphoreValuesCount x) .+                                          showString ", " .+                                            showString "vkPSignalSemaphoreValues = " .+                                              showsPrec d (vkPSignalSemaphoreValues x) .+                                                showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDebugMarkerMarkerInfoEXT.hsc view
@@ -0,0 +1,334 @@+#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.VkDebugMarkerMarkerInfoEXT+       (VkDebugMarkerMarkerInfoEXT(..)) 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           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkDebugMarkerMarkerInfoEXT {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     const char* pMarkerName;+--   >     float            color[4];+--   > } VkDebugMarkerMarkerInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDebugMarkerMarkerInfoEXT.html VkDebugMarkerMarkerInfoEXT registry at www.khronos.org>+data VkDebugMarkerMarkerInfoEXT = VkDebugMarkerMarkerInfoEXT## Addr##+                                                              ByteArray##++instance Eq VkDebugMarkerMarkerInfoEXT where+        (VkDebugMarkerMarkerInfoEXT## a _) ==+          x@(VkDebugMarkerMarkerInfoEXT## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDebugMarkerMarkerInfoEXT where+        (VkDebugMarkerMarkerInfoEXT## a _) `compare`+          x@(VkDebugMarkerMarkerInfoEXT## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDebugMarkerMarkerInfoEXT where+        sizeOf ~_ = #{size VkDebugMarkerMarkerInfoEXT}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDebugMarkerMarkerInfoEXT}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDebugMarkerMarkerInfoEXT where+        unsafeAddr (VkDebugMarkerMarkerInfoEXT## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDebugMarkerMarkerInfoEXT## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDebugMarkerMarkerInfoEXT##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDebugMarkerMarkerInfoEXT where+        type StructFields VkDebugMarkerMarkerInfoEXT =+             '["sType", "pNext", "pMarkerName", "color"] -- ' closing tick for hsc2hs+        type CUnionType VkDebugMarkerMarkerInfoEXT = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkDebugMarkerMarkerInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDebugMarkerMarkerInfoEXT =+             #{offset VkDebugMarkerMarkerInfoEXT, sType}+        type FieldIsArray "sType" VkDebugMarkerMarkerInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugMarkerMarkerInfoEXT, sType}++instance CanReadField "sType" VkDebugMarkerMarkerInfoEXT where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDebugMarkerMarkerInfoEXT where+        type FieldType "pNext" VkDebugMarkerMarkerInfoEXT = Ptr Void+        type FieldOptional "pNext" VkDebugMarkerMarkerInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDebugMarkerMarkerInfoEXT =+             #{offset VkDebugMarkerMarkerInfoEXT, pNext}+        type FieldIsArray "pNext" VkDebugMarkerMarkerInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName})++        {-# INLINE vkPMarkerNameByteOffset #-}+        vkPMarkerNameByteOffset ~_+          = #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName}++        {-# INLINE readVkPMarkerName #-}+        readVkPMarkerName p+          = peekByteOff p #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName}++        {-# INLINE writeVkPMarkerName #-}+        writeVkPMarkerName p+          = pokeByteOff p #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName}++instance {-# OVERLAPPING #-}+         HasField "pMarkerName" VkDebugMarkerMarkerInfoEXT where+        type FieldType "pMarkerName" VkDebugMarkerMarkerInfoEXT = CString+        type FieldOptional "pMarkerName" VkDebugMarkerMarkerInfoEXT =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pMarkerName" VkDebugMarkerMarkerInfoEXT =+             #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName}+        type FieldIsArray "pMarkerName" VkDebugMarkerMarkerInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x)+                 (idx * sizeOf (undefined :: #{type float}) ++                    #{offset VkDebugMarkerMarkerInfoEXT, color}))++        {-# INLINE vkColorArrayByteOffset #-}+        vkColorArrayByteOffset ~_+          = #{offset VkDebugMarkerMarkerInfoEXT, color}++        {-# INLINE readVkColorArray #-}+        readVkColorArray p idx+          = peekByteOff p+              (idx * sizeOf (undefined :: #{type float}) ++                 #{offset VkDebugMarkerMarkerInfoEXT, color})++        {-# INLINE writeVkColorArray #-}+        writeVkColorArray p idx+          = pokeByteOff p+              (idx * sizeOf (undefined :: #{type float}) ++                 #{offset VkDebugMarkerMarkerInfoEXT, color})++instance {-# OVERLAPPING #-}+         HasField "color" VkDebugMarkerMarkerInfoEXT where+        type FieldType "color" VkDebugMarkerMarkerInfoEXT =+             #{type float}+        type FieldOptional "color" VkDebugMarkerMarkerInfoEXT = 'True -- ' closing tick for hsc2hs+        type FieldOffset "color" VkDebugMarkerMarkerInfoEXT =+             #{offset VkDebugMarkerMarkerInfoEXT, color}+        type FieldIsArray "color" VkDebugMarkerMarkerInfoEXT = 'True -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugMarkerMarkerInfoEXT, color}++instance (KnownNat idx,+          IndexInBounds "color" idx VkDebugMarkerMarkerInfoEXT) =>+         CanReadFieldArray "color" idx VkDebugMarkerMarkerInfoEXT+         where+        {-# SPECIALISE instance+                       CanReadFieldArray "color" 0 VkDebugMarkerMarkerInfoEXT #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "color" 1 VkDebugMarkerMarkerInfoEXT #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "color" 2 VkDebugMarkerMarkerInfoEXT #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "color" 3 VkDebugMarkerMarkerInfoEXT #-}+        type FieldArrayLength "color" VkDebugMarkerMarkerInfoEXT = 4++        {-# INLINE fieldArrayLength #-}+        fieldArrayLength = 4++        {-# INLINE getFieldArray #-}+        getFieldArray x+          = vkColorArray x (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++        {-# INLINE readFieldArray #-}+        readFieldArray x+          = readVkColorArray x (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++instance (KnownNat idx,+          IndexInBounds "color" idx VkDebugMarkerMarkerInfoEXT) =>+         CanWriteFieldArray "color" idx VkDebugMarkerMarkerInfoEXT+         where+        {-# SPECIALISE instance+                       CanWriteFieldArray "color" 0 VkDebugMarkerMarkerInfoEXT #-}++        {-# SPECIALISE instance+                       CanWriteFieldArray "color" 1 VkDebugMarkerMarkerInfoEXT #-}++        {-# SPECIALISE instance+                       CanWriteFieldArray "color" 2 VkDebugMarkerMarkerInfoEXT #-}++        {-# SPECIALISE instance+                       CanWriteFieldArray "color" 3 VkDebugMarkerMarkerInfoEXT #-}++        {-# INLINE writeFieldArray #-}+        writeFieldArray x+          = writeVkColorArray x+              (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 ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkPMarkerName = " .+                            showsPrec d (vkPMarkerName x) .+                              showString ", " .+                                showString "vkColorArray = [" .+                                  showsPrec d (map (vkColorArray x) [1 .. 4]) .+                                    showChar ']' . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDebugMarkerObjectNameInfoEXT.hsc view
@@ -0,0 +1,345 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDebugMarkerObjectNameInfoEXT+       (VkDebugMarkerObjectNameInfoEXT(..)) where+import           Foreign.Storable                                      (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+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 {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkDebugReportObjectTypeEXT       objectType;+--   >     uint64_t                         object;+--   >     const char* pObjectName;+--   > } VkDebugMarkerObjectNameInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDebugMarkerObjectNameInfoEXT.html VkDebugMarkerObjectNameInfoEXT registry at www.khronos.org>+data VkDebugMarkerObjectNameInfoEXT = VkDebugMarkerObjectNameInfoEXT## Addr##+                                                                      ByteArray##++instance Eq VkDebugMarkerObjectNameInfoEXT where+        (VkDebugMarkerObjectNameInfoEXT## a _) ==+          x@(VkDebugMarkerObjectNameInfoEXT## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDebugMarkerObjectNameInfoEXT where+        (VkDebugMarkerObjectNameInfoEXT## a _) `compare`+          x@(VkDebugMarkerObjectNameInfoEXT## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDebugMarkerObjectNameInfoEXT where+        sizeOf ~_ = #{size VkDebugMarkerObjectNameInfoEXT}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDebugMarkerObjectNameInfoEXT}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDebugMarkerObjectNameInfoEXT where+        unsafeAddr (VkDebugMarkerObjectNameInfoEXT## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDebugMarkerObjectNameInfoEXT## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDebugMarkerObjectNameInfoEXT##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDebugMarkerObjectNameInfoEXT where+        type StructFields VkDebugMarkerObjectNameInfoEXT =+             '["sType", "pNext", "objectType", "object", "pObjectName"] -- ' closing tick for hsc2hs+        type CUnionType VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDebugMarkerObjectNameInfoEXT =+             #{offset VkDebugMarkerObjectNameInfoEXT, sType}+        type FieldIsArray "sType" VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkDebugMarkerObjectNameInfoEXT, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDebugMarkerObjectNameInfoEXT where+        type FieldType "pNext" VkDebugMarkerObjectNameInfoEXT = Ptr Void+        type FieldOptional "pNext" VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDebugMarkerObjectNameInfoEXT =+             #{offset VkDebugMarkerObjectNameInfoEXT, pNext}+        type FieldIsArray "pNext" VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, objectType})++        {-# INLINE vkObjectTypeByteOffset #-}+        vkObjectTypeByteOffset ~_+          = #{offset VkDebugMarkerObjectNameInfoEXT, objectType}++        {-# INLINE readVkObjectType #-}+        readVkObjectType p+          = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, objectType}++        {-# INLINE writeVkObjectType #-}+        writeVkObjectType p+          = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, objectType}++instance {-# OVERLAPPING #-}+         HasField "objectType" VkDebugMarkerObjectNameInfoEXT where+        type FieldType "objectType" VkDebugMarkerObjectNameInfoEXT =+             VkDebugReportObjectTypeEXT+        type FieldOptional "objectType" VkDebugMarkerObjectNameInfoEXT =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "objectType" VkDebugMarkerObjectNameInfoEXT =+             #{offset VkDebugMarkerObjectNameInfoEXT, objectType}+        type FieldIsArray "objectType" VkDebugMarkerObjectNameInfoEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, object})++        {-# INLINE vkObjectByteOffset #-}+        vkObjectByteOffset ~_+          = #{offset VkDebugMarkerObjectNameInfoEXT, object}++        {-# INLINE readVkObject #-}+        readVkObject p+          = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, object}++        {-# INLINE writeVkObject #-}+        writeVkObject p+          = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, object}++instance {-# OVERLAPPING #-}+         HasField "object" VkDebugMarkerObjectNameInfoEXT where+        type FieldType "object" VkDebugMarkerObjectNameInfoEXT = Word64+        type FieldOptional "object" VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "object" VkDebugMarkerObjectNameInfoEXT =+             #{offset VkDebugMarkerObjectNameInfoEXT, object}+        type FieldIsArray "object" VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName})++        {-# INLINE vkPObjectNameByteOffset #-}+        vkPObjectNameByteOffset ~_+          = #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName}++        {-# INLINE readVkPObjectName #-}+        readVkPObjectName p+          = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName}++        {-# INLINE writeVkPObjectName #-}+        writeVkPObjectName p+          = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName}++instance {-# OVERLAPPING #-}+         HasField "pObjectName" VkDebugMarkerObjectNameInfoEXT where+        type FieldType "pObjectName" VkDebugMarkerObjectNameInfoEXT =+             CString+        type FieldOptional "pObjectName" VkDebugMarkerObjectNameInfoEXT =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pObjectName" VkDebugMarkerObjectNameInfoEXT =+             #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName}+        type FieldIsArray "pObjectName" VkDebugMarkerObjectNameInfoEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName}++instance CanReadField "pObjectName" VkDebugMarkerObjectNameInfoEXT+         where+        {-# INLINE getField #-}+        getField = vkPObjectName++        {-# INLINE readField #-}+        readField = readVkPObjectName++instance CanWriteField "pObjectName" VkDebugMarkerObjectNameInfoEXT+         where+        {-# INLINE writeField #-}+        writeField = writeVkPObjectName++instance Show VkDebugMarkerObjectNameInfoEXT where+        showsPrec d x+          = showString "VkDebugMarkerObjectNameInfoEXT {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkObjectType = " .+                            showsPrec d (vkObjectType x) .+                              showString ", " .+                                showString "vkObject = " .+                                  showsPrec d (vkObject x) .+                                    showString ", " .+                                      showString "vkPObjectName = " .+                                        showsPrec d (vkPObjectName x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDebugMarkerObjectTagInfoEXT.hsc view
@@ -0,0 +1,444 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDebugMarkerObjectTagInfoEXT+       (VkDebugMarkerObjectTagInfoEXT(..)) where+import           Foreign.Storable                                      (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+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 {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkDebugReportObjectTypeEXT       objectType;+--   >     uint64_t                         object;+--   >     uint64_t                         tagName;+--   >     size_t                           tagSize;+--   >     const void*        pTag;+--   > } VkDebugMarkerObjectTagInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDebugMarkerObjectTagInfoEXT.html VkDebugMarkerObjectTagInfoEXT registry at www.khronos.org>+data VkDebugMarkerObjectTagInfoEXT = VkDebugMarkerObjectTagInfoEXT## Addr##+                                                                    ByteArray##++instance Eq VkDebugMarkerObjectTagInfoEXT where+        (VkDebugMarkerObjectTagInfoEXT## a _) ==+          x@(VkDebugMarkerObjectTagInfoEXT## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDebugMarkerObjectTagInfoEXT where+        (VkDebugMarkerObjectTagInfoEXT## a _) `compare`+          x@(VkDebugMarkerObjectTagInfoEXT## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDebugMarkerObjectTagInfoEXT where+        sizeOf ~_ = #{size VkDebugMarkerObjectTagInfoEXT}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDebugMarkerObjectTagInfoEXT}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDebugMarkerObjectTagInfoEXT where+        unsafeAddr (VkDebugMarkerObjectTagInfoEXT## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDebugMarkerObjectTagInfoEXT## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDebugMarkerObjectTagInfoEXT##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDebugMarkerObjectTagInfoEXT where+        type StructFields VkDebugMarkerObjectTagInfoEXT =+             '["sType", "pNext", "objectType", "object", "tagName", "tagSize", -- ' closing tick for hsc2hs+               "pTag"]+        type CUnionType VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDebugMarkerObjectTagInfoEXT =+             #{offset VkDebugMarkerObjectTagInfoEXT, sType}+        type FieldIsArray "sType" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkDebugMarkerObjectTagInfoEXT, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDebugMarkerObjectTagInfoEXT where+        type FieldType "pNext" VkDebugMarkerObjectTagInfoEXT = Ptr Void+        type FieldOptional "pNext" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDebugMarkerObjectTagInfoEXT =+             #{offset VkDebugMarkerObjectTagInfoEXT, pNext}+        type FieldIsArray "pNext" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, objectType})++        {-# INLINE vkObjectTypeByteOffset #-}+        vkObjectTypeByteOffset ~_+          = #{offset VkDebugMarkerObjectTagInfoEXT, objectType}++        {-# INLINE readVkObjectType #-}+        readVkObjectType p+          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, objectType}++        {-# INLINE writeVkObjectType #-}+        writeVkObjectType p+          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, objectType}++instance {-# OVERLAPPING #-}+         HasField "objectType" VkDebugMarkerObjectTagInfoEXT where+        type FieldType "objectType" VkDebugMarkerObjectTagInfoEXT =+             VkDebugReportObjectTypeEXT+        type FieldOptional "objectType" VkDebugMarkerObjectTagInfoEXT =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "objectType" VkDebugMarkerObjectTagInfoEXT =+             #{offset VkDebugMarkerObjectTagInfoEXT, objectType}+        type FieldIsArray "objectType" VkDebugMarkerObjectTagInfoEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, object})++        {-# INLINE vkObjectByteOffset #-}+        vkObjectByteOffset ~_+          = #{offset VkDebugMarkerObjectTagInfoEXT, object}++        {-# INLINE readVkObject #-}+        readVkObject p+          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, object}++        {-# INLINE writeVkObject #-}+        writeVkObject p+          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, object}++instance {-# OVERLAPPING #-}+         HasField "object" VkDebugMarkerObjectTagInfoEXT where+        type FieldType "object" VkDebugMarkerObjectTagInfoEXT = Word64+        type FieldOptional "object" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "object" VkDebugMarkerObjectTagInfoEXT =+             #{offset VkDebugMarkerObjectTagInfoEXT, object}+        type FieldIsArray "object" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, tagName})++        {-# INLINE vkTagNameByteOffset #-}+        vkTagNameByteOffset ~_+          = #{offset VkDebugMarkerObjectTagInfoEXT, tagName}++        {-# INLINE readVkTagName #-}+        readVkTagName p+          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, tagName}++        {-# INLINE writeVkTagName #-}+        writeVkTagName p+          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, tagName}++instance {-# OVERLAPPING #-}+         HasField "tagName" VkDebugMarkerObjectTagInfoEXT where+        type FieldType "tagName" VkDebugMarkerObjectTagInfoEXT = Word64+        type FieldOptional "tagName" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "tagName" VkDebugMarkerObjectTagInfoEXT =+             #{offset VkDebugMarkerObjectTagInfoEXT, tagName}+        type FieldIsArray "tagName" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, tagSize})++        {-# INLINE vkTagSizeByteOffset #-}+        vkTagSizeByteOffset ~_+          = #{offset VkDebugMarkerObjectTagInfoEXT, tagSize}++        {-# INLINE readVkTagSize #-}+        readVkTagSize p+          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, tagSize}++        {-# INLINE writeVkTagSize #-}+        writeVkTagSize p+          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, tagSize}++instance {-# OVERLAPPING #-}+         HasField "tagSize" VkDebugMarkerObjectTagInfoEXT where+        type FieldType "tagSize" VkDebugMarkerObjectTagInfoEXT = CSize+        type FieldOptional "tagSize" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "tagSize" VkDebugMarkerObjectTagInfoEXT =+             #{offset VkDebugMarkerObjectTagInfoEXT, tagSize}+        type FieldIsArray "tagSize" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, pTag})++        {-# INLINE vkPTagByteOffset #-}+        vkPTagByteOffset ~_+          = #{offset VkDebugMarkerObjectTagInfoEXT, pTag}++        {-# INLINE readVkPTag #-}+        readVkPTag p+          = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, pTag}++        {-# INLINE writeVkPTag #-}+        writeVkPTag p+          = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, pTag}++instance {-# OVERLAPPING #-}+         HasField "pTag" VkDebugMarkerObjectTagInfoEXT where+        type FieldType "pTag" VkDebugMarkerObjectTagInfoEXT = Ptr Void+        type FieldOptional "pTag" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pTag" VkDebugMarkerObjectTagInfoEXT =+             #{offset VkDebugMarkerObjectTagInfoEXT, pTag}+        type FieldIsArray "pTag" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugMarkerObjectTagInfoEXT, pTag}++instance CanReadField "pTag" VkDebugMarkerObjectTagInfoEXT where+        {-# INLINE getField #-}+        getField = vkPTag++        {-# INLINE readField #-}+        readField = readVkPTag++instance CanWriteField "pTag" VkDebugMarkerObjectTagInfoEXT where+        {-# INLINE writeField #-}+        writeField = writeVkPTag++instance Show VkDebugMarkerObjectTagInfoEXT where+        showsPrec d x+          = showString "VkDebugMarkerObjectTagInfoEXT {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkObjectType = " .+                            showsPrec d (vkObjectType x) .+                              showString ", " .+                                showString "vkObject = " .+                                  showsPrec d (vkObject x) .+                                    showString ", " .+                                      showString "vkTagName = " .+                                        showsPrec d (vkTagName x) .+                                          showString ", " .+                                            showString "vkTagSize = " .+                                              showsPrec d (vkTagSize x) .+                                                showString ", " .+                                                  showString "vkPTag = " .+                                                    showsPrec d (vkPTag x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDebugReportCallbackCreateInfoEXT.hsc view
@@ -0,0 +1,368 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDebugReportCallbackCreateInfoEXT+       (VkDebugReportCallbackCreateInfoEXT(..)) where+import           Foreign.Storable                                  (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkDebugReportFlagsEXT  (VkDebugReportFlagsEXT)+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 {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkDebugReportFlagsEXT            flags;+--   >     PFN_vkDebugReportCallbackEXT     pfnCallback;+--   >     void*            pUserData;+--   > } VkDebugReportCallbackCreateInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDebugReportCallbackCreateInfoEXT.html VkDebugReportCallbackCreateInfoEXT registry at www.khronos.org>+data VkDebugReportCallbackCreateInfoEXT = VkDebugReportCallbackCreateInfoEXT## Addr##+                                                                              ByteArray##++instance Eq VkDebugReportCallbackCreateInfoEXT where+        (VkDebugReportCallbackCreateInfoEXT## a _) ==+          x@(VkDebugReportCallbackCreateInfoEXT## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDebugReportCallbackCreateInfoEXT where+        (VkDebugReportCallbackCreateInfoEXT## a _) `compare`+          x@(VkDebugReportCallbackCreateInfoEXT## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDebugReportCallbackCreateInfoEXT where+        sizeOf ~_ = #{size VkDebugReportCallbackCreateInfoEXT}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDebugReportCallbackCreateInfoEXT}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDebugReportCallbackCreateInfoEXT where+        unsafeAddr (VkDebugReportCallbackCreateInfoEXT## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDebugReportCallbackCreateInfoEXT## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDebugReportCallbackCreateInfoEXT##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDebugReportCallbackCreateInfoEXT where+        type StructFields VkDebugReportCallbackCreateInfoEXT =+             '["sType", "pNext", "flags", "pfnCallback", "pUserData"] -- ' closing tick for hsc2hs+        type CUnionType VkDebugReportCallbackCreateInfoEXT = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDebugReportCallbackCreateInfoEXT = 'False -- ' closing tick for hsc2hs+        type StructExtends VkDebugReportCallbackCreateInfoEXT =+             '[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+        type FieldOptional "sType" VkDebugReportCallbackCreateInfoEXT =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDebugReportCallbackCreateInfoEXT =+             #{offset VkDebugReportCallbackCreateInfoEXT, sType}+        type FieldIsArray "sType" VkDebugReportCallbackCreateInfoEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugReportCallbackCreateInfoEXT, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkDebugReportCallbackCreateInfoEXT, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDebugReportCallbackCreateInfoEXT where+        type FieldType "pNext" VkDebugReportCallbackCreateInfoEXT =+             Ptr Void+        type FieldOptional "pNext" VkDebugReportCallbackCreateInfoEXT =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDebugReportCallbackCreateInfoEXT =+             #{offset VkDebugReportCallbackCreateInfoEXT, pNext}+        type FieldIsArray "pNext" VkDebugReportCallbackCreateInfoEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugReportCallbackCreateInfoEXT, flags})++        {-# INLINE vkFlagsByteOffset #-}+        vkFlagsByteOffset ~_+          = #{offset VkDebugReportCallbackCreateInfoEXT, flags}++        {-# INLINE readVkFlags #-}+        readVkFlags p+          = peekByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, flags}++        {-# INLINE writeVkFlags #-}+        writeVkFlags p+          = pokeByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, flags}++instance {-# OVERLAPPING #-}+         HasField "flags" VkDebugReportCallbackCreateInfoEXT where+        type FieldType "flags" VkDebugReportCallbackCreateInfoEXT =+             VkDebugReportFlagsEXT+        type FieldOptional "flags" VkDebugReportCallbackCreateInfoEXT =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkDebugReportCallbackCreateInfoEXT =+             #{offset VkDebugReportCallbackCreateInfoEXT, flags}+        type FieldIsArray "flags" VkDebugReportCallbackCreateInfoEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback})++        {-# INLINE vkPfnCallbackByteOffset #-}+        vkPfnCallbackByteOffset ~_+          = #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback}++        {-# INLINE readVkPfnCallback #-}+        readVkPfnCallback p+          = peekByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback}++        {-# INLINE writeVkPfnCallback #-}+        writeVkPfnCallback p+          = pokeByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback}++instance {-# OVERLAPPING #-}+         HasField "pfnCallback" VkDebugReportCallbackCreateInfoEXT where+        type FieldType "pfnCallback" VkDebugReportCallbackCreateInfoEXT =+             PFN_vkDebugReportCallbackEXT+        type FieldOptional "pfnCallback" VkDebugReportCallbackCreateInfoEXT+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pfnCallback" VkDebugReportCallbackCreateInfoEXT =+             #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback}+        type FieldIsArray "pfnCallback" VkDebugReportCallbackCreateInfoEXT+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback}++instance CanReadField "pfnCallback"+           VkDebugReportCallbackCreateInfoEXT+         where+        {-# INLINE getField #-}+        getField = vkPfnCallback++        {-# INLINE readField #-}+        readField = readVkPfnCallback++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pUserData" VkDebugReportCallbackCreateInfoEXT where+        type FieldType "pUserData" VkDebugReportCallbackCreateInfoEXT =+             Ptr Void+        type FieldOptional "pUserData" VkDebugReportCallbackCreateInfoEXT =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "pUserData" VkDebugReportCallbackCreateInfoEXT =+             #{offset VkDebugReportCallbackCreateInfoEXT, pUserData}+        type FieldIsArray "pUserData" VkDebugReportCallbackCreateInfoEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDebugReportCallbackCreateInfoEXT, pUserData}++instance CanReadField "pUserData"+           VkDebugReportCallbackCreateInfoEXT+         where+        {-# INLINE getField #-}+        getField = vkPUserData++        {-# INLINE readField #-}+        readField = readVkPUserData++instance CanWriteField "pUserData"+           VkDebugReportCallbackCreateInfoEXT+         where+        {-# INLINE writeField #-}+        writeField = writeVkPUserData++instance Show VkDebugReportCallbackCreateInfoEXT where+        showsPrec d x+          = showString "VkDebugReportCallbackCreateInfoEXT {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFlags = " .+                            showsPrec d (vkFlags x) .+                              showString ", " .+                                showString "vkPfnCallback = " .+                                  showsPrec d (vkPfnCallback x) .+                                    showString ", " .+                                      showString "vkPUserData = " .+                                        showsPrec d (vkPUserData x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDedicatedAllocationBufferCreateInfoNV.hsc view
@@ -0,0 +1,269 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDedicatedAllocationBufferCreateInfoNV+       (VkDedicatedAllocationBufferCreateInfoNV(..)) 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           Graphics.Vulkan.Types.Struct.VkBufferCreateInfo (VkBufferCreateInfo)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                (unsafeDupablePerformIO)++-- | > typedef struct VkDedicatedAllocationBufferCreateInfoNV {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkBool32                         dedicatedAllocation;+--   > } VkDedicatedAllocationBufferCreateInfoNV;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDedicatedAllocationBufferCreateInfoNV.html VkDedicatedAllocationBufferCreateInfoNV registry at www.khronos.org>+data VkDedicatedAllocationBufferCreateInfoNV = VkDedicatedAllocationBufferCreateInfoNV## Addr##+                                                                                        ByteArray##++instance Eq VkDedicatedAllocationBufferCreateInfoNV where+        (VkDedicatedAllocationBufferCreateInfoNV## a _) ==+          x@(VkDedicatedAllocationBufferCreateInfoNV## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDedicatedAllocationBufferCreateInfoNV where+        (VkDedicatedAllocationBufferCreateInfoNV## a _) `compare`+          x@(VkDedicatedAllocationBufferCreateInfoNV## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDedicatedAllocationBufferCreateInfoNV where+        sizeOf ~_+          = #{size VkDedicatedAllocationBufferCreateInfoNV}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDedicatedAllocationBufferCreateInfoNV}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDedicatedAllocationBufferCreateInfoNV+         where+        unsafeAddr (VkDedicatedAllocationBufferCreateInfoNV## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDedicatedAllocationBufferCreateInfoNV## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDedicatedAllocationBufferCreateInfoNV##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDedicatedAllocationBufferCreateInfoNV+         where+        type StructFields VkDedicatedAllocationBufferCreateInfoNV =+             '["sType", "pNext", "dedicatedAllocation"] -- ' closing tick for hsc2hs+        type CUnionType VkDedicatedAllocationBufferCreateInfoNV = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDedicatedAllocationBufferCreateInfoNV = 'False -- ' closing tick for hsc2hs+        type StructExtends VkDedicatedAllocationBufferCreateInfoNV =+             '[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+        type FieldOptional "sType" VkDedicatedAllocationBufferCreateInfoNV+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDedicatedAllocationBufferCreateInfoNV =+             #{offset VkDedicatedAllocationBufferCreateInfoNV, sType}+        type FieldIsArray "sType" VkDedicatedAllocationBufferCreateInfoNV =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDedicatedAllocationBufferCreateInfoNV where+        type FieldType "pNext" VkDedicatedAllocationBufferCreateInfoNV =+             Ptr Void+        type FieldOptional "pNext" VkDedicatedAllocationBufferCreateInfoNV+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDedicatedAllocationBufferCreateInfoNV =+             #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext}+        type FieldIsArray "pNext" VkDedicatedAllocationBufferCreateInfoNV =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation})++        {-# INLINE vkDedicatedAllocationByteOffset #-}+        vkDedicatedAllocationByteOffset ~_+          = #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation}++        {-# INLINE readVkDedicatedAllocation #-}+        readVkDedicatedAllocation p+          = peekByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation}++        {-# INLINE writeVkDedicatedAllocation #-}+        writeVkDedicatedAllocation p+          = pokeByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation}++instance {-# OVERLAPPING #-}+         HasField "dedicatedAllocation"+           VkDedicatedAllocationBufferCreateInfoNV+         where+        type FieldType "dedicatedAllocation"+               VkDedicatedAllocationBufferCreateInfoNV+             = VkBool32+        type FieldOptional "dedicatedAllocation"+               VkDedicatedAllocationBufferCreateInfoNV+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "dedicatedAllocation"+               VkDedicatedAllocationBufferCreateInfoNV+             =+             #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation}+        type FieldIsArray "dedicatedAllocation"+               VkDedicatedAllocationBufferCreateInfoNV+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation}++instance CanReadField "dedicatedAllocation"+           VkDedicatedAllocationBufferCreateInfoNV+         where+        {-# INLINE getField #-}+        getField = vkDedicatedAllocation++        {-# INLINE readField #-}+        readField = readVkDedicatedAllocation++instance CanWriteField "dedicatedAllocation"+           VkDedicatedAllocationBufferCreateInfoNV+         where+        {-# INLINE writeField #-}+        writeField = writeVkDedicatedAllocation++instance Show VkDedicatedAllocationBufferCreateInfoNV where+        showsPrec d x+          = showString "VkDedicatedAllocationBufferCreateInfoNV {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkDedicatedAllocation = " .+                            showsPrec d (vkDedicatedAllocation x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDedicatedAllocationImageCreateInfoNV.hsc view
@@ -0,0 +1,267 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDedicatedAllocationImageCreateInfoNV+       (VkDedicatedAllocationImageCreateInfoNV(..)) 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           Graphics.Vulkan.Types.Struct.VkImageCreateInfo (VkImageCreateInfo)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                               (unsafeDupablePerformIO)++-- | > typedef struct VkDedicatedAllocationImageCreateInfoNV {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkBool32                         dedicatedAllocation;+--   > } VkDedicatedAllocationImageCreateInfoNV;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDedicatedAllocationImageCreateInfoNV.html VkDedicatedAllocationImageCreateInfoNV registry at www.khronos.org>+data VkDedicatedAllocationImageCreateInfoNV = VkDedicatedAllocationImageCreateInfoNV## Addr##+                                                                                      ByteArray##++instance Eq VkDedicatedAllocationImageCreateInfoNV where+        (VkDedicatedAllocationImageCreateInfoNV## a _) ==+          x@(VkDedicatedAllocationImageCreateInfoNV## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDedicatedAllocationImageCreateInfoNV where+        (VkDedicatedAllocationImageCreateInfoNV## a _) `compare`+          x@(VkDedicatedAllocationImageCreateInfoNV## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDedicatedAllocationImageCreateInfoNV where+        sizeOf ~_+          = #{size VkDedicatedAllocationImageCreateInfoNV}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDedicatedAllocationImageCreateInfoNV}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDedicatedAllocationImageCreateInfoNV+         where+        unsafeAddr (VkDedicatedAllocationImageCreateInfoNV## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDedicatedAllocationImageCreateInfoNV## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDedicatedAllocationImageCreateInfoNV##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDedicatedAllocationImageCreateInfoNV where+        type StructFields VkDedicatedAllocationImageCreateInfoNV =+             '["sType", "pNext", "dedicatedAllocation"] -- ' closing tick for hsc2hs+        type CUnionType VkDedicatedAllocationImageCreateInfoNV = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDedicatedAllocationImageCreateInfoNV = 'False -- ' closing tick for hsc2hs+        type StructExtends VkDedicatedAllocationImageCreateInfoNV =+             '[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+        type FieldOptional "sType" VkDedicatedAllocationImageCreateInfoNV =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDedicatedAllocationImageCreateInfoNV =+             #{offset VkDedicatedAllocationImageCreateInfoNV, sType}+        type FieldIsArray "sType" VkDedicatedAllocationImageCreateInfoNV =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationImageCreateInfoNV, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkDedicatedAllocationImageCreateInfoNV, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDedicatedAllocationImageCreateInfoNV where+        type FieldType "pNext" VkDedicatedAllocationImageCreateInfoNV =+             Ptr Void+        type FieldOptional "pNext" VkDedicatedAllocationImageCreateInfoNV =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDedicatedAllocationImageCreateInfoNV =+             #{offset VkDedicatedAllocationImageCreateInfoNV, pNext}+        type FieldIsArray "pNext" VkDedicatedAllocationImageCreateInfoNV =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation})++        {-# INLINE vkDedicatedAllocationByteOffset #-}+        vkDedicatedAllocationByteOffset ~_+          = #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation}++        {-# INLINE readVkDedicatedAllocation #-}+        readVkDedicatedAllocation p+          = peekByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation}++        {-# INLINE writeVkDedicatedAllocation #-}+        writeVkDedicatedAllocation p+          = pokeByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation}++instance {-# OVERLAPPING #-}+         HasField "dedicatedAllocation"+           VkDedicatedAllocationImageCreateInfoNV+         where+        type FieldType "dedicatedAllocation"+               VkDedicatedAllocationImageCreateInfoNV+             = VkBool32+        type FieldOptional "dedicatedAllocation"+               VkDedicatedAllocationImageCreateInfoNV+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "dedicatedAllocation"+               VkDedicatedAllocationImageCreateInfoNV+             =+             #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation}+        type FieldIsArray "dedicatedAllocation"+               VkDedicatedAllocationImageCreateInfoNV+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation}++instance CanReadField "dedicatedAllocation"+           VkDedicatedAllocationImageCreateInfoNV+         where+        {-# INLINE getField #-}+        getField = vkDedicatedAllocation++        {-# INLINE readField #-}+        readField = readVkDedicatedAllocation++instance CanWriteField "dedicatedAllocation"+           VkDedicatedAllocationImageCreateInfoNV+         where+        {-# INLINE writeField #-}+        writeField = writeVkDedicatedAllocation++instance Show VkDedicatedAllocationImageCreateInfoNV where+        showsPrec d x+          = showString "VkDedicatedAllocationImageCreateInfoNV {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkDedicatedAllocation = " .+                            showsPrec d (vkDedicatedAllocation x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDedicatedAllocationMemoryAllocateInfoNV.hsc view
@@ -0,0 +1,331 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDedicatedAllocationMemoryAllocateInfoNV+       (VkDedicatedAllocationMemoryAllocateInfoNV(..)) 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,+                                                                    VkImage)+import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo (VkMemoryAllocateInfo)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                  (unsafeDupablePerformIO)++-- | > typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkImage          image;+--   >     VkBuffer         buffer;+--   > } VkDedicatedAllocationMemoryAllocateInfoNV;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDedicatedAllocationMemoryAllocateInfoNV.html VkDedicatedAllocationMemoryAllocateInfoNV registry at www.khronos.org>+data VkDedicatedAllocationMemoryAllocateInfoNV = VkDedicatedAllocationMemoryAllocateInfoNV## Addr##+                                                                                            ByteArray##++instance Eq VkDedicatedAllocationMemoryAllocateInfoNV where+        (VkDedicatedAllocationMemoryAllocateInfoNV## a _) ==+          x@(VkDedicatedAllocationMemoryAllocateInfoNV## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDedicatedAllocationMemoryAllocateInfoNV where+        (VkDedicatedAllocationMemoryAllocateInfoNV## a _) `compare`+          x@(VkDedicatedAllocationMemoryAllocateInfoNV## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDedicatedAllocationMemoryAllocateInfoNV where+        sizeOf ~_+          = #{size VkDedicatedAllocationMemoryAllocateInfoNV}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDedicatedAllocationMemoryAllocateInfoNV}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim+           VkDedicatedAllocationMemoryAllocateInfoNV+         where+        unsafeAddr (VkDedicatedAllocationMemoryAllocateInfoNV## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDedicatedAllocationMemoryAllocateInfoNV## _ b)+          = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDedicatedAllocationMemoryAllocateInfoNV##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDedicatedAllocationMemoryAllocateInfoNV+         where+        type StructFields VkDedicatedAllocationMemoryAllocateInfoNV =+             '["sType", "pNext", "image", "buffer"] -- ' closing tick for hsc2hs+        type CUnionType VkDedicatedAllocationMemoryAllocateInfoNV = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDedicatedAllocationMemoryAllocateInfoNV =+             'False -- ' closing tick for hsc2hs+        type StructExtends VkDedicatedAllocationMemoryAllocateInfoNV =+             '[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+        type FieldOptional "sType"+               VkDedicatedAllocationMemoryAllocateInfoNV+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDedicatedAllocationMemoryAllocateInfoNV+             =+             #{offset VkDedicatedAllocationMemoryAllocateInfoNV, sType}+        type FieldIsArray "sType" VkDedicatedAllocationMemoryAllocateInfoNV+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDedicatedAllocationMemoryAllocateInfoNV, sType}++instance CanReadField "sType"+           VkDedicatedAllocationMemoryAllocateInfoNV+         where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDedicatedAllocationMemoryAllocateInfoNV where+        type FieldType "pNext" VkDedicatedAllocationMemoryAllocateInfoNV =+             Ptr Void+        type FieldOptional "pNext"+               VkDedicatedAllocationMemoryAllocateInfoNV+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDedicatedAllocationMemoryAllocateInfoNV+             =+             #{offset VkDedicatedAllocationMemoryAllocateInfoNV, pNext}+        type FieldIsArray "pNext" VkDedicatedAllocationMemoryAllocateInfoNV+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDedicatedAllocationMemoryAllocateInfoNV, pNext}++instance CanReadField "pNext"+           VkDedicatedAllocationMemoryAllocateInfoNV+         where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance 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}++instance {-# OVERLAPPING #-}+         HasField "image" VkDedicatedAllocationMemoryAllocateInfoNV where+        type FieldType "image" VkDedicatedAllocationMemoryAllocateInfoNV =+             VkImage+        type FieldOptional "image"+               VkDedicatedAllocationMemoryAllocateInfoNV+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "image" VkDedicatedAllocationMemoryAllocateInfoNV+             =+             #{offset VkDedicatedAllocationMemoryAllocateInfoNV, image}+        type FieldIsArray "image" VkDedicatedAllocationMemoryAllocateInfoNV+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDedicatedAllocationMemoryAllocateInfoNV, image}++instance CanReadField "image"+           VkDedicatedAllocationMemoryAllocateInfoNV+         where+        {-# INLINE getField #-}+        getField = vkImage++        {-# INLINE readField #-}+        readField = readVkImage++instance 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}++instance {-# OVERLAPPING #-}+         HasField "buffer" VkDedicatedAllocationMemoryAllocateInfoNV where+        type FieldType "buffer" VkDedicatedAllocationMemoryAllocateInfoNV =+             VkBuffer+        type FieldOptional "buffer"+               VkDedicatedAllocationMemoryAllocateInfoNV+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "buffer" VkDedicatedAllocationMemoryAllocateInfoNV+             =+             #{offset VkDedicatedAllocationMemoryAllocateInfoNV, buffer}+        type FieldIsArray "buffer"+               VkDedicatedAllocationMemoryAllocateInfoNV+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDedicatedAllocationMemoryAllocateInfoNV, buffer}++instance CanReadField "buffer"+           VkDedicatedAllocationMemoryAllocateInfoNV+         where+        {-# INLINE getField #-}+        getField = vkBuffer++        {-# INLINE readField #-}+        readField = readVkBuffer++instance CanWriteField "buffer"+           VkDedicatedAllocationMemoryAllocateInfoNV+         where+        {-# INLINE writeField #-}+        writeField = writeVkBuffer++instance Show VkDedicatedAllocationMemoryAllocateInfoNV where+        showsPrec d x+          = showString "VkDedicatedAllocationMemoryAllocateInfoNV {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkImage = " .+                            showsPrec d (vkImage x) .+                              showString ", " .+                                showString "vkBuffer = " . showsPrec d (vkBuffer x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorBufferInfo.hsc view
@@ -0,0 +1,222 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDescriptorBufferInfo+       (VkDescriptorBufferInfo(..)) 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.Handles       (VkBuffer)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                    (unsafeDupablePerformIO)++-- | > typedef struct VkDescriptorBufferInfo {+--   >     VkBuffer               buffer;+--   >     VkDeviceSize           offset;+--   >     VkDeviceSize           range;+--   > } VkDescriptorBufferInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDescriptorBufferInfo.html VkDescriptorBufferInfo registry at www.khronos.org>+data VkDescriptorBufferInfo = VkDescriptorBufferInfo## Addr##+                                                      ByteArray##++instance Eq VkDescriptorBufferInfo where+        (VkDescriptorBufferInfo## a _) == x@(VkDescriptorBufferInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDescriptorBufferInfo where+        (VkDescriptorBufferInfo## a _) `compare`+          x@(VkDescriptorBufferInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDescriptorBufferInfo where+        sizeOf ~_ = #{size VkDescriptorBufferInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDescriptorBufferInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDescriptorBufferInfo where+        unsafeAddr (VkDescriptorBufferInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDescriptorBufferInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDescriptorBufferInfo## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDescriptorBufferInfo where+        type StructFields VkDescriptorBufferInfo =+             '["buffer", "offset", "range"] -- ' closing tick for hsc2hs+        type CUnionType VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "buffer" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "buffer" VkDescriptorBufferInfo =+             #{offset VkDescriptorBufferInfo, buffer}+        type FieldIsArray "buffer" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDescriptorBufferInfo, buffer}++instance CanReadField "buffer" VkDescriptorBufferInfo where+        {-# INLINE getField #-}+        getField = vkBuffer++        {-# INLINE readField #-}+        readField = readVkBuffer++instance 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}++instance {-# OVERLAPPING #-}+         HasField "offset" VkDescriptorBufferInfo where+        type FieldType "offset" VkDescriptorBufferInfo = VkDeviceSize+        type FieldOptional "offset" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "offset" VkDescriptorBufferInfo =+             #{offset VkDescriptorBufferInfo, offset}+        type FieldIsArray "offset" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDescriptorBufferInfo, offset}++instance CanReadField "offset" VkDescriptorBufferInfo where+        {-# INLINE getField #-}+        getField = vkOffset++        {-# INLINE readField #-}+        readField = readVkOffset++instance 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}++instance {-# OVERLAPPING #-}+         HasField "range" VkDescriptorBufferInfo where+        type FieldType "range" VkDescriptorBufferInfo = VkDeviceSize+        type FieldOptional "range" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "range" VkDescriptorBufferInfo =+             #{offset VkDescriptorBufferInfo, range}+        type FieldIsArray "range" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDescriptorBufferInfo, range}++instance CanReadField "range" VkDescriptorBufferInfo where+        {-# INLINE getField #-}+        getField = vkRange++        {-# INLINE readField #-}+        readField = readVkRange++instance CanWriteField "range" VkDescriptorBufferInfo where+        {-# INLINE writeField #-}+        writeField = writeVkRange++instance Show VkDescriptorBufferInfo where+        showsPrec d x+          = showString "VkDescriptorBufferInfo {" .+              showString "vkBuffer = " .+                showsPrec d (vkBuffer x) .+                  showString ", " .+                    showString "vkOffset = " .+                      showsPrec d (vkOffset x) .+                        showString ", " .+                          showString "vkRange = " . showsPrec d (vkRange x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorImageInfo.hsc view
@@ -0,0 +1,226 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDescriptorImageInfo+       (VkDescriptorImageInfo(..)) where+import           Foreign.Storable                         (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+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 {+--   >     VkSampler       sampler;+--   >     VkImageView     imageView;+--   >     VkImageLayout   imageLayout;+--   > } VkDescriptorImageInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDescriptorImageInfo.html VkDescriptorImageInfo registry at www.khronos.org>+data VkDescriptorImageInfo = VkDescriptorImageInfo## Addr##+                                                    ByteArray##++instance Eq VkDescriptorImageInfo where+        (VkDescriptorImageInfo## a _) == x@(VkDescriptorImageInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDescriptorImageInfo where+        (VkDescriptorImageInfo## a _) `compare`+          x@(VkDescriptorImageInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDescriptorImageInfo where+        sizeOf ~_ = #{size VkDescriptorImageInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDescriptorImageInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDescriptorImageInfo where+        unsafeAddr (VkDescriptorImageInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDescriptorImageInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDescriptorImageInfo## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDescriptorImageInfo where+        type StructFields VkDescriptorImageInfo =+             '["sampler", "imageView", "imageLayout"] -- ' closing tick for hsc2hs+        type CUnionType VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sampler" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sampler" VkDescriptorImageInfo =+             #{offset VkDescriptorImageInfo, sampler}+        type FieldIsArray "sampler" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDescriptorImageInfo, sampler}++instance CanReadField "sampler" VkDescriptorImageInfo where+        {-# INLINE getField #-}+        getField = vkSampler++        {-# INLINE readField #-}+        readField = readVkSampler++instance 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}++instance {-# OVERLAPPING #-}+         HasField "imageView" VkDescriptorImageInfo where+        type FieldType "imageView" VkDescriptorImageInfo = VkImageView+        type FieldOptional "imageView" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "imageView" VkDescriptorImageInfo =+             #{offset VkDescriptorImageInfo, imageView}+        type FieldIsArray "imageView" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorImageInfo, imageView}++instance CanReadField "imageView" VkDescriptorImageInfo where+        {-# INLINE getField #-}+        getField = vkImageView++        {-# INLINE readField #-}+        readField = readVkImageView++instance 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}++instance {-# OVERLAPPING #-}+         HasField "imageLayout" VkDescriptorImageInfo where+        type FieldType "imageLayout" VkDescriptorImageInfo = VkImageLayout+        type FieldOptional "imageLayout" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "imageLayout" VkDescriptorImageInfo =+             #{offset VkDescriptorImageInfo, imageLayout}+        type FieldIsArray "imageLayout" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorImageInfo, imageLayout}++instance CanReadField "imageLayout" VkDescriptorImageInfo where+        {-# INLINE getField #-}+        getField = vkImageLayout++        {-# INLINE readField #-}+        readField = readVkImageLayout++instance CanWriteField "imageLayout" VkDescriptorImageInfo where+        {-# INLINE writeField #-}+        writeField = writeVkImageLayout++instance Show VkDescriptorImageInfo where+        showsPrec d x+          = showString "VkDescriptorImageInfo {" .+              showString "vkSampler = " .+                showsPrec d (vkSampler x) .+                  showString ", " .+                    showString "vkImageView = " .+                      showsPrec d (vkImageView x) .+                        showString ", " .+                          showString "vkImageLayout = " .+                            showsPrec d (vkImageLayout x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorPoolCreateInfo.hsc view
@@ -0,0 +1,393 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDescriptorPoolCreateInfo+       (VkDescriptorPoolCreateInfo(..)) where+import           Foreign.Storable                                       (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+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 {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkDescriptorPoolCreateFlags  flags;+--   >     uint32_t               maxSets;+--   >     uint32_t               poolSizeCount;+--   >     const VkDescriptorPoolSize* pPoolSizes;+--   > } VkDescriptorPoolCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDescriptorPoolCreateInfo.html VkDescriptorPoolCreateInfo registry at www.khronos.org>+data VkDescriptorPoolCreateInfo = VkDescriptorPoolCreateInfo## Addr##+                                                              ByteArray##++instance Eq VkDescriptorPoolCreateInfo where+        (VkDescriptorPoolCreateInfo## a _) ==+          x@(VkDescriptorPoolCreateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDescriptorPoolCreateInfo where+        (VkDescriptorPoolCreateInfo## a _) `compare`+          x@(VkDescriptorPoolCreateInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDescriptorPoolCreateInfo where+        sizeOf ~_ = #{size VkDescriptorPoolCreateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDescriptorPoolCreateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDescriptorPoolCreateInfo where+        unsafeAddr (VkDescriptorPoolCreateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDescriptorPoolCreateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDescriptorPoolCreateInfo##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDescriptorPoolCreateInfo where+        type StructFields VkDescriptorPoolCreateInfo =+             '["sType", "pNext", "flags", "maxSets", "poolSizeCount", -- ' closing tick for hsc2hs+               "pPoolSizes"]+        type CUnionType VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDescriptorPoolCreateInfo =+             #{offset VkDescriptorPoolCreateInfo, sType}+        type FieldIsArray "sType" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorPoolCreateInfo, sType}++instance CanReadField "sType" VkDescriptorPoolCreateInfo where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDescriptorPoolCreateInfo where+        type FieldType "pNext" VkDescriptorPoolCreateInfo = Ptr Void+        type FieldOptional "pNext" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDescriptorPoolCreateInfo =+             #{offset VkDescriptorPoolCreateInfo, pNext}+        type FieldIsArray "pNext" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorPoolCreateInfo, pNext}++instance CanReadField "pNext" VkDescriptorPoolCreateInfo where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance 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}++instance {-# OVERLAPPING #-}+         HasField "flags" VkDescriptorPoolCreateInfo where+        type FieldType "flags" VkDescriptorPoolCreateInfo =+             VkDescriptorPoolCreateFlags+        type FieldOptional "flags" VkDescriptorPoolCreateInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkDescriptorPoolCreateInfo =+             #{offset VkDescriptorPoolCreateInfo, flags}+        type FieldIsArray "flags" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, maxSets})++        {-# INLINE vkMaxSetsByteOffset #-}+        vkMaxSetsByteOffset ~_+          = #{offset VkDescriptorPoolCreateInfo, maxSets}++        {-# INLINE readVkMaxSets #-}+        readVkMaxSets p+          = peekByteOff p #{offset VkDescriptorPoolCreateInfo, maxSets}++        {-# INLINE writeVkMaxSets #-}+        writeVkMaxSets p+          = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, maxSets}++instance {-# OVERLAPPING #-}+         HasField "maxSets" VkDescriptorPoolCreateInfo where+        type FieldType "maxSets" VkDescriptorPoolCreateInfo = Word32+        type FieldOptional "maxSets" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "maxSets" VkDescriptorPoolCreateInfo =+             #{offset VkDescriptorPoolCreateInfo, maxSets}+        type FieldIsArray "maxSets" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, poolSizeCount})++        {-# INLINE vkPoolSizeCountByteOffset #-}+        vkPoolSizeCountByteOffset ~_+          = #{offset VkDescriptorPoolCreateInfo, poolSizeCount}++        {-# INLINE readVkPoolSizeCount #-}+        readVkPoolSizeCount p+          = peekByteOff p #{offset VkDescriptorPoolCreateInfo, poolSizeCount}++        {-# INLINE writeVkPoolSizeCount #-}+        writeVkPoolSizeCount p+          = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, poolSizeCount}++instance {-# OVERLAPPING #-}+         HasField "poolSizeCount" VkDescriptorPoolCreateInfo where+        type FieldType "poolSizeCount" VkDescriptorPoolCreateInfo = Word32+        type FieldOptional "poolSizeCount" VkDescriptorPoolCreateInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "poolSizeCount" VkDescriptorPoolCreateInfo =+             #{offset VkDescriptorPoolCreateInfo, poolSizeCount}+        type FieldIsArray "poolSizeCount" VkDescriptorPoolCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, pPoolSizes})++        {-# INLINE vkPPoolSizesByteOffset #-}+        vkPPoolSizesByteOffset ~_+          = #{offset VkDescriptorPoolCreateInfo, pPoolSizes}++        {-# INLINE readVkPPoolSizes #-}+        readVkPPoolSizes p+          = peekByteOff p #{offset VkDescriptorPoolCreateInfo, pPoolSizes}++        {-# INLINE writeVkPPoolSizes #-}+        writeVkPPoolSizes p+          = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, pPoolSizes}++instance {-# OVERLAPPING #-}+         HasField "pPoolSizes" VkDescriptorPoolCreateInfo where+        type FieldType "pPoolSizes" VkDescriptorPoolCreateInfo =+             Ptr VkDescriptorPoolSize+        type FieldOptional "pPoolSizes" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pPoolSizes" VkDescriptorPoolCreateInfo =+             #{offset VkDescriptorPoolCreateInfo, pPoolSizes}+        type FieldIsArray "pPoolSizes" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorPoolCreateInfo, pPoolSizes}++instance CanReadField "pPoolSizes" VkDescriptorPoolCreateInfo where+        {-# INLINE getField #-}+        getField = vkPPoolSizes++        {-# INLINE readField #-}+        readField = readVkPPoolSizes++instance CanWriteField "pPoolSizes" VkDescriptorPoolCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkPPoolSizes++instance Show VkDescriptorPoolCreateInfo where+        showsPrec d x+          = showString "VkDescriptorPoolCreateInfo {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFlags = " .+                            showsPrec d (vkFlags x) .+                              showString ", " .+                                showString "vkMaxSets = " .+                                  showsPrec d (vkMaxSets x) .+                                    showString ", " .+                                      showString "vkPoolSizeCount = " .+                                        showsPrec d (vkPoolSizeCount x) .+                                          showString ", " .+                                            showString "vkPPoolSizes = " .+                                              showsPrec d (vkPPoolSizes x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorPoolSize.hsc view
@@ -0,0 +1,171 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDescriptorPoolSize+       (VkDescriptorPoolSize(..)) 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 VkDescriptorPoolSize {+--   >     VkDescriptorType       type;+--   >     uint32_t               descriptorCount;+--   > } VkDescriptorPoolSize;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDescriptorPoolSize.html VkDescriptorPoolSize registry at www.khronos.org>+data VkDescriptorPoolSize = VkDescriptorPoolSize## Addr## ByteArray##++instance Eq VkDescriptorPoolSize where+        (VkDescriptorPoolSize## a _) == x@(VkDescriptorPoolSize## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDescriptorPoolSize where+        (VkDescriptorPoolSize## a _) `compare` x@(VkDescriptorPoolSize## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDescriptorPoolSize where+        sizeOf ~_ = #{size VkDescriptorPoolSize}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDescriptorPoolSize}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDescriptorPoolSize where+        unsafeAddr (VkDescriptorPoolSize## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDescriptorPoolSize## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDescriptorPoolSize## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDescriptorPoolSize where+        type StructFields VkDescriptorPoolSize =+             '["type", "descriptorCount"] -- ' closing tick for hsc2hs+        type CUnionType VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "type" VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs+        type FieldOffset "type" VkDescriptorPoolSize =+             #{offset VkDescriptorPoolSize, type}+        type FieldIsArray "type" VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# 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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolSize, descriptorCount})++        {-# INLINE vkDescriptorCountByteOffset #-}+        vkDescriptorCountByteOffset ~_+          = #{offset VkDescriptorPoolSize, descriptorCount}++        {-# INLINE readVkDescriptorCount #-}+        readVkDescriptorCount p+          = peekByteOff p #{offset VkDescriptorPoolSize, descriptorCount}++        {-# INLINE writeVkDescriptorCount #-}+        writeVkDescriptorCount p+          = pokeByteOff p #{offset VkDescriptorPoolSize, descriptorCount}++instance {-# OVERLAPPING #-}+         HasField "descriptorCount" VkDescriptorPoolSize where+        type FieldType "descriptorCount" VkDescriptorPoolSize = Word32+        type FieldOptional "descriptorCount" VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs+        type FieldOffset "descriptorCount" VkDescriptorPoolSize =+             #{offset VkDescriptorPoolSize, descriptorCount}+        type FieldIsArray "descriptorCount" VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorPoolSize, descriptorCount}++instance CanReadField "descriptorCount" VkDescriptorPoolSize where+        {-# INLINE getField #-}+        getField = vkDescriptorCount++        {-# INLINE readField #-}+        readField = readVkDescriptorCount++instance CanWriteField "descriptorCount" VkDescriptorPoolSize where+        {-# INLINE writeField #-}+        writeField = writeVkDescriptorCount++instance Show VkDescriptorPoolSize where+        showsPrec d x+          = showString "VkDescriptorPoolSize {" .+              showString "vkType = " .+                showsPrec d (vkType x) .+                  showString ", " .+                    showString "vkDescriptorCount = " .+                      showsPrec d (vkDescriptorCount x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorSetAllocateInfo.hsc view
@@ -0,0 +1,352 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDescriptorSetAllocateInfo+       (VkDescriptorSetAllocateInfo(..)) 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              (VkDescriptorPool, VkDescriptorSetLayout)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkDescriptorSetAllocateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkDescriptorPool       descriptorPool;+--   >     uint32_t               descriptorSetCount;+--   >     const VkDescriptorSetLayout* pSetLayouts;+--   > } VkDescriptorSetAllocateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDescriptorSetAllocateInfo.html VkDescriptorSetAllocateInfo registry at www.khronos.org>+data VkDescriptorSetAllocateInfo = VkDescriptorSetAllocateInfo## Addr##+                                                                ByteArray##++instance Eq VkDescriptorSetAllocateInfo where+        (VkDescriptorSetAllocateInfo## a _) ==+          x@(VkDescriptorSetAllocateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDescriptorSetAllocateInfo where+        (VkDescriptorSetAllocateInfo## a _) `compare`+          x@(VkDescriptorSetAllocateInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDescriptorSetAllocateInfo where+        sizeOf ~_ = #{size VkDescriptorSetAllocateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDescriptorSetAllocateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDescriptorSetAllocateInfo where+        unsafeAddr (VkDescriptorSetAllocateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDescriptorSetAllocateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDescriptorSetAllocateInfo##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDescriptorSetAllocateInfo where+        type StructFields VkDescriptorSetAllocateInfo =+             '["sType", "pNext", "descriptorPool", "descriptorSetCount", -- ' closing tick for hsc2hs+               "pSetLayouts"]+        type CUnionType VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs+        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 =+             VkStructureType+        type FieldOptional "sType" VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDescriptorSetAllocateInfo =+             #{offset VkDescriptorSetAllocateInfo, sType}+        type FieldIsArray "sType" VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorSetAllocateInfo, sType}++instance CanReadField "sType" VkDescriptorSetAllocateInfo where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDescriptorSetAllocateInfo where+        type FieldType "pNext" VkDescriptorSetAllocateInfo = Ptr Void+        type FieldOptional "pNext" VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDescriptorSetAllocateInfo =+             #{offset VkDescriptorSetAllocateInfo, pNext}+        type FieldIsArray "pNext" VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetAllocateInfo, descriptorPool})++        {-# INLINE vkDescriptorPoolByteOffset #-}+        vkDescriptorPoolByteOffset ~_+          = #{offset VkDescriptorSetAllocateInfo, descriptorPool}++        {-# INLINE readVkDescriptorPool #-}+        readVkDescriptorPool p+          = peekByteOff p #{offset VkDescriptorSetAllocateInfo, descriptorPool}++        {-# INLINE writeVkDescriptorPool #-}+        writeVkDescriptorPool p+          = pokeByteOff p #{offset VkDescriptorSetAllocateInfo, descriptorPool}++instance {-# OVERLAPPING #-}+         HasField "descriptorPool" VkDescriptorSetAllocateInfo where+        type FieldType "descriptorPool" VkDescriptorSetAllocateInfo =+             VkDescriptorPool+        type FieldOptional "descriptorPool" VkDescriptorSetAllocateInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "descriptorPool" VkDescriptorSetAllocateInfo =+             #{offset VkDescriptorSetAllocateInfo, descriptorPool}+        type FieldIsArray "descriptorPool" VkDescriptorSetAllocateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetAllocateInfo, descriptorSetCount})++        {-# INLINE vkDescriptorSetCountByteOffset #-}+        vkDescriptorSetCountByteOffset ~_+          = #{offset VkDescriptorSetAllocateInfo, descriptorSetCount}++        {-# INLINE readVkDescriptorSetCount #-}+        readVkDescriptorSetCount p+          = peekByteOff p #{offset VkDescriptorSetAllocateInfo, descriptorSetCount}++        {-# INLINE writeVkDescriptorSetCount #-}+        writeVkDescriptorSetCount p+          = pokeByteOff p #{offset VkDescriptorSetAllocateInfo, descriptorSetCount}++instance {-# OVERLAPPING #-}+         HasField "descriptorSetCount" VkDescriptorSetAllocateInfo where+        type FieldType "descriptorSetCount" VkDescriptorSetAllocateInfo =+             Word32+        type FieldOptional "descriptorSetCount" VkDescriptorSetAllocateInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "descriptorSetCount" VkDescriptorSetAllocateInfo =+             #{offset VkDescriptorSetAllocateInfo, descriptorSetCount}+        type FieldIsArray "descriptorSetCount" VkDescriptorSetAllocateInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorSetAllocateInfo, descriptorSetCount}++instance CanReadField "descriptorSetCount"+           VkDescriptorSetAllocateInfo+         where+        {-# INLINE getField #-}+        getField = vkDescriptorSetCount++        {-# INLINE readField #-}+        readField = readVkDescriptorSetCount++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pSetLayouts" VkDescriptorSetAllocateInfo where+        type FieldType "pSetLayouts" VkDescriptorSetAllocateInfo =+             Ptr VkDescriptorSetLayout+        type FieldOptional "pSetLayouts" VkDescriptorSetAllocateInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pSetLayouts" VkDescriptorSetAllocateInfo =+             #{offset VkDescriptorSetAllocateInfo, pSetLayouts}+        type FieldIsArray "pSetLayouts" VkDescriptorSetAllocateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorSetAllocateInfo, pSetLayouts}++instance CanReadField "pSetLayouts" VkDescriptorSetAllocateInfo+         where+        {-# INLINE getField #-}+        getField = vkPSetLayouts++        {-# INLINE readField #-}+        readField = readVkPSetLayouts++instance CanWriteField "pSetLayouts" VkDescriptorSetAllocateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkPSetLayouts++instance Show VkDescriptorSetAllocateInfo where+        showsPrec d x+          = showString "VkDescriptorSetAllocateInfo {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkDescriptorPool = " .+                            showsPrec d (vkDescriptorPool x) .+                              showString ", " .+                                showString "vkDescriptorSetCount = " .+                                  showsPrec d (vkDescriptorSetCount x) .+                                    showString ", " .+                                      showString "vkPSetLayouts = " .+                                        showsPrec d (vkPSetLayouts x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorSetLayoutBinding.hsc view
@@ -0,0 +1,364 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutBinding+       (VkDescriptorSetLayoutBinding(..)) 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.Enum.VkShaderStageFlags (VkShaderStageFlags)+import           Graphics.Vulkan.Types.Handles                 (VkSampler)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                              (unsafeDupablePerformIO)++-- | > typedef struct VkDescriptorSetLayoutBinding {+--   >     uint32_t               binding;+--   >     VkDescriptorType       descriptorType;+--   >     uint32_t descriptorCount;+--   >     VkShaderStageFlags     stageFlags;+--   >     const VkSampler*       pImmutableSamplers;+--   > } VkDescriptorSetLayoutBinding;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDescriptorSetLayoutBinding.html VkDescriptorSetLayoutBinding registry at www.khronos.org>+data VkDescriptorSetLayoutBinding = VkDescriptorSetLayoutBinding## Addr##+                                                                  ByteArray##++instance Eq VkDescriptorSetLayoutBinding where+        (VkDescriptorSetLayoutBinding## a _) ==+          x@(VkDescriptorSetLayoutBinding## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDescriptorSetLayoutBinding where+        (VkDescriptorSetLayoutBinding## a _) `compare`+          x@(VkDescriptorSetLayoutBinding## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDescriptorSetLayoutBinding where+        sizeOf ~_ = #{size VkDescriptorSetLayoutBinding}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDescriptorSetLayoutBinding}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDescriptorSetLayoutBinding where+        unsafeAddr (VkDescriptorSetLayoutBinding## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDescriptorSetLayoutBinding## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDescriptorSetLayoutBinding##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDescriptorSetLayoutBinding where+        type StructFields VkDescriptorSetLayoutBinding =+             '["binding", "descriptorType", "descriptorCount", "stageFlags", -- ' closing tick for hsc2hs+               "pImmutableSamplers"]+        type CUnionType VkDescriptorSetLayoutBinding = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDescriptorSetLayoutBinding = 'False -- ' closing tick for hsc2hs+        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+        type FieldOffset "binding" VkDescriptorSetLayoutBinding =+             #{offset VkDescriptorSetLayoutBinding, binding}+        type FieldIsArray "binding" VkDescriptorSetLayoutBinding = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, descriptorType})++        {-# INLINE vkDescriptorTypeByteOffset #-}+        vkDescriptorTypeByteOffset ~_+          = #{offset VkDescriptorSetLayoutBinding, descriptorType}++        {-# INLINE readVkDescriptorType #-}+        readVkDescriptorType p+          = peekByteOff p #{offset VkDescriptorSetLayoutBinding, descriptorType}++        {-# INLINE writeVkDescriptorType #-}+        writeVkDescriptorType p+          = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, descriptorType}++instance {-# OVERLAPPING #-}+         HasField "descriptorType" VkDescriptorSetLayoutBinding where+        type FieldType "descriptorType" VkDescriptorSetLayoutBinding =+             VkDescriptorType+        type FieldOptional "descriptorType" VkDescriptorSetLayoutBinding =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "descriptorType" VkDescriptorSetLayoutBinding =+             #{offset VkDescriptorSetLayoutBinding, descriptorType}+        type FieldIsArray "descriptorType" VkDescriptorSetLayoutBinding =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, descriptorCount})++        {-# INLINE vkDescriptorCountByteOffset #-}+        vkDescriptorCountByteOffset ~_+          = #{offset VkDescriptorSetLayoutBinding, descriptorCount}++        {-# INLINE readVkDescriptorCount #-}+        readVkDescriptorCount p+          = peekByteOff p #{offset VkDescriptorSetLayoutBinding, descriptorCount}++        {-# INLINE writeVkDescriptorCount #-}+        writeVkDescriptorCount p+          = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, descriptorCount}++instance {-# OVERLAPPING #-}+         HasField "descriptorCount" VkDescriptorSetLayoutBinding where+        type FieldType "descriptorCount" VkDescriptorSetLayoutBinding =+             Word32+        type FieldOptional "descriptorCount" VkDescriptorSetLayoutBinding =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "descriptorCount" VkDescriptorSetLayoutBinding =+             #{offset VkDescriptorSetLayoutBinding, descriptorCount}+        type FieldIsArray "descriptorCount" VkDescriptorSetLayoutBinding =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, stageFlags})++        {-# INLINE vkStageFlagsByteOffset #-}+        vkStageFlagsByteOffset ~_+          = #{offset VkDescriptorSetLayoutBinding, stageFlags}++        {-# INLINE readVkStageFlags #-}+        readVkStageFlags p+          = peekByteOff p #{offset VkDescriptorSetLayoutBinding, stageFlags}++        {-# INLINE writeVkStageFlags #-}+        writeVkStageFlags p+          = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, stageFlags}++instance {-# OVERLAPPING #-}+         HasField "stageFlags" VkDescriptorSetLayoutBinding where+        type FieldType "stageFlags" VkDescriptorSetLayoutBinding =+             VkShaderStageFlags+        type FieldOptional "stageFlags" VkDescriptorSetLayoutBinding =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "stageFlags" VkDescriptorSetLayoutBinding =+             #{offset VkDescriptorSetLayoutBinding, stageFlags}+        type FieldIsArray "stageFlags" VkDescriptorSetLayoutBinding =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers})++        {-# INLINE vkPImmutableSamplersByteOffset #-}+        vkPImmutableSamplersByteOffset ~_+          = #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers}++        {-# INLINE readVkPImmutableSamplers #-}+        readVkPImmutableSamplers p+          = peekByteOff p #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers}++        {-# INLINE writeVkPImmutableSamplers #-}+        writeVkPImmutableSamplers p+          = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers}++instance {-# OVERLAPPING #-}+         HasField "pImmutableSamplers" VkDescriptorSetLayoutBinding where+        type FieldType "pImmutableSamplers" VkDescriptorSetLayoutBinding =+             Ptr VkSampler+        type FieldOptional "pImmutableSamplers"+               VkDescriptorSetLayoutBinding+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "pImmutableSamplers" VkDescriptorSetLayoutBinding+             =+             #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers}+        type FieldIsArray "pImmutableSamplers" VkDescriptorSetLayoutBinding+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers}++instance CanReadField "pImmutableSamplers"+           VkDescriptorSetLayoutBinding+         where+        {-# INLINE getField #-}+        getField = vkPImmutableSamplers++        {-# INLINE readField #-}+        readField = readVkPImmutableSamplers++instance CanWriteField "pImmutableSamplers"+           VkDescriptorSetLayoutBinding+         where+        {-# INLINE writeField #-}+        writeField = writeVkPImmutableSamplers++instance Show VkDescriptorSetLayoutBinding where+        showsPrec d x+          = showString "VkDescriptorSetLayoutBinding {" .+              showString "vkBinding = " .+                showsPrec d (vkBinding x) .+                  showString ", " .+                    showString "vkDescriptorType = " .+                      showsPrec d (vkDescriptorType x) .+                        showString ", " .+                          showString "vkDescriptorCount = " .+                            showsPrec d (vkDescriptorCount x) .+                              showString ", " .+                                showString "vkStageFlags = " .+                                  showsPrec d (vkStageFlags x) .+                                    showString ", " .+                                      showString "vkPImmutableSamplers = " .+                                        showsPrec d (vkPImmutableSamplers x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorSetLayoutCreateInfo.hsc view
@@ -0,0 +1,352 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutCreateInfo+       (VkDescriptorSetLayoutCreateInfo(..)) where+import           Foreign.Storable                                            (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+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 {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkDescriptorSetLayoutCreateFlags    flags;+--   >     uint32_t               bindingCount;+--   >     const VkDescriptorSetLayoutBinding* pBindings;+--   > } VkDescriptorSetLayoutCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDescriptorSetLayoutCreateInfo.html VkDescriptorSetLayoutCreateInfo registry at www.khronos.org>+data VkDescriptorSetLayoutCreateInfo = VkDescriptorSetLayoutCreateInfo## Addr##+                                                                        ByteArray##++instance Eq VkDescriptorSetLayoutCreateInfo where+        (VkDescriptorSetLayoutCreateInfo## a _) ==+          x@(VkDescriptorSetLayoutCreateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDescriptorSetLayoutCreateInfo where+        (VkDescriptorSetLayoutCreateInfo## a _) `compare`+          x@(VkDescriptorSetLayoutCreateInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDescriptorSetLayoutCreateInfo where+        sizeOf ~_ = #{size VkDescriptorSetLayoutCreateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDescriptorSetLayoutCreateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDescriptorSetLayoutCreateInfo where+        unsafeAddr (VkDescriptorSetLayoutCreateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDescriptorSetLayoutCreateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDescriptorSetLayoutCreateInfo##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDescriptorSetLayoutCreateInfo where+        type StructFields VkDescriptorSetLayoutCreateInfo =+             '["sType", "pNext", "flags", "bindingCount", "pBindings"] -- ' closing tick for hsc2hs+        type CUnionType VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDescriptorSetLayoutCreateInfo =+             #{offset VkDescriptorSetLayoutCreateInfo, sType}+        type FieldIsArray "sType" VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkDescriptorSetLayoutCreateInfo, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDescriptorSetLayoutCreateInfo where+        type FieldType "pNext" VkDescriptorSetLayoutCreateInfo = Ptr Void+        type FieldOptional "pNext" VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDescriptorSetLayoutCreateInfo =+             #{offset VkDescriptorSetLayoutCreateInfo, pNext}+        type FieldIsArray "pNext" VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, flags})++        {-# INLINE vkFlagsByteOffset #-}+        vkFlagsByteOffset ~_+          = #{offset VkDescriptorSetLayoutCreateInfo, flags}++        {-# INLINE readVkFlags #-}+        readVkFlags p+          = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, flags}++        {-# INLINE writeVkFlags #-}+        writeVkFlags p+          = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, flags}++instance {-# OVERLAPPING #-}+         HasField "flags" VkDescriptorSetLayoutCreateInfo where+        type FieldType "flags" VkDescriptorSetLayoutCreateInfo =+             VkDescriptorSetLayoutCreateFlags+        type FieldOptional "flags" VkDescriptorSetLayoutCreateInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkDescriptorSetLayoutCreateInfo =+             #{offset VkDescriptorSetLayoutCreateInfo, flags}+        type FieldIsArray "flags" VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, bindingCount})++        {-# INLINE vkBindingCountByteOffset #-}+        vkBindingCountByteOffset ~_+          = #{offset VkDescriptorSetLayoutCreateInfo, bindingCount}++        {-# INLINE readVkBindingCount #-}+        readVkBindingCount p+          = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, bindingCount}++        {-# INLINE writeVkBindingCount #-}+        writeVkBindingCount p+          = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, bindingCount}++instance {-# OVERLAPPING #-}+         HasField "bindingCount" VkDescriptorSetLayoutCreateInfo where+        type FieldType "bindingCount" VkDescriptorSetLayoutCreateInfo =+             Word32+        type FieldOptional "bindingCount" VkDescriptorSetLayoutCreateInfo =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "bindingCount" VkDescriptorSetLayoutCreateInfo =+             #{offset VkDescriptorSetLayoutCreateInfo, bindingCount}+        type FieldIsArray "bindingCount" VkDescriptorSetLayoutCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, pBindings})++        {-# INLINE vkPBindingsByteOffset #-}+        vkPBindingsByteOffset ~_+          = #{offset VkDescriptorSetLayoutCreateInfo, pBindings}++        {-# INLINE readVkPBindings #-}+        readVkPBindings p+          = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, pBindings}++        {-# INLINE writeVkPBindings #-}+        writeVkPBindings p+          = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, pBindings}++instance {-# OVERLAPPING #-}+         HasField "pBindings" VkDescriptorSetLayoutCreateInfo where+        type FieldType "pBindings" VkDescriptorSetLayoutCreateInfo =+             Ptr VkDescriptorSetLayoutBinding+        type FieldOptional "pBindings" VkDescriptorSetLayoutCreateInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pBindings" VkDescriptorSetLayoutCreateInfo =+             #{offset VkDescriptorSetLayoutCreateInfo, pBindings}+        type FieldIsArray "pBindings" VkDescriptorSetLayoutCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDescriptorSetLayoutCreateInfo, pBindings}++instance CanReadField "pBindings" VkDescriptorSetLayoutCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkPBindings++        {-# INLINE readField #-}+        readField = readVkPBindings++instance CanWriteField "pBindings" VkDescriptorSetLayoutCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkPBindings++instance Show VkDescriptorSetLayoutCreateInfo where+        showsPrec d x+          = showString "VkDescriptorSetLayoutCreateInfo {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFlags = " .+                            showsPrec d (vkFlags x) .+                              showString ", " .+                                showString "vkBindingCount = " .+                                  showsPrec d (vkBindingCount x) .+                                    showString ", " .+                                      showString "vkPBindings = " .+                                        showsPrec d (vkPBindings x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorUpdateTemplateCreateInfoKHR.hsc view
@@ -0,0 +1,727 @@+#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/VkDescriptorUpdateTemplateEntryKHR.hsc view
@@ -0,0 +1,435 @@+#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
@@ -0,0 +1,611 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo+       (VkDeviceCreateInfo(..)) where+import           Foreign.Storable                                      (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Bitmasks                        (VkDeviceCreateFlags)+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 {+--   >     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;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDeviceCreateInfo.html VkDeviceCreateInfo registry at www.khronos.org>+data VkDeviceCreateInfo = VkDeviceCreateInfo## Addr## ByteArray##++instance Eq VkDeviceCreateInfo where+        (VkDeviceCreateInfo## a _) == x@(VkDeviceCreateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDeviceCreateInfo where+        (VkDeviceCreateInfo## a _) `compare` x@(VkDeviceCreateInfo## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDeviceCreateInfo where+        sizeOf ~_ = #{size VkDeviceCreateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDeviceCreateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceCreateInfo where+        unsafeAddr (VkDeviceCreateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDeviceCreateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDeviceCreateInfo## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceCreateInfo where+        type StructFields VkDeviceCreateInfo =+             '["sType", "pNext", "flags", "queueCreateInfoCount", -- ' closing tick for hsc2hs+               "pQueueCreateInfos", "enabledLayerCount", "ppEnabledLayerNames",+               "enabledExtensionCount", "ppEnabledExtensionNames",+               "pEnabledFeatures"]+        type CUnionType VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDeviceCreateInfo =+             #{offset VkDeviceCreateInfo, sType}+        type FieldIsArray "sType" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDeviceCreateInfo, sType}++instance CanReadField "sType" VkDeviceCreateInfo where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-} HasField "pNext" VkDeviceCreateInfo+         where+        type FieldType "pNext" VkDeviceCreateInfo = Ptr Void+        type FieldOptional "pNext" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDeviceCreateInfo =+             #{offset VkDeviceCreateInfo, pNext}+        type FieldIsArray "pNext" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDeviceCreateInfo, pNext}++instance CanReadField "pNext" VkDeviceCreateInfo where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance 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}++instance {-# OVERLAPPING #-} HasField "flags" VkDeviceCreateInfo+         where+        type FieldType "flags" VkDeviceCreateInfo = VkDeviceCreateFlags+        type FieldOptional "flags" VkDeviceCreateInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkDeviceCreateInfo =+             #{offset VkDeviceCreateInfo, flags}+        type FieldIsArray "flags" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# 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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, queueCreateInfoCount})++        {-# INLINE vkQueueCreateInfoCountByteOffset #-}+        vkQueueCreateInfoCountByteOffset ~_+          = #{offset VkDeviceCreateInfo, queueCreateInfoCount}++        {-# INLINE readVkQueueCreateInfoCount #-}+        readVkQueueCreateInfoCount p+          = peekByteOff p #{offset VkDeviceCreateInfo, queueCreateInfoCount}++        {-# INLINE writeVkQueueCreateInfoCount #-}+        writeVkQueueCreateInfoCount p+          = pokeByteOff p #{offset VkDeviceCreateInfo, queueCreateInfoCount}++instance {-# OVERLAPPING #-}+         HasField "queueCreateInfoCount" VkDeviceCreateInfo where+        type FieldType "queueCreateInfoCount" VkDeviceCreateInfo = Word32+        type FieldOptional "queueCreateInfoCount" VkDeviceCreateInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "queueCreateInfoCount" VkDeviceCreateInfo =+             #{offset VkDeviceCreateInfo, queueCreateInfoCount}+        type FieldIsArray "queueCreateInfoCount" VkDeviceCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, pQueueCreateInfos})++        {-# INLINE vkPQueueCreateInfosByteOffset #-}+        vkPQueueCreateInfosByteOffset ~_+          = #{offset VkDeviceCreateInfo, pQueueCreateInfos}++        {-# INLINE readVkPQueueCreateInfos #-}+        readVkPQueueCreateInfos p+          = peekByteOff p #{offset VkDeviceCreateInfo, pQueueCreateInfos}++        {-# INLINE writeVkPQueueCreateInfos #-}+        writeVkPQueueCreateInfos p+          = pokeByteOff p #{offset VkDeviceCreateInfo, pQueueCreateInfos}++instance {-# OVERLAPPING #-}+         HasField "pQueueCreateInfos" VkDeviceCreateInfo where+        type FieldType "pQueueCreateInfos" VkDeviceCreateInfo =+             Ptr VkDeviceQueueCreateInfo+        type FieldOptional "pQueueCreateInfos" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pQueueCreateInfos" VkDeviceCreateInfo =+             #{offset VkDeviceCreateInfo, pQueueCreateInfos}+        type FieldIsArray "pQueueCreateInfos" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, enabledLayerCount})++        {-# INLINE vkEnabledLayerCountByteOffset #-}+        vkEnabledLayerCountByteOffset ~_+          = #{offset VkDeviceCreateInfo, enabledLayerCount}++        {-# INLINE readVkEnabledLayerCount #-}+        readVkEnabledLayerCount p+          = peekByteOff p #{offset VkDeviceCreateInfo, enabledLayerCount}++        {-# INLINE writeVkEnabledLayerCount #-}+        writeVkEnabledLayerCount p+          = pokeByteOff p #{offset VkDeviceCreateInfo, enabledLayerCount}++instance {-# OVERLAPPING #-}+         HasField "enabledLayerCount" VkDeviceCreateInfo where+        type FieldType "enabledLayerCount" VkDeviceCreateInfo = Word32+        type FieldOptional "enabledLayerCount" VkDeviceCreateInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "enabledLayerCount" VkDeviceCreateInfo =+             #{offset VkDeviceCreateInfo, enabledLayerCount}+        type FieldIsArray "enabledLayerCount" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, ppEnabledLayerNames})++        {-# INLINE vkPpEnabledLayerNamesByteOffset #-}+        vkPpEnabledLayerNamesByteOffset ~_+          = #{offset VkDeviceCreateInfo, ppEnabledLayerNames}++        {-# INLINE readVkPpEnabledLayerNames #-}+        readVkPpEnabledLayerNames p+          = peekByteOff p #{offset VkDeviceCreateInfo, ppEnabledLayerNames}++        {-# INLINE writeVkPpEnabledLayerNames #-}+        writeVkPpEnabledLayerNames p+          = pokeByteOff p #{offset VkDeviceCreateInfo, ppEnabledLayerNames}++instance {-# OVERLAPPING #-}+         HasField "ppEnabledLayerNames" VkDeviceCreateInfo where+        type FieldType "ppEnabledLayerNames" VkDeviceCreateInfo =+             Ptr CString+        type FieldOptional "ppEnabledLayerNames" VkDeviceCreateInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "ppEnabledLayerNames" VkDeviceCreateInfo =+             #{offset VkDeviceCreateInfo, ppEnabledLayerNames}+        type FieldIsArray "ppEnabledLayerNames" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, enabledExtensionCount})++        {-# INLINE vkEnabledExtensionCountByteOffset #-}+        vkEnabledExtensionCountByteOffset ~_+          = #{offset VkDeviceCreateInfo, enabledExtensionCount}++        {-# INLINE readVkEnabledExtensionCount #-}+        readVkEnabledExtensionCount p+          = peekByteOff p #{offset VkDeviceCreateInfo, enabledExtensionCount}++        {-# INLINE writeVkEnabledExtensionCount #-}+        writeVkEnabledExtensionCount p+          = pokeByteOff p #{offset VkDeviceCreateInfo, enabledExtensionCount}++instance {-# OVERLAPPING #-}+         HasField "enabledExtensionCount" VkDeviceCreateInfo where+        type FieldType "enabledExtensionCount" VkDeviceCreateInfo = Word32+        type FieldOptional "enabledExtensionCount" VkDeviceCreateInfo =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "enabledExtensionCount" VkDeviceCreateInfo =+             #{offset VkDeviceCreateInfo, enabledExtensionCount}+        type FieldIsArray "enabledExtensionCount" VkDeviceCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, ppEnabledExtensionNames})++        {-# INLINE vkPpEnabledExtensionNamesByteOffset #-}+        vkPpEnabledExtensionNamesByteOffset ~_+          = #{offset VkDeviceCreateInfo, ppEnabledExtensionNames}++        {-# INLINE readVkPpEnabledExtensionNames #-}+        readVkPpEnabledExtensionNames p+          = peekByteOff p #{offset VkDeviceCreateInfo, ppEnabledExtensionNames}++        {-# INLINE writeVkPpEnabledExtensionNames #-}+        writeVkPpEnabledExtensionNames p+          = pokeByteOff p #{offset VkDeviceCreateInfo, ppEnabledExtensionNames}++instance {-# OVERLAPPING #-}+         HasField "ppEnabledExtensionNames" VkDeviceCreateInfo where+        type FieldType "ppEnabledExtensionNames" VkDeviceCreateInfo =+             Ptr CString+        type FieldOptional "ppEnabledExtensionNames" VkDeviceCreateInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "ppEnabledExtensionNames" VkDeviceCreateInfo =+             #{offset VkDeviceCreateInfo, ppEnabledExtensionNames}+        type FieldIsArray "ppEnabledExtensionNames" VkDeviceCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, pEnabledFeatures})++        {-# INLINE vkPEnabledFeaturesByteOffset #-}+        vkPEnabledFeaturesByteOffset ~_+          = #{offset VkDeviceCreateInfo, pEnabledFeatures}++        {-# INLINE readVkPEnabledFeatures #-}+        readVkPEnabledFeatures p+          = peekByteOff p #{offset VkDeviceCreateInfo, pEnabledFeatures}++        {-# INLINE writeVkPEnabledFeatures #-}+        writeVkPEnabledFeatures p+          = pokeByteOff p #{offset VkDeviceCreateInfo, pEnabledFeatures}++instance {-# OVERLAPPING #-}+         HasField "pEnabledFeatures" VkDeviceCreateInfo where+        type FieldType "pEnabledFeatures" VkDeviceCreateInfo =+             Ptr VkPhysicalDeviceFeatures+        type FieldOptional "pEnabledFeatures" VkDeviceCreateInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "pEnabledFeatures" VkDeviceCreateInfo =+             #{offset VkDeviceCreateInfo, pEnabledFeatures}+        type FieldIsArray "pEnabledFeatures" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceCreateInfo, pEnabledFeatures}++instance CanReadField "pEnabledFeatures" VkDeviceCreateInfo where+        {-# INLINE getField #-}+        getField = vkPEnabledFeatures++        {-# INLINE readField #-}+        readField = readVkPEnabledFeatures++instance CanWriteField "pEnabledFeatures" VkDeviceCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkPEnabledFeatures++instance Show VkDeviceCreateInfo where+        showsPrec d x+          = showString "VkDeviceCreateInfo {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFlags = " .+                            showsPrec d (vkFlags x) .+                              showString ", " .+                                showString "vkQueueCreateInfoCount = " .+                                  showsPrec d (vkQueueCreateInfoCount x) .+                                    showString ", " .+                                      showString "vkPQueueCreateInfos = " .+                                        showsPrec d (vkPQueueCreateInfos x) .+                                          showString ", " .+                                            showString "vkEnabledLayerCount = " .+                                              showsPrec d (vkEnabledLayerCount x) .+                                                showString ", " .+                                                  showString "vkPpEnabledLayerNames = " .+                                                    showsPrec d (vkPpEnabledLayerNames x) .+                                                      showString ", " .+                                                        showString "vkEnabledExtensionCount = " .+                                                          showsPrec d (vkEnabledExtensionCount x) .+                                                            showString ", " .+                                                              showString+                                                                "vkPpEnabledExtensionNames = "+                                                                .+                                                                showsPrec d+                                                                  (vkPpEnabledExtensionNames x)+                                                                  .+                                                                  showString ", " .+                                                                    showString+                                                                      "vkPEnabledFeatures = "+                                                                      .+                                                                      showsPrec d+                                                                        (vkPEnabledFeatures x)+                                                                        . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDeviceEventInfoEXT.hsc view
@@ -0,0 +1,222 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDeviceEventInfoEXT+       (VkDeviceEventInfoEXT(..)) where+import           Foreign.Storable                                (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+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 {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkDeviceEventTypeEXT             deviceEvent;+--   > } VkDeviceEventInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDeviceEventInfoEXT.html VkDeviceEventInfoEXT registry at www.khronos.org>+data VkDeviceEventInfoEXT = VkDeviceEventInfoEXT## Addr## ByteArray##++instance Eq VkDeviceEventInfoEXT where+        (VkDeviceEventInfoEXT## a _) == x@(VkDeviceEventInfoEXT## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDeviceEventInfoEXT where+        (VkDeviceEventInfoEXT## a _) `compare` x@(VkDeviceEventInfoEXT## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDeviceEventInfoEXT where+        sizeOf ~_ = #{size VkDeviceEventInfoEXT}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDeviceEventInfoEXT}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceEventInfoEXT where+        unsafeAddr (VkDeviceEventInfoEXT## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDeviceEventInfoEXT## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDeviceEventInfoEXT## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceEventInfoEXT where+        type StructFields VkDeviceEventInfoEXT =+             '["sType", "pNext", "deviceEvent"] -- ' closing tick for hsc2hs+        type CUnionType VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDeviceEventInfoEXT =+             #{offset VkDeviceEventInfoEXT, sType}+        type FieldIsArray "sType" VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDeviceEventInfoEXT, sType}++instance CanReadField "sType" VkDeviceEventInfoEXT where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-} HasField "pNext" VkDeviceEventInfoEXT+         where+        type FieldType "pNext" VkDeviceEventInfoEXT = Ptr Void+        type FieldOptional "pNext" VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDeviceEventInfoEXT =+             #{offset VkDeviceEventInfoEXT, pNext}+        type FieldIsArray "pNext" VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDeviceEventInfoEXT, pNext}++instance CanReadField "pNext" VkDeviceEventInfoEXT where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance 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}++instance {-# OVERLAPPING #-}+         HasField "deviceEvent" VkDeviceEventInfoEXT where+        type FieldType "deviceEvent" VkDeviceEventInfoEXT =+             VkDeviceEventTypeEXT+        type FieldOptional "deviceEvent" VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "deviceEvent" VkDeviceEventInfoEXT =+             #{offset VkDeviceEventInfoEXT, deviceEvent}+        type FieldIsArray "deviceEvent" VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceEventInfoEXT, deviceEvent}++instance CanReadField "deviceEvent" VkDeviceEventInfoEXT where+        {-# INLINE getField #-}+        getField = vkDeviceEvent++        {-# INLINE readField #-}+        readField = readVkDeviceEvent++instance CanWriteField "deviceEvent" VkDeviceEventInfoEXT where+        {-# INLINE writeField #-}+        writeField = writeVkDeviceEvent++instance Show VkDeviceEventInfoEXT where+        showsPrec d x+          = showString "VkDeviceEventInfoEXT {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkDeviceEvent = " .+                            showsPrec d (vkDeviceEvent x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGeneratedCommandsFeaturesNVX.hsc view
@@ -0,0 +1,262 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDeviceGeneratedCommandsFeaturesNVX+       (VkDeviceGeneratedCommandsFeaturesNVX(..)) 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           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkDeviceGeneratedCommandsFeaturesNVX {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkBool32                         computeBindingPointSupport;+--   > } VkDeviceGeneratedCommandsFeaturesNVX;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDeviceGeneratedCommandsFeaturesNVX.html VkDeviceGeneratedCommandsFeaturesNVX registry at www.khronos.org>+data VkDeviceGeneratedCommandsFeaturesNVX = VkDeviceGeneratedCommandsFeaturesNVX## Addr##+                                                                                  ByteArray##++instance Eq VkDeviceGeneratedCommandsFeaturesNVX where+        (VkDeviceGeneratedCommandsFeaturesNVX## a _) ==+          x@(VkDeviceGeneratedCommandsFeaturesNVX## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDeviceGeneratedCommandsFeaturesNVX where+        (VkDeviceGeneratedCommandsFeaturesNVX## a _) `compare`+          x@(VkDeviceGeneratedCommandsFeaturesNVX## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDeviceGeneratedCommandsFeaturesNVX where+        sizeOf ~_+          = #{size VkDeviceGeneratedCommandsFeaturesNVX}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDeviceGeneratedCommandsFeaturesNVX}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceGeneratedCommandsFeaturesNVX+         where+        unsafeAddr (VkDeviceGeneratedCommandsFeaturesNVX## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDeviceGeneratedCommandsFeaturesNVX## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDeviceGeneratedCommandsFeaturesNVX##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceGeneratedCommandsFeaturesNVX where+        type StructFields VkDeviceGeneratedCommandsFeaturesNVX =+             '["sType", "pNext", "computeBindingPointSupport"] -- ' closing tick for hsc2hs+        type CUnionType VkDeviceGeneratedCommandsFeaturesNVX = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDeviceGeneratedCommandsFeaturesNVX = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkDeviceGeneratedCommandsFeaturesNVX =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDeviceGeneratedCommandsFeaturesNVX =+             #{offset VkDeviceGeneratedCommandsFeaturesNVX, sType}+        type FieldIsArray "sType" VkDeviceGeneratedCommandsFeaturesNVX =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDeviceGeneratedCommandsFeaturesNVX where+        type FieldType "pNext" VkDeviceGeneratedCommandsFeaturesNVX =+             Ptr Void+        type FieldOptional "pNext" VkDeviceGeneratedCommandsFeaturesNVX =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDeviceGeneratedCommandsFeaturesNVX =+             #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext}+        type FieldIsArray "pNext" VkDeviceGeneratedCommandsFeaturesNVX =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport})++        {-# INLINE vkComputeBindingPointSupportByteOffset #-}+        vkComputeBindingPointSupportByteOffset ~_+          = #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport}++        {-# INLINE readVkComputeBindingPointSupport #-}+        readVkComputeBindingPointSupport p+          = peekByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport}++        {-# INLINE writeVkComputeBindingPointSupport #-}+        writeVkComputeBindingPointSupport p+          = pokeByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport}++instance {-# OVERLAPPING #-}+         HasField "computeBindingPointSupport"+           VkDeviceGeneratedCommandsFeaturesNVX+         where+        type FieldType "computeBindingPointSupport"+               VkDeviceGeneratedCommandsFeaturesNVX+             = VkBool32+        type FieldOptional "computeBindingPointSupport"+               VkDeviceGeneratedCommandsFeaturesNVX+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "computeBindingPointSupport"+               VkDeviceGeneratedCommandsFeaturesNVX+             =+             #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport}+        type FieldIsArray "computeBindingPointSupport"+               VkDeviceGeneratedCommandsFeaturesNVX+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport}++instance CanReadField "computeBindingPointSupport"+           VkDeviceGeneratedCommandsFeaturesNVX+         where+        {-# INLINE getField #-}+        getField = vkComputeBindingPointSupport++        {-# INLINE readField #-}+        readField = readVkComputeBindingPointSupport++instance CanWriteField "computeBindingPointSupport"+           VkDeviceGeneratedCommandsFeaturesNVX+         where+        {-# INLINE writeField #-}+        writeField = writeVkComputeBindingPointSupport++instance Show VkDeviceGeneratedCommandsFeaturesNVX where+        showsPrec d x+          = showString "VkDeviceGeneratedCommandsFeaturesNVX {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkComputeBindingPointSupport = " .+                            showsPrec d (vkComputeBindingPointSupport x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGeneratedCommandsLimitsNVX.hsc view
@@ -0,0 +1,541 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDeviceGeneratedCommandsLimitsNVX+       (VkDeviceGeneratedCommandsLimitsNVX(..)) 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.StructMembers+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkDeviceGeneratedCommandsLimitsNVX {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     uint32_t                         maxIndirectCommandsLayoutTokenCount;+--   >     uint32_t                         maxObjectEntryCounts;+--   >     uint32_t                         minSequenceCountBufferOffsetAlignment;+--   >     uint32_t                         minSequenceIndexBufferOffsetAlignment;+--   >     uint32_t                         minCommandsTokenBufferOffsetAlignment;+--   > } VkDeviceGeneratedCommandsLimitsNVX;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDeviceGeneratedCommandsLimitsNVX.html VkDeviceGeneratedCommandsLimitsNVX registry at www.khronos.org>+data VkDeviceGeneratedCommandsLimitsNVX = VkDeviceGeneratedCommandsLimitsNVX## Addr##+                                                                              ByteArray##++instance Eq VkDeviceGeneratedCommandsLimitsNVX where+        (VkDeviceGeneratedCommandsLimitsNVX## a _) ==+          x@(VkDeviceGeneratedCommandsLimitsNVX## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDeviceGeneratedCommandsLimitsNVX where+        (VkDeviceGeneratedCommandsLimitsNVX## a _) `compare`+          x@(VkDeviceGeneratedCommandsLimitsNVX## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDeviceGeneratedCommandsLimitsNVX where+        sizeOf ~_ = #{size VkDeviceGeneratedCommandsLimitsNVX}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDeviceGeneratedCommandsLimitsNVX}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceGeneratedCommandsLimitsNVX where+        unsafeAddr (VkDeviceGeneratedCommandsLimitsNVX## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDeviceGeneratedCommandsLimitsNVX## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDeviceGeneratedCommandsLimitsNVX##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceGeneratedCommandsLimitsNVX where+        type StructFields VkDeviceGeneratedCommandsLimitsNVX =+             '["sType", "pNext", "maxIndirectCommandsLayoutTokenCount", -- ' closing tick for hsc2hs+               "maxObjectEntryCounts", "minSequenceCountBufferOffsetAlignment",+               "minSequenceIndexBufferOffsetAlignment",+               "minCommandsTokenBufferOffsetAlignment"]+        type CUnionType VkDeviceGeneratedCommandsLimitsNVX = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDeviceGeneratedCommandsLimitsNVX = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkDeviceGeneratedCommandsLimitsNVX =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDeviceGeneratedCommandsLimitsNVX =+             #{offset VkDeviceGeneratedCommandsLimitsNVX, sType}+        type FieldIsArray "sType" VkDeviceGeneratedCommandsLimitsNVX =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDeviceGeneratedCommandsLimitsNVX where+        type FieldType "pNext" VkDeviceGeneratedCommandsLimitsNVX =+             Ptr Void+        type FieldOptional "pNext" VkDeviceGeneratedCommandsLimitsNVX =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDeviceGeneratedCommandsLimitsNVX =+             #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext}+        type FieldIsArray "pNext" VkDeviceGeneratedCommandsLimitsNVX =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount})++        {-# INLINE vkMaxIndirectCommandsLayoutTokenCountByteOffset #-}+        vkMaxIndirectCommandsLayoutTokenCountByteOffset ~_+          = #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount}++        {-# INLINE readVkMaxIndirectCommandsLayoutTokenCount #-}+        readVkMaxIndirectCommandsLayoutTokenCount p+          = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount}++        {-# INLINE writeVkMaxIndirectCommandsLayoutTokenCount #-}+        writeVkMaxIndirectCommandsLayoutTokenCount p+          = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount}++instance {-# OVERLAPPING #-}+         HasField "maxIndirectCommandsLayoutTokenCount"+           VkDeviceGeneratedCommandsLimitsNVX+         where+        type FieldType "maxIndirectCommandsLayoutTokenCount"+               VkDeviceGeneratedCommandsLimitsNVX+             = Word32+        type FieldOptional "maxIndirectCommandsLayoutTokenCount"+               VkDeviceGeneratedCommandsLimitsNVX+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "maxIndirectCommandsLayoutTokenCount"+               VkDeviceGeneratedCommandsLimitsNVX+             =+             #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount}+        type FieldIsArray "maxIndirectCommandsLayoutTokenCount"+               VkDeviceGeneratedCommandsLimitsNVX+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount}++instance CanReadField "maxIndirectCommandsLayoutTokenCount"+           VkDeviceGeneratedCommandsLimitsNVX+         where+        {-# INLINE getField #-}+        getField = vkMaxIndirectCommandsLayoutTokenCount++        {-# INLINE readField #-}+        readField = readVkMaxIndirectCommandsLayoutTokenCount++instance 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}++instance {-# OVERLAPPING #-}+         HasField "maxObjectEntryCounts" VkDeviceGeneratedCommandsLimitsNVX+         where+        type FieldType "maxObjectEntryCounts"+               VkDeviceGeneratedCommandsLimitsNVX+             = Word32+        type FieldOptional "maxObjectEntryCounts"+               VkDeviceGeneratedCommandsLimitsNVX+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "maxObjectEntryCounts"+               VkDeviceGeneratedCommandsLimitsNVX+             =+             #{offset VkDeviceGeneratedCommandsLimitsNVX, maxObjectEntryCounts}+        type FieldIsArray "maxObjectEntryCounts"+               VkDeviceGeneratedCommandsLimitsNVX+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGeneratedCommandsLimitsNVX, maxObjectEntryCounts}++instance CanReadField "maxObjectEntryCounts"+           VkDeviceGeneratedCommandsLimitsNVX+         where+        {-# INLINE getField #-}+        getField = vkMaxObjectEntryCounts++        {-# INLINE readField #-}+        readField = readVkMaxObjectEntryCounts++instance CanWriteField "maxObjectEntryCounts"+           VkDeviceGeneratedCommandsLimitsNVX+         where+        {-# INLINE writeField #-}+        writeField = writeVkMaxObjectEntryCounts++instance {-# OVERLAPPING #-}+         HasVkMinSequenceCountBufferOffsetAlignment+           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}++instance {-# OVERLAPPING #-}+         HasField "minSequenceCountBufferOffsetAlignment"+           VkDeviceGeneratedCommandsLimitsNVX+         where+        type FieldType "minSequenceCountBufferOffsetAlignment"+               VkDeviceGeneratedCommandsLimitsNVX+             = Word32+        type FieldOptional "minSequenceCountBufferOffsetAlignment"+               VkDeviceGeneratedCommandsLimitsNVX+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "minSequenceCountBufferOffsetAlignment"+               VkDeviceGeneratedCommandsLimitsNVX+             =+             #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceCountBufferOffsetAlignment}+        type FieldIsArray "minSequenceCountBufferOffsetAlignment"+               VkDeviceGeneratedCommandsLimitsNVX+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceCountBufferOffsetAlignment}++instance CanReadField "minSequenceCountBufferOffsetAlignment"+           VkDeviceGeneratedCommandsLimitsNVX+         where+        {-# INLINE getField #-}+        getField = vkMinSequenceCountBufferOffsetAlignment++        {-# INLINE readField #-}+        readField = readVkMinSequenceCountBufferOffsetAlignment++instance CanWriteField "minSequenceCountBufferOffsetAlignment"+           VkDeviceGeneratedCommandsLimitsNVX+         where+        {-# INLINE writeField #-}+        writeField = writeVkMinSequenceCountBufferOffsetAlignment++instance {-# OVERLAPPING #-}+         HasVkMinSequenceIndexBufferOffsetAlignment+           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}++instance {-# OVERLAPPING #-}+         HasField "minSequenceIndexBufferOffsetAlignment"+           VkDeviceGeneratedCommandsLimitsNVX+         where+        type FieldType "minSequenceIndexBufferOffsetAlignment"+               VkDeviceGeneratedCommandsLimitsNVX+             = Word32+        type FieldOptional "minSequenceIndexBufferOffsetAlignment"+               VkDeviceGeneratedCommandsLimitsNVX+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "minSequenceIndexBufferOffsetAlignment"+               VkDeviceGeneratedCommandsLimitsNVX+             =+             #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceIndexBufferOffsetAlignment}+        type FieldIsArray "minSequenceIndexBufferOffsetAlignment"+               VkDeviceGeneratedCommandsLimitsNVX+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceIndexBufferOffsetAlignment}++instance CanReadField "minSequenceIndexBufferOffsetAlignment"+           VkDeviceGeneratedCommandsLimitsNVX+         where+        {-# INLINE getField #-}+        getField = vkMinSequenceIndexBufferOffsetAlignment++        {-# INLINE readField #-}+        readField = readVkMinSequenceIndexBufferOffsetAlignment++instance CanWriteField "minSequenceIndexBufferOffsetAlignment"+           VkDeviceGeneratedCommandsLimitsNVX+         where+        {-# INLINE writeField #-}+        writeField = writeVkMinSequenceIndexBufferOffsetAlignment++instance {-# OVERLAPPING #-}+         HasVkMinCommandsTokenBufferOffsetAlignment+           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}++instance {-# OVERLAPPING #-}+         HasField "minCommandsTokenBufferOffsetAlignment"+           VkDeviceGeneratedCommandsLimitsNVX+         where+        type FieldType "minCommandsTokenBufferOffsetAlignment"+               VkDeviceGeneratedCommandsLimitsNVX+             = Word32+        type FieldOptional "minCommandsTokenBufferOffsetAlignment"+               VkDeviceGeneratedCommandsLimitsNVX+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "minCommandsTokenBufferOffsetAlignment"+               VkDeviceGeneratedCommandsLimitsNVX+             =+             #{offset VkDeviceGeneratedCommandsLimitsNVX, minCommandsTokenBufferOffsetAlignment}+        type FieldIsArray "minCommandsTokenBufferOffsetAlignment"+               VkDeviceGeneratedCommandsLimitsNVX+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceGeneratedCommandsLimitsNVX, minCommandsTokenBufferOffsetAlignment}++instance CanReadField "minCommandsTokenBufferOffsetAlignment"+           VkDeviceGeneratedCommandsLimitsNVX+         where+        {-# INLINE getField #-}+        getField = vkMinCommandsTokenBufferOffsetAlignment++        {-# INLINE readField #-}+        readField = readVkMinCommandsTokenBufferOffsetAlignment++instance CanWriteField "minCommandsTokenBufferOffsetAlignment"+           VkDeviceGeneratedCommandsLimitsNVX+         where+        {-# INLINE writeField #-}+        writeField = writeVkMinCommandsTokenBufferOffsetAlignment++instance Show VkDeviceGeneratedCommandsLimitsNVX where+        showsPrec d x+          = showString "VkDeviceGeneratedCommandsLimitsNVX {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkMaxIndirectCommandsLayoutTokenCount = " .+                            showsPrec d (vkMaxIndirectCommandsLayoutTokenCount x) .+                              showString ", " .+                                showString "vkMaxObjectEntryCounts = " .+                                  showsPrec d (vkMaxObjectEntryCounts x) .+                                    showString ", " .+                                      showString "vkMinSequenceCountBufferOffsetAlignment = " .+                                        showsPrec d (vkMinSequenceCountBufferOffsetAlignment x) .+                                          showString ", " .+                                            showString "vkMinSequenceIndexBufferOffsetAlignment = "+                                              .+                                              showsPrec d+                                                (vkMinSequenceIndexBufferOffsetAlignment x)+                                                .+                                                showString ", " .+                                                  showString+                                                    "vkMinCommandsTokenBufferOffsetAlignment = "+                                                    .+                                                    showsPrec d+                                                      (vkMinCommandsTokenBufferOffsetAlignment x)+                                                      . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupBindSparseInfoKHX.hsc view
@@ -0,0 +1,306 @@+#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/VkDeviceGroupCommandBufferBeginInfoKHX.hsc view
@@ -0,0 +1,261 @@+#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/VkDeviceGroupDeviceCreateInfoKHX.hsc view
@@ -0,0 +1,318 @@+#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/VkDeviceGroupPresentCapabilitiesKHX.hsc view
@@ -0,0 +1,338 @@+#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/VkDeviceGroupPresentInfoKHX.hsc view
@@ -0,0 +1,345 @@+#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/VkDeviceGroupRenderPassBeginInfoKHX.hsc view
@@ -0,0 +1,386 @@+#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/VkDeviceGroupSubmitInfoKHX.hsc view
@@ -0,0 +1,558 @@+#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/VkDeviceGroupSwapchainCreateInfoKHX.hsc view
@@ -0,0 +1,250 @@+#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
@@ -0,0 +1,389 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo+       (VkDeviceQueueCreateInfo(..)) where+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)++-- | > typedef struct VkDeviceQueueCreateInfo {+--   >     VkStructureType sType;+--   >     const void*     pNext;+--   >     VkDeviceQueueCreateFlags    flags;+--   >     uint32_t        queueFamilyIndex;+--   >     uint32_t        queueCount;+--   >     const float*    pQueuePriorities;+--   > } VkDeviceQueueCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDeviceQueueCreateInfo.html VkDeviceQueueCreateInfo registry at www.khronos.org>+data VkDeviceQueueCreateInfo = VkDeviceQueueCreateInfo## Addr##+                                                        ByteArray##++instance Eq VkDeviceQueueCreateInfo where+        (VkDeviceQueueCreateInfo## a _) == x@(VkDeviceQueueCreateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDeviceQueueCreateInfo where+        (VkDeviceQueueCreateInfo## a _) `compare`+          x@(VkDeviceQueueCreateInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDeviceQueueCreateInfo where+        sizeOf ~_ = #{size VkDeviceQueueCreateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDeviceQueueCreateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceQueueCreateInfo where+        unsafeAddr (VkDeviceQueueCreateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDeviceQueueCreateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDeviceQueueCreateInfo## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceQueueCreateInfo where+        type StructFields VkDeviceQueueCreateInfo =+             '["sType", "pNext", "flags", "queueFamilyIndex", "queueCount", -- ' closing tick for hsc2hs+               "pQueuePriorities"]+        type CUnionType VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDeviceQueueCreateInfo =+             #{offset VkDeviceQueueCreateInfo, sType}+        type FieldIsArray "sType" VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDeviceQueueCreateInfo, sType}++instance CanReadField "sType" VkDeviceQueueCreateInfo where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDeviceQueueCreateInfo where+        type FieldType "pNext" VkDeviceQueueCreateInfo = Ptr Void+        type FieldOptional "pNext" VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDeviceQueueCreateInfo =+             #{offset VkDeviceQueueCreateInfo, pNext}+        type FieldIsArray "pNext" VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDeviceQueueCreateInfo, pNext}++instance CanReadField "pNext" VkDeviceQueueCreateInfo where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance 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}++instance {-# OVERLAPPING #-}+         HasField "flags" VkDeviceQueueCreateInfo where+        type FieldType "flags" VkDeviceQueueCreateInfo =+             VkDeviceQueueCreateFlags+        type FieldOptional "flags" VkDeviceQueueCreateInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkDeviceQueueCreateInfo =+             #{offset VkDeviceQueueCreateInfo, flags}+        type FieldIsArray "flags" VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# 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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, queueFamilyIndex})++        {-# INLINE vkQueueFamilyIndexByteOffset #-}+        vkQueueFamilyIndexByteOffset ~_+          = #{offset VkDeviceQueueCreateInfo, queueFamilyIndex}++        {-# INLINE readVkQueueFamilyIndex #-}+        readVkQueueFamilyIndex p+          = peekByteOff p #{offset VkDeviceQueueCreateInfo, queueFamilyIndex}++        {-# INLINE writeVkQueueFamilyIndex #-}+        writeVkQueueFamilyIndex p+          = pokeByteOff p #{offset VkDeviceQueueCreateInfo, queueFamilyIndex}++instance {-# OVERLAPPING #-}+         HasField "queueFamilyIndex" VkDeviceQueueCreateInfo where+        type FieldType "queueFamilyIndex" VkDeviceQueueCreateInfo = Word32+        type FieldOptional "queueFamilyIndex" VkDeviceQueueCreateInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "queueFamilyIndex" VkDeviceQueueCreateInfo =+             #{offset VkDeviceQueueCreateInfo, queueFamilyIndex}+        type FieldIsArray "queueFamilyIndex" VkDeviceQueueCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, queueCount})++        {-# INLINE vkQueueCountByteOffset #-}+        vkQueueCountByteOffset ~_+          = #{offset VkDeviceQueueCreateInfo, queueCount}++        {-# INLINE readVkQueueCount #-}+        readVkQueueCount p+          = peekByteOff p #{offset VkDeviceQueueCreateInfo, queueCount}++        {-# INLINE writeVkQueueCount #-}+        writeVkQueueCount p+          = pokeByteOff p #{offset VkDeviceQueueCreateInfo, queueCount}++instance {-# OVERLAPPING #-}+         HasField "queueCount" VkDeviceQueueCreateInfo where+        type FieldType "queueCount" VkDeviceQueueCreateInfo = Word32+        type FieldOptional "queueCount" VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "queueCount" VkDeviceQueueCreateInfo =+             #{offset VkDeviceQueueCreateInfo, queueCount}+        type FieldIsArray "queueCount" VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, pQueuePriorities})++        {-# INLINE vkPQueuePrioritiesByteOffset #-}+        vkPQueuePrioritiesByteOffset ~_+          = #{offset VkDeviceQueueCreateInfo, pQueuePriorities}++        {-# INLINE readVkPQueuePriorities #-}+        readVkPQueuePriorities p+          = peekByteOff p #{offset VkDeviceQueueCreateInfo, pQueuePriorities}++        {-# INLINE writeVkPQueuePriorities #-}+        writeVkPQueuePriorities p+          = pokeByteOff p #{offset VkDeviceQueueCreateInfo, pQueuePriorities}++instance {-# OVERLAPPING #-}+         HasField "pQueuePriorities" VkDeviceQueueCreateInfo where+        type FieldType "pQueuePriorities" VkDeviceQueueCreateInfo =+             Ptr #{type float}+        type FieldOptional "pQueuePriorities" VkDeviceQueueCreateInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pQueuePriorities" VkDeviceQueueCreateInfo =+             #{offset VkDeviceQueueCreateInfo, pQueuePriorities}+        type FieldIsArray "pQueuePriorities" VkDeviceQueueCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceQueueCreateInfo, pQueuePriorities}++instance CanReadField "pQueuePriorities" VkDeviceQueueCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkPQueuePriorities++        {-# INLINE readField #-}+        readField = readVkPQueuePriorities++instance CanWriteField "pQueuePriorities" VkDeviceQueueCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkPQueuePriorities++instance Show VkDeviceQueueCreateInfo where+        showsPrec d x+          = showString "VkDeviceQueueCreateInfo {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFlags = " .+                            showsPrec d (vkFlags x) .+                              showString ", " .+                                showString "vkQueueFamilyIndex = " .+                                  showsPrec d (vkQueueFamilyIndex x) .+                                    showString ", " .+                                      showString "vkQueueCount = " .+                                        showsPrec d (vkQueueCount x) .+                                          showString ", " .+                                            showString "vkPQueuePriorities = " .+                                              showsPrec d (vkPQueuePriorities x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDeviceQueueGlobalPriorityCreateInfoEXT.hsc view
@@ -0,0 +1,266 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDeviceQueueGlobalPriorityCreateInfoEXT+       (VkDeviceQueueGlobalPriorityCreateInfoEXT(..)) where+import           Foreign.Storable                                     (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+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 {+--   >     VkStructureType sType;+--   >     const void*                    pNext;+--   >     VkQueueGlobalPriorityEXT       globalPriority;+--   > } VkDeviceQueueGlobalPriorityCreateInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDeviceQueueGlobalPriorityCreateInfoEXT.html VkDeviceQueueGlobalPriorityCreateInfoEXT registry at www.khronos.org>+data VkDeviceQueueGlobalPriorityCreateInfoEXT = VkDeviceQueueGlobalPriorityCreateInfoEXT## Addr##+                                                                                          ByteArray##++instance Eq VkDeviceQueueGlobalPriorityCreateInfoEXT where+        (VkDeviceQueueGlobalPriorityCreateInfoEXT## a _) ==+          x@(VkDeviceQueueGlobalPriorityCreateInfoEXT## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDeviceQueueGlobalPriorityCreateInfoEXT where+        (VkDeviceQueueGlobalPriorityCreateInfoEXT## a _) `compare`+          x@(VkDeviceQueueGlobalPriorityCreateInfoEXT## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDeviceQueueGlobalPriorityCreateInfoEXT where+        sizeOf ~_+          = #{size VkDeviceQueueGlobalPriorityCreateInfoEXT}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDeviceQueueGlobalPriorityCreateInfoEXT}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceQueueGlobalPriorityCreateInfoEXT+         where+        unsafeAddr (VkDeviceQueueGlobalPriorityCreateInfoEXT## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDeviceQueueGlobalPriorityCreateInfoEXT## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDeviceQueueGlobalPriorityCreateInfoEXT##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceQueueGlobalPriorityCreateInfoEXT+         where+        type StructFields VkDeviceQueueGlobalPriorityCreateInfoEXT =+             '["sType", "pNext", "globalPriority"] -- ' closing tick for hsc2hs+        type CUnionType VkDeviceQueueGlobalPriorityCreateInfoEXT = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDeviceQueueGlobalPriorityCreateInfoEXT = 'False -- ' closing tick for hsc2hs+        type StructExtends VkDeviceQueueGlobalPriorityCreateInfoEXT =+             '[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+        type FieldOptional "sType" VkDeviceQueueGlobalPriorityCreateInfoEXT+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDeviceQueueGlobalPriorityCreateInfoEXT =+             #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, sType}+        type FieldIsArray "sType" VkDeviceQueueGlobalPriorityCreateInfoEXT+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, sType}++instance CanReadField "sType"+           VkDeviceQueueGlobalPriorityCreateInfoEXT+         where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDeviceQueueGlobalPriorityCreateInfoEXT where+        type FieldType "pNext" VkDeviceQueueGlobalPriorityCreateInfoEXT =+             Ptr Void+        type FieldOptional "pNext" VkDeviceQueueGlobalPriorityCreateInfoEXT+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDeviceQueueGlobalPriorityCreateInfoEXT =+             #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, pNext}+        type FieldIsArray "pNext" VkDeviceQueueGlobalPriorityCreateInfoEXT+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, pNext}++instance CanReadField "pNext"+           VkDeviceQueueGlobalPriorityCreateInfoEXT+         where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance 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}++instance {-# OVERLAPPING #-}+         HasField "globalPriority" VkDeviceQueueGlobalPriorityCreateInfoEXT+         where+        type FieldType "globalPriority"+               VkDeviceQueueGlobalPriorityCreateInfoEXT+             = VkQueueGlobalPriorityEXT+        type FieldOptional "globalPriority"+               VkDeviceQueueGlobalPriorityCreateInfoEXT+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "globalPriority"+               VkDeviceQueueGlobalPriorityCreateInfoEXT+             =+             #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, globalPriority}+        type FieldIsArray "globalPriority"+               VkDeviceQueueGlobalPriorityCreateInfoEXT+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, globalPriority}++instance CanReadField "globalPriority"+           VkDeviceQueueGlobalPriorityCreateInfoEXT+         where+        {-# INLINE getField #-}+        getField = vkGlobalPriority++        {-# INLINE readField #-}+        readField = readVkGlobalPriority++instance CanWriteField "globalPriority"+           VkDeviceQueueGlobalPriorityCreateInfoEXT+         where+        {-# INLINE writeField #-}+        writeField = writeVkGlobalPriority++instance Show VkDeviceQueueGlobalPriorityCreateInfoEXT where+        showsPrec d x+          = showString "VkDeviceQueueGlobalPriorityCreateInfoEXT {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkGlobalPriority = " .+                            showsPrec d (vkGlobalPriority x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDispatchIndirectCommand.hsc view
@@ -0,0 +1,217 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDispatchIndirectCommand+       (VkDispatchIndirectCommand(..)) where+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)++-- | > typedef struct VkDispatchIndirectCommand {+--   >     uint32_t               x;+--   >     uint32_t               y;+--   >     uint32_t               z;+--   > } VkDispatchIndirectCommand;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDispatchIndirectCommand.html VkDispatchIndirectCommand registry at www.khronos.org>+data VkDispatchIndirectCommand = VkDispatchIndirectCommand## Addr##+                                                            ByteArray##++instance Eq VkDispatchIndirectCommand where+        (VkDispatchIndirectCommand## a _) ==+          x@(VkDispatchIndirectCommand## b _) = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDispatchIndirectCommand where+        (VkDispatchIndirectCommand## a _) `compare`+          x@(VkDispatchIndirectCommand## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDispatchIndirectCommand where+        sizeOf ~_ = #{size VkDispatchIndirectCommand}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDispatchIndirectCommand}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDispatchIndirectCommand where+        unsafeAddr (VkDispatchIndirectCommand## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDispatchIndirectCommand## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDispatchIndirectCommand## (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDispatchIndirectCommand where+        type StructFields VkDispatchIndirectCommand = '["x", "y", "z"] -- ' closing tick for hsc2hs+        type CUnionType VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "x" VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs+        type FieldOffset "x" VkDispatchIndirectCommand =+             #{offset VkDispatchIndirectCommand, x}+        type FieldIsArray "x" VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDispatchIndirectCommand, x}++instance CanReadField "x" VkDispatchIndirectCommand where+        {-# INLINE getField #-}+        getField = vkX++        {-# INLINE readField #-}+        readField = readVkX++instance 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}++instance {-# OVERLAPPING #-} HasField "y" VkDispatchIndirectCommand+         where+        type FieldType "y" VkDispatchIndirectCommand = Word32+        type FieldOptional "y" VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs+        type FieldOffset "y" VkDispatchIndirectCommand =+             #{offset VkDispatchIndirectCommand, y}+        type FieldIsArray "y" VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDispatchIndirectCommand, y}++instance CanReadField "y" VkDispatchIndirectCommand where+        {-# INLINE getField #-}+        getField = vkY++        {-# INLINE readField #-}+        readField = readVkY++instance 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}++instance {-# OVERLAPPING #-} HasField "z" VkDispatchIndirectCommand+         where+        type FieldType "z" VkDispatchIndirectCommand = Word32+        type FieldOptional "z" VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs+        type FieldOffset "z" VkDispatchIndirectCommand =+             #{offset VkDispatchIndirectCommand, z}+        type FieldIsArray "z" VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDispatchIndirectCommand, z}++instance CanReadField "z" VkDispatchIndirectCommand where+        {-# INLINE getField #-}+        getField = vkZ++        {-# INLINE readField #-}+        readField = readVkZ++instance CanWriteField "z" VkDispatchIndirectCommand where+        {-# INLINE writeField #-}+        writeField = writeVkZ++instance Show VkDispatchIndirectCommand where+        showsPrec d x+          = showString "VkDispatchIndirectCommand {" .+              showString "vkX = " .+                showsPrec d (vkX x) .+                  showString ", " .+                    showString "vkY = " .+                      showsPrec d (vkY x) .+                        showString ", " .+                          showString "vkZ = " . showsPrec d (vkZ x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDisplayEventInfoEXT.hsc view
@@ -0,0 +1,224 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDisplayEventInfoEXT+       (VkDisplayEventInfoEXT(..)) where+import           Foreign.Storable                                 (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+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 {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkDisplayEventTypeEXT            displayEvent;+--   > } VkDisplayEventInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDisplayEventInfoEXT.html VkDisplayEventInfoEXT registry at www.khronos.org>+data VkDisplayEventInfoEXT = VkDisplayEventInfoEXT## Addr##+                                                    ByteArray##++instance Eq VkDisplayEventInfoEXT where+        (VkDisplayEventInfoEXT## a _) == x@(VkDisplayEventInfoEXT## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDisplayEventInfoEXT where+        (VkDisplayEventInfoEXT## a _) `compare`+          x@(VkDisplayEventInfoEXT## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDisplayEventInfoEXT where+        sizeOf ~_ = #{size VkDisplayEventInfoEXT}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDisplayEventInfoEXT}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDisplayEventInfoEXT where+        unsafeAddr (VkDisplayEventInfoEXT## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDisplayEventInfoEXT## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDisplayEventInfoEXT## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDisplayEventInfoEXT where+        type StructFields VkDisplayEventInfoEXT =+             '["sType", "pNext", "displayEvent"] -- ' closing tick for hsc2hs+        type CUnionType VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDisplayEventInfoEXT =+             #{offset VkDisplayEventInfoEXT, sType}+        type FieldIsArray "sType" VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDisplayEventInfoEXT, sType}++instance CanReadField "sType" VkDisplayEventInfoEXT where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-} HasField "pNext" VkDisplayEventInfoEXT+         where+        type FieldType "pNext" VkDisplayEventInfoEXT = Ptr Void+        type FieldOptional "pNext" VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDisplayEventInfoEXT =+             #{offset VkDisplayEventInfoEXT, pNext}+        type FieldIsArray "pNext" VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# 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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayEventInfoEXT, displayEvent})++        {-# INLINE vkDisplayEventByteOffset #-}+        vkDisplayEventByteOffset ~_+          = #{offset VkDisplayEventInfoEXT, displayEvent}++        {-# INLINE readVkDisplayEvent #-}+        readVkDisplayEvent p+          = peekByteOff p #{offset VkDisplayEventInfoEXT, displayEvent}++        {-# INLINE writeVkDisplayEvent #-}+        writeVkDisplayEvent p+          = pokeByteOff p #{offset VkDisplayEventInfoEXT, displayEvent}++instance {-# OVERLAPPING #-}+         HasField "displayEvent" VkDisplayEventInfoEXT where+        type FieldType "displayEvent" VkDisplayEventInfoEXT =+             VkDisplayEventTypeEXT+        type FieldOptional "displayEvent" VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "displayEvent" VkDisplayEventInfoEXT =+             #{offset VkDisplayEventInfoEXT, displayEvent}+        type FieldIsArray "displayEvent" VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDisplayEventInfoEXT, displayEvent}++instance CanReadField "displayEvent" VkDisplayEventInfoEXT where+        {-# INLINE getField #-}+        getField = vkDisplayEvent++        {-# INLINE readField #-}+        readField = readVkDisplayEvent++instance CanWriteField "displayEvent" VkDisplayEventInfoEXT where+        {-# INLINE writeField #-}+        writeField = writeVkDisplayEvent++instance Show VkDisplayEventInfoEXT where+        showsPrec d x+          = showString "VkDisplayEventInfoEXT {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkDisplayEvent = " .+                            showsPrec d (vkDisplayEvent x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDisplayModeCreateInfoKHR.hsc view
@@ -0,0 +1,286 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDisplayModeCreateInfoKHR+       (VkDisplayModeCreateInfoKHR(..)) where+import           Foreign.Storable                                        (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+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 {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkDisplayModeCreateFlagsKHR      flags;+--   >     VkDisplayModeParametersKHR       parameters;+--   > } VkDisplayModeCreateInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDisplayModeCreateInfoKHR.html VkDisplayModeCreateInfoKHR registry at www.khronos.org>+data VkDisplayModeCreateInfoKHR = VkDisplayModeCreateInfoKHR## Addr##+                                                              ByteArray##++instance Eq VkDisplayModeCreateInfoKHR where+        (VkDisplayModeCreateInfoKHR## a _) ==+          x@(VkDisplayModeCreateInfoKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDisplayModeCreateInfoKHR where+        (VkDisplayModeCreateInfoKHR## a _) `compare`+          x@(VkDisplayModeCreateInfoKHR## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDisplayModeCreateInfoKHR where+        sizeOf ~_ = #{size VkDisplayModeCreateInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDisplayModeCreateInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDisplayModeCreateInfoKHR where+        unsafeAddr (VkDisplayModeCreateInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDisplayModeCreateInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDisplayModeCreateInfoKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDisplayModeCreateInfoKHR where+        type StructFields VkDisplayModeCreateInfoKHR =+             '["sType", "pNext", "flags", "parameters"] -- ' closing tick for hsc2hs+        type CUnionType VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDisplayModeCreateInfoKHR =+             #{offset VkDisplayModeCreateInfoKHR, sType}+        type FieldIsArray "sType" VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDisplayModeCreateInfoKHR, sType}++instance CanReadField "sType" VkDisplayModeCreateInfoKHR where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDisplayModeCreateInfoKHR where+        type FieldType "pNext" VkDisplayModeCreateInfoKHR = Ptr Void+        type FieldOptional "pNext" VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDisplayModeCreateInfoKHR =+             #{offset VkDisplayModeCreateInfoKHR, pNext}+        type FieldIsArray "pNext" VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDisplayModeCreateInfoKHR, pNext}++instance CanReadField "pNext" VkDisplayModeCreateInfoKHR where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance 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}++instance {-# OVERLAPPING #-}+         HasField "flags" VkDisplayModeCreateInfoKHR where+        type FieldType "flags" VkDisplayModeCreateInfoKHR =+             VkDisplayModeCreateFlagsKHR+        type FieldOptional "flags" VkDisplayModeCreateInfoKHR = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkDisplayModeCreateInfoKHR =+             #{offset VkDisplayModeCreateInfoKHR, flags}+        type FieldIsArray "flags" VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayModeCreateInfoKHR, parameters})++        {-# INLINE vkParametersByteOffset #-}+        vkParametersByteOffset ~_+          = #{offset VkDisplayModeCreateInfoKHR, parameters}++        {-# INLINE readVkParameters #-}+        readVkParameters p+          = peekByteOff p #{offset VkDisplayModeCreateInfoKHR, parameters}++        {-# INLINE writeVkParameters #-}+        writeVkParameters p+          = pokeByteOff p #{offset VkDisplayModeCreateInfoKHR, parameters}++instance {-# OVERLAPPING #-}+         HasField "parameters" VkDisplayModeCreateInfoKHR where+        type FieldType "parameters" VkDisplayModeCreateInfoKHR =+             VkDisplayModeParametersKHR+        type FieldOptional "parameters" VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "parameters" VkDisplayModeCreateInfoKHR =+             #{offset VkDisplayModeCreateInfoKHR, parameters}+        type FieldIsArray "parameters" VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDisplayModeCreateInfoKHR, parameters}++instance CanReadField "parameters" VkDisplayModeCreateInfoKHR where+        {-# INLINE getField #-}+        getField = vkParameters++        {-# INLINE readField #-}+        readField = readVkParameters++instance CanWriteField "parameters" VkDisplayModeCreateInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkParameters++instance Show VkDisplayModeCreateInfoKHR where+        showsPrec d x+          = showString "VkDisplayModeCreateInfoKHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFlags = " .+                            showsPrec d (vkFlags x) .+                              showString ", " .+                                showString "vkParameters = " .+                                  showsPrec d (vkParameters x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDisplayModeParametersKHR.hsc view
@@ -0,0 +1,185 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDisplayModeParametersKHR+       (VkDisplayModeParametersKHR(..)) where+import           Foreign.Storable                        (Storable (..))+import           GHC.Prim+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 {+--   >     VkExtent2D                       visibleRegion;+--   >     uint32_t                         refreshRate;+--   > } VkDisplayModeParametersKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDisplayModeParametersKHR.html VkDisplayModeParametersKHR registry at www.khronos.org>+data VkDisplayModeParametersKHR = VkDisplayModeParametersKHR## Addr##+                                                              ByteArray##++instance Eq VkDisplayModeParametersKHR where+        (VkDisplayModeParametersKHR## a _) ==+          x@(VkDisplayModeParametersKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDisplayModeParametersKHR where+        (VkDisplayModeParametersKHR## a _) `compare`+          x@(VkDisplayModeParametersKHR## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDisplayModeParametersKHR where+        sizeOf ~_ = #{size VkDisplayModeParametersKHR}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDisplayModeParametersKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDisplayModeParametersKHR where+        unsafeAddr (VkDisplayModeParametersKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDisplayModeParametersKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDisplayModeParametersKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDisplayModeParametersKHR where+        type StructFields VkDisplayModeParametersKHR =+             '["visibleRegion", "refreshRate"] -- ' closing tick for hsc2hs+        type CUnionType VkDisplayModeParametersKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDisplayModeParametersKHR = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "visibleRegion" VkDisplayModeParametersKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "visibleRegion" VkDisplayModeParametersKHR =+             #{offset VkDisplayModeParametersKHR, visibleRegion}+        type FieldIsArray "visibleRegion" VkDisplayModeParametersKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayModeParametersKHR, refreshRate})++        {-# INLINE vkRefreshRateByteOffset #-}+        vkRefreshRateByteOffset ~_+          = #{offset VkDisplayModeParametersKHR, refreshRate}++        {-# INLINE readVkRefreshRate #-}+        readVkRefreshRate p+          = peekByteOff p #{offset VkDisplayModeParametersKHR, refreshRate}++        {-# INLINE writeVkRefreshRate #-}+        writeVkRefreshRate p+          = pokeByteOff p #{offset VkDisplayModeParametersKHR, refreshRate}++instance {-# OVERLAPPING #-}+         HasField "refreshRate" VkDisplayModeParametersKHR where+        type FieldType "refreshRate" VkDisplayModeParametersKHR = Word32+        type FieldOptional "refreshRate" VkDisplayModeParametersKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "refreshRate" VkDisplayModeParametersKHR =+             #{offset VkDisplayModeParametersKHR, refreshRate}+        type FieldIsArray "refreshRate" VkDisplayModeParametersKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDisplayModeParametersKHR, refreshRate}++instance CanReadField "refreshRate" VkDisplayModeParametersKHR+         where+        {-# INLINE getField #-}+        getField = vkRefreshRate++        {-# INLINE readField #-}+        readField = readVkRefreshRate++instance CanWriteField "refreshRate" VkDisplayModeParametersKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkRefreshRate++instance Show VkDisplayModeParametersKHR where+        showsPrec d x+          = showString "VkDisplayModeParametersKHR {" .+              showString "vkVisibleRegion = " .+                showsPrec d (vkVisibleRegion x) .+                  showString ", " .+                    showString "vkRefreshRate = " .+                      showsPrec d (vkRefreshRate x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDisplayModePropertiesKHR.hsc view
@@ -0,0 +1,176 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDisplayModePropertiesKHR+       (VkDisplayModePropertiesKHR(..)) where+import           Foreign.Storable                                        (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+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 {+--   >     VkDisplayModeKHR                 displayMode;+--   >     VkDisplayModeParametersKHR       parameters;+--   > } VkDisplayModePropertiesKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDisplayModePropertiesKHR.html VkDisplayModePropertiesKHR registry at www.khronos.org>+data VkDisplayModePropertiesKHR = VkDisplayModePropertiesKHR## Addr##+                                                              ByteArray##++instance Eq VkDisplayModePropertiesKHR where+        (VkDisplayModePropertiesKHR## a _) ==+          x@(VkDisplayModePropertiesKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDisplayModePropertiesKHR where+        (VkDisplayModePropertiesKHR## a _) `compare`+          x@(VkDisplayModePropertiesKHR## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDisplayModePropertiesKHR where+        sizeOf ~_ = #{size VkDisplayModePropertiesKHR}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDisplayModePropertiesKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDisplayModePropertiesKHR where+        unsafeAddr (VkDisplayModePropertiesKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDisplayModePropertiesKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDisplayModePropertiesKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDisplayModePropertiesKHR where+        type StructFields VkDisplayModePropertiesKHR =+             '["displayMode", "parameters"] -- ' closing tick for hsc2hs+        type CUnionType VkDisplayModePropertiesKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDisplayModePropertiesKHR = 'True -- ' closing tick for hsc2hs+        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+        type FieldOptional "displayMode" VkDisplayModePropertiesKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "displayMode" VkDisplayModePropertiesKHR =+             #{offset VkDisplayModePropertiesKHR, displayMode}+        type FieldIsArray "displayMode" VkDisplayModePropertiesKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayModePropertiesKHR, parameters})++        {-# INLINE vkParametersByteOffset #-}+        vkParametersByteOffset ~_+          = #{offset VkDisplayModePropertiesKHR, parameters}++        {-# INLINE readVkParameters #-}+        readVkParameters p+          = peekByteOff p #{offset VkDisplayModePropertiesKHR, parameters}++        {-# INLINE writeVkParameters #-}+        writeVkParameters p+          = pokeByteOff p #{offset VkDisplayModePropertiesKHR, parameters}++instance {-# OVERLAPPING #-}+         HasField "parameters" VkDisplayModePropertiesKHR where+        type FieldType "parameters" VkDisplayModePropertiesKHR =+             VkDisplayModeParametersKHR+        type FieldOptional "parameters" VkDisplayModePropertiesKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "parameters" VkDisplayModePropertiesKHR =+             #{offset VkDisplayModePropertiesKHR, parameters}+        type FieldIsArray "parameters" VkDisplayModePropertiesKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDisplayModePropertiesKHR, parameters}++instance CanReadField "parameters" VkDisplayModePropertiesKHR where+        {-# INLINE getField #-}+        getField = vkParameters++        {-# INLINE readField #-}+        readField = readVkParameters++instance Show VkDisplayModePropertiesKHR where+        showsPrec d x+          = showString "VkDisplayModePropertiesKHR {" .+              showString "vkDisplayMode = " .+                showsPrec d (vkDisplayMode x) .+                  showString ", " .+                    showString "vkParameters = " .+                      showsPrec d (vkParameters x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDisplayPlaneCapabilitiesKHR.hsc view
@@ -0,0 +1,550 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDisplayPlaneCapabilitiesKHR+       (VkDisplayPlaneCapabilitiesKHR(..)) where+import           Foreign.Storable                                       (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+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 {+--   >     VkDisplayPlaneAlphaFlagsKHR      supportedAlpha;+--   >     VkOffset2D                       minSrcPosition;+--   >     VkOffset2D                       maxSrcPosition;+--   >     VkExtent2D                       minSrcExtent;+--   >     VkExtent2D                       maxSrcExtent;+--   >     VkOffset2D                       minDstPosition;+--   >     VkOffset2D                       maxDstPosition;+--   >     VkExtent2D                       minDstExtent;+--   >     VkExtent2D                       maxDstExtent;+--   > } VkDisplayPlaneCapabilitiesKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDisplayPlaneCapabilitiesKHR.html VkDisplayPlaneCapabilitiesKHR registry at www.khronos.org>+data VkDisplayPlaneCapabilitiesKHR = VkDisplayPlaneCapabilitiesKHR## Addr##+                                                                    ByteArray##++instance Eq VkDisplayPlaneCapabilitiesKHR where+        (VkDisplayPlaneCapabilitiesKHR## a _) ==+          x@(VkDisplayPlaneCapabilitiesKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDisplayPlaneCapabilitiesKHR where+        (VkDisplayPlaneCapabilitiesKHR## a _) `compare`+          x@(VkDisplayPlaneCapabilitiesKHR## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDisplayPlaneCapabilitiesKHR where+        sizeOf ~_ = #{size VkDisplayPlaneCapabilitiesKHR}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDisplayPlaneCapabilitiesKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDisplayPlaneCapabilitiesKHR where+        unsafeAddr (VkDisplayPlaneCapabilitiesKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDisplayPlaneCapabilitiesKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDisplayPlaneCapabilitiesKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDisplayPlaneCapabilitiesKHR where+        type StructFields VkDisplayPlaneCapabilitiesKHR =+             '["supportedAlpha", "minSrcPosition", "maxSrcPosition", -- ' closing tick for hsc2hs+               "minSrcExtent", "maxSrcExtent", "minDstPosition", "maxDstPosition",+               "minDstExtent", "maxDstExtent"]+        type CUnionType VkDisplayPlaneCapabilitiesKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDisplayPlaneCapabilitiesKHR = 'True -- ' closing tick for hsc2hs+        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+        type FieldOptional "supportedAlpha" VkDisplayPlaneCapabilitiesKHR =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "supportedAlpha" VkDisplayPlaneCapabilitiesKHR =+             #{offset VkDisplayPlaneCapabilitiesKHR, supportedAlpha}+        type FieldIsArray "supportedAlpha" VkDisplayPlaneCapabilitiesKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition})++        {-# INLINE vkMinSrcPositionByteOffset #-}+        vkMinSrcPositionByteOffset ~_+          = #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition}++        {-# INLINE readVkMinSrcPosition #-}+        readVkMinSrcPosition p+          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition}++        {-# INLINE writeVkMinSrcPosition #-}+        writeVkMinSrcPosition p+          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition}++instance {-# OVERLAPPING #-}+         HasField "minSrcPosition" VkDisplayPlaneCapabilitiesKHR where+        type FieldType "minSrcPosition" VkDisplayPlaneCapabilitiesKHR =+             VkOffset2D+        type FieldOptional "minSrcPosition" VkDisplayPlaneCapabilitiesKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "minSrcPosition" VkDisplayPlaneCapabilitiesKHR =+             #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition}+        type FieldIsArray "minSrcPosition" VkDisplayPlaneCapabilitiesKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition})++        {-# INLINE vkMaxSrcPositionByteOffset #-}+        vkMaxSrcPositionByteOffset ~_+          = #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition}++        {-# INLINE readVkMaxSrcPosition #-}+        readVkMaxSrcPosition p+          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition}++        {-# INLINE writeVkMaxSrcPosition #-}+        writeVkMaxSrcPosition p+          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition}++instance {-# OVERLAPPING #-}+         HasField "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR where+        type FieldType "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR =+             VkOffset2D+        type FieldOptional "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR =+             #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition}+        type FieldIsArray "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent})++        {-# INLINE vkMinSrcExtentByteOffset #-}+        vkMinSrcExtentByteOffset ~_+          = #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent}++        {-# INLINE readVkMinSrcExtent #-}+        readVkMinSrcExtent p+          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent}++        {-# INLINE writeVkMinSrcExtent #-}+        writeVkMinSrcExtent p+          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent}++instance {-# OVERLAPPING #-}+         HasField "minSrcExtent" VkDisplayPlaneCapabilitiesKHR where+        type FieldType "minSrcExtent" VkDisplayPlaneCapabilitiesKHR =+             VkExtent2D+        type FieldOptional "minSrcExtent" VkDisplayPlaneCapabilitiesKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "minSrcExtent" VkDisplayPlaneCapabilitiesKHR =+             #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent}+        type FieldIsArray "minSrcExtent" VkDisplayPlaneCapabilitiesKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent})++        {-# INLINE vkMaxSrcExtentByteOffset #-}+        vkMaxSrcExtentByteOffset ~_+          = #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent}++        {-# INLINE readVkMaxSrcExtent #-}+        readVkMaxSrcExtent p+          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent}++        {-# INLINE writeVkMaxSrcExtent #-}+        writeVkMaxSrcExtent p+          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent}++instance {-# OVERLAPPING #-}+         HasField "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR where+        type FieldType "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR =+             VkExtent2D+        type FieldOptional "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR =+             #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent}+        type FieldIsArray "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition})++        {-# INLINE vkMinDstPositionByteOffset #-}+        vkMinDstPositionByteOffset ~_+          = #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition}++        {-# INLINE readVkMinDstPosition #-}+        readVkMinDstPosition p+          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition}++        {-# INLINE writeVkMinDstPosition #-}+        writeVkMinDstPosition p+          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition}++instance {-# OVERLAPPING #-}+         HasField "minDstPosition" VkDisplayPlaneCapabilitiesKHR where+        type FieldType "minDstPosition" VkDisplayPlaneCapabilitiesKHR =+             VkOffset2D+        type FieldOptional "minDstPosition" VkDisplayPlaneCapabilitiesKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "minDstPosition" VkDisplayPlaneCapabilitiesKHR =+             #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition}+        type FieldIsArray "minDstPosition" VkDisplayPlaneCapabilitiesKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition})++        {-# INLINE vkMaxDstPositionByteOffset #-}+        vkMaxDstPositionByteOffset ~_+          = #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition}++        {-# INLINE readVkMaxDstPosition #-}+        readVkMaxDstPosition p+          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition}++        {-# INLINE writeVkMaxDstPosition #-}+        writeVkMaxDstPosition p+          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition}++instance {-# OVERLAPPING #-}+         HasField "maxDstPosition" VkDisplayPlaneCapabilitiesKHR where+        type FieldType "maxDstPosition" VkDisplayPlaneCapabilitiesKHR =+             VkOffset2D+        type FieldOptional "maxDstPosition" VkDisplayPlaneCapabilitiesKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "maxDstPosition" VkDisplayPlaneCapabilitiesKHR =+             #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition}+        type FieldIsArray "maxDstPosition" VkDisplayPlaneCapabilitiesKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent})++        {-# INLINE vkMinDstExtentByteOffset #-}+        vkMinDstExtentByteOffset ~_+          = #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent}++        {-# INLINE readVkMinDstExtent #-}+        readVkMinDstExtent p+          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent}++        {-# INLINE writeVkMinDstExtent #-}+        writeVkMinDstExtent p+          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent}++instance {-# OVERLAPPING #-}+         HasField "minDstExtent" VkDisplayPlaneCapabilitiesKHR where+        type FieldType "minDstExtent" VkDisplayPlaneCapabilitiesKHR =+             VkExtent2D+        type FieldOptional "minDstExtent" VkDisplayPlaneCapabilitiesKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "minDstExtent" VkDisplayPlaneCapabilitiesKHR =+             #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent}+        type FieldIsArray "minDstExtent" VkDisplayPlaneCapabilitiesKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent})++        {-# INLINE vkMaxDstExtentByteOffset #-}+        vkMaxDstExtentByteOffset ~_+          = #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent}++        {-# INLINE readVkMaxDstExtent #-}+        readVkMaxDstExtent p+          = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent}++        {-# INLINE writeVkMaxDstExtent #-}+        writeVkMaxDstExtent p+          = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent}++instance {-# OVERLAPPING #-}+         HasField "maxDstExtent" VkDisplayPlaneCapabilitiesKHR where+        type FieldType "maxDstExtent" VkDisplayPlaneCapabilitiesKHR =+             VkExtent2D+        type FieldOptional "maxDstExtent" VkDisplayPlaneCapabilitiesKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "maxDstExtent" VkDisplayPlaneCapabilitiesKHR =+             #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent}+        type FieldIsArray "maxDstExtent" VkDisplayPlaneCapabilitiesKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent}++instance CanReadField "maxDstExtent" VkDisplayPlaneCapabilitiesKHR+         where+        {-# INLINE getField #-}+        getField = vkMaxDstExtent++        {-# INLINE readField #-}+        readField = readVkMaxDstExtent++instance Show VkDisplayPlaneCapabilitiesKHR where+        showsPrec d x+          = showString "VkDisplayPlaneCapabilitiesKHR {" .+              showString "vkSupportedAlpha = " .+                showsPrec d (vkSupportedAlpha x) .+                  showString ", " .+                    showString "vkMinSrcPosition = " .+                      showsPrec d (vkMinSrcPosition x) .+                        showString ", " .+                          showString "vkMaxSrcPosition = " .+                            showsPrec d (vkMaxSrcPosition x) .+                              showString ", " .+                                showString "vkMinSrcExtent = " .+                                  showsPrec d (vkMinSrcExtent x) .+                                    showString ", " .+                                      showString "vkMaxSrcExtent = " .+                                        showsPrec d (vkMaxSrcExtent x) .+                                          showString ", " .+                                            showString "vkMinDstPosition = " .+                                              showsPrec d (vkMinDstPosition x) .+                                                showString ", " .+                                                  showString "vkMaxDstPosition = " .+                                                    showsPrec d (vkMaxDstPosition x) .+                                                      showString ", " .+                                                        showString "vkMinDstExtent = " .+                                                          showsPrec d (vkMinDstExtent x) .+                                                            showString ", " .+                                                              showString "vkMaxDstExtent = " .+                                                                showsPrec d (vkMaxDstExtent x) .+                                                                  showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDisplayPlanePropertiesKHR.hsc view
@@ -0,0 +1,179 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDisplayPlanePropertiesKHR+       (VkDisplayPlanePropertiesKHR(..)) where+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)++-- | > 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>+data VkDisplayPlanePropertiesKHR = VkDisplayPlanePropertiesKHR## Addr##+                                                                ByteArray##++instance Eq VkDisplayPlanePropertiesKHR where+        (VkDisplayPlanePropertiesKHR## a _) ==+          x@(VkDisplayPlanePropertiesKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDisplayPlanePropertiesKHR where+        (VkDisplayPlanePropertiesKHR## a _) `compare`+          x@(VkDisplayPlanePropertiesKHR## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDisplayPlanePropertiesKHR where+        sizeOf ~_ = #{size VkDisplayPlanePropertiesKHR}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDisplayPlanePropertiesKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDisplayPlanePropertiesKHR where+        unsafeAddr (VkDisplayPlanePropertiesKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDisplayPlanePropertiesKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDisplayPlanePropertiesKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDisplayPlanePropertiesKHR where+        type StructFields VkDisplayPlanePropertiesKHR =+             '["currentDisplay", "currentStackIndex"] -- ' closing tick for hsc2hs+        type CUnionType VkDisplayPlanePropertiesKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDisplayPlanePropertiesKHR = 'True -- ' closing tick for hsc2hs+        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+        type FieldOptional "currentDisplay" VkDisplayPlanePropertiesKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "currentDisplay" VkDisplayPlanePropertiesKHR =+             #{offset VkDisplayPlanePropertiesKHR, currentDisplay}+        type FieldIsArray "currentDisplay" VkDisplayPlanePropertiesKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPlanePropertiesKHR, currentStackIndex})++        {-# INLINE vkCurrentStackIndexByteOffset #-}+        vkCurrentStackIndexByteOffset ~_+          = #{offset VkDisplayPlanePropertiesKHR, currentStackIndex}++        {-# INLINE readVkCurrentStackIndex #-}+        readVkCurrentStackIndex p+          = peekByteOff p #{offset VkDisplayPlanePropertiesKHR, currentStackIndex}++        {-# INLINE writeVkCurrentStackIndex #-}+        writeVkCurrentStackIndex p+          = pokeByteOff p #{offset VkDisplayPlanePropertiesKHR, currentStackIndex}++instance {-# OVERLAPPING #-}+         HasField "currentStackIndex" VkDisplayPlanePropertiesKHR where+        type FieldType "currentStackIndex" VkDisplayPlanePropertiesKHR =+             Word32+        type FieldOptional "currentStackIndex" VkDisplayPlanePropertiesKHR+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "currentStackIndex" VkDisplayPlanePropertiesKHR =+             #{offset VkDisplayPlanePropertiesKHR, currentStackIndex}+        type FieldIsArray "currentStackIndex" VkDisplayPlanePropertiesKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDisplayPlanePropertiesKHR, currentStackIndex}++instance CanReadField "currentStackIndex"+           VkDisplayPlanePropertiesKHR+         where+        {-# INLINE getField #-}+        getField = vkCurrentStackIndex++        {-# INLINE readField #-}+        readField = readVkCurrentStackIndex++instance Show VkDisplayPlanePropertiesKHR where+        showsPrec d x+          = showString "VkDisplayPlanePropertiesKHR {" .+              showString "vkCurrentDisplay = " .+                showsPrec d (vkCurrentDisplay x) .+                  showString ", " .+                    showString "vkCurrentStackIndex = " .+                      showsPrec d (vkCurrentStackIndex x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDisplayPowerInfoEXT.hsc view
@@ -0,0 +1,224 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDisplayPowerInfoEXT+       (VkDisplayPowerInfoEXT(..)) where+import           Foreign.Storable                                  (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+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 {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkDisplayPowerStateEXT           powerState;+--   > } VkDisplayPowerInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDisplayPowerInfoEXT.html VkDisplayPowerInfoEXT registry at www.khronos.org>+data VkDisplayPowerInfoEXT = VkDisplayPowerInfoEXT## Addr##+                                                    ByteArray##++instance Eq VkDisplayPowerInfoEXT where+        (VkDisplayPowerInfoEXT## a _) == x@(VkDisplayPowerInfoEXT## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDisplayPowerInfoEXT where+        (VkDisplayPowerInfoEXT## a _) `compare`+          x@(VkDisplayPowerInfoEXT## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDisplayPowerInfoEXT where+        sizeOf ~_ = #{size VkDisplayPowerInfoEXT}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDisplayPowerInfoEXT}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDisplayPowerInfoEXT where+        unsafeAddr (VkDisplayPowerInfoEXT## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDisplayPowerInfoEXT## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDisplayPowerInfoEXT## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDisplayPowerInfoEXT where+        type StructFields VkDisplayPowerInfoEXT =+             '["sType", "pNext", "powerState"] -- ' closing tick for hsc2hs+        type CUnionType VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDisplayPowerInfoEXT =+             #{offset VkDisplayPowerInfoEXT, sType}+        type FieldIsArray "sType" VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDisplayPowerInfoEXT, sType}++instance CanReadField "sType" VkDisplayPowerInfoEXT where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-} HasField "pNext" VkDisplayPowerInfoEXT+         where+        type FieldType "pNext" VkDisplayPowerInfoEXT = Ptr Void+        type FieldOptional "pNext" VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDisplayPowerInfoEXT =+             #{offset VkDisplayPowerInfoEXT, pNext}+        type FieldIsArray "pNext" VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDisplayPowerInfoEXT, pNext}++instance CanReadField "pNext" VkDisplayPowerInfoEXT where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance 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}++instance {-# OVERLAPPING #-}+         HasField "powerState" VkDisplayPowerInfoEXT where+        type FieldType "powerState" VkDisplayPowerInfoEXT =+             VkDisplayPowerStateEXT+        type FieldOptional "powerState" VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "powerState" VkDisplayPowerInfoEXT =+             #{offset VkDisplayPowerInfoEXT, powerState}+        type FieldIsArray "powerState" VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDisplayPowerInfoEXT, powerState}++instance CanReadField "powerState" VkDisplayPowerInfoEXT where+        {-# INLINE getField #-}+        getField = vkPowerState++        {-# INLINE readField #-}+        readField = readVkPowerState++instance CanWriteField "powerState" VkDisplayPowerInfoEXT where+        {-# INLINE writeField #-}+        writeField = writeVkPowerState++instance Show VkDisplayPowerInfoEXT where+        showsPrec d x+          = showString "VkDisplayPowerInfoEXT {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkPowerState = " .+                            showsPrec d (vkPowerState x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDisplayPresentInfoKHR.hsc view
@@ -0,0 +1,328 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDisplayPresentInfoKHR+       (VkDisplayPresentInfoKHR(..)) 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           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 {+--   >     VkStructureType sType;+--   >     const void*  pNext;+--   >     VkRect2D                         srcRect;+--   >     VkRect2D                         dstRect;+--   >     VkBool32                         persistent;+--   > } VkDisplayPresentInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDisplayPresentInfoKHR.html VkDisplayPresentInfoKHR registry at www.khronos.org>+data VkDisplayPresentInfoKHR = VkDisplayPresentInfoKHR## Addr##+                                                        ByteArray##++instance Eq VkDisplayPresentInfoKHR where+        (VkDisplayPresentInfoKHR## a _) == x@(VkDisplayPresentInfoKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDisplayPresentInfoKHR where+        (VkDisplayPresentInfoKHR## a _) `compare`+          x@(VkDisplayPresentInfoKHR## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDisplayPresentInfoKHR where+        sizeOf ~_ = #{size VkDisplayPresentInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDisplayPresentInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDisplayPresentInfoKHR where+        unsafeAddr (VkDisplayPresentInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDisplayPresentInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDisplayPresentInfoKHR## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDisplayPresentInfoKHR where+        type StructFields VkDisplayPresentInfoKHR =+             '["sType", "pNext", "srcRect", "dstRect", "persistent"] -- ' closing tick for hsc2hs+        type CUnionType VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDisplayPresentInfoKHR =+             #{offset VkDisplayPresentInfoKHR, sType}+        type FieldIsArray "sType" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDisplayPresentInfoKHR, sType}++instance CanReadField "sType" VkDisplayPresentInfoKHR where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDisplayPresentInfoKHR where+        type FieldType "pNext" VkDisplayPresentInfoKHR = Ptr Void+        type FieldOptional "pNext" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDisplayPresentInfoKHR =+             #{offset VkDisplayPresentInfoKHR, pNext}+        type FieldIsArray "pNext" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkDisplayPresentInfoKHR, pNext}++instance CanReadField "pNext" VkDisplayPresentInfoKHR where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance 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}++instance {-# OVERLAPPING #-}+         HasField "srcRect" VkDisplayPresentInfoKHR where+        type FieldType "srcRect" VkDisplayPresentInfoKHR = VkRect2D+        type FieldOptional "srcRect" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "srcRect" VkDisplayPresentInfoKHR =+             #{offset VkDisplayPresentInfoKHR, srcRect}+        type FieldIsArray "srcRect" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDisplayPresentInfoKHR, srcRect}++instance CanReadField "srcRect" VkDisplayPresentInfoKHR where+        {-# INLINE getField #-}+        getField = vkSrcRect++        {-# INLINE readField #-}+        readField = readVkSrcRect++instance 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}++instance {-# OVERLAPPING #-}+         HasField "dstRect" VkDisplayPresentInfoKHR where+        type FieldType "dstRect" VkDisplayPresentInfoKHR = VkRect2D+        type FieldOptional "dstRect" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "dstRect" VkDisplayPresentInfoKHR =+             #{offset VkDisplayPresentInfoKHR, dstRect}+        type FieldIsArray "dstRect" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPresentInfoKHR, persistent})++        {-# INLINE vkPersistentByteOffset #-}+        vkPersistentByteOffset ~_+          = #{offset VkDisplayPresentInfoKHR, persistent}++        {-# INLINE readVkPersistent #-}+        readVkPersistent p+          = peekByteOff p #{offset VkDisplayPresentInfoKHR, persistent}++        {-# INLINE writeVkPersistent #-}+        writeVkPersistent p+          = pokeByteOff p #{offset VkDisplayPresentInfoKHR, persistent}++instance {-# OVERLAPPING #-}+         HasField "persistent" VkDisplayPresentInfoKHR where+        type FieldType "persistent" VkDisplayPresentInfoKHR = VkBool32+        type FieldOptional "persistent" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "persistent" VkDisplayPresentInfoKHR =+             #{offset VkDisplayPresentInfoKHR, persistent}+        type FieldIsArray "persistent" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDisplayPresentInfoKHR, persistent}++instance CanReadField "persistent" VkDisplayPresentInfoKHR where+        {-# INLINE getField #-}+        getField = vkPersistent++        {-# INLINE readField #-}+        readField = readVkPersistent++instance CanWriteField "persistent" VkDisplayPresentInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkPersistent++instance Show VkDisplayPresentInfoKHR where+        showsPrec d x+          = showString "VkDisplayPresentInfoKHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkSrcRect = " .+                            showsPrec d (vkSrcRect x) .+                              showString ", " .+                                showString "vkDstRect = " .+                                  showsPrec d (vkDstRect x) .+                                    showString ", " .+                                      showString "vkPersistent = " .+                                        showsPrec d (vkPersistent x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDisplayPropertiesKHR.hsc view
@@ -0,0 +1,427 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDisplayPropertiesKHR+       (VkDisplayPropertiesKHR(..)) 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.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 {+--   >     VkDisplayKHR                     display;+--   >     const char*                      displayName;+--   >     VkExtent2D                       physicalDimensions;+--   >     VkExtent2D                       physicalResolution;+--   >     VkSurfaceTransformFlagsKHR       supportedTransforms;+--   >     VkBool32                         planeReorderPossible;+--   >     VkBool32                         persistentContent;+--   > } VkDisplayPropertiesKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDisplayPropertiesKHR.html VkDisplayPropertiesKHR registry at www.khronos.org>+data VkDisplayPropertiesKHR = VkDisplayPropertiesKHR## Addr##+                                                      ByteArray##++instance Eq VkDisplayPropertiesKHR where+        (VkDisplayPropertiesKHR## a _) == x@(VkDisplayPropertiesKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDisplayPropertiesKHR where+        (VkDisplayPropertiesKHR## a _) `compare`+          x@(VkDisplayPropertiesKHR## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDisplayPropertiesKHR where+        sizeOf ~_ = #{size VkDisplayPropertiesKHR}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDisplayPropertiesKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDisplayPropertiesKHR where+        unsafeAddr (VkDisplayPropertiesKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDisplayPropertiesKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDisplayPropertiesKHR## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDisplayPropertiesKHR where+        type StructFields VkDisplayPropertiesKHR =+             '["display", "displayName", "physicalDimensions", -- ' closing tick for hsc2hs+               "physicalResolution", "supportedTransforms",+               "planeReorderPossible", "persistentContent"]+        type CUnionType VkDisplayPropertiesKHR = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "display" VkDisplayPropertiesKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "display" VkDisplayPropertiesKHR =+             #{offset VkDisplayPropertiesKHR, display}+        type FieldIsArray "display" VkDisplayPropertiesKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# 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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, displayName})++        {-# INLINE vkDisplayNameByteOffset #-}+        vkDisplayNameByteOffset ~_+          = #{offset VkDisplayPropertiesKHR, displayName}++        {-# INLINE readVkDisplayName #-}+        readVkDisplayName p+          = peekByteOff p #{offset VkDisplayPropertiesKHR, displayName}++        {-# INLINE writeVkDisplayName #-}+        writeVkDisplayName p+          = pokeByteOff p #{offset VkDisplayPropertiesKHR, displayName}++instance {-# OVERLAPPING #-}+         HasField "displayName" VkDisplayPropertiesKHR where+        type FieldType "displayName" VkDisplayPropertiesKHR = CString+        type FieldOptional "displayName" VkDisplayPropertiesKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "displayName" VkDisplayPropertiesKHR =+             #{offset VkDisplayPropertiesKHR, displayName}+        type FieldIsArray "displayName" VkDisplayPropertiesKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, physicalDimensions})++        {-# INLINE vkPhysicalDimensionsByteOffset #-}+        vkPhysicalDimensionsByteOffset ~_+          = #{offset VkDisplayPropertiesKHR, physicalDimensions}++        {-# INLINE readVkPhysicalDimensions #-}+        readVkPhysicalDimensions p+          = peekByteOff p #{offset VkDisplayPropertiesKHR, physicalDimensions}++        {-# INLINE writeVkPhysicalDimensions #-}+        writeVkPhysicalDimensions p+          = pokeByteOff p #{offset VkDisplayPropertiesKHR, physicalDimensions}++instance {-# OVERLAPPING #-}+         HasField "physicalDimensions" VkDisplayPropertiesKHR where+        type FieldType "physicalDimensions" VkDisplayPropertiesKHR =+             VkExtent2D+        type FieldOptional "physicalDimensions" VkDisplayPropertiesKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "physicalDimensions" VkDisplayPropertiesKHR =+             #{offset VkDisplayPropertiesKHR, physicalDimensions}+        type FieldIsArray "physicalDimensions" VkDisplayPropertiesKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, physicalResolution})++        {-# INLINE vkPhysicalResolutionByteOffset #-}+        vkPhysicalResolutionByteOffset ~_+          = #{offset VkDisplayPropertiesKHR, physicalResolution}++        {-# INLINE readVkPhysicalResolution #-}+        readVkPhysicalResolution p+          = peekByteOff p #{offset VkDisplayPropertiesKHR, physicalResolution}++        {-# INLINE writeVkPhysicalResolution #-}+        writeVkPhysicalResolution p+          = pokeByteOff p #{offset VkDisplayPropertiesKHR, physicalResolution}++instance {-# OVERLAPPING #-}+         HasField "physicalResolution" VkDisplayPropertiesKHR where+        type FieldType "physicalResolution" VkDisplayPropertiesKHR =+             VkExtent2D+        type FieldOptional "physicalResolution" VkDisplayPropertiesKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "physicalResolution" VkDisplayPropertiesKHR =+             #{offset VkDisplayPropertiesKHR, physicalResolution}+        type FieldIsArray "physicalResolution" VkDisplayPropertiesKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, supportedTransforms})++        {-# INLINE vkSupportedTransformsByteOffset #-}+        vkSupportedTransformsByteOffset ~_+          = #{offset VkDisplayPropertiesKHR, supportedTransforms}++        {-# INLINE readVkSupportedTransforms #-}+        readVkSupportedTransforms p+          = peekByteOff p #{offset VkDisplayPropertiesKHR, supportedTransforms}++        {-# INLINE writeVkSupportedTransforms #-}+        writeVkSupportedTransforms p+          = pokeByteOff p #{offset VkDisplayPropertiesKHR, supportedTransforms}++instance {-# OVERLAPPING #-}+         HasField "supportedTransforms" VkDisplayPropertiesKHR where+        type FieldType "supportedTransforms" VkDisplayPropertiesKHR =+             VkSurfaceTransformFlagsKHR+        type FieldOptional "supportedTransforms" VkDisplayPropertiesKHR =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "supportedTransforms" VkDisplayPropertiesKHR =+             #{offset VkDisplayPropertiesKHR, supportedTransforms}+        type FieldIsArray "supportedTransforms" VkDisplayPropertiesKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, planeReorderPossible})++        {-# INLINE vkPlaneReorderPossibleByteOffset #-}+        vkPlaneReorderPossibleByteOffset ~_+          = #{offset VkDisplayPropertiesKHR, planeReorderPossible}++        {-# INLINE readVkPlaneReorderPossible #-}+        readVkPlaneReorderPossible p+          = peekByteOff p #{offset VkDisplayPropertiesKHR, planeReorderPossible}++        {-# INLINE writeVkPlaneReorderPossible #-}+        writeVkPlaneReorderPossible p+          = pokeByteOff p #{offset VkDisplayPropertiesKHR, planeReorderPossible}++instance {-# OVERLAPPING #-}+         HasField "planeReorderPossible" VkDisplayPropertiesKHR where+        type FieldType "planeReorderPossible" VkDisplayPropertiesKHR =+             VkBool32+        type FieldOptional "planeReorderPossible" VkDisplayPropertiesKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "planeReorderPossible" VkDisplayPropertiesKHR =+             #{offset VkDisplayPropertiesKHR, planeReorderPossible}+        type FieldIsArray "planeReorderPossible" VkDisplayPropertiesKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, persistentContent})++        {-# INLINE vkPersistentContentByteOffset #-}+        vkPersistentContentByteOffset ~_+          = #{offset VkDisplayPropertiesKHR, persistentContent}++        {-# INLINE readVkPersistentContent #-}+        readVkPersistentContent p+          = peekByteOff p #{offset VkDisplayPropertiesKHR, persistentContent}++        {-# INLINE writeVkPersistentContent #-}+        writeVkPersistentContent p+          = pokeByteOff p #{offset VkDisplayPropertiesKHR, persistentContent}++instance {-# OVERLAPPING #-}+         HasField "persistentContent" VkDisplayPropertiesKHR where+        type FieldType "persistentContent" VkDisplayPropertiesKHR =+             VkBool32+        type FieldOptional "persistentContent" VkDisplayPropertiesKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "persistentContent" VkDisplayPropertiesKHR =+             #{offset VkDisplayPropertiesKHR, persistentContent}+        type FieldIsArray "persistentContent" VkDisplayPropertiesKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDisplayPropertiesKHR, persistentContent}++instance CanReadField "persistentContent" VkDisplayPropertiesKHR+         where+        {-# INLINE getField #-}+        getField = vkPersistentContent++        {-# INLINE readField #-}+        readField = readVkPersistentContent++instance Show VkDisplayPropertiesKHR where+        showsPrec d x+          = showString "VkDisplayPropertiesKHR {" .+              showString "vkDisplay = " .+                showsPrec d (vkDisplay x) .+                  showString ", " .+                    showString "vkDisplayName = " .+                      showsPrec d (vkDisplayName x) .+                        showString ", " .+                          showString "vkPhysicalDimensions = " .+                            showsPrec d (vkPhysicalDimensions x) .+                              showString ", " .+                                showString "vkPhysicalResolution = " .+                                  showsPrec d (vkPhysicalResolution x) .+                                    showString ", " .+                                      showString "vkSupportedTransforms = " .+                                        showsPrec d (vkSupportedTransforms x) .+                                          showString ", " .+                                            showString "vkPlaneReorderPossible = " .+                                              showsPrec d (vkPlaneReorderPossible x) .+                                                showString ", " .+                                                  showString "vkPersistentContent = " .+                                                    showsPrec d (vkPersistentContent x) .+                                                      showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDisplaySurfaceCreateInfoKHR.hsc view
@@ -0,0 +1,637 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDisplaySurfaceCreateInfoKHR+       (VkDisplaySurfaceCreateInfoKHR(..)) where+import           Foreign.Storable                                       (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Bitmasks                         (VkDisplaySurfaceCreateFlagsKHR)+import           Graphics.Vulkan.Types.Enum.VkDisplayPlaneAlphaFlagsKHR (VkDisplayPlaneAlphaFlagBitsKHR)+import           Graphics.Vulkan.Types.Enum.VkStructureType             (VkStructureType)+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 {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkDisplaySurfaceCreateFlagsKHR   flags;+--   >     VkDisplayModeKHR                 displayMode;+--   >     uint32_t                         planeIndex;+--   >     uint32_t                         planeStackIndex;+--   >     VkSurfaceTransformFlagBitsKHR    transform;+--   >     float                            globalAlpha;+--   >     VkDisplayPlaneAlphaFlagBitsKHR   alphaMode;+--   >     VkExtent2D                       imageExtent;+--   > } VkDisplaySurfaceCreateInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDisplaySurfaceCreateInfoKHR.html VkDisplaySurfaceCreateInfoKHR registry at www.khronos.org>+data VkDisplaySurfaceCreateInfoKHR = VkDisplaySurfaceCreateInfoKHR## Addr##+                                                                    ByteArray##++instance Eq VkDisplaySurfaceCreateInfoKHR where+        (VkDisplaySurfaceCreateInfoKHR## a _) ==+          x@(VkDisplaySurfaceCreateInfoKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDisplaySurfaceCreateInfoKHR where+        (VkDisplaySurfaceCreateInfoKHR## a _) `compare`+          x@(VkDisplaySurfaceCreateInfoKHR## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDisplaySurfaceCreateInfoKHR where+        sizeOf ~_ = #{size VkDisplaySurfaceCreateInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDisplaySurfaceCreateInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDisplaySurfaceCreateInfoKHR where+        unsafeAddr (VkDisplaySurfaceCreateInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDisplaySurfaceCreateInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDisplaySurfaceCreateInfoKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDisplaySurfaceCreateInfoKHR where+        type StructFields VkDisplaySurfaceCreateInfoKHR =+             '["sType", "pNext", "flags", "displayMode", "planeIndex", -- ' closing tick for hsc2hs+               "planeStackIndex", "transform", "globalAlpha", "alphaMode",+               "imageExtent"]+        type CUnionType VkDisplaySurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDisplaySurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkDisplaySurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkDisplaySurfaceCreateInfoKHR =+             #{offset VkDisplaySurfaceCreateInfoKHR, sType}+        type FieldIsArray "sType" VkDisplaySurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkDisplaySurfaceCreateInfoKHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkDisplaySurfaceCreateInfoKHR where+        type FieldType "pNext" VkDisplaySurfaceCreateInfoKHR = Ptr Void+        type FieldOptional "pNext" VkDisplaySurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkDisplaySurfaceCreateInfoKHR =+             #{offset VkDisplaySurfaceCreateInfoKHR, pNext}+        type FieldIsArray "pNext" VkDisplaySurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, flags})++        {-# INLINE vkFlagsByteOffset #-}+        vkFlagsByteOffset ~_+          = #{offset VkDisplaySurfaceCreateInfoKHR, flags}++        {-# INLINE readVkFlags #-}+        readVkFlags p+          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, flags}++        {-# INLINE writeVkFlags #-}+        writeVkFlags p+          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+         HasField "flags" VkDisplaySurfaceCreateInfoKHR where+        type FieldType "flags" VkDisplaySurfaceCreateInfoKHR =+             VkDisplaySurfaceCreateFlagsKHR+        type FieldOptional "flags" VkDisplaySurfaceCreateInfoKHR = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkDisplaySurfaceCreateInfoKHR =+             #{offset VkDisplaySurfaceCreateInfoKHR, flags}+        type FieldIsArray "flags" VkDisplaySurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, displayMode})++        {-# INLINE vkDisplayModeByteOffset #-}+        vkDisplayModeByteOffset ~_+          = #{offset VkDisplaySurfaceCreateInfoKHR, displayMode}++        {-# INLINE readVkDisplayMode #-}+        readVkDisplayMode p+          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, displayMode}++        {-# INLINE writeVkDisplayMode #-}+        writeVkDisplayMode p+          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, displayMode}++instance {-# OVERLAPPING #-}+         HasField "displayMode" VkDisplaySurfaceCreateInfoKHR where+        type FieldType "displayMode" VkDisplaySurfaceCreateInfoKHR =+             VkDisplayModeKHR+        type FieldOptional "displayMode" VkDisplaySurfaceCreateInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "displayMode" VkDisplaySurfaceCreateInfoKHR =+             #{offset VkDisplaySurfaceCreateInfoKHR, displayMode}+        type FieldIsArray "displayMode" VkDisplaySurfaceCreateInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex})++        {-# INLINE vkPlaneIndexByteOffset #-}+        vkPlaneIndexByteOffset ~_+          = #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex}++        {-# INLINE readVkPlaneIndex #-}+        readVkPlaneIndex p+          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex}++        {-# INLINE writeVkPlaneIndex #-}+        writeVkPlaneIndex p+          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex}++instance {-# OVERLAPPING #-}+         HasField "planeIndex" VkDisplaySurfaceCreateInfoKHR where+        type FieldType "planeIndex" VkDisplaySurfaceCreateInfoKHR = Word32+        type FieldOptional "planeIndex" VkDisplaySurfaceCreateInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "planeIndex" VkDisplaySurfaceCreateInfoKHR =+             #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex}+        type FieldIsArray "planeIndex" VkDisplaySurfaceCreateInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex})++        {-# INLINE vkPlaneStackIndexByteOffset #-}+        vkPlaneStackIndexByteOffset ~_+          = #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex}++        {-# INLINE readVkPlaneStackIndex #-}+        readVkPlaneStackIndex p+          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex}++        {-# INLINE writeVkPlaneStackIndex #-}+        writeVkPlaneStackIndex p+          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex}++instance {-# OVERLAPPING #-}+         HasField "planeStackIndex" VkDisplaySurfaceCreateInfoKHR where+        type FieldType "planeStackIndex" VkDisplaySurfaceCreateInfoKHR =+             Word32+        type FieldOptional "planeStackIndex" VkDisplaySurfaceCreateInfoKHR+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "planeStackIndex" VkDisplaySurfaceCreateInfoKHR =+             #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex}+        type FieldIsArray "planeStackIndex" VkDisplaySurfaceCreateInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, transform})++        {-# INLINE vkTransformByteOffset #-}+        vkTransformByteOffset ~_+          = #{offset VkDisplaySurfaceCreateInfoKHR, transform}++        {-# INLINE readVkTransform #-}+        readVkTransform p+          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, transform}++        {-# INLINE writeVkTransform #-}+        writeVkTransform p+          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, transform}++instance {-# OVERLAPPING #-}+         HasField "transform" VkDisplaySurfaceCreateInfoKHR where+        type FieldType "transform" VkDisplaySurfaceCreateInfoKHR =+             VkSurfaceTransformFlagBitsKHR+        type FieldOptional "transform" VkDisplaySurfaceCreateInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "transform" VkDisplaySurfaceCreateInfoKHR =+             #{offset VkDisplaySurfaceCreateInfoKHR, transform}+        type FieldIsArray "transform" VkDisplaySurfaceCreateInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha})++        {-# INLINE vkGlobalAlphaByteOffset #-}+        vkGlobalAlphaByteOffset ~_+          = #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha}++        {-# INLINE readVkGlobalAlpha #-}+        readVkGlobalAlpha p+          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha}++        {-# INLINE writeVkGlobalAlpha #-}+        writeVkGlobalAlpha p+          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha}++instance {-# OVERLAPPING #-}+         HasField "globalAlpha" VkDisplaySurfaceCreateInfoKHR where+        type FieldType "globalAlpha" VkDisplaySurfaceCreateInfoKHR =+             #{type float}+        type FieldOptional "globalAlpha" VkDisplaySurfaceCreateInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "globalAlpha" VkDisplaySurfaceCreateInfoKHR =+             #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha}+        type FieldIsArray "globalAlpha" VkDisplaySurfaceCreateInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode})++        {-# INLINE vkAlphaModeByteOffset #-}+        vkAlphaModeByteOffset ~_+          = #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode}++        {-# INLINE readVkAlphaMode #-}+        readVkAlphaMode p+          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode}++        {-# INLINE writeVkAlphaMode #-}+        writeVkAlphaMode p+          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode}++instance {-# OVERLAPPING #-}+         HasField "alphaMode" VkDisplaySurfaceCreateInfoKHR where+        type FieldType "alphaMode" VkDisplaySurfaceCreateInfoKHR =+             VkDisplayPlaneAlphaFlagBitsKHR+        type FieldOptional "alphaMode" VkDisplaySurfaceCreateInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "alphaMode" VkDisplaySurfaceCreateInfoKHR =+             #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode}+        type FieldIsArray "alphaMode" VkDisplaySurfaceCreateInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent})++        {-# INLINE vkImageExtentByteOffset #-}+        vkImageExtentByteOffset ~_+          = #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent}++        {-# INLINE readVkImageExtent #-}+        readVkImageExtent p+          = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent}++        {-# INLINE writeVkImageExtent #-}+        writeVkImageExtent p+          = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent}++instance {-# OVERLAPPING #-}+         HasField "imageExtent" VkDisplaySurfaceCreateInfoKHR where+        type FieldType "imageExtent" VkDisplaySurfaceCreateInfoKHR =+             VkExtent2D+        type FieldOptional "imageExtent" VkDisplaySurfaceCreateInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "imageExtent" VkDisplaySurfaceCreateInfoKHR =+             #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent}+        type FieldIsArray "imageExtent" VkDisplaySurfaceCreateInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent}++instance CanReadField "imageExtent" VkDisplaySurfaceCreateInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkImageExtent++        {-# INLINE readField #-}+        readField = readVkImageExtent++instance CanWriteField "imageExtent" VkDisplaySurfaceCreateInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkImageExtent++instance Show VkDisplaySurfaceCreateInfoKHR where+        showsPrec d x+          = showString "VkDisplaySurfaceCreateInfoKHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFlags = " .+                            showsPrec d (vkFlags x) .+                              showString ", " .+                                showString "vkDisplayMode = " .+                                  showsPrec d (vkDisplayMode x) .+                                    showString ", " .+                                      showString "vkPlaneIndex = " .+                                        showsPrec d (vkPlaneIndex x) .+                                          showString ", " .+                                            showString "vkPlaneStackIndex = " .+                                              showsPrec d (vkPlaneStackIndex x) .+                                                showString ", " .+                                                  showString "vkTransform = " .+                                                    showsPrec d (vkTransform x) .+                                                      showString ", " .+                                                        showString "vkGlobalAlpha = " .+                                                          showsPrec d (vkGlobalAlpha x) .+                                                            showString ", " .+                                                              showString "vkAlphaMode = " .+                                                                showsPrec d (vkAlphaMode x) .+                                                                  showString ", " .+                                                                    showString "vkImageExtent = " .+                                                                      showsPrec d (vkImageExtent x)+                                                                        . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDrawIndexedIndirectCommand.hsc view
@@ -0,0 +1,353 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDrawIndexedIndirectCommand+       (VkDrawIndexedIndirectCommand(..)) where+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)++-- | > typedef struct VkDrawIndexedIndirectCommand {+--   >     uint32_t               indexCount;+--   >     uint32_t               instanceCount;+--   >     uint32_t               firstIndex;+--   >     int32_t                vertexOffset;+--   >     uint32_t               firstInstance;+--   > } VkDrawIndexedIndirectCommand;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDrawIndexedIndirectCommand.html VkDrawIndexedIndirectCommand registry at www.khronos.org>+data VkDrawIndexedIndirectCommand = VkDrawIndexedIndirectCommand## Addr##+                                                                  ByteArray##++instance Eq VkDrawIndexedIndirectCommand where+        (VkDrawIndexedIndirectCommand## a _) ==+          x@(VkDrawIndexedIndirectCommand## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDrawIndexedIndirectCommand where+        (VkDrawIndexedIndirectCommand## a _) `compare`+          x@(VkDrawIndexedIndirectCommand## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDrawIndexedIndirectCommand where+        sizeOf ~_ = #{size VkDrawIndexedIndirectCommand}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkDrawIndexedIndirectCommand}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDrawIndexedIndirectCommand where+        unsafeAddr (VkDrawIndexedIndirectCommand## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDrawIndexedIndirectCommand## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDrawIndexedIndirectCommand##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDrawIndexedIndirectCommand where+        type StructFields VkDrawIndexedIndirectCommand =+             '["indexCount", "instanceCount", "firstIndex", "vertexOffset", -- ' closing tick for hsc2hs+               "firstInstance"]+        type CUnionType VkDrawIndexedIndirectCommand = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkDrawIndexedIndirectCommand = 'False -- ' closing tick for hsc2hs+        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 =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "indexCount" VkDrawIndexedIndirectCommand =+             #{offset VkDrawIndexedIndirectCommand, indexCount}+        type FieldIsArray "indexCount" VkDrawIndexedIndirectCommand =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, instanceCount})++        {-# INLINE vkInstanceCountByteOffset #-}+        vkInstanceCountByteOffset ~_+          = #{offset VkDrawIndexedIndirectCommand, instanceCount}++        {-# INLINE readVkInstanceCount #-}+        readVkInstanceCount p+          = peekByteOff p #{offset VkDrawIndexedIndirectCommand, instanceCount}++        {-# INLINE writeVkInstanceCount #-}+        writeVkInstanceCount p+          = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, instanceCount}++instance {-# OVERLAPPING #-}+         HasField "instanceCount" VkDrawIndexedIndirectCommand where+        type FieldType "instanceCount" VkDrawIndexedIndirectCommand =+             Word32+        type FieldOptional "instanceCount" VkDrawIndexedIndirectCommand =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "instanceCount" VkDrawIndexedIndirectCommand =+             #{offset VkDrawIndexedIndirectCommand, instanceCount}+        type FieldIsArray "instanceCount" VkDrawIndexedIndirectCommand =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, firstIndex})++        {-# INLINE vkFirstIndexByteOffset #-}+        vkFirstIndexByteOffset ~_+          = #{offset VkDrawIndexedIndirectCommand, firstIndex}++        {-# INLINE readVkFirstIndex #-}+        readVkFirstIndex p+          = peekByteOff p #{offset VkDrawIndexedIndirectCommand, firstIndex}++        {-# INLINE writeVkFirstIndex #-}+        writeVkFirstIndex p+          = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, firstIndex}++instance {-# OVERLAPPING #-}+         HasField "firstIndex" VkDrawIndexedIndirectCommand where+        type FieldType "firstIndex" VkDrawIndexedIndirectCommand = Word32+        type FieldOptional "firstIndex" VkDrawIndexedIndirectCommand =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "firstIndex" VkDrawIndexedIndirectCommand =+             #{offset VkDrawIndexedIndirectCommand, firstIndex}+        type FieldIsArray "firstIndex" VkDrawIndexedIndirectCommand =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, vertexOffset})++        {-# INLINE vkVertexOffsetByteOffset #-}+        vkVertexOffsetByteOffset ~_+          = #{offset VkDrawIndexedIndirectCommand, vertexOffset}++        {-# INLINE readVkVertexOffset #-}+        readVkVertexOffset p+          = peekByteOff p #{offset VkDrawIndexedIndirectCommand, vertexOffset}++        {-# INLINE writeVkVertexOffset #-}+        writeVkVertexOffset p+          = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, vertexOffset}++instance {-# OVERLAPPING #-}+         HasField "vertexOffset" VkDrawIndexedIndirectCommand where+        type FieldType "vertexOffset" VkDrawIndexedIndirectCommand = Int32+        type FieldOptional "vertexOffset" VkDrawIndexedIndirectCommand =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "vertexOffset" VkDrawIndexedIndirectCommand =+             #{offset VkDrawIndexedIndirectCommand, vertexOffset}+        type FieldIsArray "vertexOffset" VkDrawIndexedIndirectCommand =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, firstInstance})++        {-# INLINE vkFirstInstanceByteOffset #-}+        vkFirstInstanceByteOffset ~_+          = #{offset VkDrawIndexedIndirectCommand, firstInstance}++        {-# INLINE readVkFirstInstance #-}+        readVkFirstInstance p+          = peekByteOff p #{offset VkDrawIndexedIndirectCommand, firstInstance}++        {-# INLINE writeVkFirstInstance #-}+        writeVkFirstInstance p+          = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, firstInstance}++instance {-# OVERLAPPING #-}+         HasField "firstInstance" VkDrawIndexedIndirectCommand where+        type FieldType "firstInstance" VkDrawIndexedIndirectCommand =+             Word32+        type FieldOptional "firstInstance" VkDrawIndexedIndirectCommand =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "firstInstance" VkDrawIndexedIndirectCommand =+             #{offset VkDrawIndexedIndirectCommand, firstInstance}+        type FieldIsArray "firstInstance" VkDrawIndexedIndirectCommand =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDrawIndexedIndirectCommand, firstInstance}++instance CanReadField "firstInstance" VkDrawIndexedIndirectCommand+         where+        {-# INLINE getField #-}+        getField = vkFirstInstance++        {-# INLINE readField #-}+        readField = readVkFirstInstance++instance CanWriteField "firstInstance" VkDrawIndexedIndirectCommand+         where+        {-# INLINE writeField #-}+        writeField = writeVkFirstInstance++instance Show VkDrawIndexedIndirectCommand where+        showsPrec d x+          = showString "VkDrawIndexedIndirectCommand {" .+              showString "vkIndexCount = " .+                showsPrec d (vkIndexCount x) .+                  showString ", " .+                    showString "vkInstanceCount = " .+                      showsPrec d (vkInstanceCount x) .+                        showString ", " .+                          showString "vkFirstIndex = " .+                            showsPrec d (vkFirstIndex x) .+                              showString ", " .+                                showString "vkVertexOffset = " .+                                  showsPrec d (vkVertexOffset x) .+                                    showString ", " .+                                      showString "vkFirstInstance = " .+                                        showsPrec d (vkFirstInstance x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkDrawIndirectCommand.hsc view
@@ -0,0 +1,275 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkDrawIndirectCommand+       (VkDrawIndirectCommand(..)) where+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)++-- | > typedef struct VkDrawIndirectCommand {+--   >     uint32_t               vertexCount;+--   >     uint32_t               instanceCount;+--   >     uint32_t               firstVertex;+--   >     uint32_t               firstInstance;+--   > } VkDrawIndirectCommand;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkDrawIndirectCommand.html VkDrawIndirectCommand registry at www.khronos.org>+data VkDrawIndirectCommand = VkDrawIndirectCommand## Addr##+                                                    ByteArray##++instance Eq VkDrawIndirectCommand where+        (VkDrawIndirectCommand## a _) == x@(VkDrawIndirectCommand## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkDrawIndirectCommand where+        (VkDrawIndirectCommand## a _) `compare`+          x@(VkDrawIndirectCommand## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkDrawIndirectCommand where+        sizeOf ~_ = #{size VkDrawIndirectCommand}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkDrawIndirectCommand}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkDrawIndirectCommand where+        unsafeAddr (VkDrawIndirectCommand## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkDrawIndirectCommand## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkDrawIndirectCommand## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDrawIndirectCommand where+        type StructFields VkDrawIndirectCommand =+             '["vertexCount", "instanceCount", "firstVertex", "firstInstance"] -- ' closing tick for hsc2hs+        type CUnionType VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "vertexCount" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs+        type FieldOffset "vertexCount" VkDrawIndirectCommand =+             #{offset VkDrawIndirectCommand, vertexCount}+        type FieldIsArray "vertexCount" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDrawIndirectCommand, instanceCount})++        {-# INLINE vkInstanceCountByteOffset #-}+        vkInstanceCountByteOffset ~_+          = #{offset VkDrawIndirectCommand, instanceCount}++        {-# INLINE readVkInstanceCount #-}+        readVkInstanceCount p+          = peekByteOff p #{offset VkDrawIndirectCommand, instanceCount}++        {-# INLINE writeVkInstanceCount #-}+        writeVkInstanceCount p+          = pokeByteOff p #{offset VkDrawIndirectCommand, instanceCount}++instance {-# OVERLAPPING #-}+         HasField "instanceCount" VkDrawIndirectCommand where+        type FieldType "instanceCount" VkDrawIndirectCommand = Word32+        type FieldOptional "instanceCount" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs+        type FieldOffset "instanceCount" VkDrawIndirectCommand =+             #{offset VkDrawIndirectCommand, instanceCount}+        type FieldIsArray "instanceCount" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDrawIndirectCommand, instanceCount}++instance CanReadField "instanceCount" VkDrawIndirectCommand where+        {-# INLINE getField #-}+        getField = vkInstanceCount++        {-# INLINE readField #-}+        readField = readVkInstanceCount++instance 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}++instance {-# OVERLAPPING #-}+         HasField "firstVertex" VkDrawIndirectCommand where+        type FieldType "firstVertex" VkDrawIndirectCommand = Word32+        type FieldOptional "firstVertex" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs+        type FieldOffset "firstVertex" VkDrawIndirectCommand =+             #{offset VkDrawIndirectCommand, firstVertex}+        type FieldIsArray "firstVertex" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkDrawIndirectCommand, firstInstance})++        {-# INLINE vkFirstInstanceByteOffset #-}+        vkFirstInstanceByteOffset ~_+          = #{offset VkDrawIndirectCommand, firstInstance}++        {-# INLINE readVkFirstInstance #-}+        readVkFirstInstance p+          = peekByteOff p #{offset VkDrawIndirectCommand, firstInstance}++        {-# INLINE writeVkFirstInstance #-}+        writeVkFirstInstance p+          = pokeByteOff p #{offset VkDrawIndirectCommand, firstInstance}++instance {-# OVERLAPPING #-}+         HasField "firstInstance" VkDrawIndirectCommand where+        type FieldType "firstInstance" VkDrawIndirectCommand = Word32+        type FieldOptional "firstInstance" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs+        type FieldOffset "firstInstance" VkDrawIndirectCommand =+             #{offset VkDrawIndirectCommand, firstInstance}+        type FieldIsArray "firstInstance" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkDrawIndirectCommand, firstInstance}++instance CanReadField "firstInstance" VkDrawIndirectCommand where+        {-# INLINE getField #-}+        getField = vkFirstInstance++        {-# INLINE readField #-}+        readField = readVkFirstInstance++instance CanWriteField "firstInstance" VkDrawIndirectCommand where+        {-# INLINE writeField #-}+        writeField = writeVkFirstInstance++instance Show VkDrawIndirectCommand where+        showsPrec d x+          = showString "VkDrawIndirectCommand {" .+              showString "vkVertexCount = " .+                showsPrec d (vkVertexCount x) .+                  showString ", " .+                    showString "vkInstanceCount = " .+                      showsPrec d (vkInstanceCount x) .+                        showString ", " .+                          showString "vkFirstVertex = " .+                            showsPrec d (vkFirstVertex x) .+                              showString ", " .+                                showString "vkFirstInstance = " .+                                  showsPrec d (vkFirstInstance x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkEventCreateInfo.hsc view
@@ -0,0 +1,217 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkEventCreateInfo+       (VkEventCreateInfo(..)) where+import           Foreign.Storable                           (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+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 {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkEventCreateFlags     flags;+--   > } VkEventCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkEventCreateInfo.html VkEventCreateInfo registry at www.khronos.org>+data VkEventCreateInfo = VkEventCreateInfo## Addr## ByteArray##++instance Eq VkEventCreateInfo where+        (VkEventCreateInfo## a _) == x@(VkEventCreateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkEventCreateInfo where+        (VkEventCreateInfo## a _) `compare` x@(VkEventCreateInfo## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkEventCreateInfo where+        sizeOf ~_ = #{size VkEventCreateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkEventCreateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkEventCreateInfo where+        unsafeAddr (VkEventCreateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkEventCreateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkEventCreateInfo## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkEventCreateInfo where+        type StructFields VkEventCreateInfo = '["sType", "pNext", "flags"] -- ' closing tick for hsc2hs+        type CUnionType VkEventCreateInfo = 'False -- ' closing tick for hsc2hs+        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+        type FieldOptional "sType" VkEventCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkEventCreateInfo =+             #{offset VkEventCreateInfo, sType}+        type FieldIsArray "sType" VkEventCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkEventCreateInfo, sType}++instance CanReadField "sType" VkEventCreateInfo where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance 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}++instance {-# OVERLAPPING #-} HasField "pNext" VkEventCreateInfo+         where+        type FieldType "pNext" VkEventCreateInfo = Ptr Void+        type FieldOptional "pNext" VkEventCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkEventCreateInfo =+             #{offset VkEventCreateInfo, pNext}+        type FieldIsArray "pNext" VkEventCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkEventCreateInfo, pNext}++instance CanReadField "pNext" VkEventCreateInfo where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance 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}++instance {-# OVERLAPPING #-} HasField "flags" VkEventCreateInfo+         where+        type FieldType "flags" VkEventCreateInfo = VkEventCreateFlags+        type FieldOptional "flags" VkEventCreateInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkEventCreateInfo =+             #{offset VkEventCreateInfo, flags}+        type FieldIsArray "flags" VkEventCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkEventCreateInfo, flags}++instance CanReadField "flags" VkEventCreateInfo where+        {-# INLINE getField #-}+        getField = vkFlags++        {-# INLINE readField #-}+        readField = readVkFlags++instance CanWriteField "flags" VkEventCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkFlags++instance Show VkEventCreateInfo where+        showsPrec d x+          = showString "VkEventCreateInfo {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFlags = " . showsPrec d (vkFlags x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExportFenceCreateInfoKHR.hsc view
@@ -0,0 +1,235 @@+#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
@@ -0,0 +1,347 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkExportFenceWin32HandleInfoKHR+       (VkExportFenceWin32HandleInfoKHR(..)) 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.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 {+--   >     VkStructureType sType;+--   >     const void*                                pNext;+--   >     const SECURITY_ATTRIBUTES* pAttributes;+--   >     DWORD                                      dwAccess;+--   >     LPCWSTR                                    name;+--   > } VkExportFenceWin32HandleInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExportFenceWin32HandleInfoKHR.html VkExportFenceWin32HandleInfoKHR registry at www.khronos.org>+data VkExportFenceWin32HandleInfoKHR = VkExportFenceWin32HandleInfoKHR## Addr##+                                                                        ByteArray##++instance Eq VkExportFenceWin32HandleInfoKHR where+        (VkExportFenceWin32HandleInfoKHR## a _) ==+          x@(VkExportFenceWin32HandleInfoKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkExportFenceWin32HandleInfoKHR where+        (VkExportFenceWin32HandleInfoKHR## a _) `compare`+          x@(VkExportFenceWin32HandleInfoKHR## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkExportFenceWin32HandleInfoKHR where+        sizeOf ~_ = #{size VkExportFenceWin32HandleInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkExportFenceWin32HandleInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkExportFenceWin32HandleInfoKHR where+        unsafeAddr (VkExportFenceWin32HandleInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkExportFenceWin32HandleInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkExportFenceWin32HandleInfoKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExportFenceWin32HandleInfoKHR where+        type StructFields VkExportFenceWin32HandleInfoKHR =+             '["sType", "pNext", "pAttributes", "dwAccess", "name"] -- ' closing tick for hsc2hs+        type CUnionType VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type StructExtends VkExportFenceWin32HandleInfoKHR =+             '[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+        type FieldOptional "sType" VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkExportFenceWin32HandleInfoKHR =+             #{offset VkExportFenceWin32HandleInfoKHR, sType}+        type FieldIsArray "sType" VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkExportFenceWin32HandleInfoKHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkExportFenceWin32HandleInfoKHR where+        type FieldType "pNext" VkExportFenceWin32HandleInfoKHR = Ptr Void+        type FieldOptional "pNext" VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkExportFenceWin32HandleInfoKHR =+             #{offset VkExportFenceWin32HandleInfoKHR, pNext}+        type FieldIsArray "pNext" VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, pAttributes})++        {-# INLINE vkPAttributesByteOffset #-}+        vkPAttributesByteOffset ~_+          = #{offset VkExportFenceWin32HandleInfoKHR, pAttributes}++        {-# INLINE readVkPAttributes #-}+        readVkPAttributes p+          = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, pAttributes}++        {-# INLINE writeVkPAttributes #-}+        writeVkPAttributes p+          = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, pAttributes}++instance {-# OVERLAPPING #-}+         HasField "pAttributes" VkExportFenceWin32HandleInfoKHR where+        type FieldType "pAttributes" VkExportFenceWin32HandleInfoKHR =+             Ptr SECURITY_ATTRIBUTES+        type FieldOptional "pAttributes" VkExportFenceWin32HandleInfoKHR =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "pAttributes" VkExportFenceWin32HandleInfoKHR =+             #{offset VkExportFenceWin32HandleInfoKHR, pAttributes}+        type FieldIsArray "pAttributes" VkExportFenceWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, dwAccess})++        {-# INLINE vkDwAccessByteOffset #-}+        vkDwAccessByteOffset ~_+          = #{offset VkExportFenceWin32HandleInfoKHR, dwAccess}++        {-# INLINE readVkDwAccess #-}+        readVkDwAccess p+          = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, dwAccess}++        {-# INLINE writeVkDwAccess #-}+        writeVkDwAccess p+          = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, dwAccess}++instance {-# OVERLAPPING #-}+         HasField "dwAccess" VkExportFenceWin32HandleInfoKHR where+        type FieldType "dwAccess" VkExportFenceWin32HandleInfoKHR = DWORD+        type FieldOptional "dwAccess" VkExportFenceWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "dwAccess" VkExportFenceWin32HandleInfoKHR =+             #{offset VkExportFenceWin32HandleInfoKHR, dwAccess}+        type FieldIsArray "dwAccess" VkExportFenceWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, name})++        {-# INLINE vkNameByteOffset #-}+        vkNameByteOffset ~_+          = #{offset VkExportFenceWin32HandleInfoKHR, name}++        {-# INLINE readVkName #-}+        readVkName p+          = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, name}++        {-# INLINE writeVkName #-}+        writeVkName p+          = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, name}++instance {-# OVERLAPPING #-}+         HasField "name" VkExportFenceWin32HandleInfoKHR where+        type FieldType "name" VkExportFenceWin32HandleInfoKHR = LPCWSTR+        type FieldOptional "name" VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "name" VkExportFenceWin32HandleInfoKHR =+             #{offset VkExportFenceWin32HandleInfoKHR, name}+        type FieldIsArray "name" VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExportFenceWin32HandleInfoKHR, name}++instance CanReadField "name" VkExportFenceWin32HandleInfoKHR where+        {-# INLINE getField #-}+        getField = vkName++        {-# INLINE readField #-}+        readField = readVkName++instance CanWriteField "name" VkExportFenceWin32HandleInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkName++instance Show VkExportFenceWin32HandleInfoKHR where+        showsPrec d x+          = showString "VkExportFenceWin32HandleInfoKHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkPAttributes = " .+                            showsPrec d (vkPAttributes x) .+                              showString ", " .+                                showString "vkDwAccess = " .+                                  showsPrec d (vkDwAccess x) .+                                    showString ", " .+                                      showString "vkName = " . showsPrec d (vkName x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExportMemoryAllocateInfoKHR.hsc view
@@ -0,0 +1,239 @@+#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
@@ -0,0 +1,239 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkExportMemoryAllocateInfoNV+       (VkExportMemoryAllocateInfoNV(..)) where+import           Foreign.Storable                                             (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+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 {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkExternalMemoryHandleTypeFlagsNV handleTypes;+--   > } VkExportMemoryAllocateInfoNV;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExportMemoryAllocateInfoNV.html VkExportMemoryAllocateInfoNV registry at www.khronos.org>+data VkExportMemoryAllocateInfoNV = VkExportMemoryAllocateInfoNV## Addr##+                                                                  ByteArray##++instance Eq VkExportMemoryAllocateInfoNV where+        (VkExportMemoryAllocateInfoNV## a _) ==+          x@(VkExportMemoryAllocateInfoNV## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkExportMemoryAllocateInfoNV where+        (VkExportMemoryAllocateInfoNV## a _) `compare`+          x@(VkExportMemoryAllocateInfoNV## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkExportMemoryAllocateInfoNV where+        sizeOf ~_ = #{size VkExportMemoryAllocateInfoNV}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkExportMemoryAllocateInfoNV}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkExportMemoryAllocateInfoNV where+        unsafeAddr (VkExportMemoryAllocateInfoNV## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkExportMemoryAllocateInfoNV## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkExportMemoryAllocateInfoNV##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExportMemoryAllocateInfoNV where+        type StructFields VkExportMemoryAllocateInfoNV =+             '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs+        type CUnionType VkExportMemoryAllocateInfoNV = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkExportMemoryAllocateInfoNV = 'False -- ' closing tick for hsc2hs+        type StructExtends VkExportMemoryAllocateInfoNV =+             '[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+        type FieldOptional "sType" VkExportMemoryAllocateInfoNV = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkExportMemoryAllocateInfoNV =+             #{offset VkExportMemoryAllocateInfoNV, sType}+        type FieldIsArray "sType" VkExportMemoryAllocateInfoNV = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfoNV, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkExportMemoryAllocateInfoNV, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkExportMemoryAllocateInfoNV, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkExportMemoryAllocateInfoNV, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkExportMemoryAllocateInfoNV where+        type FieldType "pNext" VkExportMemoryAllocateInfoNV = Ptr Void+        type FieldOptional "pNext" VkExportMemoryAllocateInfoNV = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkExportMemoryAllocateInfoNV =+             #{offset VkExportMemoryAllocateInfoNV, pNext}+        type FieldIsArray "pNext" VkExportMemoryAllocateInfoNV = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfoNV, handleTypes})++        {-# INLINE vkHandleTypesByteOffset #-}+        vkHandleTypesByteOffset ~_+          = #{offset VkExportMemoryAllocateInfoNV, handleTypes}++        {-# INLINE readVkHandleTypes #-}+        readVkHandleTypes p+          = peekByteOff p #{offset VkExportMemoryAllocateInfoNV, handleTypes}++        {-# INLINE writeVkHandleTypes #-}+        writeVkHandleTypes p+          = pokeByteOff p #{offset VkExportMemoryAllocateInfoNV, handleTypes}++instance {-# OVERLAPPING #-}+         HasField "handleTypes" VkExportMemoryAllocateInfoNV where+        type FieldType "handleTypes" VkExportMemoryAllocateInfoNV =+             VkExternalMemoryHandleTypeFlagsNV+        type FieldOptional "handleTypes" VkExportMemoryAllocateInfoNV =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "handleTypes" VkExportMemoryAllocateInfoNV =+             #{offset VkExportMemoryAllocateInfoNV, handleTypes}+        type FieldIsArray "handleTypes" VkExportMemoryAllocateInfoNV =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExportMemoryAllocateInfoNV, handleTypes}++instance CanReadField "handleTypes" VkExportMemoryAllocateInfoNV+         where+        {-# INLINE getField #-}+        getField = vkHandleTypes++        {-# INLINE readField #-}+        readField = readVkHandleTypes++instance CanWriteField "handleTypes" VkExportMemoryAllocateInfoNV+         where+        {-# INLINE writeField #-}+        writeField = writeVkHandleTypes++instance Show VkExportMemoryAllocateInfoNV where+        showsPrec d x+          = showString "VkExportMemoryAllocateInfoNV {" .+              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/VkExportMemoryWin32HandleInfoKHR.hsc view
@@ -0,0 +1,357 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkExportMemoryWin32HandleInfoKHR+       (VkExportMemoryWin32HandleInfoKHR(..)) 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.Include                     (DWORD,+                                                                    LPCWSTR,+                                                                    SECURITY_ATTRIBUTES)+import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo (VkMemoryAllocateInfo)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                  (unsafeDupablePerformIO)++-- | > typedef struct VkExportMemoryWin32HandleInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     const SECURITY_ATTRIBUTES* pAttributes;+--   >     DWORD                            dwAccess;+--   >     LPCWSTR                          name;+--   > } VkExportMemoryWin32HandleInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExportMemoryWin32HandleInfoKHR.html VkExportMemoryWin32HandleInfoKHR registry at www.khronos.org>+data VkExportMemoryWin32HandleInfoKHR = VkExportMemoryWin32HandleInfoKHR## Addr##+                                                                          ByteArray##++instance Eq VkExportMemoryWin32HandleInfoKHR where+        (VkExportMemoryWin32HandleInfoKHR## a _) ==+          x@(VkExportMemoryWin32HandleInfoKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkExportMemoryWin32HandleInfoKHR where+        (VkExportMemoryWin32HandleInfoKHR## a _) `compare`+          x@(VkExportMemoryWin32HandleInfoKHR## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkExportMemoryWin32HandleInfoKHR where+        sizeOf ~_ = #{size VkExportMemoryWin32HandleInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkExportMemoryWin32HandleInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkExportMemoryWin32HandleInfoKHR where+        unsafeAddr (VkExportMemoryWin32HandleInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkExportMemoryWin32HandleInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkExportMemoryWin32HandleInfoKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExportMemoryWin32HandleInfoKHR where+        type StructFields VkExportMemoryWin32HandleInfoKHR =+             '["sType", "pNext", "pAttributes", "dwAccess", "name"] -- ' closing tick for hsc2hs+        type CUnionType VkExportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkExportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type StructExtends VkExportMemoryWin32HandleInfoKHR =+             '[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+        type FieldOptional "sType" VkExportMemoryWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkExportMemoryWin32HandleInfoKHR =+             #{offset VkExportMemoryWin32HandleInfoKHR, sType}+        type FieldIsArray "sType" VkExportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkExportMemoryWin32HandleInfoKHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkExportMemoryWin32HandleInfoKHR where+        type FieldType "pNext" VkExportMemoryWin32HandleInfoKHR = Ptr Void+        type FieldOptional "pNext" VkExportMemoryWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkExportMemoryWin32HandleInfoKHR =+             #{offset VkExportMemoryWin32HandleInfoKHR, pNext}+        type FieldIsArray "pNext" VkExportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes})++        {-# INLINE vkPAttributesByteOffset #-}+        vkPAttributesByteOffset ~_+          = #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes}++        {-# INLINE readVkPAttributes #-}+        readVkPAttributes p+          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes}++        {-# INLINE writeVkPAttributes #-}+        writeVkPAttributes p+          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes}++instance {-# OVERLAPPING #-}+         HasField "pAttributes" VkExportMemoryWin32HandleInfoKHR where+        type FieldType "pAttributes" VkExportMemoryWin32HandleInfoKHR =+             Ptr SECURITY_ATTRIBUTES+        type FieldOptional "pAttributes" VkExportMemoryWin32HandleInfoKHR =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "pAttributes" VkExportMemoryWin32HandleInfoKHR =+             #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes}+        type FieldIsArray "pAttributes" VkExportMemoryWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess})++        {-# INLINE vkDwAccessByteOffset #-}+        vkDwAccessByteOffset ~_+          = #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess}++        {-# INLINE readVkDwAccess #-}+        readVkDwAccess p+          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess}++        {-# INLINE writeVkDwAccess #-}+        writeVkDwAccess p+          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess}++instance {-# OVERLAPPING #-}+         HasField "dwAccess" VkExportMemoryWin32HandleInfoKHR where+        type FieldType "dwAccess" VkExportMemoryWin32HandleInfoKHR = DWORD+        type FieldOptional "dwAccess" VkExportMemoryWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "dwAccess" VkExportMemoryWin32HandleInfoKHR =+             #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess}+        type FieldIsArray "dwAccess" VkExportMemoryWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, name})++        {-# INLINE vkNameByteOffset #-}+        vkNameByteOffset ~_+          = #{offset VkExportMemoryWin32HandleInfoKHR, name}++        {-# INLINE readVkName #-}+        readVkName p+          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, name}++        {-# INLINE writeVkName #-}+        writeVkName p+          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, name}++instance {-# OVERLAPPING #-}+         HasField "name" VkExportMemoryWin32HandleInfoKHR where+        type FieldType "name" VkExportMemoryWin32HandleInfoKHR = LPCWSTR+        type FieldOptional "name" VkExportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "name" VkExportMemoryWin32HandleInfoKHR =+             #{offset VkExportMemoryWin32HandleInfoKHR, name}+        type FieldIsArray "name" VkExportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExportMemoryWin32HandleInfoKHR, name}++instance CanReadField "name" VkExportMemoryWin32HandleInfoKHR where+        {-# INLINE getField #-}+        getField = vkName++        {-# INLINE readField #-}+        readField = readVkName++instance CanWriteField "name" VkExportMemoryWin32HandleInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkName++instance Show VkExportMemoryWin32HandleInfoKHR where+        showsPrec d x+          = showString "VkExportMemoryWin32HandleInfoKHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkPAttributes = " .+                            showsPrec d (vkPAttributes x) .+                              showString ", " .+                                showString "vkDwAccess = " .+                                  showsPrec d (vkDwAccess x) .+                                    showString ", " .+                                      showString "vkName = " . showsPrec d (vkName x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExportMemoryWin32HandleInfoNV.hsc view
@@ -0,0 +1,297 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkExportMemoryWin32HandleInfoNV+       (VkExportMemoryWin32HandleInfoNV(..)) 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.Include                     (DWORD, SECURITY_ATTRIBUTES)+import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo (VkMemoryAllocateInfo)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                  (unsafeDupablePerformIO)++-- | > typedef struct VkExportMemoryWin32HandleInfoNV {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     const SECURITY_ATTRIBUTES*       pAttributes;+--   >     DWORD                            dwAccess;+--   > } VkExportMemoryWin32HandleInfoNV;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExportMemoryWin32HandleInfoNV.html VkExportMemoryWin32HandleInfoNV registry at www.khronos.org>+data VkExportMemoryWin32HandleInfoNV = VkExportMemoryWin32HandleInfoNV## Addr##+                                                                        ByteArray##++instance Eq VkExportMemoryWin32HandleInfoNV where+        (VkExportMemoryWin32HandleInfoNV## a _) ==+          x@(VkExportMemoryWin32HandleInfoNV## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkExportMemoryWin32HandleInfoNV where+        (VkExportMemoryWin32HandleInfoNV## a _) `compare`+          x@(VkExportMemoryWin32HandleInfoNV## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkExportMemoryWin32HandleInfoNV where+        sizeOf ~_ = #{size VkExportMemoryWin32HandleInfoNV}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkExportMemoryWin32HandleInfoNV}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkExportMemoryWin32HandleInfoNV where+        unsafeAddr (VkExportMemoryWin32HandleInfoNV## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkExportMemoryWin32HandleInfoNV## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkExportMemoryWin32HandleInfoNV##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExportMemoryWin32HandleInfoNV where+        type StructFields VkExportMemoryWin32HandleInfoNV =+             '["sType", "pNext", "pAttributes", "dwAccess"] -- ' closing tick for hsc2hs+        type CUnionType VkExportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkExportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs+        type StructExtends VkExportMemoryWin32HandleInfoNV =+             '[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+        type FieldOptional "sType" VkExportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkExportMemoryWin32HandleInfoNV =+             #{offset VkExportMemoryWin32HandleInfoNV, sType}+        type FieldIsArray "sType" VkExportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoNV, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkExportMemoryWin32HandleInfoNV, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoNV, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoNV, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkExportMemoryWin32HandleInfoNV where+        type FieldType "pNext" VkExportMemoryWin32HandleInfoNV = Ptr Void+        type FieldOptional "pNext" VkExportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkExportMemoryWin32HandleInfoNV =+             #{offset VkExportMemoryWin32HandleInfoNV, pNext}+        type FieldIsArray "pNext" VkExportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoNV, pAttributes})++        {-# INLINE vkPAttributesByteOffset #-}+        vkPAttributesByteOffset ~_+          = #{offset VkExportMemoryWin32HandleInfoNV, pAttributes}++        {-# INLINE readVkPAttributes #-}+        readVkPAttributes p+          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoNV, pAttributes}++        {-# INLINE writeVkPAttributes #-}+        writeVkPAttributes p+          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoNV, pAttributes}++instance {-# OVERLAPPING #-}+         HasField "pAttributes" VkExportMemoryWin32HandleInfoNV where+        type FieldType "pAttributes" VkExportMemoryWin32HandleInfoNV =+             Ptr SECURITY_ATTRIBUTES+        type FieldOptional "pAttributes" VkExportMemoryWin32HandleInfoNV =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "pAttributes" VkExportMemoryWin32HandleInfoNV =+             #{offset VkExportMemoryWin32HandleInfoNV, pAttributes}+        type FieldIsArray "pAttributes" VkExportMemoryWin32HandleInfoNV =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoNV, dwAccess})++        {-# INLINE vkDwAccessByteOffset #-}+        vkDwAccessByteOffset ~_+          = #{offset VkExportMemoryWin32HandleInfoNV, dwAccess}++        {-# INLINE readVkDwAccess #-}+        readVkDwAccess p+          = peekByteOff p #{offset VkExportMemoryWin32HandleInfoNV, dwAccess}++        {-# INLINE writeVkDwAccess #-}+        writeVkDwAccess p+          = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoNV, dwAccess}++instance {-# OVERLAPPING #-}+         HasField "dwAccess" VkExportMemoryWin32HandleInfoNV where+        type FieldType "dwAccess" VkExportMemoryWin32HandleInfoNV = DWORD+        type FieldOptional "dwAccess" VkExportMemoryWin32HandleInfoNV =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "dwAccess" VkExportMemoryWin32HandleInfoNV =+             #{offset VkExportMemoryWin32HandleInfoNV, dwAccess}+        type FieldIsArray "dwAccess" VkExportMemoryWin32HandleInfoNV =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExportMemoryWin32HandleInfoNV, dwAccess}++instance CanReadField "dwAccess" VkExportMemoryWin32HandleInfoNV+         where+        {-# INLINE getField #-}+        getField = vkDwAccess++        {-# INLINE readField #-}+        readField = readVkDwAccess++instance CanWriteField "dwAccess" VkExportMemoryWin32HandleInfoNV+         where+        {-# INLINE writeField #-}+        writeField = writeVkDwAccess++instance Show VkExportMemoryWin32HandleInfoNV where+        showsPrec d x+          = showString "VkExportMemoryWin32HandleInfoNV {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkPAttributes = " .+                            showsPrec d (vkPAttributes x) .+                              showString ", " .+                                showString "vkDwAccess = " .+                                  showsPrec d (vkDwAccess x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExportSemaphoreCreateInfoKHR.hsc view
@@ -0,0 +1,244 @@+#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
@@ -0,0 +1,369 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkExportSemaphoreWin32HandleInfoKHR+       (VkExportSemaphoreWin32HandleInfoKHR(..)) 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.Include                      (DWORD,+                                                                     LPCWSTR,+                                                                     SECURITY_ATTRIBUTES)+import           Graphics.Vulkan.Types.Struct.VkSemaphoreCreateInfo (VkSemaphoreCreateInfo)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                   (unsafeDupablePerformIO)++-- | > typedef struct VkExportSemaphoreWin32HandleInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     const SECURITY_ATTRIBUTES*       pAttributes;+--   >     DWORD                            dwAccess;+--   >     LPCWSTR                          name;+--   > } VkExportSemaphoreWin32HandleInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExportSemaphoreWin32HandleInfoKHR.html VkExportSemaphoreWin32HandleInfoKHR registry at www.khronos.org>+data VkExportSemaphoreWin32HandleInfoKHR = VkExportSemaphoreWin32HandleInfoKHR## Addr##+                                                                                ByteArray##++instance Eq VkExportSemaphoreWin32HandleInfoKHR where+        (VkExportSemaphoreWin32HandleInfoKHR## a _) ==+          x@(VkExportSemaphoreWin32HandleInfoKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkExportSemaphoreWin32HandleInfoKHR where+        (VkExportSemaphoreWin32HandleInfoKHR## a _) `compare`+          x@(VkExportSemaphoreWin32HandleInfoKHR## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkExportSemaphoreWin32HandleInfoKHR where+        sizeOf ~_ = #{size VkExportSemaphoreWin32HandleInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkExportSemaphoreWin32HandleInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkExportSemaphoreWin32HandleInfoKHR+         where+        unsafeAddr (VkExportSemaphoreWin32HandleInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkExportSemaphoreWin32HandleInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkExportSemaphoreWin32HandleInfoKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExportSemaphoreWin32HandleInfoKHR where+        type StructFields VkExportSemaphoreWin32HandleInfoKHR =+             '["sType", "pNext", "pAttributes", "dwAccess", "name"] -- ' closing tick for hsc2hs+        type CUnionType VkExportSemaphoreWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkExportSemaphoreWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type StructExtends VkExportSemaphoreWin32HandleInfoKHR =+             '[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+        type FieldOptional "sType" VkExportSemaphoreWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkExportSemaphoreWin32HandleInfoKHR =+             #{offset VkExportSemaphoreWin32HandleInfoKHR, sType}+        type FieldIsArray "sType" VkExportSemaphoreWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkExportSemaphoreWin32HandleInfoKHR where+        type FieldType "pNext" VkExportSemaphoreWin32HandleInfoKHR =+             Ptr Void+        type FieldOptional "pNext" VkExportSemaphoreWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkExportSemaphoreWin32HandleInfoKHR =+             #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext}+        type FieldIsArray "pNext" VkExportSemaphoreWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes})++        {-# INLINE vkPAttributesByteOffset #-}+        vkPAttributesByteOffset ~_+          = #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes}++        {-# INLINE readVkPAttributes #-}+        readVkPAttributes p+          = peekByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes}++        {-# INLINE writeVkPAttributes #-}+        writeVkPAttributes p+          = pokeByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes}++instance {-# OVERLAPPING #-}+         HasField "pAttributes" VkExportSemaphoreWin32HandleInfoKHR where+        type FieldType "pAttributes" VkExportSemaphoreWin32HandleInfoKHR =+             Ptr SECURITY_ATTRIBUTES+        type FieldOptional "pAttributes"+               VkExportSemaphoreWin32HandleInfoKHR+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "pAttributes" VkExportSemaphoreWin32HandleInfoKHR+             =+             #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes}+        type FieldIsArray "pAttributes" VkExportSemaphoreWin32HandleInfoKHR+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes}++instance CanReadField "pAttributes"+           VkExportSemaphoreWin32HandleInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkPAttributes++        {-# INLINE readField #-}+        readField = readVkPAttributes++instance 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}++instance {-# OVERLAPPING #-}+         HasField "dwAccess" VkExportSemaphoreWin32HandleInfoKHR where+        type FieldType "dwAccess" VkExportSemaphoreWin32HandleInfoKHR =+             DWORD+        type FieldOptional "dwAccess" VkExportSemaphoreWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "dwAccess" VkExportSemaphoreWin32HandleInfoKHR =+             #{offset VkExportSemaphoreWin32HandleInfoKHR, dwAccess}+        type FieldIsArray "dwAccess" VkExportSemaphoreWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreWin32HandleInfoKHR, name})++        {-# INLINE vkNameByteOffset #-}+        vkNameByteOffset ~_+          = #{offset VkExportSemaphoreWin32HandleInfoKHR, name}++        {-# INLINE readVkName #-}+        readVkName p+          = peekByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, name}++        {-# INLINE writeVkName #-}+        writeVkName p+          = pokeByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, name}++instance {-# OVERLAPPING #-}+         HasField "name" VkExportSemaphoreWin32HandleInfoKHR where+        type FieldType "name" VkExportSemaphoreWin32HandleInfoKHR = LPCWSTR+        type FieldOptional "name" VkExportSemaphoreWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "name" VkExportSemaphoreWin32HandleInfoKHR =+             #{offset VkExportSemaphoreWin32HandleInfoKHR, name}+        type FieldIsArray "name" VkExportSemaphoreWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExportSemaphoreWin32HandleInfoKHR, name}++instance CanReadField "name" VkExportSemaphoreWin32HandleInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkName++        {-# INLINE readField #-}+        readField = readVkName++instance CanWriteField "name" VkExportSemaphoreWin32HandleInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkName++instance Show VkExportSemaphoreWin32HandleInfoKHR where+        showsPrec d x+          = showString "VkExportSemaphoreWin32HandleInfoKHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkPAttributes = " .+                            showsPrec d (vkPAttributes x) .+                              showString ", " .+                                showString "vkDwAccess = " .+                                  showsPrec d (vkDwAccess x) .+                                    showString ", " .+                                      showString "vkName = " . showsPrec d (vkName x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExtensionProperties.hsc view
@@ -0,0 +1,205 @@+#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.VkExtensionProperties+       (VkExtensionProperties(..)) where+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           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.StructMembers+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>+data VkExtensionProperties = VkExtensionProperties## Addr##+                                                    ByteArray##++instance Eq VkExtensionProperties where+        (VkExtensionProperties## a _) == x@(VkExtensionProperties## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkExtensionProperties where+        (VkExtensionProperties## a _) `compare`+          x@(VkExtensionProperties## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkExtensionProperties where+        sizeOf ~_ = #{size VkExtensionProperties}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkExtensionProperties}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkExtensionProperties where+        unsafeAddr (VkExtensionProperties## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkExtensionProperties## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkExtensionProperties## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExtensionProperties where+        type StructFields VkExtensionProperties =+             '["extensionName", "specVersion"] -- ' closing tick for hsc2hs+        type CUnionType VkExtensionProperties = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkExtensionProperties = 'True -- ' closing tick for hsc2hs+        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+        type FieldOffset "extensionName" VkExtensionProperties =+             #{offset VkExtensionProperties, extensionName}+        type FieldIsArray "extensionName" VkExtensionProperties = 'True -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExtensionProperties, extensionName}++instance (KnownNat idx,+          IndexInBounds "extensionName" idx VkExtensionProperties) =>+         CanReadFieldArray "extensionName" idx VkExtensionProperties+         where+        {-# SPECIALISE instance+                       CanReadFieldArray "extensionName" 0 VkExtensionProperties #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "extensionName" 1 VkExtensionProperties #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "extensionName" 2 VkExtensionProperties #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "extensionName" 3 VkExtensionProperties #-}+        type FieldArrayLength "extensionName" VkExtensionProperties =+             VK_MAX_EXTENSION_NAME_SIZE++        {-# INLINE fieldArrayLength #-}+        fieldArrayLength = VK_MAX_EXTENSION_NAME_SIZE++        {-# INLINE getFieldArray #-}+        getFieldArray x+          = vkExtensionNameArray x+              (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++        {-# INLINE readFieldArray #-}+        readFieldArray x+          = readVkExtensionNameArray x+              (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSpecVersion VkExtensionProperties+         where+        type VkSpecVersionMType VkExtensionProperties = Word32++        {-# NOINLINE vkSpecVersion #-}+        vkSpecVersion x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExtensionProperties, specVersion})++        {-# INLINE vkSpecVersionByteOffset #-}+        vkSpecVersionByteOffset ~_+          = #{offset VkExtensionProperties, specVersion}++        {-# INLINE readVkSpecVersion #-}+        readVkSpecVersion p+          = peekByteOff p #{offset VkExtensionProperties, specVersion}++        {-# INLINE writeVkSpecVersion #-}+        writeVkSpecVersion p+          = pokeByteOff p #{offset VkExtensionProperties, specVersion}++instance {-# OVERLAPPING #-}+         HasField "specVersion" VkExtensionProperties where+        type FieldType "specVersion" VkExtensionProperties = Word32+        type FieldOptional "specVersion" VkExtensionProperties = 'False -- ' closing tick for hsc2hs+        type FieldOffset "specVersion" VkExtensionProperties =+             #{offset VkExtensionProperties, specVersion}+        type FieldIsArray "specVersion" VkExtensionProperties = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExtensionProperties, specVersion}++instance CanReadField "specVersion" VkExtensionProperties where+        {-# INLINE getField #-}+        getField = vkSpecVersion++        {-# INLINE readField #-}+        readField = readVkSpecVersion++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 '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExtent2D.hsc view
@@ -0,0 +1,162 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkExtent2D (VkExtent2D(..))+       where+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)++-- | > 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>+data VkExtent2D = VkExtent2D## Addr## ByteArray##++instance Eq VkExtent2D where+        (VkExtent2D## a _) == x@(VkExtent2D## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkExtent2D where+        (VkExtent2D## a _) `compare` x@(VkExtent2D## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkExtent2D where+        sizeOf ~_ = #{size VkExtent2D}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkExtent2D}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkExtent2D where+        unsafeAddr (VkExtent2D## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkExtent2D## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkExtent2D## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExtent2D where+        type StructFields VkExtent2D = '["width", "height"] -- ' closing tick for hsc2hs+        type CUnionType VkExtent2D = 'False -- ' closing tick for hsc2hs+        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+        type FieldOffset "width" VkExtent2D =+             #{offset VkExtent2D, width}+        type FieldIsArray "width" VkExtent2D = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkExtent2D, width}++instance CanReadField "width" VkExtent2D where+        {-# INLINE getField #-}+        getField = vkWidth++        {-# INLINE readField #-}+        readField = readVkWidth++instance 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}++instance {-# OVERLAPPING #-} HasField "height" VkExtent2D where+        type FieldType "height" VkExtent2D = Word32+        type FieldOptional "height" VkExtent2D = 'False -- ' closing tick for hsc2hs+        type FieldOffset "height" VkExtent2D =+             #{offset VkExtent2D, height}+        type FieldIsArray "height" VkExtent2D = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkExtent2D, height}++instance CanReadField "height" VkExtent2D where+        {-# INLINE getField #-}+        getField = vkHeight++        {-# INLINE readField #-}+        readField = readVkHeight++instance CanWriteField "height" VkExtent2D where+        {-# INLINE writeField #-}+        writeField = writeVkHeight++instance Show VkExtent2D where+        showsPrec d x+          = showString "VkExtent2D {" .+              showString "vkWidth = " .+                showsPrec d (vkWidth x) .+                  showString ", " .+                    showString "vkHeight = " . showsPrec d (vkHeight x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExtent3D.hsc view
@@ -0,0 +1,209 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkExtent3D (VkExtent3D(..))+       where+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)++-- | > typedef struct VkExtent3D {+--   >     uint32_t        width;+--   >     uint32_t        height;+--   >     uint32_t        depth;+--   > } VkExtent3D;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExtent3D.html VkExtent3D registry at www.khronos.org>+data VkExtent3D = VkExtent3D## Addr## ByteArray##++instance Eq VkExtent3D where+        (VkExtent3D## a _) == x@(VkExtent3D## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkExtent3D where+        (VkExtent3D## a _) `compare` x@(VkExtent3D## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkExtent3D where+        sizeOf ~_ = #{size VkExtent3D}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkExtent3D}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkExtent3D where+        unsafeAddr (VkExtent3D## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkExtent3D## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkExtent3D## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExtent3D where+        type StructFields VkExtent3D = '["width", "height", "depth"] -- ' closing tick for hsc2hs+        type CUnionType VkExtent3D = 'False -- ' closing tick for hsc2hs+        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+        type FieldOffset "width" VkExtent3D =+             #{offset VkExtent3D, width}+        type FieldIsArray "width" VkExtent3D = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkExtent3D, width}++instance CanReadField "width" VkExtent3D where+        {-# INLINE getField #-}+        getField = vkWidth++        {-# INLINE readField #-}+        readField = readVkWidth++instance 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}++instance {-# OVERLAPPING #-} HasField "height" VkExtent3D where+        type FieldType "height" VkExtent3D = Word32+        type FieldOptional "height" VkExtent3D = 'False -- ' closing tick for hsc2hs+        type FieldOffset "height" VkExtent3D =+             #{offset VkExtent3D, height}+        type FieldIsArray "height" VkExtent3D = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkExtent3D, height}++instance CanReadField "height" VkExtent3D where+        {-# INLINE getField #-}+        getField = vkHeight++        {-# INLINE readField #-}+        readField = readVkHeight++instance 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}++instance {-# OVERLAPPING #-} HasField "depth" VkExtent3D where+        type FieldType "depth" VkExtent3D = Word32+        type FieldOptional "depth" VkExtent3D = 'False -- ' closing tick for hsc2hs+        type FieldOffset "depth" VkExtent3D =+             #{offset VkExtent3D, depth}+        type FieldIsArray "depth" VkExtent3D = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkExtent3D, depth}++instance CanReadField "depth" VkExtent3D where+        {-# INLINE getField #-}+        getField = vkDepth++        {-# INLINE readField #-}+        readField = readVkDepth++instance CanWriteField "depth" VkExtent3D where+        {-# INLINE writeField #-}+        writeField = writeVkDepth++instance Show VkExtent3D where+        showsPrec d x+          = showString "VkExtent3D {" .+              showString "vkWidth = " .+                showsPrec d (vkWidth x) .+                  showString ", " .+                    showString "vkHeight = " .+                      showsPrec d (vkHeight x) .+                        showString ", " .+                          showString "vkDepth = " . showsPrec d (vkDepth x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkExternalBufferPropertiesKHR.hsc view
@@ -0,0 +1,231 @@+#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/VkExternalFencePropertiesKHR.hsc view
@@ -0,0 +1,350 @@+#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/VkExternalImageFormatPropertiesKHR.hsc view
@@ -0,0 +1,245 @@+#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
@@ -0,0 +1,321 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkExternalImageFormatPropertiesNV+       (VkExternalImageFormatPropertiesNV(..)) where+import           Foreign.Storable                                             (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+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 {+--   >     VkImageFormatProperties          imageFormatProperties;+--   >     VkExternalMemoryFeatureFlagsNV   externalMemoryFeatures;+--   >     VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;+--   >     VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;+--   > } VkExternalImageFormatPropertiesNV;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExternalImageFormatPropertiesNV.html VkExternalImageFormatPropertiesNV registry at www.khronos.org>+data VkExternalImageFormatPropertiesNV = VkExternalImageFormatPropertiesNV## Addr##+                                                                            ByteArray##++instance Eq VkExternalImageFormatPropertiesNV where+        (VkExternalImageFormatPropertiesNV## a _) ==+          x@(VkExternalImageFormatPropertiesNV## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkExternalImageFormatPropertiesNV where+        (VkExternalImageFormatPropertiesNV## a _) `compare`+          x@(VkExternalImageFormatPropertiesNV## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkExternalImageFormatPropertiesNV where+        sizeOf ~_ = #{size VkExternalImageFormatPropertiesNV}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkExternalImageFormatPropertiesNV}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkExternalImageFormatPropertiesNV where+        unsafeAddr (VkExternalImageFormatPropertiesNV## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkExternalImageFormatPropertiesNV## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkExternalImageFormatPropertiesNV##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExternalImageFormatPropertiesNV where+        type StructFields VkExternalImageFormatPropertiesNV =+             '["imageFormatProperties", "externalMemoryFeatures", -- ' closing tick for hsc2hs+               "exportFromImportedHandleTypes", "compatibleHandleTypes"]+        type CUnionType VkExternalImageFormatPropertiesNV = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkExternalImageFormatPropertiesNV = 'True -- ' closing tick for hsc2hs+        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"+               VkExternalImageFormatPropertiesNV+             = VkImageFormatProperties+        type FieldOptional "imageFormatProperties"+               VkExternalImageFormatPropertiesNV+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "imageFormatProperties"+               VkExternalImageFormatPropertiesNV+             =+             #{offset VkExternalImageFormatPropertiesNV, imageFormatProperties}+        type FieldIsArray "imageFormatProperties"+               VkExternalImageFormatPropertiesNV+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalImageFormatPropertiesNV, imageFormatProperties}++instance CanReadField "imageFormatProperties"+           VkExternalImageFormatPropertiesNV+         where+        {-# INLINE getField #-}+        getField = vkImageFormatProperties++        {-# INLINE readField #-}+        readField = readVkImageFormatProperties++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}++instance {-# OVERLAPPING #-}+         HasField "externalMemoryFeatures" VkExternalImageFormatPropertiesNV+         where+        type FieldType "externalMemoryFeatures"+               VkExternalImageFormatPropertiesNV+             = VkExternalMemoryFeatureFlagsNV+        type FieldOptional "externalMemoryFeatures"+               VkExternalImageFormatPropertiesNV+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "externalMemoryFeatures"+               VkExternalImageFormatPropertiesNV+             =+             #{offset VkExternalImageFormatPropertiesNV, externalMemoryFeatures}+        type FieldIsArray "externalMemoryFeatures"+               VkExternalImageFormatPropertiesNV+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalImageFormatPropertiesNV, externalMemoryFeatures}++instance CanReadField "externalMemoryFeatures"+           VkExternalImageFormatPropertiesNV+         where+        {-# INLINE getField #-}+        getField = vkExternalMemoryFeatures++        {-# INLINE readField #-}+        readField = readVkExternalMemoryFeatures++instance {-# OVERLAPPING #-}+         HasVkExportFromImportedHandleTypes+           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}++instance {-# OVERLAPPING #-}+         HasField "exportFromImportedHandleTypes"+           VkExternalImageFormatPropertiesNV+         where+        type FieldType "exportFromImportedHandleTypes"+               VkExternalImageFormatPropertiesNV+             = VkExternalMemoryHandleTypeFlagsNV+        type FieldOptional "exportFromImportedHandleTypes"+               VkExternalImageFormatPropertiesNV+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "exportFromImportedHandleTypes"+               VkExternalImageFormatPropertiesNV+             =+             #{offset VkExternalImageFormatPropertiesNV, exportFromImportedHandleTypes}+        type FieldIsArray "exportFromImportedHandleTypes"+               VkExternalImageFormatPropertiesNV+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalImageFormatPropertiesNV, exportFromImportedHandleTypes}++instance CanReadField "exportFromImportedHandleTypes"+           VkExternalImageFormatPropertiesNV+         where+        {-# INLINE getField #-}+        getField = vkExportFromImportedHandleTypes++        {-# INLINE readField #-}+        readField = readVkExportFromImportedHandleTypes++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}++instance {-# OVERLAPPING #-}+         HasField "compatibleHandleTypes" VkExternalImageFormatPropertiesNV+         where+        type FieldType "compatibleHandleTypes"+               VkExternalImageFormatPropertiesNV+             = VkExternalMemoryHandleTypeFlagsNV+        type FieldOptional "compatibleHandleTypes"+               VkExternalImageFormatPropertiesNV+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "compatibleHandleTypes"+               VkExternalImageFormatPropertiesNV+             =+             #{offset VkExternalImageFormatPropertiesNV, compatibleHandleTypes}+        type FieldIsArray "compatibleHandleTypes"+               VkExternalImageFormatPropertiesNV+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalImageFormatPropertiesNV, compatibleHandleTypes}++instance CanReadField "compatibleHandleTypes"+           VkExternalImageFormatPropertiesNV+         where+        {-# INLINE getField #-}+        getField = vkCompatibleHandleTypes++        {-# INLINE readField #-}+        readField = readVkCompatibleHandleTypes++instance Show VkExternalImageFormatPropertiesNV where+        showsPrec d x+          = showString "VkExternalImageFormatPropertiesNV {" .+              showString "vkImageFormatProperties = " .+                showsPrec d (vkImageFormatProperties x) .+                  showString ", " .+                    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/VkExternalMemoryBufferCreateInfoKHR.hsc view
@@ -0,0 +1,255 @@+#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/VkExternalMemoryImageCreateInfoKHR.hsc view
@@ -0,0 +1,252 @@+#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
@@ -0,0 +1,251 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkExternalMemoryImageCreateInfoNV+       (VkExternalMemoryImageCreateInfoNV(..)) where+import           Foreign.Storable                                             (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+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 {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkExternalMemoryHandleTypeFlagsNV handleTypes;+--   > } VkExternalMemoryImageCreateInfoNV;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExternalMemoryImageCreateInfoNV.html VkExternalMemoryImageCreateInfoNV registry at www.khronos.org>+data VkExternalMemoryImageCreateInfoNV = VkExternalMemoryImageCreateInfoNV## Addr##+                                                                            ByteArray##++instance Eq VkExternalMemoryImageCreateInfoNV where+        (VkExternalMemoryImageCreateInfoNV## a _) ==+          x@(VkExternalMemoryImageCreateInfoNV## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkExternalMemoryImageCreateInfoNV where+        (VkExternalMemoryImageCreateInfoNV## a _) `compare`+          x@(VkExternalMemoryImageCreateInfoNV## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkExternalMemoryImageCreateInfoNV where+        sizeOf ~_ = #{size VkExternalMemoryImageCreateInfoNV}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkExternalMemoryImageCreateInfoNV}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkExternalMemoryImageCreateInfoNV where+        unsafeAddr (VkExternalMemoryImageCreateInfoNV## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkExternalMemoryImageCreateInfoNV## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkExternalMemoryImageCreateInfoNV##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExternalMemoryImageCreateInfoNV where+        type StructFields VkExternalMemoryImageCreateInfoNV =+             '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs+        type CUnionType VkExternalMemoryImageCreateInfoNV = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkExternalMemoryImageCreateInfoNV = 'False -- ' closing tick for hsc2hs+        type StructExtends VkExternalMemoryImageCreateInfoNV =+             '[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+        type FieldOptional "sType" VkExternalMemoryImageCreateInfoNV =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkExternalMemoryImageCreateInfoNV =+             #{offset VkExternalMemoryImageCreateInfoNV, sType}+        type FieldIsArray "sType" VkExternalMemoryImageCreateInfoNV =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfoNV, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkExternalMemoryImageCreateInfoNV, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkExternalMemoryImageCreateInfoNV, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkExternalMemoryImageCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkExternalMemoryImageCreateInfoNV where+        type FieldType "pNext" VkExternalMemoryImageCreateInfoNV = Ptr Void+        type FieldOptional "pNext" VkExternalMemoryImageCreateInfoNV =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkExternalMemoryImageCreateInfoNV =+             #{offset VkExternalMemoryImageCreateInfoNV, pNext}+        type FieldIsArray "pNext" VkExternalMemoryImageCreateInfoNV =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        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+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfoNV, handleTypes})++        {-# INLINE vkHandleTypesByteOffset #-}+        vkHandleTypesByteOffset ~_+          = #{offset VkExternalMemoryImageCreateInfoNV, handleTypes}++        {-# INLINE readVkHandleTypes #-}+        readVkHandleTypes p+          = peekByteOff p #{offset VkExternalMemoryImageCreateInfoNV, handleTypes}++        {-# INLINE writeVkHandleTypes #-}+        writeVkHandleTypes p+          = pokeByteOff p #{offset VkExternalMemoryImageCreateInfoNV, handleTypes}++instance {-# OVERLAPPING #-}+         HasField "handleTypes" VkExternalMemoryImageCreateInfoNV where+        type FieldType "handleTypes" VkExternalMemoryImageCreateInfoNV =+             VkExternalMemoryHandleTypeFlagsNV+        type FieldOptional "handleTypes" VkExternalMemoryImageCreateInfoNV+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "handleTypes" VkExternalMemoryImageCreateInfoNV =+             #{offset VkExternalMemoryImageCreateInfoNV, handleTypes}+        type FieldIsArray "handleTypes" VkExternalMemoryImageCreateInfoNV =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalMemoryImageCreateInfoNV, handleTypes}++instance CanReadField "handleTypes"+           VkExternalMemoryImageCreateInfoNV+         where+        {-# INLINE getField #-}+        getField = vkHandleTypes++        {-# INLINE readField #-}+        readField = readVkHandleTypes++instance CanWriteField "handleTypes"+           VkExternalMemoryImageCreateInfoNV+         where+        {-# INLINE writeField #-}+        writeField = writeVkHandleTypes++instance Show VkExternalMemoryImageCreateInfoNV where+        showsPrec d x+          = showString "VkExternalMemoryImageCreateInfoNV {" .+              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/VkExternalMemoryPropertiesKHR.hsc view
@@ -0,0 +1,258 @@+#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/VkExternalSemaphorePropertiesKHR.hsc view
@@ -0,0 +1,368 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkExternalSemaphorePropertiesKHR+       (VkExternalSemaphorePropertiesKHR(..)) where+import           Foreign.Storable+                                                                                   (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkExternalSemaphoreFeatureFlagsKHR+                                                                                   (VkExternalSemaphoreFeatureFlagsKHR)+import           Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlagsKHR+                                                                                   (VkExternalSemaphoreHandleTypeFlagsKHR)+import           Graphics.Vulkan.Types.Enum.VkStructureType+                                                                                   (VkStructureType)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe+                                                                                   (unsafeDupablePerformIO)++-- | > typedef struct VkExternalSemaphorePropertiesKHR {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     VkExternalSemaphoreHandleTypeFlagsKHR exportFromImportedHandleTypes;+--   >     VkExternalSemaphoreHandleTypeFlagsKHR compatibleHandleTypes;+--   >     VkExternalSemaphoreFeatureFlagsKHR externalSemaphoreFeatures;+--   > } VkExternalSemaphorePropertiesKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkExternalSemaphorePropertiesKHR.html VkExternalSemaphorePropertiesKHR registry at www.khronos.org>+data VkExternalSemaphorePropertiesKHR = VkExternalSemaphorePropertiesKHR## Addr##+                                                                          ByteArray##++instance Eq VkExternalSemaphorePropertiesKHR where+        (VkExternalSemaphorePropertiesKHR## a _) ==+          x@(VkExternalSemaphorePropertiesKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkExternalSemaphorePropertiesKHR where+        (VkExternalSemaphorePropertiesKHR## a _) `compare`+          x@(VkExternalSemaphorePropertiesKHR## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkExternalSemaphorePropertiesKHR where+        sizeOf ~_ = #{size VkExternalSemaphorePropertiesKHR}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkExternalSemaphorePropertiesKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkExternalSemaphorePropertiesKHR where+        unsafeAddr (VkExternalSemaphorePropertiesKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkExternalSemaphorePropertiesKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkExternalSemaphorePropertiesKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExternalSemaphorePropertiesKHR where+        type StructFields VkExternalSemaphorePropertiesKHR =+             '["sType", "pNext", "exportFromImportedHandleTypes", -- ' closing tick for hsc2hs+               "compatibleHandleTypes", "externalSemaphoreFeatures"]+        type CUnionType VkExternalSemaphorePropertiesKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkExternalSemaphorePropertiesKHR = 'True -- ' closing tick for hsc2hs+        type StructExtends VkExternalSemaphorePropertiesKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkSType VkExternalSemaphorePropertiesKHR where+        type VkSTypeMType VkExternalSemaphorePropertiesKHR =+             VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalSemaphorePropertiesKHR, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkExternalSemaphorePropertiesKHR, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkExternalSemaphorePropertiesKHR, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkExternalSemaphorePropertiesKHR, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkExternalSemaphorePropertiesKHR where+        type FieldType "sType" VkExternalSemaphorePropertiesKHR =+             VkStructureType+        type FieldOptional "sType" VkExternalSemaphorePropertiesKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkExternalSemaphorePropertiesKHR =+             #{offset VkExternalSemaphorePropertiesKHR, sType}+        type FieldIsArray "sType" VkExternalSemaphorePropertiesKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalSemaphorePropertiesKHR, sType}++instance CanReadField "sType" VkExternalSemaphorePropertiesKHR+         where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance {-# OVERLAPPING #-}+         HasVkPNext VkExternalSemaphorePropertiesKHR where+        type VkPNextMType VkExternalSemaphorePropertiesKHR = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalSemaphorePropertiesKHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkExternalSemaphorePropertiesKHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkExternalSemaphorePropertiesKHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkExternalSemaphorePropertiesKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkExternalSemaphorePropertiesKHR where+        type FieldType "pNext" VkExternalSemaphorePropertiesKHR = Ptr Void+        type FieldOptional "pNext" VkExternalSemaphorePropertiesKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkExternalSemaphorePropertiesKHR =+             #{offset VkExternalSemaphorePropertiesKHR, pNext}+        type FieldIsArray "pNext" VkExternalSemaphorePropertiesKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalSemaphorePropertiesKHR, pNext}++instance CanReadField "pNext" VkExternalSemaphorePropertiesKHR+         where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance {-# OVERLAPPING #-}+         HasVkExportFromImportedHandleTypes VkExternalSemaphorePropertiesKHR+         where+        type VkExportFromImportedHandleTypesMType+               VkExternalSemaphorePropertiesKHR+             = VkExternalSemaphoreHandleTypeFlagsKHR++        {-# NOINLINE vkExportFromImportedHandleTypes #-}+        vkExportFromImportedHandleTypes x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalSemaphorePropertiesKHR, exportFromImportedHandleTypes})++        {-# INLINE vkExportFromImportedHandleTypesByteOffset #-}+        vkExportFromImportedHandleTypesByteOffset ~_+          = #{offset VkExternalSemaphorePropertiesKHR, exportFromImportedHandleTypes}++        {-# INLINE readVkExportFromImportedHandleTypes #-}+        readVkExportFromImportedHandleTypes p+          = peekByteOff p #{offset VkExternalSemaphorePropertiesKHR, exportFromImportedHandleTypes}++        {-# INLINE writeVkExportFromImportedHandleTypes #-}+        writeVkExportFromImportedHandleTypes p+          = pokeByteOff p #{offset VkExternalSemaphorePropertiesKHR, exportFromImportedHandleTypes}++instance {-# OVERLAPPING #-}+         HasField "exportFromImportedHandleTypes"+           VkExternalSemaphorePropertiesKHR+         where+        type FieldType "exportFromImportedHandleTypes"+               VkExternalSemaphorePropertiesKHR+             = VkExternalSemaphoreHandleTypeFlagsKHR+        type FieldOptional "exportFromImportedHandleTypes"+               VkExternalSemaphorePropertiesKHR+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "exportFromImportedHandleTypes"+               VkExternalSemaphorePropertiesKHR+             =+             #{offset VkExternalSemaphorePropertiesKHR, exportFromImportedHandleTypes}+        type FieldIsArray "exportFromImportedHandleTypes"+               VkExternalSemaphorePropertiesKHR+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalSemaphorePropertiesKHR, exportFromImportedHandleTypes}++instance CanReadField "exportFromImportedHandleTypes"+           VkExternalSemaphorePropertiesKHR+         where+        {-# INLINE getField #-}+        getField = vkExportFromImportedHandleTypes++        {-# INLINE readField #-}+        readField = readVkExportFromImportedHandleTypes++instance {-# OVERLAPPING #-}+         HasVkCompatibleHandleTypes VkExternalSemaphorePropertiesKHR where+        type VkCompatibleHandleTypesMType VkExternalSemaphorePropertiesKHR+             = VkExternalSemaphoreHandleTypeFlagsKHR++        {-# NOINLINE vkCompatibleHandleTypes #-}+        vkCompatibleHandleTypes x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalSemaphorePropertiesKHR, compatibleHandleTypes})++        {-# INLINE vkCompatibleHandleTypesByteOffset #-}+        vkCompatibleHandleTypesByteOffset ~_+          = #{offset VkExternalSemaphorePropertiesKHR, compatibleHandleTypes}++        {-# INLINE readVkCompatibleHandleTypes #-}+        readVkCompatibleHandleTypes p+          = peekByteOff p #{offset VkExternalSemaphorePropertiesKHR, compatibleHandleTypes}++        {-# INLINE writeVkCompatibleHandleTypes #-}+        writeVkCompatibleHandleTypes p+          = pokeByteOff p #{offset VkExternalSemaphorePropertiesKHR, compatibleHandleTypes}++instance {-# OVERLAPPING #-}+         HasField "compatibleHandleTypes" VkExternalSemaphorePropertiesKHR+         where+        type FieldType "compatibleHandleTypes"+               VkExternalSemaphorePropertiesKHR+             = VkExternalSemaphoreHandleTypeFlagsKHR+        type FieldOptional "compatibleHandleTypes"+               VkExternalSemaphorePropertiesKHR+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "compatibleHandleTypes"+               VkExternalSemaphorePropertiesKHR+             =+             #{offset VkExternalSemaphorePropertiesKHR, compatibleHandleTypes}+        type FieldIsArray "compatibleHandleTypes"+               VkExternalSemaphorePropertiesKHR+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalSemaphorePropertiesKHR, compatibleHandleTypes}++instance CanReadField "compatibleHandleTypes"+           VkExternalSemaphorePropertiesKHR+         where+        {-# INLINE getField #-}+        getField = vkCompatibleHandleTypes++        {-# INLINE readField #-}+        readField = readVkCompatibleHandleTypes++instance {-# OVERLAPPING #-}+         HasVkExternalSemaphoreFeatures VkExternalSemaphorePropertiesKHR+         where+        type VkExternalSemaphoreFeaturesMType+               VkExternalSemaphorePropertiesKHR+             = VkExternalSemaphoreFeatureFlagsKHR++        {-# NOINLINE vkExternalSemaphoreFeatures #-}+        vkExternalSemaphoreFeatures x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkExternalSemaphorePropertiesKHR, externalSemaphoreFeatures})++        {-# INLINE vkExternalSemaphoreFeaturesByteOffset #-}+        vkExternalSemaphoreFeaturesByteOffset ~_+          = #{offset VkExternalSemaphorePropertiesKHR, externalSemaphoreFeatures}++        {-# INLINE readVkExternalSemaphoreFeatures #-}+        readVkExternalSemaphoreFeatures p+          = peekByteOff p #{offset VkExternalSemaphorePropertiesKHR, externalSemaphoreFeatures}++        {-# INLINE writeVkExternalSemaphoreFeatures #-}+        writeVkExternalSemaphoreFeatures p+          = pokeByteOff p #{offset VkExternalSemaphorePropertiesKHR, externalSemaphoreFeatures}++instance {-# OVERLAPPING #-}+         HasField "externalSemaphoreFeatures"+           VkExternalSemaphorePropertiesKHR+         where+        type FieldType "externalSemaphoreFeatures"+               VkExternalSemaphorePropertiesKHR+             = VkExternalSemaphoreFeatureFlagsKHR+        type FieldOptional "externalSemaphoreFeatures"+               VkExternalSemaphorePropertiesKHR+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "externalSemaphoreFeatures"+               VkExternalSemaphorePropertiesKHR+             =+             #{offset VkExternalSemaphorePropertiesKHR, externalSemaphoreFeatures}+        type FieldIsArray "externalSemaphoreFeatures"+               VkExternalSemaphorePropertiesKHR+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkExternalSemaphorePropertiesKHR, externalSemaphoreFeatures}++instance CanReadField "externalSemaphoreFeatures"+           VkExternalSemaphorePropertiesKHR+         where+        {-# INLINE getField #-}+        getField = vkExternalSemaphoreFeatures++        {-# INLINE readField #-}+        readField = readVkExternalSemaphoreFeatures++instance Show VkExternalSemaphorePropertiesKHR where+        showsPrec d x+          = showString "VkExternalSemaphorePropertiesKHR {" .+              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 "vkExternalSemaphoreFeatures = " .+                                        showsPrec d (vkExternalSemaphoreFeatures x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkFenceCreateInfo.hsc view
@@ -0,0 +1,217 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkFenceCreateInfo+       (VkFenceCreateInfo(..)) where+import           Foreign.Storable                              (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkFenceCreateFlags (VkFenceCreateFlags)+import           Graphics.Vulkan.Types.Enum.VkStructureType    (VkStructureType)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                              (unsafeDupablePerformIO)++-- | > typedef struct VkFenceCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkFenceCreateFlags     flags;+--   > } VkFenceCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkFenceCreateInfo.html VkFenceCreateInfo registry at www.khronos.org>+data VkFenceCreateInfo = VkFenceCreateInfo## Addr## ByteArray##++instance Eq VkFenceCreateInfo where+        (VkFenceCreateInfo## a _) == x@(VkFenceCreateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkFenceCreateInfo where+        (VkFenceCreateInfo## a _) `compare` x@(VkFenceCreateInfo## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkFenceCreateInfo where+        sizeOf ~_ = #{size VkFenceCreateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkFenceCreateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkFenceCreateInfo where+        unsafeAddr (VkFenceCreateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkFenceCreateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkFenceCreateInfo## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkFenceCreateInfo where+        type StructFields VkFenceCreateInfo = '["sType", "pNext", "flags"] -- ' closing tick for hsc2hs+        type CUnionType VkFenceCreateInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkFenceCreateInfo = 'False -- ' closing tick for hsc2hs+        type StructExtends VkFenceCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSType VkFenceCreateInfo where+        type VkSTypeMType VkFenceCreateInfo = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFenceCreateInfo, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkFenceCreateInfo, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkFenceCreateInfo, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkFenceCreateInfo, sType}++instance {-# OVERLAPPING #-} HasField "sType" VkFenceCreateInfo+         where+        type FieldType "sType" VkFenceCreateInfo = VkStructureType+        type FieldOptional "sType" VkFenceCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkFenceCreateInfo =+             #{offset VkFenceCreateInfo, sType}+        type FieldIsArray "sType" VkFenceCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkFenceCreateInfo, sType}++instance CanReadField "sType" VkFenceCreateInfo where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkFenceCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-} HasVkPNext VkFenceCreateInfo where+        type VkPNextMType VkFenceCreateInfo = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFenceCreateInfo, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkFenceCreateInfo, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkFenceCreateInfo, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkFenceCreateInfo, pNext}++instance {-# OVERLAPPING #-} HasField "pNext" VkFenceCreateInfo+         where+        type FieldType "pNext" VkFenceCreateInfo = Ptr Void+        type FieldOptional "pNext" VkFenceCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkFenceCreateInfo =+             #{offset VkFenceCreateInfo, pNext}+        type FieldIsArray "pNext" VkFenceCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkFenceCreateInfo, pNext}++instance CanReadField "pNext" VkFenceCreateInfo where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkFenceCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-} HasVkFlags VkFenceCreateInfo where+        type VkFlagsMType VkFenceCreateInfo = VkFenceCreateFlags++        {-# NOINLINE vkFlags #-}+        vkFlags x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFenceCreateInfo, flags})++        {-# INLINE vkFlagsByteOffset #-}+        vkFlagsByteOffset ~_+          = #{offset VkFenceCreateInfo, flags}++        {-# INLINE readVkFlags #-}+        readVkFlags p+          = peekByteOff p #{offset VkFenceCreateInfo, flags}++        {-# INLINE writeVkFlags #-}+        writeVkFlags p+          = pokeByteOff p #{offset VkFenceCreateInfo, flags}++instance {-# OVERLAPPING #-} HasField "flags" VkFenceCreateInfo+         where+        type FieldType "flags" VkFenceCreateInfo = VkFenceCreateFlags+        type FieldOptional "flags" VkFenceCreateInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkFenceCreateInfo =+             #{offset VkFenceCreateInfo, flags}+        type FieldIsArray "flags" VkFenceCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkFenceCreateInfo, flags}++instance CanReadField "flags" VkFenceCreateInfo where+        {-# INLINE getField #-}+        getField = vkFlags++        {-# INLINE readField #-}+        readField = readVkFlags++instance CanWriteField "flags" VkFenceCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkFlags++instance Show VkFenceCreateInfo where+        showsPrec d x+          = showString "VkFenceCreateInfo {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFlags = " . showsPrec d (vkFlags x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkFenceGetFdInfoKHR.hsc view
@@ -0,0 +1,272 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkFenceGetFdInfoKHR+       (VkFenceGetFdInfoKHR(..)) where+import           Foreign.Storable                                             (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlagsKHR (VkExternalFenceHandleTypeFlagBitsKHR)+import           Graphics.Vulkan.Types.Enum.VkStructureType                   (VkStructureType)+import           Graphics.Vulkan.Types.Handles                                (VkFence)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                             (unsafeDupablePerformIO)++-- | > typedef struct VkFenceGetFdInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                            pNext;+--   >     VkFence                                fence;+--   >     VkExternalFenceHandleTypeFlagBitsKHR   handleType;+--   > } VkFenceGetFdInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkFenceGetFdInfoKHR.html VkFenceGetFdInfoKHR registry at www.khronos.org>+data VkFenceGetFdInfoKHR = VkFenceGetFdInfoKHR## Addr## ByteArray##++instance Eq VkFenceGetFdInfoKHR where+        (VkFenceGetFdInfoKHR## a _) == x@(VkFenceGetFdInfoKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkFenceGetFdInfoKHR where+        (VkFenceGetFdInfoKHR## a _) `compare` x@(VkFenceGetFdInfoKHR## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkFenceGetFdInfoKHR where+        sizeOf ~_ = #{size VkFenceGetFdInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkFenceGetFdInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkFenceGetFdInfoKHR where+        unsafeAddr (VkFenceGetFdInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkFenceGetFdInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkFenceGetFdInfoKHR## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkFenceGetFdInfoKHR where+        type StructFields VkFenceGetFdInfoKHR =+             '["sType", "pNext", "fence", "handleType"] -- ' closing tick for hsc2hs+        type CUnionType VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type StructExtends VkFenceGetFdInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSType VkFenceGetFdInfoKHR where+        type VkSTypeMType VkFenceGetFdInfoKHR = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFenceGetFdInfoKHR, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkFenceGetFdInfoKHR, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkFenceGetFdInfoKHR, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkFenceGetFdInfoKHR, sType}++instance {-# OVERLAPPING #-} HasField "sType" VkFenceGetFdInfoKHR+         where+        type FieldType "sType" VkFenceGetFdInfoKHR = VkStructureType+        type FieldOptional "sType" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkFenceGetFdInfoKHR =+             #{offset VkFenceGetFdInfoKHR, sType}+        type FieldIsArray "sType" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkFenceGetFdInfoKHR, sType}++instance CanReadField "sType" VkFenceGetFdInfoKHR where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkFenceGetFdInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-} HasVkPNext VkFenceGetFdInfoKHR where+        type VkPNextMType VkFenceGetFdInfoKHR = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFenceGetFdInfoKHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkFenceGetFdInfoKHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkFenceGetFdInfoKHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkFenceGetFdInfoKHR, pNext}++instance {-# OVERLAPPING #-} HasField "pNext" VkFenceGetFdInfoKHR+         where+        type FieldType "pNext" VkFenceGetFdInfoKHR = Ptr Void+        type FieldOptional "pNext" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkFenceGetFdInfoKHR =+             #{offset VkFenceGetFdInfoKHR, pNext}+        type FieldIsArray "pNext" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkFenceGetFdInfoKHR, pNext}++instance CanReadField "pNext" VkFenceGetFdInfoKHR where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkFenceGetFdInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-} HasVkFence VkFenceGetFdInfoKHR where+        type VkFenceMType VkFenceGetFdInfoKHR = VkFence++        {-# NOINLINE vkFence #-}+        vkFence x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFenceGetFdInfoKHR, fence})++        {-# INLINE vkFenceByteOffset #-}+        vkFenceByteOffset ~_+          = #{offset VkFenceGetFdInfoKHR, fence}++        {-# INLINE readVkFence #-}+        readVkFence p+          = peekByteOff p #{offset VkFenceGetFdInfoKHR, fence}++        {-# INLINE writeVkFence #-}+        writeVkFence p+          = pokeByteOff p #{offset VkFenceGetFdInfoKHR, fence}++instance {-# OVERLAPPING #-} HasField "fence" VkFenceGetFdInfoKHR+         where+        type FieldType "fence" VkFenceGetFdInfoKHR = VkFence+        type FieldOptional "fence" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "fence" VkFenceGetFdInfoKHR =+             #{offset VkFenceGetFdInfoKHR, fence}+        type FieldIsArray "fence" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkFenceGetFdInfoKHR, fence}++instance CanReadField "fence" VkFenceGetFdInfoKHR where+        {-# INLINE getField #-}+        getField = vkFence++        {-# INLINE readField #-}+        readField = readVkFence++instance CanWriteField "fence" VkFenceGetFdInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkFence++instance {-# OVERLAPPING #-} HasVkHandleType VkFenceGetFdInfoKHR+         where+        type VkHandleTypeMType VkFenceGetFdInfoKHR =+             VkExternalFenceHandleTypeFlagBitsKHR++        {-# NOINLINE vkHandleType #-}+        vkHandleType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFenceGetFdInfoKHR, handleType})++        {-# INLINE vkHandleTypeByteOffset #-}+        vkHandleTypeByteOffset ~_+          = #{offset VkFenceGetFdInfoKHR, handleType}++        {-# INLINE readVkHandleType #-}+        readVkHandleType p+          = peekByteOff p #{offset VkFenceGetFdInfoKHR, handleType}++        {-# INLINE writeVkHandleType #-}+        writeVkHandleType p+          = pokeByteOff p #{offset VkFenceGetFdInfoKHR, handleType}++instance {-# OVERLAPPING #-}+         HasField "handleType" VkFenceGetFdInfoKHR where+        type FieldType "handleType" VkFenceGetFdInfoKHR =+             VkExternalFenceHandleTypeFlagBitsKHR+        type FieldOptional "handleType" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "handleType" VkFenceGetFdInfoKHR =+             #{offset VkFenceGetFdInfoKHR, handleType}+        type FieldIsArray "handleType" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkFenceGetFdInfoKHR, handleType}++instance CanReadField "handleType" VkFenceGetFdInfoKHR where+        {-# INLINE getField #-}+        getField = vkHandleType++        {-# INLINE readField #-}+        readField = readVkHandleType++instance CanWriteField "handleType" VkFenceGetFdInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkHandleType++instance Show VkFenceGetFdInfoKHR where+        showsPrec d x+          = showString "VkFenceGetFdInfoKHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFence = " .+                            showsPrec d (vkFence x) .+                              showString ", " .+                                showString "vkHandleType = " .+                                  showsPrec d (vkHandleType x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkFenceGetWin32HandleInfoKHR.hsc view
@@ -0,0 +1,289 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkFenceGetWin32HandleInfoKHR+       (VkFenceGetWin32HandleInfoKHR(..)) where+import           Foreign.Storable                                             (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlagsKHR (VkExternalFenceHandleTypeFlagBitsKHR)+import           Graphics.Vulkan.Types.Enum.VkStructureType                   (VkStructureType)+import           Graphics.Vulkan.Types.Handles                                (VkFence)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                             (unsafeDupablePerformIO)++-- | > typedef struct VkFenceGetWin32HandleInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                            pNext;+--   >     VkFence                                fence;+--   >     VkExternalFenceHandleTypeFlagBitsKHR   handleType;+--   > } VkFenceGetWin32HandleInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkFenceGetWin32HandleInfoKHR.html VkFenceGetWin32HandleInfoKHR registry at www.khronos.org>+data VkFenceGetWin32HandleInfoKHR = VkFenceGetWin32HandleInfoKHR## Addr##+                                                                  ByteArray##++instance Eq VkFenceGetWin32HandleInfoKHR where+        (VkFenceGetWin32HandleInfoKHR## a _) ==+          x@(VkFenceGetWin32HandleInfoKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkFenceGetWin32HandleInfoKHR where+        (VkFenceGetWin32HandleInfoKHR## a _) `compare`+          x@(VkFenceGetWin32HandleInfoKHR## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkFenceGetWin32HandleInfoKHR where+        sizeOf ~_ = #{size VkFenceGetWin32HandleInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkFenceGetWin32HandleInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkFenceGetWin32HandleInfoKHR where+        unsafeAddr (VkFenceGetWin32HandleInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkFenceGetWin32HandleInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkFenceGetWin32HandleInfoKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkFenceGetWin32HandleInfoKHR where+        type StructFields VkFenceGetWin32HandleInfoKHR =+             '["sType", "pNext", "fence", "handleType"] -- ' closing tick for hsc2hs+        type CUnionType VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type StructExtends VkFenceGetWin32HandleInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkSType VkFenceGetWin32HandleInfoKHR where+        type VkSTypeMType VkFenceGetWin32HandleInfoKHR = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFenceGetWin32HandleInfoKHR, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkFenceGetWin32HandleInfoKHR, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkFenceGetWin32HandleInfoKHR, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkFenceGetWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkFenceGetWin32HandleInfoKHR where+        type FieldType "sType" VkFenceGetWin32HandleInfoKHR =+             VkStructureType+        type FieldOptional "sType" VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkFenceGetWin32HandleInfoKHR =+             #{offset VkFenceGetWin32HandleInfoKHR, sType}+        type FieldIsArray "sType" VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkFenceGetWin32HandleInfoKHR, sType}++instance CanReadField "sType" VkFenceGetWin32HandleInfoKHR where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkFenceGetWin32HandleInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-}+         HasVkPNext VkFenceGetWin32HandleInfoKHR where+        type VkPNextMType VkFenceGetWin32HandleInfoKHR = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFenceGetWin32HandleInfoKHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkFenceGetWin32HandleInfoKHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkFenceGetWin32HandleInfoKHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkFenceGetWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkFenceGetWin32HandleInfoKHR where+        type FieldType "pNext" VkFenceGetWin32HandleInfoKHR = Ptr Void+        type FieldOptional "pNext" VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkFenceGetWin32HandleInfoKHR =+             #{offset VkFenceGetWin32HandleInfoKHR, pNext}+        type FieldIsArray "pNext" VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkFenceGetWin32HandleInfoKHR, pNext}++instance CanReadField "pNext" VkFenceGetWin32HandleInfoKHR where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkFenceGetWin32HandleInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-}+         HasVkFence VkFenceGetWin32HandleInfoKHR where+        type VkFenceMType VkFenceGetWin32HandleInfoKHR = VkFence++        {-# NOINLINE vkFence #-}+        vkFence x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFenceGetWin32HandleInfoKHR, fence})++        {-# INLINE vkFenceByteOffset #-}+        vkFenceByteOffset ~_+          = #{offset VkFenceGetWin32HandleInfoKHR, fence}++        {-# INLINE readVkFence #-}+        readVkFence p+          = peekByteOff p #{offset VkFenceGetWin32HandleInfoKHR, fence}++        {-# INLINE writeVkFence #-}+        writeVkFence p+          = pokeByteOff p #{offset VkFenceGetWin32HandleInfoKHR, fence}++instance {-# OVERLAPPING #-}+         HasField "fence" VkFenceGetWin32HandleInfoKHR where+        type FieldType "fence" VkFenceGetWin32HandleInfoKHR = VkFence+        type FieldOptional "fence" VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "fence" VkFenceGetWin32HandleInfoKHR =+             #{offset VkFenceGetWin32HandleInfoKHR, fence}+        type FieldIsArray "fence" VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkFenceGetWin32HandleInfoKHR, fence}++instance CanReadField "fence" VkFenceGetWin32HandleInfoKHR where+        {-# INLINE getField #-}+        getField = vkFence++        {-# INLINE readField #-}+        readField = readVkFence++instance CanWriteField "fence" VkFenceGetWin32HandleInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkFence++instance {-# OVERLAPPING #-}+         HasVkHandleType VkFenceGetWin32HandleInfoKHR where+        type VkHandleTypeMType VkFenceGetWin32HandleInfoKHR =+             VkExternalFenceHandleTypeFlagBitsKHR++        {-# NOINLINE vkHandleType #-}+        vkHandleType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFenceGetWin32HandleInfoKHR, handleType})++        {-# INLINE vkHandleTypeByteOffset #-}+        vkHandleTypeByteOffset ~_+          = #{offset VkFenceGetWin32HandleInfoKHR, handleType}++        {-# INLINE readVkHandleType #-}+        readVkHandleType p+          = peekByteOff p #{offset VkFenceGetWin32HandleInfoKHR, handleType}++        {-# INLINE writeVkHandleType #-}+        writeVkHandleType p+          = pokeByteOff p #{offset VkFenceGetWin32HandleInfoKHR, handleType}++instance {-# OVERLAPPING #-}+         HasField "handleType" VkFenceGetWin32HandleInfoKHR where+        type FieldType "handleType" VkFenceGetWin32HandleInfoKHR =+             VkExternalFenceHandleTypeFlagBitsKHR+        type FieldOptional "handleType" VkFenceGetWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "handleType" VkFenceGetWin32HandleInfoKHR =+             #{offset VkFenceGetWin32HandleInfoKHR, handleType}+        type FieldIsArray "handleType" VkFenceGetWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkFenceGetWin32HandleInfoKHR, handleType}++instance CanReadField "handleType" VkFenceGetWin32HandleInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkHandleType++        {-# INLINE readField #-}+        readField = readVkHandleType++instance CanWriteField "handleType" VkFenceGetWin32HandleInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkHandleType++instance Show VkFenceGetWin32HandleInfoKHR where+        showsPrec d x+          = showString "VkFenceGetWin32HandleInfoKHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFence = " .+                            showsPrec d (vkFence x) .+                              showString ", " .+                                showString "vkHandleType = " .+                                  showsPrec d (vkHandleType x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkFormatProperties.hsc view
@@ -0,0 +1,225 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkFormatProperties+       (VkFormatProperties(..)) where+import           Foreign.Storable                                (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags (VkFormatFeatureFlags)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                (unsafeDupablePerformIO)++-- | > typedef struct VkFormatProperties {+--   >     VkFormatFeatureFlags   linearTilingFeatures;+--   >     VkFormatFeatureFlags   optimalTilingFeatures;+--   >     VkFormatFeatureFlags   bufferFeatures;+--   > } VkFormatProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkFormatProperties.html VkFormatProperties registry at www.khronos.org>+data VkFormatProperties = VkFormatProperties## Addr## ByteArray##++instance Eq VkFormatProperties where+        (VkFormatProperties## a _) == x@(VkFormatProperties## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkFormatProperties where+        (VkFormatProperties## a _) `compare` x@(VkFormatProperties## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkFormatProperties where+        sizeOf ~_ = #{size VkFormatProperties}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkFormatProperties}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkFormatProperties where+        unsafeAddr (VkFormatProperties## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkFormatProperties## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkFormatProperties## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkFormatProperties where+        type StructFields VkFormatProperties =+             '["linearTilingFeatures", "optimalTilingFeatures", -- ' closing tick for hsc2hs+               "bufferFeatures"]+        type CUnionType VkFormatProperties = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkFormatProperties = 'True -- ' closing tick for hsc2hs+        type StructExtends VkFormatProperties = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkLinearTilingFeatures VkFormatProperties where+        type VkLinearTilingFeaturesMType VkFormatProperties =+             VkFormatFeatureFlags++        {-# NOINLINE vkLinearTilingFeatures #-}+        vkLinearTilingFeatures x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFormatProperties, linearTilingFeatures})++        {-# INLINE vkLinearTilingFeaturesByteOffset #-}+        vkLinearTilingFeaturesByteOffset ~_+          = #{offset VkFormatProperties, linearTilingFeatures}++        {-# INLINE readVkLinearTilingFeatures #-}+        readVkLinearTilingFeatures p+          = peekByteOff p #{offset VkFormatProperties, linearTilingFeatures}++        {-# INLINE writeVkLinearTilingFeatures #-}+        writeVkLinearTilingFeatures p+          = pokeByteOff p #{offset VkFormatProperties, linearTilingFeatures}++instance {-# OVERLAPPING #-}+         HasField "linearTilingFeatures" VkFormatProperties where+        type FieldType "linearTilingFeatures" VkFormatProperties =+             VkFormatFeatureFlags+        type FieldOptional "linearTilingFeatures" VkFormatProperties =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "linearTilingFeatures" VkFormatProperties =+             #{offset VkFormatProperties, linearTilingFeatures}+        type FieldIsArray "linearTilingFeatures" VkFormatProperties =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkFormatProperties, linearTilingFeatures}++instance CanReadField "linearTilingFeatures" VkFormatProperties+         where+        {-# INLINE getField #-}+        getField = vkLinearTilingFeatures++        {-# INLINE readField #-}+        readField = readVkLinearTilingFeatures++instance {-# OVERLAPPING #-}+         HasVkOptimalTilingFeatures VkFormatProperties where+        type VkOptimalTilingFeaturesMType VkFormatProperties =+             VkFormatFeatureFlags++        {-# NOINLINE vkOptimalTilingFeatures #-}+        vkOptimalTilingFeatures x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFormatProperties, optimalTilingFeatures})++        {-# INLINE vkOptimalTilingFeaturesByteOffset #-}+        vkOptimalTilingFeaturesByteOffset ~_+          = #{offset VkFormatProperties, optimalTilingFeatures}++        {-# INLINE readVkOptimalTilingFeatures #-}+        readVkOptimalTilingFeatures p+          = peekByteOff p #{offset VkFormatProperties, optimalTilingFeatures}++        {-# INLINE writeVkOptimalTilingFeatures #-}+        writeVkOptimalTilingFeatures p+          = pokeByteOff p #{offset VkFormatProperties, optimalTilingFeatures}++instance {-# OVERLAPPING #-}+         HasField "optimalTilingFeatures" VkFormatProperties where+        type FieldType "optimalTilingFeatures" VkFormatProperties =+             VkFormatFeatureFlags+        type FieldOptional "optimalTilingFeatures" VkFormatProperties =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "optimalTilingFeatures" VkFormatProperties =+             #{offset VkFormatProperties, optimalTilingFeatures}+        type FieldIsArray "optimalTilingFeatures" VkFormatProperties =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkFormatProperties, optimalTilingFeatures}++instance CanReadField "optimalTilingFeatures" VkFormatProperties+         where+        {-# INLINE getField #-}+        getField = vkOptimalTilingFeatures++        {-# INLINE readField #-}+        readField = readVkOptimalTilingFeatures++instance {-# OVERLAPPING #-} HasVkBufferFeatures VkFormatProperties+         where+        type VkBufferFeaturesMType VkFormatProperties =+             VkFormatFeatureFlags++        {-# NOINLINE vkBufferFeatures #-}+        vkBufferFeatures x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFormatProperties, bufferFeatures})++        {-# INLINE vkBufferFeaturesByteOffset #-}+        vkBufferFeaturesByteOffset ~_+          = #{offset VkFormatProperties, bufferFeatures}++        {-# INLINE readVkBufferFeatures #-}+        readVkBufferFeatures p+          = peekByteOff p #{offset VkFormatProperties, bufferFeatures}++        {-# INLINE writeVkBufferFeatures #-}+        writeVkBufferFeatures p+          = pokeByteOff p #{offset VkFormatProperties, bufferFeatures}++instance {-# OVERLAPPING #-}+         HasField "bufferFeatures" VkFormatProperties where+        type FieldType "bufferFeatures" VkFormatProperties =+             VkFormatFeatureFlags+        type FieldOptional "bufferFeatures" VkFormatProperties = 'True -- ' closing tick for hsc2hs+        type FieldOffset "bufferFeatures" VkFormatProperties =+             #{offset VkFormatProperties, bufferFeatures}+        type FieldIsArray "bufferFeatures" VkFormatProperties = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkFormatProperties, bufferFeatures}++instance CanReadField "bufferFeatures" VkFormatProperties where+        {-# INLINE getField #-}+        getField = vkBufferFeatures++        {-# INLINE readField #-}+        readField = readVkBufferFeatures++instance Show VkFormatProperties where+        showsPrec d x+          = showString "VkFormatProperties {" .+              showString "vkLinearTilingFeatures = " .+                showsPrec d (vkLinearTilingFeatures x) .+                  showString ", " .+                    showString "vkOptimalTilingFeatures = " .+                      showsPrec d (vkOptimalTilingFeatures x) .+                        showString ", " .+                          showString "vkBufferFeatures = " .+                            showsPrec d (vkBufferFeatures x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkFormatProperties2KHR.hsc view
@@ -0,0 +1,217 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkFormatProperties2KHR+       (VkFormatProperties2KHR(..)) 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.VkFormatProperties (VkFormatProperties)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                (unsafeDupablePerformIO)++-- | > typedef struct VkFormatProperties2KHR {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     VkFormatProperties               formatProperties;+--   > } VkFormatProperties2KHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkFormatProperties2KHR.html VkFormatProperties2KHR registry at www.khronos.org>+data VkFormatProperties2KHR = VkFormatProperties2KHR## Addr##+                                                      ByteArray##++instance Eq VkFormatProperties2KHR where+        (VkFormatProperties2KHR## a _) == x@(VkFormatProperties2KHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkFormatProperties2KHR where+        (VkFormatProperties2KHR## a _) `compare`+          x@(VkFormatProperties2KHR## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkFormatProperties2KHR where+        sizeOf ~_ = #{size VkFormatProperties2KHR}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkFormatProperties2KHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkFormatProperties2KHR where+        unsafeAddr (VkFormatProperties2KHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkFormatProperties2KHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkFormatProperties2KHR## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkFormatProperties2KHR where+        type StructFields VkFormatProperties2KHR =+             '["sType", "pNext", "formatProperties"] -- ' closing tick for hsc2hs+        type CUnionType VkFormatProperties2KHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkFormatProperties2KHR = 'True -- ' closing tick for hsc2hs+        type StructExtends VkFormatProperties2KHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSType VkFormatProperties2KHR+         where+        type VkSTypeMType VkFormatProperties2KHR = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFormatProperties2KHR, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkFormatProperties2KHR, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkFormatProperties2KHR, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkFormatProperties2KHR, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkFormatProperties2KHR where+        type FieldType "sType" VkFormatProperties2KHR = VkStructureType+        type FieldOptional "sType" VkFormatProperties2KHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkFormatProperties2KHR =+             #{offset VkFormatProperties2KHR, sType}+        type FieldIsArray "sType" VkFormatProperties2KHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkFormatProperties2KHR, sType}++instance CanReadField "sType" VkFormatProperties2KHR where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance {-# OVERLAPPING #-} HasVkPNext VkFormatProperties2KHR+         where+        type VkPNextMType VkFormatProperties2KHR = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFormatProperties2KHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkFormatProperties2KHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkFormatProperties2KHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkFormatProperties2KHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkFormatProperties2KHR where+        type FieldType "pNext" VkFormatProperties2KHR = Ptr Void+        type FieldOptional "pNext" VkFormatProperties2KHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkFormatProperties2KHR =+             #{offset VkFormatProperties2KHR, pNext}+        type FieldIsArray "pNext" VkFormatProperties2KHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkFormatProperties2KHR, pNext}++instance CanReadField "pNext" VkFormatProperties2KHR where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance {-# OVERLAPPING #-}+         HasVkFormatProperties VkFormatProperties2KHR where+        type VkFormatPropertiesMType VkFormatProperties2KHR =+             VkFormatProperties++        {-# NOINLINE vkFormatProperties #-}+        vkFormatProperties x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFormatProperties2KHR, formatProperties})++        {-# INLINE vkFormatPropertiesByteOffset #-}+        vkFormatPropertiesByteOffset ~_+          = #{offset VkFormatProperties2KHR, formatProperties}++        {-# INLINE readVkFormatProperties #-}+        readVkFormatProperties p+          = peekByteOff p #{offset VkFormatProperties2KHR, formatProperties}++        {-# INLINE writeVkFormatProperties #-}+        writeVkFormatProperties p+          = pokeByteOff p #{offset VkFormatProperties2KHR, formatProperties}++instance {-# OVERLAPPING #-}+         HasField "formatProperties" VkFormatProperties2KHR where+        type FieldType "formatProperties" VkFormatProperties2KHR =+             VkFormatProperties+        type FieldOptional "formatProperties" VkFormatProperties2KHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "formatProperties" VkFormatProperties2KHR =+             #{offset VkFormatProperties2KHR, formatProperties}+        type FieldIsArray "formatProperties" VkFormatProperties2KHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkFormatProperties2KHR, formatProperties}++instance CanReadField "formatProperties" VkFormatProperties2KHR+         where+        {-# INLINE getField #-}+        getField = vkFormatProperties++        {-# INLINE readField #-}+        readField = readVkFormatProperties++instance Show VkFormatProperties2KHR where+        showsPrec d x+          = showString "VkFormatProperties2KHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFormatProperties = " .+                            showsPrec d (vkFormatProperties x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkFramebufferCreateInfo.hsc view
@@ -0,0 +1,537 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkFramebufferCreateInfo+       (VkFramebufferCreateInfo(..)) where+import           Foreign.Storable                           (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Bitmasks             (VkFramebufferCreateFlags)+import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)+import           Graphics.Vulkan.Types.Handles              (VkImageView,+                                                             VkRenderPass)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > 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;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkFramebufferCreateInfo.html VkFramebufferCreateInfo registry at www.khronos.org>+data VkFramebufferCreateInfo = VkFramebufferCreateInfo## Addr##+                                                        ByteArray##++instance Eq VkFramebufferCreateInfo where+        (VkFramebufferCreateInfo## a _) == x@(VkFramebufferCreateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkFramebufferCreateInfo where+        (VkFramebufferCreateInfo## a _) `compare`+          x@(VkFramebufferCreateInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkFramebufferCreateInfo where+        sizeOf ~_ = #{size VkFramebufferCreateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkFramebufferCreateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkFramebufferCreateInfo where+        unsafeAddr (VkFramebufferCreateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkFramebufferCreateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkFramebufferCreateInfo## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkFramebufferCreateInfo where+        type StructFields VkFramebufferCreateInfo =+             '["sType", "pNext", "flags", "renderPass", "attachmentCount", -- ' closing tick for hsc2hs+               "pAttachments", "width", "height", "layers"]+        type CUnionType VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs+        type StructExtends VkFramebufferCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSType VkFramebufferCreateInfo+         where+        type VkSTypeMType VkFramebufferCreateInfo = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkFramebufferCreateInfo, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkFramebufferCreateInfo, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkFramebufferCreateInfo, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkFramebufferCreateInfo where+        type FieldType "sType" VkFramebufferCreateInfo = VkStructureType+        type FieldOptional "sType" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkFramebufferCreateInfo =+             #{offset VkFramebufferCreateInfo, sType}+        type FieldIsArray "sType" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkFramebufferCreateInfo, sType}++instance CanReadField "sType" VkFramebufferCreateInfo where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkFramebufferCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-} HasVkPNext VkFramebufferCreateInfo+         where+        type VkPNextMType VkFramebufferCreateInfo = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkFramebufferCreateInfo, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkFramebufferCreateInfo, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkFramebufferCreateInfo, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkFramebufferCreateInfo where+        type FieldType "pNext" VkFramebufferCreateInfo = Ptr Void+        type FieldOptional "pNext" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkFramebufferCreateInfo =+             #{offset VkFramebufferCreateInfo, pNext}+        type FieldIsArray "pNext" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkFramebufferCreateInfo, pNext}++instance CanReadField "pNext" VkFramebufferCreateInfo where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkFramebufferCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-} HasVkFlags VkFramebufferCreateInfo+         where+        type VkFlagsMType VkFramebufferCreateInfo =+             VkFramebufferCreateFlags++        {-# NOINLINE vkFlags #-}+        vkFlags x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, flags})++        {-# INLINE vkFlagsByteOffset #-}+        vkFlagsByteOffset ~_+          = #{offset VkFramebufferCreateInfo, flags}++        {-# INLINE readVkFlags #-}+        readVkFlags p+          = peekByteOff p #{offset VkFramebufferCreateInfo, flags}++        {-# INLINE writeVkFlags #-}+        writeVkFlags p+          = pokeByteOff p #{offset VkFramebufferCreateInfo, flags}++instance {-# OVERLAPPING #-}+         HasField "flags" VkFramebufferCreateInfo where+        type FieldType "flags" VkFramebufferCreateInfo =+             VkFramebufferCreateFlags+        type FieldOptional "flags" VkFramebufferCreateInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkFramebufferCreateInfo =+             #{offset VkFramebufferCreateInfo, flags}+        type FieldIsArray "flags" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkFramebufferCreateInfo, flags}++instance CanReadField "flags" VkFramebufferCreateInfo where+        {-# INLINE getField #-}+        getField = vkFlags++        {-# INLINE readField #-}+        readField = readVkFlags++instance CanWriteField "flags" VkFramebufferCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkFlags++instance {-# OVERLAPPING #-}+         HasVkRenderPass VkFramebufferCreateInfo where+        type VkRenderPassMType VkFramebufferCreateInfo = VkRenderPass++        {-# NOINLINE vkRenderPass #-}+        vkRenderPass x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, renderPass})++        {-# INLINE vkRenderPassByteOffset #-}+        vkRenderPassByteOffset ~_+          = #{offset VkFramebufferCreateInfo, renderPass}++        {-# INLINE readVkRenderPass #-}+        readVkRenderPass p+          = peekByteOff p #{offset VkFramebufferCreateInfo, renderPass}++        {-# INLINE writeVkRenderPass #-}+        writeVkRenderPass p+          = pokeByteOff p #{offset VkFramebufferCreateInfo, renderPass}++instance {-# OVERLAPPING #-}+         HasField "renderPass" VkFramebufferCreateInfo where+        type FieldType "renderPass" VkFramebufferCreateInfo = VkRenderPass+        type FieldOptional "renderPass" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "renderPass" VkFramebufferCreateInfo =+             #{offset VkFramebufferCreateInfo, renderPass}+        type FieldIsArray "renderPass" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkFramebufferCreateInfo, renderPass}++instance CanReadField "renderPass" VkFramebufferCreateInfo where+        {-# INLINE getField #-}+        getField = vkRenderPass++        {-# INLINE readField #-}+        readField = readVkRenderPass++instance CanWriteField "renderPass" VkFramebufferCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkRenderPass++instance {-# OVERLAPPING #-}+         HasVkAttachmentCount VkFramebufferCreateInfo where+        type VkAttachmentCountMType VkFramebufferCreateInfo = Word32++        {-# NOINLINE vkAttachmentCount #-}+        vkAttachmentCount x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, attachmentCount})++        {-# INLINE vkAttachmentCountByteOffset #-}+        vkAttachmentCountByteOffset ~_+          = #{offset VkFramebufferCreateInfo, attachmentCount}++        {-# INLINE readVkAttachmentCount #-}+        readVkAttachmentCount p+          = peekByteOff p #{offset VkFramebufferCreateInfo, attachmentCount}++        {-# INLINE writeVkAttachmentCount #-}+        writeVkAttachmentCount p+          = pokeByteOff p #{offset VkFramebufferCreateInfo, attachmentCount}++instance {-# OVERLAPPING #-}+         HasField "attachmentCount" VkFramebufferCreateInfo where+        type FieldType "attachmentCount" VkFramebufferCreateInfo = Word32+        type FieldOptional "attachmentCount" VkFramebufferCreateInfo =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "attachmentCount" VkFramebufferCreateInfo =+             #{offset VkFramebufferCreateInfo, attachmentCount}+        type FieldIsArray "attachmentCount" VkFramebufferCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkFramebufferCreateInfo, attachmentCount}++instance CanReadField "attachmentCount" VkFramebufferCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkAttachmentCount++        {-# INLINE readField #-}+        readField = readVkAttachmentCount++instance CanWriteField "attachmentCount" VkFramebufferCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkAttachmentCount++instance {-# OVERLAPPING #-}+         HasVkPAttachments VkFramebufferCreateInfo where+        type VkPAttachmentsMType VkFramebufferCreateInfo = Ptr VkImageView++        {-# NOINLINE vkPAttachments #-}+        vkPAttachments x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, pAttachments})++        {-# INLINE vkPAttachmentsByteOffset #-}+        vkPAttachmentsByteOffset ~_+          = #{offset VkFramebufferCreateInfo, pAttachments}++        {-# INLINE readVkPAttachments #-}+        readVkPAttachments p+          = peekByteOff p #{offset VkFramebufferCreateInfo, pAttachments}++        {-# INLINE writeVkPAttachments #-}+        writeVkPAttachments p+          = pokeByteOff p #{offset VkFramebufferCreateInfo, pAttachments}++instance {-# OVERLAPPING #-}+         HasField "pAttachments" VkFramebufferCreateInfo where+        type FieldType "pAttachments" VkFramebufferCreateInfo =+             Ptr VkImageView+        type FieldOptional "pAttachments" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pAttachments" VkFramebufferCreateInfo =+             #{offset VkFramebufferCreateInfo, pAttachments}+        type FieldIsArray "pAttachments" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkFramebufferCreateInfo, pAttachments}++instance CanReadField "pAttachments" VkFramebufferCreateInfo where+        {-# INLINE getField #-}+        getField = vkPAttachments++        {-# INLINE readField #-}+        readField = readVkPAttachments++instance CanWriteField "pAttachments" VkFramebufferCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkPAttachments++instance {-# OVERLAPPING #-} HasVkWidth VkFramebufferCreateInfo+         where+        type VkWidthMType VkFramebufferCreateInfo = Word32++        {-# NOINLINE vkWidth #-}+        vkWidth x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, width})++        {-# INLINE vkWidthByteOffset #-}+        vkWidthByteOffset ~_+          = #{offset VkFramebufferCreateInfo, width}++        {-# INLINE readVkWidth #-}+        readVkWidth p+          = peekByteOff p #{offset VkFramebufferCreateInfo, width}++        {-# INLINE writeVkWidth #-}+        writeVkWidth p+          = pokeByteOff p #{offset VkFramebufferCreateInfo, width}++instance {-# OVERLAPPING #-}+         HasField "width" VkFramebufferCreateInfo where+        type FieldType "width" VkFramebufferCreateInfo = Word32+        type FieldOptional "width" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "width" VkFramebufferCreateInfo =+             #{offset VkFramebufferCreateInfo, width}+        type FieldIsArray "width" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkFramebufferCreateInfo, width}++instance CanReadField "width" VkFramebufferCreateInfo where+        {-# INLINE getField #-}+        getField = vkWidth++        {-# INLINE readField #-}+        readField = readVkWidth++instance CanWriteField "width" VkFramebufferCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkWidth++instance {-# OVERLAPPING #-} HasVkHeight VkFramebufferCreateInfo+         where+        type VkHeightMType VkFramebufferCreateInfo = Word32++        {-# NOINLINE vkHeight #-}+        vkHeight x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, height})++        {-# INLINE vkHeightByteOffset #-}+        vkHeightByteOffset ~_+          = #{offset VkFramebufferCreateInfo, height}++        {-# INLINE readVkHeight #-}+        readVkHeight p+          = peekByteOff p #{offset VkFramebufferCreateInfo, height}++        {-# INLINE writeVkHeight #-}+        writeVkHeight p+          = pokeByteOff p #{offset VkFramebufferCreateInfo, height}++instance {-# OVERLAPPING #-}+         HasField "height" VkFramebufferCreateInfo where+        type FieldType "height" VkFramebufferCreateInfo = Word32+        type FieldOptional "height" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "height" VkFramebufferCreateInfo =+             #{offset VkFramebufferCreateInfo, height}+        type FieldIsArray "height" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkFramebufferCreateInfo, height}++instance CanReadField "height" VkFramebufferCreateInfo where+        {-# INLINE getField #-}+        getField = vkHeight++        {-# INLINE readField #-}+        readField = readVkHeight++instance CanWriteField "height" VkFramebufferCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkHeight++instance {-# OVERLAPPING #-} HasVkLayers VkFramebufferCreateInfo+         where+        type VkLayersMType VkFramebufferCreateInfo = Word32++        {-# NOINLINE vkLayers #-}+        vkLayers x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, layers})++        {-# INLINE vkLayersByteOffset #-}+        vkLayersByteOffset ~_+          = #{offset VkFramebufferCreateInfo, layers}++        {-# INLINE readVkLayers #-}+        readVkLayers p+          = peekByteOff p #{offset VkFramebufferCreateInfo, layers}++        {-# INLINE writeVkLayers #-}+        writeVkLayers p+          = pokeByteOff p #{offset VkFramebufferCreateInfo, layers}++instance {-# OVERLAPPING #-}+         HasField "layers" VkFramebufferCreateInfo where+        type FieldType "layers" VkFramebufferCreateInfo = Word32+        type FieldOptional "layers" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "layers" VkFramebufferCreateInfo =+             #{offset VkFramebufferCreateInfo, layers}+        type FieldIsArray "layers" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkFramebufferCreateInfo, layers}++instance CanReadField "layers" VkFramebufferCreateInfo where+        {-# INLINE getField #-}+        getField = vkLayers++        {-# INLINE readField #-}+        readField = readVkLayers++instance CanWriteField "layers" VkFramebufferCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkLayers++instance Show VkFramebufferCreateInfo where+        showsPrec d x+          = showString "VkFramebufferCreateInfo {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFlags = " .+                            showsPrec d (vkFlags x) .+                              showString ", " .+                                showString "vkRenderPass = " .+                                  showsPrec d (vkRenderPass x) .+                                    showString ", " .+                                      showString "vkAttachmentCount = " .+                                        showsPrec d (vkAttachmentCount x) .+                                          showString ", " .+                                            showString "vkPAttachments = " .+                                              showsPrec d (vkPAttachments x) .+                                                showString ", " .+                                                  showString "vkWidth = " .+                                                    showsPrec d (vkWidth x) .+                                                      showString ", " .+                                                        showString "vkHeight = " .+                                                          showsPrec d (vkHeight x) .+                                                            showString ", " .+                                                              showString "vkLayers = " .+                                                                showsPrec d (vkLayers x) .+                                                                  showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkGraphicsPipelineCreateInfo.hsc view
@@ -0,0 +1,1260 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkGraphicsPipelineCreateInfo+       (VkGraphicsPipelineCreateInfo(..)) where+import           Foreign.Storable+                                                                                      (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkPipelineCreateFlags+                                                                                      (VkPipelineCreateFlags)+import           Graphics.Vulkan.Types.Enum.VkStructureType+                                                                                      (VkStructureType)+import           Graphics.Vulkan.Types.Handles+                                                                                      (VkPipeline,+                                                                                      VkPipelineLayout,+                                                                                      VkRenderPass)+import           Graphics.Vulkan.Types.Struct.VkPipelineColorBlendStateCreateInfo+                                                                                      (VkPipelineColorBlendStateCreateInfo)+import           Graphics.Vulkan.Types.Struct.VkPipelineDepthStencilStateCreateInfo+                                                                                      (VkPipelineDepthStencilStateCreateInfo)+import           Graphics.Vulkan.Types.Struct.VkPipelineDynamicStateCreateInfo+                                                                                      (VkPipelineDynamicStateCreateInfo)+import           Graphics.Vulkan.Types.Struct.VkPipelineInputAssemblyStateCreateInfo+                                                                                      (VkPipelineInputAssemblyStateCreateInfo)+import           Graphics.Vulkan.Types.Struct.VkPipelineMultisampleStateCreateInfo+                                                                                      (VkPipelineMultisampleStateCreateInfo)+import           Graphics.Vulkan.Types.Struct.VkPipelineRasterizationStateCreateInfo+                                                                                      (VkPipelineRasterizationStateCreateInfo)+import           Graphics.Vulkan.Types.Struct.VkPipelineShaderStageCreateInfo+                                                                                      (VkPipelineShaderStageCreateInfo)+import           Graphics.Vulkan.Types.Struct.VkPipelineTessellationStateCreateInfo+                                                                                      (VkPipelineTessellationStateCreateInfo)+import           Graphics.Vulkan.Types.Struct.VkPipelineVertexInputStateCreateInfo+                                                                                      (VkPipelineVertexInputStateCreateInfo)+import           Graphics.Vulkan.Types.Struct.VkPipelineViewportStateCreateInfo+                                                                                      (VkPipelineViewportStateCreateInfo)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe+                                                                                      (unsafeDupablePerformIO)++-- | > 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;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkGraphicsPipelineCreateInfo.html VkGraphicsPipelineCreateInfo registry at www.khronos.org>+data VkGraphicsPipelineCreateInfo = VkGraphicsPipelineCreateInfo## Addr##+                                                                  ByteArray##++instance Eq VkGraphicsPipelineCreateInfo where+        (VkGraphicsPipelineCreateInfo## a _) ==+          x@(VkGraphicsPipelineCreateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkGraphicsPipelineCreateInfo where+        (VkGraphicsPipelineCreateInfo## a _) `compare`+          x@(VkGraphicsPipelineCreateInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkGraphicsPipelineCreateInfo where+        sizeOf ~_ = #{size VkGraphicsPipelineCreateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkGraphicsPipelineCreateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkGraphicsPipelineCreateInfo where+        unsafeAddr (VkGraphicsPipelineCreateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkGraphicsPipelineCreateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkGraphicsPipelineCreateInfo##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkGraphicsPipelineCreateInfo where+        type StructFields VkGraphicsPipelineCreateInfo =+             '["sType", "pNext", "flags", "stageCount", "pStages", -- ' closing tick for hsc2hs+               "pVertexInputState", "pInputAssemblyState", "pTessellationState",+               "pViewportState", "pRasterizationState", "pMultisampleState",+               "pDepthStencilState", "pColorBlendState", "pDynamicState",+               "layout", "renderPass", "subpass", "basePipelineHandle",+               "basePipelineIndex"]+        type CUnionType VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs+        type StructExtends VkGraphicsPipelineCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkSType VkGraphicsPipelineCreateInfo where+        type VkSTypeMType VkGraphicsPipelineCreateInfo = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkGraphicsPipelineCreateInfo, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkGraphicsPipelineCreateInfo where+        type FieldType "sType" VkGraphicsPipelineCreateInfo =+             VkStructureType+        type FieldOptional "sType" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkGraphicsPipelineCreateInfo =+             #{offset VkGraphicsPipelineCreateInfo, sType}+        type FieldIsArray "sType" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkGraphicsPipelineCreateInfo, sType}++instance CanReadField "sType" VkGraphicsPipelineCreateInfo where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkGraphicsPipelineCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-}+         HasVkPNext VkGraphicsPipelineCreateInfo where+        type VkPNextMType VkGraphicsPipelineCreateInfo = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkGraphicsPipelineCreateInfo, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkGraphicsPipelineCreateInfo where+        type FieldType "pNext" VkGraphicsPipelineCreateInfo = Ptr Void+        type FieldOptional "pNext" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkGraphicsPipelineCreateInfo =+             #{offset VkGraphicsPipelineCreateInfo, pNext}+        type FieldIsArray "pNext" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkGraphicsPipelineCreateInfo, pNext}++instance CanReadField "pNext" VkGraphicsPipelineCreateInfo where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkGraphicsPipelineCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-}+         HasVkFlags VkGraphicsPipelineCreateInfo where+        type VkFlagsMType VkGraphicsPipelineCreateInfo =+             VkPipelineCreateFlags++        {-# NOINLINE vkFlags #-}+        vkFlags x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, flags})++        {-# INLINE vkFlagsByteOffset #-}+        vkFlagsByteOffset ~_+          = #{offset VkGraphicsPipelineCreateInfo, flags}++        {-# INLINE readVkFlags #-}+        readVkFlags p+          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, flags}++        {-# INLINE writeVkFlags #-}+        writeVkFlags p+          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, flags}++instance {-# OVERLAPPING #-}+         HasField "flags" VkGraphicsPipelineCreateInfo where+        type FieldType "flags" VkGraphicsPipelineCreateInfo =+             VkPipelineCreateFlags+        type FieldOptional "flags" VkGraphicsPipelineCreateInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkGraphicsPipelineCreateInfo =+             #{offset VkGraphicsPipelineCreateInfo, flags}+        type FieldIsArray "flags" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkGraphicsPipelineCreateInfo, flags}++instance CanReadField "flags" VkGraphicsPipelineCreateInfo where+        {-# INLINE getField #-}+        getField = vkFlags++        {-# INLINE readField #-}+        readField = readVkFlags++instance CanWriteField "flags" VkGraphicsPipelineCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkFlags++instance {-# OVERLAPPING #-}+         HasVkStageCount VkGraphicsPipelineCreateInfo where+        type VkStageCountMType VkGraphicsPipelineCreateInfo = Word32++        {-# NOINLINE vkStageCount #-}+        vkStageCount x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, stageCount})++        {-# INLINE vkStageCountByteOffset #-}+        vkStageCountByteOffset ~_+          = #{offset VkGraphicsPipelineCreateInfo, stageCount}++        {-# INLINE readVkStageCount #-}+        readVkStageCount p+          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, stageCount}++        {-# INLINE writeVkStageCount #-}+        writeVkStageCount p+          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, stageCount}++instance {-# OVERLAPPING #-}+         HasField "stageCount" VkGraphicsPipelineCreateInfo where+        type FieldType "stageCount" VkGraphicsPipelineCreateInfo = Word32+        type FieldOptional "stageCount" VkGraphicsPipelineCreateInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "stageCount" VkGraphicsPipelineCreateInfo =+             #{offset VkGraphicsPipelineCreateInfo, stageCount}+        type FieldIsArray "stageCount" VkGraphicsPipelineCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkGraphicsPipelineCreateInfo, stageCount}++instance CanReadField "stageCount" VkGraphicsPipelineCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkStageCount++        {-# INLINE readField #-}+        readField = readVkStageCount++instance CanWriteField "stageCount" VkGraphicsPipelineCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkStageCount++instance {-# OVERLAPPING #-}+         HasVkPStages VkGraphicsPipelineCreateInfo where+        type VkPStagesMType VkGraphicsPipelineCreateInfo =+             Ptr VkPipelineShaderStageCreateInfo++        {-# NOINLINE vkPStages #-}+        vkPStages x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pStages})++        {-# INLINE vkPStagesByteOffset #-}+        vkPStagesByteOffset ~_+          = #{offset VkGraphicsPipelineCreateInfo, pStages}++        {-# INLINE readVkPStages #-}+        readVkPStages p+          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pStages}++        {-# INLINE writeVkPStages #-}+        writeVkPStages p+          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pStages}++instance {-# OVERLAPPING #-}+         HasField "pStages" VkGraphicsPipelineCreateInfo where+        type FieldType "pStages" VkGraphicsPipelineCreateInfo =+             Ptr VkPipelineShaderStageCreateInfo+        type FieldOptional "pStages" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pStages" VkGraphicsPipelineCreateInfo =+             #{offset VkGraphicsPipelineCreateInfo, pStages}+        type FieldIsArray "pStages" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkGraphicsPipelineCreateInfo, pStages}++instance CanReadField "pStages" VkGraphicsPipelineCreateInfo where+        {-# INLINE getField #-}+        getField = vkPStages++        {-# INLINE readField #-}+        readField = readVkPStages++instance CanWriteField "pStages" VkGraphicsPipelineCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkPStages++instance {-# OVERLAPPING #-}+         HasVkPVertexInputState VkGraphicsPipelineCreateInfo where+        type VkPVertexInputStateMType VkGraphicsPipelineCreateInfo =+             Ptr VkPipelineVertexInputStateCreateInfo++        {-# NOINLINE vkPVertexInputState #-}+        vkPVertexInputState x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pVertexInputState})++        {-# INLINE vkPVertexInputStateByteOffset #-}+        vkPVertexInputStateByteOffset ~_+          = #{offset VkGraphicsPipelineCreateInfo, pVertexInputState}++        {-# INLINE readVkPVertexInputState #-}+        readVkPVertexInputState p+          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pVertexInputState}++        {-# INLINE writeVkPVertexInputState #-}+        writeVkPVertexInputState p+          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pVertexInputState}++instance {-# OVERLAPPING #-}+         HasField "pVertexInputState" VkGraphicsPipelineCreateInfo where+        type FieldType "pVertexInputState" VkGraphicsPipelineCreateInfo =+             Ptr VkPipelineVertexInputStateCreateInfo+        type FieldOptional "pVertexInputState" VkGraphicsPipelineCreateInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pVertexInputState" VkGraphicsPipelineCreateInfo =+             #{offset VkGraphicsPipelineCreateInfo, pVertexInputState}+        type FieldIsArray "pVertexInputState" VkGraphicsPipelineCreateInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkGraphicsPipelineCreateInfo, pVertexInputState}++instance CanReadField "pVertexInputState"+           VkGraphicsPipelineCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkPVertexInputState++        {-# INLINE readField #-}+        readField = readVkPVertexInputState++instance CanWriteField "pVertexInputState"+           VkGraphicsPipelineCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkPVertexInputState++instance {-# OVERLAPPING #-}+         HasVkPInputAssemblyState VkGraphicsPipelineCreateInfo where+        type VkPInputAssemblyStateMType VkGraphicsPipelineCreateInfo =+             Ptr VkPipelineInputAssemblyStateCreateInfo++        {-# NOINLINE vkPInputAssemblyState #-}+        vkPInputAssemblyState x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pInputAssemblyState})++        {-# INLINE vkPInputAssemblyStateByteOffset #-}+        vkPInputAssemblyStateByteOffset ~_+          = #{offset VkGraphicsPipelineCreateInfo, pInputAssemblyState}++        {-# INLINE readVkPInputAssemblyState #-}+        readVkPInputAssemblyState p+          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pInputAssemblyState}++        {-# INLINE writeVkPInputAssemblyState #-}+        writeVkPInputAssemblyState p+          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pInputAssemblyState}++instance {-# OVERLAPPING #-}+         HasField "pInputAssemblyState" VkGraphicsPipelineCreateInfo where+        type FieldType "pInputAssemblyState" VkGraphicsPipelineCreateInfo =+             Ptr VkPipelineInputAssemblyStateCreateInfo+        type FieldOptional "pInputAssemblyState"+               VkGraphicsPipelineCreateInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pInputAssemblyState" VkGraphicsPipelineCreateInfo+             =+             #{offset VkGraphicsPipelineCreateInfo, pInputAssemblyState}+        type FieldIsArray "pInputAssemblyState"+               VkGraphicsPipelineCreateInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkGraphicsPipelineCreateInfo, pInputAssemblyState}++instance CanReadField "pInputAssemblyState"+           VkGraphicsPipelineCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkPInputAssemblyState++        {-# INLINE readField #-}+        readField = readVkPInputAssemblyState++instance CanWriteField "pInputAssemblyState"+           VkGraphicsPipelineCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkPInputAssemblyState++instance {-# OVERLAPPING #-}+         HasVkPTessellationState VkGraphicsPipelineCreateInfo where+        type VkPTessellationStateMType VkGraphicsPipelineCreateInfo =+             Ptr VkPipelineTessellationStateCreateInfo++        {-# NOINLINE vkPTessellationState #-}+        vkPTessellationState x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pTessellationState})++        {-# INLINE vkPTessellationStateByteOffset #-}+        vkPTessellationStateByteOffset ~_+          = #{offset VkGraphicsPipelineCreateInfo, pTessellationState}++        {-# INLINE readVkPTessellationState #-}+        readVkPTessellationState p+          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pTessellationState}++        {-# INLINE writeVkPTessellationState #-}+        writeVkPTessellationState p+          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pTessellationState}++instance {-# OVERLAPPING #-}+         HasField "pTessellationState" VkGraphicsPipelineCreateInfo where+        type FieldType "pTessellationState" VkGraphicsPipelineCreateInfo =+             Ptr VkPipelineTessellationStateCreateInfo+        type FieldOptional "pTessellationState"+               VkGraphicsPipelineCreateInfo+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "pTessellationState" VkGraphicsPipelineCreateInfo+             =+             #{offset VkGraphicsPipelineCreateInfo, pTessellationState}+        type FieldIsArray "pTessellationState" VkGraphicsPipelineCreateInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkGraphicsPipelineCreateInfo, pTessellationState}++instance CanReadField "pTessellationState"+           VkGraphicsPipelineCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkPTessellationState++        {-# INLINE readField #-}+        readField = readVkPTessellationState++instance CanWriteField "pTessellationState"+           VkGraphicsPipelineCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkPTessellationState++instance {-# OVERLAPPING #-}+         HasVkPViewportState VkGraphicsPipelineCreateInfo where+        type VkPViewportStateMType VkGraphicsPipelineCreateInfo =+             Ptr VkPipelineViewportStateCreateInfo++        {-# NOINLINE vkPViewportState #-}+        vkPViewportState x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pViewportState})++        {-# INLINE vkPViewportStateByteOffset #-}+        vkPViewportStateByteOffset ~_+          = #{offset VkGraphicsPipelineCreateInfo, pViewportState}++        {-# INLINE readVkPViewportState #-}+        readVkPViewportState p+          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pViewportState}++        {-# INLINE writeVkPViewportState #-}+        writeVkPViewportState p+          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pViewportState}++instance {-# OVERLAPPING #-}+         HasField "pViewportState" VkGraphicsPipelineCreateInfo where+        type FieldType "pViewportState" VkGraphicsPipelineCreateInfo =+             Ptr VkPipelineViewportStateCreateInfo+        type FieldOptional "pViewportState" VkGraphicsPipelineCreateInfo =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "pViewportState" VkGraphicsPipelineCreateInfo =+             #{offset VkGraphicsPipelineCreateInfo, pViewportState}+        type FieldIsArray "pViewportState" VkGraphicsPipelineCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkGraphicsPipelineCreateInfo, pViewportState}++instance CanReadField "pViewportState" VkGraphicsPipelineCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkPViewportState++        {-# INLINE readField #-}+        readField = readVkPViewportState++instance CanWriteField "pViewportState"+           VkGraphicsPipelineCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkPViewportState++instance {-# OVERLAPPING #-}+         HasVkPRasterizationState VkGraphicsPipelineCreateInfo where+        type VkPRasterizationStateMType VkGraphicsPipelineCreateInfo =+             Ptr VkPipelineRasterizationStateCreateInfo++        {-# NOINLINE vkPRasterizationState #-}+        vkPRasterizationState x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pRasterizationState})++        {-# INLINE vkPRasterizationStateByteOffset #-}+        vkPRasterizationStateByteOffset ~_+          = #{offset VkGraphicsPipelineCreateInfo, pRasterizationState}++        {-# INLINE readVkPRasterizationState #-}+        readVkPRasterizationState p+          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pRasterizationState}++        {-# INLINE writeVkPRasterizationState #-}+        writeVkPRasterizationState p+          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pRasterizationState}++instance {-# OVERLAPPING #-}+         HasField "pRasterizationState" VkGraphicsPipelineCreateInfo where+        type FieldType "pRasterizationState" VkGraphicsPipelineCreateInfo =+             Ptr VkPipelineRasterizationStateCreateInfo+        type FieldOptional "pRasterizationState"+               VkGraphicsPipelineCreateInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pRasterizationState" VkGraphicsPipelineCreateInfo+             =+             #{offset VkGraphicsPipelineCreateInfo, pRasterizationState}+        type FieldIsArray "pRasterizationState"+               VkGraphicsPipelineCreateInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkGraphicsPipelineCreateInfo, pRasterizationState}++instance CanReadField "pRasterizationState"+           VkGraphicsPipelineCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkPRasterizationState++        {-# INLINE readField #-}+        readField = readVkPRasterizationState++instance CanWriteField "pRasterizationState"+           VkGraphicsPipelineCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkPRasterizationState++instance {-# OVERLAPPING #-}+         HasVkPMultisampleState VkGraphicsPipelineCreateInfo where+        type VkPMultisampleStateMType VkGraphicsPipelineCreateInfo =+             Ptr VkPipelineMultisampleStateCreateInfo++        {-# NOINLINE vkPMultisampleState #-}+        vkPMultisampleState x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pMultisampleState})++        {-# INLINE vkPMultisampleStateByteOffset #-}+        vkPMultisampleStateByteOffset ~_+          = #{offset VkGraphicsPipelineCreateInfo, pMultisampleState}++        {-# INLINE readVkPMultisampleState #-}+        readVkPMultisampleState p+          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pMultisampleState}++        {-# INLINE writeVkPMultisampleState #-}+        writeVkPMultisampleState p+          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pMultisampleState}++instance {-# OVERLAPPING #-}+         HasField "pMultisampleState" VkGraphicsPipelineCreateInfo where+        type FieldType "pMultisampleState" VkGraphicsPipelineCreateInfo =+             Ptr VkPipelineMultisampleStateCreateInfo+        type FieldOptional "pMultisampleState" VkGraphicsPipelineCreateInfo+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "pMultisampleState" VkGraphicsPipelineCreateInfo =+             #{offset VkGraphicsPipelineCreateInfo, pMultisampleState}+        type FieldIsArray "pMultisampleState" VkGraphicsPipelineCreateInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkGraphicsPipelineCreateInfo, pMultisampleState}++instance CanReadField "pMultisampleState"+           VkGraphicsPipelineCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkPMultisampleState++        {-# INLINE readField #-}+        readField = readVkPMultisampleState++instance CanWriteField "pMultisampleState"+           VkGraphicsPipelineCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkPMultisampleState++instance {-# OVERLAPPING #-}+         HasVkPDepthStencilState VkGraphicsPipelineCreateInfo where+        type VkPDepthStencilStateMType VkGraphicsPipelineCreateInfo =+             Ptr VkPipelineDepthStencilStateCreateInfo++        {-# NOINLINE vkPDepthStencilState #-}+        vkPDepthStencilState x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pDepthStencilState})++        {-# INLINE vkPDepthStencilStateByteOffset #-}+        vkPDepthStencilStateByteOffset ~_+          = #{offset VkGraphicsPipelineCreateInfo, pDepthStencilState}++        {-# INLINE readVkPDepthStencilState #-}+        readVkPDepthStencilState p+          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pDepthStencilState}++        {-# INLINE writeVkPDepthStencilState #-}+        writeVkPDepthStencilState p+          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pDepthStencilState}++instance {-# OVERLAPPING #-}+         HasField "pDepthStencilState" VkGraphicsPipelineCreateInfo where+        type FieldType "pDepthStencilState" VkGraphicsPipelineCreateInfo =+             Ptr VkPipelineDepthStencilStateCreateInfo+        type FieldOptional "pDepthStencilState"+               VkGraphicsPipelineCreateInfo+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "pDepthStencilState" VkGraphicsPipelineCreateInfo+             =+             #{offset VkGraphicsPipelineCreateInfo, pDepthStencilState}+        type FieldIsArray "pDepthStencilState" VkGraphicsPipelineCreateInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkGraphicsPipelineCreateInfo, pDepthStencilState}++instance CanReadField "pDepthStencilState"+           VkGraphicsPipelineCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkPDepthStencilState++        {-# INLINE readField #-}+        readField = readVkPDepthStencilState++instance CanWriteField "pDepthStencilState"+           VkGraphicsPipelineCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkPDepthStencilState++instance {-# OVERLAPPING #-}+         HasVkPColorBlendState VkGraphicsPipelineCreateInfo where+        type VkPColorBlendStateMType VkGraphicsPipelineCreateInfo =+             Ptr VkPipelineColorBlendStateCreateInfo++        {-# NOINLINE vkPColorBlendState #-}+        vkPColorBlendState x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pColorBlendState})++        {-# INLINE vkPColorBlendStateByteOffset #-}+        vkPColorBlendStateByteOffset ~_+          = #{offset VkGraphicsPipelineCreateInfo, pColorBlendState}++        {-# INLINE readVkPColorBlendState #-}+        readVkPColorBlendState p+          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pColorBlendState}++        {-# INLINE writeVkPColorBlendState #-}+        writeVkPColorBlendState p+          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pColorBlendState}++instance {-# OVERLAPPING #-}+         HasField "pColorBlendState" VkGraphicsPipelineCreateInfo where+        type FieldType "pColorBlendState" VkGraphicsPipelineCreateInfo =+             Ptr VkPipelineColorBlendStateCreateInfo+        type FieldOptional "pColorBlendState" VkGraphicsPipelineCreateInfo+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "pColorBlendState" VkGraphicsPipelineCreateInfo =+             #{offset VkGraphicsPipelineCreateInfo, pColorBlendState}+        type FieldIsArray "pColorBlendState" VkGraphicsPipelineCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkGraphicsPipelineCreateInfo, pColorBlendState}++instance CanReadField "pColorBlendState"+           VkGraphicsPipelineCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkPColorBlendState++        {-# INLINE readField #-}+        readField = readVkPColorBlendState++instance CanWriteField "pColorBlendState"+           VkGraphicsPipelineCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkPColorBlendState++instance {-# OVERLAPPING #-}+         HasVkPDynamicState VkGraphicsPipelineCreateInfo where+        type VkPDynamicStateMType VkGraphicsPipelineCreateInfo =+             Ptr VkPipelineDynamicStateCreateInfo++        {-# NOINLINE vkPDynamicState #-}+        vkPDynamicState x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pDynamicState})++        {-# INLINE vkPDynamicStateByteOffset #-}+        vkPDynamicStateByteOffset ~_+          = #{offset VkGraphicsPipelineCreateInfo, pDynamicState}++        {-# INLINE readVkPDynamicState #-}+        readVkPDynamicState p+          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pDynamicState}++        {-# INLINE writeVkPDynamicState #-}+        writeVkPDynamicState p+          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pDynamicState}++instance {-# OVERLAPPING #-}+         HasField "pDynamicState" VkGraphicsPipelineCreateInfo where+        type FieldType "pDynamicState" VkGraphicsPipelineCreateInfo =+             Ptr VkPipelineDynamicStateCreateInfo+        type FieldOptional "pDynamicState" VkGraphicsPipelineCreateInfo =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "pDynamicState" VkGraphicsPipelineCreateInfo =+             #{offset VkGraphicsPipelineCreateInfo, pDynamicState}+        type FieldIsArray "pDynamicState" VkGraphicsPipelineCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkGraphicsPipelineCreateInfo, pDynamicState}++instance CanReadField "pDynamicState" VkGraphicsPipelineCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkPDynamicState++        {-# INLINE readField #-}+        readField = readVkPDynamicState++instance CanWriteField "pDynamicState" VkGraphicsPipelineCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkPDynamicState++instance {-# OVERLAPPING #-}+         HasVkLayout VkGraphicsPipelineCreateInfo where+        type VkLayoutMType VkGraphicsPipelineCreateInfo = VkPipelineLayout++        {-# NOINLINE vkLayout #-}+        vkLayout x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, layout})++        {-# INLINE vkLayoutByteOffset #-}+        vkLayoutByteOffset ~_+          = #{offset VkGraphicsPipelineCreateInfo, layout}++        {-# INLINE readVkLayout #-}+        readVkLayout p+          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, layout}++        {-# INLINE writeVkLayout #-}+        writeVkLayout p+          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, layout}++instance {-# OVERLAPPING #-}+         HasField "layout" VkGraphicsPipelineCreateInfo where+        type FieldType "layout" VkGraphicsPipelineCreateInfo =+             VkPipelineLayout+        type FieldOptional "layout" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "layout" VkGraphicsPipelineCreateInfo =+             #{offset VkGraphicsPipelineCreateInfo, layout}+        type FieldIsArray "layout" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkGraphicsPipelineCreateInfo, layout}++instance CanReadField "layout" VkGraphicsPipelineCreateInfo where+        {-# INLINE getField #-}+        getField = vkLayout++        {-# INLINE readField #-}+        readField = readVkLayout++instance CanWriteField "layout" VkGraphicsPipelineCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkLayout++instance {-# OVERLAPPING #-}+         HasVkRenderPass VkGraphicsPipelineCreateInfo where+        type VkRenderPassMType VkGraphicsPipelineCreateInfo = VkRenderPass++        {-# NOINLINE vkRenderPass #-}+        vkRenderPass x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, renderPass})++        {-# INLINE vkRenderPassByteOffset #-}+        vkRenderPassByteOffset ~_+          = #{offset VkGraphicsPipelineCreateInfo, renderPass}++        {-# INLINE readVkRenderPass #-}+        readVkRenderPass p+          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, renderPass}++        {-# INLINE writeVkRenderPass #-}+        writeVkRenderPass p+          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, renderPass}++instance {-# OVERLAPPING #-}+         HasField "renderPass" VkGraphicsPipelineCreateInfo where+        type FieldType "renderPass" VkGraphicsPipelineCreateInfo =+             VkRenderPass+        type FieldOptional "renderPass" VkGraphicsPipelineCreateInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "renderPass" VkGraphicsPipelineCreateInfo =+             #{offset VkGraphicsPipelineCreateInfo, renderPass}+        type FieldIsArray "renderPass" VkGraphicsPipelineCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkGraphicsPipelineCreateInfo, renderPass}++instance CanReadField "renderPass" VkGraphicsPipelineCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkRenderPass++        {-# INLINE readField #-}+        readField = readVkRenderPass++instance CanWriteField "renderPass" VkGraphicsPipelineCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkRenderPass++instance {-# OVERLAPPING #-}+         HasVkSubpass VkGraphicsPipelineCreateInfo where+        type VkSubpassMType VkGraphicsPipelineCreateInfo = Word32++        {-# NOINLINE vkSubpass #-}+        vkSubpass x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, subpass})++        {-# INLINE vkSubpassByteOffset #-}+        vkSubpassByteOffset ~_+          = #{offset VkGraphicsPipelineCreateInfo, subpass}++        {-# INLINE readVkSubpass #-}+        readVkSubpass p+          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, subpass}++        {-# INLINE writeVkSubpass #-}+        writeVkSubpass p+          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, subpass}++instance {-# OVERLAPPING #-}+         HasField "subpass" VkGraphicsPipelineCreateInfo where+        type FieldType "subpass" VkGraphicsPipelineCreateInfo = Word32+        type FieldOptional "subpass" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "subpass" VkGraphicsPipelineCreateInfo =+             #{offset VkGraphicsPipelineCreateInfo, subpass}+        type FieldIsArray "subpass" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkGraphicsPipelineCreateInfo, subpass}++instance CanReadField "subpass" VkGraphicsPipelineCreateInfo where+        {-# INLINE getField #-}+        getField = vkSubpass++        {-# INLINE readField #-}+        readField = readVkSubpass++instance CanWriteField "subpass" VkGraphicsPipelineCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkSubpass++instance {-# OVERLAPPING #-}+         HasVkBasePipelineHandle VkGraphicsPipelineCreateInfo where+        type VkBasePipelineHandleMType VkGraphicsPipelineCreateInfo =+             VkPipeline++        {-# NOINLINE vkBasePipelineHandle #-}+        vkBasePipelineHandle x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, basePipelineHandle})++        {-# INLINE vkBasePipelineHandleByteOffset #-}+        vkBasePipelineHandleByteOffset ~_+          = #{offset VkGraphicsPipelineCreateInfo, basePipelineHandle}++        {-# INLINE readVkBasePipelineHandle #-}+        readVkBasePipelineHandle p+          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, basePipelineHandle}++        {-# INLINE writeVkBasePipelineHandle #-}+        writeVkBasePipelineHandle p+          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, basePipelineHandle}++instance {-# OVERLAPPING #-}+         HasField "basePipelineHandle" VkGraphicsPipelineCreateInfo where+        type FieldType "basePipelineHandle" VkGraphicsPipelineCreateInfo =+             VkPipeline+        type FieldOptional "basePipelineHandle"+               VkGraphicsPipelineCreateInfo+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "basePipelineHandle" VkGraphicsPipelineCreateInfo+             =+             #{offset VkGraphicsPipelineCreateInfo, basePipelineHandle}+        type FieldIsArray "basePipelineHandle" VkGraphicsPipelineCreateInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkGraphicsPipelineCreateInfo, basePipelineHandle}++instance CanReadField "basePipelineHandle"+           VkGraphicsPipelineCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkBasePipelineHandle++        {-# INLINE readField #-}+        readField = readVkBasePipelineHandle++instance CanWriteField "basePipelineHandle"+           VkGraphicsPipelineCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkBasePipelineHandle++instance {-# OVERLAPPING #-}+         HasVkBasePipelineIndex VkGraphicsPipelineCreateInfo where+        type VkBasePipelineIndexMType VkGraphicsPipelineCreateInfo = Int32++        {-# NOINLINE vkBasePipelineIndex #-}+        vkBasePipelineIndex x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, basePipelineIndex})++        {-# INLINE vkBasePipelineIndexByteOffset #-}+        vkBasePipelineIndexByteOffset ~_+          = #{offset VkGraphicsPipelineCreateInfo, basePipelineIndex}++        {-# INLINE readVkBasePipelineIndex #-}+        readVkBasePipelineIndex p+          = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, basePipelineIndex}++        {-# INLINE writeVkBasePipelineIndex #-}+        writeVkBasePipelineIndex p+          = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, basePipelineIndex}++instance {-# OVERLAPPING #-}+         HasField "basePipelineIndex" VkGraphicsPipelineCreateInfo where+        type FieldType "basePipelineIndex" VkGraphicsPipelineCreateInfo =+             Int32+        type FieldOptional "basePipelineIndex" VkGraphicsPipelineCreateInfo+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "basePipelineIndex" VkGraphicsPipelineCreateInfo =+             #{offset VkGraphicsPipelineCreateInfo, basePipelineIndex}+        type FieldIsArray "basePipelineIndex" VkGraphicsPipelineCreateInfo+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkGraphicsPipelineCreateInfo, basePipelineIndex}++instance CanReadField "basePipelineIndex"+           VkGraphicsPipelineCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkBasePipelineIndex++        {-# INLINE readField #-}+        readField = readVkBasePipelineIndex++instance CanWriteField "basePipelineIndex"+           VkGraphicsPipelineCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkBasePipelineIndex++instance Show VkGraphicsPipelineCreateInfo where+        showsPrec d x+          = showString "VkGraphicsPipelineCreateInfo {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFlags = " .+                            showsPrec d (vkFlags x) .+                              showString ", " .+                                showString "vkStageCount = " .+                                  showsPrec d (vkStageCount x) .+                                    showString ", " .+                                      showString "vkPStages = " .+                                        showsPrec d (vkPStages x) .+                                          showString ", " .+                                            showString "vkPVertexInputState = " .+                                              showsPrec d (vkPVertexInputState x) .+                                                showString ", " .+                                                  showString "vkPInputAssemblyState = " .+                                                    showsPrec d (vkPInputAssemblyState x) .+                                                      showString ", " .+                                                        showString "vkPTessellationState = " .+                                                          showsPrec d (vkPTessellationState x) .+                                                            showString ", " .+                                                              showString "vkPViewportState = " .+                                                                showsPrec d (vkPViewportState x) .+                                                                  showString ", " .+                                                                    showString+                                                                      "vkPRasterizationState = "+                                                                      .+                                                                      showsPrec d+                                                                        (vkPRasterizationState x)+                                                                        .+                                                                        showString ", " .+                                                                          showString+                                                                            "vkPMultisampleState = "+                                                                            .+                                                                            showsPrec d+                                                                              (vkPMultisampleState+                                                                                 x)+                                                                              .+                                                                              showString ", " .+                                                                                showString+                                                                                  "vkPDepthStencilState = "+                                                                                  .+                                                                                  showsPrec d+                                                                                    (vkPDepthStencilState+                                                                                       x)+                                                                                    .+                                                                                    showString ", "+                                                                                      .+                                                                                      showString+                                                                                        "vkPColorBlendState = "+                                                                                        .+                                                                                        showsPrec d+                                                                                          (vkPColorBlendState+                                                                                             x)+                                                                                          .+                                                                                          showString+                                                                                            ", "+                                                                                            .+                                                                                            showString+                                                                                              "vkPDynamicState = "+                                                                                              .+                                                                                              showsPrec+                                                                                                d+                                                                                                (vkPDynamicState+                                                                                                   x)+                                                                                                .+                                                                                                showString+                                                                                                  ", "+                                                                                                  .+                                                                                                  showString+                                                                                                    "vkLayout = "+                                                                                                    .+                                                                                                    showsPrec+                                                                                                      d+                                                                                                      (vkLayout+                                                                                                         x)+                                                                                                      .+                                                                                                      showString+                                                                                                        ", "+                                                                                                        .+                                                                                                        showString+                                                                                                          "vkRenderPass = "+                                                                                                          .+                                                                                                          showsPrec+                                                                                                            d+                                                                                                            (vkRenderPass+                                                                                                               x)+                                                                                                            .+                                                                                                            showString+                                                                                                              ", "+                                                                                                              .+                                                                                                              showString+                                                                                                                "vkSubpass = "+                                                                                                                .+                                                                                                                showsPrec+                                                                                                                  d+                                                                                                                  (vkSubpass+                                                                                                                     x)+                                                                                                                  .+                                                                                                                  showString+                                                                                                                    ", "+                                                                                                                    .+                                                                                                                    showString+                                                                                                                      "vkBasePipelineHandle = "+                                                                                                                      .+                                                                                                                      showsPrec+                                                                                                                        d+                                                                                                                        (vkBasePipelineHandle+                                                                                                                           x)+                                                                                                                        .+                                                                                                                        showString+                                                                                                                          ", "+                                                                                                                          .+                                                                                                                          showString+                                                                                                                            "vkBasePipelineIndex = "+                                                                                                                            .+                                                                                                                            showsPrec+                                                                                                                              d+                                                                                                                              (vkBasePipelineIndex+                                                                                                                                 x)+                                                                                                                              .+                                                                                                                              showChar+                                                                                                                                '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkHdrMetadataEXT.hsc view
@@ -0,0 +1,598 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkHdrMetadataEXT+       (VkHdrMetadataEXT(..)) 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.VkXYColorEXT  (VkXYColorEXT)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > 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;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkHdrMetadataEXT.html VkHdrMetadataEXT registry at www.khronos.org>+data VkHdrMetadataEXT = VkHdrMetadataEXT## Addr## ByteArray##++instance Eq VkHdrMetadataEXT where+        (VkHdrMetadataEXT## a _) == x@(VkHdrMetadataEXT## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkHdrMetadataEXT where+        (VkHdrMetadataEXT## a _) `compare` x@(VkHdrMetadataEXT## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkHdrMetadataEXT where+        sizeOf ~_ = #{size VkHdrMetadataEXT}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkHdrMetadataEXT}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkHdrMetadataEXT where+        unsafeAddr (VkHdrMetadataEXT## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkHdrMetadataEXT## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkHdrMetadataEXT## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkHdrMetadataEXT where+        type StructFields VkHdrMetadataEXT =+             '["sType", "pNext", "displayPrimaryRed", "displayPrimaryGreen", -- ' closing tick for hsc2hs+               "displayPrimaryBlue", "whitePoint", "maxLuminance", "minLuminance",+               "maxContentLightLevel", "maxFrameAverageLightLevel"]+        type CUnionType VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs+        type StructExtends VkHdrMetadataEXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSType VkHdrMetadataEXT where+        type VkSTypeMType VkHdrMetadataEXT = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkHdrMetadataEXT, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkHdrMetadataEXT, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkHdrMetadataEXT, sType}++instance {-# OVERLAPPING #-} HasField "sType" VkHdrMetadataEXT+         where+        type FieldType "sType" VkHdrMetadataEXT = VkStructureType+        type FieldOptional "sType" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkHdrMetadataEXT =+             #{offset VkHdrMetadataEXT, sType}+        type FieldIsArray "sType" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkHdrMetadataEXT, sType}++instance CanReadField "sType" VkHdrMetadataEXT where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkHdrMetadataEXT where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-} HasVkPNext VkHdrMetadataEXT where+        type VkPNextMType VkHdrMetadataEXT = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkHdrMetadataEXT, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkHdrMetadataEXT, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkHdrMetadataEXT, pNext}++instance {-# OVERLAPPING #-} HasField "pNext" VkHdrMetadataEXT+         where+        type FieldType "pNext" VkHdrMetadataEXT = Ptr Void+        type FieldOptional "pNext" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkHdrMetadataEXT =+             #{offset VkHdrMetadataEXT, pNext}+        type FieldIsArray "pNext" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkHdrMetadataEXT, pNext}++instance CanReadField "pNext" VkHdrMetadataEXT where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkHdrMetadataEXT where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-}+         HasVkDisplayPrimaryRed VkHdrMetadataEXT where+        type VkDisplayPrimaryRedMType VkHdrMetadataEXT = VkXYColorEXT++        {-# NOINLINE vkDisplayPrimaryRed #-}+        vkDisplayPrimaryRed x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, displayPrimaryRed})++        {-# INLINE vkDisplayPrimaryRedByteOffset #-}+        vkDisplayPrimaryRedByteOffset ~_+          = #{offset VkHdrMetadataEXT, displayPrimaryRed}++        {-# INLINE readVkDisplayPrimaryRed #-}+        readVkDisplayPrimaryRed p+          = peekByteOff p #{offset VkHdrMetadataEXT, displayPrimaryRed}++        {-# INLINE writeVkDisplayPrimaryRed #-}+        writeVkDisplayPrimaryRed p+          = pokeByteOff p #{offset VkHdrMetadataEXT, displayPrimaryRed}++instance {-# OVERLAPPING #-}+         HasField "displayPrimaryRed" VkHdrMetadataEXT where+        type FieldType "displayPrimaryRed" VkHdrMetadataEXT = VkXYColorEXT+        type FieldOptional "displayPrimaryRed" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "displayPrimaryRed" VkHdrMetadataEXT =+             #{offset VkHdrMetadataEXT, displayPrimaryRed}+        type FieldIsArray "displayPrimaryRed" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkHdrMetadataEXT, displayPrimaryRed}++instance CanReadField "displayPrimaryRed" VkHdrMetadataEXT where+        {-# INLINE getField #-}+        getField = vkDisplayPrimaryRed++        {-# INLINE readField #-}+        readField = readVkDisplayPrimaryRed++instance CanWriteField "displayPrimaryRed" VkHdrMetadataEXT where+        {-# INLINE writeField #-}+        writeField = writeVkDisplayPrimaryRed++instance {-# OVERLAPPING #-}+         HasVkDisplayPrimaryGreen VkHdrMetadataEXT where+        type VkDisplayPrimaryGreenMType VkHdrMetadataEXT = VkXYColorEXT++        {-# NOINLINE vkDisplayPrimaryGreen #-}+        vkDisplayPrimaryGreen x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, displayPrimaryGreen})++        {-# INLINE vkDisplayPrimaryGreenByteOffset #-}+        vkDisplayPrimaryGreenByteOffset ~_+          = #{offset VkHdrMetadataEXT, displayPrimaryGreen}++        {-# INLINE readVkDisplayPrimaryGreen #-}+        readVkDisplayPrimaryGreen p+          = peekByteOff p #{offset VkHdrMetadataEXT, displayPrimaryGreen}++        {-# INLINE writeVkDisplayPrimaryGreen #-}+        writeVkDisplayPrimaryGreen p+          = pokeByteOff p #{offset VkHdrMetadataEXT, displayPrimaryGreen}++instance {-# OVERLAPPING #-}+         HasField "displayPrimaryGreen" VkHdrMetadataEXT where+        type FieldType "displayPrimaryGreen" VkHdrMetadataEXT =+             VkXYColorEXT+        type FieldOptional "displayPrimaryGreen" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "displayPrimaryGreen" VkHdrMetadataEXT =+             #{offset VkHdrMetadataEXT, displayPrimaryGreen}+        type FieldIsArray "displayPrimaryGreen" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkHdrMetadataEXT, displayPrimaryGreen}++instance CanReadField "displayPrimaryGreen" VkHdrMetadataEXT where+        {-# INLINE getField #-}+        getField = vkDisplayPrimaryGreen++        {-# INLINE readField #-}+        readField = readVkDisplayPrimaryGreen++instance CanWriteField "displayPrimaryGreen" VkHdrMetadataEXT where+        {-# INLINE writeField #-}+        writeField = writeVkDisplayPrimaryGreen++instance {-# OVERLAPPING #-}+         HasVkDisplayPrimaryBlue VkHdrMetadataEXT where+        type VkDisplayPrimaryBlueMType VkHdrMetadataEXT = VkXYColorEXT++        {-# NOINLINE vkDisplayPrimaryBlue #-}+        vkDisplayPrimaryBlue x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, displayPrimaryBlue})++        {-# INLINE vkDisplayPrimaryBlueByteOffset #-}+        vkDisplayPrimaryBlueByteOffset ~_+          = #{offset VkHdrMetadataEXT, displayPrimaryBlue}++        {-# INLINE readVkDisplayPrimaryBlue #-}+        readVkDisplayPrimaryBlue p+          = peekByteOff p #{offset VkHdrMetadataEXT, displayPrimaryBlue}++        {-# INLINE writeVkDisplayPrimaryBlue #-}+        writeVkDisplayPrimaryBlue p+          = pokeByteOff p #{offset VkHdrMetadataEXT, displayPrimaryBlue}++instance {-# OVERLAPPING #-}+         HasField "displayPrimaryBlue" VkHdrMetadataEXT where+        type FieldType "displayPrimaryBlue" VkHdrMetadataEXT = VkXYColorEXT+        type FieldOptional "displayPrimaryBlue" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "displayPrimaryBlue" VkHdrMetadataEXT =+             #{offset VkHdrMetadataEXT, displayPrimaryBlue}+        type FieldIsArray "displayPrimaryBlue" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkHdrMetadataEXT, displayPrimaryBlue}++instance CanReadField "displayPrimaryBlue" VkHdrMetadataEXT where+        {-# INLINE getField #-}+        getField = vkDisplayPrimaryBlue++        {-# INLINE readField #-}+        readField = readVkDisplayPrimaryBlue++instance CanWriteField "displayPrimaryBlue" VkHdrMetadataEXT where+        {-# INLINE writeField #-}+        writeField = writeVkDisplayPrimaryBlue++instance {-# OVERLAPPING #-} HasVkWhitePoint VkHdrMetadataEXT where+        type VkWhitePointMType VkHdrMetadataEXT = VkXYColorEXT++        {-# NOINLINE vkWhitePoint #-}+        vkWhitePoint x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, whitePoint})++        {-# INLINE vkWhitePointByteOffset #-}+        vkWhitePointByteOffset ~_+          = #{offset VkHdrMetadataEXT, whitePoint}++        {-# INLINE readVkWhitePoint #-}+        readVkWhitePoint p+          = peekByteOff p #{offset VkHdrMetadataEXT, whitePoint}++        {-# INLINE writeVkWhitePoint #-}+        writeVkWhitePoint p+          = pokeByteOff p #{offset VkHdrMetadataEXT, whitePoint}++instance {-# OVERLAPPING #-} HasField "whitePoint" VkHdrMetadataEXT+         where+        type FieldType "whitePoint" VkHdrMetadataEXT = VkXYColorEXT+        type FieldOptional "whitePoint" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "whitePoint" VkHdrMetadataEXT =+             #{offset VkHdrMetadataEXT, whitePoint}+        type FieldIsArray "whitePoint" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkHdrMetadataEXT, whitePoint}++instance CanReadField "whitePoint" VkHdrMetadataEXT where+        {-# INLINE getField #-}+        getField = vkWhitePoint++        {-# INLINE readField #-}+        readField = readVkWhitePoint++instance CanWriteField "whitePoint" VkHdrMetadataEXT where+        {-# INLINE writeField #-}+        writeField = writeVkWhitePoint++instance {-# OVERLAPPING #-} HasVkMaxLuminance VkHdrMetadataEXT+         where+        type VkMaxLuminanceMType VkHdrMetadataEXT =+             #{type float}++        {-# NOINLINE vkMaxLuminance #-}+        vkMaxLuminance x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, maxLuminance})++        {-# INLINE vkMaxLuminanceByteOffset #-}+        vkMaxLuminanceByteOffset ~_+          = #{offset VkHdrMetadataEXT, maxLuminance}++        {-# INLINE readVkMaxLuminance #-}+        readVkMaxLuminance p+          = peekByteOff p #{offset VkHdrMetadataEXT, maxLuminance}++        {-# INLINE writeVkMaxLuminance #-}+        writeVkMaxLuminance p+          = pokeByteOff p #{offset VkHdrMetadataEXT, maxLuminance}++instance {-# OVERLAPPING #-}+         HasField "maxLuminance" VkHdrMetadataEXT where+        type FieldType "maxLuminance" VkHdrMetadataEXT =+             #{type float}+        type FieldOptional "maxLuminance" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "maxLuminance" VkHdrMetadataEXT =+             #{offset VkHdrMetadataEXT, maxLuminance}+        type FieldIsArray "maxLuminance" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkHdrMetadataEXT, maxLuminance}++instance CanReadField "maxLuminance" VkHdrMetadataEXT where+        {-# INLINE getField #-}+        getField = vkMaxLuminance++        {-# INLINE readField #-}+        readField = readVkMaxLuminance++instance CanWriteField "maxLuminance" VkHdrMetadataEXT where+        {-# INLINE writeField #-}+        writeField = writeVkMaxLuminance++instance {-# OVERLAPPING #-} HasVkMinLuminance VkHdrMetadataEXT+         where+        type VkMinLuminanceMType VkHdrMetadataEXT =+             #{type float}++        {-# NOINLINE vkMinLuminance #-}+        vkMinLuminance x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, minLuminance})++        {-# INLINE vkMinLuminanceByteOffset #-}+        vkMinLuminanceByteOffset ~_+          = #{offset VkHdrMetadataEXT, minLuminance}++        {-# INLINE readVkMinLuminance #-}+        readVkMinLuminance p+          = peekByteOff p #{offset VkHdrMetadataEXT, minLuminance}++        {-# INLINE writeVkMinLuminance #-}+        writeVkMinLuminance p+          = pokeByteOff p #{offset VkHdrMetadataEXT, minLuminance}++instance {-# OVERLAPPING #-}+         HasField "minLuminance" VkHdrMetadataEXT where+        type FieldType "minLuminance" VkHdrMetadataEXT =+             #{type float}+        type FieldOptional "minLuminance" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "minLuminance" VkHdrMetadataEXT =+             #{offset VkHdrMetadataEXT, minLuminance}+        type FieldIsArray "minLuminance" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkHdrMetadataEXT, minLuminance}++instance CanReadField "minLuminance" VkHdrMetadataEXT where+        {-# INLINE getField #-}+        getField = vkMinLuminance++        {-# INLINE readField #-}+        readField = readVkMinLuminance++instance CanWriteField "minLuminance" VkHdrMetadataEXT where+        {-# INLINE writeField #-}+        writeField = writeVkMinLuminance++instance {-# OVERLAPPING #-}+         HasVkMaxContentLightLevel VkHdrMetadataEXT where+        type VkMaxContentLightLevelMType VkHdrMetadataEXT =+             #{type float}++        {-# NOINLINE vkMaxContentLightLevel #-}+        vkMaxContentLightLevel x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, maxContentLightLevel})++        {-# INLINE vkMaxContentLightLevelByteOffset #-}+        vkMaxContentLightLevelByteOffset ~_+          = #{offset VkHdrMetadataEXT, maxContentLightLevel}++        {-# INLINE readVkMaxContentLightLevel #-}+        readVkMaxContentLightLevel p+          = peekByteOff p #{offset VkHdrMetadataEXT, maxContentLightLevel}++        {-# INLINE writeVkMaxContentLightLevel #-}+        writeVkMaxContentLightLevel p+          = pokeByteOff p #{offset VkHdrMetadataEXT, maxContentLightLevel}++instance {-# OVERLAPPING #-}+         HasField "maxContentLightLevel" VkHdrMetadataEXT where+        type FieldType "maxContentLightLevel" VkHdrMetadataEXT =+             #{type float}+        type FieldOptional "maxContentLightLevel" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs+        type FieldOffset "maxContentLightLevel" VkHdrMetadataEXT =+             #{offset VkHdrMetadataEXT, maxContentLightLevel}+        type FieldIsArray "maxContentLightLevel" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkHdrMetadataEXT, maxContentLightLevel}++instance CanReadField "maxContentLightLevel" VkHdrMetadataEXT where+        {-# INLINE getField #-}+        getField = vkMaxContentLightLevel++        {-# INLINE readField #-}+        readField = readVkMaxContentLightLevel++instance CanWriteField "maxContentLightLevel" VkHdrMetadataEXT+         where+        {-# INLINE writeField #-}+        writeField = writeVkMaxContentLightLevel++instance {-# OVERLAPPING #-}+         HasVkMaxFrameAverageLightLevel VkHdrMetadataEXT where+        type VkMaxFrameAverageLightLevelMType VkHdrMetadataEXT =+             #{type float}++        {-# NOINLINE vkMaxFrameAverageLightLevel #-}+        vkMaxFrameAverageLightLevel x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, maxFrameAverageLightLevel})++        {-# INLINE vkMaxFrameAverageLightLevelByteOffset #-}+        vkMaxFrameAverageLightLevelByteOffset ~_+          = #{offset VkHdrMetadataEXT, maxFrameAverageLightLevel}++        {-# INLINE readVkMaxFrameAverageLightLevel #-}+        readVkMaxFrameAverageLightLevel p+          = peekByteOff p #{offset VkHdrMetadataEXT, maxFrameAverageLightLevel}++        {-# INLINE writeVkMaxFrameAverageLightLevel #-}+        writeVkMaxFrameAverageLightLevel p+          = pokeByteOff p #{offset VkHdrMetadataEXT, maxFrameAverageLightLevel}++instance {-# OVERLAPPING #-}+         HasField "maxFrameAverageLightLevel" VkHdrMetadataEXT where+        type FieldType "maxFrameAverageLightLevel" VkHdrMetadataEXT =+             #{type float}+        type FieldOptional "maxFrameAverageLightLevel" VkHdrMetadataEXT =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "maxFrameAverageLightLevel" VkHdrMetadataEXT =+             #{offset VkHdrMetadataEXT, maxFrameAverageLightLevel}+        type FieldIsArray "maxFrameAverageLightLevel" VkHdrMetadataEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkHdrMetadataEXT, maxFrameAverageLightLevel}++instance CanReadField "maxFrameAverageLightLevel" VkHdrMetadataEXT+         where+        {-# INLINE getField #-}+        getField = vkMaxFrameAverageLightLevel++        {-# INLINE readField #-}+        readField = readVkMaxFrameAverageLightLevel++instance CanWriteField "maxFrameAverageLightLevel" VkHdrMetadataEXT+         where+        {-# INLINE writeField #-}+        writeField = writeVkMaxFrameAverageLightLevel++instance Show VkHdrMetadataEXT where+        showsPrec d x+          = showString "VkHdrMetadataEXT {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkDisplayPrimaryRed = " .+                            showsPrec d (vkDisplayPrimaryRed x) .+                              showString ", " .+                                showString "vkDisplayPrimaryGreen = " .+                                  showsPrec d (vkDisplayPrimaryGreen x) .+                                    showString ", " .+                                      showString "vkDisplayPrimaryBlue = " .+                                        showsPrec d (vkDisplayPrimaryBlue x) .+                                          showString ", " .+                                            showString "vkWhitePoint = " .+                                              showsPrec d (vkWhitePoint x) .+                                                showString ", " .+                                                  showString "vkMaxLuminance = " .+                                                    showsPrec d (vkMaxLuminance x) .+                                                      showString ", " .+                                                        showString "vkMinLuminance = " .+                                                          showsPrec d (vkMinLuminance x) .+                                                            showString ", " .+                                                              showString "vkMaxContentLightLevel = "+                                                                .+                                                                showsPrec d+                                                                  (vkMaxContentLightLevel x)+                                                                  .+                                                                  showString ", " .+                                                                    showString+                                                                      "vkMaxFrameAverageLightLevel = "+                                                                      .+                                                                      showsPrec d+                                                                        (vkMaxFrameAverageLightLevel+                                                                           x)+                                                                        . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkIOSSurfaceCreateInfoMVK.hsc view
@@ -0,0 +1,279 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkIOSSurfaceCreateInfoMVK+       (VkIOSSurfaceCreateInfoMVK(..)) where+import           Foreign.Storable                           (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Bitmasks             (VkIOSSurfaceCreateFlagsMVK)+import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkIOSSurfaceCreateInfoMVK {+--   >     VkStructureType sType;+--   >     const void*                                    pNext;+--   >     VkIOSSurfaceCreateFlagsMVK     flags;+--   >     const void*                                    pView;+--   > } VkIOSSurfaceCreateInfoMVK;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkIOSSurfaceCreateInfoMVK.html VkIOSSurfaceCreateInfoMVK registry at www.khronos.org>+data VkIOSSurfaceCreateInfoMVK = VkIOSSurfaceCreateInfoMVK## Addr##+                                                            ByteArray##++instance Eq VkIOSSurfaceCreateInfoMVK where+        (VkIOSSurfaceCreateInfoMVK## a _) ==+          x@(VkIOSSurfaceCreateInfoMVK## b _) = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkIOSSurfaceCreateInfoMVK where+        (VkIOSSurfaceCreateInfoMVK## a _) `compare`+          x@(VkIOSSurfaceCreateInfoMVK## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkIOSSurfaceCreateInfoMVK where+        sizeOf ~_ = #{size VkIOSSurfaceCreateInfoMVK}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkIOSSurfaceCreateInfoMVK}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkIOSSurfaceCreateInfoMVK where+        unsafeAddr (VkIOSSurfaceCreateInfoMVK## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkIOSSurfaceCreateInfoMVK## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkIOSSurfaceCreateInfoMVK## (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkIOSSurfaceCreateInfoMVK where+        type StructFields VkIOSSurfaceCreateInfoMVK =+             '["sType", "pNext", "flags", "pView"] -- ' closing tick for hsc2hs+        type CUnionType VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs+        type StructExtends VkIOSSurfaceCreateInfoMVK = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSType VkIOSSurfaceCreateInfoMVK+         where+        type VkSTypeMType VkIOSSurfaceCreateInfoMVK = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkIOSSurfaceCreateInfoMVK, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkIOSSurfaceCreateInfoMVK, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkIOSSurfaceCreateInfoMVK, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkIOSSurfaceCreateInfoMVK, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkIOSSurfaceCreateInfoMVK where+        type FieldType "sType" VkIOSSurfaceCreateInfoMVK = VkStructureType+        type FieldOptional "sType" VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkIOSSurfaceCreateInfoMVK =+             #{offset VkIOSSurfaceCreateInfoMVK, sType}+        type FieldIsArray "sType" VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkIOSSurfaceCreateInfoMVK, sType}++instance CanReadField "sType" VkIOSSurfaceCreateInfoMVK where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkIOSSurfaceCreateInfoMVK where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-} HasVkPNext VkIOSSurfaceCreateInfoMVK+         where+        type VkPNextMType VkIOSSurfaceCreateInfoMVK = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkIOSSurfaceCreateInfoMVK, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkIOSSurfaceCreateInfoMVK, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkIOSSurfaceCreateInfoMVK, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkIOSSurfaceCreateInfoMVK, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkIOSSurfaceCreateInfoMVK where+        type FieldType "pNext" VkIOSSurfaceCreateInfoMVK = Ptr Void+        type FieldOptional "pNext" VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkIOSSurfaceCreateInfoMVK =+             #{offset VkIOSSurfaceCreateInfoMVK, pNext}+        type FieldIsArray "pNext" VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkIOSSurfaceCreateInfoMVK, pNext}++instance CanReadField "pNext" VkIOSSurfaceCreateInfoMVK where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkIOSSurfaceCreateInfoMVK where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-} HasVkFlags VkIOSSurfaceCreateInfoMVK+         where+        type VkFlagsMType VkIOSSurfaceCreateInfoMVK =+             VkIOSSurfaceCreateFlagsMVK++        {-# NOINLINE vkFlags #-}+        vkFlags x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkIOSSurfaceCreateInfoMVK, flags})++        {-# INLINE vkFlagsByteOffset #-}+        vkFlagsByteOffset ~_+          = #{offset VkIOSSurfaceCreateInfoMVK, flags}++        {-# INLINE readVkFlags #-}+        readVkFlags p+          = peekByteOff p #{offset VkIOSSurfaceCreateInfoMVK, flags}++        {-# INLINE writeVkFlags #-}+        writeVkFlags p+          = pokeByteOff p #{offset VkIOSSurfaceCreateInfoMVK, flags}++instance {-# OVERLAPPING #-}+         HasField "flags" VkIOSSurfaceCreateInfoMVK where+        type FieldType "flags" VkIOSSurfaceCreateInfoMVK =+             VkIOSSurfaceCreateFlagsMVK+        type FieldOptional "flags" VkIOSSurfaceCreateInfoMVK = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkIOSSurfaceCreateInfoMVK =+             #{offset VkIOSSurfaceCreateInfoMVK, flags}+        type FieldIsArray "flags" VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkIOSSurfaceCreateInfoMVK, flags}++instance CanReadField "flags" VkIOSSurfaceCreateInfoMVK where+        {-# INLINE getField #-}+        getField = vkFlags++        {-# INLINE readField #-}+        readField = readVkFlags++instance CanWriteField "flags" VkIOSSurfaceCreateInfoMVK where+        {-# INLINE writeField #-}+        writeField = writeVkFlags++instance {-# OVERLAPPING #-} HasVkPView VkIOSSurfaceCreateInfoMVK+         where+        type VkPViewMType VkIOSSurfaceCreateInfoMVK = Ptr Void++        {-# NOINLINE vkPView #-}+        vkPView x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkIOSSurfaceCreateInfoMVK, pView})++        {-# INLINE vkPViewByteOffset #-}+        vkPViewByteOffset ~_+          = #{offset VkIOSSurfaceCreateInfoMVK, pView}++        {-# INLINE readVkPView #-}+        readVkPView p+          = peekByteOff p #{offset VkIOSSurfaceCreateInfoMVK, pView}++        {-# INLINE writeVkPView #-}+        writeVkPView p+          = pokeByteOff p #{offset VkIOSSurfaceCreateInfoMVK, pView}++instance {-# OVERLAPPING #-}+         HasField "pView" VkIOSSurfaceCreateInfoMVK where+        type FieldType "pView" VkIOSSurfaceCreateInfoMVK = Ptr Void+        type FieldOptional "pView" VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pView" VkIOSSurfaceCreateInfoMVK =+             #{offset VkIOSSurfaceCreateInfoMVK, pView}+        type FieldIsArray "pView" VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkIOSSurfaceCreateInfoMVK, pView}++instance CanReadField "pView" VkIOSSurfaceCreateInfoMVK where+        {-# INLINE getField #-}+        getField = vkPView++        {-# INLINE readField #-}+        readField = readVkPView++instance CanWriteField "pView" VkIOSSurfaceCreateInfoMVK where+        {-# INLINE writeField #-}+        writeField = writeVkPView++instance Show VkIOSSurfaceCreateInfoMVK where+        showsPrec d x+          = showString "VkIOSSurfaceCreateInfoMVK {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFlags = " .+                            showsPrec d (vkFlags x) .+                              showString ", " .+                                showString "vkPView = " . showsPrec d (vkPView x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImageBlit.hsc view
@@ -0,0 +1,346 @@+#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.VkImageBlit (VkImageBlit(..))+       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.Struct.VkImageSubresourceLayers (VkImageSubresourceLayers)+import           Graphics.Vulkan.Types.Struct.VkOffset3D               (VkOffset3D)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                      (unsafeDupablePerformIO)++-- | > typedef struct VkImageBlit {+--   >     VkImageSubresourceLayers srcSubresource;+--   >     VkOffset3D             srcOffsets[2];+--   >     VkImageSubresourceLayers dstSubresource;+--   >     VkOffset3D             dstOffsets[2];+--   > } VkImageBlit;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImageBlit.html VkImageBlit registry at www.khronos.org>+data VkImageBlit = VkImageBlit## Addr## ByteArray##++instance Eq VkImageBlit where+        (VkImageBlit## a _) == x@(VkImageBlit## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImageBlit where+        (VkImageBlit## a _) `compare` x@(VkImageBlit## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImageBlit where+        sizeOf ~_ = #{size VkImageBlit}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkImageBlit}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageBlit where+        unsafeAddr (VkImageBlit## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImageBlit## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImageBlit## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageBlit where+        type StructFields VkImageBlit =+             '["srcSubresource", "srcOffsets", "dstSubresource", "dstOffsets"] -- ' closing tick for hsc2hs+        type CUnionType VkImageBlit = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImageBlit = 'False -- ' closing tick for hsc2hs+        type StructExtends VkImageBlit = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSrcSubresource VkImageBlit where+        type VkSrcSubresourceMType VkImageBlit = VkImageSubresourceLayers++        {-# NOINLINE vkSrcSubresource #-}+        vkSrcSubresource x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageBlit, srcSubresource})++        {-# INLINE vkSrcSubresourceByteOffset #-}+        vkSrcSubresourceByteOffset ~_+          = #{offset VkImageBlit, srcSubresource}++        {-# INLINE readVkSrcSubresource #-}+        readVkSrcSubresource p+          = peekByteOff p #{offset VkImageBlit, srcSubresource}++        {-# INLINE writeVkSrcSubresource #-}+        writeVkSrcSubresource p+          = pokeByteOff p #{offset VkImageBlit, srcSubresource}++instance {-# OVERLAPPING #-} HasField "srcSubresource" VkImageBlit+         where+        type FieldType "srcSubresource" VkImageBlit =+             VkImageSubresourceLayers+        type FieldOptional "srcSubresource" VkImageBlit = 'False -- ' closing tick for hsc2hs+        type FieldOffset "srcSubresource" VkImageBlit =+             #{offset VkImageBlit, srcSubresource}+        type FieldIsArray "srcSubresource" VkImageBlit = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageBlit, srcSubresource}++instance CanReadField "srcSubresource" VkImageBlit where+        {-# INLINE getField #-}+        getField = vkSrcSubresource++        {-# INLINE readField #-}+        readField = readVkSrcSubresource++instance CanWriteField "srcSubresource" VkImageBlit where+        {-# INLINE writeField #-}+        writeField = writeVkSrcSubresource++instance {-# OVERLAPPING #-} HasVkSrcOffsetsArray VkImageBlit where+        type VkSrcOffsetsArrayMType VkImageBlit = VkOffset3D++        {-# NOINLINE vkSrcOffsetsArray #-}+        vkSrcOffsetsArray x idx+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x)+                 (idx * sizeOf (undefined :: VkOffset3D) ++                    #{offset VkImageBlit, srcOffsets}))++        {-# INLINE vkSrcOffsetsArrayByteOffset #-}+        vkSrcOffsetsArrayByteOffset ~_+          = #{offset VkImageBlit, srcOffsets}++        {-# INLINE readVkSrcOffsetsArray #-}+        readVkSrcOffsetsArray p idx+          = peekByteOff p+              (idx * sizeOf (undefined :: VkOffset3D) ++                 #{offset VkImageBlit, srcOffsets})++        {-# INLINE writeVkSrcOffsetsArray #-}+        writeVkSrcOffsetsArray p idx+          = pokeByteOff p+              (idx * sizeOf (undefined :: VkOffset3D) ++                 #{offset VkImageBlit, srcOffsets})++instance {-# OVERLAPPING #-} HasField "srcOffsets" VkImageBlit+         where+        type FieldType "srcOffsets" VkImageBlit = VkOffset3D+        type FieldOptional "srcOffsets" VkImageBlit = 'False -- ' closing tick for hsc2hs+        type FieldOffset "srcOffsets" VkImageBlit =+             #{offset VkImageBlit, srcOffsets}+        type FieldIsArray "srcOffsets" VkImageBlit = 'True -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageBlit, srcOffsets}++instance (KnownNat idx,+          IndexInBounds "srcOffsets" idx VkImageBlit) =>+         CanReadFieldArray "srcOffsets" idx VkImageBlit+         where+        {-# SPECIALISE instance+                       CanReadFieldArray "srcOffsets" 0 VkImageBlit #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "srcOffsets" 1 VkImageBlit #-}+        type FieldArrayLength "srcOffsets" VkImageBlit = 2++        {-# INLINE fieldArrayLength #-}+        fieldArrayLength = 2++        {-# INLINE getFieldArray #-}+        getFieldArray x+          = vkSrcOffsetsArray x+              (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++        {-# INLINE readFieldArray #-}+        readFieldArray x+          = readVkSrcOffsetsArray x+              (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++instance (KnownNat idx,+          IndexInBounds "srcOffsets" idx VkImageBlit) =>+         CanWriteFieldArray "srcOffsets" idx VkImageBlit+         where+        {-# SPECIALISE instance+                       CanWriteFieldArray "srcOffsets" 0 VkImageBlit #-}++        {-# SPECIALISE instance+                       CanWriteFieldArray "srcOffsets" 1 VkImageBlit #-}++        {-# INLINE writeFieldArray #-}+        writeFieldArray x+          = writeVkSrcOffsetsArray x+              (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkDstSubresource VkImageBlit where+        type VkDstSubresourceMType VkImageBlit = VkImageSubresourceLayers++        {-# NOINLINE vkDstSubresource #-}+        vkDstSubresource x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageBlit, dstSubresource})++        {-# INLINE vkDstSubresourceByteOffset #-}+        vkDstSubresourceByteOffset ~_+          = #{offset VkImageBlit, dstSubresource}++        {-# INLINE readVkDstSubresource #-}+        readVkDstSubresource p+          = peekByteOff p #{offset VkImageBlit, dstSubresource}++        {-# INLINE writeVkDstSubresource #-}+        writeVkDstSubresource p+          = pokeByteOff p #{offset VkImageBlit, dstSubresource}++instance {-# OVERLAPPING #-} HasField "dstSubresource" VkImageBlit+         where+        type FieldType "dstSubresource" VkImageBlit =+             VkImageSubresourceLayers+        type FieldOptional "dstSubresource" VkImageBlit = 'False -- ' closing tick for hsc2hs+        type FieldOffset "dstSubresource" VkImageBlit =+             #{offset VkImageBlit, dstSubresource}+        type FieldIsArray "dstSubresource" VkImageBlit = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageBlit, dstSubresource}++instance CanReadField "dstSubresource" VkImageBlit where+        {-# INLINE getField #-}+        getField = vkDstSubresource++        {-# INLINE readField #-}+        readField = readVkDstSubresource++instance CanWriteField "dstSubresource" VkImageBlit where+        {-# INLINE writeField #-}+        writeField = writeVkDstSubresource++instance {-# OVERLAPPING #-} HasVkDstOffsetsArray VkImageBlit where+        type VkDstOffsetsArrayMType VkImageBlit = VkOffset3D++        {-# NOINLINE vkDstOffsetsArray #-}+        vkDstOffsetsArray x idx+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x)+                 (idx * sizeOf (undefined :: VkOffset3D) ++                    #{offset VkImageBlit, dstOffsets}))++        {-# INLINE vkDstOffsetsArrayByteOffset #-}+        vkDstOffsetsArrayByteOffset ~_+          = #{offset VkImageBlit, dstOffsets}++        {-# INLINE readVkDstOffsetsArray #-}+        readVkDstOffsetsArray p idx+          = peekByteOff p+              (idx * sizeOf (undefined :: VkOffset3D) ++                 #{offset VkImageBlit, dstOffsets})++        {-# INLINE writeVkDstOffsetsArray #-}+        writeVkDstOffsetsArray p idx+          = pokeByteOff p+              (idx * sizeOf (undefined :: VkOffset3D) ++                 #{offset VkImageBlit, dstOffsets})++instance {-# OVERLAPPING #-} HasField "dstOffsets" VkImageBlit+         where+        type FieldType "dstOffsets" VkImageBlit = VkOffset3D+        type FieldOptional "dstOffsets" VkImageBlit = 'False -- ' closing tick for hsc2hs+        type FieldOffset "dstOffsets" VkImageBlit =+             #{offset VkImageBlit, dstOffsets}+        type FieldIsArray "dstOffsets" VkImageBlit = 'True -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageBlit, dstOffsets}++instance (KnownNat idx,+          IndexInBounds "dstOffsets" idx VkImageBlit) =>+         CanReadFieldArray "dstOffsets" idx VkImageBlit+         where+        {-# SPECIALISE instance+                       CanReadFieldArray "dstOffsets" 0 VkImageBlit #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "dstOffsets" 1 VkImageBlit #-}+        type FieldArrayLength "dstOffsets" VkImageBlit = 2++        {-# INLINE fieldArrayLength #-}+        fieldArrayLength = 2++        {-# INLINE getFieldArray #-}+        getFieldArray x+          = vkDstOffsetsArray x+              (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++        {-# INLINE readFieldArray #-}+        readFieldArray x+          = readVkDstOffsetsArray x+              (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++instance (KnownNat idx,+          IndexInBounds "dstOffsets" idx VkImageBlit) =>+         CanWriteFieldArray "dstOffsets" idx VkImageBlit+         where+        {-# SPECIALISE instance+                       CanWriteFieldArray "dstOffsets" 0 VkImageBlit #-}++        {-# SPECIALISE instance+                       CanWriteFieldArray "dstOffsets" 1 VkImageBlit #-}++        {-# INLINE writeFieldArray #-}+        writeFieldArray x+          = writeVkDstOffsetsArray x+              (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++instance Show VkImageBlit where+        showsPrec d x+          = showString "VkImageBlit {" .+              showString "vkSrcSubresource = " .+                showsPrec d (vkSrcSubresource x) .+                  showString ", " .+                    showString "vkSrcOffsetsArray = [" .+                      showsPrec d (map (vkSrcOffsetsArray x) [1 .. 2]) .+                        showChar ']' .+                          showString ", " .+                            showString "vkDstSubresource = " .+                              showsPrec d (vkDstSubresource x) .+                                showString ", " .+                                  showString "vkDstOffsetsArray = [" .+                                    showsPrec d (map (vkDstOffsetsArray x) [1 .. 2]) .+                                      showChar ']' . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImageCopy.hsc view
@@ -0,0 +1,317 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImageCopy (VkImageCopy(..))+       where+import           Foreign.Storable                                      (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+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 VkImageCopy {+--   >     VkImageSubresourceLayers srcSubresource;+--   >     VkOffset3D             srcOffset;+--   >     VkImageSubresourceLayers dstSubresource;+--   >     VkOffset3D             dstOffset;+--   >     VkExtent3D             extent;+--   > } VkImageCopy;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImageCopy.html VkImageCopy registry at www.khronos.org>+data VkImageCopy = VkImageCopy## Addr## ByteArray##++instance Eq VkImageCopy where+        (VkImageCopy## a _) == x@(VkImageCopy## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImageCopy where+        (VkImageCopy## a _) `compare` x@(VkImageCopy## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImageCopy where+        sizeOf ~_ = #{size VkImageCopy}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkImageCopy}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageCopy where+        unsafeAddr (VkImageCopy## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImageCopy## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImageCopy## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageCopy where+        type StructFields VkImageCopy =+             '["srcSubresource", "srcOffset", "dstSubresource", "dstOffset", -- ' closing tick for hsc2hs+               "extent"]+        type CUnionType VkImageCopy = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImageCopy = 'False -- ' closing tick for hsc2hs+        type StructExtends VkImageCopy = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSrcSubresource VkImageCopy where+        type VkSrcSubresourceMType VkImageCopy = VkImageSubresourceLayers++        {-# NOINLINE vkSrcSubresource #-}+        vkSrcSubresource x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageCopy, srcSubresource})++        {-# INLINE vkSrcSubresourceByteOffset #-}+        vkSrcSubresourceByteOffset ~_+          = #{offset VkImageCopy, srcSubresource}++        {-# INLINE readVkSrcSubresource #-}+        readVkSrcSubresource p+          = peekByteOff p #{offset VkImageCopy, srcSubresource}++        {-# INLINE writeVkSrcSubresource #-}+        writeVkSrcSubresource p+          = pokeByteOff p #{offset VkImageCopy, srcSubresource}++instance {-# OVERLAPPING #-} HasField "srcSubresource" VkImageCopy+         where+        type FieldType "srcSubresource" VkImageCopy =+             VkImageSubresourceLayers+        type FieldOptional "srcSubresource" VkImageCopy = 'False -- ' closing tick for hsc2hs+        type FieldOffset "srcSubresource" VkImageCopy =+             #{offset VkImageCopy, srcSubresource}+        type FieldIsArray "srcSubresource" VkImageCopy = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageCopy, srcSubresource}++instance CanReadField "srcSubresource" VkImageCopy where+        {-# INLINE getField #-}+        getField = vkSrcSubresource++        {-# INLINE readField #-}+        readField = readVkSrcSubresource++instance CanWriteField "srcSubresource" VkImageCopy where+        {-# INLINE writeField #-}+        writeField = writeVkSrcSubresource++instance {-# OVERLAPPING #-} HasVkSrcOffset VkImageCopy where+        type VkSrcOffsetMType VkImageCopy = VkOffset3D++        {-# NOINLINE vkSrcOffset #-}+        vkSrcOffset x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageCopy, srcOffset})++        {-# INLINE vkSrcOffsetByteOffset #-}+        vkSrcOffsetByteOffset ~_+          = #{offset VkImageCopy, srcOffset}++        {-# INLINE readVkSrcOffset #-}+        readVkSrcOffset p+          = peekByteOff p #{offset VkImageCopy, srcOffset}++        {-# INLINE writeVkSrcOffset #-}+        writeVkSrcOffset p+          = pokeByteOff p #{offset VkImageCopy, srcOffset}++instance {-# OVERLAPPING #-} HasField "srcOffset" VkImageCopy where+        type FieldType "srcOffset" VkImageCopy = VkOffset3D+        type FieldOptional "srcOffset" VkImageCopy = 'False -- ' closing tick for hsc2hs+        type FieldOffset "srcOffset" VkImageCopy =+             #{offset VkImageCopy, srcOffset}+        type FieldIsArray "srcOffset" VkImageCopy = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageCopy, srcOffset}++instance CanReadField "srcOffset" VkImageCopy where+        {-# INLINE getField #-}+        getField = vkSrcOffset++        {-# INLINE readField #-}+        readField = readVkSrcOffset++instance CanWriteField "srcOffset" VkImageCopy where+        {-# INLINE writeField #-}+        writeField = writeVkSrcOffset++instance {-# OVERLAPPING #-} HasVkDstSubresource VkImageCopy where+        type VkDstSubresourceMType VkImageCopy = VkImageSubresourceLayers++        {-# NOINLINE vkDstSubresource #-}+        vkDstSubresource x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageCopy, dstSubresource})++        {-# INLINE vkDstSubresourceByteOffset #-}+        vkDstSubresourceByteOffset ~_+          = #{offset VkImageCopy, dstSubresource}++        {-# INLINE readVkDstSubresource #-}+        readVkDstSubresource p+          = peekByteOff p #{offset VkImageCopy, dstSubresource}++        {-# INLINE writeVkDstSubresource #-}+        writeVkDstSubresource p+          = pokeByteOff p #{offset VkImageCopy, dstSubresource}++instance {-# OVERLAPPING #-} HasField "dstSubresource" VkImageCopy+         where+        type FieldType "dstSubresource" VkImageCopy =+             VkImageSubresourceLayers+        type FieldOptional "dstSubresource" VkImageCopy = 'False -- ' closing tick for hsc2hs+        type FieldOffset "dstSubresource" VkImageCopy =+             #{offset VkImageCopy, dstSubresource}+        type FieldIsArray "dstSubresource" VkImageCopy = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageCopy, dstSubresource}++instance CanReadField "dstSubresource" VkImageCopy where+        {-# INLINE getField #-}+        getField = vkDstSubresource++        {-# INLINE readField #-}+        readField = readVkDstSubresource++instance CanWriteField "dstSubresource" VkImageCopy where+        {-# INLINE writeField #-}+        writeField = writeVkDstSubresource++instance {-# OVERLAPPING #-} HasVkDstOffset VkImageCopy where+        type VkDstOffsetMType VkImageCopy = VkOffset3D++        {-# NOINLINE vkDstOffset #-}+        vkDstOffset x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageCopy, dstOffset})++        {-# INLINE vkDstOffsetByteOffset #-}+        vkDstOffsetByteOffset ~_+          = #{offset VkImageCopy, dstOffset}++        {-# INLINE readVkDstOffset #-}+        readVkDstOffset p+          = peekByteOff p #{offset VkImageCopy, dstOffset}++        {-# INLINE writeVkDstOffset #-}+        writeVkDstOffset p+          = pokeByteOff p #{offset VkImageCopy, dstOffset}++instance {-# OVERLAPPING #-} HasField "dstOffset" VkImageCopy where+        type FieldType "dstOffset" VkImageCopy = VkOffset3D+        type FieldOptional "dstOffset" VkImageCopy = 'False -- ' closing tick for hsc2hs+        type FieldOffset "dstOffset" VkImageCopy =+             #{offset VkImageCopy, dstOffset}+        type FieldIsArray "dstOffset" VkImageCopy = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageCopy, dstOffset}++instance CanReadField "dstOffset" VkImageCopy where+        {-# INLINE getField #-}+        getField = vkDstOffset++        {-# INLINE readField #-}+        readField = readVkDstOffset++instance CanWriteField "dstOffset" VkImageCopy where+        {-# INLINE writeField #-}+        writeField = writeVkDstOffset++instance {-# OVERLAPPING #-} HasVkExtent VkImageCopy where+        type VkExtentMType VkImageCopy = VkExtent3D++        {-# NOINLINE vkExtent #-}+        vkExtent x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageCopy, extent})++        {-# INLINE vkExtentByteOffset #-}+        vkExtentByteOffset ~_ = #{offset VkImageCopy, extent}++        {-# INLINE readVkExtent #-}+        readVkExtent p+          = peekByteOff p #{offset VkImageCopy, extent}++        {-# INLINE writeVkExtent #-}+        writeVkExtent p+          = pokeByteOff p #{offset VkImageCopy, extent}++instance {-# OVERLAPPING #-} HasField "extent" VkImageCopy where+        type FieldType "extent" VkImageCopy = VkExtent3D+        type FieldOptional "extent" VkImageCopy = 'False -- ' closing tick for hsc2hs+        type FieldOffset "extent" VkImageCopy =+             #{offset VkImageCopy, extent}+        type FieldIsArray "extent" VkImageCopy = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageCopy, extent}++instance CanReadField "extent" VkImageCopy where+        {-# INLINE getField #-}+        getField = vkExtent++        {-# INLINE readField #-}+        readField = readVkExtent++instance CanWriteField "extent" VkImageCopy where+        {-# INLINE writeField #-}+        writeField = writeVkExtent++instance Show VkImageCopy where+        showsPrec d x+          = showString "VkImageCopy {" .+              showString "vkSrcSubresource = " .+                showsPrec d (vkSrcSubresource x) .+                  showString ", " .+                    showString "vkSrcOffset = " .+                      showsPrec d (vkSrcOffset x) .+                        showString ", " .+                          showString "vkDstSubresource = " .+                            showsPrec d (vkDstSubresource x) .+                              showString ", " .+                                showString "vkDstOffset = " .+                                  showsPrec d (vkDstOffset x) .+                                    showString ", " .+                                      showString "vkExtent = " .+                                        showsPrec d (vkExtent x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImageCreateInfo.hsc view
@@ -0,0 +1,861 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImageCreateInfo+       (VkImageCreateInfo(..)) where+import           Foreign.Storable                              (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkFormat           (VkFormat)+import           Graphics.Vulkan.Types.Enum.VkImageCreateFlags (VkImageCreateFlags)+import           Graphics.Vulkan.Types.Enum.VkImageLayout      (VkImageLayout)+import           Graphics.Vulkan.Types.Enum.VkImageTiling      (VkImageTiling)+import           Graphics.Vulkan.Types.Enum.VkImageType        (VkImageType)+import           Graphics.Vulkan.Types.Enum.VkImageUsageFlags  (VkImageUsageFlags)+import           Graphics.Vulkan.Types.Enum.VkSampleCountFlags (VkSampleCountFlagBits)+import           Graphics.Vulkan.Types.Enum.VkSharingMode      (VkSharingMode)+import           Graphics.Vulkan.Types.Enum.VkStructureType    (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkExtent3D       (VkExtent3D)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                              (unsafeDupablePerformIO)++-- | > 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;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImageCreateInfo.html VkImageCreateInfo registry at www.khronos.org>+data VkImageCreateInfo = VkImageCreateInfo## Addr## ByteArray##++instance Eq VkImageCreateInfo where+        (VkImageCreateInfo## a _) == x@(VkImageCreateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImageCreateInfo where+        (VkImageCreateInfo## a _) `compare` x@(VkImageCreateInfo## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImageCreateInfo where+        sizeOf ~_ = #{size VkImageCreateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkImageCreateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageCreateInfo where+        unsafeAddr (VkImageCreateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImageCreateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImageCreateInfo## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageCreateInfo where+        type StructFields VkImageCreateInfo =+             '["sType", "pNext", "flags", "imageType", "format", "extent", -- ' closing tick for hsc2hs+               "mipLevels", "arrayLayers", "samples", "tiling", "usage",+               "sharingMode", "queueFamilyIndexCount", "pQueueFamilyIndices",+               "initialLayout"]+        type CUnionType VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+        type StructExtends VkImageCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSType VkImageCreateInfo where+        type VkSTypeMType VkImageCreateInfo = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkImageCreateInfo, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkImageCreateInfo, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkImageCreateInfo, sType}++instance {-# OVERLAPPING #-} HasField "sType" VkImageCreateInfo+         where+        type FieldType "sType" VkImageCreateInfo = VkStructureType+        type FieldOptional "sType" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkImageCreateInfo =+             #{offset VkImageCreateInfo, sType}+        type FieldIsArray "sType" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageCreateInfo, sType}++instance CanReadField "sType" VkImageCreateInfo where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkImageCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-} HasVkPNext VkImageCreateInfo where+        type VkPNextMType VkImageCreateInfo = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkImageCreateInfo, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkImageCreateInfo, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkImageCreateInfo, pNext}++instance {-# OVERLAPPING #-} HasField "pNext" VkImageCreateInfo+         where+        type FieldType "pNext" VkImageCreateInfo = Ptr Void+        type FieldOptional "pNext" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkImageCreateInfo =+             #{offset VkImageCreateInfo, pNext}+        type FieldIsArray "pNext" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageCreateInfo, pNext}++instance CanReadField "pNext" VkImageCreateInfo where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkImageCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-} HasVkFlags VkImageCreateInfo where+        type VkFlagsMType VkImageCreateInfo = VkImageCreateFlags++        {-# NOINLINE vkFlags #-}+        vkFlags x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, flags})++        {-# INLINE vkFlagsByteOffset #-}+        vkFlagsByteOffset ~_+          = #{offset VkImageCreateInfo, flags}++        {-# INLINE readVkFlags #-}+        readVkFlags p+          = peekByteOff p #{offset VkImageCreateInfo, flags}++        {-# INLINE writeVkFlags #-}+        writeVkFlags p+          = pokeByteOff p #{offset VkImageCreateInfo, flags}++instance {-# OVERLAPPING #-} HasField "flags" VkImageCreateInfo+         where+        type FieldType "flags" VkImageCreateInfo = VkImageCreateFlags+        type FieldOptional "flags" VkImageCreateInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkImageCreateInfo =+             #{offset VkImageCreateInfo, flags}+        type FieldIsArray "flags" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageCreateInfo, flags}++instance CanReadField "flags" VkImageCreateInfo where+        {-# INLINE getField #-}+        getField = vkFlags++        {-# INLINE readField #-}+        readField = readVkFlags++instance CanWriteField "flags" VkImageCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkFlags++instance {-# OVERLAPPING #-} HasVkImageType VkImageCreateInfo where+        type VkImageTypeMType VkImageCreateInfo = VkImageType++        {-# NOINLINE vkImageType #-}+        vkImageType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, imageType})++        {-# INLINE vkImageTypeByteOffset #-}+        vkImageTypeByteOffset ~_+          = #{offset VkImageCreateInfo, imageType}++        {-# INLINE readVkImageType #-}+        readVkImageType p+          = peekByteOff p #{offset VkImageCreateInfo, imageType}++        {-# INLINE writeVkImageType #-}+        writeVkImageType p+          = pokeByteOff p #{offset VkImageCreateInfo, imageType}++instance {-# OVERLAPPING #-} HasField "imageType" VkImageCreateInfo+         where+        type FieldType "imageType" VkImageCreateInfo = VkImageType+        type FieldOptional "imageType" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "imageType" VkImageCreateInfo =+             #{offset VkImageCreateInfo, imageType}+        type FieldIsArray "imageType" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageCreateInfo, imageType}++instance CanReadField "imageType" VkImageCreateInfo where+        {-# INLINE getField #-}+        getField = vkImageType++        {-# INLINE readField #-}+        readField = readVkImageType++instance CanWriteField "imageType" VkImageCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkImageType++instance {-# OVERLAPPING #-} HasVkFormat VkImageCreateInfo where+        type VkFormatMType VkImageCreateInfo = VkFormat++        {-# NOINLINE vkFormat #-}+        vkFormat x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, format})++        {-# INLINE vkFormatByteOffset #-}+        vkFormatByteOffset ~_+          = #{offset VkImageCreateInfo, format}++        {-# INLINE readVkFormat #-}+        readVkFormat p+          = peekByteOff p #{offset VkImageCreateInfo, format}++        {-# INLINE writeVkFormat #-}+        writeVkFormat p+          = pokeByteOff p #{offset VkImageCreateInfo, format}++instance {-# OVERLAPPING #-} HasField "format" VkImageCreateInfo+         where+        type FieldType "format" VkImageCreateInfo = VkFormat+        type FieldOptional "format" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "format" VkImageCreateInfo =+             #{offset VkImageCreateInfo, format}+        type FieldIsArray "format" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageCreateInfo, format}++instance CanReadField "format" VkImageCreateInfo where+        {-# INLINE getField #-}+        getField = vkFormat++        {-# INLINE readField #-}+        readField = readVkFormat++instance CanWriteField "format" VkImageCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkFormat++instance {-# OVERLAPPING #-} HasVkExtent VkImageCreateInfo where+        type VkExtentMType VkImageCreateInfo = VkExtent3D++        {-# NOINLINE vkExtent #-}+        vkExtent x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, extent})++        {-# INLINE vkExtentByteOffset #-}+        vkExtentByteOffset ~_+          = #{offset VkImageCreateInfo, extent}++        {-# INLINE readVkExtent #-}+        readVkExtent p+          = peekByteOff p #{offset VkImageCreateInfo, extent}++        {-# INLINE writeVkExtent #-}+        writeVkExtent p+          = pokeByteOff p #{offset VkImageCreateInfo, extent}++instance {-# OVERLAPPING #-} HasField "extent" VkImageCreateInfo+         where+        type FieldType "extent" VkImageCreateInfo = VkExtent3D+        type FieldOptional "extent" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "extent" VkImageCreateInfo =+             #{offset VkImageCreateInfo, extent}+        type FieldIsArray "extent" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageCreateInfo, extent}++instance CanReadField "extent" VkImageCreateInfo where+        {-# INLINE getField #-}+        getField = vkExtent++        {-# INLINE readField #-}+        readField = readVkExtent++instance CanWriteField "extent" VkImageCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkExtent++instance {-# OVERLAPPING #-} HasVkMipLevels VkImageCreateInfo where+        type VkMipLevelsMType VkImageCreateInfo = Word32++        {-# NOINLINE vkMipLevels #-}+        vkMipLevels x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, mipLevels})++        {-# INLINE vkMipLevelsByteOffset #-}+        vkMipLevelsByteOffset ~_+          = #{offset VkImageCreateInfo, mipLevels}++        {-# INLINE readVkMipLevels #-}+        readVkMipLevels p+          = peekByteOff p #{offset VkImageCreateInfo, mipLevels}++        {-# INLINE writeVkMipLevels #-}+        writeVkMipLevels p+          = pokeByteOff p #{offset VkImageCreateInfo, mipLevels}++instance {-# OVERLAPPING #-} HasField "mipLevels" VkImageCreateInfo+         where+        type FieldType "mipLevels" VkImageCreateInfo = Word32+        type FieldOptional "mipLevels" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "mipLevels" VkImageCreateInfo =+             #{offset VkImageCreateInfo, mipLevels}+        type FieldIsArray "mipLevels" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageCreateInfo, mipLevels}++instance CanReadField "mipLevels" VkImageCreateInfo where+        {-# INLINE getField #-}+        getField = vkMipLevels++        {-# INLINE readField #-}+        readField = readVkMipLevels++instance CanWriteField "mipLevels" VkImageCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkMipLevels++instance {-# OVERLAPPING #-} HasVkArrayLayers VkImageCreateInfo+         where+        type VkArrayLayersMType VkImageCreateInfo = Word32++        {-# NOINLINE vkArrayLayers #-}+        vkArrayLayers x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, arrayLayers})++        {-# INLINE vkArrayLayersByteOffset #-}+        vkArrayLayersByteOffset ~_+          = #{offset VkImageCreateInfo, arrayLayers}++        {-# INLINE readVkArrayLayers #-}+        readVkArrayLayers p+          = peekByteOff p #{offset VkImageCreateInfo, arrayLayers}++        {-# INLINE writeVkArrayLayers #-}+        writeVkArrayLayers p+          = pokeByteOff p #{offset VkImageCreateInfo, arrayLayers}++instance {-# OVERLAPPING #-}+         HasField "arrayLayers" VkImageCreateInfo where+        type FieldType "arrayLayers" VkImageCreateInfo = Word32+        type FieldOptional "arrayLayers" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "arrayLayers" VkImageCreateInfo =+             #{offset VkImageCreateInfo, arrayLayers}+        type FieldIsArray "arrayLayers" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageCreateInfo, arrayLayers}++instance CanReadField "arrayLayers" VkImageCreateInfo where+        {-# INLINE getField #-}+        getField = vkArrayLayers++        {-# INLINE readField #-}+        readField = readVkArrayLayers++instance CanWriteField "arrayLayers" VkImageCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkArrayLayers++instance {-# OVERLAPPING #-} HasVkSamples VkImageCreateInfo where+        type VkSamplesMType VkImageCreateInfo = VkSampleCountFlagBits++        {-# NOINLINE vkSamples #-}+        vkSamples x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, samples})++        {-# INLINE vkSamplesByteOffset #-}+        vkSamplesByteOffset ~_+          = #{offset VkImageCreateInfo, samples}++        {-# INLINE readVkSamples #-}+        readVkSamples p+          = peekByteOff p #{offset VkImageCreateInfo, samples}++        {-# INLINE writeVkSamples #-}+        writeVkSamples p+          = pokeByteOff p #{offset VkImageCreateInfo, samples}++instance {-# OVERLAPPING #-} HasField "samples" VkImageCreateInfo+         where+        type FieldType "samples" VkImageCreateInfo = VkSampleCountFlagBits+        type FieldOptional "samples" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "samples" VkImageCreateInfo =+             #{offset VkImageCreateInfo, samples}+        type FieldIsArray "samples" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageCreateInfo, samples}++instance CanReadField "samples" VkImageCreateInfo where+        {-# INLINE getField #-}+        getField = vkSamples++        {-# INLINE readField #-}+        readField = readVkSamples++instance CanWriteField "samples" VkImageCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkSamples++instance {-# OVERLAPPING #-} HasVkTiling VkImageCreateInfo where+        type VkTilingMType VkImageCreateInfo = VkImageTiling++        {-# NOINLINE vkTiling #-}+        vkTiling x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, tiling})++        {-# INLINE vkTilingByteOffset #-}+        vkTilingByteOffset ~_+          = #{offset VkImageCreateInfo, tiling}++        {-# INLINE readVkTiling #-}+        readVkTiling p+          = peekByteOff p #{offset VkImageCreateInfo, tiling}++        {-# INLINE writeVkTiling #-}+        writeVkTiling p+          = pokeByteOff p #{offset VkImageCreateInfo, tiling}++instance {-# OVERLAPPING #-} HasField "tiling" VkImageCreateInfo+         where+        type FieldType "tiling" VkImageCreateInfo = VkImageTiling+        type FieldOptional "tiling" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "tiling" VkImageCreateInfo =+             #{offset VkImageCreateInfo, tiling}+        type FieldIsArray "tiling" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageCreateInfo, tiling}++instance CanReadField "tiling" VkImageCreateInfo where+        {-# INLINE getField #-}+        getField = vkTiling++        {-# INLINE readField #-}+        readField = readVkTiling++instance CanWriteField "tiling" VkImageCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkTiling++instance {-# OVERLAPPING #-} HasVkUsage VkImageCreateInfo where+        type VkUsageMType VkImageCreateInfo = VkImageUsageFlags++        {-# NOINLINE vkUsage #-}+        vkUsage x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, usage})++        {-# INLINE vkUsageByteOffset #-}+        vkUsageByteOffset ~_+          = #{offset VkImageCreateInfo, usage}++        {-# INLINE readVkUsage #-}+        readVkUsage p+          = peekByteOff p #{offset VkImageCreateInfo, usage}++        {-# INLINE writeVkUsage #-}+        writeVkUsage p+          = pokeByteOff p #{offset VkImageCreateInfo, usage}++instance {-# OVERLAPPING #-} HasField "usage" VkImageCreateInfo+         where+        type FieldType "usage" VkImageCreateInfo = VkImageUsageFlags+        type FieldOptional "usage" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "usage" VkImageCreateInfo =+             #{offset VkImageCreateInfo, usage}+        type FieldIsArray "usage" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageCreateInfo, usage}++instance CanReadField "usage" VkImageCreateInfo where+        {-# INLINE getField #-}+        getField = vkUsage++        {-# INLINE readField #-}+        readField = readVkUsage++instance CanWriteField "usage" VkImageCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkUsage++instance {-# OVERLAPPING #-} HasVkSharingMode VkImageCreateInfo+         where+        type VkSharingModeMType VkImageCreateInfo = VkSharingMode++        {-# NOINLINE vkSharingMode #-}+        vkSharingMode x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, sharingMode})++        {-# INLINE vkSharingModeByteOffset #-}+        vkSharingModeByteOffset ~_+          = #{offset VkImageCreateInfo, sharingMode}++        {-# INLINE readVkSharingMode #-}+        readVkSharingMode p+          = peekByteOff p #{offset VkImageCreateInfo, sharingMode}++        {-# INLINE writeVkSharingMode #-}+        writeVkSharingMode p+          = pokeByteOff p #{offset VkImageCreateInfo, sharingMode}++instance {-# OVERLAPPING #-}+         HasField "sharingMode" VkImageCreateInfo where+        type FieldType "sharingMode" VkImageCreateInfo = VkSharingMode+        type FieldOptional "sharingMode" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sharingMode" VkImageCreateInfo =+             #{offset VkImageCreateInfo, sharingMode}+        type FieldIsArray "sharingMode" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageCreateInfo, sharingMode}++instance CanReadField "sharingMode" VkImageCreateInfo where+        {-# INLINE getField #-}+        getField = vkSharingMode++        {-# INLINE readField #-}+        readField = readVkSharingMode++instance CanWriteField "sharingMode" VkImageCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkSharingMode++instance {-# OVERLAPPING #-}+         HasVkQueueFamilyIndexCount VkImageCreateInfo where+        type VkQueueFamilyIndexCountMType VkImageCreateInfo = Word32++        {-# NOINLINE vkQueueFamilyIndexCount #-}+        vkQueueFamilyIndexCount x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, queueFamilyIndexCount})++        {-# INLINE vkQueueFamilyIndexCountByteOffset #-}+        vkQueueFamilyIndexCountByteOffset ~_+          = #{offset VkImageCreateInfo, queueFamilyIndexCount}++        {-# INLINE readVkQueueFamilyIndexCount #-}+        readVkQueueFamilyIndexCount p+          = peekByteOff p #{offset VkImageCreateInfo, queueFamilyIndexCount}++        {-# INLINE writeVkQueueFamilyIndexCount #-}+        writeVkQueueFamilyIndexCount p+          = pokeByteOff p #{offset VkImageCreateInfo, queueFamilyIndexCount}++instance {-# OVERLAPPING #-}+         HasField "queueFamilyIndexCount" VkImageCreateInfo where+        type FieldType "queueFamilyIndexCount" VkImageCreateInfo = Word32+        type FieldOptional "queueFamilyIndexCount" VkImageCreateInfo =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "queueFamilyIndexCount" VkImageCreateInfo =+             #{offset VkImageCreateInfo, queueFamilyIndexCount}+        type FieldIsArray "queueFamilyIndexCount" VkImageCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageCreateInfo, queueFamilyIndexCount}++instance CanReadField "queueFamilyIndexCount" VkImageCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkQueueFamilyIndexCount++        {-# INLINE readField #-}+        readField = readVkQueueFamilyIndexCount++instance CanWriteField "queueFamilyIndexCount" VkImageCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkQueueFamilyIndexCount++instance {-# OVERLAPPING #-}+         HasVkPQueueFamilyIndices VkImageCreateInfo where+        type VkPQueueFamilyIndicesMType VkImageCreateInfo = Ptr Word32++        {-# NOINLINE vkPQueueFamilyIndices #-}+        vkPQueueFamilyIndices x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, pQueueFamilyIndices})++        {-# INLINE vkPQueueFamilyIndicesByteOffset #-}+        vkPQueueFamilyIndicesByteOffset ~_+          = #{offset VkImageCreateInfo, pQueueFamilyIndices}++        {-# INLINE readVkPQueueFamilyIndices #-}+        readVkPQueueFamilyIndices p+          = peekByteOff p #{offset VkImageCreateInfo, pQueueFamilyIndices}++        {-# INLINE writeVkPQueueFamilyIndices #-}+        writeVkPQueueFamilyIndices p+          = pokeByteOff p #{offset VkImageCreateInfo, pQueueFamilyIndices}++instance {-# OVERLAPPING #-}+         HasField "pQueueFamilyIndices" VkImageCreateInfo where+        type FieldType "pQueueFamilyIndices" VkImageCreateInfo = Ptr Word32+        type FieldOptional "pQueueFamilyIndices" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pQueueFamilyIndices" VkImageCreateInfo =+             #{offset VkImageCreateInfo, pQueueFamilyIndices}+        type FieldIsArray "pQueueFamilyIndices" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageCreateInfo, pQueueFamilyIndices}++instance CanReadField "pQueueFamilyIndices" VkImageCreateInfo where+        {-# INLINE getField #-}+        getField = vkPQueueFamilyIndices++        {-# INLINE readField #-}+        readField = readVkPQueueFamilyIndices++instance CanWriteField "pQueueFamilyIndices" VkImageCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkPQueueFamilyIndices++instance {-# OVERLAPPING #-} HasVkInitialLayout VkImageCreateInfo+         where+        type VkInitialLayoutMType VkImageCreateInfo = VkImageLayout++        {-# NOINLINE vkInitialLayout #-}+        vkInitialLayout x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, initialLayout})++        {-# INLINE vkInitialLayoutByteOffset #-}+        vkInitialLayoutByteOffset ~_+          = #{offset VkImageCreateInfo, initialLayout}++        {-# INLINE readVkInitialLayout #-}+        readVkInitialLayout p+          = peekByteOff p #{offset VkImageCreateInfo, initialLayout}++        {-# INLINE writeVkInitialLayout #-}+        writeVkInitialLayout p+          = pokeByteOff p #{offset VkImageCreateInfo, initialLayout}++instance {-# OVERLAPPING #-}+         HasField "initialLayout" VkImageCreateInfo where+        type FieldType "initialLayout" VkImageCreateInfo = VkImageLayout+        type FieldOptional "initialLayout" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "initialLayout" VkImageCreateInfo =+             #{offset VkImageCreateInfo, initialLayout}+        type FieldIsArray "initialLayout" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageCreateInfo, initialLayout}++instance CanReadField "initialLayout" VkImageCreateInfo where+        {-# INLINE getField #-}+        getField = vkInitialLayout++        {-# INLINE readField #-}+        readField = readVkInitialLayout++instance CanWriteField "initialLayout" VkImageCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkInitialLayout++instance Show VkImageCreateInfo where+        showsPrec d x+          = showString "VkImageCreateInfo {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFlags = " .+                            showsPrec d (vkFlags x) .+                              showString ", " .+                                showString "vkImageType = " .+                                  showsPrec d (vkImageType x) .+                                    showString ", " .+                                      showString "vkFormat = " .+                                        showsPrec d (vkFormat x) .+                                          showString ", " .+                                            showString "vkExtent = " .+                                              showsPrec d (vkExtent x) .+                                                showString ", " .+                                                  showString "vkMipLevels = " .+                                                    showsPrec d (vkMipLevels x) .+                                                      showString ", " .+                                                        showString "vkArrayLayers = " .+                                                          showsPrec d (vkArrayLayers x) .+                                                            showString ", " .+                                                              showString "vkSamples = " .+                                                                showsPrec d (vkSamples x) .+                                                                  showString ", " .+                                                                    showString "vkTiling = " .+                                                                      showsPrec d (vkTiling x) .+                                                                        showString ", " .+                                                                          showString "vkUsage = " .+                                                                            showsPrec d (vkUsage x)+                                                                              .+                                                                              showString ", " .+                                                                                showString+                                                                                  "vkSharingMode = "+                                                                                  .+                                                                                  showsPrec d+                                                                                    (vkSharingMode+                                                                                       x)+                                                                                    .+                                                                                    showString ", "+                                                                                      .+                                                                                      showString+                                                                                        "vkQueueFamilyIndexCount = "+                                                                                        .+                                                                                        showsPrec d+                                                                                          (vkQueueFamilyIndexCount+                                                                                             x)+                                                                                          .+                                                                                          showString+                                                                                            ", "+                                                                                            .+                                                                                            showString+                                                                                              "vkPQueueFamilyIndices = "+                                                                                              .+                                                                                              showsPrec+                                                                                                d+                                                                                                (vkPQueueFamilyIndices+                                                                                                   x)+                                                                                                .+                                                                                                showString+                                                                                                  ", "+                                                                                                  .+                                                                                                  showString+                                                                                                    "vkInitialLayout = "+                                                                                                    .+                                                                                                    showsPrec+                                                                                                      d+                                                                                                      (vkInitialLayout+                                                                                                         x)+                                                                                                      .+                                                                                                      showChar+                                                                                                        '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImageFormatListCreateInfoKHR.hsc view
@@ -0,0 +1,298 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImageFormatListCreateInfoKHR+       (VkImageFormatListCreateInfoKHR(..)) where+import           Foreign.Storable                               (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkFormat            (VkFormat)+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 VkImageFormatListCreateInfoKHR {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     uint32_t               viewFormatCount;+--   >     const VkFormat*      pViewFormats;+--   > } VkImageFormatListCreateInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImageFormatListCreateInfoKHR.html VkImageFormatListCreateInfoKHR registry at www.khronos.org>+data VkImageFormatListCreateInfoKHR = VkImageFormatListCreateInfoKHR## Addr##+                                                                      ByteArray##++instance Eq VkImageFormatListCreateInfoKHR where+        (VkImageFormatListCreateInfoKHR## a _) ==+          x@(VkImageFormatListCreateInfoKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImageFormatListCreateInfoKHR where+        (VkImageFormatListCreateInfoKHR## a _) `compare`+          x@(VkImageFormatListCreateInfoKHR## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImageFormatListCreateInfoKHR where+        sizeOf ~_ = #{size VkImageFormatListCreateInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkImageFormatListCreateInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageFormatListCreateInfoKHR where+        unsafeAddr (VkImageFormatListCreateInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImageFormatListCreateInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImageFormatListCreateInfoKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageFormatListCreateInfoKHR where+        type StructFields VkImageFormatListCreateInfoKHR =+             '["sType", "pNext", "viewFormatCount", "pViewFormats"] -- ' closing tick for hsc2hs+        type CUnionType VkImageFormatListCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImageFormatListCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        type StructExtends VkImageFormatListCreateInfoKHR =+             '[VkImageCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkSType VkImageFormatListCreateInfoKHR where+        type VkSTypeMType VkImageFormatListCreateInfoKHR = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageFormatListCreateInfoKHR, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkImageFormatListCreateInfoKHR, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkImageFormatListCreateInfoKHR, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkImageFormatListCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkImageFormatListCreateInfoKHR where+        type FieldType "sType" VkImageFormatListCreateInfoKHR =+             VkStructureType+        type FieldOptional "sType" VkImageFormatListCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkImageFormatListCreateInfoKHR =+             #{offset VkImageFormatListCreateInfoKHR, sType}+        type FieldIsArray "sType" VkImageFormatListCreateInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageFormatListCreateInfoKHR, sType}++instance CanReadField "sType" VkImageFormatListCreateInfoKHR where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkImageFormatListCreateInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-}+         HasVkPNext VkImageFormatListCreateInfoKHR where+        type VkPNextMType VkImageFormatListCreateInfoKHR = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageFormatListCreateInfoKHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkImageFormatListCreateInfoKHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkImageFormatListCreateInfoKHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkImageFormatListCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkImageFormatListCreateInfoKHR where+        type FieldType "pNext" VkImageFormatListCreateInfoKHR = Ptr Void+        type FieldOptional "pNext" VkImageFormatListCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkImageFormatListCreateInfoKHR =+             #{offset VkImageFormatListCreateInfoKHR, pNext}+        type FieldIsArray "pNext" VkImageFormatListCreateInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageFormatListCreateInfoKHR, pNext}++instance CanReadField "pNext" VkImageFormatListCreateInfoKHR where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkImageFormatListCreateInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-}+         HasVkViewFormatCount VkImageFormatListCreateInfoKHR where+        type VkViewFormatCountMType VkImageFormatListCreateInfoKHR = Word32++        {-# NOINLINE vkViewFormatCount #-}+        vkViewFormatCount x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageFormatListCreateInfoKHR, viewFormatCount})++        {-# INLINE vkViewFormatCountByteOffset #-}+        vkViewFormatCountByteOffset ~_+          = #{offset VkImageFormatListCreateInfoKHR, viewFormatCount}++        {-# INLINE readVkViewFormatCount #-}+        readVkViewFormatCount p+          = peekByteOff p #{offset VkImageFormatListCreateInfoKHR, viewFormatCount}++        {-# INLINE writeVkViewFormatCount #-}+        writeVkViewFormatCount p+          = pokeByteOff p #{offset VkImageFormatListCreateInfoKHR, viewFormatCount}++instance {-# OVERLAPPING #-}+         HasField "viewFormatCount" VkImageFormatListCreateInfoKHR where+        type FieldType "viewFormatCount" VkImageFormatListCreateInfoKHR =+             Word32+        type FieldOptional "viewFormatCount" VkImageFormatListCreateInfoKHR+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "viewFormatCount" VkImageFormatListCreateInfoKHR =+             #{offset VkImageFormatListCreateInfoKHR, viewFormatCount}+        type FieldIsArray "viewFormatCount" VkImageFormatListCreateInfoKHR+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageFormatListCreateInfoKHR, viewFormatCount}++instance CanReadField "viewFormatCount"+           VkImageFormatListCreateInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkViewFormatCount++        {-# INLINE readField #-}+        readField = readVkViewFormatCount++instance CanWriteField "viewFormatCount"+           VkImageFormatListCreateInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkViewFormatCount++instance {-# OVERLAPPING #-}+         HasVkPViewFormats VkImageFormatListCreateInfoKHR where+        type VkPViewFormatsMType VkImageFormatListCreateInfoKHR =+             Ptr VkFormat++        {-# NOINLINE vkPViewFormats #-}+        vkPViewFormats x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageFormatListCreateInfoKHR, pViewFormats})++        {-# INLINE vkPViewFormatsByteOffset #-}+        vkPViewFormatsByteOffset ~_+          = #{offset VkImageFormatListCreateInfoKHR, pViewFormats}++        {-# INLINE readVkPViewFormats #-}+        readVkPViewFormats p+          = peekByteOff p #{offset VkImageFormatListCreateInfoKHR, pViewFormats}++        {-# INLINE writeVkPViewFormats #-}+        writeVkPViewFormats p+          = pokeByteOff p #{offset VkImageFormatListCreateInfoKHR, pViewFormats}++instance {-# OVERLAPPING #-}+         HasField "pViewFormats" VkImageFormatListCreateInfoKHR where+        type FieldType "pViewFormats" VkImageFormatListCreateInfoKHR =+             Ptr VkFormat+        type FieldOptional "pViewFormats" VkImageFormatListCreateInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pViewFormats" VkImageFormatListCreateInfoKHR =+             #{offset VkImageFormatListCreateInfoKHR, pViewFormats}+        type FieldIsArray "pViewFormats" VkImageFormatListCreateInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageFormatListCreateInfoKHR, pViewFormats}++instance CanReadField "pViewFormats" VkImageFormatListCreateInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkPViewFormats++        {-# INLINE readField #-}+        readField = readVkPViewFormats++instance CanWriteField "pViewFormats"+           VkImageFormatListCreateInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkPViewFormats++instance Show VkImageFormatListCreateInfoKHR where+        showsPrec d x+          = showString "VkImageFormatListCreateInfoKHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkViewFormatCount = " .+                            showsPrec d (vkViewFormatCount x) .+                              showString ", " .+                                showString "vkPViewFormats = " .+                                  showsPrec d (vkPViewFormats x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImageFormatProperties.hsc view
@@ -0,0 +1,318 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImageFormatProperties+       (VkImageFormatProperties(..)) 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.VkSampleCountFlags (VkSampleCountFlags)+import           Graphics.Vulkan.Types.Struct.VkExtent3D       (VkExtent3D)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                              (unsafeDupablePerformIO)++-- | > typedef struct VkImageFormatProperties {+--   >     VkExtent3D             maxExtent;+--   >     uint32_t               maxMipLevels;+--   >     uint32_t               maxArrayLayers;+--   >     VkSampleCountFlags     sampleCounts;+--   >     VkDeviceSize           maxResourceSize;+--   > } VkImageFormatProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImageFormatProperties.html VkImageFormatProperties registry at www.khronos.org>+data VkImageFormatProperties = VkImageFormatProperties## Addr##+                                                        ByteArray##++instance Eq VkImageFormatProperties where+        (VkImageFormatProperties## a _) == x@(VkImageFormatProperties## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImageFormatProperties where+        (VkImageFormatProperties## a _) `compare`+          x@(VkImageFormatProperties## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImageFormatProperties where+        sizeOf ~_ = #{size VkImageFormatProperties}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkImageFormatProperties}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageFormatProperties where+        unsafeAddr (VkImageFormatProperties## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImageFormatProperties## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImageFormatProperties## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageFormatProperties where+        type StructFields VkImageFormatProperties =+             '["maxExtent", "maxMipLevels", "maxArrayLayers", "sampleCounts", -- ' closing tick for hsc2hs+               "maxResourceSize"]+        type CUnionType VkImageFormatProperties = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImageFormatProperties = 'True -- ' closing tick for hsc2hs+        type StructExtends VkImageFormatProperties = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkMaxExtent VkImageFormatProperties+         where+        type VkMaxExtentMType VkImageFormatProperties = VkExtent3D++        {-# NOINLINE vkMaxExtent #-}+        vkMaxExtent x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties, maxExtent})++        {-# INLINE vkMaxExtentByteOffset #-}+        vkMaxExtentByteOffset ~_+          = #{offset VkImageFormatProperties, maxExtent}++        {-# INLINE readVkMaxExtent #-}+        readVkMaxExtent p+          = peekByteOff p #{offset VkImageFormatProperties, maxExtent}++        {-# INLINE writeVkMaxExtent #-}+        writeVkMaxExtent p+          = pokeByteOff p #{offset VkImageFormatProperties, maxExtent}++instance {-# OVERLAPPING #-}+         HasField "maxExtent" VkImageFormatProperties where+        type FieldType "maxExtent" VkImageFormatProperties = VkExtent3D+        type FieldOptional "maxExtent" VkImageFormatProperties = 'False -- ' closing tick for hsc2hs+        type FieldOffset "maxExtent" VkImageFormatProperties =+             #{offset VkImageFormatProperties, maxExtent}+        type FieldIsArray "maxExtent" VkImageFormatProperties = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageFormatProperties, maxExtent}++instance CanReadField "maxExtent" VkImageFormatProperties where+        {-# INLINE getField #-}+        getField = vkMaxExtent++        {-# INLINE readField #-}+        readField = readVkMaxExtent++instance {-# OVERLAPPING #-}+         HasVkMaxMipLevels VkImageFormatProperties where+        type VkMaxMipLevelsMType VkImageFormatProperties = Word32++        {-# NOINLINE vkMaxMipLevels #-}+        vkMaxMipLevels x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties, maxMipLevels})++        {-# INLINE vkMaxMipLevelsByteOffset #-}+        vkMaxMipLevelsByteOffset ~_+          = #{offset VkImageFormatProperties, maxMipLevels}++        {-# INLINE readVkMaxMipLevels #-}+        readVkMaxMipLevels p+          = peekByteOff p #{offset VkImageFormatProperties, maxMipLevels}++        {-# INLINE writeVkMaxMipLevels #-}+        writeVkMaxMipLevels p+          = pokeByteOff p #{offset VkImageFormatProperties, maxMipLevels}++instance {-# OVERLAPPING #-}+         HasField "maxMipLevels" VkImageFormatProperties where+        type FieldType "maxMipLevels" VkImageFormatProperties = Word32+        type FieldOptional "maxMipLevels" VkImageFormatProperties = 'False -- ' closing tick for hsc2hs+        type FieldOffset "maxMipLevels" VkImageFormatProperties =+             #{offset VkImageFormatProperties, maxMipLevels}+        type FieldIsArray "maxMipLevels" VkImageFormatProperties = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageFormatProperties, maxMipLevels}++instance CanReadField "maxMipLevels" VkImageFormatProperties where+        {-# INLINE getField #-}+        getField = vkMaxMipLevels++        {-# INLINE readField #-}+        readField = readVkMaxMipLevels++instance {-# OVERLAPPING #-}+         HasVkMaxArrayLayers VkImageFormatProperties where+        type VkMaxArrayLayersMType VkImageFormatProperties = Word32++        {-# NOINLINE vkMaxArrayLayers #-}+        vkMaxArrayLayers x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties, maxArrayLayers})++        {-# INLINE vkMaxArrayLayersByteOffset #-}+        vkMaxArrayLayersByteOffset ~_+          = #{offset VkImageFormatProperties, maxArrayLayers}++        {-# INLINE readVkMaxArrayLayers #-}+        readVkMaxArrayLayers p+          = peekByteOff p #{offset VkImageFormatProperties, maxArrayLayers}++        {-# INLINE writeVkMaxArrayLayers #-}+        writeVkMaxArrayLayers p+          = pokeByteOff p #{offset VkImageFormatProperties, maxArrayLayers}++instance {-# OVERLAPPING #-}+         HasField "maxArrayLayers" VkImageFormatProperties where+        type FieldType "maxArrayLayers" VkImageFormatProperties = Word32+        type FieldOptional "maxArrayLayers" VkImageFormatProperties =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "maxArrayLayers" VkImageFormatProperties =+             #{offset VkImageFormatProperties, maxArrayLayers}+        type FieldIsArray "maxArrayLayers" VkImageFormatProperties = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageFormatProperties, maxArrayLayers}++instance CanReadField "maxArrayLayers" VkImageFormatProperties+         where+        {-# INLINE getField #-}+        getField = vkMaxArrayLayers++        {-# INLINE readField #-}+        readField = readVkMaxArrayLayers++instance {-# OVERLAPPING #-}+         HasVkSampleCounts VkImageFormatProperties where+        type VkSampleCountsMType VkImageFormatProperties =+             VkSampleCountFlags++        {-# NOINLINE vkSampleCounts #-}+        vkSampleCounts x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties, sampleCounts})++        {-# INLINE vkSampleCountsByteOffset #-}+        vkSampleCountsByteOffset ~_+          = #{offset VkImageFormatProperties, sampleCounts}++        {-# INLINE readVkSampleCounts #-}+        readVkSampleCounts p+          = peekByteOff p #{offset VkImageFormatProperties, sampleCounts}++        {-# INLINE writeVkSampleCounts #-}+        writeVkSampleCounts p+          = pokeByteOff p #{offset VkImageFormatProperties, sampleCounts}++instance {-# OVERLAPPING #-}+         HasField "sampleCounts" VkImageFormatProperties where+        type FieldType "sampleCounts" VkImageFormatProperties =+             VkSampleCountFlags+        type FieldOptional "sampleCounts" VkImageFormatProperties = 'True -- ' closing tick for hsc2hs+        type FieldOffset "sampleCounts" VkImageFormatProperties =+             #{offset VkImageFormatProperties, sampleCounts}+        type FieldIsArray "sampleCounts" VkImageFormatProperties = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageFormatProperties, sampleCounts}++instance CanReadField "sampleCounts" VkImageFormatProperties where+        {-# INLINE getField #-}+        getField = vkSampleCounts++        {-# INLINE readField #-}+        readField = readVkSampleCounts++instance {-# OVERLAPPING #-}+         HasVkMaxResourceSize VkImageFormatProperties where+        type VkMaxResourceSizeMType VkImageFormatProperties = VkDeviceSize++        {-# NOINLINE vkMaxResourceSize #-}+        vkMaxResourceSize x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties, maxResourceSize})++        {-# INLINE vkMaxResourceSizeByteOffset #-}+        vkMaxResourceSizeByteOffset ~_+          = #{offset VkImageFormatProperties, maxResourceSize}++        {-# INLINE readVkMaxResourceSize #-}+        readVkMaxResourceSize p+          = peekByteOff p #{offset VkImageFormatProperties, maxResourceSize}++        {-# INLINE writeVkMaxResourceSize #-}+        writeVkMaxResourceSize p+          = pokeByteOff p #{offset VkImageFormatProperties, maxResourceSize}++instance {-# OVERLAPPING #-}+         HasField "maxResourceSize" VkImageFormatProperties where+        type FieldType "maxResourceSize" VkImageFormatProperties =+             VkDeviceSize+        type FieldOptional "maxResourceSize" VkImageFormatProperties =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "maxResourceSize" VkImageFormatProperties =+             #{offset VkImageFormatProperties, maxResourceSize}+        type FieldIsArray "maxResourceSize" VkImageFormatProperties =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageFormatProperties, maxResourceSize}++instance CanReadField "maxResourceSize" VkImageFormatProperties+         where+        {-# INLINE getField #-}+        getField = vkMaxResourceSize++        {-# INLINE readField #-}+        readField = readVkMaxResourceSize++instance Show VkImageFormatProperties where+        showsPrec d x+          = showString "VkImageFormatProperties {" .+              showString "vkMaxExtent = " .+                showsPrec d (vkMaxExtent x) .+                  showString ", " .+                    showString "vkMaxMipLevels = " .+                      showsPrec d (vkMaxMipLevels x) .+                        showString ", " .+                          showString "vkMaxArrayLayers = " .+                            showsPrec d (vkMaxArrayLayers x) .+                              showString ", " .+                                showString "vkSampleCounts = " .+                                  showsPrec d (vkSampleCounts x) .+                                    showString ", " .+                                      showString "vkMaxResourceSize = " .+                                        showsPrec d (vkMaxResourceSize x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImageFormatProperties2KHR.hsc view
@@ -0,0 +1,228 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImageFormatProperties2KHR+       (VkImageFormatProperties2KHR(..)) 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.VkImageFormatProperties (VkImageFormatProperties)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                     (unsafeDupablePerformIO)++-- | > typedef struct VkImageFormatProperties2KHR {+--   >     VkStructureType sType;+--   >     void* pNext;+--   >     VkImageFormatProperties          imageFormatProperties;+--   > } VkImageFormatProperties2KHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImageFormatProperties2KHR.html VkImageFormatProperties2KHR registry at www.khronos.org>+data VkImageFormatProperties2KHR = VkImageFormatProperties2KHR## Addr##+                                                                ByteArray##++instance Eq VkImageFormatProperties2KHR where+        (VkImageFormatProperties2KHR## a _) ==+          x@(VkImageFormatProperties2KHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImageFormatProperties2KHR where+        (VkImageFormatProperties2KHR## a _) `compare`+          x@(VkImageFormatProperties2KHR## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImageFormatProperties2KHR where+        sizeOf ~_ = #{size VkImageFormatProperties2KHR}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkImageFormatProperties2KHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageFormatProperties2KHR where+        unsafeAddr (VkImageFormatProperties2KHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImageFormatProperties2KHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImageFormatProperties2KHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageFormatProperties2KHR where+        type StructFields VkImageFormatProperties2KHR =+             '["sType", "pNext", "imageFormatProperties"] -- ' closing tick for hsc2hs+        type CUnionType VkImageFormatProperties2KHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImageFormatProperties2KHR = 'True -- ' closing tick for hsc2hs+        type StructExtends VkImageFormatProperties2KHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSType VkImageFormatProperties2KHR+         where+        type VkSTypeMType VkImageFormatProperties2KHR = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties2KHR, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkImageFormatProperties2KHR, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkImageFormatProperties2KHR, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkImageFormatProperties2KHR, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkImageFormatProperties2KHR where+        type FieldType "sType" VkImageFormatProperties2KHR =+             VkStructureType+        type FieldOptional "sType" VkImageFormatProperties2KHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkImageFormatProperties2KHR =+             #{offset VkImageFormatProperties2KHR, sType}+        type FieldIsArray "sType" VkImageFormatProperties2KHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageFormatProperties2KHR, sType}++instance CanReadField "sType" VkImageFormatProperties2KHR where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance {-# OVERLAPPING #-} HasVkPNext VkImageFormatProperties2KHR+         where+        type VkPNextMType VkImageFormatProperties2KHR = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties2KHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkImageFormatProperties2KHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkImageFormatProperties2KHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkImageFormatProperties2KHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkImageFormatProperties2KHR where+        type FieldType "pNext" VkImageFormatProperties2KHR = Ptr Void+        type FieldOptional "pNext" VkImageFormatProperties2KHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkImageFormatProperties2KHR =+             #{offset VkImageFormatProperties2KHR, pNext}+        type FieldIsArray "pNext" VkImageFormatProperties2KHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageFormatProperties2KHR, pNext}++instance CanReadField "pNext" VkImageFormatProperties2KHR where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance {-# OVERLAPPING #-}+         HasVkImageFormatProperties VkImageFormatProperties2KHR where+        type VkImageFormatPropertiesMType VkImageFormatProperties2KHR =+             VkImageFormatProperties++        {-# NOINLINE vkImageFormatProperties #-}+        vkImageFormatProperties x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties2KHR, imageFormatProperties})++        {-# INLINE vkImageFormatPropertiesByteOffset #-}+        vkImageFormatPropertiesByteOffset ~_+          = #{offset VkImageFormatProperties2KHR, imageFormatProperties}++        {-# INLINE readVkImageFormatProperties #-}+        readVkImageFormatProperties p+          = peekByteOff p #{offset VkImageFormatProperties2KHR, imageFormatProperties}++        {-# INLINE writeVkImageFormatProperties #-}+        writeVkImageFormatProperties p+          = pokeByteOff p #{offset VkImageFormatProperties2KHR, imageFormatProperties}++instance {-# OVERLAPPING #-}+         HasField "imageFormatProperties" VkImageFormatProperties2KHR where+        type FieldType "imageFormatProperties" VkImageFormatProperties2KHR+             = VkImageFormatProperties+        type FieldOptional "imageFormatProperties"+               VkImageFormatProperties2KHR+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "imageFormatProperties"+               VkImageFormatProperties2KHR+             =+             #{offset VkImageFormatProperties2KHR, imageFormatProperties}+        type FieldIsArray "imageFormatProperties"+               VkImageFormatProperties2KHR+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageFormatProperties2KHR, imageFormatProperties}++instance CanReadField "imageFormatProperties"+           VkImageFormatProperties2KHR+         where+        {-# INLINE getField #-}+        getField = vkImageFormatProperties++        {-# INLINE readField #-}+        readField = readVkImageFormatProperties++instance Show VkImageFormatProperties2KHR where+        showsPrec d x+          = showString "VkImageFormatProperties2KHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkImageFormatProperties = " .+                            showsPrec d (vkImageFormatProperties x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImageMemoryBarrier.hsc view
@@ -0,0 +1,594 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImageMemoryBarrier+       (VkImageMemoryBarrier(..)) where+import           Foreign.Storable                                     (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkAccessFlags             (VkAccessFlags)+import           Graphics.Vulkan.Types.Enum.VkImageLayout             (VkImageLayout)+import           Graphics.Vulkan.Types.Enum.VkStructureType           (VkStructureType)+import           Graphics.Vulkan.Types.Handles                        (VkImage)+import           Graphics.Vulkan.Types.Struct.VkImageSubresourceRange (VkImageSubresourceRange)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                     (unsafeDupablePerformIO)++-- | > 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;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImageMemoryBarrier.html VkImageMemoryBarrier registry at www.khronos.org>+data VkImageMemoryBarrier = VkImageMemoryBarrier## Addr## ByteArray##++instance Eq VkImageMemoryBarrier where+        (VkImageMemoryBarrier## a _) == x@(VkImageMemoryBarrier## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImageMemoryBarrier where+        (VkImageMemoryBarrier## a _) `compare` x@(VkImageMemoryBarrier## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImageMemoryBarrier where+        sizeOf ~_ = #{size VkImageMemoryBarrier}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkImageMemoryBarrier}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageMemoryBarrier where+        unsafeAddr (VkImageMemoryBarrier## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImageMemoryBarrier## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImageMemoryBarrier## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageMemoryBarrier where+        type StructFields VkImageMemoryBarrier =+             '["sType", "pNext", "srcAccessMask", "dstAccessMask", "oldLayout", -- ' closing tick for hsc2hs+               "newLayout", "srcQueueFamilyIndex", "dstQueueFamilyIndex", "image",+               "subresourceRange"]+        type CUnionType VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs+        type StructExtends VkImageMemoryBarrier = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSType VkImageMemoryBarrier where+        type VkSTypeMType VkImageMemoryBarrier = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkImageMemoryBarrier, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkImageMemoryBarrier, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkImageMemoryBarrier, sType}++instance {-# OVERLAPPING #-} HasField "sType" VkImageMemoryBarrier+         where+        type FieldType "sType" VkImageMemoryBarrier = VkStructureType+        type FieldOptional "sType" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkImageMemoryBarrier =+             #{offset VkImageMemoryBarrier, sType}+        type FieldIsArray "sType" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageMemoryBarrier, sType}++instance CanReadField "sType" VkImageMemoryBarrier where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkImageMemoryBarrier where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-} HasVkPNext VkImageMemoryBarrier where+        type VkPNextMType VkImageMemoryBarrier = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkImageMemoryBarrier, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkImageMemoryBarrier, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkImageMemoryBarrier, pNext}++instance {-# OVERLAPPING #-} HasField "pNext" VkImageMemoryBarrier+         where+        type FieldType "pNext" VkImageMemoryBarrier = Ptr Void+        type FieldOptional "pNext" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkImageMemoryBarrier =+             #{offset VkImageMemoryBarrier, pNext}+        type FieldIsArray "pNext" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageMemoryBarrier, pNext}++instance CanReadField "pNext" VkImageMemoryBarrier where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkImageMemoryBarrier where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-}+         HasVkSrcAccessMask VkImageMemoryBarrier where+        type VkSrcAccessMaskMType VkImageMemoryBarrier = VkAccessFlags++        {-# NOINLINE vkSrcAccessMask #-}+        vkSrcAccessMask x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, srcAccessMask})++        {-# INLINE vkSrcAccessMaskByteOffset #-}+        vkSrcAccessMaskByteOffset ~_+          = #{offset VkImageMemoryBarrier, srcAccessMask}++        {-# INLINE readVkSrcAccessMask #-}+        readVkSrcAccessMask p+          = peekByteOff p #{offset VkImageMemoryBarrier, srcAccessMask}++        {-# INLINE writeVkSrcAccessMask #-}+        writeVkSrcAccessMask p+          = pokeByteOff p #{offset VkImageMemoryBarrier, srcAccessMask}++instance {-# OVERLAPPING #-}+         HasField "srcAccessMask" VkImageMemoryBarrier where+        type FieldType "srcAccessMask" VkImageMemoryBarrier = VkAccessFlags+        type FieldOptional "srcAccessMask" VkImageMemoryBarrier = 'True -- ' closing tick for hsc2hs+        type FieldOffset "srcAccessMask" VkImageMemoryBarrier =+             #{offset VkImageMemoryBarrier, srcAccessMask}+        type FieldIsArray "srcAccessMask" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageMemoryBarrier, srcAccessMask}++instance CanReadField "srcAccessMask" VkImageMemoryBarrier where+        {-# INLINE getField #-}+        getField = vkSrcAccessMask++        {-# INLINE readField #-}+        readField = readVkSrcAccessMask++instance CanWriteField "srcAccessMask" VkImageMemoryBarrier where+        {-# INLINE writeField #-}+        writeField = writeVkSrcAccessMask++instance {-# OVERLAPPING #-}+         HasVkDstAccessMask VkImageMemoryBarrier where+        type VkDstAccessMaskMType VkImageMemoryBarrier = VkAccessFlags++        {-# NOINLINE vkDstAccessMask #-}+        vkDstAccessMask x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, dstAccessMask})++        {-# INLINE vkDstAccessMaskByteOffset #-}+        vkDstAccessMaskByteOffset ~_+          = #{offset VkImageMemoryBarrier, dstAccessMask}++        {-# INLINE readVkDstAccessMask #-}+        readVkDstAccessMask p+          = peekByteOff p #{offset VkImageMemoryBarrier, dstAccessMask}++        {-# INLINE writeVkDstAccessMask #-}+        writeVkDstAccessMask p+          = pokeByteOff p #{offset VkImageMemoryBarrier, dstAccessMask}++instance {-# OVERLAPPING #-}+         HasField "dstAccessMask" VkImageMemoryBarrier where+        type FieldType "dstAccessMask" VkImageMemoryBarrier = VkAccessFlags+        type FieldOptional "dstAccessMask" VkImageMemoryBarrier = 'True -- ' closing tick for hsc2hs+        type FieldOffset "dstAccessMask" VkImageMemoryBarrier =+             #{offset VkImageMemoryBarrier, dstAccessMask}+        type FieldIsArray "dstAccessMask" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageMemoryBarrier, dstAccessMask}++instance CanReadField "dstAccessMask" VkImageMemoryBarrier where+        {-# INLINE getField #-}+        getField = vkDstAccessMask++        {-# INLINE readField #-}+        readField = readVkDstAccessMask++instance CanWriteField "dstAccessMask" VkImageMemoryBarrier where+        {-# INLINE writeField #-}+        writeField = writeVkDstAccessMask++instance {-# OVERLAPPING #-} HasVkOldLayout VkImageMemoryBarrier+         where+        type VkOldLayoutMType VkImageMemoryBarrier = VkImageLayout++        {-# NOINLINE vkOldLayout #-}+        vkOldLayout x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, oldLayout})++        {-# INLINE vkOldLayoutByteOffset #-}+        vkOldLayoutByteOffset ~_+          = #{offset VkImageMemoryBarrier, oldLayout}++        {-# INLINE readVkOldLayout #-}+        readVkOldLayout p+          = peekByteOff p #{offset VkImageMemoryBarrier, oldLayout}++        {-# INLINE writeVkOldLayout #-}+        writeVkOldLayout p+          = pokeByteOff p #{offset VkImageMemoryBarrier, oldLayout}++instance {-# OVERLAPPING #-}+         HasField "oldLayout" VkImageMemoryBarrier where+        type FieldType "oldLayout" VkImageMemoryBarrier = VkImageLayout+        type FieldOptional "oldLayout" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs+        type FieldOffset "oldLayout" VkImageMemoryBarrier =+             #{offset VkImageMemoryBarrier, oldLayout}+        type FieldIsArray "oldLayout" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageMemoryBarrier, oldLayout}++instance CanReadField "oldLayout" VkImageMemoryBarrier where+        {-# INLINE getField #-}+        getField = vkOldLayout++        {-# INLINE readField #-}+        readField = readVkOldLayout++instance CanWriteField "oldLayout" VkImageMemoryBarrier where+        {-# INLINE writeField #-}+        writeField = writeVkOldLayout++instance {-# OVERLAPPING #-} HasVkNewLayout VkImageMemoryBarrier+         where+        type VkNewLayoutMType VkImageMemoryBarrier = VkImageLayout++        {-# NOINLINE vkNewLayout #-}+        vkNewLayout x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, newLayout})++        {-# INLINE vkNewLayoutByteOffset #-}+        vkNewLayoutByteOffset ~_+          = #{offset VkImageMemoryBarrier, newLayout}++        {-# INLINE readVkNewLayout #-}+        readVkNewLayout p+          = peekByteOff p #{offset VkImageMemoryBarrier, newLayout}++        {-# INLINE writeVkNewLayout #-}+        writeVkNewLayout p+          = pokeByteOff p #{offset VkImageMemoryBarrier, newLayout}++instance {-# OVERLAPPING #-}+         HasField "newLayout" VkImageMemoryBarrier where+        type FieldType "newLayout" VkImageMemoryBarrier = VkImageLayout+        type FieldOptional "newLayout" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs+        type FieldOffset "newLayout" VkImageMemoryBarrier =+             #{offset VkImageMemoryBarrier, newLayout}+        type FieldIsArray "newLayout" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageMemoryBarrier, newLayout}++instance CanReadField "newLayout" VkImageMemoryBarrier where+        {-# INLINE getField #-}+        getField = vkNewLayout++        {-# INLINE readField #-}+        readField = readVkNewLayout++instance CanWriteField "newLayout" VkImageMemoryBarrier where+        {-# INLINE writeField #-}+        writeField = writeVkNewLayout++instance {-# OVERLAPPING #-}+         HasVkSrcQueueFamilyIndex VkImageMemoryBarrier where+        type VkSrcQueueFamilyIndexMType VkImageMemoryBarrier = Word32++        {-# NOINLINE vkSrcQueueFamilyIndex #-}+        vkSrcQueueFamilyIndex x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, srcQueueFamilyIndex})++        {-# INLINE vkSrcQueueFamilyIndexByteOffset #-}+        vkSrcQueueFamilyIndexByteOffset ~_+          = #{offset VkImageMemoryBarrier, srcQueueFamilyIndex}++        {-# INLINE readVkSrcQueueFamilyIndex #-}+        readVkSrcQueueFamilyIndex p+          = peekByteOff p #{offset VkImageMemoryBarrier, srcQueueFamilyIndex}++        {-# INLINE writeVkSrcQueueFamilyIndex #-}+        writeVkSrcQueueFamilyIndex p+          = pokeByteOff p #{offset VkImageMemoryBarrier, srcQueueFamilyIndex}++instance {-# OVERLAPPING #-}+         HasField "srcQueueFamilyIndex" VkImageMemoryBarrier where+        type FieldType "srcQueueFamilyIndex" VkImageMemoryBarrier = Word32+        type FieldOptional "srcQueueFamilyIndex" VkImageMemoryBarrier =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "srcQueueFamilyIndex" VkImageMemoryBarrier =+             #{offset VkImageMemoryBarrier, srcQueueFamilyIndex}+        type FieldIsArray "srcQueueFamilyIndex" VkImageMemoryBarrier =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageMemoryBarrier, srcQueueFamilyIndex}++instance CanReadField "srcQueueFamilyIndex" VkImageMemoryBarrier+         where+        {-# INLINE getField #-}+        getField = vkSrcQueueFamilyIndex++        {-# INLINE readField #-}+        readField = readVkSrcQueueFamilyIndex++instance CanWriteField "srcQueueFamilyIndex" VkImageMemoryBarrier+         where+        {-# INLINE writeField #-}+        writeField = writeVkSrcQueueFamilyIndex++instance {-# OVERLAPPING #-}+         HasVkDstQueueFamilyIndex VkImageMemoryBarrier where+        type VkDstQueueFamilyIndexMType VkImageMemoryBarrier = Word32++        {-# NOINLINE vkDstQueueFamilyIndex #-}+        vkDstQueueFamilyIndex x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, dstQueueFamilyIndex})++        {-# INLINE vkDstQueueFamilyIndexByteOffset #-}+        vkDstQueueFamilyIndexByteOffset ~_+          = #{offset VkImageMemoryBarrier, dstQueueFamilyIndex}++        {-# INLINE readVkDstQueueFamilyIndex #-}+        readVkDstQueueFamilyIndex p+          = peekByteOff p #{offset VkImageMemoryBarrier, dstQueueFamilyIndex}++        {-# INLINE writeVkDstQueueFamilyIndex #-}+        writeVkDstQueueFamilyIndex p+          = pokeByteOff p #{offset VkImageMemoryBarrier, dstQueueFamilyIndex}++instance {-# OVERLAPPING #-}+         HasField "dstQueueFamilyIndex" VkImageMemoryBarrier where+        type FieldType "dstQueueFamilyIndex" VkImageMemoryBarrier = Word32+        type FieldOptional "dstQueueFamilyIndex" VkImageMemoryBarrier =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "dstQueueFamilyIndex" VkImageMemoryBarrier =+             #{offset VkImageMemoryBarrier, dstQueueFamilyIndex}+        type FieldIsArray "dstQueueFamilyIndex" VkImageMemoryBarrier =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageMemoryBarrier, dstQueueFamilyIndex}++instance CanReadField "dstQueueFamilyIndex" VkImageMemoryBarrier+         where+        {-# INLINE getField #-}+        getField = vkDstQueueFamilyIndex++        {-# INLINE readField #-}+        readField = readVkDstQueueFamilyIndex++instance CanWriteField "dstQueueFamilyIndex" VkImageMemoryBarrier+         where+        {-# INLINE writeField #-}+        writeField = writeVkDstQueueFamilyIndex++instance {-# OVERLAPPING #-} HasVkImage VkImageMemoryBarrier where+        type VkImageMType VkImageMemoryBarrier = VkImage++        {-# NOINLINE vkImage #-}+        vkImage x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, image})++        {-# INLINE vkImageByteOffset #-}+        vkImageByteOffset ~_+          = #{offset VkImageMemoryBarrier, image}++        {-# INLINE readVkImage #-}+        readVkImage p+          = peekByteOff p #{offset VkImageMemoryBarrier, image}++        {-# INLINE writeVkImage #-}+        writeVkImage p+          = pokeByteOff p #{offset VkImageMemoryBarrier, image}++instance {-# OVERLAPPING #-} HasField "image" VkImageMemoryBarrier+         where+        type FieldType "image" VkImageMemoryBarrier = VkImage+        type FieldOptional "image" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs+        type FieldOffset "image" VkImageMemoryBarrier =+             #{offset VkImageMemoryBarrier, image}+        type FieldIsArray "image" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageMemoryBarrier, image}++instance CanReadField "image" VkImageMemoryBarrier where+        {-# INLINE getField #-}+        getField = vkImage++        {-# INLINE readField #-}+        readField = readVkImage++instance CanWriteField "image" VkImageMemoryBarrier where+        {-# INLINE writeField #-}+        writeField = writeVkImage++instance {-# OVERLAPPING #-}+         HasVkSubresourceRange VkImageMemoryBarrier where+        type VkSubresourceRangeMType VkImageMemoryBarrier =+             VkImageSubresourceRange++        {-# NOINLINE vkSubresourceRange #-}+        vkSubresourceRange x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, subresourceRange})++        {-# INLINE vkSubresourceRangeByteOffset #-}+        vkSubresourceRangeByteOffset ~_+          = #{offset VkImageMemoryBarrier, subresourceRange}++        {-# INLINE readVkSubresourceRange #-}+        readVkSubresourceRange p+          = peekByteOff p #{offset VkImageMemoryBarrier, subresourceRange}++        {-# INLINE writeVkSubresourceRange #-}+        writeVkSubresourceRange p+          = pokeByteOff p #{offset VkImageMemoryBarrier, subresourceRange}++instance {-# OVERLAPPING #-}+         HasField "subresourceRange" VkImageMemoryBarrier where+        type FieldType "subresourceRange" VkImageMemoryBarrier =+             VkImageSubresourceRange+        type FieldOptional "subresourceRange" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs+        type FieldOffset "subresourceRange" VkImageMemoryBarrier =+             #{offset VkImageMemoryBarrier, subresourceRange}+        type FieldIsArray "subresourceRange" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageMemoryBarrier, subresourceRange}++instance CanReadField "subresourceRange" VkImageMemoryBarrier where+        {-# INLINE getField #-}+        getField = vkSubresourceRange++        {-# INLINE readField #-}+        readField = readVkSubresourceRange++instance CanWriteField "subresourceRange" VkImageMemoryBarrier+         where+        {-# INLINE writeField #-}+        writeField = writeVkSubresourceRange++instance Show VkImageMemoryBarrier where+        showsPrec d x+          = showString "VkImageMemoryBarrier {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkSrcAccessMask = " .+                            showsPrec d (vkSrcAccessMask x) .+                              showString ", " .+                                showString "vkDstAccessMask = " .+                                  showsPrec d (vkDstAccessMask x) .+                                    showString ", " .+                                      showString "vkOldLayout = " .+                                        showsPrec d (vkOldLayout x) .+                                          showString ", " .+                                            showString "vkNewLayout = " .+                                              showsPrec d (vkNewLayout x) .+                                                showString ", " .+                                                  showString "vkSrcQueueFamilyIndex = " .+                                                    showsPrec d (vkSrcQueueFamilyIndex x) .+                                                      showString ", " .+                                                        showString "vkDstQueueFamilyIndex = " .+                                                          showsPrec d (vkDstQueueFamilyIndex x) .+                                                            showString ", " .+                                                              showString "vkImage = " .+                                                                showsPrec d (vkImage x) .+                                                                  showString ", " .+                                                                    showString+                                                                      "vkSubresourceRange = "+                                                                      .+                                                                      showsPrec d+                                                                        (vkSubresourceRange x)+                                                                        . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImageMemoryRequirementsInfo2KHR.hsc view
@@ -0,0 +1,244 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImageMemoryRequirementsInfo2KHR+       (VkImageMemoryRequirementsInfo2KHR(..)) 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              (VkImage)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkImageMemoryRequirementsInfo2KHR {+--   >     VkStructureType sType;+--   >     const void*                                                          pNext;+--   >     VkImage                                                              image;+--   > } VkImageMemoryRequirementsInfo2KHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImageMemoryRequirementsInfo2KHR.html VkImageMemoryRequirementsInfo2KHR registry at www.khronos.org>+data VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2KHR## Addr##+                                                                            ByteArray##++instance Eq VkImageMemoryRequirementsInfo2KHR where+        (VkImageMemoryRequirementsInfo2KHR## a _) ==+          x@(VkImageMemoryRequirementsInfo2KHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImageMemoryRequirementsInfo2KHR where+        (VkImageMemoryRequirementsInfo2KHR## a _) `compare`+          x@(VkImageMemoryRequirementsInfo2KHR## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImageMemoryRequirementsInfo2KHR where+        sizeOf ~_ = #{size VkImageMemoryRequirementsInfo2KHR}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkImageMemoryRequirementsInfo2KHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageMemoryRequirementsInfo2KHR where+        unsafeAddr (VkImageMemoryRequirementsInfo2KHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImageMemoryRequirementsInfo2KHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImageMemoryRequirementsInfo2KHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageMemoryRequirementsInfo2KHR where+        type StructFields VkImageMemoryRequirementsInfo2KHR =+             '["sType", "pNext", "image"] -- ' closing tick for hsc2hs+        type CUnionType VkImageMemoryRequirementsInfo2KHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImageMemoryRequirementsInfo2KHR = 'False -- ' closing tick for hsc2hs+        type StructExtends VkImageMemoryRequirementsInfo2KHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkSType VkImageMemoryRequirementsInfo2KHR where+        type VkSTypeMType VkImageMemoryRequirementsInfo2KHR =+             VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageMemoryRequirementsInfo2KHR, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkImageMemoryRequirementsInfo2KHR, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkImageMemoryRequirementsInfo2KHR, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkImageMemoryRequirementsInfo2KHR, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkImageMemoryRequirementsInfo2KHR where+        type FieldType "sType" VkImageMemoryRequirementsInfo2KHR =+             VkStructureType+        type FieldOptional "sType" VkImageMemoryRequirementsInfo2KHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkImageMemoryRequirementsInfo2KHR =+             #{offset VkImageMemoryRequirementsInfo2KHR, sType}+        type FieldIsArray "sType" VkImageMemoryRequirementsInfo2KHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageMemoryRequirementsInfo2KHR, sType}++instance CanReadField "sType" VkImageMemoryRequirementsInfo2KHR+         where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkImageMemoryRequirementsInfo2KHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-}+         HasVkPNext VkImageMemoryRequirementsInfo2KHR where+        type VkPNextMType VkImageMemoryRequirementsInfo2KHR = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageMemoryRequirementsInfo2KHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkImageMemoryRequirementsInfo2KHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkImageMemoryRequirementsInfo2KHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkImageMemoryRequirementsInfo2KHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkImageMemoryRequirementsInfo2KHR where+        type FieldType "pNext" VkImageMemoryRequirementsInfo2KHR = Ptr Void+        type FieldOptional "pNext" VkImageMemoryRequirementsInfo2KHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkImageMemoryRequirementsInfo2KHR =+             #{offset VkImageMemoryRequirementsInfo2KHR, pNext}+        type FieldIsArray "pNext" VkImageMemoryRequirementsInfo2KHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageMemoryRequirementsInfo2KHR, pNext}++instance CanReadField "pNext" VkImageMemoryRequirementsInfo2KHR+         where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkImageMemoryRequirementsInfo2KHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-}+         HasVkImage VkImageMemoryRequirementsInfo2KHR where+        type VkImageMType VkImageMemoryRequirementsInfo2KHR = VkImage++        {-# NOINLINE vkImage #-}+        vkImage x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageMemoryRequirementsInfo2KHR, image})++        {-# INLINE vkImageByteOffset #-}+        vkImageByteOffset ~_+          = #{offset VkImageMemoryRequirementsInfo2KHR, image}++        {-# INLINE readVkImage #-}+        readVkImage p+          = peekByteOff p #{offset VkImageMemoryRequirementsInfo2KHR, image}++        {-# INLINE writeVkImage #-}+        writeVkImage p+          = pokeByteOff p #{offset VkImageMemoryRequirementsInfo2KHR, image}++instance {-# OVERLAPPING #-}+         HasField "image" VkImageMemoryRequirementsInfo2KHR where+        type FieldType "image" VkImageMemoryRequirementsInfo2KHR = VkImage+        type FieldOptional "image" VkImageMemoryRequirementsInfo2KHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "image" VkImageMemoryRequirementsInfo2KHR =+             #{offset VkImageMemoryRequirementsInfo2KHR, image}+        type FieldIsArray "image" VkImageMemoryRequirementsInfo2KHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageMemoryRequirementsInfo2KHR, image}++instance CanReadField "image" VkImageMemoryRequirementsInfo2KHR+         where+        {-# INLINE getField #-}+        getField = vkImage++        {-# INLINE readField #-}+        readField = readVkImage++instance CanWriteField "image" VkImageMemoryRequirementsInfo2KHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkImage++instance Show VkImageMemoryRequirementsInfo2KHR where+        showsPrec d x+          = showString "VkImageMemoryRequirementsInfo2KHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkImage = " . showsPrec d (vkImage x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImagePlaneMemoryRequirementsInfoKHR.hsc view
@@ -0,0 +1,260 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImagePlaneMemoryRequirementsInfoKHR+       (VkImagePlaneMemoryRequirementsInfoKHR(..)) 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.VkImageMemoryRequirementsInfo2KHR (VkImageMemoryRequirementsInfo2KHR)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                               (unsafeDupablePerformIO)++-- | > typedef struct VkImagePlaneMemoryRequirementsInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkImageAspectFlagBits            planeAspect;+--   > } VkImagePlaneMemoryRequirementsInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImagePlaneMemoryRequirementsInfoKHR.html VkImagePlaneMemoryRequirementsInfoKHR registry at www.khronos.org>+data VkImagePlaneMemoryRequirementsInfoKHR = VkImagePlaneMemoryRequirementsInfoKHR## Addr##+                                                                                    ByteArray##++instance Eq VkImagePlaneMemoryRequirementsInfoKHR where+        (VkImagePlaneMemoryRequirementsInfoKHR## a _) ==+          x@(VkImagePlaneMemoryRequirementsInfoKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImagePlaneMemoryRequirementsInfoKHR where+        (VkImagePlaneMemoryRequirementsInfoKHR## a _) `compare`+          x@(VkImagePlaneMemoryRequirementsInfoKHR## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImagePlaneMemoryRequirementsInfoKHR where+        sizeOf ~_+          = #{size VkImagePlaneMemoryRequirementsInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkImagePlaneMemoryRequirementsInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImagePlaneMemoryRequirementsInfoKHR+         where+        unsafeAddr (VkImagePlaneMemoryRequirementsInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImagePlaneMemoryRequirementsInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImagePlaneMemoryRequirementsInfoKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImagePlaneMemoryRequirementsInfoKHR where+        type StructFields VkImagePlaneMemoryRequirementsInfoKHR =+             '["sType", "pNext", "planeAspect"] -- ' closing tick for hsc2hs+        type CUnionType VkImagePlaneMemoryRequirementsInfoKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImagePlaneMemoryRequirementsInfoKHR = 'False -- ' closing tick for hsc2hs+        type StructExtends VkImagePlaneMemoryRequirementsInfoKHR =+             '[VkImageMemoryRequirementsInfo2KHR] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkSType VkImagePlaneMemoryRequirementsInfoKHR where+        type VkSTypeMType VkImagePlaneMemoryRequirementsInfoKHR =+             VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImagePlaneMemoryRequirementsInfoKHR, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkImagePlaneMemoryRequirementsInfoKHR, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkImagePlaneMemoryRequirementsInfoKHR, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkImagePlaneMemoryRequirementsInfoKHR, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkImagePlaneMemoryRequirementsInfoKHR where+        type FieldType "sType" VkImagePlaneMemoryRequirementsInfoKHR =+             VkStructureType+        type FieldOptional "sType" VkImagePlaneMemoryRequirementsInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkImagePlaneMemoryRequirementsInfoKHR =+             #{offset VkImagePlaneMemoryRequirementsInfoKHR, sType}+        type FieldIsArray "sType" VkImagePlaneMemoryRequirementsInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImagePlaneMemoryRequirementsInfoKHR, sType}++instance CanReadField "sType" VkImagePlaneMemoryRequirementsInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType"+           VkImagePlaneMemoryRequirementsInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-}+         HasVkPNext VkImagePlaneMemoryRequirementsInfoKHR where+        type VkPNextMType VkImagePlaneMemoryRequirementsInfoKHR = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImagePlaneMemoryRequirementsInfoKHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkImagePlaneMemoryRequirementsInfoKHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkImagePlaneMemoryRequirementsInfoKHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkImagePlaneMemoryRequirementsInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkImagePlaneMemoryRequirementsInfoKHR where+        type FieldType "pNext" VkImagePlaneMemoryRequirementsInfoKHR =+             Ptr Void+        type FieldOptional "pNext" VkImagePlaneMemoryRequirementsInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkImagePlaneMemoryRequirementsInfoKHR =+             #{offset VkImagePlaneMemoryRequirementsInfoKHR, pNext}+        type FieldIsArray "pNext" VkImagePlaneMemoryRequirementsInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImagePlaneMemoryRequirementsInfoKHR, pNext}++instance CanReadField "pNext" VkImagePlaneMemoryRequirementsInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext"+           VkImagePlaneMemoryRequirementsInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-}+         HasVkPlaneAspect VkImagePlaneMemoryRequirementsInfoKHR where+        type VkPlaneAspectMType VkImagePlaneMemoryRequirementsInfoKHR =+             VkImageAspectFlagBits++        {-# NOINLINE vkPlaneAspect #-}+        vkPlaneAspect x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImagePlaneMemoryRequirementsInfoKHR, planeAspect})++        {-# INLINE vkPlaneAspectByteOffset #-}+        vkPlaneAspectByteOffset ~_+          = #{offset VkImagePlaneMemoryRequirementsInfoKHR, planeAspect}++        {-# INLINE readVkPlaneAspect #-}+        readVkPlaneAspect p+          = peekByteOff p #{offset VkImagePlaneMemoryRequirementsInfoKHR, planeAspect}++        {-# INLINE writeVkPlaneAspect #-}+        writeVkPlaneAspect p+          = pokeByteOff p #{offset VkImagePlaneMemoryRequirementsInfoKHR, planeAspect}++instance {-# OVERLAPPING #-}+         HasField "planeAspect" VkImagePlaneMemoryRequirementsInfoKHR where+        type FieldType "planeAspect" VkImagePlaneMemoryRequirementsInfoKHR+             = VkImageAspectFlagBits+        type FieldOptional "planeAspect"+               VkImagePlaneMemoryRequirementsInfoKHR+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "planeAspect"+               VkImagePlaneMemoryRequirementsInfoKHR+             =+             #{offset VkImagePlaneMemoryRequirementsInfoKHR, planeAspect}+        type FieldIsArray "planeAspect"+               VkImagePlaneMemoryRequirementsInfoKHR+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImagePlaneMemoryRequirementsInfoKHR, planeAspect}++instance CanReadField "planeAspect"+           VkImagePlaneMemoryRequirementsInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkPlaneAspect++        {-# INLINE readField #-}+        readField = readVkPlaneAspect++instance CanWriteField "planeAspect"+           VkImagePlaneMemoryRequirementsInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkPlaneAspect++instance Show VkImagePlaneMemoryRequirementsInfoKHR where+        showsPrec d x+          = showString "VkImagePlaneMemoryRequirementsInfoKHR {" .+              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/VkImageResolve.hsc view
@@ -0,0 +1,324 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImageResolve+       (VkImageResolve(..)) where+import           Foreign.Storable                                      (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+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 VkImageResolve {+--   >     VkImageSubresourceLayers srcSubresource;+--   >     VkOffset3D             srcOffset;+--   >     VkImageSubresourceLayers dstSubresource;+--   >     VkOffset3D             dstOffset;+--   >     VkExtent3D             extent;+--   > } VkImageResolve;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImageResolve.html VkImageResolve registry at www.khronos.org>+data VkImageResolve = VkImageResolve## Addr## ByteArray##++instance Eq VkImageResolve where+        (VkImageResolve## a _) == x@(VkImageResolve## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImageResolve where+        (VkImageResolve## a _) `compare` x@(VkImageResolve## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImageResolve where+        sizeOf ~_ = #{size VkImageResolve}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkImageResolve}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageResolve where+        unsafeAddr (VkImageResolve## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImageResolve## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImageResolve## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageResolve where+        type StructFields VkImageResolve =+             '["srcSubresource", "srcOffset", "dstSubresource", "dstOffset", -- ' closing tick for hsc2hs+               "extent"]+        type CUnionType VkImageResolve = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImageResolve = 'False -- ' closing tick for hsc2hs+        type StructExtends VkImageResolve = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSrcSubresource VkImageResolve+         where+        type VkSrcSubresourceMType VkImageResolve =+             VkImageSubresourceLayers++        {-# NOINLINE vkSrcSubresource #-}+        vkSrcSubresource x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageResolve, srcSubresource})++        {-# INLINE vkSrcSubresourceByteOffset #-}+        vkSrcSubresourceByteOffset ~_+          = #{offset VkImageResolve, srcSubresource}++        {-# INLINE readVkSrcSubresource #-}+        readVkSrcSubresource p+          = peekByteOff p #{offset VkImageResolve, srcSubresource}++        {-# INLINE writeVkSrcSubresource #-}+        writeVkSrcSubresource p+          = pokeByteOff p #{offset VkImageResolve, srcSubresource}++instance {-# OVERLAPPING #-}+         HasField "srcSubresource" VkImageResolve where+        type FieldType "srcSubresource" VkImageResolve =+             VkImageSubresourceLayers+        type FieldOptional "srcSubresource" VkImageResolve = 'False -- ' closing tick for hsc2hs+        type FieldOffset "srcSubresource" VkImageResolve =+             #{offset VkImageResolve, srcSubresource}+        type FieldIsArray "srcSubresource" VkImageResolve = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageResolve, srcSubresource}++instance CanReadField "srcSubresource" VkImageResolve where+        {-# INLINE getField #-}+        getField = vkSrcSubresource++        {-# INLINE readField #-}+        readField = readVkSrcSubresource++instance CanWriteField "srcSubresource" VkImageResolve where+        {-# INLINE writeField #-}+        writeField = writeVkSrcSubresource++instance {-# OVERLAPPING #-} HasVkSrcOffset VkImageResolve where+        type VkSrcOffsetMType VkImageResolve = VkOffset3D++        {-# NOINLINE vkSrcOffset #-}+        vkSrcOffset x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageResolve, srcOffset})++        {-# INLINE vkSrcOffsetByteOffset #-}+        vkSrcOffsetByteOffset ~_+          = #{offset VkImageResolve, srcOffset}++        {-# INLINE readVkSrcOffset #-}+        readVkSrcOffset p+          = peekByteOff p #{offset VkImageResolve, srcOffset}++        {-# INLINE writeVkSrcOffset #-}+        writeVkSrcOffset p+          = pokeByteOff p #{offset VkImageResolve, srcOffset}++instance {-# OVERLAPPING #-} HasField "srcOffset" VkImageResolve+         where+        type FieldType "srcOffset" VkImageResolve = VkOffset3D+        type FieldOptional "srcOffset" VkImageResolve = 'False -- ' closing tick for hsc2hs+        type FieldOffset "srcOffset" VkImageResolve =+             #{offset VkImageResolve, srcOffset}+        type FieldIsArray "srcOffset" VkImageResolve = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageResolve, srcOffset}++instance CanReadField "srcOffset" VkImageResolve where+        {-# INLINE getField #-}+        getField = vkSrcOffset++        {-# INLINE readField #-}+        readField = readVkSrcOffset++instance CanWriteField "srcOffset" VkImageResolve where+        {-# INLINE writeField #-}+        writeField = writeVkSrcOffset++instance {-# OVERLAPPING #-} HasVkDstSubresource VkImageResolve+         where+        type VkDstSubresourceMType VkImageResolve =+             VkImageSubresourceLayers++        {-# NOINLINE vkDstSubresource #-}+        vkDstSubresource x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageResolve, dstSubresource})++        {-# INLINE vkDstSubresourceByteOffset #-}+        vkDstSubresourceByteOffset ~_+          = #{offset VkImageResolve, dstSubresource}++        {-# INLINE readVkDstSubresource #-}+        readVkDstSubresource p+          = peekByteOff p #{offset VkImageResolve, dstSubresource}++        {-# INLINE writeVkDstSubresource #-}+        writeVkDstSubresource p+          = pokeByteOff p #{offset VkImageResolve, dstSubresource}++instance {-# OVERLAPPING #-}+         HasField "dstSubresource" VkImageResolve where+        type FieldType "dstSubresource" VkImageResolve =+             VkImageSubresourceLayers+        type FieldOptional "dstSubresource" VkImageResolve = 'False -- ' closing tick for hsc2hs+        type FieldOffset "dstSubresource" VkImageResolve =+             #{offset VkImageResolve, dstSubresource}+        type FieldIsArray "dstSubresource" VkImageResolve = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageResolve, dstSubresource}++instance CanReadField "dstSubresource" VkImageResolve where+        {-# INLINE getField #-}+        getField = vkDstSubresource++        {-# INLINE readField #-}+        readField = readVkDstSubresource++instance CanWriteField "dstSubresource" VkImageResolve where+        {-# INLINE writeField #-}+        writeField = writeVkDstSubresource++instance {-# OVERLAPPING #-} HasVkDstOffset VkImageResolve where+        type VkDstOffsetMType VkImageResolve = VkOffset3D++        {-# NOINLINE vkDstOffset #-}+        vkDstOffset x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageResolve, dstOffset})++        {-# INLINE vkDstOffsetByteOffset #-}+        vkDstOffsetByteOffset ~_+          = #{offset VkImageResolve, dstOffset}++        {-# INLINE readVkDstOffset #-}+        readVkDstOffset p+          = peekByteOff p #{offset VkImageResolve, dstOffset}++        {-# INLINE writeVkDstOffset #-}+        writeVkDstOffset p+          = pokeByteOff p #{offset VkImageResolve, dstOffset}++instance {-# OVERLAPPING #-} HasField "dstOffset" VkImageResolve+         where+        type FieldType "dstOffset" VkImageResolve = VkOffset3D+        type FieldOptional "dstOffset" VkImageResolve = 'False -- ' closing tick for hsc2hs+        type FieldOffset "dstOffset" VkImageResolve =+             #{offset VkImageResolve, dstOffset}+        type FieldIsArray "dstOffset" VkImageResolve = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageResolve, dstOffset}++instance CanReadField "dstOffset" VkImageResolve where+        {-# INLINE getField #-}+        getField = vkDstOffset++        {-# INLINE readField #-}+        readField = readVkDstOffset++instance CanWriteField "dstOffset" VkImageResolve where+        {-# INLINE writeField #-}+        writeField = writeVkDstOffset++instance {-# OVERLAPPING #-} HasVkExtent VkImageResolve where+        type VkExtentMType VkImageResolve = VkExtent3D++        {-# NOINLINE vkExtent #-}+        vkExtent x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageResolve, extent})++        {-# INLINE vkExtentByteOffset #-}+        vkExtentByteOffset ~_+          = #{offset VkImageResolve, extent}++        {-# INLINE readVkExtent #-}+        readVkExtent p+          = peekByteOff p #{offset VkImageResolve, extent}++        {-# INLINE writeVkExtent #-}+        writeVkExtent p+          = pokeByteOff p #{offset VkImageResolve, extent}++instance {-# OVERLAPPING #-} HasField "extent" VkImageResolve where+        type FieldType "extent" VkImageResolve = VkExtent3D+        type FieldOptional "extent" VkImageResolve = 'False -- ' closing tick for hsc2hs+        type FieldOffset "extent" VkImageResolve =+             #{offset VkImageResolve, extent}+        type FieldIsArray "extent" VkImageResolve = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageResolve, extent}++instance CanReadField "extent" VkImageResolve where+        {-# INLINE getField #-}+        getField = vkExtent++        {-# INLINE readField #-}+        readField = readVkExtent++instance CanWriteField "extent" VkImageResolve where+        {-# INLINE writeField #-}+        writeField = writeVkExtent++instance Show VkImageResolve where+        showsPrec d x+          = showString "VkImageResolve {" .+              showString "vkSrcSubresource = " .+                showsPrec d (vkSrcSubresource x) .+                  showString ", " .+                    showString "vkSrcOffset = " .+                      showsPrec d (vkSrcOffset x) .+                        showString ", " .+                          showString "vkDstSubresource = " .+                            showsPrec d (vkDstSubresource x) .+                              showString ", " .+                                showString "vkDstOffset = " .+                                  showsPrec d (vkDstOffset x) .+                                    showString ", " .+                                      showString "vkExtent = " .+                                        showsPrec d (vkExtent x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImageSparseMemoryRequirementsInfo2KHR.hsc view
@@ -0,0 +1,256 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImageSparseMemoryRequirementsInfo2KHR+       (VkImageSparseMemoryRequirementsInfo2KHR(..)) 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              (VkImage)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkImageSparseMemoryRequirementsInfo2KHR {+--   >     VkStructureType sType;+--   >     const void*                                                          pNext;+--   >     VkImage                                                              image;+--   > } VkImageSparseMemoryRequirementsInfo2KHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImageSparseMemoryRequirementsInfo2KHR.html VkImageSparseMemoryRequirementsInfo2KHR registry at www.khronos.org>+data VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2KHR## Addr##+                                                                                        ByteArray##++instance Eq VkImageSparseMemoryRequirementsInfo2KHR where+        (VkImageSparseMemoryRequirementsInfo2KHR## a _) ==+          x@(VkImageSparseMemoryRequirementsInfo2KHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImageSparseMemoryRequirementsInfo2KHR where+        (VkImageSparseMemoryRequirementsInfo2KHR## a _) `compare`+          x@(VkImageSparseMemoryRequirementsInfo2KHR## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImageSparseMemoryRequirementsInfo2KHR where+        sizeOf ~_+          = #{size VkImageSparseMemoryRequirementsInfo2KHR}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkImageSparseMemoryRequirementsInfo2KHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageSparseMemoryRequirementsInfo2KHR+         where+        unsafeAddr (VkImageSparseMemoryRequirementsInfo2KHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImageSparseMemoryRequirementsInfo2KHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImageSparseMemoryRequirementsInfo2KHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageSparseMemoryRequirementsInfo2KHR+         where+        type StructFields VkImageSparseMemoryRequirementsInfo2KHR =+             '["sType", "pNext", "image"] -- ' closing tick for hsc2hs+        type CUnionType VkImageSparseMemoryRequirementsInfo2KHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImageSparseMemoryRequirementsInfo2KHR = 'False -- ' closing tick for hsc2hs+        type StructExtends VkImageSparseMemoryRequirementsInfo2KHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkSType VkImageSparseMemoryRequirementsInfo2KHR where+        type VkSTypeMType VkImageSparseMemoryRequirementsInfo2KHR =+             VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageSparseMemoryRequirementsInfo2KHR, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkImageSparseMemoryRequirementsInfo2KHR, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkImageSparseMemoryRequirementsInfo2KHR, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkImageSparseMemoryRequirementsInfo2KHR, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkImageSparseMemoryRequirementsInfo2KHR where+        type FieldType "sType" VkImageSparseMemoryRequirementsInfo2KHR =+             VkStructureType+        type FieldOptional "sType" VkImageSparseMemoryRequirementsInfo2KHR+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkImageSparseMemoryRequirementsInfo2KHR =+             #{offset VkImageSparseMemoryRequirementsInfo2KHR, sType}+        type FieldIsArray "sType" VkImageSparseMemoryRequirementsInfo2KHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageSparseMemoryRequirementsInfo2KHR, sType}++instance CanReadField "sType"+           VkImageSparseMemoryRequirementsInfo2KHR+         where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType"+           VkImageSparseMemoryRequirementsInfo2KHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-}+         HasVkPNext VkImageSparseMemoryRequirementsInfo2KHR where+        type VkPNextMType VkImageSparseMemoryRequirementsInfo2KHR =+             Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageSparseMemoryRequirementsInfo2KHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkImageSparseMemoryRequirementsInfo2KHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkImageSparseMemoryRequirementsInfo2KHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkImageSparseMemoryRequirementsInfo2KHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkImageSparseMemoryRequirementsInfo2KHR where+        type FieldType "pNext" VkImageSparseMemoryRequirementsInfo2KHR =+             Ptr Void+        type FieldOptional "pNext" VkImageSparseMemoryRequirementsInfo2KHR+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkImageSparseMemoryRequirementsInfo2KHR =+             #{offset VkImageSparseMemoryRequirementsInfo2KHR, pNext}+        type FieldIsArray "pNext" VkImageSparseMemoryRequirementsInfo2KHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageSparseMemoryRequirementsInfo2KHR, pNext}++instance CanReadField "pNext"+           VkImageSparseMemoryRequirementsInfo2KHR+         where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext"+           VkImageSparseMemoryRequirementsInfo2KHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-}+         HasVkImage VkImageSparseMemoryRequirementsInfo2KHR where+        type VkImageMType VkImageSparseMemoryRequirementsInfo2KHR = VkImage++        {-# NOINLINE vkImage #-}+        vkImage x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageSparseMemoryRequirementsInfo2KHR, image})++        {-# INLINE vkImageByteOffset #-}+        vkImageByteOffset ~_+          = #{offset VkImageSparseMemoryRequirementsInfo2KHR, image}++        {-# INLINE readVkImage #-}+        readVkImage p+          = peekByteOff p #{offset VkImageSparseMemoryRequirementsInfo2KHR, image}++        {-# INLINE writeVkImage #-}+        writeVkImage p+          = pokeByteOff p #{offset VkImageSparseMemoryRequirementsInfo2KHR, image}++instance {-# OVERLAPPING #-}+         HasField "image" VkImageSparseMemoryRequirementsInfo2KHR where+        type FieldType "image" VkImageSparseMemoryRequirementsInfo2KHR =+             VkImage+        type FieldOptional "image" VkImageSparseMemoryRequirementsInfo2KHR+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "image" VkImageSparseMemoryRequirementsInfo2KHR =+             #{offset VkImageSparseMemoryRequirementsInfo2KHR, image}+        type FieldIsArray "image" VkImageSparseMemoryRequirementsInfo2KHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageSparseMemoryRequirementsInfo2KHR, image}++instance CanReadField "image"+           VkImageSparseMemoryRequirementsInfo2KHR+         where+        {-# INLINE getField #-}+        getField = vkImage++        {-# INLINE readField #-}+        readField = readVkImage++instance CanWriteField "image"+           VkImageSparseMemoryRequirementsInfo2KHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkImage++instance Show VkImageSparseMemoryRequirementsInfo2KHR where+        showsPrec d x+          = showString "VkImageSparseMemoryRequirementsInfo2KHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkImage = " . showsPrec d (vkImage x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImageSubresource.hsc view
@@ -0,0 +1,220 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImageSubresource+       (VkImageSubresource(..)) where+import           Foreign.Storable                              (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkImageAspectFlags (VkImageAspectFlags)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                              (unsafeDupablePerformIO)++-- | > typedef struct VkImageSubresource {+--   >     VkImageAspectFlags     aspectMask;+--   >     uint32_t               mipLevel;+--   >     uint32_t               arrayLayer;+--   > } VkImageSubresource;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImageSubresource.html VkImageSubresource registry at www.khronos.org>+data VkImageSubresource = VkImageSubresource## Addr## ByteArray##++instance Eq VkImageSubresource where+        (VkImageSubresource## a _) == x@(VkImageSubresource## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImageSubresource where+        (VkImageSubresource## a _) `compare` x@(VkImageSubresource## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImageSubresource where+        sizeOf ~_ = #{size VkImageSubresource}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkImageSubresource}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageSubresource where+        unsafeAddr (VkImageSubresource## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImageSubresource## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImageSubresource## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageSubresource where+        type StructFields VkImageSubresource =+             '["aspectMask", "mipLevel", "arrayLayer"] -- ' closing tick for hsc2hs+        type CUnionType VkImageSubresource = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImageSubresource = 'False -- ' closing tick for hsc2hs+        type StructExtends VkImageSubresource = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkAspectMask VkImageSubresource+         where+        type VkAspectMaskMType VkImageSubresource = VkImageAspectFlags++        {-# NOINLINE vkAspectMask #-}+        vkAspectMask x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageSubresource, aspectMask})++        {-# INLINE vkAspectMaskByteOffset #-}+        vkAspectMaskByteOffset ~_+          = #{offset VkImageSubresource, aspectMask}++        {-# INLINE readVkAspectMask #-}+        readVkAspectMask p+          = peekByteOff p #{offset VkImageSubresource, aspectMask}++        {-# INLINE writeVkAspectMask #-}+        writeVkAspectMask p+          = pokeByteOff p #{offset VkImageSubresource, aspectMask}++instance {-# OVERLAPPING #-}+         HasField "aspectMask" VkImageSubresource where+        type FieldType "aspectMask" VkImageSubresource = VkImageAspectFlags+        type FieldOptional "aspectMask" VkImageSubresource = 'False -- ' closing tick for hsc2hs+        type FieldOffset "aspectMask" VkImageSubresource =+             #{offset VkImageSubresource, aspectMask}+        type FieldIsArray "aspectMask" VkImageSubresource = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageSubresource, aspectMask}++instance CanReadField "aspectMask" VkImageSubresource where+        {-# INLINE getField #-}+        getField = vkAspectMask++        {-# INLINE readField #-}+        readField = readVkAspectMask++instance CanWriteField "aspectMask" VkImageSubresource where+        {-# INLINE writeField #-}+        writeField = writeVkAspectMask++instance {-# OVERLAPPING #-} HasVkMipLevel VkImageSubresource where+        type VkMipLevelMType VkImageSubresource = Word32++        {-# NOINLINE vkMipLevel #-}+        vkMipLevel x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageSubresource, mipLevel})++        {-# INLINE vkMipLevelByteOffset #-}+        vkMipLevelByteOffset ~_+          = #{offset VkImageSubresource, mipLevel}++        {-# INLINE readVkMipLevel #-}+        readVkMipLevel p+          = peekByteOff p #{offset VkImageSubresource, mipLevel}++        {-# INLINE writeVkMipLevel #-}+        writeVkMipLevel p+          = pokeByteOff p #{offset VkImageSubresource, mipLevel}++instance {-# OVERLAPPING #-} HasField "mipLevel" VkImageSubresource+         where+        type FieldType "mipLevel" VkImageSubresource = Word32+        type FieldOptional "mipLevel" VkImageSubresource = 'False -- ' closing tick for hsc2hs+        type FieldOffset "mipLevel" VkImageSubresource =+             #{offset VkImageSubresource, mipLevel}+        type FieldIsArray "mipLevel" VkImageSubresource = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageSubresource, mipLevel}++instance CanReadField "mipLevel" VkImageSubresource where+        {-# INLINE getField #-}+        getField = vkMipLevel++        {-# INLINE readField #-}+        readField = readVkMipLevel++instance CanWriteField "mipLevel" VkImageSubresource where+        {-# INLINE writeField #-}+        writeField = writeVkMipLevel++instance {-# OVERLAPPING #-} HasVkArrayLayer VkImageSubresource+         where+        type VkArrayLayerMType VkImageSubresource = Word32++        {-# NOINLINE vkArrayLayer #-}+        vkArrayLayer x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageSubresource, arrayLayer})++        {-# INLINE vkArrayLayerByteOffset #-}+        vkArrayLayerByteOffset ~_+          = #{offset VkImageSubresource, arrayLayer}++        {-# INLINE readVkArrayLayer #-}+        readVkArrayLayer p+          = peekByteOff p #{offset VkImageSubresource, arrayLayer}++        {-# INLINE writeVkArrayLayer #-}+        writeVkArrayLayer p+          = pokeByteOff p #{offset VkImageSubresource, arrayLayer}++instance {-# OVERLAPPING #-}+         HasField "arrayLayer" VkImageSubresource where+        type FieldType "arrayLayer" VkImageSubresource = Word32+        type FieldOptional "arrayLayer" VkImageSubresource = 'False -- ' closing tick for hsc2hs+        type FieldOffset "arrayLayer" VkImageSubresource =+             #{offset VkImageSubresource, arrayLayer}+        type FieldIsArray "arrayLayer" VkImageSubresource = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageSubresource, arrayLayer}++instance CanReadField "arrayLayer" VkImageSubresource where+        {-# INLINE getField #-}+        getField = vkArrayLayer++        {-# INLINE readField #-}+        readField = readVkArrayLayer++instance CanWriteField "arrayLayer" VkImageSubresource where+        {-# INLINE writeField #-}+        writeField = writeVkArrayLayer++instance Show VkImageSubresource where+        showsPrec d x+          = showString "VkImageSubresource {" .+              showString "vkAspectMask = " .+                showsPrec d (vkAspectMask x) .+                  showString ", " .+                    showString "vkMipLevel = " .+                      showsPrec d (vkMipLevel x) .+                        showString ", " .+                          showString "vkArrayLayer = " .+                            showsPrec d (vkArrayLayer x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImageSubresourceLayers.hsc view
@@ -0,0 +1,283 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImageSubresourceLayers+       (VkImageSubresourceLayers(..)) where+import           Foreign.Storable                              (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkImageAspectFlags (VkImageAspectFlags)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                              (unsafeDupablePerformIO)++-- | > typedef struct VkImageSubresourceLayers {+--   >     VkImageAspectFlags     aspectMask;+--   >     uint32_t               mipLevel;+--   >     uint32_t               baseArrayLayer;+--   >     uint32_t               layerCount;+--   > } VkImageSubresourceLayers;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImageSubresourceLayers.html VkImageSubresourceLayers registry at www.khronos.org>+data VkImageSubresourceLayers = VkImageSubresourceLayers## Addr##+                                                          ByteArray##++instance Eq VkImageSubresourceLayers where+        (VkImageSubresourceLayers## a _) ==+          x@(VkImageSubresourceLayers## b _) = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImageSubresourceLayers where+        (VkImageSubresourceLayers## a _) `compare`+          x@(VkImageSubresourceLayers## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImageSubresourceLayers where+        sizeOf ~_ = #{size VkImageSubresourceLayers}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkImageSubresourceLayers}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageSubresourceLayers where+        unsafeAddr (VkImageSubresourceLayers## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImageSubresourceLayers## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImageSubresourceLayers## (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageSubresourceLayers where+        type StructFields VkImageSubresourceLayers =+             '["aspectMask", "mipLevel", "baseArrayLayer", "layerCount"] -- ' closing tick for hsc2hs+        type CUnionType VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs+        type StructExtends VkImageSubresourceLayers = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkAspectMask VkImageSubresourceLayers where+        type VkAspectMaskMType VkImageSubresourceLayers =+             VkImageAspectFlags++        {-# NOINLINE vkAspectMask #-}+        vkAspectMask x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageSubresourceLayers, aspectMask})++        {-# INLINE vkAspectMaskByteOffset #-}+        vkAspectMaskByteOffset ~_+          = #{offset VkImageSubresourceLayers, aspectMask}++        {-# INLINE readVkAspectMask #-}+        readVkAspectMask p+          = peekByteOff p #{offset VkImageSubresourceLayers, aspectMask}++        {-# INLINE writeVkAspectMask #-}+        writeVkAspectMask p+          = pokeByteOff p #{offset VkImageSubresourceLayers, aspectMask}++instance {-# OVERLAPPING #-}+         HasField "aspectMask" VkImageSubresourceLayers where+        type FieldType "aspectMask" VkImageSubresourceLayers =+             VkImageAspectFlags+        type FieldOptional "aspectMask" VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs+        type FieldOffset "aspectMask" VkImageSubresourceLayers =+             #{offset VkImageSubresourceLayers, aspectMask}+        type FieldIsArray "aspectMask" VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageSubresourceLayers, aspectMask}++instance CanReadField "aspectMask" VkImageSubresourceLayers where+        {-# INLINE getField #-}+        getField = vkAspectMask++        {-# INLINE readField #-}+        readField = readVkAspectMask++instance CanWriteField "aspectMask" VkImageSubresourceLayers where+        {-# INLINE writeField #-}+        writeField = writeVkAspectMask++instance {-# OVERLAPPING #-} HasVkMipLevel VkImageSubresourceLayers+         where+        type VkMipLevelMType VkImageSubresourceLayers = Word32++        {-# NOINLINE vkMipLevel #-}+        vkMipLevel x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageSubresourceLayers, mipLevel})++        {-# INLINE vkMipLevelByteOffset #-}+        vkMipLevelByteOffset ~_+          = #{offset VkImageSubresourceLayers, mipLevel}++        {-# INLINE readVkMipLevel #-}+        readVkMipLevel p+          = peekByteOff p #{offset VkImageSubresourceLayers, mipLevel}++        {-# INLINE writeVkMipLevel #-}+        writeVkMipLevel p+          = pokeByteOff p #{offset VkImageSubresourceLayers, mipLevel}++instance {-# OVERLAPPING #-}+         HasField "mipLevel" VkImageSubresourceLayers where+        type FieldType "mipLevel" VkImageSubresourceLayers = Word32+        type FieldOptional "mipLevel" VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs+        type FieldOffset "mipLevel" VkImageSubresourceLayers =+             #{offset VkImageSubresourceLayers, mipLevel}+        type FieldIsArray "mipLevel" VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageSubresourceLayers, mipLevel}++instance CanReadField "mipLevel" VkImageSubresourceLayers where+        {-# INLINE getField #-}+        getField = vkMipLevel++        {-# INLINE readField #-}+        readField = readVkMipLevel++instance CanWriteField "mipLevel" VkImageSubresourceLayers where+        {-# INLINE writeField #-}+        writeField = writeVkMipLevel++instance {-# OVERLAPPING #-}+         HasVkBaseArrayLayer VkImageSubresourceLayers where+        type VkBaseArrayLayerMType VkImageSubresourceLayers = Word32++        {-# NOINLINE vkBaseArrayLayer #-}+        vkBaseArrayLayer x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageSubresourceLayers, baseArrayLayer})++        {-# INLINE vkBaseArrayLayerByteOffset #-}+        vkBaseArrayLayerByteOffset ~_+          = #{offset VkImageSubresourceLayers, baseArrayLayer}++        {-# INLINE readVkBaseArrayLayer #-}+        readVkBaseArrayLayer p+          = peekByteOff p #{offset VkImageSubresourceLayers, baseArrayLayer}++        {-# INLINE writeVkBaseArrayLayer #-}+        writeVkBaseArrayLayer p+          = pokeByteOff p #{offset VkImageSubresourceLayers, baseArrayLayer}++instance {-# OVERLAPPING #-}+         HasField "baseArrayLayer" VkImageSubresourceLayers where+        type FieldType "baseArrayLayer" VkImageSubresourceLayers = Word32+        type FieldOptional "baseArrayLayer" VkImageSubresourceLayers =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "baseArrayLayer" VkImageSubresourceLayers =+             #{offset VkImageSubresourceLayers, baseArrayLayer}+        type FieldIsArray "baseArrayLayer" VkImageSubresourceLayers =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageSubresourceLayers, baseArrayLayer}++instance CanReadField "baseArrayLayer" VkImageSubresourceLayers+         where+        {-# INLINE getField #-}+        getField = vkBaseArrayLayer++        {-# INLINE readField #-}+        readField = readVkBaseArrayLayer++instance CanWriteField "baseArrayLayer" VkImageSubresourceLayers+         where+        {-# INLINE writeField #-}+        writeField = writeVkBaseArrayLayer++instance {-# OVERLAPPING #-}+         HasVkLayerCount VkImageSubresourceLayers where+        type VkLayerCountMType VkImageSubresourceLayers = Word32++        {-# NOINLINE vkLayerCount #-}+        vkLayerCount x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageSubresourceLayers, layerCount})++        {-# INLINE vkLayerCountByteOffset #-}+        vkLayerCountByteOffset ~_+          = #{offset VkImageSubresourceLayers, layerCount}++        {-# INLINE readVkLayerCount #-}+        readVkLayerCount p+          = peekByteOff p #{offset VkImageSubresourceLayers, layerCount}++        {-# INLINE writeVkLayerCount #-}+        writeVkLayerCount p+          = pokeByteOff p #{offset VkImageSubresourceLayers, layerCount}++instance {-# OVERLAPPING #-}+         HasField "layerCount" VkImageSubresourceLayers where+        type FieldType "layerCount" VkImageSubresourceLayers = Word32+        type FieldOptional "layerCount" VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs+        type FieldOffset "layerCount" VkImageSubresourceLayers =+             #{offset VkImageSubresourceLayers, layerCount}+        type FieldIsArray "layerCount" VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageSubresourceLayers, layerCount}++instance CanReadField "layerCount" VkImageSubresourceLayers where+        {-# INLINE getField #-}+        getField = vkLayerCount++        {-# INLINE readField #-}+        readField = readVkLayerCount++instance CanWriteField "layerCount" VkImageSubresourceLayers where+        {-# INLINE writeField #-}+        writeField = writeVkLayerCount++instance Show VkImageSubresourceLayers where+        showsPrec d x+          = showString "VkImageSubresourceLayers {" .+              showString "vkAspectMask = " .+                showsPrec d (vkAspectMask x) .+                  showString ", " .+                    showString "vkMipLevel = " .+                      showsPrec d (vkMipLevel x) .+                        showString ", " .+                          showString "vkBaseArrayLayer = " .+                            showsPrec d (vkBaseArrayLayer x) .+                              showString ", " .+                                showString "vkLayerCount = " .+                                  showsPrec d (vkLayerCount x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImageSubresourceRange.hsc view
@@ -0,0 +1,332 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImageSubresourceRange+       (VkImageSubresourceRange(..)) where+import           Foreign.Storable                              (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkImageAspectFlags (VkImageAspectFlags)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                              (unsafeDupablePerformIO)++-- | > typedef struct VkImageSubresourceRange {+--   >     VkImageAspectFlags     aspectMask;+--   >     uint32_t               baseMipLevel;+--   >     uint32_t               levelCount;+--   >     uint32_t               baseArrayLayer;+--   >     uint32_t               layerCount;+--   > } VkImageSubresourceRange;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImageSubresourceRange.html VkImageSubresourceRange registry at www.khronos.org>+data VkImageSubresourceRange = VkImageSubresourceRange## Addr##+                                                        ByteArray##++instance Eq VkImageSubresourceRange where+        (VkImageSubresourceRange## a _) == x@(VkImageSubresourceRange## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImageSubresourceRange where+        (VkImageSubresourceRange## a _) `compare`+          x@(VkImageSubresourceRange## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImageSubresourceRange where+        sizeOf ~_ = #{size VkImageSubresourceRange}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkImageSubresourceRange}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageSubresourceRange where+        unsafeAddr (VkImageSubresourceRange## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImageSubresourceRange## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImageSubresourceRange## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageSubresourceRange where+        type StructFields VkImageSubresourceRange =+             '["aspectMask", "baseMipLevel", "levelCount", "baseArrayLayer", -- ' closing tick for hsc2hs+               "layerCount"]+        type CUnionType VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs+        type StructExtends VkImageSubresourceRange = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkAspectMask VkImageSubresourceRange where+        type VkAspectMaskMType VkImageSubresourceRange = VkImageAspectFlags++        {-# NOINLINE vkAspectMask #-}+        vkAspectMask x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageSubresourceRange, aspectMask})++        {-# INLINE vkAspectMaskByteOffset #-}+        vkAspectMaskByteOffset ~_+          = #{offset VkImageSubresourceRange, aspectMask}++        {-# INLINE readVkAspectMask #-}+        readVkAspectMask p+          = peekByteOff p #{offset VkImageSubresourceRange, aspectMask}++        {-# INLINE writeVkAspectMask #-}+        writeVkAspectMask p+          = pokeByteOff p #{offset VkImageSubresourceRange, aspectMask}++instance {-# OVERLAPPING #-}+         HasField "aspectMask" VkImageSubresourceRange where+        type FieldType "aspectMask" VkImageSubresourceRange =+             VkImageAspectFlags+        type FieldOptional "aspectMask" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs+        type FieldOffset "aspectMask" VkImageSubresourceRange =+             #{offset VkImageSubresourceRange, aspectMask}+        type FieldIsArray "aspectMask" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageSubresourceRange, aspectMask}++instance CanReadField "aspectMask" VkImageSubresourceRange where+        {-# INLINE getField #-}+        getField = vkAspectMask++        {-# INLINE readField #-}+        readField = readVkAspectMask++instance CanWriteField "aspectMask" VkImageSubresourceRange where+        {-# INLINE writeField #-}+        writeField = writeVkAspectMask++instance {-# OVERLAPPING #-}+         HasVkBaseMipLevel VkImageSubresourceRange where+        type VkBaseMipLevelMType VkImageSubresourceRange = Word32++        {-# NOINLINE vkBaseMipLevel #-}+        vkBaseMipLevel x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageSubresourceRange, baseMipLevel})++        {-# INLINE vkBaseMipLevelByteOffset #-}+        vkBaseMipLevelByteOffset ~_+          = #{offset VkImageSubresourceRange, baseMipLevel}++        {-# INLINE readVkBaseMipLevel #-}+        readVkBaseMipLevel p+          = peekByteOff p #{offset VkImageSubresourceRange, baseMipLevel}++        {-# INLINE writeVkBaseMipLevel #-}+        writeVkBaseMipLevel p+          = pokeByteOff p #{offset VkImageSubresourceRange, baseMipLevel}++instance {-# OVERLAPPING #-}+         HasField "baseMipLevel" VkImageSubresourceRange where+        type FieldType "baseMipLevel" VkImageSubresourceRange = Word32+        type FieldOptional "baseMipLevel" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs+        type FieldOffset "baseMipLevel" VkImageSubresourceRange =+             #{offset VkImageSubresourceRange, baseMipLevel}+        type FieldIsArray "baseMipLevel" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageSubresourceRange, baseMipLevel}++instance CanReadField "baseMipLevel" VkImageSubresourceRange where+        {-# INLINE getField #-}+        getField = vkBaseMipLevel++        {-# INLINE readField #-}+        readField = readVkBaseMipLevel++instance CanWriteField "baseMipLevel" VkImageSubresourceRange where+        {-# INLINE writeField #-}+        writeField = writeVkBaseMipLevel++instance {-# OVERLAPPING #-}+         HasVkLevelCount VkImageSubresourceRange where+        type VkLevelCountMType VkImageSubresourceRange = Word32++        {-# NOINLINE vkLevelCount #-}+        vkLevelCount x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageSubresourceRange, levelCount})++        {-# INLINE vkLevelCountByteOffset #-}+        vkLevelCountByteOffset ~_+          = #{offset VkImageSubresourceRange, levelCount}++        {-# INLINE readVkLevelCount #-}+        readVkLevelCount p+          = peekByteOff p #{offset VkImageSubresourceRange, levelCount}++        {-# INLINE writeVkLevelCount #-}+        writeVkLevelCount p+          = pokeByteOff p #{offset VkImageSubresourceRange, levelCount}++instance {-# OVERLAPPING #-}+         HasField "levelCount" VkImageSubresourceRange where+        type FieldType "levelCount" VkImageSubresourceRange = Word32+        type FieldOptional "levelCount" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs+        type FieldOffset "levelCount" VkImageSubresourceRange =+             #{offset VkImageSubresourceRange, levelCount}+        type FieldIsArray "levelCount" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageSubresourceRange, levelCount}++instance CanReadField "levelCount" VkImageSubresourceRange where+        {-# INLINE getField #-}+        getField = vkLevelCount++        {-# INLINE readField #-}+        readField = readVkLevelCount++instance CanWriteField "levelCount" VkImageSubresourceRange where+        {-# INLINE writeField #-}+        writeField = writeVkLevelCount++instance {-# OVERLAPPING #-}+         HasVkBaseArrayLayer VkImageSubresourceRange where+        type VkBaseArrayLayerMType VkImageSubresourceRange = Word32++        {-# NOINLINE vkBaseArrayLayer #-}+        vkBaseArrayLayer x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageSubresourceRange, baseArrayLayer})++        {-# INLINE vkBaseArrayLayerByteOffset #-}+        vkBaseArrayLayerByteOffset ~_+          = #{offset VkImageSubresourceRange, baseArrayLayer}++        {-# INLINE readVkBaseArrayLayer #-}+        readVkBaseArrayLayer p+          = peekByteOff p #{offset VkImageSubresourceRange, baseArrayLayer}++        {-# INLINE writeVkBaseArrayLayer #-}+        writeVkBaseArrayLayer p+          = pokeByteOff p #{offset VkImageSubresourceRange, baseArrayLayer}++instance {-# OVERLAPPING #-}+         HasField "baseArrayLayer" VkImageSubresourceRange where+        type FieldType "baseArrayLayer" VkImageSubresourceRange = Word32+        type FieldOptional "baseArrayLayer" VkImageSubresourceRange =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "baseArrayLayer" VkImageSubresourceRange =+             #{offset VkImageSubresourceRange, baseArrayLayer}+        type FieldIsArray "baseArrayLayer" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageSubresourceRange, baseArrayLayer}++instance CanReadField "baseArrayLayer" VkImageSubresourceRange+         where+        {-# INLINE getField #-}+        getField = vkBaseArrayLayer++        {-# INLINE readField #-}+        readField = readVkBaseArrayLayer++instance CanWriteField "baseArrayLayer" VkImageSubresourceRange+         where+        {-# INLINE writeField #-}+        writeField = writeVkBaseArrayLayer++instance {-# OVERLAPPING #-}+         HasVkLayerCount VkImageSubresourceRange where+        type VkLayerCountMType VkImageSubresourceRange = Word32++        {-# NOINLINE vkLayerCount #-}+        vkLayerCount x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageSubresourceRange, layerCount})++        {-# INLINE vkLayerCountByteOffset #-}+        vkLayerCountByteOffset ~_+          = #{offset VkImageSubresourceRange, layerCount}++        {-# INLINE readVkLayerCount #-}+        readVkLayerCount p+          = peekByteOff p #{offset VkImageSubresourceRange, layerCount}++        {-# INLINE writeVkLayerCount #-}+        writeVkLayerCount p+          = pokeByteOff p #{offset VkImageSubresourceRange, layerCount}++instance {-# OVERLAPPING #-}+         HasField "layerCount" VkImageSubresourceRange where+        type FieldType "layerCount" VkImageSubresourceRange = Word32+        type FieldOptional "layerCount" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs+        type FieldOffset "layerCount" VkImageSubresourceRange =+             #{offset VkImageSubresourceRange, layerCount}+        type FieldIsArray "layerCount" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageSubresourceRange, layerCount}++instance CanReadField "layerCount" VkImageSubresourceRange where+        {-# INLINE getField #-}+        getField = vkLayerCount++        {-# INLINE readField #-}+        readField = readVkLayerCount++instance CanWriteField "layerCount" VkImageSubresourceRange where+        {-# INLINE writeField #-}+        writeField = writeVkLayerCount++instance Show VkImageSubresourceRange where+        showsPrec d x+          = showString "VkImageSubresourceRange {" .+              showString "vkAspectMask = " .+                showsPrec d (vkAspectMask x) .+                  showString ", " .+                    showString "vkBaseMipLevel = " .+                      showsPrec d (vkBaseMipLevel x) .+                        showString ", " .+                          showString "vkLevelCount = " .+                            showsPrec d (vkLevelCount x) .+                              showString ", " .+                                showString "vkBaseArrayLayer = " .+                                  showsPrec d (vkBaseArrayLayer x) .+                                    showString ", " .+                                      showString "vkLayerCount = " .+                                        showsPrec d (vkLayerCount x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImageSwapchainCreateInfoKHX.hsc view
@@ -0,0 +1,239 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImageSwapchainCreateInfoKHX+       (VkImageSwapchainCreateInfoKHX(..)) 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.VkImageCreateInfo (VkImageCreateInfo)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                               (unsafeDupablePerformIO)++-- | > typedef struct VkImageSwapchainCreateInfoKHX {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkSwapchainKHR   swapchain;+--   > } VkImageSwapchainCreateInfoKHX;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImageSwapchainCreateInfoKHX.html VkImageSwapchainCreateInfoKHX registry at www.khronos.org>+data VkImageSwapchainCreateInfoKHX = VkImageSwapchainCreateInfoKHX## Addr##+                                                                    ByteArray##++instance Eq VkImageSwapchainCreateInfoKHX where+        (VkImageSwapchainCreateInfoKHX## a _) ==+          x@(VkImageSwapchainCreateInfoKHX## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImageSwapchainCreateInfoKHX where+        (VkImageSwapchainCreateInfoKHX## a _) `compare`+          x@(VkImageSwapchainCreateInfoKHX## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImageSwapchainCreateInfoKHX where+        sizeOf ~_ = #{size VkImageSwapchainCreateInfoKHX}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkImageSwapchainCreateInfoKHX}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageSwapchainCreateInfoKHX where+        unsafeAddr (VkImageSwapchainCreateInfoKHX## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImageSwapchainCreateInfoKHX## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImageSwapchainCreateInfoKHX##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageSwapchainCreateInfoKHX where+        type StructFields VkImageSwapchainCreateInfoKHX =+             '["sType", "pNext", "swapchain"] -- ' closing tick for hsc2hs+        type CUnionType VkImageSwapchainCreateInfoKHX = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImageSwapchainCreateInfoKHX = 'False -- ' closing tick for hsc2hs+        type StructExtends VkImageSwapchainCreateInfoKHX =+             '[VkImageCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkSType VkImageSwapchainCreateInfoKHX where+        type VkSTypeMType VkImageSwapchainCreateInfoKHX = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageSwapchainCreateInfoKHX, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkImageSwapchainCreateInfoKHX, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkImageSwapchainCreateInfoKHX, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkImageSwapchainCreateInfoKHX, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkImageSwapchainCreateInfoKHX where+        type FieldType "sType" VkImageSwapchainCreateInfoKHX =+             VkStructureType+        type FieldOptional "sType" VkImageSwapchainCreateInfoKHX = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkImageSwapchainCreateInfoKHX =+             #{offset VkImageSwapchainCreateInfoKHX, sType}+        type FieldIsArray "sType" VkImageSwapchainCreateInfoKHX = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageSwapchainCreateInfoKHX, sType}++instance CanReadField "sType" VkImageSwapchainCreateInfoKHX where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkImageSwapchainCreateInfoKHX where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-}+         HasVkPNext VkImageSwapchainCreateInfoKHX where+        type VkPNextMType VkImageSwapchainCreateInfoKHX = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageSwapchainCreateInfoKHX, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkImageSwapchainCreateInfoKHX, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkImageSwapchainCreateInfoKHX, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkImageSwapchainCreateInfoKHX, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkImageSwapchainCreateInfoKHX where+        type FieldType "pNext" VkImageSwapchainCreateInfoKHX = Ptr Void+        type FieldOptional "pNext" VkImageSwapchainCreateInfoKHX = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkImageSwapchainCreateInfoKHX =+             #{offset VkImageSwapchainCreateInfoKHX, pNext}+        type FieldIsArray "pNext" VkImageSwapchainCreateInfoKHX = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageSwapchainCreateInfoKHX, pNext}++instance CanReadField "pNext" VkImageSwapchainCreateInfoKHX where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkImageSwapchainCreateInfoKHX where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-}+         HasVkSwapchain VkImageSwapchainCreateInfoKHX where+        type VkSwapchainMType VkImageSwapchainCreateInfoKHX =+             VkSwapchainKHR++        {-# NOINLINE vkSwapchain #-}+        vkSwapchain x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageSwapchainCreateInfoKHX, swapchain})++        {-# INLINE vkSwapchainByteOffset #-}+        vkSwapchainByteOffset ~_+          = #{offset VkImageSwapchainCreateInfoKHX, swapchain}++        {-# INLINE readVkSwapchain #-}+        readVkSwapchain p+          = peekByteOff p #{offset VkImageSwapchainCreateInfoKHX, swapchain}++        {-# INLINE writeVkSwapchain #-}+        writeVkSwapchain p+          = pokeByteOff p #{offset VkImageSwapchainCreateInfoKHX, swapchain}++instance {-# OVERLAPPING #-}+         HasField "swapchain" VkImageSwapchainCreateInfoKHX where+        type FieldType "swapchain" VkImageSwapchainCreateInfoKHX =+             VkSwapchainKHR+        type FieldOptional "swapchain" VkImageSwapchainCreateInfoKHX =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "swapchain" VkImageSwapchainCreateInfoKHX =+             #{offset VkImageSwapchainCreateInfoKHX, swapchain}+        type FieldIsArray "swapchain" VkImageSwapchainCreateInfoKHX =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageSwapchainCreateInfoKHX, swapchain}++instance CanReadField "swapchain" VkImageSwapchainCreateInfoKHX+         where+        {-# INLINE getField #-}+        getField = vkSwapchain++        {-# INLINE readField #-}+        readField = readVkSwapchain++instance CanWriteField "swapchain" VkImageSwapchainCreateInfoKHX+         where+        {-# INLINE writeField #-}+        writeField = writeVkSwapchain++instance Show VkImageSwapchainCreateInfoKHX where+        showsPrec d x+          = showString "VkImageSwapchainCreateInfoKHX {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkSwapchain = " .+                            showsPrec d (vkSwapchain x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImageViewCreateInfo.hsc view
@@ -0,0 +1,485 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImageViewCreateInfo+       (VkImageViewCreateInfo(..)) where+import           Foreign.Storable                                     (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Bitmasks                       (VkImageViewCreateFlags)+import           Graphics.Vulkan.Types.Enum.VkFormat                  (VkFormat)+import           Graphics.Vulkan.Types.Enum.VkImageViewType           (VkImageViewType)+import           Graphics.Vulkan.Types.Enum.VkStructureType           (VkStructureType)+import           Graphics.Vulkan.Types.Handles                        (VkImage)+import           Graphics.Vulkan.Types.Struct.VkComponentMapping      (VkComponentMapping)+import           Graphics.Vulkan.Types.Struct.VkImageSubresourceRange (VkImageSubresourceRange)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                     (unsafeDupablePerformIO)++-- | > typedef struct VkImageViewCreateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkImageViewCreateFlags flags;+--   >     VkImage                image;+--   >     VkImageViewType        viewType;+--   >     VkFormat               format;+--   >     VkComponentMapping     components;+--   >     VkImageSubresourceRange subresourceRange;+--   > } VkImageViewCreateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImageViewCreateInfo.html VkImageViewCreateInfo registry at www.khronos.org>+data VkImageViewCreateInfo = VkImageViewCreateInfo## Addr##+                                                    ByteArray##++instance Eq VkImageViewCreateInfo where+        (VkImageViewCreateInfo## a _) == x@(VkImageViewCreateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImageViewCreateInfo where+        (VkImageViewCreateInfo## a _) `compare`+          x@(VkImageViewCreateInfo## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImageViewCreateInfo where+        sizeOf ~_ = #{size VkImageViewCreateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkImageViewCreateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageViewCreateInfo where+        unsafeAddr (VkImageViewCreateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImageViewCreateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImageViewCreateInfo## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageViewCreateInfo where+        type StructFields VkImageViewCreateInfo =+             '["sType", "pNext", "flags", "image", "viewType", "format", -- ' closing tick for hsc2hs+               "components", "subresourceRange"]+        type CUnionType VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs+        type StructExtends VkImageViewCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSType VkImageViewCreateInfo where+        type VkSTypeMType VkImageViewCreateInfo = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkImageViewCreateInfo, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkImageViewCreateInfo, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkImageViewCreateInfo, sType}++instance {-# OVERLAPPING #-} HasField "sType" VkImageViewCreateInfo+         where+        type FieldType "sType" VkImageViewCreateInfo = VkStructureType+        type FieldOptional "sType" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkImageViewCreateInfo =+             #{offset VkImageViewCreateInfo, sType}+        type FieldIsArray "sType" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageViewCreateInfo, sType}++instance CanReadField "sType" VkImageViewCreateInfo where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkImageViewCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-} HasVkPNext VkImageViewCreateInfo where+        type VkPNextMType VkImageViewCreateInfo = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkImageViewCreateInfo, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkImageViewCreateInfo, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkImageViewCreateInfo, pNext}++instance {-# OVERLAPPING #-} HasField "pNext" VkImageViewCreateInfo+         where+        type FieldType "pNext" VkImageViewCreateInfo = Ptr Void+        type FieldOptional "pNext" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkImageViewCreateInfo =+             #{offset VkImageViewCreateInfo, pNext}+        type FieldIsArray "pNext" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageViewCreateInfo, pNext}++instance CanReadField "pNext" VkImageViewCreateInfo where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkImageViewCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-} HasVkFlags VkImageViewCreateInfo where+        type VkFlagsMType VkImageViewCreateInfo = VkImageViewCreateFlags++        {-# NOINLINE vkFlags #-}+        vkFlags x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, flags})++        {-# INLINE vkFlagsByteOffset #-}+        vkFlagsByteOffset ~_+          = #{offset VkImageViewCreateInfo, flags}++        {-# INLINE readVkFlags #-}+        readVkFlags p+          = peekByteOff p #{offset VkImageViewCreateInfo, flags}++        {-# INLINE writeVkFlags #-}+        writeVkFlags p+          = pokeByteOff p #{offset VkImageViewCreateInfo, flags}++instance {-# OVERLAPPING #-} HasField "flags" VkImageViewCreateInfo+         where+        type FieldType "flags" VkImageViewCreateInfo =+             VkImageViewCreateFlags+        type FieldOptional "flags" VkImageViewCreateInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkImageViewCreateInfo =+             #{offset VkImageViewCreateInfo, flags}+        type FieldIsArray "flags" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageViewCreateInfo, flags}++instance CanReadField "flags" VkImageViewCreateInfo where+        {-# INLINE getField #-}+        getField = vkFlags++        {-# INLINE readField #-}+        readField = readVkFlags++instance CanWriteField "flags" VkImageViewCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkFlags++instance {-# OVERLAPPING #-} HasVkImage VkImageViewCreateInfo where+        type VkImageMType VkImageViewCreateInfo = VkImage++        {-# NOINLINE vkImage #-}+        vkImage x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, image})++        {-# INLINE vkImageByteOffset #-}+        vkImageByteOffset ~_+          = #{offset VkImageViewCreateInfo, image}++        {-# INLINE readVkImage #-}+        readVkImage p+          = peekByteOff p #{offset VkImageViewCreateInfo, image}++        {-# INLINE writeVkImage #-}+        writeVkImage p+          = pokeByteOff p #{offset VkImageViewCreateInfo, image}++instance {-# OVERLAPPING #-} HasField "image" VkImageViewCreateInfo+         where+        type FieldType "image" VkImageViewCreateInfo = VkImage+        type FieldOptional "image" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "image" VkImageViewCreateInfo =+             #{offset VkImageViewCreateInfo, image}+        type FieldIsArray "image" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageViewCreateInfo, image}++instance CanReadField "image" VkImageViewCreateInfo where+        {-# INLINE getField #-}+        getField = vkImage++        {-# INLINE readField #-}+        readField = readVkImage++instance CanWriteField "image" VkImageViewCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkImage++instance {-# OVERLAPPING #-} HasVkViewType VkImageViewCreateInfo+         where+        type VkViewTypeMType VkImageViewCreateInfo = VkImageViewType++        {-# NOINLINE vkViewType #-}+        vkViewType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, viewType})++        {-# INLINE vkViewTypeByteOffset #-}+        vkViewTypeByteOffset ~_+          = #{offset VkImageViewCreateInfo, viewType}++        {-# INLINE readVkViewType #-}+        readVkViewType p+          = peekByteOff p #{offset VkImageViewCreateInfo, viewType}++        {-# INLINE writeVkViewType #-}+        writeVkViewType p+          = pokeByteOff p #{offset VkImageViewCreateInfo, viewType}++instance {-# OVERLAPPING #-}+         HasField "viewType" VkImageViewCreateInfo where+        type FieldType "viewType" VkImageViewCreateInfo = VkImageViewType+        type FieldOptional "viewType" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "viewType" VkImageViewCreateInfo =+             #{offset VkImageViewCreateInfo, viewType}+        type FieldIsArray "viewType" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageViewCreateInfo, viewType}++instance CanReadField "viewType" VkImageViewCreateInfo where+        {-# INLINE getField #-}+        getField = vkViewType++        {-# INLINE readField #-}+        readField = readVkViewType++instance CanWriteField "viewType" VkImageViewCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkViewType++instance {-# OVERLAPPING #-} HasVkFormat VkImageViewCreateInfo+         where+        type VkFormatMType VkImageViewCreateInfo = VkFormat++        {-# NOINLINE vkFormat #-}+        vkFormat x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, format})++        {-# INLINE vkFormatByteOffset #-}+        vkFormatByteOffset ~_+          = #{offset VkImageViewCreateInfo, format}++        {-# INLINE readVkFormat #-}+        readVkFormat p+          = peekByteOff p #{offset VkImageViewCreateInfo, format}++        {-# INLINE writeVkFormat #-}+        writeVkFormat p+          = pokeByteOff p #{offset VkImageViewCreateInfo, format}++instance {-# OVERLAPPING #-}+         HasField "format" VkImageViewCreateInfo where+        type FieldType "format" VkImageViewCreateInfo = VkFormat+        type FieldOptional "format" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "format" VkImageViewCreateInfo =+             #{offset VkImageViewCreateInfo, format}+        type FieldIsArray "format" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImageViewCreateInfo, format}++instance CanReadField "format" VkImageViewCreateInfo where+        {-# INLINE getField #-}+        getField = vkFormat++        {-# INLINE readField #-}+        readField = readVkFormat++instance CanWriteField "format" VkImageViewCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkFormat++instance {-# OVERLAPPING #-} HasVkComponents VkImageViewCreateInfo+         where+        type VkComponentsMType VkImageViewCreateInfo = VkComponentMapping++        {-# NOINLINE vkComponents #-}+        vkComponents x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, components})++        {-# INLINE vkComponentsByteOffset #-}+        vkComponentsByteOffset ~_+          = #{offset VkImageViewCreateInfo, components}++        {-# INLINE readVkComponents #-}+        readVkComponents p+          = peekByteOff p #{offset VkImageViewCreateInfo, components}++        {-# INLINE writeVkComponents #-}+        writeVkComponents p+          = pokeByteOff p #{offset VkImageViewCreateInfo, components}++instance {-# OVERLAPPING #-}+         HasField "components" VkImageViewCreateInfo where+        type FieldType "components" VkImageViewCreateInfo =+             VkComponentMapping+        type FieldOptional "components" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "components" VkImageViewCreateInfo =+             #{offset VkImageViewCreateInfo, components}+        type FieldIsArray "components" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageViewCreateInfo, components}++instance CanReadField "components" VkImageViewCreateInfo where+        {-# INLINE getField #-}+        getField = vkComponents++        {-# INLINE readField #-}+        readField = readVkComponents++instance CanWriteField "components" VkImageViewCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkComponents++instance {-# OVERLAPPING #-}+         HasVkSubresourceRange VkImageViewCreateInfo where+        type VkSubresourceRangeMType VkImageViewCreateInfo =+             VkImageSubresourceRange++        {-# NOINLINE vkSubresourceRange #-}+        vkSubresourceRange x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, subresourceRange})++        {-# INLINE vkSubresourceRangeByteOffset #-}+        vkSubresourceRangeByteOffset ~_+          = #{offset VkImageViewCreateInfo, subresourceRange}++        {-# INLINE readVkSubresourceRange #-}+        readVkSubresourceRange p+          = peekByteOff p #{offset VkImageViewCreateInfo, subresourceRange}++        {-# INLINE writeVkSubresourceRange #-}+        writeVkSubresourceRange p+          = pokeByteOff p #{offset VkImageViewCreateInfo, subresourceRange}++instance {-# OVERLAPPING #-}+         HasField "subresourceRange" VkImageViewCreateInfo where+        type FieldType "subresourceRange" VkImageViewCreateInfo =+             VkImageSubresourceRange+        type FieldOptional "subresourceRange" VkImageViewCreateInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "subresourceRange" VkImageViewCreateInfo =+             #{offset VkImageViewCreateInfo, subresourceRange}+        type FieldIsArray "subresourceRange" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageViewCreateInfo, subresourceRange}++instance CanReadField "subresourceRange" VkImageViewCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkSubresourceRange++        {-# INLINE readField #-}+        readField = readVkSubresourceRange++instance CanWriteField "subresourceRange" VkImageViewCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkSubresourceRange++instance Show VkImageViewCreateInfo where+        showsPrec d x+          = showString "VkImageViewCreateInfo {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFlags = " .+                            showsPrec d (vkFlags x) .+                              showString ", " .+                                showString "vkImage = " .+                                  showsPrec d (vkImage x) .+                                    showString ", " .+                                      showString "vkViewType = " .+                                        showsPrec d (vkViewType x) .+                                          showString ", " .+                                            showString "vkFormat = " .+                                              showsPrec d (vkFormat x) .+                                                showString ", " .+                                                  showString "vkComponents = " .+                                                    showsPrec d (vkComponents x) .+                                                      showString ", " .+                                                        showString "vkSubresourceRange = " .+                                                          showsPrec d (vkSubresourceRange x) .+                                                            showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImageViewUsageCreateInfoKHR.hsc view
@@ -0,0 +1,233 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImageViewUsageCreateInfoKHR+       (VkImageViewUsageCreateInfoKHR(..)) where+import           Foreign.Storable                                   (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkImageUsageFlags       (VkImageUsageFlags)+import           Graphics.Vulkan.Types.Enum.VkStructureType         (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkImageViewCreateInfo (VkImageViewCreateInfo)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                   (unsafeDupablePerformIO)++-- | > typedef struct VkImageViewUsageCreateInfoKHR {+--   >     VkStructureType sType;+--   >     const void* pNext;+--   >     VkImageUsageFlags usage;+--   > } VkImageViewUsageCreateInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImageViewUsageCreateInfoKHR.html VkImageViewUsageCreateInfoKHR registry at www.khronos.org>+data VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfoKHR## Addr##+                                                                    ByteArray##++instance Eq VkImageViewUsageCreateInfoKHR where+        (VkImageViewUsageCreateInfoKHR## a _) ==+          x@(VkImageViewUsageCreateInfoKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImageViewUsageCreateInfoKHR where+        (VkImageViewUsageCreateInfoKHR## a _) `compare`+          x@(VkImageViewUsageCreateInfoKHR## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImageViewUsageCreateInfoKHR where+        sizeOf ~_ = #{size VkImageViewUsageCreateInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkImageViewUsageCreateInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageViewUsageCreateInfoKHR where+        unsafeAddr (VkImageViewUsageCreateInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImageViewUsageCreateInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImageViewUsageCreateInfoKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageViewUsageCreateInfoKHR where+        type StructFields VkImageViewUsageCreateInfoKHR =+             '["sType", "pNext", "usage"] -- ' closing tick for hsc2hs+        type CUnionType VkImageViewUsageCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImageViewUsageCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        type StructExtends VkImageViewUsageCreateInfoKHR =+             '[VkImageViewCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkSType VkImageViewUsageCreateInfoKHR where+        type VkSTypeMType VkImageViewUsageCreateInfoKHR = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageViewUsageCreateInfoKHR, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkImageViewUsageCreateInfoKHR, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkImageViewUsageCreateInfoKHR, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkImageViewUsageCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkImageViewUsageCreateInfoKHR where+        type FieldType "sType" VkImageViewUsageCreateInfoKHR =+             VkStructureType+        type FieldOptional "sType" VkImageViewUsageCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkImageViewUsageCreateInfoKHR =+             #{offset VkImageViewUsageCreateInfoKHR, sType}+        type FieldIsArray "sType" VkImageViewUsageCreateInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageViewUsageCreateInfoKHR, sType}++instance CanReadField "sType" VkImageViewUsageCreateInfoKHR where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkImageViewUsageCreateInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-}+         HasVkPNext VkImageViewUsageCreateInfoKHR where+        type VkPNextMType VkImageViewUsageCreateInfoKHR = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageViewUsageCreateInfoKHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkImageViewUsageCreateInfoKHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkImageViewUsageCreateInfoKHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkImageViewUsageCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkImageViewUsageCreateInfoKHR where+        type FieldType "pNext" VkImageViewUsageCreateInfoKHR = Ptr Void+        type FieldOptional "pNext" VkImageViewUsageCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkImageViewUsageCreateInfoKHR =+             #{offset VkImageViewUsageCreateInfoKHR, pNext}+        type FieldIsArray "pNext" VkImageViewUsageCreateInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageViewUsageCreateInfoKHR, pNext}++instance CanReadField "pNext" VkImageViewUsageCreateInfoKHR where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkImageViewUsageCreateInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-}+         HasVkUsage VkImageViewUsageCreateInfoKHR where+        type VkUsageMType VkImageViewUsageCreateInfoKHR = VkImageUsageFlags++        {-# NOINLINE vkUsage #-}+        vkUsage x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImageViewUsageCreateInfoKHR, usage})++        {-# INLINE vkUsageByteOffset #-}+        vkUsageByteOffset ~_+          = #{offset VkImageViewUsageCreateInfoKHR, usage}++        {-# INLINE readVkUsage #-}+        readVkUsage p+          = peekByteOff p #{offset VkImageViewUsageCreateInfoKHR, usage}++        {-# INLINE writeVkUsage #-}+        writeVkUsage p+          = pokeByteOff p #{offset VkImageViewUsageCreateInfoKHR, usage}++instance {-# OVERLAPPING #-}+         HasField "usage" VkImageViewUsageCreateInfoKHR where+        type FieldType "usage" VkImageViewUsageCreateInfoKHR =+             VkImageUsageFlags+        type FieldOptional "usage" VkImageViewUsageCreateInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "usage" VkImageViewUsageCreateInfoKHR =+             #{offset VkImageViewUsageCreateInfoKHR, usage}+        type FieldIsArray "usage" VkImageViewUsageCreateInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImageViewUsageCreateInfoKHR, usage}++instance CanReadField "usage" VkImageViewUsageCreateInfoKHR where+        {-# INLINE getField #-}+        getField = vkUsage++        {-# INLINE readField #-}+        readField = readVkUsage++instance CanWriteField "usage" VkImageViewUsageCreateInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkUsage++instance Show VkImageViewUsageCreateInfoKHR where+        showsPrec d x+          = showString "VkImageViewUsageCreateInfoKHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkUsage = " . showsPrec d (vkUsage x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImportFenceFdInfoKHR.hsc view
@@ -0,0 +1,378 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImportFenceFdInfoKHR+       (VkImportFenceFdInfoKHR(..)) where+import           Foreign.Storable                                             (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlagsKHR (VkExternalFenceHandleTypeFlagBitsKHR)+import           Graphics.Vulkan.Types.Enum.VkFenceImportFlagsKHR             (VkFenceImportFlagsKHR)+import           Graphics.Vulkan.Types.Enum.VkStructureType                   (VkStructureType)+import           Graphics.Vulkan.Types.Handles                                (VkFence)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                             (unsafeDupablePerformIO)++-- | > typedef struct VkImportFenceFdInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                            pNext;+--   >     VkFence              fence;+--   >     VkFenceImportFlagsKHR  flags;+--   >     VkExternalFenceHandleTypeFlagBitsKHR   handleType;+--   >     int                                    fd;+--   > } VkImportFenceFdInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImportFenceFdInfoKHR.html VkImportFenceFdInfoKHR registry at www.khronos.org>+data VkImportFenceFdInfoKHR = VkImportFenceFdInfoKHR## Addr##+                                                      ByteArray##++instance Eq VkImportFenceFdInfoKHR where+        (VkImportFenceFdInfoKHR## a _) == x@(VkImportFenceFdInfoKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImportFenceFdInfoKHR where+        (VkImportFenceFdInfoKHR## a _) `compare`+          x@(VkImportFenceFdInfoKHR## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImportFenceFdInfoKHR where+        sizeOf ~_ = #{size VkImportFenceFdInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkImportFenceFdInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImportFenceFdInfoKHR where+        unsafeAddr (VkImportFenceFdInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImportFenceFdInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImportFenceFdInfoKHR## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImportFenceFdInfoKHR where+        type StructFields VkImportFenceFdInfoKHR =+             '["sType", "pNext", "fence", "flags", "handleType", "fd"] -- ' closing tick for hsc2hs+        type CUnionType VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type StructExtends VkImportFenceFdInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSType VkImportFenceFdInfoKHR+         where+        type VkSTypeMType VkImportFenceFdInfoKHR = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportFenceFdInfoKHR, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkImportFenceFdInfoKHR, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkImportFenceFdInfoKHR, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkImportFenceFdInfoKHR, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkImportFenceFdInfoKHR where+        type FieldType "sType" VkImportFenceFdInfoKHR = VkStructureType+        type FieldOptional "sType" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkImportFenceFdInfoKHR =+             #{offset VkImportFenceFdInfoKHR, sType}+        type FieldIsArray "sType" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImportFenceFdInfoKHR, sType}++instance CanReadField "sType" VkImportFenceFdInfoKHR where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkImportFenceFdInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-} HasVkPNext VkImportFenceFdInfoKHR+         where+        type VkPNextMType VkImportFenceFdInfoKHR = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportFenceFdInfoKHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkImportFenceFdInfoKHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkImportFenceFdInfoKHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkImportFenceFdInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkImportFenceFdInfoKHR where+        type FieldType "pNext" VkImportFenceFdInfoKHR = Ptr Void+        type FieldOptional "pNext" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkImportFenceFdInfoKHR =+             #{offset VkImportFenceFdInfoKHR, pNext}+        type FieldIsArray "pNext" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImportFenceFdInfoKHR, pNext}++instance CanReadField "pNext" VkImportFenceFdInfoKHR where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkImportFenceFdInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-} HasVkFence VkImportFenceFdInfoKHR+         where+        type VkFenceMType VkImportFenceFdInfoKHR = VkFence++        {-# NOINLINE vkFence #-}+        vkFence x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportFenceFdInfoKHR, fence})++        {-# INLINE vkFenceByteOffset #-}+        vkFenceByteOffset ~_+          = #{offset VkImportFenceFdInfoKHR, fence}++        {-# INLINE readVkFence #-}+        readVkFence p+          = peekByteOff p #{offset VkImportFenceFdInfoKHR, fence}++        {-# INLINE writeVkFence #-}+        writeVkFence p+          = pokeByteOff p #{offset VkImportFenceFdInfoKHR, fence}++instance {-# OVERLAPPING #-}+         HasField "fence" VkImportFenceFdInfoKHR where+        type FieldType "fence" VkImportFenceFdInfoKHR = VkFence+        type FieldOptional "fence" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "fence" VkImportFenceFdInfoKHR =+             #{offset VkImportFenceFdInfoKHR, fence}+        type FieldIsArray "fence" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImportFenceFdInfoKHR, fence}++instance CanReadField "fence" VkImportFenceFdInfoKHR where+        {-# INLINE getField #-}+        getField = vkFence++        {-# INLINE readField #-}+        readField = readVkFence++instance CanWriteField "fence" VkImportFenceFdInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkFence++instance {-# OVERLAPPING #-} HasVkFlags VkImportFenceFdInfoKHR+         where+        type VkFlagsMType VkImportFenceFdInfoKHR = VkFenceImportFlagsKHR++        {-# NOINLINE vkFlags #-}+        vkFlags x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportFenceFdInfoKHR, flags})++        {-# INLINE vkFlagsByteOffset #-}+        vkFlagsByteOffset ~_+          = #{offset VkImportFenceFdInfoKHR, flags}++        {-# INLINE readVkFlags #-}+        readVkFlags p+          = peekByteOff p #{offset VkImportFenceFdInfoKHR, flags}++        {-# INLINE writeVkFlags #-}+        writeVkFlags p+          = pokeByteOff p #{offset VkImportFenceFdInfoKHR, flags}++instance {-# OVERLAPPING #-}+         HasField "flags" VkImportFenceFdInfoKHR where+        type FieldType "flags" VkImportFenceFdInfoKHR =+             VkFenceImportFlagsKHR+        type FieldOptional "flags" VkImportFenceFdInfoKHR = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkImportFenceFdInfoKHR =+             #{offset VkImportFenceFdInfoKHR, flags}+        type FieldIsArray "flags" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImportFenceFdInfoKHR, flags}++instance CanReadField "flags" VkImportFenceFdInfoKHR where+        {-# INLINE getField #-}+        getField = vkFlags++        {-# INLINE readField #-}+        readField = readVkFlags++instance CanWriteField "flags" VkImportFenceFdInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkFlags++instance {-# OVERLAPPING #-} HasVkHandleType VkImportFenceFdInfoKHR+         where+        type VkHandleTypeMType VkImportFenceFdInfoKHR =+             VkExternalFenceHandleTypeFlagBitsKHR++        {-# NOINLINE vkHandleType #-}+        vkHandleType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportFenceFdInfoKHR, handleType})++        {-# INLINE vkHandleTypeByteOffset #-}+        vkHandleTypeByteOffset ~_+          = #{offset VkImportFenceFdInfoKHR, handleType}++        {-# INLINE readVkHandleType #-}+        readVkHandleType p+          = peekByteOff p #{offset VkImportFenceFdInfoKHR, handleType}++        {-# INLINE writeVkHandleType #-}+        writeVkHandleType p+          = pokeByteOff p #{offset VkImportFenceFdInfoKHR, handleType}++instance {-# OVERLAPPING #-}+         HasField "handleType" VkImportFenceFdInfoKHR where+        type FieldType "handleType" VkImportFenceFdInfoKHR =+             VkExternalFenceHandleTypeFlagBitsKHR+        type FieldOptional "handleType" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "handleType" VkImportFenceFdInfoKHR =+             #{offset VkImportFenceFdInfoKHR, handleType}+        type FieldIsArray "handleType" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportFenceFdInfoKHR, handleType}++instance CanReadField "handleType" VkImportFenceFdInfoKHR where+        {-# INLINE getField #-}+        getField = vkHandleType++        {-# INLINE readField #-}+        readField = readVkHandleType++instance CanWriteField "handleType" VkImportFenceFdInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkHandleType++instance {-# OVERLAPPING #-} HasVkFd VkImportFenceFdInfoKHR where+        type VkFdMType VkImportFenceFdInfoKHR = CInt++        {-# NOINLINE vkFd #-}+        vkFd x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportFenceFdInfoKHR, fd})++        {-# INLINE vkFdByteOffset #-}+        vkFdByteOffset ~_+          = #{offset VkImportFenceFdInfoKHR, fd}++        {-# INLINE readVkFd #-}+        readVkFd p+          = peekByteOff p #{offset VkImportFenceFdInfoKHR, fd}++        {-# INLINE writeVkFd #-}+        writeVkFd p+          = pokeByteOff p #{offset VkImportFenceFdInfoKHR, fd}++instance {-# OVERLAPPING #-} HasField "fd" VkImportFenceFdInfoKHR+         where+        type FieldType "fd" VkImportFenceFdInfoKHR = CInt+        type FieldOptional "fd" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "fd" VkImportFenceFdInfoKHR =+             #{offset VkImportFenceFdInfoKHR, fd}+        type FieldIsArray "fd" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImportFenceFdInfoKHR, fd}++instance CanReadField "fd" VkImportFenceFdInfoKHR where+        {-# INLINE getField #-}+        getField = vkFd++        {-# INLINE readField #-}+        readField = readVkFd++instance CanWriteField "fd" VkImportFenceFdInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkFd++instance Show VkImportFenceFdInfoKHR where+        showsPrec d x+          = showString "VkImportFenceFdInfoKHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFence = " .+                            showsPrec d (vkFence x) .+                              showString ", " .+                                showString "vkFlags = " .+                                  showsPrec d (vkFlags x) .+                                    showString ", " .+                                      showString "vkHandleType = " .+                                        showsPrec d (vkHandleType x) .+                                          showString ", " .+                                            showString "vkFd = " .+                                              showsPrec d (vkFd x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImportFenceWin32HandleInfoKHR.hsc view
@@ -0,0 +1,454 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImportFenceWin32HandleInfoKHR+       (VkImportFenceWin32HandleInfoKHR(..)) where+import           Foreign.Storable                                             (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlagsKHR (VkExternalFenceHandleTypeFlagBitsKHR)+import           Graphics.Vulkan.Types.Enum.VkFenceImportFlagsKHR             (VkFenceImportFlagsKHR)+import           Graphics.Vulkan.Types.Enum.VkStructureType                   (VkStructureType)+import           Graphics.Vulkan.Types.Handles                                (VkFence)+import           Graphics.Vulkan.Types.Include                                (HANDLE,+                                                                               LPCWSTR)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                             (unsafeDupablePerformIO)++-- | > typedef struct VkImportFenceWin32HandleInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                                        pNext;+--   >     VkFence                          fence;+--   >     VkFenceImportFlagsKHR              flags;+--   >     VkExternalFenceHandleTypeFlagBitsKHR  handleType;+--   >     HANDLE                             handle;+--   >     LPCWSTR                            name;+--   > } VkImportFenceWin32HandleInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImportFenceWin32HandleInfoKHR.html VkImportFenceWin32HandleInfoKHR registry at www.khronos.org>+data VkImportFenceWin32HandleInfoKHR = VkImportFenceWin32HandleInfoKHR## Addr##+                                                                        ByteArray##++instance Eq VkImportFenceWin32HandleInfoKHR where+        (VkImportFenceWin32HandleInfoKHR## a _) ==+          x@(VkImportFenceWin32HandleInfoKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImportFenceWin32HandleInfoKHR where+        (VkImportFenceWin32HandleInfoKHR## a _) `compare`+          x@(VkImportFenceWin32HandleInfoKHR## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImportFenceWin32HandleInfoKHR where+        sizeOf ~_ = #{size VkImportFenceWin32HandleInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkImportFenceWin32HandleInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImportFenceWin32HandleInfoKHR where+        unsafeAddr (VkImportFenceWin32HandleInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImportFenceWin32HandleInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImportFenceWin32HandleInfoKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImportFenceWin32HandleInfoKHR where+        type StructFields VkImportFenceWin32HandleInfoKHR =+             '["sType", "pNext", "fence", "flags", "handleType", "handle", -- ' closing tick for hsc2hs+               "name"]+        type CUnionType VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type StructExtends VkImportFenceWin32HandleInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkSType VkImportFenceWin32HandleInfoKHR where+        type VkSTypeMType VkImportFenceWin32HandleInfoKHR = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportFenceWin32HandleInfoKHR, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkImportFenceWin32HandleInfoKHR, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkImportFenceWin32HandleInfoKHR, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkImportFenceWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkImportFenceWin32HandleInfoKHR where+        type FieldType "sType" VkImportFenceWin32HandleInfoKHR =+             VkStructureType+        type FieldOptional "sType" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkImportFenceWin32HandleInfoKHR =+             #{offset VkImportFenceWin32HandleInfoKHR, sType}+        type FieldIsArray "sType" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportFenceWin32HandleInfoKHR, sType}++instance CanReadField "sType" VkImportFenceWin32HandleInfoKHR where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkImportFenceWin32HandleInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-}+         HasVkPNext VkImportFenceWin32HandleInfoKHR where+        type VkPNextMType VkImportFenceWin32HandleInfoKHR = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportFenceWin32HandleInfoKHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkImportFenceWin32HandleInfoKHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkImportFenceWin32HandleInfoKHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkImportFenceWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkImportFenceWin32HandleInfoKHR where+        type FieldType "pNext" VkImportFenceWin32HandleInfoKHR = Ptr Void+        type FieldOptional "pNext" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkImportFenceWin32HandleInfoKHR =+             #{offset VkImportFenceWin32HandleInfoKHR, pNext}+        type FieldIsArray "pNext" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportFenceWin32HandleInfoKHR, pNext}++instance CanReadField "pNext" VkImportFenceWin32HandleInfoKHR where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkImportFenceWin32HandleInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-}+         HasVkFence VkImportFenceWin32HandleInfoKHR where+        type VkFenceMType VkImportFenceWin32HandleInfoKHR = VkFence++        {-# NOINLINE vkFence #-}+        vkFence x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportFenceWin32HandleInfoKHR, fence})++        {-# INLINE vkFenceByteOffset #-}+        vkFenceByteOffset ~_+          = #{offset VkImportFenceWin32HandleInfoKHR, fence}++        {-# INLINE readVkFence #-}+        readVkFence p+          = peekByteOff p #{offset VkImportFenceWin32HandleInfoKHR, fence}++        {-# INLINE writeVkFence #-}+        writeVkFence p+          = pokeByteOff p #{offset VkImportFenceWin32HandleInfoKHR, fence}++instance {-# OVERLAPPING #-}+         HasField "fence" VkImportFenceWin32HandleInfoKHR where+        type FieldType "fence" VkImportFenceWin32HandleInfoKHR = VkFence+        type FieldOptional "fence" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "fence" VkImportFenceWin32HandleInfoKHR =+             #{offset VkImportFenceWin32HandleInfoKHR, fence}+        type FieldIsArray "fence" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportFenceWin32HandleInfoKHR, fence}++instance CanReadField "fence" VkImportFenceWin32HandleInfoKHR where+        {-# INLINE getField #-}+        getField = vkFence++        {-# INLINE readField #-}+        readField = readVkFence++instance CanWriteField "fence" VkImportFenceWin32HandleInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkFence++instance {-# OVERLAPPING #-}+         HasVkFlags VkImportFenceWin32HandleInfoKHR where+        type VkFlagsMType VkImportFenceWin32HandleInfoKHR =+             VkFenceImportFlagsKHR++        {-# NOINLINE vkFlags #-}+        vkFlags x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportFenceWin32HandleInfoKHR, flags})++        {-# INLINE vkFlagsByteOffset #-}+        vkFlagsByteOffset ~_+          = #{offset VkImportFenceWin32HandleInfoKHR, flags}++        {-# INLINE readVkFlags #-}+        readVkFlags p+          = peekByteOff p #{offset VkImportFenceWin32HandleInfoKHR, flags}++        {-# INLINE writeVkFlags #-}+        writeVkFlags p+          = pokeByteOff p #{offset VkImportFenceWin32HandleInfoKHR, flags}++instance {-# OVERLAPPING #-}+         HasField "flags" VkImportFenceWin32HandleInfoKHR where+        type FieldType "flags" VkImportFenceWin32HandleInfoKHR =+             VkFenceImportFlagsKHR+        type FieldOptional "flags" VkImportFenceWin32HandleInfoKHR = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkImportFenceWin32HandleInfoKHR =+             #{offset VkImportFenceWin32HandleInfoKHR, flags}+        type FieldIsArray "flags" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportFenceWin32HandleInfoKHR, flags}++instance CanReadField "flags" VkImportFenceWin32HandleInfoKHR where+        {-# INLINE getField #-}+        getField = vkFlags++        {-# INLINE readField #-}+        readField = readVkFlags++instance CanWriteField "flags" VkImportFenceWin32HandleInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkFlags++instance {-# OVERLAPPING #-}+         HasVkHandleType VkImportFenceWin32HandleInfoKHR where+        type VkHandleTypeMType VkImportFenceWin32HandleInfoKHR =+             VkExternalFenceHandleTypeFlagBitsKHR++        {-# NOINLINE vkHandleType #-}+        vkHandleType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportFenceWin32HandleInfoKHR, handleType})++        {-# INLINE vkHandleTypeByteOffset #-}+        vkHandleTypeByteOffset ~_+          = #{offset VkImportFenceWin32HandleInfoKHR, handleType}++        {-# INLINE readVkHandleType #-}+        readVkHandleType p+          = peekByteOff p #{offset VkImportFenceWin32HandleInfoKHR, handleType}++        {-# INLINE writeVkHandleType #-}+        writeVkHandleType p+          = pokeByteOff p #{offset VkImportFenceWin32HandleInfoKHR, handleType}++instance {-# OVERLAPPING #-}+         HasField "handleType" VkImportFenceWin32HandleInfoKHR where+        type FieldType "handleType" VkImportFenceWin32HandleInfoKHR =+             VkExternalFenceHandleTypeFlagBitsKHR+        type FieldOptional "handleType" VkImportFenceWin32HandleInfoKHR =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "handleType" VkImportFenceWin32HandleInfoKHR =+             #{offset VkImportFenceWin32HandleInfoKHR, handleType}+        type FieldIsArray "handleType" VkImportFenceWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportFenceWin32HandleInfoKHR, handleType}++instance CanReadField "handleType" VkImportFenceWin32HandleInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkHandleType++        {-# INLINE readField #-}+        readField = readVkHandleType++instance CanWriteField "handleType" VkImportFenceWin32HandleInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkHandleType++instance {-# OVERLAPPING #-}+         HasVkHandle VkImportFenceWin32HandleInfoKHR where+        type VkHandleMType VkImportFenceWin32HandleInfoKHR = HANDLE++        {-# NOINLINE vkHandle #-}+        vkHandle x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportFenceWin32HandleInfoKHR, handle})++        {-# INLINE vkHandleByteOffset #-}+        vkHandleByteOffset ~_+          = #{offset VkImportFenceWin32HandleInfoKHR, handle}++        {-# INLINE readVkHandle #-}+        readVkHandle p+          = peekByteOff p #{offset VkImportFenceWin32HandleInfoKHR, handle}++        {-# INLINE writeVkHandle #-}+        writeVkHandle p+          = pokeByteOff p #{offset VkImportFenceWin32HandleInfoKHR, handle}++instance {-# OVERLAPPING #-}+         HasField "handle" VkImportFenceWin32HandleInfoKHR where+        type FieldType "handle" VkImportFenceWin32HandleInfoKHR = HANDLE+        type FieldOptional "handle" VkImportFenceWin32HandleInfoKHR = 'True -- ' closing tick for hsc2hs+        type FieldOffset "handle" VkImportFenceWin32HandleInfoKHR =+             #{offset VkImportFenceWin32HandleInfoKHR, handle}+        type FieldIsArray "handle" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportFenceWin32HandleInfoKHR, handle}++instance CanReadField "handle" VkImportFenceWin32HandleInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkHandle++        {-# INLINE readField #-}+        readField = readVkHandle++instance CanWriteField "handle" VkImportFenceWin32HandleInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkHandle++instance {-# OVERLAPPING #-}+         HasVkName VkImportFenceWin32HandleInfoKHR where+        type VkNameMType VkImportFenceWin32HandleInfoKHR = LPCWSTR++        {-# NOINLINE vkName #-}+        vkName x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportFenceWin32HandleInfoKHR, name})++        {-# INLINE vkNameByteOffset #-}+        vkNameByteOffset ~_+          = #{offset VkImportFenceWin32HandleInfoKHR, name}++        {-# INLINE readVkName #-}+        readVkName p+          = peekByteOff p #{offset VkImportFenceWin32HandleInfoKHR, name}++        {-# INLINE writeVkName #-}+        writeVkName p+          = pokeByteOff p #{offset VkImportFenceWin32HandleInfoKHR, name}++instance {-# OVERLAPPING #-}+         HasField "name" VkImportFenceWin32HandleInfoKHR where+        type FieldType "name" VkImportFenceWin32HandleInfoKHR = LPCWSTR+        type FieldOptional "name" VkImportFenceWin32HandleInfoKHR = 'True -- ' closing tick for hsc2hs+        type FieldOffset "name" VkImportFenceWin32HandleInfoKHR =+             #{offset VkImportFenceWin32HandleInfoKHR, name}+        type FieldIsArray "name" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportFenceWin32HandleInfoKHR, name}++instance CanReadField "name" VkImportFenceWin32HandleInfoKHR where+        {-# INLINE getField #-}+        getField = vkName++        {-# INLINE readField #-}+        readField = readVkName++instance CanWriteField "name" VkImportFenceWin32HandleInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkName++instance Show VkImportFenceWin32HandleInfoKHR where+        showsPrec d x+          = showString "VkImportFenceWin32HandleInfoKHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFence = " .+                            showsPrec d (vkFence x) .+                              showString ", " .+                                showString "vkFlags = " .+                                  showsPrec d (vkFlags x) .+                                    showString ", " .+                                      showString "vkHandleType = " .+                                        showsPrec d (vkHandleType x) .+                                          showString ", " .+                                            showString "vkHandle = " .+                                              showsPrec d (vkHandle x) .+                                                showString ", " .+                                                  showString "vkName = " .+                                                    showsPrec d (vkName x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImportMemoryFdInfoKHR.hsc view
@@ -0,0 +1,276 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImportMemoryFdInfoKHR+       (VkImportMemoryFdInfoKHR(..)) where+import           Foreign.Storable                                              (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsKHR (VkExternalMemoryHandleTypeFlagBitsKHR)+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 VkImportMemoryFdInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkExternalMemoryHandleTypeFlagBitsKHR handleType;+--   >     int                              fd;+--   > } VkImportMemoryFdInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImportMemoryFdInfoKHR.html VkImportMemoryFdInfoKHR registry at www.khronos.org>+data VkImportMemoryFdInfoKHR = VkImportMemoryFdInfoKHR## Addr##+                                                        ByteArray##++instance Eq VkImportMemoryFdInfoKHR where+        (VkImportMemoryFdInfoKHR## a _) == x@(VkImportMemoryFdInfoKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImportMemoryFdInfoKHR where+        (VkImportMemoryFdInfoKHR## a _) `compare`+          x@(VkImportMemoryFdInfoKHR## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImportMemoryFdInfoKHR where+        sizeOf ~_ = #{size VkImportMemoryFdInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkImportMemoryFdInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImportMemoryFdInfoKHR where+        unsafeAddr (VkImportMemoryFdInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImportMemoryFdInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImportMemoryFdInfoKHR## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImportMemoryFdInfoKHR where+        type StructFields VkImportMemoryFdInfoKHR =+             '["sType", "pNext", "handleType", "fd"] -- ' closing tick for hsc2hs+        type CUnionType VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type StructExtends VkImportMemoryFdInfoKHR =+             '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSType VkImportMemoryFdInfoKHR+         where+        type VkSTypeMType VkImportMemoryFdInfoKHR = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportMemoryFdInfoKHR, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkImportMemoryFdInfoKHR, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkImportMemoryFdInfoKHR, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkImportMemoryFdInfoKHR, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkImportMemoryFdInfoKHR where+        type FieldType "sType" VkImportMemoryFdInfoKHR = VkStructureType+        type FieldOptional "sType" VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkImportMemoryFdInfoKHR =+             #{offset VkImportMemoryFdInfoKHR, sType}+        type FieldIsArray "sType" VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImportMemoryFdInfoKHR, sType}++instance CanReadField "sType" VkImportMemoryFdInfoKHR where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkImportMemoryFdInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-} HasVkPNext VkImportMemoryFdInfoKHR+         where+        type VkPNextMType VkImportMemoryFdInfoKHR = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportMemoryFdInfoKHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkImportMemoryFdInfoKHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkImportMemoryFdInfoKHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkImportMemoryFdInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkImportMemoryFdInfoKHR where+        type FieldType "pNext" VkImportMemoryFdInfoKHR = Ptr Void+        type FieldOptional "pNext" VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkImportMemoryFdInfoKHR =+             #{offset VkImportMemoryFdInfoKHR, pNext}+        type FieldIsArray "pNext" VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImportMemoryFdInfoKHR, pNext}++instance CanReadField "pNext" VkImportMemoryFdInfoKHR where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkImportMemoryFdInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-}+         HasVkHandleType VkImportMemoryFdInfoKHR where+        type VkHandleTypeMType VkImportMemoryFdInfoKHR =+             VkExternalMemoryHandleTypeFlagBitsKHR++        {-# NOINLINE vkHandleType #-}+        vkHandleType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportMemoryFdInfoKHR, handleType})++        {-# INLINE vkHandleTypeByteOffset #-}+        vkHandleTypeByteOffset ~_+          = #{offset VkImportMemoryFdInfoKHR, handleType}++        {-# INLINE readVkHandleType #-}+        readVkHandleType p+          = peekByteOff p #{offset VkImportMemoryFdInfoKHR, handleType}++        {-# INLINE writeVkHandleType #-}+        writeVkHandleType p+          = pokeByteOff p #{offset VkImportMemoryFdInfoKHR, handleType}++instance {-# OVERLAPPING #-}+         HasField "handleType" VkImportMemoryFdInfoKHR where+        type FieldType "handleType" VkImportMemoryFdInfoKHR =+             VkExternalMemoryHandleTypeFlagBitsKHR+        type FieldOptional "handleType" VkImportMemoryFdInfoKHR = 'True -- ' closing tick for hsc2hs+        type FieldOffset "handleType" VkImportMemoryFdInfoKHR =+             #{offset VkImportMemoryFdInfoKHR, handleType}+        type FieldIsArray "handleType" VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportMemoryFdInfoKHR, handleType}++instance CanReadField "handleType" VkImportMemoryFdInfoKHR where+        {-# INLINE getField #-}+        getField = vkHandleType++        {-# INLINE readField #-}+        readField = readVkHandleType++instance CanWriteField "handleType" VkImportMemoryFdInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkHandleType++instance {-# OVERLAPPING #-} HasVkFd VkImportMemoryFdInfoKHR where+        type VkFdMType VkImportMemoryFdInfoKHR = CInt++        {-# NOINLINE vkFd #-}+        vkFd x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportMemoryFdInfoKHR, fd})++        {-# INLINE vkFdByteOffset #-}+        vkFdByteOffset ~_+          = #{offset VkImportMemoryFdInfoKHR, fd}++        {-# INLINE readVkFd #-}+        readVkFd p+          = peekByteOff p #{offset VkImportMemoryFdInfoKHR, fd}++        {-# INLINE writeVkFd #-}+        writeVkFd p+          = pokeByteOff p #{offset VkImportMemoryFdInfoKHR, fd}++instance {-# OVERLAPPING #-} HasField "fd" VkImportMemoryFdInfoKHR+         where+        type FieldType "fd" VkImportMemoryFdInfoKHR = CInt+        type FieldOptional "fd" VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "fd" VkImportMemoryFdInfoKHR =+             #{offset VkImportMemoryFdInfoKHR, fd}+        type FieldIsArray "fd" VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImportMemoryFdInfoKHR, fd}++instance CanReadField "fd" VkImportMemoryFdInfoKHR where+        {-# INLINE getField #-}+        getField = vkFd++        {-# INLINE readField #-}+        readField = readVkFd++instance CanWriteField "fd" VkImportMemoryFdInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkFd++instance Show VkImportMemoryFdInfoKHR where+        showsPrec d x+          = showString "VkImportMemoryFdInfoKHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkHandleType = " .+                            showsPrec d (vkHandleType x) .+                              showString ", " .+                                showString "vkFd = " . showsPrec d (vkFd x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImportMemoryHostPointerInfoEXT.hsc view
@@ -0,0 +1,307 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImportMemoryHostPointerInfoEXT+       (VkImportMemoryHostPointerInfoEXT(..)) where+import           Foreign.Storable                                              (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsKHR (VkExternalMemoryHandleTypeFlagBitsKHR)+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 VkImportMemoryHostPointerInfoEXT {+--   >     VkStructureType sType;+--   >     const void* pNext;+--   >     VkExternalMemoryHandleTypeFlagBitsKHR handleType;+--   >     void* pHostPointer;+--   > } VkImportMemoryHostPointerInfoEXT;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImportMemoryHostPointerInfoEXT.html VkImportMemoryHostPointerInfoEXT registry at www.khronos.org>+data VkImportMemoryHostPointerInfoEXT = VkImportMemoryHostPointerInfoEXT## Addr##+                                                                          ByteArray##++instance Eq VkImportMemoryHostPointerInfoEXT where+        (VkImportMemoryHostPointerInfoEXT## a _) ==+          x@(VkImportMemoryHostPointerInfoEXT## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImportMemoryHostPointerInfoEXT where+        (VkImportMemoryHostPointerInfoEXT## a _) `compare`+          x@(VkImportMemoryHostPointerInfoEXT## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImportMemoryHostPointerInfoEXT where+        sizeOf ~_ = #{size VkImportMemoryHostPointerInfoEXT}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkImportMemoryHostPointerInfoEXT}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImportMemoryHostPointerInfoEXT where+        unsafeAddr (VkImportMemoryHostPointerInfoEXT## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImportMemoryHostPointerInfoEXT## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImportMemoryHostPointerInfoEXT##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImportMemoryHostPointerInfoEXT where+        type StructFields VkImportMemoryHostPointerInfoEXT =+             '["sType", "pNext", "handleType", "pHostPointer"] -- ' closing tick for hsc2hs+        type CUnionType VkImportMemoryHostPointerInfoEXT = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImportMemoryHostPointerInfoEXT = 'False -- ' closing tick for hsc2hs+        type StructExtends VkImportMemoryHostPointerInfoEXT =+             '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkSType VkImportMemoryHostPointerInfoEXT where+        type VkSTypeMType VkImportMemoryHostPointerInfoEXT =+             VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportMemoryHostPointerInfoEXT, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkImportMemoryHostPointerInfoEXT, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkImportMemoryHostPointerInfoEXT, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkImportMemoryHostPointerInfoEXT, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkImportMemoryHostPointerInfoEXT where+        type FieldType "sType" VkImportMemoryHostPointerInfoEXT =+             VkStructureType+        type FieldOptional "sType" VkImportMemoryHostPointerInfoEXT =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkImportMemoryHostPointerInfoEXT =+             #{offset VkImportMemoryHostPointerInfoEXT, sType}+        type FieldIsArray "sType" VkImportMemoryHostPointerInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportMemoryHostPointerInfoEXT, sType}++instance CanReadField "sType" VkImportMemoryHostPointerInfoEXT+         where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkImportMemoryHostPointerInfoEXT+         where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-}+         HasVkPNext VkImportMemoryHostPointerInfoEXT where+        type VkPNextMType VkImportMemoryHostPointerInfoEXT = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportMemoryHostPointerInfoEXT, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkImportMemoryHostPointerInfoEXT, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkImportMemoryHostPointerInfoEXT, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkImportMemoryHostPointerInfoEXT, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkImportMemoryHostPointerInfoEXT where+        type FieldType "pNext" VkImportMemoryHostPointerInfoEXT = Ptr Void+        type FieldOptional "pNext" VkImportMemoryHostPointerInfoEXT =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkImportMemoryHostPointerInfoEXT =+             #{offset VkImportMemoryHostPointerInfoEXT, pNext}+        type FieldIsArray "pNext" VkImportMemoryHostPointerInfoEXT = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportMemoryHostPointerInfoEXT, pNext}++instance CanReadField "pNext" VkImportMemoryHostPointerInfoEXT+         where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkImportMemoryHostPointerInfoEXT+         where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-}+         HasVkHandleType VkImportMemoryHostPointerInfoEXT where+        type VkHandleTypeMType VkImportMemoryHostPointerInfoEXT =+             VkExternalMemoryHandleTypeFlagBitsKHR++        {-# NOINLINE vkHandleType #-}+        vkHandleType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportMemoryHostPointerInfoEXT, handleType})++        {-# INLINE vkHandleTypeByteOffset #-}+        vkHandleTypeByteOffset ~_+          = #{offset VkImportMemoryHostPointerInfoEXT, handleType}++        {-# INLINE readVkHandleType #-}+        readVkHandleType p+          = peekByteOff p #{offset VkImportMemoryHostPointerInfoEXT, handleType}++        {-# INLINE writeVkHandleType #-}+        writeVkHandleType p+          = pokeByteOff p #{offset VkImportMemoryHostPointerInfoEXT, handleType}++instance {-# OVERLAPPING #-}+         HasField "handleType" VkImportMemoryHostPointerInfoEXT where+        type FieldType "handleType" VkImportMemoryHostPointerInfoEXT =+             VkExternalMemoryHandleTypeFlagBitsKHR+        type FieldOptional "handleType" VkImportMemoryHostPointerInfoEXT =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "handleType" VkImportMemoryHostPointerInfoEXT =+             #{offset VkImportMemoryHostPointerInfoEXT, handleType}+        type FieldIsArray "handleType" VkImportMemoryHostPointerInfoEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportMemoryHostPointerInfoEXT, handleType}++instance CanReadField "handleType" VkImportMemoryHostPointerInfoEXT+         where+        {-# INLINE getField #-}+        getField = vkHandleType++        {-# INLINE readField #-}+        readField = readVkHandleType++instance CanWriteField "handleType"+           VkImportMemoryHostPointerInfoEXT+         where+        {-# INLINE writeField #-}+        writeField = writeVkHandleType++instance {-# OVERLAPPING #-}+         HasVkPHostPointer VkImportMemoryHostPointerInfoEXT where+        type VkPHostPointerMType VkImportMemoryHostPointerInfoEXT =+             Ptr Void++        {-# NOINLINE vkPHostPointer #-}+        vkPHostPointer x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportMemoryHostPointerInfoEXT, pHostPointer})++        {-# INLINE vkPHostPointerByteOffset #-}+        vkPHostPointerByteOffset ~_+          = #{offset VkImportMemoryHostPointerInfoEXT, pHostPointer}++        {-# INLINE readVkPHostPointer #-}+        readVkPHostPointer p+          = peekByteOff p #{offset VkImportMemoryHostPointerInfoEXT, pHostPointer}++        {-# INLINE writeVkPHostPointer #-}+        writeVkPHostPointer p+          = pokeByteOff p #{offset VkImportMemoryHostPointerInfoEXT, pHostPointer}++instance {-# OVERLAPPING #-}+         HasField "pHostPointer" VkImportMemoryHostPointerInfoEXT where+        type FieldType "pHostPointer" VkImportMemoryHostPointerInfoEXT =+             Ptr Void+        type FieldOptional "pHostPointer" VkImportMemoryHostPointerInfoEXT+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pHostPointer" VkImportMemoryHostPointerInfoEXT =+             #{offset VkImportMemoryHostPointerInfoEXT, pHostPointer}+        type FieldIsArray "pHostPointer" VkImportMemoryHostPointerInfoEXT =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportMemoryHostPointerInfoEXT, pHostPointer}++instance CanReadField "pHostPointer"+           VkImportMemoryHostPointerInfoEXT+         where+        {-# INLINE getField #-}+        getField = vkPHostPointer++        {-# INLINE readField #-}+        readField = readVkPHostPointer++instance CanWriteField "pHostPointer"+           VkImportMemoryHostPointerInfoEXT+         where+        {-# INLINE writeField #-}+        writeField = writeVkPHostPointer++instance Show VkImportMemoryHostPointerInfoEXT where+        showsPrec d x+          = showString "VkImportMemoryHostPointerInfoEXT {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkHandleType = " .+                            showsPrec d (vkHandleType x) .+                              showString ", " .+                                showString "vkPHostPointer = " .+                                  showsPrec d (vkPHostPointer x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImportMemoryWin32HandleInfoKHR.hsc view
@@ -0,0 +1,356 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImportMemoryWin32HandleInfoKHR+       (VkImportMemoryWin32HandleInfoKHR(..)) where+import           Foreign.Storable                                              (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsKHR (VkExternalMemoryHandleTypeFlagBitsKHR)+import           Graphics.Vulkan.Types.Enum.VkStructureType                    (VkStructureType)+import           Graphics.Vulkan.Types.Include                                 (HANDLE,+                                                                                LPCWSTR)+import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo             (VkMemoryAllocateInfo)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                              (unsafeDupablePerformIO)++-- | > typedef struct VkImportMemoryWin32HandleInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkExternalMemoryHandleTypeFlagBitsKHR handleType;+--   >     HANDLE           handle;+--   >     LPCWSTR          name;+--   > } VkImportMemoryWin32HandleInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImportMemoryWin32HandleInfoKHR.html VkImportMemoryWin32HandleInfoKHR registry at www.khronos.org>+data VkImportMemoryWin32HandleInfoKHR = VkImportMemoryWin32HandleInfoKHR## Addr##+                                                                          ByteArray##++instance Eq VkImportMemoryWin32HandleInfoKHR where+        (VkImportMemoryWin32HandleInfoKHR## a _) ==+          x@(VkImportMemoryWin32HandleInfoKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImportMemoryWin32HandleInfoKHR where+        (VkImportMemoryWin32HandleInfoKHR## a _) `compare`+          x@(VkImportMemoryWin32HandleInfoKHR## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImportMemoryWin32HandleInfoKHR where+        sizeOf ~_ = #{size VkImportMemoryWin32HandleInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkImportMemoryWin32HandleInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImportMemoryWin32HandleInfoKHR where+        unsafeAddr (VkImportMemoryWin32HandleInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImportMemoryWin32HandleInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImportMemoryWin32HandleInfoKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImportMemoryWin32HandleInfoKHR where+        type StructFields VkImportMemoryWin32HandleInfoKHR =+             '["sType", "pNext", "handleType", "handle", "name"] -- ' closing tick for hsc2hs+        type CUnionType VkImportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type StructExtends VkImportMemoryWin32HandleInfoKHR =+             '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkSType VkImportMemoryWin32HandleInfoKHR where+        type VkSTypeMType VkImportMemoryWin32HandleInfoKHR =+             VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoKHR, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkImportMemoryWin32HandleInfoKHR, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkImportMemoryWin32HandleInfoKHR where+        type FieldType "sType" VkImportMemoryWin32HandleInfoKHR =+             VkStructureType+        type FieldOptional "sType" VkImportMemoryWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkImportMemoryWin32HandleInfoKHR =+             #{offset VkImportMemoryWin32HandleInfoKHR, sType}+        type FieldIsArray "sType" VkImportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportMemoryWin32HandleInfoKHR, sType}++instance CanReadField "sType" VkImportMemoryWin32HandleInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkImportMemoryWin32HandleInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-}+         HasVkPNext VkImportMemoryWin32HandleInfoKHR where+        type VkPNextMType VkImportMemoryWin32HandleInfoKHR = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoKHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkImportMemoryWin32HandleInfoKHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkImportMemoryWin32HandleInfoKHR where+        type FieldType "pNext" VkImportMemoryWin32HandleInfoKHR = Ptr Void+        type FieldOptional "pNext" VkImportMemoryWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkImportMemoryWin32HandleInfoKHR =+             #{offset VkImportMemoryWin32HandleInfoKHR, pNext}+        type FieldIsArray "pNext" VkImportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportMemoryWin32HandleInfoKHR, pNext}++instance CanReadField "pNext" VkImportMemoryWin32HandleInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkImportMemoryWin32HandleInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-}+         HasVkHandleType VkImportMemoryWin32HandleInfoKHR where+        type VkHandleTypeMType VkImportMemoryWin32HandleInfoKHR =+             VkExternalMemoryHandleTypeFlagBitsKHR++        {-# NOINLINE vkHandleType #-}+        vkHandleType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoKHR, handleType})++        {-# INLINE vkHandleTypeByteOffset #-}+        vkHandleTypeByteOffset ~_+          = #{offset VkImportMemoryWin32HandleInfoKHR, handleType}++        {-# INLINE readVkHandleType #-}+        readVkHandleType p+          = peekByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, handleType}++        {-# INLINE writeVkHandleType #-}+        writeVkHandleType p+          = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, handleType}++instance {-# OVERLAPPING #-}+         HasField "handleType" VkImportMemoryWin32HandleInfoKHR where+        type FieldType "handleType" VkImportMemoryWin32HandleInfoKHR =+             VkExternalMemoryHandleTypeFlagBitsKHR+        type FieldOptional "handleType" VkImportMemoryWin32HandleInfoKHR =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "handleType" VkImportMemoryWin32HandleInfoKHR =+             #{offset VkImportMemoryWin32HandleInfoKHR, handleType}+        type FieldIsArray "handleType" VkImportMemoryWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportMemoryWin32HandleInfoKHR, handleType}++instance CanReadField "handleType" VkImportMemoryWin32HandleInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkHandleType++        {-# INLINE readField #-}+        readField = readVkHandleType++instance CanWriteField "handleType"+           VkImportMemoryWin32HandleInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkHandleType++instance {-# OVERLAPPING #-}+         HasVkHandle VkImportMemoryWin32HandleInfoKHR where+        type VkHandleMType VkImportMemoryWin32HandleInfoKHR = HANDLE++        {-# NOINLINE vkHandle #-}+        vkHandle x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoKHR, handle})++        {-# INLINE vkHandleByteOffset #-}+        vkHandleByteOffset ~_+          = #{offset VkImportMemoryWin32HandleInfoKHR, handle}++        {-# INLINE readVkHandle #-}+        readVkHandle p+          = peekByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, handle}++        {-# INLINE writeVkHandle #-}+        writeVkHandle p+          = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, handle}++instance {-# OVERLAPPING #-}+         HasField "handle" VkImportMemoryWin32HandleInfoKHR where+        type FieldType "handle" VkImportMemoryWin32HandleInfoKHR = HANDLE+        type FieldOptional "handle" VkImportMemoryWin32HandleInfoKHR =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "handle" VkImportMemoryWin32HandleInfoKHR =+             #{offset VkImportMemoryWin32HandleInfoKHR, handle}+        type FieldIsArray "handle" VkImportMemoryWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportMemoryWin32HandleInfoKHR, handle}++instance CanReadField "handle" VkImportMemoryWin32HandleInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkHandle++        {-# INLINE readField #-}+        readField = readVkHandle++instance CanWriteField "handle" VkImportMemoryWin32HandleInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkHandle++instance {-# OVERLAPPING #-}+         HasVkName VkImportMemoryWin32HandleInfoKHR where+        type VkNameMType VkImportMemoryWin32HandleInfoKHR = LPCWSTR++        {-# NOINLINE vkName #-}+        vkName x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoKHR, name})++        {-# INLINE vkNameByteOffset #-}+        vkNameByteOffset ~_+          = #{offset VkImportMemoryWin32HandleInfoKHR, name}++        {-# INLINE readVkName #-}+        readVkName p+          = peekByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, name}++        {-# INLINE writeVkName #-}+        writeVkName p+          = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, name}++instance {-# OVERLAPPING #-}+         HasField "name" VkImportMemoryWin32HandleInfoKHR where+        type FieldType "name" VkImportMemoryWin32HandleInfoKHR = LPCWSTR+        type FieldOptional "name" VkImportMemoryWin32HandleInfoKHR = 'True -- ' closing tick for hsc2hs+        type FieldOffset "name" VkImportMemoryWin32HandleInfoKHR =+             #{offset VkImportMemoryWin32HandleInfoKHR, name}+        type FieldIsArray "name" VkImportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportMemoryWin32HandleInfoKHR, name}++instance CanReadField "name" VkImportMemoryWin32HandleInfoKHR where+        {-# INLINE getField #-}+        getField = vkName++        {-# INLINE readField #-}+        readField = readVkName++instance CanWriteField "name" VkImportMemoryWin32HandleInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkName++instance Show VkImportMemoryWin32HandleInfoKHR where+        showsPrec d x+          = showString "VkImportMemoryWin32HandleInfoKHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkHandleType = " .+                            showsPrec d (vkHandleType x) .+                              showString ", " .+                                showString "vkHandle = " .+                                  showsPrec d (vkHandle x) .+                                    showString ", " .+                                      showString "vkName = " . showsPrec d (vkName x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImportMemoryWin32HandleInfoNV.hsc view
@@ -0,0 +1,294 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImportMemoryWin32HandleInfoNV+       (VkImportMemoryWin32HandleInfoNV(..)) where+import           Foreign.Storable                                             (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsNV (VkExternalMemoryHandleTypeFlagsNV)+import           Graphics.Vulkan.Types.Enum.VkStructureType                   (VkStructureType)+import           Graphics.Vulkan.Types.Include                                (HANDLE)+import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo            (VkMemoryAllocateInfo)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                             (unsafeDupablePerformIO)++-- | > typedef struct VkImportMemoryWin32HandleInfoNV {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkExternalMemoryHandleTypeFlagsNV handleType;+--   >     HANDLE                           handle;+--   > } VkImportMemoryWin32HandleInfoNV;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImportMemoryWin32HandleInfoNV.html VkImportMemoryWin32HandleInfoNV registry at www.khronos.org>+data VkImportMemoryWin32HandleInfoNV = VkImportMemoryWin32HandleInfoNV## Addr##+                                                                        ByteArray##++instance Eq VkImportMemoryWin32HandleInfoNV where+        (VkImportMemoryWin32HandleInfoNV## a _) ==+          x@(VkImportMemoryWin32HandleInfoNV## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImportMemoryWin32HandleInfoNV where+        (VkImportMemoryWin32HandleInfoNV## a _) `compare`+          x@(VkImportMemoryWin32HandleInfoNV## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImportMemoryWin32HandleInfoNV where+        sizeOf ~_ = #{size VkImportMemoryWin32HandleInfoNV}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkImportMemoryWin32HandleInfoNV}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImportMemoryWin32HandleInfoNV where+        unsafeAddr (VkImportMemoryWin32HandleInfoNV## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImportMemoryWin32HandleInfoNV## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImportMemoryWin32HandleInfoNV##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImportMemoryWin32HandleInfoNV where+        type StructFields VkImportMemoryWin32HandleInfoNV =+             '["sType", "pNext", "handleType", "handle"] -- ' closing tick for hsc2hs+        type CUnionType VkImportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs+        type StructExtends VkImportMemoryWin32HandleInfoNV =+             '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkSType VkImportMemoryWin32HandleInfoNV where+        type VkSTypeMType VkImportMemoryWin32HandleInfoNV = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoNV, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkImportMemoryWin32HandleInfoNV, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkImportMemoryWin32HandleInfoNV, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoNV, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkImportMemoryWin32HandleInfoNV where+        type FieldType "sType" VkImportMemoryWin32HandleInfoNV =+             VkStructureType+        type FieldOptional "sType" VkImportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkImportMemoryWin32HandleInfoNV =+             #{offset VkImportMemoryWin32HandleInfoNV, sType}+        type FieldIsArray "sType" VkImportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportMemoryWin32HandleInfoNV, sType}++instance CanReadField "sType" VkImportMemoryWin32HandleInfoNV where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkImportMemoryWin32HandleInfoNV+         where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-}+         HasVkPNext VkImportMemoryWin32HandleInfoNV where+        type VkPNextMType VkImportMemoryWin32HandleInfoNV = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoNV, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkImportMemoryWin32HandleInfoNV, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkImportMemoryWin32HandleInfoNV, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoNV, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkImportMemoryWin32HandleInfoNV where+        type FieldType "pNext" VkImportMemoryWin32HandleInfoNV = Ptr Void+        type FieldOptional "pNext" VkImportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkImportMemoryWin32HandleInfoNV =+             #{offset VkImportMemoryWin32HandleInfoNV, pNext}+        type FieldIsArray "pNext" VkImportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportMemoryWin32HandleInfoNV, pNext}++instance CanReadField "pNext" VkImportMemoryWin32HandleInfoNV where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkImportMemoryWin32HandleInfoNV+         where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-}+         HasVkHandleType VkImportMemoryWin32HandleInfoNV where+        type VkHandleTypeMType VkImportMemoryWin32HandleInfoNV =+             VkExternalMemoryHandleTypeFlagsNV++        {-# NOINLINE vkHandleType #-}+        vkHandleType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoNV, handleType})++        {-# INLINE vkHandleTypeByteOffset #-}+        vkHandleTypeByteOffset ~_+          = #{offset VkImportMemoryWin32HandleInfoNV, handleType}++        {-# INLINE readVkHandleType #-}+        readVkHandleType p+          = peekByteOff p #{offset VkImportMemoryWin32HandleInfoNV, handleType}++        {-# INLINE writeVkHandleType #-}+        writeVkHandleType p+          = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoNV, handleType}++instance {-# OVERLAPPING #-}+         HasField "handleType" VkImportMemoryWin32HandleInfoNV where+        type FieldType "handleType" VkImportMemoryWin32HandleInfoNV =+             VkExternalMemoryHandleTypeFlagsNV+        type FieldOptional "handleType" VkImportMemoryWin32HandleInfoNV =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "handleType" VkImportMemoryWin32HandleInfoNV =+             #{offset VkImportMemoryWin32HandleInfoNV, handleType}+        type FieldIsArray "handleType" VkImportMemoryWin32HandleInfoNV =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportMemoryWin32HandleInfoNV, handleType}++instance CanReadField "handleType" VkImportMemoryWin32HandleInfoNV+         where+        {-# INLINE getField #-}+        getField = vkHandleType++        {-# INLINE readField #-}+        readField = readVkHandleType++instance CanWriteField "handleType" VkImportMemoryWin32HandleInfoNV+         where+        {-# INLINE writeField #-}+        writeField = writeVkHandleType++instance {-# OVERLAPPING #-}+         HasVkHandle VkImportMemoryWin32HandleInfoNV where+        type VkHandleMType VkImportMemoryWin32HandleInfoNV = HANDLE++        {-# NOINLINE vkHandle #-}+        vkHandle x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoNV, handle})++        {-# INLINE vkHandleByteOffset #-}+        vkHandleByteOffset ~_+          = #{offset VkImportMemoryWin32HandleInfoNV, handle}++        {-# INLINE readVkHandle #-}+        readVkHandle p+          = peekByteOff p #{offset VkImportMemoryWin32HandleInfoNV, handle}++        {-# INLINE writeVkHandle #-}+        writeVkHandle p+          = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoNV, handle}++instance {-# OVERLAPPING #-}+         HasField "handle" VkImportMemoryWin32HandleInfoNV where+        type FieldType "handle" VkImportMemoryWin32HandleInfoNV = HANDLE+        type FieldOptional "handle" VkImportMemoryWin32HandleInfoNV = 'True -- ' closing tick for hsc2hs+        type FieldOffset "handle" VkImportMemoryWin32HandleInfoNV =+             #{offset VkImportMemoryWin32HandleInfoNV, handle}+        type FieldIsArray "handle" VkImportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportMemoryWin32HandleInfoNV, handle}++instance CanReadField "handle" VkImportMemoryWin32HandleInfoNV+         where+        {-# INLINE getField #-}+        getField = vkHandle++        {-# INLINE readField #-}+        readField = readVkHandle++instance CanWriteField "handle" VkImportMemoryWin32HandleInfoNV+         where+        {-# INLINE writeField #-}+        writeField = writeVkHandle++instance Show VkImportMemoryWin32HandleInfoNV where+        showsPrec d x+          = showString "VkImportMemoryWin32HandleInfoNV {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkHandleType = " .+                            showsPrec d (vkHandleType x) .+                              showString ", " .+                                showString "vkHandle = " . showsPrec d (vkHandle x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImportSemaphoreFdInfoKHR.hsc view
@@ -0,0 +1,394 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImportSemaphoreFdInfoKHR+       (VkImportSemaphoreFdInfoKHR(..)) where+import           Foreign.Storable+                                                                                   (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlagsKHR+                                                                                   (VkExternalSemaphoreHandleTypeFlagBitsKHR)+import           Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlagsKHR+                                                                                   (VkSemaphoreImportFlagsKHR)+import           Graphics.Vulkan.Types.Enum.VkStructureType+                                                                                   (VkStructureType)+import           Graphics.Vulkan.Types.Handles+                                                                                   (VkSemaphore)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe+                                                                                   (unsafeDupablePerformIO)++-- | > typedef struct VkImportSemaphoreFdInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkSemaphore    semaphore;+--   >     VkSemaphoreImportFlagsKHR flags;+--   >     VkExternalSemaphoreHandleTypeFlagBitsKHR handleType;+--   >     int                              fd;+--   > } VkImportSemaphoreFdInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImportSemaphoreFdInfoKHR.html VkImportSemaphoreFdInfoKHR registry at www.khronos.org>+data VkImportSemaphoreFdInfoKHR = VkImportSemaphoreFdInfoKHR## Addr##+                                                              ByteArray##++instance Eq VkImportSemaphoreFdInfoKHR where+        (VkImportSemaphoreFdInfoKHR## a _) ==+          x@(VkImportSemaphoreFdInfoKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImportSemaphoreFdInfoKHR where+        (VkImportSemaphoreFdInfoKHR## a _) `compare`+          x@(VkImportSemaphoreFdInfoKHR## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImportSemaphoreFdInfoKHR where+        sizeOf ~_ = #{size VkImportSemaphoreFdInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkImportSemaphoreFdInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImportSemaphoreFdInfoKHR where+        unsafeAddr (VkImportSemaphoreFdInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImportSemaphoreFdInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImportSemaphoreFdInfoKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImportSemaphoreFdInfoKHR where+        type StructFields VkImportSemaphoreFdInfoKHR =+             '["sType", "pNext", "semaphore", "flags", "handleType", "fd"] -- ' closing tick for hsc2hs+        type CUnionType VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type StructExtends VkImportSemaphoreFdInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSType VkImportSemaphoreFdInfoKHR+         where+        type VkSTypeMType VkImportSemaphoreFdInfoKHR = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreFdInfoKHR, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkImportSemaphoreFdInfoKHR, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkImportSemaphoreFdInfoKHR, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkImportSemaphoreFdInfoKHR, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkImportSemaphoreFdInfoKHR where+        type FieldType "sType" VkImportSemaphoreFdInfoKHR = VkStructureType+        type FieldOptional "sType" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkImportSemaphoreFdInfoKHR =+             #{offset VkImportSemaphoreFdInfoKHR, sType}+        type FieldIsArray "sType" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportSemaphoreFdInfoKHR, sType}++instance CanReadField "sType" VkImportSemaphoreFdInfoKHR where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkImportSemaphoreFdInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-} HasVkPNext VkImportSemaphoreFdInfoKHR+         where+        type VkPNextMType VkImportSemaphoreFdInfoKHR = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreFdInfoKHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkImportSemaphoreFdInfoKHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkImportSemaphoreFdInfoKHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkImportSemaphoreFdInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkImportSemaphoreFdInfoKHR where+        type FieldType "pNext" VkImportSemaphoreFdInfoKHR = Ptr Void+        type FieldOptional "pNext" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkImportSemaphoreFdInfoKHR =+             #{offset VkImportSemaphoreFdInfoKHR, pNext}+        type FieldIsArray "pNext" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportSemaphoreFdInfoKHR, pNext}++instance CanReadField "pNext" VkImportSemaphoreFdInfoKHR where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkImportSemaphoreFdInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-}+         HasVkSemaphore VkImportSemaphoreFdInfoKHR where+        type VkSemaphoreMType VkImportSemaphoreFdInfoKHR = VkSemaphore++        {-# NOINLINE vkSemaphore #-}+        vkSemaphore x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreFdInfoKHR, semaphore})++        {-# INLINE vkSemaphoreByteOffset #-}+        vkSemaphoreByteOffset ~_+          = #{offset VkImportSemaphoreFdInfoKHR, semaphore}++        {-# INLINE readVkSemaphore #-}+        readVkSemaphore p+          = peekByteOff p #{offset VkImportSemaphoreFdInfoKHR, semaphore}++        {-# INLINE writeVkSemaphore #-}+        writeVkSemaphore p+          = pokeByteOff p #{offset VkImportSemaphoreFdInfoKHR, semaphore}++instance {-# OVERLAPPING #-}+         HasField "semaphore" VkImportSemaphoreFdInfoKHR where+        type FieldType "semaphore" VkImportSemaphoreFdInfoKHR = VkSemaphore+        type FieldOptional "semaphore" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "semaphore" VkImportSemaphoreFdInfoKHR =+             #{offset VkImportSemaphoreFdInfoKHR, semaphore}+        type FieldIsArray "semaphore" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportSemaphoreFdInfoKHR, semaphore}++instance CanReadField "semaphore" VkImportSemaphoreFdInfoKHR where+        {-# INLINE getField #-}+        getField = vkSemaphore++        {-# INLINE readField #-}+        readField = readVkSemaphore++instance CanWriteField "semaphore" VkImportSemaphoreFdInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkSemaphore++instance {-# OVERLAPPING #-} HasVkFlags VkImportSemaphoreFdInfoKHR+         where+        type VkFlagsMType VkImportSemaphoreFdInfoKHR =+             VkSemaphoreImportFlagsKHR++        {-# NOINLINE vkFlags #-}+        vkFlags x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreFdInfoKHR, flags})++        {-# INLINE vkFlagsByteOffset #-}+        vkFlagsByteOffset ~_+          = #{offset VkImportSemaphoreFdInfoKHR, flags}++        {-# INLINE readVkFlags #-}+        readVkFlags p+          = peekByteOff p #{offset VkImportSemaphoreFdInfoKHR, flags}++        {-# INLINE writeVkFlags #-}+        writeVkFlags p+          = pokeByteOff p #{offset VkImportSemaphoreFdInfoKHR, flags}++instance {-# OVERLAPPING #-}+         HasField "flags" VkImportSemaphoreFdInfoKHR where+        type FieldType "flags" VkImportSemaphoreFdInfoKHR =+             VkSemaphoreImportFlagsKHR+        type FieldOptional "flags" VkImportSemaphoreFdInfoKHR = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkImportSemaphoreFdInfoKHR =+             #{offset VkImportSemaphoreFdInfoKHR, flags}+        type FieldIsArray "flags" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportSemaphoreFdInfoKHR, flags}++instance CanReadField "flags" VkImportSemaphoreFdInfoKHR where+        {-# INLINE getField #-}+        getField = vkFlags++        {-# INLINE readField #-}+        readField = readVkFlags++instance CanWriteField "flags" VkImportSemaphoreFdInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkFlags++instance {-# OVERLAPPING #-}+         HasVkHandleType VkImportSemaphoreFdInfoKHR where+        type VkHandleTypeMType VkImportSemaphoreFdInfoKHR =+             VkExternalSemaphoreHandleTypeFlagBitsKHR++        {-# NOINLINE vkHandleType #-}+        vkHandleType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreFdInfoKHR, handleType})++        {-# INLINE vkHandleTypeByteOffset #-}+        vkHandleTypeByteOffset ~_+          = #{offset VkImportSemaphoreFdInfoKHR, handleType}++        {-# INLINE readVkHandleType #-}+        readVkHandleType p+          = peekByteOff p #{offset VkImportSemaphoreFdInfoKHR, handleType}++        {-# INLINE writeVkHandleType #-}+        writeVkHandleType p+          = pokeByteOff p #{offset VkImportSemaphoreFdInfoKHR, handleType}++instance {-# OVERLAPPING #-}+         HasField "handleType" VkImportSemaphoreFdInfoKHR where+        type FieldType "handleType" VkImportSemaphoreFdInfoKHR =+             VkExternalSemaphoreHandleTypeFlagBitsKHR+        type FieldOptional "handleType" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "handleType" VkImportSemaphoreFdInfoKHR =+             #{offset VkImportSemaphoreFdInfoKHR, handleType}+        type FieldIsArray "handleType" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportSemaphoreFdInfoKHR, handleType}++instance CanReadField "handleType" VkImportSemaphoreFdInfoKHR where+        {-# INLINE getField #-}+        getField = vkHandleType++        {-# INLINE readField #-}+        readField = readVkHandleType++instance CanWriteField "handleType" VkImportSemaphoreFdInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkHandleType++instance {-# OVERLAPPING #-} HasVkFd VkImportSemaphoreFdInfoKHR+         where+        type VkFdMType VkImportSemaphoreFdInfoKHR = CInt++        {-# NOINLINE vkFd #-}+        vkFd x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreFdInfoKHR, fd})++        {-# INLINE vkFdByteOffset #-}+        vkFdByteOffset ~_+          = #{offset VkImportSemaphoreFdInfoKHR, fd}++        {-# INLINE readVkFd #-}+        readVkFd p+          = peekByteOff p #{offset VkImportSemaphoreFdInfoKHR, fd}++        {-# INLINE writeVkFd #-}+        writeVkFd p+          = pokeByteOff p #{offset VkImportSemaphoreFdInfoKHR, fd}++instance {-# OVERLAPPING #-}+         HasField "fd" VkImportSemaphoreFdInfoKHR where+        type FieldType "fd" VkImportSemaphoreFdInfoKHR = CInt+        type FieldOptional "fd" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "fd" VkImportSemaphoreFdInfoKHR =+             #{offset VkImportSemaphoreFdInfoKHR, fd}+        type FieldIsArray "fd" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkImportSemaphoreFdInfoKHR, fd}++instance CanReadField "fd" VkImportSemaphoreFdInfoKHR where+        {-# INLINE getField #-}+        getField = vkFd++        {-# INLINE readField #-}+        readField = readVkFd++instance CanWriteField "fd" VkImportSemaphoreFdInfoKHR where+        {-# INLINE writeField #-}+        writeField = writeVkFd++instance Show VkImportSemaphoreFdInfoKHR where+        showsPrec d x+          = showString "VkImportSemaphoreFdInfoKHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkSemaphore = " .+                            showsPrec d (vkSemaphore x) .+                              showString ", " .+                                showString "vkFlags = " .+                                  showsPrec d (vkFlags x) .+                                    showString ", " .+                                      showString "vkHandleType = " .+                                        showsPrec d (vkHandleType x) .+                                          showString ", " .+                                            showString "vkFd = " .+                                              showsPrec d (vkFd x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkImportSemaphoreWin32HandleInfoKHR.hsc view
@@ -0,0 +1,490 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkImportSemaphoreWin32HandleInfoKHR+       (VkImportSemaphoreWin32HandleInfoKHR(..)) where+import           Foreign.Storable+                                                                                   (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlagsKHR+                                                                                   (VkExternalSemaphoreHandleTypeFlagBitsKHR)+import           Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlagsKHR+                                                                                   (VkSemaphoreImportFlagsKHR)+import           Graphics.Vulkan.Types.Enum.VkStructureType+                                                                                   (VkStructureType)+import           Graphics.Vulkan.Types.Handles+                                                                                   (VkSemaphore)+import           Graphics.Vulkan.Types.Include+                                                                                   (HANDLE,+                                                                                   LPCWSTR)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe+                                                                                   (unsafeDupablePerformIO)++-- | > typedef struct VkImportSemaphoreWin32HandleInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkSemaphore    semaphore;+--   >     VkSemaphoreImportFlagsKHR flags;+--   >     VkExternalSemaphoreHandleTypeFlagBitsKHR handleType;+--   >     HANDLE           handle;+--   >     LPCWSTR          name;+--   > } VkImportSemaphoreWin32HandleInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkImportSemaphoreWin32HandleInfoKHR.html VkImportSemaphoreWin32HandleInfoKHR registry at www.khronos.org>+data VkImportSemaphoreWin32HandleInfoKHR = VkImportSemaphoreWin32HandleInfoKHR## Addr##+                                                                                ByteArray##++instance Eq VkImportSemaphoreWin32HandleInfoKHR where+        (VkImportSemaphoreWin32HandleInfoKHR## a _) ==+          x@(VkImportSemaphoreWin32HandleInfoKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkImportSemaphoreWin32HandleInfoKHR where+        (VkImportSemaphoreWin32HandleInfoKHR## a _) `compare`+          x@(VkImportSemaphoreWin32HandleInfoKHR## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkImportSemaphoreWin32HandleInfoKHR where+        sizeOf ~_ = #{size VkImportSemaphoreWin32HandleInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkImportSemaphoreWin32HandleInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkImportSemaphoreWin32HandleInfoKHR+         where+        unsafeAddr (VkImportSemaphoreWin32HandleInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkImportSemaphoreWin32HandleInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkImportSemaphoreWin32HandleInfoKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImportSemaphoreWin32HandleInfoKHR where+        type StructFields VkImportSemaphoreWin32HandleInfoKHR =+             '["sType", "pNext", "semaphore", "flags", "handleType", "handle", -- ' closing tick for hsc2hs+               "name"]+        type CUnionType VkImportSemaphoreWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkImportSemaphoreWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+        type StructExtends VkImportSemaphoreWin32HandleInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkSType VkImportSemaphoreWin32HandleInfoKHR where+        type VkSTypeMType VkImportSemaphoreWin32HandleInfoKHR =+             VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreWin32HandleInfoKHR, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkImportSemaphoreWin32HandleInfoKHR, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkImportSemaphoreWin32HandleInfoKHR where+        type FieldType "sType" VkImportSemaphoreWin32HandleInfoKHR =+             VkStructureType+        type FieldOptional "sType" VkImportSemaphoreWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkImportSemaphoreWin32HandleInfoKHR =+             #{offset VkImportSemaphoreWin32HandleInfoKHR, sType}+        type FieldIsArray "sType" VkImportSemaphoreWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportSemaphoreWin32HandleInfoKHR, sType}++instance CanReadField "sType" VkImportSemaphoreWin32HandleInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkImportSemaphoreWin32HandleInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-}+         HasVkPNext VkImportSemaphoreWin32HandleInfoKHR where+        type VkPNextMType VkImportSemaphoreWin32HandleInfoKHR = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreWin32HandleInfoKHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkImportSemaphoreWin32HandleInfoKHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkImportSemaphoreWin32HandleInfoKHR where+        type FieldType "pNext" VkImportSemaphoreWin32HandleInfoKHR =+             Ptr Void+        type FieldOptional "pNext" VkImportSemaphoreWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkImportSemaphoreWin32HandleInfoKHR =+             #{offset VkImportSemaphoreWin32HandleInfoKHR, pNext}+        type FieldIsArray "pNext" VkImportSemaphoreWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportSemaphoreWin32HandleInfoKHR, pNext}++instance CanReadField "pNext" VkImportSemaphoreWin32HandleInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkImportSemaphoreWin32HandleInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-}+         HasVkSemaphore VkImportSemaphoreWin32HandleInfoKHR where+        type VkSemaphoreMType VkImportSemaphoreWin32HandleInfoKHR =+             VkSemaphore++        {-# NOINLINE vkSemaphore #-}+        vkSemaphore x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreWin32HandleInfoKHR, semaphore})++        {-# INLINE vkSemaphoreByteOffset #-}+        vkSemaphoreByteOffset ~_+          = #{offset VkImportSemaphoreWin32HandleInfoKHR, semaphore}++        {-# INLINE readVkSemaphore #-}+        readVkSemaphore p+          = peekByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, semaphore}++        {-# INLINE writeVkSemaphore #-}+        writeVkSemaphore p+          = pokeByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, semaphore}++instance {-# OVERLAPPING #-}+         HasField "semaphore" VkImportSemaphoreWin32HandleInfoKHR where+        type FieldType "semaphore" VkImportSemaphoreWin32HandleInfoKHR =+             VkSemaphore+        type FieldOptional "semaphore" VkImportSemaphoreWin32HandleInfoKHR+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "semaphore" VkImportSemaphoreWin32HandleInfoKHR =+             #{offset VkImportSemaphoreWin32HandleInfoKHR, semaphore}+        type FieldIsArray "semaphore" VkImportSemaphoreWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportSemaphoreWin32HandleInfoKHR, semaphore}++instance CanReadField "semaphore"+           VkImportSemaphoreWin32HandleInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkSemaphore++        {-# INLINE readField #-}+        readField = readVkSemaphore++instance CanWriteField "semaphore"+           VkImportSemaphoreWin32HandleInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkSemaphore++instance {-# OVERLAPPING #-}+         HasVkFlags VkImportSemaphoreWin32HandleInfoKHR where+        type VkFlagsMType VkImportSemaphoreWin32HandleInfoKHR =+             VkSemaphoreImportFlagsKHR++        {-# NOINLINE vkFlags #-}+        vkFlags x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreWin32HandleInfoKHR, flags})++        {-# INLINE vkFlagsByteOffset #-}+        vkFlagsByteOffset ~_+          = #{offset VkImportSemaphoreWin32HandleInfoKHR, flags}++        {-# INLINE readVkFlags #-}+        readVkFlags p+          = peekByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, flags}++        {-# INLINE writeVkFlags #-}+        writeVkFlags p+          = pokeByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, flags}++instance {-# OVERLAPPING #-}+         HasField "flags" VkImportSemaphoreWin32HandleInfoKHR where+        type FieldType "flags" VkImportSemaphoreWin32HandleInfoKHR =+             VkSemaphoreImportFlagsKHR+        type FieldOptional "flags" VkImportSemaphoreWin32HandleInfoKHR =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkImportSemaphoreWin32HandleInfoKHR =+             #{offset VkImportSemaphoreWin32HandleInfoKHR, flags}+        type FieldIsArray "flags" VkImportSemaphoreWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportSemaphoreWin32HandleInfoKHR, flags}++instance CanReadField "flags" VkImportSemaphoreWin32HandleInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkFlags++        {-# INLINE readField #-}+        readField = readVkFlags++instance CanWriteField "flags" VkImportSemaphoreWin32HandleInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkFlags++instance {-# OVERLAPPING #-}+         HasVkHandleType VkImportSemaphoreWin32HandleInfoKHR where+        type VkHandleTypeMType VkImportSemaphoreWin32HandleInfoKHR =+             VkExternalSemaphoreHandleTypeFlagBitsKHR++        {-# NOINLINE vkHandleType #-}+        vkHandleType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreWin32HandleInfoKHR, handleType})++        {-# INLINE vkHandleTypeByteOffset #-}+        vkHandleTypeByteOffset ~_+          = #{offset VkImportSemaphoreWin32HandleInfoKHR, handleType}++        {-# INLINE readVkHandleType #-}+        readVkHandleType p+          = peekByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, handleType}++        {-# INLINE writeVkHandleType #-}+        writeVkHandleType p+          = pokeByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, handleType}++instance {-# OVERLAPPING #-}+         HasField "handleType" VkImportSemaphoreWin32HandleInfoKHR where+        type FieldType "handleType" VkImportSemaphoreWin32HandleInfoKHR =+             VkExternalSemaphoreHandleTypeFlagBitsKHR+        type FieldOptional "handleType" VkImportSemaphoreWin32HandleInfoKHR+             = 'True -- ' closing tick for hsc2hs+        type FieldOffset "handleType" VkImportSemaphoreWin32HandleInfoKHR =+             #{offset VkImportSemaphoreWin32HandleInfoKHR, handleType}+        type FieldIsArray "handleType" VkImportSemaphoreWin32HandleInfoKHR+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportSemaphoreWin32HandleInfoKHR, handleType}++instance CanReadField "handleType"+           VkImportSemaphoreWin32HandleInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkHandleType++        {-# INLINE readField #-}+        readField = readVkHandleType++instance CanWriteField "handleType"+           VkImportSemaphoreWin32HandleInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkHandleType++instance {-# OVERLAPPING #-}+         HasVkHandle VkImportSemaphoreWin32HandleInfoKHR where+        type VkHandleMType VkImportSemaphoreWin32HandleInfoKHR = HANDLE++        {-# NOINLINE vkHandle #-}+        vkHandle x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreWin32HandleInfoKHR, handle})++        {-# INLINE vkHandleByteOffset #-}+        vkHandleByteOffset ~_+          = #{offset VkImportSemaphoreWin32HandleInfoKHR, handle}++        {-# INLINE readVkHandle #-}+        readVkHandle p+          = peekByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, handle}++        {-# INLINE writeVkHandle #-}+        writeVkHandle p+          = pokeByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, handle}++instance {-# OVERLAPPING #-}+         HasField "handle" VkImportSemaphoreWin32HandleInfoKHR where+        type FieldType "handle" VkImportSemaphoreWin32HandleInfoKHR =+             HANDLE+        type FieldOptional "handle" VkImportSemaphoreWin32HandleInfoKHR =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "handle" VkImportSemaphoreWin32HandleInfoKHR =+             #{offset VkImportSemaphoreWin32HandleInfoKHR, handle}+        type FieldIsArray "handle" VkImportSemaphoreWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportSemaphoreWin32HandleInfoKHR, handle}++instance CanReadField "handle" VkImportSemaphoreWin32HandleInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkHandle++        {-# INLINE readField #-}+        readField = readVkHandle++instance CanWriteField "handle" VkImportSemaphoreWin32HandleInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkHandle++instance {-# OVERLAPPING #-}+         HasVkName VkImportSemaphoreWin32HandleInfoKHR where+        type VkNameMType VkImportSemaphoreWin32HandleInfoKHR = LPCWSTR++        {-# NOINLINE vkName #-}+        vkName x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreWin32HandleInfoKHR, name})++        {-# INLINE vkNameByteOffset #-}+        vkNameByteOffset ~_+          = #{offset VkImportSemaphoreWin32HandleInfoKHR, name}++        {-# INLINE readVkName #-}+        readVkName p+          = peekByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, name}++        {-# INLINE writeVkName #-}+        writeVkName p+          = pokeByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, name}++instance {-# OVERLAPPING #-}+         HasField "name" VkImportSemaphoreWin32HandleInfoKHR where+        type FieldType "name" VkImportSemaphoreWin32HandleInfoKHR = LPCWSTR+        type FieldOptional "name" VkImportSemaphoreWin32HandleInfoKHR =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "name" VkImportSemaphoreWin32HandleInfoKHR =+             #{offset VkImportSemaphoreWin32HandleInfoKHR, name}+        type FieldIsArray "name" VkImportSemaphoreWin32HandleInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkImportSemaphoreWin32HandleInfoKHR, name}++instance CanReadField "name" VkImportSemaphoreWin32HandleInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkName++        {-# INLINE readField #-}+        readField = readVkName++instance CanWriteField "name" VkImportSemaphoreWin32HandleInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkName++instance Show VkImportSemaphoreWin32HandleInfoKHR where+        showsPrec d x+          = showString "VkImportSemaphoreWin32HandleInfoKHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkSemaphore = " .+                            showsPrec d (vkSemaphore x) .+                              showString ", " .+                                showString "vkFlags = " .+                                  showsPrec d (vkFlags x) .+                                    showString ", " .+                                      showString "vkHandleType = " .+                                        showsPrec d (vkHandleType x) .+                                          showString ", " .+                                            showString "vkHandle = " .+                                              showsPrec d (vkHandle x) .+                                                showString ", " .+                                                  showString "vkName = " .+                                                    showsPrec d (vkName x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkIndirectCommandsLayoutCreateInfoNVX.hsc view
@@ -0,0 +1,448 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkIndirectCommandsLayoutCreateInfoNVX+       (VkIndirectCommandsLayoutCreateInfoNVX(..)) where+import           Foreign.Storable+                                                                                   (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkIndirectCommandsLayoutUsageFlagsNVX+                                                                                   (VkIndirectCommandsLayoutUsageFlagsNVX)+import           Graphics.Vulkan.Types.Enum.VkPipelineBindPoint+                                                                                   (VkPipelineBindPoint)+import           Graphics.Vulkan.Types.Enum.VkStructureType+                                                                                   (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkIndirectCommandsLayoutTokenNVX+                                                                                   (VkIndirectCommandsLayoutTokenNVX)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe+                                                                                   (unsafeDupablePerformIO)++-- | > typedef struct VkIndirectCommandsLayoutCreateInfoNVX {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkPipelineBindPoint                      pipelineBindPoint;+--   >     VkIndirectCommandsLayoutUsageFlagsNVX    flags;+--   >     uint32_t                                 tokenCount;+--   >     const VkIndirectCommandsLayoutTokenNVX*  pTokens;+--   > } VkIndirectCommandsLayoutCreateInfoNVX;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkIndirectCommandsLayoutCreateInfoNVX.html VkIndirectCommandsLayoutCreateInfoNVX registry at www.khronos.org>+data VkIndirectCommandsLayoutCreateInfoNVX = VkIndirectCommandsLayoutCreateInfoNVX## Addr##+                                                                                    ByteArray##++instance Eq VkIndirectCommandsLayoutCreateInfoNVX where+        (VkIndirectCommandsLayoutCreateInfoNVX## a _) ==+          x@(VkIndirectCommandsLayoutCreateInfoNVX## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkIndirectCommandsLayoutCreateInfoNVX where+        (VkIndirectCommandsLayoutCreateInfoNVX## a _) `compare`+          x@(VkIndirectCommandsLayoutCreateInfoNVX## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkIndirectCommandsLayoutCreateInfoNVX where+        sizeOf ~_+          = #{size VkIndirectCommandsLayoutCreateInfoNVX}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkIndirectCommandsLayoutCreateInfoNVX}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkIndirectCommandsLayoutCreateInfoNVX+         where+        unsafeAddr (VkIndirectCommandsLayoutCreateInfoNVX## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkIndirectCommandsLayoutCreateInfoNVX## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkIndirectCommandsLayoutCreateInfoNVX##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkIndirectCommandsLayoutCreateInfoNVX where+        type StructFields VkIndirectCommandsLayoutCreateInfoNVX =+             '["sType", "pNext", "pipelineBindPoint", "flags", "tokenCount", -- ' closing tick for hsc2hs+               "pTokens"]+        type CUnionType VkIndirectCommandsLayoutCreateInfoNVX = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkIndirectCommandsLayoutCreateInfoNVX = 'False -- ' closing tick for hsc2hs+        type StructExtends VkIndirectCommandsLayoutCreateInfoNVX = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkSType VkIndirectCommandsLayoutCreateInfoNVX where+        type VkSTypeMType VkIndirectCommandsLayoutCreateInfoNVX =+             VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutCreateInfoNVX, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkIndirectCommandsLayoutCreateInfoNVX, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkIndirectCommandsLayoutCreateInfoNVX where+        type FieldType "sType" VkIndirectCommandsLayoutCreateInfoNVX =+             VkStructureType+        type FieldOptional "sType" VkIndirectCommandsLayoutCreateInfoNVX =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkIndirectCommandsLayoutCreateInfoNVX =+             #{offset VkIndirectCommandsLayoutCreateInfoNVX, sType}+        type FieldIsArray "sType" VkIndirectCommandsLayoutCreateInfoNVX =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkIndirectCommandsLayoutCreateInfoNVX, sType}++instance CanReadField "sType" VkIndirectCommandsLayoutCreateInfoNVX+         where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType"+           VkIndirectCommandsLayoutCreateInfoNVX+         where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-}+         HasVkPNext VkIndirectCommandsLayoutCreateInfoNVX where+        type VkPNextMType VkIndirectCommandsLayoutCreateInfoNVX = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutCreateInfoNVX, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkIndirectCommandsLayoutCreateInfoNVX, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkIndirectCommandsLayoutCreateInfoNVX where+        type FieldType "pNext" VkIndirectCommandsLayoutCreateInfoNVX =+             Ptr Void+        type FieldOptional "pNext" VkIndirectCommandsLayoutCreateInfoNVX =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkIndirectCommandsLayoutCreateInfoNVX =+             #{offset VkIndirectCommandsLayoutCreateInfoNVX, pNext}+        type FieldIsArray "pNext" VkIndirectCommandsLayoutCreateInfoNVX =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkIndirectCommandsLayoutCreateInfoNVX, pNext}++instance CanReadField "pNext" VkIndirectCommandsLayoutCreateInfoNVX+         where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext"+           VkIndirectCommandsLayoutCreateInfoNVX+         where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-}+         HasVkPipelineBindPoint VkIndirectCommandsLayoutCreateInfoNVX where+        type VkPipelineBindPointMType VkIndirectCommandsLayoutCreateInfoNVX+             = VkPipelineBindPoint++        {-# NOINLINE vkPipelineBindPoint #-}+        vkPipelineBindPoint x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutCreateInfoNVX, pipelineBindPoint})++        {-# INLINE vkPipelineBindPointByteOffset #-}+        vkPipelineBindPointByteOffset ~_+          = #{offset VkIndirectCommandsLayoutCreateInfoNVX, pipelineBindPoint}++        {-# INLINE readVkPipelineBindPoint #-}+        readVkPipelineBindPoint p+          = peekByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, pipelineBindPoint}++        {-# INLINE writeVkPipelineBindPoint #-}+        writeVkPipelineBindPoint p+          = pokeByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, pipelineBindPoint}++instance {-# OVERLAPPING #-}+         HasField "pipelineBindPoint" VkIndirectCommandsLayoutCreateInfoNVX+         where+        type FieldType "pipelineBindPoint"+               VkIndirectCommandsLayoutCreateInfoNVX+             = VkPipelineBindPoint+        type FieldOptional "pipelineBindPoint"+               VkIndirectCommandsLayoutCreateInfoNVX+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pipelineBindPoint"+               VkIndirectCommandsLayoutCreateInfoNVX+             =+             #{offset VkIndirectCommandsLayoutCreateInfoNVX, pipelineBindPoint}+        type FieldIsArray "pipelineBindPoint"+               VkIndirectCommandsLayoutCreateInfoNVX+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkIndirectCommandsLayoutCreateInfoNVX, pipelineBindPoint}++instance CanReadField "pipelineBindPoint"+           VkIndirectCommandsLayoutCreateInfoNVX+         where+        {-# INLINE getField #-}+        getField = vkPipelineBindPoint++        {-# INLINE readField #-}+        readField = readVkPipelineBindPoint++instance CanWriteField "pipelineBindPoint"+           VkIndirectCommandsLayoutCreateInfoNVX+         where+        {-# INLINE writeField #-}+        writeField = writeVkPipelineBindPoint++instance {-# OVERLAPPING #-}+         HasVkFlags VkIndirectCommandsLayoutCreateInfoNVX where+        type VkFlagsMType VkIndirectCommandsLayoutCreateInfoNVX =+             VkIndirectCommandsLayoutUsageFlagsNVX++        {-# NOINLINE vkFlags #-}+        vkFlags x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutCreateInfoNVX, flags})++        {-# INLINE vkFlagsByteOffset #-}+        vkFlagsByteOffset ~_+          = #{offset VkIndirectCommandsLayoutCreateInfoNVX, flags}++        {-# INLINE readVkFlags #-}+        readVkFlags p+          = peekByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, flags}++        {-# INLINE writeVkFlags #-}+        writeVkFlags p+          = pokeByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, flags}++instance {-# OVERLAPPING #-}+         HasField "flags" VkIndirectCommandsLayoutCreateInfoNVX where+        type FieldType "flags" VkIndirectCommandsLayoutCreateInfoNVX =+             VkIndirectCommandsLayoutUsageFlagsNVX+        type FieldOptional "flags" VkIndirectCommandsLayoutCreateInfoNVX =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkIndirectCommandsLayoutCreateInfoNVX =+             #{offset VkIndirectCommandsLayoutCreateInfoNVX, flags}+        type FieldIsArray "flags" VkIndirectCommandsLayoutCreateInfoNVX =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkIndirectCommandsLayoutCreateInfoNVX, flags}++instance CanReadField "flags" VkIndirectCommandsLayoutCreateInfoNVX+         where+        {-# INLINE getField #-}+        getField = vkFlags++        {-# INLINE readField #-}+        readField = readVkFlags++instance CanWriteField "flags"+           VkIndirectCommandsLayoutCreateInfoNVX+         where+        {-# INLINE writeField #-}+        writeField = writeVkFlags++instance {-# OVERLAPPING #-}+         HasVkTokenCount VkIndirectCommandsLayoutCreateInfoNVX where+        type VkTokenCountMType VkIndirectCommandsLayoutCreateInfoNVX =+             Word32++        {-# NOINLINE vkTokenCount #-}+        vkTokenCount x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutCreateInfoNVX, tokenCount})++        {-# INLINE vkTokenCountByteOffset #-}+        vkTokenCountByteOffset ~_+          = #{offset VkIndirectCommandsLayoutCreateInfoNVX, tokenCount}++        {-# INLINE readVkTokenCount #-}+        readVkTokenCount p+          = peekByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, tokenCount}++        {-# INLINE writeVkTokenCount #-}+        writeVkTokenCount p+          = pokeByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, tokenCount}++instance {-# OVERLAPPING #-}+         HasField "tokenCount" VkIndirectCommandsLayoutCreateInfoNVX where+        type FieldType "tokenCount" VkIndirectCommandsLayoutCreateInfoNVX =+             Word32+        type FieldOptional "tokenCount"+               VkIndirectCommandsLayoutCreateInfoNVX+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "tokenCount" VkIndirectCommandsLayoutCreateInfoNVX+             =+             #{offset VkIndirectCommandsLayoutCreateInfoNVX, tokenCount}+        type FieldIsArray "tokenCount"+               VkIndirectCommandsLayoutCreateInfoNVX+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkIndirectCommandsLayoutCreateInfoNVX, tokenCount}++instance CanReadField "tokenCount"+           VkIndirectCommandsLayoutCreateInfoNVX+         where+        {-# INLINE getField #-}+        getField = vkTokenCount++        {-# INLINE readField #-}+        readField = readVkTokenCount++instance CanWriteField "tokenCount"+           VkIndirectCommandsLayoutCreateInfoNVX+         where+        {-# INLINE writeField #-}+        writeField = writeVkTokenCount++instance {-# OVERLAPPING #-}+         HasVkPTokens VkIndirectCommandsLayoutCreateInfoNVX where+        type VkPTokensMType VkIndirectCommandsLayoutCreateInfoNVX =+             Ptr VkIndirectCommandsLayoutTokenNVX++        {-# NOINLINE vkPTokens #-}+        vkPTokens x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutCreateInfoNVX, pTokens})++        {-# INLINE vkPTokensByteOffset #-}+        vkPTokensByteOffset ~_+          = #{offset VkIndirectCommandsLayoutCreateInfoNVX, pTokens}++        {-# INLINE readVkPTokens #-}+        readVkPTokens p+          = peekByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, pTokens}++        {-# INLINE writeVkPTokens #-}+        writeVkPTokens p+          = pokeByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, pTokens}++instance {-# OVERLAPPING #-}+         HasField "pTokens" VkIndirectCommandsLayoutCreateInfoNVX where+        type FieldType "pTokens" VkIndirectCommandsLayoutCreateInfoNVX =+             Ptr VkIndirectCommandsLayoutTokenNVX+        type FieldOptional "pTokens" VkIndirectCommandsLayoutCreateInfoNVX+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pTokens" VkIndirectCommandsLayoutCreateInfoNVX =+             #{offset VkIndirectCommandsLayoutCreateInfoNVX, pTokens}+        type FieldIsArray "pTokens" VkIndirectCommandsLayoutCreateInfoNVX =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkIndirectCommandsLayoutCreateInfoNVX, pTokens}++instance CanReadField "pTokens"+           VkIndirectCommandsLayoutCreateInfoNVX+         where+        {-# INLINE getField #-}+        getField = vkPTokens++        {-# INLINE readField #-}+        readField = readVkPTokens++instance CanWriteField "pTokens"+           VkIndirectCommandsLayoutCreateInfoNVX+         where+        {-# INLINE writeField #-}+        writeField = writeVkPTokens++instance Show VkIndirectCommandsLayoutCreateInfoNVX where+        showsPrec d x+          = showString "VkIndirectCommandsLayoutCreateInfoNVX {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkPipelineBindPoint = " .+                            showsPrec d (vkPipelineBindPoint x) .+                              showString ", " .+                                showString "vkFlags = " .+                                  showsPrec d (vkFlags x) .+                                    showString ", " .+                                      showString "vkTokenCount = " .+                                        showsPrec d (vkTokenCount x) .+                                          showString ", " .+                                            showString "vkPTokens = " .+                                              showsPrec d (vkPTokens x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkIndirectCommandsLayoutTokenNVX.hsc view
@@ -0,0 +1,305 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkIndirectCommandsLayoutTokenNVX+       (VkIndirectCommandsLayoutTokenNVX(..)) where+import           Foreign.Storable                                          (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkIndirectCommandsTokenTypeNVX (VkIndirectCommandsTokenTypeNVX)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                          (unsafeDupablePerformIO)++-- | > typedef struct VkIndirectCommandsLayoutTokenNVX {+--   >     VkIndirectCommandsTokenTypeNVX      tokenType;+--   >     uint32_t                         bindingUnit;+--   >     uint32_t                         dynamicCount;+--   >     uint32_t                         divisor;+--   > } VkIndirectCommandsLayoutTokenNVX;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkIndirectCommandsLayoutTokenNVX.html VkIndirectCommandsLayoutTokenNVX registry at www.khronos.org>+data VkIndirectCommandsLayoutTokenNVX = VkIndirectCommandsLayoutTokenNVX## Addr##+                                                                          ByteArray##++instance Eq VkIndirectCommandsLayoutTokenNVX where+        (VkIndirectCommandsLayoutTokenNVX## a _) ==+          x@(VkIndirectCommandsLayoutTokenNVX## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkIndirectCommandsLayoutTokenNVX where+        (VkIndirectCommandsLayoutTokenNVX## a _) `compare`+          x@(VkIndirectCommandsLayoutTokenNVX## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkIndirectCommandsLayoutTokenNVX where+        sizeOf ~_ = #{size VkIndirectCommandsLayoutTokenNVX}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkIndirectCommandsLayoutTokenNVX}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkIndirectCommandsLayoutTokenNVX where+        unsafeAddr (VkIndirectCommandsLayoutTokenNVX## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkIndirectCommandsLayoutTokenNVX## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkIndirectCommandsLayoutTokenNVX##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkIndirectCommandsLayoutTokenNVX where+        type StructFields VkIndirectCommandsLayoutTokenNVX =+             '["tokenType", "bindingUnit", "dynamicCount", "divisor"] -- ' closing tick for hsc2hs+        type CUnionType VkIndirectCommandsLayoutTokenNVX = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkIndirectCommandsLayoutTokenNVX = 'False -- ' closing tick for hsc2hs+        type StructExtends VkIndirectCommandsLayoutTokenNVX = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkTokenType VkIndirectCommandsLayoutTokenNVX where+        type VkTokenTypeMType VkIndirectCommandsLayoutTokenNVX =+             VkIndirectCommandsTokenTypeNVX++        {-# NOINLINE vkTokenType #-}+        vkTokenType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutTokenNVX, tokenType})++        {-# INLINE vkTokenTypeByteOffset #-}+        vkTokenTypeByteOffset ~_+          = #{offset VkIndirectCommandsLayoutTokenNVX, tokenType}++        {-# INLINE readVkTokenType #-}+        readVkTokenType p+          = peekByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, tokenType}++        {-# INLINE writeVkTokenType #-}+        writeVkTokenType p+          = pokeByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, tokenType}++instance {-# OVERLAPPING #-}+         HasField "tokenType" VkIndirectCommandsLayoutTokenNVX where+        type FieldType "tokenType" VkIndirectCommandsLayoutTokenNVX =+             VkIndirectCommandsTokenTypeNVX+        type FieldOptional "tokenType" VkIndirectCommandsLayoutTokenNVX =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "tokenType" VkIndirectCommandsLayoutTokenNVX =+             #{offset VkIndirectCommandsLayoutTokenNVX, tokenType}+        type FieldIsArray "tokenType" VkIndirectCommandsLayoutTokenNVX =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkIndirectCommandsLayoutTokenNVX, tokenType}++instance CanReadField "tokenType" VkIndirectCommandsLayoutTokenNVX+         where+        {-# INLINE getField #-}+        getField = vkTokenType++        {-# INLINE readField #-}+        readField = readVkTokenType++instance CanWriteField "tokenType" VkIndirectCommandsLayoutTokenNVX+         where+        {-# INLINE writeField #-}+        writeField = writeVkTokenType++instance {-# OVERLAPPING #-}+         HasVkBindingUnit VkIndirectCommandsLayoutTokenNVX where+        type VkBindingUnitMType VkIndirectCommandsLayoutTokenNVX = Word32++        {-# NOINLINE vkBindingUnit #-}+        vkBindingUnit x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutTokenNVX, bindingUnit})++        {-# INLINE vkBindingUnitByteOffset #-}+        vkBindingUnitByteOffset ~_+          = #{offset VkIndirectCommandsLayoutTokenNVX, bindingUnit}++        {-# INLINE readVkBindingUnit #-}+        readVkBindingUnit p+          = peekByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, bindingUnit}++        {-# INLINE writeVkBindingUnit #-}+        writeVkBindingUnit p+          = pokeByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, bindingUnit}++instance {-# OVERLAPPING #-}+         HasField "bindingUnit" VkIndirectCommandsLayoutTokenNVX where+        type FieldType "bindingUnit" VkIndirectCommandsLayoutTokenNVX =+             Word32+        type FieldOptional "bindingUnit" VkIndirectCommandsLayoutTokenNVX =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "bindingUnit" VkIndirectCommandsLayoutTokenNVX =+             #{offset VkIndirectCommandsLayoutTokenNVX, bindingUnit}+        type FieldIsArray "bindingUnit" VkIndirectCommandsLayoutTokenNVX =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkIndirectCommandsLayoutTokenNVX, bindingUnit}++instance CanReadField "bindingUnit"+           VkIndirectCommandsLayoutTokenNVX+         where+        {-# INLINE getField #-}+        getField = vkBindingUnit++        {-# INLINE readField #-}+        readField = readVkBindingUnit++instance CanWriteField "bindingUnit"+           VkIndirectCommandsLayoutTokenNVX+         where+        {-# INLINE writeField #-}+        writeField = writeVkBindingUnit++instance {-# OVERLAPPING #-}+         HasVkDynamicCount VkIndirectCommandsLayoutTokenNVX where+        type VkDynamicCountMType VkIndirectCommandsLayoutTokenNVX = Word32++        {-# NOINLINE vkDynamicCount #-}+        vkDynamicCount x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutTokenNVX, dynamicCount})++        {-# INLINE vkDynamicCountByteOffset #-}+        vkDynamicCountByteOffset ~_+          = #{offset VkIndirectCommandsLayoutTokenNVX, dynamicCount}++        {-# INLINE readVkDynamicCount #-}+        readVkDynamicCount p+          = peekByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, dynamicCount}++        {-# INLINE writeVkDynamicCount #-}+        writeVkDynamicCount p+          = pokeByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, dynamicCount}++instance {-# OVERLAPPING #-}+         HasField "dynamicCount" VkIndirectCommandsLayoutTokenNVX where+        type FieldType "dynamicCount" VkIndirectCommandsLayoutTokenNVX =+             Word32+        type FieldOptional "dynamicCount" VkIndirectCommandsLayoutTokenNVX+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "dynamicCount" VkIndirectCommandsLayoutTokenNVX =+             #{offset VkIndirectCommandsLayoutTokenNVX, dynamicCount}+        type FieldIsArray "dynamicCount" VkIndirectCommandsLayoutTokenNVX =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkIndirectCommandsLayoutTokenNVX, dynamicCount}++instance CanReadField "dynamicCount"+           VkIndirectCommandsLayoutTokenNVX+         where+        {-# INLINE getField #-}+        getField = vkDynamicCount++        {-# INLINE readField #-}+        readField = readVkDynamicCount++instance CanWriteField "dynamicCount"+           VkIndirectCommandsLayoutTokenNVX+         where+        {-# INLINE writeField #-}+        writeField = writeVkDynamicCount++instance {-# OVERLAPPING #-}+         HasVkDivisor VkIndirectCommandsLayoutTokenNVX where+        type VkDivisorMType VkIndirectCommandsLayoutTokenNVX = Word32++        {-# NOINLINE vkDivisor #-}+        vkDivisor x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutTokenNVX, divisor})++        {-# INLINE vkDivisorByteOffset #-}+        vkDivisorByteOffset ~_+          = #{offset VkIndirectCommandsLayoutTokenNVX, divisor}++        {-# INLINE readVkDivisor #-}+        readVkDivisor p+          = peekByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, divisor}++        {-# INLINE writeVkDivisor #-}+        writeVkDivisor p+          = pokeByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, divisor}++instance {-# OVERLAPPING #-}+         HasField "divisor" VkIndirectCommandsLayoutTokenNVX where+        type FieldType "divisor" VkIndirectCommandsLayoutTokenNVX = Word32+        type FieldOptional "divisor" VkIndirectCommandsLayoutTokenNVX =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "divisor" VkIndirectCommandsLayoutTokenNVX =+             #{offset VkIndirectCommandsLayoutTokenNVX, divisor}+        type FieldIsArray "divisor" VkIndirectCommandsLayoutTokenNVX =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkIndirectCommandsLayoutTokenNVX, divisor}++instance CanReadField "divisor" VkIndirectCommandsLayoutTokenNVX+         where+        {-# INLINE getField #-}+        getField = vkDivisor++        {-# INLINE readField #-}+        readField = readVkDivisor++instance CanWriteField "divisor" VkIndirectCommandsLayoutTokenNVX+         where+        {-# INLINE writeField #-}+        writeField = writeVkDivisor++instance Show VkIndirectCommandsLayoutTokenNVX where+        showsPrec d x+          = showString "VkIndirectCommandsLayoutTokenNVX {" .+              showString "vkTokenType = " .+                showsPrec d (vkTokenType x) .+                  showString ", " .+                    showString "vkBindingUnit = " .+                      showsPrec d (vkBindingUnit x) .+                        showString ", " .+                          showString "vkDynamicCount = " .+                            showsPrec d (vkDynamicCount x) .+                              showString ", " .+                                showString "vkDivisor = " .+                                  showsPrec d (vkDivisor x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkIndirectCommandsTokenNVX.hsc view
@@ -0,0 +1,231 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkIndirectCommandsTokenNVX+       (VkIndirectCommandsTokenNVX(..)) 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.VkIndirectCommandsTokenTypeNVX (VkIndirectCommandsTokenTypeNVX)+import           Graphics.Vulkan.Types.Handles                             (VkBuffer)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                          (unsafeDupablePerformIO)++-- | > typedef struct VkIndirectCommandsTokenNVX {+--   >     VkIndirectCommandsTokenTypeNVX      tokenType;+--   >     VkBuffer                         buffer;+--   >     VkDeviceSize                     offset;+--   > } VkIndirectCommandsTokenNVX;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkIndirectCommandsTokenNVX.html VkIndirectCommandsTokenNVX registry at www.khronos.org>+data VkIndirectCommandsTokenNVX = VkIndirectCommandsTokenNVX## Addr##+                                                              ByteArray##++instance Eq VkIndirectCommandsTokenNVX where+        (VkIndirectCommandsTokenNVX## a _) ==+          x@(VkIndirectCommandsTokenNVX## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkIndirectCommandsTokenNVX where+        (VkIndirectCommandsTokenNVX## a _) `compare`+          x@(VkIndirectCommandsTokenNVX## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkIndirectCommandsTokenNVX where+        sizeOf ~_ = #{size VkIndirectCommandsTokenNVX}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkIndirectCommandsTokenNVX}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkIndirectCommandsTokenNVX where+        unsafeAddr (VkIndirectCommandsTokenNVX## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkIndirectCommandsTokenNVX## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkIndirectCommandsTokenNVX##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkIndirectCommandsTokenNVX where+        type StructFields VkIndirectCommandsTokenNVX =+             '["tokenType", "buffer", "offset"] -- ' closing tick for hsc2hs+        type CUnionType VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs+        type StructExtends VkIndirectCommandsTokenNVX = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkTokenType VkIndirectCommandsTokenNVX where+        type VkTokenTypeMType VkIndirectCommandsTokenNVX =+             VkIndirectCommandsTokenTypeNVX++        {-# NOINLINE vkTokenType #-}+        vkTokenType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsTokenNVX, tokenType})++        {-# INLINE vkTokenTypeByteOffset #-}+        vkTokenTypeByteOffset ~_+          = #{offset VkIndirectCommandsTokenNVX, tokenType}++        {-# INLINE readVkTokenType #-}+        readVkTokenType p+          = peekByteOff p #{offset VkIndirectCommandsTokenNVX, tokenType}++        {-# INLINE writeVkTokenType #-}+        writeVkTokenType p+          = pokeByteOff p #{offset VkIndirectCommandsTokenNVX, tokenType}++instance {-# OVERLAPPING #-}+         HasField "tokenType" VkIndirectCommandsTokenNVX where+        type FieldType "tokenType" VkIndirectCommandsTokenNVX =+             VkIndirectCommandsTokenTypeNVX+        type FieldOptional "tokenType" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs+        type FieldOffset "tokenType" VkIndirectCommandsTokenNVX =+             #{offset VkIndirectCommandsTokenNVX, tokenType}+        type FieldIsArray "tokenType" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkIndirectCommandsTokenNVX, tokenType}++instance CanReadField "tokenType" VkIndirectCommandsTokenNVX where+        {-# INLINE getField #-}+        getField = vkTokenType++        {-# INLINE readField #-}+        readField = readVkTokenType++instance CanWriteField "tokenType" VkIndirectCommandsTokenNVX where+        {-# INLINE writeField #-}+        writeField = writeVkTokenType++instance {-# OVERLAPPING #-} HasVkBuffer VkIndirectCommandsTokenNVX+         where+        type VkBufferMType VkIndirectCommandsTokenNVX = VkBuffer++        {-# NOINLINE vkBuffer #-}+        vkBuffer x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsTokenNVX, buffer})++        {-# INLINE vkBufferByteOffset #-}+        vkBufferByteOffset ~_+          = #{offset VkIndirectCommandsTokenNVX, buffer}++        {-# INLINE readVkBuffer #-}+        readVkBuffer p+          = peekByteOff p #{offset VkIndirectCommandsTokenNVX, buffer}++        {-# INLINE writeVkBuffer #-}+        writeVkBuffer p+          = pokeByteOff p #{offset VkIndirectCommandsTokenNVX, buffer}++instance {-# OVERLAPPING #-}+         HasField "buffer" VkIndirectCommandsTokenNVX where+        type FieldType "buffer" VkIndirectCommandsTokenNVX = VkBuffer+        type FieldOptional "buffer" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs+        type FieldOffset "buffer" VkIndirectCommandsTokenNVX =+             #{offset VkIndirectCommandsTokenNVX, buffer}+        type FieldIsArray "buffer" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkIndirectCommandsTokenNVX, buffer}++instance CanReadField "buffer" VkIndirectCommandsTokenNVX where+        {-# INLINE getField #-}+        getField = vkBuffer++        {-# INLINE readField #-}+        readField = readVkBuffer++instance CanWriteField "buffer" VkIndirectCommandsTokenNVX where+        {-# INLINE writeField #-}+        writeField = writeVkBuffer++instance {-# OVERLAPPING #-} HasVkOffset VkIndirectCommandsTokenNVX+         where+        type VkOffsetMType VkIndirectCommandsTokenNVX = VkDeviceSize++        {-# NOINLINE vkOffset #-}+        vkOffset x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsTokenNVX, offset})++        {-# INLINE vkOffsetByteOffset #-}+        vkOffsetByteOffset ~_+          = #{offset VkIndirectCommandsTokenNVX, offset}++        {-# INLINE readVkOffset #-}+        readVkOffset p+          = peekByteOff p #{offset VkIndirectCommandsTokenNVX, offset}++        {-# INLINE writeVkOffset #-}+        writeVkOffset p+          = pokeByteOff p #{offset VkIndirectCommandsTokenNVX, offset}++instance {-# OVERLAPPING #-}+         HasField "offset" VkIndirectCommandsTokenNVX where+        type FieldType "offset" VkIndirectCommandsTokenNVX = VkDeviceSize+        type FieldOptional "offset" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs+        type FieldOffset "offset" VkIndirectCommandsTokenNVX =+             #{offset VkIndirectCommandsTokenNVX, offset}+        type FieldIsArray "offset" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkIndirectCommandsTokenNVX, offset}++instance CanReadField "offset" VkIndirectCommandsTokenNVX where+        {-# INLINE getField #-}+        getField = vkOffset++        {-# INLINE readField #-}+        readField = readVkOffset++instance CanWriteField "offset" VkIndirectCommandsTokenNVX where+        {-# INLINE writeField #-}+        writeField = writeVkOffset++instance Show VkIndirectCommandsTokenNVX where+        showsPrec d x+          = showString "VkIndirectCommandsTokenNVX {" .+              showString "vkTokenType = " .+                showsPrec d (vkTokenType x) .+                  showString ", " .+                    showString "vkBuffer = " .+                      showsPrec d (vkBuffer x) .+                        showString ", " .+                          showString "vkOffset = " . showsPrec d (vkOffset x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkInputAttachmentAspectReferenceKHR.hsc view
@@ -0,0 +1,260 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkInputAttachmentAspectReferenceKHR+       (VkInputAttachmentAspectReferenceKHR(..)) where+import           Foreign.Storable                              (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkImageAspectFlags (VkImageAspectFlags)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                              (unsafeDupablePerformIO)++-- | > typedef struct VkInputAttachmentAspectReferenceKHR {+--   >     uint32_t                        subpass;+--   >     uint32_t                        inputAttachmentIndex;+--   >     VkImageAspectFlags              aspectMask;+--   > } VkInputAttachmentAspectReferenceKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkInputAttachmentAspectReferenceKHR.html VkInputAttachmentAspectReferenceKHR registry at www.khronos.org>+data VkInputAttachmentAspectReferenceKHR = VkInputAttachmentAspectReferenceKHR## Addr##+                                                                                ByteArray##++instance Eq VkInputAttachmentAspectReferenceKHR where+        (VkInputAttachmentAspectReferenceKHR## a _) ==+          x@(VkInputAttachmentAspectReferenceKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkInputAttachmentAspectReferenceKHR where+        (VkInputAttachmentAspectReferenceKHR## a _) `compare`+          x@(VkInputAttachmentAspectReferenceKHR## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkInputAttachmentAspectReferenceKHR where+        sizeOf ~_ = #{size VkInputAttachmentAspectReferenceKHR}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkInputAttachmentAspectReferenceKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkInputAttachmentAspectReferenceKHR+         where+        unsafeAddr (VkInputAttachmentAspectReferenceKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkInputAttachmentAspectReferenceKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkInputAttachmentAspectReferenceKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkInputAttachmentAspectReferenceKHR where+        type StructFields VkInputAttachmentAspectReferenceKHR =+             '["subpass", "inputAttachmentIndex", "aspectMask"] -- ' closing tick for hsc2hs+        type CUnionType VkInputAttachmentAspectReferenceKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkInputAttachmentAspectReferenceKHR = 'False -- ' closing tick for hsc2hs+        type StructExtends VkInputAttachmentAspectReferenceKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkSubpass VkInputAttachmentAspectReferenceKHR where+        type VkSubpassMType VkInputAttachmentAspectReferenceKHR = Word32++        {-# NOINLINE vkSubpass #-}+        vkSubpass x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkInputAttachmentAspectReferenceKHR, subpass})++        {-# INLINE vkSubpassByteOffset #-}+        vkSubpassByteOffset ~_+          = #{offset VkInputAttachmentAspectReferenceKHR, subpass}++        {-# INLINE readVkSubpass #-}+        readVkSubpass p+          = peekByteOff p #{offset VkInputAttachmentAspectReferenceKHR, subpass}++        {-# INLINE writeVkSubpass #-}+        writeVkSubpass p+          = pokeByteOff p #{offset VkInputAttachmentAspectReferenceKHR, subpass}++instance {-# OVERLAPPING #-}+         HasField "subpass" VkInputAttachmentAspectReferenceKHR where+        type FieldType "subpass" VkInputAttachmentAspectReferenceKHR =+             Word32+        type FieldOptional "subpass" VkInputAttachmentAspectReferenceKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "subpass" VkInputAttachmentAspectReferenceKHR =+             #{offset VkInputAttachmentAspectReferenceKHR, subpass}+        type FieldIsArray "subpass" VkInputAttachmentAspectReferenceKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkInputAttachmentAspectReferenceKHR, subpass}++instance CanReadField "subpass" VkInputAttachmentAspectReferenceKHR+         where+        {-# INLINE getField #-}+        getField = vkSubpass++        {-# INLINE readField #-}+        readField = readVkSubpass++instance CanWriteField "subpass"+           VkInputAttachmentAspectReferenceKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkSubpass++instance {-# OVERLAPPING #-}+         HasVkInputAttachmentIndex VkInputAttachmentAspectReferenceKHR where+        type VkInputAttachmentIndexMType+               VkInputAttachmentAspectReferenceKHR+             = Word32++        {-# NOINLINE vkInputAttachmentIndex #-}+        vkInputAttachmentIndex x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkInputAttachmentAspectReferenceKHR, inputAttachmentIndex})++        {-# INLINE vkInputAttachmentIndexByteOffset #-}+        vkInputAttachmentIndexByteOffset ~_+          = #{offset VkInputAttachmentAspectReferenceKHR, inputAttachmentIndex}++        {-# INLINE readVkInputAttachmentIndex #-}+        readVkInputAttachmentIndex p+          = peekByteOff p #{offset VkInputAttachmentAspectReferenceKHR, inputAttachmentIndex}++        {-# INLINE writeVkInputAttachmentIndex #-}+        writeVkInputAttachmentIndex p+          = pokeByteOff p #{offset VkInputAttachmentAspectReferenceKHR, inputAttachmentIndex}++instance {-# OVERLAPPING #-}+         HasField "inputAttachmentIndex" VkInputAttachmentAspectReferenceKHR+         where+        type FieldType "inputAttachmentIndex"+               VkInputAttachmentAspectReferenceKHR+             = Word32+        type FieldOptional "inputAttachmentIndex"+               VkInputAttachmentAspectReferenceKHR+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "inputAttachmentIndex"+               VkInputAttachmentAspectReferenceKHR+             =+             #{offset VkInputAttachmentAspectReferenceKHR, inputAttachmentIndex}+        type FieldIsArray "inputAttachmentIndex"+               VkInputAttachmentAspectReferenceKHR+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkInputAttachmentAspectReferenceKHR, inputAttachmentIndex}++instance CanReadField "inputAttachmentIndex"+           VkInputAttachmentAspectReferenceKHR+         where+        {-# INLINE getField #-}+        getField = vkInputAttachmentIndex++        {-# INLINE readField #-}+        readField = readVkInputAttachmentIndex++instance CanWriteField "inputAttachmentIndex"+           VkInputAttachmentAspectReferenceKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkInputAttachmentIndex++instance {-# OVERLAPPING #-}+         HasVkAspectMask VkInputAttachmentAspectReferenceKHR where+        type VkAspectMaskMType VkInputAttachmentAspectReferenceKHR =+             VkImageAspectFlags++        {-# NOINLINE vkAspectMask #-}+        vkAspectMask x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkInputAttachmentAspectReferenceKHR, aspectMask})++        {-# INLINE vkAspectMaskByteOffset #-}+        vkAspectMaskByteOffset ~_+          = #{offset VkInputAttachmentAspectReferenceKHR, aspectMask}++        {-# INLINE readVkAspectMask #-}+        readVkAspectMask p+          = peekByteOff p #{offset VkInputAttachmentAspectReferenceKHR, aspectMask}++        {-# INLINE writeVkAspectMask #-}+        writeVkAspectMask p+          = pokeByteOff p #{offset VkInputAttachmentAspectReferenceKHR, aspectMask}++instance {-# OVERLAPPING #-}+         HasField "aspectMask" VkInputAttachmentAspectReferenceKHR where+        type FieldType "aspectMask" VkInputAttachmentAspectReferenceKHR =+             VkImageAspectFlags+        type FieldOptional "aspectMask" VkInputAttachmentAspectReferenceKHR+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "aspectMask" VkInputAttachmentAspectReferenceKHR =+             #{offset VkInputAttachmentAspectReferenceKHR, aspectMask}+        type FieldIsArray "aspectMask" VkInputAttachmentAspectReferenceKHR+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkInputAttachmentAspectReferenceKHR, aspectMask}++instance CanReadField "aspectMask"+           VkInputAttachmentAspectReferenceKHR+         where+        {-# INLINE getField #-}+        getField = vkAspectMask++        {-# INLINE readField #-}+        readField = readVkAspectMask++instance CanWriteField "aspectMask"+           VkInputAttachmentAspectReferenceKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkAspectMask++instance Show VkInputAttachmentAspectReferenceKHR where+        showsPrec d x+          = showString "VkInputAttachmentAspectReferenceKHR {" .+              showString "vkSubpass = " .+                showsPrec d (vkSubpass x) .+                  showString ", " .+                    showString "vkInputAttachmentIndex = " .+                      showsPrec d (vkInputAttachmentIndex x) .+                        showString ", " .+                          showString "vkAspectMask = " .+                            showsPrec d (vkAspectMask x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkInstanceCreateInfo.hsc view
@@ -0,0 +1,501 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkInstanceCreateInfo+       (VkInstanceCreateInfo(..)) where+import           Foreign.Storable                               (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Bitmasks                 (VkInstanceCreateFlags)+import           Graphics.Vulkan.Types.Enum.VkStructureType     (VkStructureType)+import           Graphics.Vulkan.Types.Struct.VkApplicationInfo (VkApplicationInfo)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                               (unsafeDupablePerformIO)++-- | > 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;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkInstanceCreateInfo.html VkInstanceCreateInfo registry at www.khronos.org>+data VkInstanceCreateInfo = VkInstanceCreateInfo## Addr## ByteArray##++instance Eq VkInstanceCreateInfo where+        (VkInstanceCreateInfo## a _) == x@(VkInstanceCreateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkInstanceCreateInfo where+        (VkInstanceCreateInfo## a _) `compare` x@(VkInstanceCreateInfo## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkInstanceCreateInfo where+        sizeOf ~_ = #{size VkInstanceCreateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkInstanceCreateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkInstanceCreateInfo where+        unsafeAddr (VkInstanceCreateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkInstanceCreateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkInstanceCreateInfo## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkInstanceCreateInfo where+        type StructFields VkInstanceCreateInfo =+             '["sType", "pNext", "flags", "pApplicationInfo", -- ' closing tick for hsc2hs+               "enabledLayerCount", "ppEnabledLayerNames",+               "enabledExtensionCount", "ppEnabledExtensionNames"]+        type CUnionType VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs+        type StructExtends VkInstanceCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSType VkInstanceCreateInfo where+        type VkSTypeMType VkInstanceCreateInfo = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkInstanceCreateInfo, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkInstanceCreateInfo, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkInstanceCreateInfo, sType}++instance {-# OVERLAPPING #-} HasField "sType" VkInstanceCreateInfo+         where+        type FieldType "sType" VkInstanceCreateInfo = VkStructureType+        type FieldOptional "sType" VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkInstanceCreateInfo =+             #{offset VkInstanceCreateInfo, sType}+        type FieldIsArray "sType" VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkInstanceCreateInfo, sType}++instance CanReadField "sType" VkInstanceCreateInfo where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkInstanceCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-} HasVkPNext VkInstanceCreateInfo where+        type VkPNextMType VkInstanceCreateInfo = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkInstanceCreateInfo, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkInstanceCreateInfo, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkInstanceCreateInfo, pNext}++instance {-# OVERLAPPING #-} HasField "pNext" VkInstanceCreateInfo+         where+        type FieldType "pNext" VkInstanceCreateInfo = Ptr Void+        type FieldOptional "pNext" VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkInstanceCreateInfo =+             #{offset VkInstanceCreateInfo, pNext}+        type FieldIsArray "pNext" VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkInstanceCreateInfo, pNext}++instance CanReadField "pNext" VkInstanceCreateInfo where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkInstanceCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-} HasVkFlags VkInstanceCreateInfo where+        type VkFlagsMType VkInstanceCreateInfo = VkInstanceCreateFlags++        {-# NOINLINE vkFlags #-}+        vkFlags x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, flags})++        {-# INLINE vkFlagsByteOffset #-}+        vkFlagsByteOffset ~_+          = #{offset VkInstanceCreateInfo, flags}++        {-# INLINE readVkFlags #-}+        readVkFlags p+          = peekByteOff p #{offset VkInstanceCreateInfo, flags}++        {-# INLINE writeVkFlags #-}+        writeVkFlags p+          = pokeByteOff p #{offset VkInstanceCreateInfo, flags}++instance {-# OVERLAPPING #-} HasField "flags" VkInstanceCreateInfo+         where+        type FieldType "flags" VkInstanceCreateInfo = VkInstanceCreateFlags+        type FieldOptional "flags" VkInstanceCreateInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkInstanceCreateInfo =+             #{offset VkInstanceCreateInfo, flags}+        type FieldIsArray "flags" VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkInstanceCreateInfo, flags}++instance CanReadField "flags" VkInstanceCreateInfo where+        {-# INLINE getField #-}+        getField = vkFlags++        {-# INLINE readField #-}+        readField = readVkFlags++instance CanWriteField "flags" VkInstanceCreateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkFlags++instance {-# OVERLAPPING #-}+         HasVkPApplicationInfo VkInstanceCreateInfo where+        type VkPApplicationInfoMType VkInstanceCreateInfo =+             Ptr VkApplicationInfo++        {-# NOINLINE vkPApplicationInfo #-}+        vkPApplicationInfo x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, pApplicationInfo})++        {-# INLINE vkPApplicationInfoByteOffset #-}+        vkPApplicationInfoByteOffset ~_+          = #{offset VkInstanceCreateInfo, pApplicationInfo}++        {-# INLINE readVkPApplicationInfo #-}+        readVkPApplicationInfo p+          = peekByteOff p #{offset VkInstanceCreateInfo, pApplicationInfo}++        {-# INLINE writeVkPApplicationInfo #-}+        writeVkPApplicationInfo p+          = pokeByteOff p #{offset VkInstanceCreateInfo, pApplicationInfo}++instance {-# OVERLAPPING #-}+         HasField "pApplicationInfo" VkInstanceCreateInfo where+        type FieldType "pApplicationInfo" VkInstanceCreateInfo =+             Ptr VkApplicationInfo+        type FieldOptional "pApplicationInfo" VkInstanceCreateInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "pApplicationInfo" VkInstanceCreateInfo =+             #{offset VkInstanceCreateInfo, pApplicationInfo}+        type FieldIsArray "pApplicationInfo" VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkInstanceCreateInfo, pApplicationInfo}++instance CanReadField "pApplicationInfo" VkInstanceCreateInfo where+        {-# INLINE getField #-}+        getField = vkPApplicationInfo++        {-# INLINE readField #-}+        readField = readVkPApplicationInfo++instance CanWriteField "pApplicationInfo" VkInstanceCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkPApplicationInfo++instance {-# OVERLAPPING #-}+         HasVkEnabledLayerCount VkInstanceCreateInfo where+        type VkEnabledLayerCountMType VkInstanceCreateInfo = Word32++        {-# NOINLINE vkEnabledLayerCount #-}+        vkEnabledLayerCount x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, enabledLayerCount})++        {-# INLINE vkEnabledLayerCountByteOffset #-}+        vkEnabledLayerCountByteOffset ~_+          = #{offset VkInstanceCreateInfo, enabledLayerCount}++        {-# INLINE readVkEnabledLayerCount #-}+        readVkEnabledLayerCount p+          = peekByteOff p #{offset VkInstanceCreateInfo, enabledLayerCount}++        {-# INLINE writeVkEnabledLayerCount #-}+        writeVkEnabledLayerCount p+          = pokeByteOff p #{offset VkInstanceCreateInfo, enabledLayerCount}++instance {-# OVERLAPPING #-}+         HasField "enabledLayerCount" VkInstanceCreateInfo where+        type FieldType "enabledLayerCount" VkInstanceCreateInfo = Word32+        type FieldOptional "enabledLayerCount" VkInstanceCreateInfo = 'True -- ' closing tick for hsc2hs+        type FieldOffset "enabledLayerCount" VkInstanceCreateInfo =+             #{offset VkInstanceCreateInfo, enabledLayerCount}+        type FieldIsArray "enabledLayerCount" VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkInstanceCreateInfo, enabledLayerCount}++instance CanReadField "enabledLayerCount" VkInstanceCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkEnabledLayerCount++        {-# INLINE readField #-}+        readField = readVkEnabledLayerCount++instance CanWriteField "enabledLayerCount" VkInstanceCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkEnabledLayerCount++instance {-# OVERLAPPING #-}+         HasVkPpEnabledLayerNames VkInstanceCreateInfo where+        type VkPpEnabledLayerNamesMType VkInstanceCreateInfo = Ptr CString++        {-# NOINLINE vkPpEnabledLayerNames #-}+        vkPpEnabledLayerNames x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, ppEnabledLayerNames})++        {-# INLINE vkPpEnabledLayerNamesByteOffset #-}+        vkPpEnabledLayerNamesByteOffset ~_+          = #{offset VkInstanceCreateInfo, ppEnabledLayerNames}++        {-# INLINE readVkPpEnabledLayerNames #-}+        readVkPpEnabledLayerNames p+          = peekByteOff p #{offset VkInstanceCreateInfo, ppEnabledLayerNames}++        {-# INLINE writeVkPpEnabledLayerNames #-}+        writeVkPpEnabledLayerNames p+          = pokeByteOff p #{offset VkInstanceCreateInfo, ppEnabledLayerNames}++instance {-# OVERLAPPING #-}+         HasField "ppEnabledLayerNames" VkInstanceCreateInfo where+        type FieldType "ppEnabledLayerNames" VkInstanceCreateInfo =+             Ptr CString+        type FieldOptional "ppEnabledLayerNames" VkInstanceCreateInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "ppEnabledLayerNames" VkInstanceCreateInfo =+             #{offset VkInstanceCreateInfo, ppEnabledLayerNames}+        type FieldIsArray "ppEnabledLayerNames" VkInstanceCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkInstanceCreateInfo, ppEnabledLayerNames}++instance CanReadField "ppEnabledLayerNames" VkInstanceCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkPpEnabledLayerNames++        {-# INLINE readField #-}+        readField = readVkPpEnabledLayerNames++instance CanWriteField "ppEnabledLayerNames" VkInstanceCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkPpEnabledLayerNames++instance {-# OVERLAPPING #-}+         HasVkEnabledExtensionCount VkInstanceCreateInfo where+        type VkEnabledExtensionCountMType VkInstanceCreateInfo = Word32++        {-# NOINLINE vkEnabledExtensionCount #-}+        vkEnabledExtensionCount x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, enabledExtensionCount})++        {-# INLINE vkEnabledExtensionCountByteOffset #-}+        vkEnabledExtensionCountByteOffset ~_+          = #{offset VkInstanceCreateInfo, enabledExtensionCount}++        {-# INLINE readVkEnabledExtensionCount #-}+        readVkEnabledExtensionCount p+          = peekByteOff p #{offset VkInstanceCreateInfo, enabledExtensionCount}++        {-# INLINE writeVkEnabledExtensionCount #-}+        writeVkEnabledExtensionCount p+          = pokeByteOff p #{offset VkInstanceCreateInfo, enabledExtensionCount}++instance {-# OVERLAPPING #-}+         HasField "enabledExtensionCount" VkInstanceCreateInfo where+        type FieldType "enabledExtensionCount" VkInstanceCreateInfo =+             Word32+        type FieldOptional "enabledExtensionCount" VkInstanceCreateInfo =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "enabledExtensionCount" VkInstanceCreateInfo =+             #{offset VkInstanceCreateInfo, enabledExtensionCount}+        type FieldIsArray "enabledExtensionCount" VkInstanceCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkInstanceCreateInfo, enabledExtensionCount}++instance CanReadField "enabledExtensionCount" VkInstanceCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkEnabledExtensionCount++        {-# INLINE readField #-}+        readField = readVkEnabledExtensionCount++instance CanWriteField "enabledExtensionCount" VkInstanceCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkEnabledExtensionCount++instance {-# OVERLAPPING #-}+         HasVkPpEnabledExtensionNames VkInstanceCreateInfo where+        type VkPpEnabledExtensionNamesMType VkInstanceCreateInfo =+             Ptr CString++        {-# NOINLINE vkPpEnabledExtensionNames #-}+        vkPpEnabledExtensionNames x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, ppEnabledExtensionNames})++        {-# INLINE vkPpEnabledExtensionNamesByteOffset #-}+        vkPpEnabledExtensionNamesByteOffset ~_+          = #{offset VkInstanceCreateInfo, ppEnabledExtensionNames}++        {-# INLINE readVkPpEnabledExtensionNames #-}+        readVkPpEnabledExtensionNames p+          = peekByteOff p #{offset VkInstanceCreateInfo, ppEnabledExtensionNames}++        {-# INLINE writeVkPpEnabledExtensionNames #-}+        writeVkPpEnabledExtensionNames p+          = pokeByteOff p #{offset VkInstanceCreateInfo, ppEnabledExtensionNames}++instance {-# OVERLAPPING #-}+         HasField "ppEnabledExtensionNames" VkInstanceCreateInfo where+        type FieldType "ppEnabledExtensionNames" VkInstanceCreateInfo =+             Ptr CString+        type FieldOptional "ppEnabledExtensionNames" VkInstanceCreateInfo =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "ppEnabledExtensionNames" VkInstanceCreateInfo =+             #{offset VkInstanceCreateInfo, ppEnabledExtensionNames}+        type FieldIsArray "ppEnabledExtensionNames" VkInstanceCreateInfo =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkInstanceCreateInfo, ppEnabledExtensionNames}++instance CanReadField "ppEnabledExtensionNames"+           VkInstanceCreateInfo+         where+        {-# INLINE getField #-}+        getField = vkPpEnabledExtensionNames++        {-# INLINE readField #-}+        readField = readVkPpEnabledExtensionNames++instance CanWriteField "ppEnabledExtensionNames"+           VkInstanceCreateInfo+         where+        {-# INLINE writeField #-}+        writeField = writeVkPpEnabledExtensionNames++instance Show VkInstanceCreateInfo where+        showsPrec d x+          = showString "VkInstanceCreateInfo {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFlags = " .+                            showsPrec d (vkFlags x) .+                              showString ", " .+                                showString "vkPApplicationInfo = " .+                                  showsPrec d (vkPApplicationInfo x) .+                                    showString ", " .+                                      showString "vkEnabledLayerCount = " .+                                        showsPrec d (vkEnabledLayerCount x) .+                                          showString ", " .+                                            showString "vkPpEnabledLayerNames = " .+                                              showsPrec d (vkPpEnabledLayerNames x) .+                                                showString ", " .+                                                  showString "vkEnabledExtensionCount = " .+                                                    showsPrec d (vkEnabledExtensionCount x) .+                                                      showString ", " .+                                                        showString "vkPpEnabledExtensionNames = " .+                                                          showsPrec d (vkPpEnabledExtensionNames x)+                                                            . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkLayerProperties.hsc view
@@ -0,0 +1,331 @@+#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.VkLayerProperties+       (VkLayerProperties(..)) where+import           Foreign.Storable                    (Storable (..))+import           GHC.Prim+import           GHC.TypeLits                        (KnownNat, natVal') -- ' closing tick for hsc2hs+import           Graphics.Vulkan.Constants           (VK_MAX_DESCRIPTION_SIZE, pattern VK_MAX_DESCRIPTION_SIZE,+                                                      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)++-- | > typedef struct VkLayerProperties {+--   >     char            layerName[VK_MAX_EXTENSION_NAME_SIZE];+--   >     uint32_t        specVersion;+--   >     uint32_t        implementationVersion;+--   >     char            description[VK_MAX_DESCRIPTION_SIZE];+--   > } VkLayerProperties;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkLayerProperties.html VkLayerProperties registry at www.khronos.org>+data VkLayerProperties = VkLayerProperties## Addr## ByteArray##++instance Eq VkLayerProperties where+        (VkLayerProperties## a _) == x@(VkLayerProperties## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkLayerProperties where+        (VkLayerProperties## a _) `compare` x@(VkLayerProperties## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkLayerProperties where+        sizeOf ~_ = #{size VkLayerProperties}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkLayerProperties}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkLayerProperties where+        unsafeAddr (VkLayerProperties## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkLayerProperties## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkLayerProperties## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkLayerProperties where+        type StructFields VkLayerProperties =+             '["layerName", "specVersion", "implementationVersion", -- ' closing tick for hsc2hs+               "description"]+        type CUnionType VkLayerProperties = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkLayerProperties = 'True -- ' closing tick for hsc2hs+        type StructExtends VkLayerProperties = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkLayerNameArray VkLayerProperties+         where+        type VkLayerNameArrayMType VkLayerProperties = CChar++        {-# NOINLINE vkLayerNameArray #-}+        vkLayerNameArray x idx+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x)+                 (idx * sizeOf (undefined :: CChar) ++                    #{offset VkLayerProperties, layerName}))++        {-# INLINE vkLayerNameArrayByteOffset #-}+        vkLayerNameArrayByteOffset ~_+          = #{offset VkLayerProperties, layerName}++        {-# INLINE readVkLayerNameArray #-}+        readVkLayerNameArray p idx+          = peekByteOff p+              (idx * sizeOf (undefined :: CChar) ++                 #{offset VkLayerProperties, layerName})++        {-# INLINE writeVkLayerNameArray #-}+        writeVkLayerNameArray p idx+          = pokeByteOff p+              (idx * sizeOf (undefined :: CChar) ++                 #{offset VkLayerProperties, layerName})++instance {-# OVERLAPPING #-} HasField "layerName" VkLayerProperties+         where+        type FieldType "layerName" VkLayerProperties = CChar+        type FieldOptional "layerName" VkLayerProperties = 'False -- ' closing tick for hsc2hs+        type FieldOffset "layerName" VkLayerProperties =+             #{offset VkLayerProperties, layerName}+        type FieldIsArray "layerName" VkLayerProperties = 'True -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkLayerProperties, layerName}++instance (KnownNat idx,+          IndexInBounds "layerName" idx VkLayerProperties) =>+         CanReadFieldArray "layerName" idx VkLayerProperties+         where+        {-# SPECIALISE instance+                       CanReadFieldArray "layerName" 0 VkLayerProperties #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "layerName" 1 VkLayerProperties #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "layerName" 2 VkLayerProperties #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "layerName" 3 VkLayerProperties #-}+        type FieldArrayLength "layerName" VkLayerProperties =+             VK_MAX_EXTENSION_NAME_SIZE++        {-# INLINE fieldArrayLength #-}+        fieldArrayLength = VK_MAX_EXTENSION_NAME_SIZE++        {-# INLINE getFieldArray #-}+        getFieldArray x+          = vkLayerNameArray x (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++        {-# INLINE readFieldArray #-}+        readFieldArray x+          = readVkLayerNameArray x+              (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSpecVersion VkLayerProperties+         where+        type VkSpecVersionMType VkLayerProperties = Word32++        {-# NOINLINE vkSpecVersion #-}+        vkSpecVersion x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkLayerProperties, specVersion})++        {-# INLINE vkSpecVersionByteOffset #-}+        vkSpecVersionByteOffset ~_+          = #{offset VkLayerProperties, specVersion}++        {-# INLINE readVkSpecVersion #-}+        readVkSpecVersion p+          = peekByteOff p #{offset VkLayerProperties, specVersion}++        {-# INLINE writeVkSpecVersion #-}+        writeVkSpecVersion p+          = pokeByteOff p #{offset VkLayerProperties, specVersion}++instance {-# OVERLAPPING #-}+         HasField "specVersion" VkLayerProperties where+        type FieldType "specVersion" VkLayerProperties = Word32+        type FieldOptional "specVersion" VkLayerProperties = 'False -- ' closing tick for hsc2hs+        type FieldOffset "specVersion" VkLayerProperties =+             #{offset VkLayerProperties, specVersion}+        type FieldIsArray "specVersion" VkLayerProperties = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkLayerProperties, specVersion}++instance CanReadField "specVersion" VkLayerProperties where+        {-# INLINE getField #-}+        getField = vkSpecVersion++        {-# INLINE readField #-}+        readField = readVkSpecVersion++instance {-# OVERLAPPING #-}+         HasVkImplementationVersion VkLayerProperties where+        type VkImplementationVersionMType VkLayerProperties = Word32++        {-# NOINLINE vkImplementationVersion #-}+        vkImplementationVersion x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkLayerProperties, implementationVersion})++        {-# INLINE vkImplementationVersionByteOffset #-}+        vkImplementationVersionByteOffset ~_+          = #{offset VkLayerProperties, implementationVersion}++        {-# INLINE readVkImplementationVersion #-}+        readVkImplementationVersion p+          = peekByteOff p #{offset VkLayerProperties, implementationVersion}++        {-# INLINE writeVkImplementationVersion #-}+        writeVkImplementationVersion p+          = pokeByteOff p #{offset VkLayerProperties, implementationVersion}++instance {-# OVERLAPPING #-}+         HasField "implementationVersion" VkLayerProperties where+        type FieldType "implementationVersion" VkLayerProperties = Word32+        type FieldOptional "implementationVersion" VkLayerProperties =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "implementationVersion" VkLayerProperties =+             #{offset VkLayerProperties, implementationVersion}+        type FieldIsArray "implementationVersion" VkLayerProperties =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkLayerProperties, implementationVersion}++instance CanReadField "implementationVersion" VkLayerProperties+         where+        {-# INLINE getField #-}+        getField = vkImplementationVersion++        {-# INLINE readField #-}+        readField = readVkImplementationVersion++instance {-# OVERLAPPING #-}+         HasVkDescriptionArray VkLayerProperties where+        type VkDescriptionArrayMType VkLayerProperties = CChar++        {-# NOINLINE vkDescriptionArray #-}+        vkDescriptionArray x idx+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x)+                 (idx * sizeOf (undefined :: CChar) ++                    #{offset VkLayerProperties, description}))++        {-# INLINE vkDescriptionArrayByteOffset #-}+        vkDescriptionArrayByteOffset ~_+          = #{offset VkLayerProperties, description}++        {-# INLINE readVkDescriptionArray #-}+        readVkDescriptionArray p idx+          = peekByteOff p+              (idx * sizeOf (undefined :: CChar) ++                 #{offset VkLayerProperties, description})++        {-# INLINE writeVkDescriptionArray #-}+        writeVkDescriptionArray p idx+          = pokeByteOff p+              (idx * sizeOf (undefined :: CChar) ++                 #{offset VkLayerProperties, description})++instance {-# OVERLAPPING #-}+         HasField "description" VkLayerProperties where+        type FieldType "description" VkLayerProperties = CChar+        type FieldOptional "description" VkLayerProperties = 'False -- ' closing tick for hsc2hs+        type FieldOffset "description" VkLayerProperties =+             #{offset VkLayerProperties, description}+        type FieldIsArray "description" VkLayerProperties = 'True -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkLayerProperties, description}++instance (KnownNat idx,+          IndexInBounds "description" idx VkLayerProperties) =>+         CanReadFieldArray "description" idx VkLayerProperties+         where+        {-# SPECIALISE instance+                       CanReadFieldArray "description" 0 VkLayerProperties #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "description" 1 VkLayerProperties #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "description" 2 VkLayerProperties #-}++        {-# SPECIALISE instance+                       CanReadFieldArray "description" 3 VkLayerProperties #-}+        type FieldArrayLength "description" VkLayerProperties =+             VK_MAX_DESCRIPTION_SIZE++        {-# INLINE fieldArrayLength #-}+        fieldArrayLength = VK_MAX_DESCRIPTION_SIZE++        {-# INLINE getFieldArray #-}+        getFieldArray x+          = vkDescriptionArray x+              (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++        {-# INLINE readFieldArray #-}+        readFieldArray x+          = readVkDescriptionArray x+              (fromInteger $ natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++instance Show VkLayerProperties where+        showsPrec d x+          = showString "VkLayerProperties {" .+              showString "vkLayerNameArray = [" .+                showsPrec d+                  (map (vkLayerNameArray x) [1 .. VK_MAX_EXTENSION_NAME_SIZE])+                  .+                  showChar ']' .+                    showString ", " .+                      showString "vkSpecVersion = " .+                        showsPrec d (vkSpecVersion x) .+                          showString ", " .+                            showString "vkImplementationVersion = " .+                              showsPrec d (vkImplementationVersion x) .+                                showString ", " .+                                  showString "vkDescriptionArray = [" .+                                    showsPrec d+                                      (map (vkDescriptionArray x) [1 .. VK_MAX_DESCRIPTION_SIZE])+                                      . showChar ']' . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkMacOSSurfaceCreateInfoMVK.hsc view
@@ -0,0 +1,282 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkMacOSSurfaceCreateInfoMVK+       (VkMacOSSurfaceCreateInfoMVK(..)) where+import           Foreign.Storable                           (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Bitmasks             (VkMacOSSurfaceCreateFlagsMVK)+import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkMacOSSurfaceCreateInfoMVK {+--   >     VkStructureType sType;+--   >     const void*                                    pNext;+--   >     VkMacOSSurfaceCreateFlagsMVK   flags;+--   >     const void*                                    pView;+--   > } VkMacOSSurfaceCreateInfoMVK;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkMacOSSurfaceCreateInfoMVK.html VkMacOSSurfaceCreateInfoMVK registry at www.khronos.org>+data VkMacOSSurfaceCreateInfoMVK = VkMacOSSurfaceCreateInfoMVK## Addr##+                                                                ByteArray##++instance Eq VkMacOSSurfaceCreateInfoMVK where+        (VkMacOSSurfaceCreateInfoMVK## a _) ==+          x@(VkMacOSSurfaceCreateInfoMVK## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkMacOSSurfaceCreateInfoMVK where+        (VkMacOSSurfaceCreateInfoMVK## a _) `compare`+          x@(VkMacOSSurfaceCreateInfoMVK## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkMacOSSurfaceCreateInfoMVK where+        sizeOf ~_ = #{size VkMacOSSurfaceCreateInfoMVK}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkMacOSSurfaceCreateInfoMVK}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkMacOSSurfaceCreateInfoMVK where+        unsafeAddr (VkMacOSSurfaceCreateInfoMVK## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkMacOSSurfaceCreateInfoMVK## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkMacOSSurfaceCreateInfoMVK##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMacOSSurfaceCreateInfoMVK where+        type StructFields VkMacOSSurfaceCreateInfoMVK =+             '["sType", "pNext", "flags", "pView"] -- ' closing tick for hsc2hs+        type CUnionType VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs+        type StructExtends VkMacOSSurfaceCreateInfoMVK = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSType VkMacOSSurfaceCreateInfoMVK+         where+        type VkSTypeMType VkMacOSSurfaceCreateInfoMVK = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMacOSSurfaceCreateInfoMVK, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkMacOSSurfaceCreateInfoMVK, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkMacOSSurfaceCreateInfoMVK where+        type FieldType "sType" VkMacOSSurfaceCreateInfoMVK =+             VkStructureType+        type FieldOptional "sType" VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkMacOSSurfaceCreateInfoMVK =+             #{offset VkMacOSSurfaceCreateInfoMVK, sType}+        type FieldIsArray "sType" VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkMacOSSurfaceCreateInfoMVK, sType}++instance CanReadField "sType" VkMacOSSurfaceCreateInfoMVK where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkMacOSSurfaceCreateInfoMVK where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-} HasVkPNext VkMacOSSurfaceCreateInfoMVK+         where+        type VkPNextMType VkMacOSSurfaceCreateInfoMVK = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMacOSSurfaceCreateInfoMVK, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkMacOSSurfaceCreateInfoMVK, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkMacOSSurfaceCreateInfoMVK where+        type FieldType "pNext" VkMacOSSurfaceCreateInfoMVK = Ptr Void+        type FieldOptional "pNext" VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkMacOSSurfaceCreateInfoMVK =+             #{offset VkMacOSSurfaceCreateInfoMVK, pNext}+        type FieldIsArray "pNext" VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkMacOSSurfaceCreateInfoMVK, pNext}++instance CanReadField "pNext" VkMacOSSurfaceCreateInfoMVK where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkMacOSSurfaceCreateInfoMVK where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-} HasVkFlags VkMacOSSurfaceCreateInfoMVK+         where+        type VkFlagsMType VkMacOSSurfaceCreateInfoMVK =+             VkMacOSSurfaceCreateFlagsMVK++        {-# NOINLINE vkFlags #-}+        vkFlags x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMacOSSurfaceCreateInfoMVK, flags})++        {-# INLINE vkFlagsByteOffset #-}+        vkFlagsByteOffset ~_+          = #{offset VkMacOSSurfaceCreateInfoMVK, flags}++        {-# INLINE readVkFlags #-}+        readVkFlags p+          = peekByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, flags}++        {-# INLINE writeVkFlags #-}+        writeVkFlags p+          = pokeByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, flags}++instance {-# OVERLAPPING #-}+         HasField "flags" VkMacOSSurfaceCreateInfoMVK where+        type FieldType "flags" VkMacOSSurfaceCreateInfoMVK =+             VkMacOSSurfaceCreateFlagsMVK+        type FieldOptional "flags" VkMacOSSurfaceCreateInfoMVK = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkMacOSSurfaceCreateInfoMVK =+             #{offset VkMacOSSurfaceCreateInfoMVK, flags}+        type FieldIsArray "flags" VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkMacOSSurfaceCreateInfoMVK, flags}++instance CanReadField "flags" VkMacOSSurfaceCreateInfoMVK where+        {-# INLINE getField #-}+        getField = vkFlags++        {-# INLINE readField #-}+        readField = readVkFlags++instance CanWriteField "flags" VkMacOSSurfaceCreateInfoMVK where+        {-# INLINE writeField #-}+        writeField = writeVkFlags++instance {-# OVERLAPPING #-} HasVkPView VkMacOSSurfaceCreateInfoMVK+         where+        type VkPViewMType VkMacOSSurfaceCreateInfoMVK = Ptr Void++        {-# NOINLINE vkPView #-}+        vkPView x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMacOSSurfaceCreateInfoMVK, pView})++        {-# INLINE vkPViewByteOffset #-}+        vkPViewByteOffset ~_+          = #{offset VkMacOSSurfaceCreateInfoMVK, pView}++        {-# INLINE readVkPView #-}+        readVkPView p+          = peekByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, pView}++        {-# INLINE writeVkPView #-}+        writeVkPView p+          = pokeByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, pView}++instance {-# OVERLAPPING #-}+         HasField "pView" VkMacOSSurfaceCreateInfoMVK where+        type FieldType "pView" VkMacOSSurfaceCreateInfoMVK = Ptr Void+        type FieldOptional "pView" VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pView" VkMacOSSurfaceCreateInfoMVK =+             #{offset VkMacOSSurfaceCreateInfoMVK, pView}+        type FieldIsArray "pView" VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkMacOSSurfaceCreateInfoMVK, pView}++instance CanReadField "pView" VkMacOSSurfaceCreateInfoMVK where+        {-# INLINE getField #-}+        getField = vkPView++        {-# INLINE readField #-}+        readField = readVkPView++instance CanWriteField "pView" VkMacOSSurfaceCreateInfoMVK where+        {-# INLINE writeField #-}+        writeField = writeVkPView++instance Show VkMacOSSurfaceCreateInfoMVK where+        showsPrec d x+          = showString "VkMacOSSurfaceCreateInfoMVK {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFlags = " .+                            showsPrec d (vkFlags x) .+                              showString ", " .+                                showString "vkPView = " . showsPrec d (vkPView x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkMappedMemoryRange.hsc view
@@ -0,0 +1,317 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkMappedMemoryRange+       (VkMappedMemoryRange(..)) 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)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkMappedMemoryRange {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkDeviceMemory         memory;+--   >     VkDeviceSize           offset;+--   >     VkDeviceSize           size;+--   > } VkMappedMemoryRange;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkMappedMemoryRange.html VkMappedMemoryRange registry at www.khronos.org>+data VkMappedMemoryRange = VkMappedMemoryRange## Addr## ByteArray##++instance Eq VkMappedMemoryRange where+        (VkMappedMemoryRange## a _) == x@(VkMappedMemoryRange## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkMappedMemoryRange where+        (VkMappedMemoryRange## a _) `compare` x@(VkMappedMemoryRange## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkMappedMemoryRange where+        sizeOf ~_ = #{size VkMappedMemoryRange}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkMappedMemoryRange}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkMappedMemoryRange where+        unsafeAddr (VkMappedMemoryRange## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkMappedMemoryRange## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkMappedMemoryRange## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMappedMemoryRange where+        type StructFields VkMappedMemoryRange =+             '["sType", "pNext", "memory", "offset", "size"] -- ' closing tick for hsc2hs+        type CUnionType VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs+        type StructExtends VkMappedMemoryRange = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSType VkMappedMemoryRange where+        type VkSTypeMType VkMappedMemoryRange = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMappedMemoryRange, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkMappedMemoryRange, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkMappedMemoryRange, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkMappedMemoryRange, sType}++instance {-# OVERLAPPING #-} HasField "sType" VkMappedMemoryRange+         where+        type FieldType "sType" VkMappedMemoryRange = VkStructureType+        type FieldOptional "sType" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkMappedMemoryRange =+             #{offset VkMappedMemoryRange, sType}+        type FieldIsArray "sType" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkMappedMemoryRange, sType}++instance CanReadField "sType" VkMappedMemoryRange where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkMappedMemoryRange where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-} HasVkPNext VkMappedMemoryRange where+        type VkPNextMType VkMappedMemoryRange = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMappedMemoryRange, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkMappedMemoryRange, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkMappedMemoryRange, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkMappedMemoryRange, pNext}++instance {-# OVERLAPPING #-} HasField "pNext" VkMappedMemoryRange+         where+        type FieldType "pNext" VkMappedMemoryRange = Ptr Void+        type FieldOptional "pNext" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkMappedMemoryRange =+             #{offset VkMappedMemoryRange, pNext}+        type FieldIsArray "pNext" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkMappedMemoryRange, pNext}++instance CanReadField "pNext" VkMappedMemoryRange where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkMappedMemoryRange where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-} HasVkMemory VkMappedMemoryRange where+        type VkMemoryMType VkMappedMemoryRange = VkDeviceMemory++        {-# NOINLINE vkMemory #-}+        vkMemory x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMappedMemoryRange, memory})++        {-# INLINE vkMemoryByteOffset #-}+        vkMemoryByteOffset ~_+          = #{offset VkMappedMemoryRange, memory}++        {-# INLINE readVkMemory #-}+        readVkMemory p+          = peekByteOff p #{offset VkMappedMemoryRange, memory}++        {-# INLINE writeVkMemory #-}+        writeVkMemory p+          = pokeByteOff p #{offset VkMappedMemoryRange, memory}++instance {-# OVERLAPPING #-} HasField "memory" VkMappedMemoryRange+         where+        type FieldType "memory" VkMappedMemoryRange = VkDeviceMemory+        type FieldOptional "memory" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs+        type FieldOffset "memory" VkMappedMemoryRange =+             #{offset VkMappedMemoryRange, memory}+        type FieldIsArray "memory" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkMappedMemoryRange, memory}++instance CanReadField "memory" VkMappedMemoryRange where+        {-# INLINE getField #-}+        getField = vkMemory++        {-# INLINE readField #-}+        readField = readVkMemory++instance CanWriteField "memory" VkMappedMemoryRange where+        {-# INLINE writeField #-}+        writeField = writeVkMemory++instance {-# OVERLAPPING #-} HasVkOffset VkMappedMemoryRange where+        type VkOffsetMType VkMappedMemoryRange = VkDeviceSize++        {-# NOINLINE vkOffset #-}+        vkOffset x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMappedMemoryRange, offset})++        {-# INLINE vkOffsetByteOffset #-}+        vkOffsetByteOffset ~_+          = #{offset VkMappedMemoryRange, offset}++        {-# INLINE readVkOffset #-}+        readVkOffset p+          = peekByteOff p #{offset VkMappedMemoryRange, offset}++        {-# INLINE writeVkOffset #-}+        writeVkOffset p+          = pokeByteOff p #{offset VkMappedMemoryRange, offset}++instance {-# OVERLAPPING #-} HasField "offset" VkMappedMemoryRange+         where+        type FieldType "offset" VkMappedMemoryRange = VkDeviceSize+        type FieldOptional "offset" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs+        type FieldOffset "offset" VkMappedMemoryRange =+             #{offset VkMappedMemoryRange, offset}+        type FieldIsArray "offset" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkMappedMemoryRange, offset}++instance CanReadField "offset" VkMappedMemoryRange where+        {-# INLINE getField #-}+        getField = vkOffset++        {-# INLINE readField #-}+        readField = readVkOffset++instance CanWriteField "offset" VkMappedMemoryRange where+        {-# INLINE writeField #-}+        writeField = writeVkOffset++instance {-# OVERLAPPING #-} HasVkSize VkMappedMemoryRange where+        type VkSizeMType VkMappedMemoryRange = VkDeviceSize++        {-# NOINLINE vkSize #-}+        vkSize x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMappedMemoryRange, size})++        {-# INLINE vkSizeByteOffset #-}+        vkSizeByteOffset ~_+          = #{offset VkMappedMemoryRange, size}++        {-# INLINE readVkSize #-}+        readVkSize p+          = peekByteOff p #{offset VkMappedMemoryRange, size}++        {-# INLINE writeVkSize #-}+        writeVkSize p+          = pokeByteOff p #{offset VkMappedMemoryRange, size}++instance {-# OVERLAPPING #-} HasField "size" VkMappedMemoryRange+         where+        type FieldType "size" VkMappedMemoryRange = VkDeviceSize+        type FieldOptional "size" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs+        type FieldOffset "size" VkMappedMemoryRange =+             #{offset VkMappedMemoryRange, size}+        type FieldIsArray "size" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkMappedMemoryRange, size}++instance CanReadField "size" VkMappedMemoryRange where+        {-# INLINE getField #-}+        getField = vkSize++        {-# INLINE readField #-}+        readField = readVkSize++instance CanWriteField "size" VkMappedMemoryRange where+        {-# INLINE writeField #-}+        writeField = writeVkSize++instance Show VkMappedMemoryRange where+        showsPrec d x+          = showString "VkMappedMemoryRange {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkMemory = " .+                            showsPrec d (vkMemory x) .+                              showString ", " .+                                showString "vkOffset = " .+                                  showsPrec d (vkOffset x) .+                                    showString ", " .+                                      showString "vkSize = " . showsPrec d (vkSize x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkMemoryAllocateFlagsInfoKHX.hsc view
@@ -0,0 +1,290 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkMemoryAllocateFlagsInfoKHX+       (VkMemoryAllocateFlagsInfoKHX(..)) where+import           Foreign.Storable                                    (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkMemoryAllocateFlagsKHX (VkMemoryAllocateFlagsKHX)+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 VkMemoryAllocateFlagsInfoKHX {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkMemoryAllocateFlagsKHX flags;+--   >     uint32_t                         deviceMask;+--   > } VkMemoryAllocateFlagsInfoKHX;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkMemoryAllocateFlagsInfoKHX.html VkMemoryAllocateFlagsInfoKHX registry at www.khronos.org>+data VkMemoryAllocateFlagsInfoKHX = VkMemoryAllocateFlagsInfoKHX## Addr##+                                                                  ByteArray##++instance Eq VkMemoryAllocateFlagsInfoKHX where+        (VkMemoryAllocateFlagsInfoKHX## a _) ==+          x@(VkMemoryAllocateFlagsInfoKHX## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkMemoryAllocateFlagsInfoKHX where+        (VkMemoryAllocateFlagsInfoKHX## a _) `compare`+          x@(VkMemoryAllocateFlagsInfoKHX## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkMemoryAllocateFlagsInfoKHX where+        sizeOf ~_ = #{size VkMemoryAllocateFlagsInfoKHX}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkMemoryAllocateFlagsInfoKHX}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkMemoryAllocateFlagsInfoKHX where+        unsafeAddr (VkMemoryAllocateFlagsInfoKHX## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkMemoryAllocateFlagsInfoKHX## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkMemoryAllocateFlagsInfoKHX##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMemoryAllocateFlagsInfoKHX where+        type StructFields VkMemoryAllocateFlagsInfoKHX =+             '["sType", "pNext", "flags", "deviceMask"] -- ' closing tick for hsc2hs+        type CUnionType VkMemoryAllocateFlagsInfoKHX = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkMemoryAllocateFlagsInfoKHX = 'False -- ' closing tick for hsc2hs+        type StructExtends VkMemoryAllocateFlagsInfoKHX =+             '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkSType VkMemoryAllocateFlagsInfoKHX where+        type VkSTypeMType VkMemoryAllocateFlagsInfoKHX = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateFlagsInfoKHX, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkMemoryAllocateFlagsInfoKHX, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkMemoryAllocateFlagsInfoKHX, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkMemoryAllocateFlagsInfoKHX, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkMemoryAllocateFlagsInfoKHX where+        type FieldType "sType" VkMemoryAllocateFlagsInfoKHX =+             VkStructureType+        type FieldOptional "sType" VkMemoryAllocateFlagsInfoKHX = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkMemoryAllocateFlagsInfoKHX =+             #{offset VkMemoryAllocateFlagsInfoKHX, sType}+        type FieldIsArray "sType" VkMemoryAllocateFlagsInfoKHX = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkMemoryAllocateFlagsInfoKHX, sType}++instance CanReadField "sType" VkMemoryAllocateFlagsInfoKHX where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkMemoryAllocateFlagsInfoKHX where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-}+         HasVkPNext VkMemoryAllocateFlagsInfoKHX where+        type VkPNextMType VkMemoryAllocateFlagsInfoKHX = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateFlagsInfoKHX, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkMemoryAllocateFlagsInfoKHX, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkMemoryAllocateFlagsInfoKHX, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkMemoryAllocateFlagsInfoKHX, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkMemoryAllocateFlagsInfoKHX where+        type FieldType "pNext" VkMemoryAllocateFlagsInfoKHX = Ptr Void+        type FieldOptional "pNext" VkMemoryAllocateFlagsInfoKHX = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkMemoryAllocateFlagsInfoKHX =+             #{offset VkMemoryAllocateFlagsInfoKHX, pNext}+        type FieldIsArray "pNext" VkMemoryAllocateFlagsInfoKHX = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkMemoryAllocateFlagsInfoKHX, pNext}++instance CanReadField "pNext" VkMemoryAllocateFlagsInfoKHX where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkMemoryAllocateFlagsInfoKHX where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-}+         HasVkFlags VkMemoryAllocateFlagsInfoKHX where+        type VkFlagsMType VkMemoryAllocateFlagsInfoKHX =+             VkMemoryAllocateFlagsKHX++        {-# NOINLINE vkFlags #-}+        vkFlags x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateFlagsInfoKHX, flags})++        {-# INLINE vkFlagsByteOffset #-}+        vkFlagsByteOffset ~_+          = #{offset VkMemoryAllocateFlagsInfoKHX, flags}++        {-# INLINE readVkFlags #-}+        readVkFlags p+          = peekByteOff p #{offset VkMemoryAllocateFlagsInfoKHX, flags}++        {-# INLINE writeVkFlags #-}+        writeVkFlags p+          = pokeByteOff p #{offset VkMemoryAllocateFlagsInfoKHX, flags}++instance {-# OVERLAPPING #-}+         HasField "flags" VkMemoryAllocateFlagsInfoKHX where+        type FieldType "flags" VkMemoryAllocateFlagsInfoKHX =+             VkMemoryAllocateFlagsKHX+        type FieldOptional "flags" VkMemoryAllocateFlagsInfoKHX = 'True -- ' closing tick for hsc2hs+        type FieldOffset "flags" VkMemoryAllocateFlagsInfoKHX =+             #{offset VkMemoryAllocateFlagsInfoKHX, flags}+        type FieldIsArray "flags" VkMemoryAllocateFlagsInfoKHX = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkMemoryAllocateFlagsInfoKHX, flags}++instance CanReadField "flags" VkMemoryAllocateFlagsInfoKHX where+        {-# INLINE getField #-}+        getField = vkFlags++        {-# INLINE readField #-}+        readField = readVkFlags++instance CanWriteField "flags" VkMemoryAllocateFlagsInfoKHX where+        {-# INLINE writeField #-}+        writeField = writeVkFlags++instance {-# OVERLAPPING #-}+         HasVkDeviceMask VkMemoryAllocateFlagsInfoKHX where+        type VkDeviceMaskMType VkMemoryAllocateFlagsInfoKHX = Word32++        {-# NOINLINE vkDeviceMask #-}+        vkDeviceMask x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateFlagsInfoKHX, deviceMask})++        {-# INLINE vkDeviceMaskByteOffset #-}+        vkDeviceMaskByteOffset ~_+          = #{offset VkMemoryAllocateFlagsInfoKHX, deviceMask}++        {-# INLINE readVkDeviceMask #-}+        readVkDeviceMask p+          = peekByteOff p #{offset VkMemoryAllocateFlagsInfoKHX, deviceMask}++        {-# INLINE writeVkDeviceMask #-}+        writeVkDeviceMask p+          = pokeByteOff p #{offset VkMemoryAllocateFlagsInfoKHX, deviceMask}++instance {-# OVERLAPPING #-}+         HasField "deviceMask" VkMemoryAllocateFlagsInfoKHX where+        type FieldType "deviceMask" VkMemoryAllocateFlagsInfoKHX = Word32+        type FieldOptional "deviceMask" VkMemoryAllocateFlagsInfoKHX =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "deviceMask" VkMemoryAllocateFlagsInfoKHX =+             #{offset VkMemoryAllocateFlagsInfoKHX, deviceMask}+        type FieldIsArray "deviceMask" VkMemoryAllocateFlagsInfoKHX =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkMemoryAllocateFlagsInfoKHX, deviceMask}++instance CanReadField "deviceMask" VkMemoryAllocateFlagsInfoKHX+         where+        {-# INLINE getField #-}+        getField = vkDeviceMask++        {-# INLINE readField #-}+        readField = readVkDeviceMask++instance CanWriteField "deviceMask" VkMemoryAllocateFlagsInfoKHX+         where+        {-# INLINE writeField #-}+        writeField = writeVkDeviceMask++instance Show VkMemoryAllocateFlagsInfoKHX where+        showsPrec d x+          = showString "VkMemoryAllocateFlagsInfoKHX {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkFlags = " .+                            showsPrec d (vkFlags x) .+                              showString ", " .+                                showString "vkDeviceMask = " .+                                  showsPrec d (vkDeviceMask x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkMemoryAllocateInfo.hsc view
@@ -0,0 +1,272 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo+       (VkMemoryAllocateInfo(..)) 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.StructMembers+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkMemoryAllocateInfo {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkDeviceSize           allocationSize;+--   >     uint32_t               memoryTypeIndex;+--   > } VkMemoryAllocateInfo;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkMemoryAllocateInfo.html VkMemoryAllocateInfo registry at www.khronos.org>+data VkMemoryAllocateInfo = VkMemoryAllocateInfo## Addr## ByteArray##++instance Eq VkMemoryAllocateInfo where+        (VkMemoryAllocateInfo## a _) == x@(VkMemoryAllocateInfo## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkMemoryAllocateInfo where+        (VkMemoryAllocateInfo## a _) `compare` x@(VkMemoryAllocateInfo## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkMemoryAllocateInfo where+        sizeOf ~_ = #{size VkMemoryAllocateInfo}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkMemoryAllocateInfo}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkMemoryAllocateInfo where+        unsafeAddr (VkMemoryAllocateInfo## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkMemoryAllocateInfo## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkMemoryAllocateInfo## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMemoryAllocateInfo where+        type StructFields VkMemoryAllocateInfo =+             '["sType", "pNext", "allocationSize", "memoryTypeIndex"] -- ' closing tick for hsc2hs+        type CUnionType VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs+        type StructExtends VkMemoryAllocateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSType VkMemoryAllocateInfo where+        type VkSTypeMType VkMemoryAllocateInfo = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateInfo, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkMemoryAllocateInfo, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkMemoryAllocateInfo, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkMemoryAllocateInfo, sType}++instance {-# OVERLAPPING #-} HasField "sType" VkMemoryAllocateInfo+         where+        type FieldType "sType" VkMemoryAllocateInfo = VkStructureType+        type FieldOptional "sType" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkMemoryAllocateInfo =+             #{offset VkMemoryAllocateInfo, sType}+        type FieldIsArray "sType" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkMemoryAllocateInfo, sType}++instance CanReadField "sType" VkMemoryAllocateInfo where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkMemoryAllocateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-} HasVkPNext VkMemoryAllocateInfo where+        type VkPNextMType VkMemoryAllocateInfo = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateInfo, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkMemoryAllocateInfo, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkMemoryAllocateInfo, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkMemoryAllocateInfo, pNext}++instance {-# OVERLAPPING #-} HasField "pNext" VkMemoryAllocateInfo+         where+        type FieldType "pNext" VkMemoryAllocateInfo = Ptr Void+        type FieldOptional "pNext" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkMemoryAllocateInfo =+             #{offset VkMemoryAllocateInfo, pNext}+        type FieldIsArray "pNext" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkMemoryAllocateInfo, pNext}++instance CanReadField "pNext" VkMemoryAllocateInfo where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkMemoryAllocateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-}+         HasVkAllocationSize VkMemoryAllocateInfo where+        type VkAllocationSizeMType VkMemoryAllocateInfo = VkDeviceSize++        {-# NOINLINE vkAllocationSize #-}+        vkAllocationSize x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateInfo, allocationSize})++        {-# INLINE vkAllocationSizeByteOffset #-}+        vkAllocationSizeByteOffset ~_+          = #{offset VkMemoryAllocateInfo, allocationSize}++        {-# INLINE readVkAllocationSize #-}+        readVkAllocationSize p+          = peekByteOff p #{offset VkMemoryAllocateInfo, allocationSize}++        {-# INLINE writeVkAllocationSize #-}+        writeVkAllocationSize p+          = pokeByteOff p #{offset VkMemoryAllocateInfo, allocationSize}++instance {-# OVERLAPPING #-}+         HasField "allocationSize" VkMemoryAllocateInfo where+        type FieldType "allocationSize" VkMemoryAllocateInfo = VkDeviceSize+        type FieldOptional "allocationSize" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "allocationSize" VkMemoryAllocateInfo =+             #{offset VkMemoryAllocateInfo, allocationSize}+        type FieldIsArray "allocationSize" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkMemoryAllocateInfo, allocationSize}++instance CanReadField "allocationSize" VkMemoryAllocateInfo where+        {-# INLINE getField #-}+        getField = vkAllocationSize++        {-# INLINE readField #-}+        readField = readVkAllocationSize++instance CanWriteField "allocationSize" VkMemoryAllocateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkAllocationSize++instance {-# OVERLAPPING #-}+         HasVkMemoryTypeIndex VkMemoryAllocateInfo where+        type VkMemoryTypeIndexMType VkMemoryAllocateInfo = Word32++        {-# NOINLINE vkMemoryTypeIndex #-}+        vkMemoryTypeIndex x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateInfo, memoryTypeIndex})++        {-# INLINE vkMemoryTypeIndexByteOffset #-}+        vkMemoryTypeIndexByteOffset ~_+          = #{offset VkMemoryAllocateInfo, memoryTypeIndex}++        {-# INLINE readVkMemoryTypeIndex #-}+        readVkMemoryTypeIndex p+          = peekByteOff p #{offset VkMemoryAllocateInfo, memoryTypeIndex}++        {-# INLINE writeVkMemoryTypeIndex #-}+        writeVkMemoryTypeIndex p+          = pokeByteOff p #{offset VkMemoryAllocateInfo, memoryTypeIndex}++instance {-# OVERLAPPING #-}+         HasField "memoryTypeIndex" VkMemoryAllocateInfo where+        type FieldType "memoryTypeIndex" VkMemoryAllocateInfo = Word32+        type FieldOptional "memoryTypeIndex" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs+        type FieldOffset "memoryTypeIndex" VkMemoryAllocateInfo =+             #{offset VkMemoryAllocateInfo, memoryTypeIndex}+        type FieldIsArray "memoryTypeIndex" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkMemoryAllocateInfo, memoryTypeIndex}++instance CanReadField "memoryTypeIndex" VkMemoryAllocateInfo where+        {-# INLINE getField #-}+        getField = vkMemoryTypeIndex++        {-# INLINE readField #-}+        readField = readVkMemoryTypeIndex++instance CanWriteField "memoryTypeIndex" VkMemoryAllocateInfo where+        {-# INLINE writeField #-}+        writeField = writeVkMemoryTypeIndex++instance Show VkMemoryAllocateInfo where+        showsPrec d x+          = showString "VkMemoryAllocateInfo {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkAllocationSize = " .+                            showsPrec d (vkAllocationSize x) .+                              showString ", " .+                                showString "vkMemoryTypeIndex = " .+                                  showsPrec d (vkMemoryTypeIndex x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkMemoryBarrier.hsc view
@@ -0,0 +1,266 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkMemoryBarrier+       (VkMemoryBarrier(..)) where+import           Foreign.Storable                           (Storable (..))+import           GHC.Prim+import           Graphics.Vulkan.Marshal+import           Graphics.Vulkan.Marshal.Internal+import           Graphics.Vulkan.Types.Enum.VkAccessFlags   (VkAccessFlags)+import           Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkMemoryBarrier {+--   >     VkStructureType sType;+--   >     const void*            pNext;+--   >     VkAccessFlags          srcAccessMask;+--   >     VkAccessFlags          dstAccessMask;+--   > } VkMemoryBarrier;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkMemoryBarrier.html VkMemoryBarrier registry at www.khronos.org>+data VkMemoryBarrier = VkMemoryBarrier## Addr## ByteArray##++instance Eq VkMemoryBarrier where+        (VkMemoryBarrier## a _) == x@(VkMemoryBarrier## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkMemoryBarrier where+        (VkMemoryBarrier## a _) `compare` x@(VkMemoryBarrier## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkMemoryBarrier where+        sizeOf ~_ = #{size VkMemoryBarrier}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkMemoryBarrier}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkMemoryBarrier where+        unsafeAddr (VkMemoryBarrier## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkMemoryBarrier## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkMemoryBarrier## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMemoryBarrier where+        type StructFields VkMemoryBarrier =+             '["sType", "pNext", "srcAccessMask", "dstAccessMask"] -- ' closing tick for hsc2hs+        type CUnionType VkMemoryBarrier = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkMemoryBarrier = 'False -- ' closing tick for hsc2hs+        type StructExtends VkMemoryBarrier = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSType VkMemoryBarrier where+        type VkSTypeMType VkMemoryBarrier = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMemoryBarrier, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_ = #{offset VkMemoryBarrier, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkMemoryBarrier, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkMemoryBarrier, sType}++instance {-# OVERLAPPING #-} HasField "sType" VkMemoryBarrier where+        type FieldType "sType" VkMemoryBarrier = VkStructureType+        type FieldOptional "sType" VkMemoryBarrier = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkMemoryBarrier =+             #{offset VkMemoryBarrier, sType}+        type FieldIsArray "sType" VkMemoryBarrier = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkMemoryBarrier, sType}++instance CanReadField "sType" VkMemoryBarrier where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkMemoryBarrier where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-} HasVkPNext VkMemoryBarrier where+        type VkPNextMType VkMemoryBarrier = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMemoryBarrier, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_ = #{offset VkMemoryBarrier, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkMemoryBarrier, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkMemoryBarrier, pNext}++instance {-# OVERLAPPING #-} HasField "pNext" VkMemoryBarrier where+        type FieldType "pNext" VkMemoryBarrier = Ptr Void+        type FieldOptional "pNext" VkMemoryBarrier = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkMemoryBarrier =+             #{offset VkMemoryBarrier, pNext}+        type FieldIsArray "pNext" VkMemoryBarrier = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkMemoryBarrier, pNext}++instance CanReadField "pNext" VkMemoryBarrier where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkMemoryBarrier where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-} HasVkSrcAccessMask VkMemoryBarrier+         where+        type VkSrcAccessMaskMType VkMemoryBarrier = VkAccessFlags++        {-# NOINLINE vkSrcAccessMask #-}+        vkSrcAccessMask x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMemoryBarrier, srcAccessMask})++        {-# INLINE vkSrcAccessMaskByteOffset #-}+        vkSrcAccessMaskByteOffset ~_+          = #{offset VkMemoryBarrier, srcAccessMask}++        {-# INLINE readVkSrcAccessMask #-}+        readVkSrcAccessMask p+          = peekByteOff p #{offset VkMemoryBarrier, srcAccessMask}++        {-# INLINE writeVkSrcAccessMask #-}+        writeVkSrcAccessMask p+          = pokeByteOff p #{offset VkMemoryBarrier, srcAccessMask}++instance {-# OVERLAPPING #-}+         HasField "srcAccessMask" VkMemoryBarrier where+        type FieldType "srcAccessMask" VkMemoryBarrier = VkAccessFlags+        type FieldOptional "srcAccessMask" VkMemoryBarrier = 'True -- ' closing tick for hsc2hs+        type FieldOffset "srcAccessMask" VkMemoryBarrier =+             #{offset VkMemoryBarrier, srcAccessMask}+        type FieldIsArray "srcAccessMask" VkMemoryBarrier = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkMemoryBarrier, srcAccessMask}++instance CanReadField "srcAccessMask" VkMemoryBarrier where+        {-# INLINE getField #-}+        getField = vkSrcAccessMask++        {-# INLINE readField #-}+        readField = readVkSrcAccessMask++instance CanWriteField "srcAccessMask" VkMemoryBarrier where+        {-# INLINE writeField #-}+        writeField = writeVkSrcAccessMask++instance {-# OVERLAPPING #-} HasVkDstAccessMask VkMemoryBarrier+         where+        type VkDstAccessMaskMType VkMemoryBarrier = VkAccessFlags++        {-# NOINLINE vkDstAccessMask #-}+        vkDstAccessMask x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMemoryBarrier, dstAccessMask})++        {-# INLINE vkDstAccessMaskByteOffset #-}+        vkDstAccessMaskByteOffset ~_+          = #{offset VkMemoryBarrier, dstAccessMask}++        {-# INLINE readVkDstAccessMask #-}+        readVkDstAccessMask p+          = peekByteOff p #{offset VkMemoryBarrier, dstAccessMask}++        {-# INLINE writeVkDstAccessMask #-}+        writeVkDstAccessMask p+          = pokeByteOff p #{offset VkMemoryBarrier, dstAccessMask}++instance {-# OVERLAPPING #-}+         HasField "dstAccessMask" VkMemoryBarrier where+        type FieldType "dstAccessMask" VkMemoryBarrier = VkAccessFlags+        type FieldOptional "dstAccessMask" VkMemoryBarrier = 'True -- ' closing tick for hsc2hs+        type FieldOffset "dstAccessMask" VkMemoryBarrier =+             #{offset VkMemoryBarrier, dstAccessMask}+        type FieldIsArray "dstAccessMask" VkMemoryBarrier = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkMemoryBarrier, dstAccessMask}++instance CanReadField "dstAccessMask" VkMemoryBarrier where+        {-# INLINE getField #-}+        getField = vkDstAccessMask++        {-# INLINE readField #-}+        readField = readVkDstAccessMask++instance CanWriteField "dstAccessMask" VkMemoryBarrier where+        {-# INLINE writeField #-}+        writeField = writeVkDstAccessMask++instance Show VkMemoryBarrier where+        showsPrec d x+          = showString "VkMemoryBarrier {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkSrcAccessMask = " .+                            showsPrec d (vkSrcAccessMask x) .+                              showString ", " .+                                showString "vkDstAccessMask = " .+                                  showsPrec d (vkDstAccessMask x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkMemoryDedicatedAllocateInfoKHR.hsc view
@@ -0,0 +1,298 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkMemoryDedicatedAllocateInfoKHR+       (VkMemoryDedicatedAllocateInfoKHR(..)) 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,+                                                                    VkImage)+import           Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo (VkMemoryAllocateInfo)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                  (unsafeDupablePerformIO)++-- | > typedef struct VkMemoryDedicatedAllocateInfoKHR {+--   >     VkStructureType sType;+--   >     const void*                      pNext;+--   >     VkImage          image;+--   >     VkBuffer         buffer;+--   > } VkMemoryDedicatedAllocateInfoKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkMemoryDedicatedAllocateInfoKHR.html VkMemoryDedicatedAllocateInfoKHR registry at www.khronos.org>+data VkMemoryDedicatedAllocateInfoKHR = VkMemoryDedicatedAllocateInfoKHR## Addr##+                                                                          ByteArray##++instance Eq VkMemoryDedicatedAllocateInfoKHR where+        (VkMemoryDedicatedAllocateInfoKHR## a _) ==+          x@(VkMemoryDedicatedAllocateInfoKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkMemoryDedicatedAllocateInfoKHR where+        (VkMemoryDedicatedAllocateInfoKHR## a _) `compare`+          x@(VkMemoryDedicatedAllocateInfoKHR## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkMemoryDedicatedAllocateInfoKHR where+        sizeOf ~_ = #{size VkMemoryDedicatedAllocateInfoKHR}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkMemoryDedicatedAllocateInfoKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkMemoryDedicatedAllocateInfoKHR where+        unsafeAddr (VkMemoryDedicatedAllocateInfoKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkMemoryDedicatedAllocateInfoKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkMemoryDedicatedAllocateInfoKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMemoryDedicatedAllocateInfoKHR where+        type StructFields VkMemoryDedicatedAllocateInfoKHR =+             '["sType", "pNext", "image", "buffer"] -- ' closing tick for hsc2hs+        type CUnionType VkMemoryDedicatedAllocateInfoKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkMemoryDedicatedAllocateInfoKHR = 'False -- ' closing tick for hsc2hs+        type StructExtends VkMemoryDedicatedAllocateInfoKHR =+             '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkSType VkMemoryDedicatedAllocateInfoKHR where+        type VkSTypeMType VkMemoryDedicatedAllocateInfoKHR =+             VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedAllocateInfoKHR, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkMemoryDedicatedAllocateInfoKHR, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkMemoryDedicatedAllocateInfoKHR, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkMemoryDedicatedAllocateInfoKHR, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkMemoryDedicatedAllocateInfoKHR where+        type FieldType "sType" VkMemoryDedicatedAllocateInfoKHR =+             VkStructureType+        type FieldOptional "sType" VkMemoryDedicatedAllocateInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkMemoryDedicatedAllocateInfoKHR =+             #{offset VkMemoryDedicatedAllocateInfoKHR, sType}+        type FieldIsArray "sType" VkMemoryDedicatedAllocateInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkMemoryDedicatedAllocateInfoKHR, sType}++instance CanReadField "sType" VkMemoryDedicatedAllocateInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance CanWriteField "sType" VkMemoryDedicatedAllocateInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkSType++instance {-# OVERLAPPING #-}+         HasVkPNext VkMemoryDedicatedAllocateInfoKHR where+        type VkPNextMType VkMemoryDedicatedAllocateInfoKHR = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedAllocateInfoKHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkMemoryDedicatedAllocateInfoKHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkMemoryDedicatedAllocateInfoKHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkMemoryDedicatedAllocateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkMemoryDedicatedAllocateInfoKHR where+        type FieldType "pNext" VkMemoryDedicatedAllocateInfoKHR = Ptr Void+        type FieldOptional "pNext" VkMemoryDedicatedAllocateInfoKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkMemoryDedicatedAllocateInfoKHR =+             #{offset VkMemoryDedicatedAllocateInfoKHR, pNext}+        type FieldIsArray "pNext" VkMemoryDedicatedAllocateInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkMemoryDedicatedAllocateInfoKHR, pNext}++instance CanReadField "pNext" VkMemoryDedicatedAllocateInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance CanWriteField "pNext" VkMemoryDedicatedAllocateInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkPNext++instance {-# OVERLAPPING #-}+         HasVkImage VkMemoryDedicatedAllocateInfoKHR where+        type VkImageMType VkMemoryDedicatedAllocateInfoKHR = VkImage++        {-# NOINLINE vkImage #-}+        vkImage x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedAllocateInfoKHR, image})++        {-# INLINE vkImageByteOffset #-}+        vkImageByteOffset ~_+          = #{offset VkMemoryDedicatedAllocateInfoKHR, image}++        {-# INLINE readVkImage #-}+        readVkImage p+          = peekByteOff p #{offset VkMemoryDedicatedAllocateInfoKHR, image}++        {-# INLINE writeVkImage #-}+        writeVkImage p+          = pokeByteOff p #{offset VkMemoryDedicatedAllocateInfoKHR, image}++instance {-# OVERLAPPING #-}+         HasField "image" VkMemoryDedicatedAllocateInfoKHR where+        type FieldType "image" VkMemoryDedicatedAllocateInfoKHR = VkImage+        type FieldOptional "image" VkMemoryDedicatedAllocateInfoKHR = 'True -- ' closing tick for hsc2hs+        type FieldOffset "image" VkMemoryDedicatedAllocateInfoKHR =+             #{offset VkMemoryDedicatedAllocateInfoKHR, image}+        type FieldIsArray "image" VkMemoryDedicatedAllocateInfoKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkMemoryDedicatedAllocateInfoKHR, image}++instance CanReadField "image" VkMemoryDedicatedAllocateInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkImage++        {-# INLINE readField #-}+        readField = readVkImage++instance CanWriteField "image" VkMemoryDedicatedAllocateInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkImage++instance {-# OVERLAPPING #-}+         HasVkBuffer VkMemoryDedicatedAllocateInfoKHR where+        type VkBufferMType VkMemoryDedicatedAllocateInfoKHR = VkBuffer++        {-# NOINLINE vkBuffer #-}+        vkBuffer x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedAllocateInfoKHR, buffer})++        {-# INLINE vkBufferByteOffset #-}+        vkBufferByteOffset ~_+          = #{offset VkMemoryDedicatedAllocateInfoKHR, buffer}++        {-# INLINE readVkBuffer #-}+        readVkBuffer p+          = peekByteOff p #{offset VkMemoryDedicatedAllocateInfoKHR, buffer}++        {-# INLINE writeVkBuffer #-}+        writeVkBuffer p+          = pokeByteOff p #{offset VkMemoryDedicatedAllocateInfoKHR, buffer}++instance {-# OVERLAPPING #-}+         HasField "buffer" VkMemoryDedicatedAllocateInfoKHR where+        type FieldType "buffer" VkMemoryDedicatedAllocateInfoKHR = VkBuffer+        type FieldOptional "buffer" VkMemoryDedicatedAllocateInfoKHR =+             'True -- ' closing tick for hsc2hs+        type FieldOffset "buffer" VkMemoryDedicatedAllocateInfoKHR =+             #{offset VkMemoryDedicatedAllocateInfoKHR, buffer}+        type FieldIsArray "buffer" VkMemoryDedicatedAllocateInfoKHR =+             'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = True++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkMemoryDedicatedAllocateInfoKHR, buffer}++instance CanReadField "buffer" VkMemoryDedicatedAllocateInfoKHR+         where+        {-# INLINE getField #-}+        getField = vkBuffer++        {-# INLINE readField #-}+        readField = readVkBuffer++instance CanWriteField "buffer" VkMemoryDedicatedAllocateInfoKHR+         where+        {-# INLINE writeField #-}+        writeField = writeVkBuffer++instance Show VkMemoryDedicatedAllocateInfoKHR where+        showsPrec d x+          = showString "VkMemoryDedicatedAllocateInfoKHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkImage = " .+                            showsPrec d (vkImage x) .+                              showString ", " .+                                showString "vkBuffer = " . showsPrec d (vkBuffer x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkMemoryDedicatedRequirementsKHR.hsc view
@@ -0,0 +1,305 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkMemoryDedicatedRequirementsKHR+       (VkMemoryDedicatedRequirementsKHR(..)) 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           Graphics.Vulkan.Types.Struct.VkMemoryRequirements2KHR (VkMemoryRequirements2KHR)+import           Graphics.Vulkan.Types.StructMembers+import           System.IO.Unsafe                                      (unsafeDupablePerformIO)++-- | > typedef struct VkMemoryDedicatedRequirementsKHR {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     VkBool32                         prefersDedicatedAllocation;+--   >     VkBool32                         requiresDedicatedAllocation;+--   > } VkMemoryDedicatedRequirementsKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkMemoryDedicatedRequirementsKHR.html VkMemoryDedicatedRequirementsKHR registry at www.khronos.org>+data VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirementsKHR## Addr##+                                                                          ByteArray##++instance Eq VkMemoryDedicatedRequirementsKHR where+        (VkMemoryDedicatedRequirementsKHR## a _) ==+          x@(VkMemoryDedicatedRequirementsKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkMemoryDedicatedRequirementsKHR where+        (VkMemoryDedicatedRequirementsKHR## a _) `compare`+          x@(VkMemoryDedicatedRequirementsKHR## b _)+          = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkMemoryDedicatedRequirementsKHR where+        sizeOf ~_ = #{size VkMemoryDedicatedRequirementsKHR}++        {-# INLINE sizeOf #-}+        alignment ~_+          = #{alignment VkMemoryDedicatedRequirementsKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkMemoryDedicatedRequirementsKHR where+        unsafeAddr (VkMemoryDedicatedRequirementsKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkMemoryDedicatedRequirementsKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkMemoryDedicatedRequirementsKHR##+              (plusAddr## (byteArrayContents## b) off)+              b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMemoryDedicatedRequirementsKHR where+        type StructFields VkMemoryDedicatedRequirementsKHR =+             '["sType", "pNext", "prefersDedicatedAllocation", -- ' closing tick for hsc2hs+               "requiresDedicatedAllocation"]+        type CUnionType VkMemoryDedicatedRequirementsKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkMemoryDedicatedRequirementsKHR = 'True -- ' closing tick for hsc2hs+        type StructExtends VkMemoryDedicatedRequirementsKHR =+             '[VkMemoryRequirements2KHR] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+         HasVkSType VkMemoryDedicatedRequirementsKHR where+        type VkSTypeMType VkMemoryDedicatedRequirementsKHR =+             VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedRequirementsKHR, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkMemoryDedicatedRequirementsKHR, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkMemoryDedicatedRequirementsKHR, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkMemoryDedicatedRequirementsKHR, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkMemoryDedicatedRequirementsKHR where+        type FieldType "sType" VkMemoryDedicatedRequirementsKHR =+             VkStructureType+        type FieldOptional "sType" VkMemoryDedicatedRequirementsKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkMemoryDedicatedRequirementsKHR =+             #{offset VkMemoryDedicatedRequirementsKHR, sType}+        type FieldIsArray "sType" VkMemoryDedicatedRequirementsKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkMemoryDedicatedRequirementsKHR, sType}++instance CanReadField "sType" VkMemoryDedicatedRequirementsKHR+         where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance {-# OVERLAPPING #-}+         HasVkPNext VkMemoryDedicatedRequirementsKHR where+        type VkPNextMType VkMemoryDedicatedRequirementsKHR = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedRequirementsKHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkMemoryDedicatedRequirementsKHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkMemoryDedicatedRequirementsKHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkMemoryDedicatedRequirementsKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkMemoryDedicatedRequirementsKHR where+        type FieldType "pNext" VkMemoryDedicatedRequirementsKHR = Ptr Void+        type FieldOptional "pNext" VkMemoryDedicatedRequirementsKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkMemoryDedicatedRequirementsKHR =+             #{offset VkMemoryDedicatedRequirementsKHR, pNext}+        type FieldIsArray "pNext" VkMemoryDedicatedRequirementsKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkMemoryDedicatedRequirementsKHR, pNext}++instance CanReadField "pNext" VkMemoryDedicatedRequirementsKHR+         where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance {-# OVERLAPPING #-}+         HasVkPrefersDedicatedAllocation VkMemoryDedicatedRequirementsKHR+         where+        type VkPrefersDedicatedAllocationMType+               VkMemoryDedicatedRequirementsKHR+             = VkBool32++        {-# NOINLINE vkPrefersDedicatedAllocation #-}+        vkPrefersDedicatedAllocation x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedRequirementsKHR, prefersDedicatedAllocation})++        {-# INLINE vkPrefersDedicatedAllocationByteOffset #-}+        vkPrefersDedicatedAllocationByteOffset ~_+          = #{offset VkMemoryDedicatedRequirementsKHR, prefersDedicatedAllocation}++        {-# INLINE readVkPrefersDedicatedAllocation #-}+        readVkPrefersDedicatedAllocation p+          = peekByteOff p #{offset VkMemoryDedicatedRequirementsKHR, prefersDedicatedAllocation}++        {-# INLINE writeVkPrefersDedicatedAllocation #-}+        writeVkPrefersDedicatedAllocation p+          = pokeByteOff p #{offset VkMemoryDedicatedRequirementsKHR, prefersDedicatedAllocation}++instance {-# OVERLAPPING #-}+         HasField "prefersDedicatedAllocation"+           VkMemoryDedicatedRequirementsKHR+         where+        type FieldType "prefersDedicatedAllocation"+               VkMemoryDedicatedRequirementsKHR+             = VkBool32+        type FieldOptional "prefersDedicatedAllocation"+               VkMemoryDedicatedRequirementsKHR+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "prefersDedicatedAllocation"+               VkMemoryDedicatedRequirementsKHR+             =+             #{offset VkMemoryDedicatedRequirementsKHR, prefersDedicatedAllocation}+        type FieldIsArray "prefersDedicatedAllocation"+               VkMemoryDedicatedRequirementsKHR+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkMemoryDedicatedRequirementsKHR, prefersDedicatedAllocation}++instance CanReadField "prefersDedicatedAllocation"+           VkMemoryDedicatedRequirementsKHR+         where+        {-# INLINE getField #-}+        getField = vkPrefersDedicatedAllocation++        {-# INLINE readField #-}+        readField = readVkPrefersDedicatedAllocation++instance {-# OVERLAPPING #-}+         HasVkRequiresDedicatedAllocation VkMemoryDedicatedRequirementsKHR+         where+        type VkRequiresDedicatedAllocationMType+               VkMemoryDedicatedRequirementsKHR+             = VkBool32++        {-# NOINLINE vkRequiresDedicatedAllocation #-}+        vkRequiresDedicatedAllocation x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedRequirementsKHR, requiresDedicatedAllocation})++        {-# INLINE vkRequiresDedicatedAllocationByteOffset #-}+        vkRequiresDedicatedAllocationByteOffset ~_+          = #{offset VkMemoryDedicatedRequirementsKHR, requiresDedicatedAllocation}++        {-# INLINE readVkRequiresDedicatedAllocation #-}+        readVkRequiresDedicatedAllocation p+          = peekByteOff p #{offset VkMemoryDedicatedRequirementsKHR, requiresDedicatedAllocation}++        {-# INLINE writeVkRequiresDedicatedAllocation #-}+        writeVkRequiresDedicatedAllocation p+          = pokeByteOff p #{offset VkMemoryDedicatedRequirementsKHR, requiresDedicatedAllocation}++instance {-# OVERLAPPING #-}+         HasField "requiresDedicatedAllocation"+           VkMemoryDedicatedRequirementsKHR+         where+        type FieldType "requiresDedicatedAllocation"+               VkMemoryDedicatedRequirementsKHR+             = VkBool32+        type FieldOptional "requiresDedicatedAllocation"+               VkMemoryDedicatedRequirementsKHR+             = 'False -- ' closing tick for hsc2hs+        type FieldOffset "requiresDedicatedAllocation"+               VkMemoryDedicatedRequirementsKHR+             =+             #{offset VkMemoryDedicatedRequirementsKHR, requiresDedicatedAllocation}+        type FieldIsArray "requiresDedicatedAllocation"+               VkMemoryDedicatedRequirementsKHR+             = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkMemoryDedicatedRequirementsKHR, requiresDedicatedAllocation}++instance CanReadField "requiresDedicatedAllocation"+           VkMemoryDedicatedRequirementsKHR+         where+        {-# INLINE getField #-}+        getField = vkRequiresDedicatedAllocation++        {-# INLINE readField #-}+        readField = readVkRequiresDedicatedAllocation++instance Show VkMemoryDedicatedRequirementsKHR where+        showsPrec d x+          = showString "VkMemoryDedicatedRequirementsKHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkPrefersDedicatedAllocation = " .+                            showsPrec d (vkPrefersDedicatedAllocation x) .+                              showString ", " .+                                showString "vkRequiresDedicatedAllocation = " .+                                  showsPrec d (vkRequiresDedicatedAllocation x) . showChar '}'
+ src-gen/Graphics/Vulkan/Types/Struct/VkMemoryFdPropertiesKHR.hsc view
@@ -0,0 +1,213 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MagicHash             #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict                #-}+{-# LANGUAGE TypeFamilies          #-}+module Graphics.Vulkan.Types.Struct.VkMemoryFdPropertiesKHR+       (VkMemoryFdPropertiesKHR(..)) 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.StructMembers+import           System.IO.Unsafe                           (unsafeDupablePerformIO)++-- | > typedef struct VkMemoryFdPropertiesKHR {+--   >     VkStructureType sType;+--   >     void*                            pNext;+--   >     uint32_t                         memoryTypeBits;+--   > } VkMemoryFdPropertiesKHR;+--+--   <https://www.khronos.org/registry/vulkan/specs/1.0-extensions/man/html/VkMemoryFdPropertiesKHR.html VkMemoryFdPropertiesKHR registry at www.khronos.org>+data VkMemoryFdPropertiesKHR = VkMemoryFdPropertiesKHR## Addr##+                                                        ByteArray##++instance Eq VkMemoryFdPropertiesKHR where+        (VkMemoryFdPropertiesKHR## a _) == x@(VkMemoryFdPropertiesKHR## b _)+          = EQ == cmpBytes## (sizeOf x) a b++        {-# INLINE (==) #-}++instance Ord VkMemoryFdPropertiesKHR where+        (VkMemoryFdPropertiesKHR## a _) `compare`+          x@(VkMemoryFdPropertiesKHR## b _) = cmpBytes## (sizeOf x) a b++        {-# INLINE compare #-}++instance Storable VkMemoryFdPropertiesKHR where+        sizeOf ~_ = #{size VkMemoryFdPropertiesKHR}++        {-# INLINE sizeOf #-}+        alignment ~_ = #{alignment VkMemoryFdPropertiesKHR}++        {-# INLINE alignment #-}+        peek = peekVkData##++        {-# INLINE peek #-}+        poke = pokeVkData##++        {-# INLINE poke #-}++instance VulkanMarshalPrim VkMemoryFdPropertiesKHR where+        unsafeAddr (VkMemoryFdPropertiesKHR## a _) = a++        {-# INLINE unsafeAddr #-}+        unsafeByteArray (VkMemoryFdPropertiesKHR## _ b) = b++        {-# INLINE unsafeByteArray #-}+        unsafeFromByteArrayOffset off b+          = VkMemoryFdPropertiesKHR## (plusAddr## (byteArrayContents## b) off) b++        {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMemoryFdPropertiesKHR where+        type StructFields VkMemoryFdPropertiesKHR =+             '["sType", "pNext", "memoryTypeBits"] -- ' closing tick for hsc2hs+        type CUnionType VkMemoryFdPropertiesKHR = 'False -- ' closing tick for hsc2hs+        type ReturnedOnly VkMemoryFdPropertiesKHR = 'True -- ' closing tick for hsc2hs+        type StructExtends VkMemoryFdPropertiesKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasVkSType VkMemoryFdPropertiesKHR+         where+        type VkSTypeMType VkMemoryFdPropertiesKHR = VkStructureType++        {-# NOINLINE vkSType #-}+        vkSType x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMemoryFdPropertiesKHR, sType})++        {-# INLINE vkSTypeByteOffset #-}+        vkSTypeByteOffset ~_+          = #{offset VkMemoryFdPropertiesKHR, sType}++        {-# INLINE readVkSType #-}+        readVkSType p+          = peekByteOff p #{offset VkMemoryFdPropertiesKHR, sType}++        {-# INLINE writeVkSType #-}+        writeVkSType p+          = pokeByteOff p #{offset VkMemoryFdPropertiesKHR, sType}++instance {-# OVERLAPPING #-}+         HasField "sType" VkMemoryFdPropertiesKHR where+        type FieldType "sType" VkMemoryFdPropertiesKHR = VkStructureType+        type FieldOptional "sType" VkMemoryFdPropertiesKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "sType" VkMemoryFdPropertiesKHR =+             #{offset VkMemoryFdPropertiesKHR, sType}+        type FieldIsArray "sType" VkMemoryFdPropertiesKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkMemoryFdPropertiesKHR, sType}++instance CanReadField "sType" VkMemoryFdPropertiesKHR where+        {-# INLINE getField #-}+        getField = vkSType++        {-# INLINE readField #-}+        readField = readVkSType++instance {-# OVERLAPPING #-} HasVkPNext VkMemoryFdPropertiesKHR+         where+        type VkPNextMType VkMemoryFdPropertiesKHR = Ptr Void++        {-# NOINLINE vkPNext #-}+        vkPNext x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMemoryFdPropertiesKHR, pNext})++        {-# INLINE vkPNextByteOffset #-}+        vkPNextByteOffset ~_+          = #{offset VkMemoryFdPropertiesKHR, pNext}++        {-# INLINE readVkPNext #-}+        readVkPNext p+          = peekByteOff p #{offset VkMemoryFdPropertiesKHR, pNext}++        {-# INLINE writeVkPNext #-}+        writeVkPNext p+          = pokeByteOff p #{offset VkMemoryFdPropertiesKHR, pNext}++instance {-# OVERLAPPING #-}+         HasField "pNext" VkMemoryFdPropertiesKHR where+        type FieldType "pNext" VkMemoryFdPropertiesKHR = Ptr Void+        type FieldOptional "pNext" VkMemoryFdPropertiesKHR = 'False -- ' closing tick for hsc2hs+        type FieldOffset "pNext" VkMemoryFdPropertiesKHR =+             #{offset VkMemoryFdPropertiesKHR, pNext}+        type FieldIsArray "pNext" VkMemoryFdPropertiesKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset = #{offset VkMemoryFdPropertiesKHR, pNext}++instance CanReadField "pNext" VkMemoryFdPropertiesKHR where+        {-# INLINE getField #-}+        getField = vkPNext++        {-# INLINE readField #-}+        readField = readVkPNext++instance {-# OVERLAPPING #-}+         HasVkMemoryTypeBits VkMemoryFdPropertiesKHR where+        type VkMemoryTypeBitsMType VkMemoryFdPropertiesKHR = Word32++        {-# NOINLINE vkMemoryTypeBits #-}+        vkMemoryTypeBits x+          = unsafeDupablePerformIO+              (peekByteOff (unsafePtr x) #{offset VkMemoryFdPropertiesKHR, memoryTypeBits})++        {-# INLINE vkMemoryTypeBitsByteOffset #-}+        vkMemoryTypeBitsByteOffset ~_+          = #{offset VkMemoryFdPropertiesKHR, memoryTypeBits}++        {-# INLINE readVkMemoryTypeBits #-}+        readVkMemoryTypeBits p+          = peekByteOff p #{offset VkMemoryFdPropertiesKHR, memoryTypeBits}++        {-# INLINE writeVkMemoryTypeBits #-}+        writeVkMemoryTypeBits p+          = pokeByteOff p #{offset VkMemoryFdPropertiesKHR, memoryTypeBits}++instance {-# OVERLAPPING #-}+         HasField "memoryTypeBits" VkMemoryFdPropertiesKHR where+        type FieldType "memoryTypeBits" VkMemoryFdPropertiesKHR = Word32+        type FieldOptional "memoryTypeBits" VkMemoryFdPropertiesKHR =+             'False -- ' closing tick for hsc2hs+        type FieldOffset "memoryTypeBits" VkMemoryFdPropertiesKHR =+             #{offset VkMemoryFdPropertiesKHR, memoryTypeBits}+        type FieldIsArray "memoryTypeBits" VkMemoryFdPropertiesKHR = 'False -- ' closing tick for hsc2hs++        {-# INLINE fieldOptional #-}+        fieldOptional = False++        {-# INLINE fieldOffset #-}+        fieldOffset+          = #{offset VkMemoryFdPropertiesKHR, memoryTypeBits}++instance CanReadField "memoryTypeBits" VkMemoryFdPropertiesKHR+         where+        {-# INLINE getField #-}+        getField = vkMemoryTypeBits++        {-# INLINE readField #-}+        readField = readVkMemoryTypeBits++instance Show VkMemoryFdPropertiesKHR where+        showsPrec d x+          = showString "VkMemoryFdPropertiesKHR {" .+              showString "vkSType = " .+                showsPrec d (vkSType x) .+                  showString ", " .+                    showString "vkPNext = " .+                      showsPrec d (vkPNext x) .+                        showString ", " .+                          showString "vkMemoryTypeBits = " .+                            showsPrec d (vkMemoryTypeBits x) . showChar '}'
+ 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/VkMemoryRequirements2KHR.hsc view

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/VkPhysicalDevice16BitStorageFeaturesKHR.hsc view

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/VkPhysicalDeviceExternalBufferInfoKHR.hsc view

file too large to diff

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

file too large to diff

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

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/VkPhysicalDeviceExternalSemaphoreInfoKHR.hsc view

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/VkPhysicalDeviceFeatures2KHR.hsc view

file too large to diff

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

file too large to diff

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

file too large to diff

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

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/VkPhysicalDeviceMemoryProperties.hsc view

file too large to diff

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

file too large to diff

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

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/VkPhysicalDeviceMultiviewPropertiesKHX.hsc view

file too large to diff

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

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/VkPhysicalDeviceProperties2KHR.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/VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR.hsc view

file too large to diff

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

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/VkPhysicalDeviceSurfaceInfo2KHR.hsc view

file too large to diff

+ src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceVariablePointerFeaturesKHR.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/VkPipelineTessellationDomainOriginStateCreateInfoKHR.hsc view

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/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/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/VkQueueFamilyProperties2KHR.hsc view

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/VkRenderPassInputAttachmentAspectCreateInfoKHR.hsc view

file too large to diff

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

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/VkSamplerYcbcrConversionCreateInfoKHR.hsc view

file too large to diff

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

file too large to diff

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

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/VkSparseImageFormatProperties2KHR.hsc view

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/VkSparseImageMemoryRequirements2KHR.hsc view

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

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