From 85184f305afe0f2e9e99cc9525e8ce25c32e74e0 Mon Sep 17 00:00:00 2001 From: Jon Leech Date: Sun, 28 Aug 2016 03:47:19 -0700 Subject: [PATCH] Change log for August 26, 2016 Vulkan 1.0.25 spec update: * Bump API patch number and header version number to 25 for this update. * Structurally change the specification so that multiple extensions are included in the +1.0+ git branch, and specifications will include or not include those extensions at build time based on options passed to the Makefile. See +doc/specs/vulkan/README.html+ and the ``Layers and Extensions'' section of the ``Vulkan Documentation and Extensions'' document for more information on this change. * Register and publish new extensions in the single-branch form: ** +VK_NV_external_memory_capabilities+ ** +VK_NV_external_memory+ ** +VK_NV_external_memory_win32+ ** +VK_NV_win32_keyed_mutex+ Github Issues: * Clarify description of GetInstanceProcAddr and GetDeviceProcAddr (public issue 212). * Add SPIR-V <> for single-sampled images (public issue 316). * Fix spelling of ``tesselation'' in a few places and note it as an exception to the American spelling rules convention (public issue 327). * Fix Makefile to create output directory for ``styleguide'' target (public issue 329). * Fix numerous minor issues with incorrectly tags on enumerant names and table titles (public issue 330). * Generate specversion.txt date in UTC time and RFC 2822 format (public issue 335). * Convert link to the SPIR-V Specification for flink:VkShaderModuleCreateInfo into an internal link to the normative reference (public issue 336). * Add ename:VK_ERROR_OUT_OF_MEMORY error code to flink:vkCreateDebugReportCallbackEXT (public issue 337). Internal Issues: * Update style guide regarding use of code:NULL and dname:VK_NULL_HANDLE (internal issue 393). * Change the definition of latexmath:[$q$] in the <> section to be the index of the maximum defined level for the view, not the number of levels in the view (internal issue 406). * Allow developers to override dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE with their own binary-compatible definition (internal issue 439). * Fix +vk_platform.h+ conditional logic causing compile failure with some Android compilers (internal issue 441). * Implement the single-branch model as described above (internal issue 461). Other Issues: --- .gitignore | 1 + ChangeLog.txt | 55 + README.md | 40 +- doc/specs/vulkan/Makefile | 88 +- doc/specs/vulkan/README.adoc | 77 +- doc/specs/vulkan/README.html | 94 +- doc/specs/vulkan/api/basetypes/VkBool32.txt | 12 - .../vulkan/api/basetypes/VkDeviceSize.txt | 12 - doc/specs/vulkan/api/basetypes/VkFlags.txt | 12 - .../vulkan/api/basetypes/VkSampleMask.txt | 12 - .../vulkan/api/defines/VK_API_VERSION.txt | 13 - .../vulkan/api/defines/VK_API_VERSION_1_0.txt | 13 - .../vulkan/api/defines/VK_DEFINE_HANDLE.txt | 13 - .../VK_DEFINE_NON_DISPATCHABLE_HANDLE.txt | 18 - .../vulkan/api/defines/VK_HEADER_VERSION.txt | 13 - .../vulkan/api/defines/VK_MAKE_VERSION.txt | 13 - .../vulkan/api/defines/VK_NULL_HANDLE.txt | 14 - .../vulkan/api/defines/VK_VERSION_MAJOR.txt | 12 - .../vulkan/api/defines/VK_VERSION_MINOR.txt | 12 - .../vulkan/api/defines/VK_VERSION_PATCH.txt | 12 - .../vulkan/api/enums/VkAccessFlagBits.txt | 29 - .../enums/VkAttachmentDescriptionFlagBits.txt | 13 - .../vulkan/api/enums/VkAttachmentLoadOp.txt | 15 - .../vulkan/api/enums/VkAttachmentStoreOp.txt | 14 - doc/specs/vulkan/api/enums/VkBlendFactor.txt | 31 - doc/specs/vulkan/api/enums/VkBlendOp.txt | 17 - doc/specs/vulkan/api/enums/VkBorderColor.txt | 18 - .../api/enums/VkBufferCreateFlagBits.txt | 15 - .../api/enums/VkBufferUsageFlagBits.txt | 21 - .../api/enums/VkColorComponentFlagBits.txt | 16 - .../vulkan/api/enums/VkCommandBufferLevel.txt | 14 - .../enums/VkCommandBufferResetFlagBits.txt | 13 - .../enums/VkCommandBufferUsageFlagBits.txt | 15 - .../api/enums/VkCommandPoolCreateFlagBits.txt | 14 - .../api/enums/VkCommandPoolResetFlagBits.txt | 13 - doc/specs/vulkan/api/enums/VkCompareOp.txt | 20 - .../vulkan/api/enums/VkComponentSwizzle.txt | 19 - .../vulkan/api/enums/VkCullModeFlagBits.txt | 16 - .../vulkan/api/enums/VkDependencyFlagBits.txt | 13 - .../enums/VkDescriptorPoolCreateFlagBits.txt | 13 - .../vulkan/api/enums/VkDescriptorType.txt | 23 - doc/specs/vulkan/api/enums/VkDynamicState.txt | 21 - .../api/enums/VkFenceCreateFlagBits.txt | 13 - doc/specs/vulkan/api/enums/VkFilter.txt | 14 - doc/specs/vulkan/api/enums/VkFormat.txt | 197 --- .../api/enums/VkFormatFeatureFlagBits.txt | 25 - doc/specs/vulkan/api/enums/VkFrontFace.txt | 14 - .../api/enums/VkImageAspectFlagBits.txt | 16 - .../api/enums/VkImageCreateFlagBits.txt | 17 - doc/specs/vulkan/api/enums/VkImageLayout.txt | 21 - doc/specs/vulkan/api/enums/VkImageTiling.txt | 14 - doc/specs/vulkan/api/enums/VkImageType.txt | 15 - .../vulkan/api/enums/VkImageUsageFlagBits.txt | 20 - .../vulkan/api/enums/VkImageViewType.txt | 19 - doc/specs/vulkan/api/enums/VkIndexType.txt | 14 - .../api/enums/VkInternalAllocationType.txt | 13 - doc/specs/vulkan/api/enums/VkLogicOp.txt | 28 - .../vulkan/api/enums/VkMemoryHeapFlagBits.txt | 13 - .../api/enums/VkMemoryPropertyFlagBits.txt | 17 - .../vulkan/api/enums/VkPhysicalDeviceType.txt | 17 - .../vulkan/api/enums/VkPipelineBindPoint.txt | 14 - .../enums/VkPipelineCacheHeaderVersion.txt | 13 - .../api/enums/VkPipelineCreateFlagBits.txt | 15 - .../api/enums/VkPipelineStageFlagBits.txt | 29 - doc/specs/vulkan/api/enums/VkPolygonMode.txt | 15 - .../vulkan/api/enums/VkPrimitiveTopology.txt | 23 - .../api/enums/VkQueryControlFlagBits.txt | 13 - .../VkQueryPipelineStatisticFlagBits.txt | 23 - .../api/enums/VkQueryResultFlagBits.txt | 16 - doc/specs/vulkan/api/enums/VkQueryType.txt | 15 - .../vulkan/api/enums/VkQueueFlagBits.txt | 16 - doc/specs/vulkan/api/enums/VkResult.txt | 30 - .../api/enums/VkSampleCountFlagBits.txt | 19 - .../vulkan/api/enums/VkSamplerAddressMode.txt | 17 - .../vulkan/api/enums/VkSamplerMipmapMode.txt | 14 - .../api/enums/VkShaderStageFlagBits.txt | 20 - doc/specs/vulkan/api/enums/VkSharingMode.txt | 14 - .../api/enums/VkSparseImageFormatFlagBits.txt | 15 - .../api/enums/VkSparseMemoryBindFlagBits.txt | 13 - .../api/enums/VkStencilFaceFlagBits.txt | 15 - doc/specs/vulkan/api/enums/VkStencilOp.txt | 20 - .../vulkan/api/enums/VkStructureType.txt | 61 - .../vulkan/api/enums/VkSubpassContents.txt | 14 - .../api/enums/VkSystemAllocationScope.txt | 17 - .../vulkan/api/enums/VkVertexInputRate.txt | 14 - doc/specs/vulkan/api/flags/VkAccessFlags.txt | 12 - .../flags/VkAttachmentDescriptionFlags.txt | 12 - .../vulkan/api/flags/VkBufferCreateFlags.txt | 12 - .../vulkan/api/flags/VkBufferUsageFlags.txt | 12 - .../api/flags/VkBufferViewCreateFlags.txt | 12 - .../api/flags/VkColorComponentFlags.txt | 12 - .../api/flags/VkCommandBufferResetFlags.txt | 12 - .../api/flags/VkCommandBufferUsageFlags.txt | 12 - .../api/flags/VkCommandPoolCreateFlags.txt | 12 - .../api/flags/VkCommandPoolResetFlags.txt | 12 - .../vulkan/api/flags/VkCullModeFlags.txt | 12 - .../vulkan/api/flags/VkDependencyFlags.txt | 12 - .../api/flags/VkDescriptorPoolCreateFlags.txt | 12 - .../api/flags/VkDescriptorPoolResetFlags.txt | 12 - .../VkDescriptorSetLayoutCreateFlags.txt | 12 - .../vulkan/api/flags/VkDeviceCreateFlags.txt | 12 - .../api/flags/VkDeviceQueueCreateFlags.txt | 12 - .../vulkan/api/flags/VkEventCreateFlags.txt | 12 - .../vulkan/api/flags/VkFenceCreateFlags.txt | 12 - .../vulkan/api/flags/VkFormatFeatureFlags.txt | 12 - .../api/flags/VkFramebufferCreateFlags.txt | 12 - .../vulkan/api/flags/VkImageAspectFlags.txt | 12 - .../vulkan/api/flags/VkImageCreateFlags.txt | 12 - .../vulkan/api/flags/VkImageUsageFlags.txt | 12 - .../api/flags/VkImageViewCreateFlags.txt | 12 - .../api/flags/VkInstanceCreateFlags.txt | 12 - .../vulkan/api/flags/VkMemoryHeapFlags.txt | 12 - .../vulkan/api/flags/VkMemoryMapFlags.txt | 12 - .../api/flags/VkMemoryPropertyFlags.txt | 12 - .../api/flags/VkPipelineCacheCreateFlags.txt | 12 - .../VkPipelineColorBlendStateCreateFlags.txt | 12 - .../api/flags/VkPipelineCreateFlags.txt | 12 - ...VkPipelineDepthStencilStateCreateFlags.txt | 12 - .../VkPipelineDynamicStateCreateFlags.txt | 12 - ...kPipelineInputAssemblyStateCreateFlags.txt | 12 - .../api/flags/VkPipelineLayoutCreateFlags.txt | 12 - .../VkPipelineMultisampleStateCreateFlags.txt | 12 - ...kPipelineRasterizationStateCreateFlags.txt | 12 - .../VkPipelineShaderStageCreateFlags.txt | 12 - .../vulkan/api/flags/VkPipelineStageFlags.txt | 12 - ...VkPipelineTessellationStateCreateFlags.txt | 12 - .../VkPipelineVertexInputStateCreateFlags.txt | 12 - .../VkPipelineViewportStateCreateFlags.txt | 12 - .../vulkan/api/flags/VkQueryControlFlags.txt | 12 - .../flags/VkQueryPipelineStatisticFlags.txt | 12 - .../api/flags/VkQueryPoolCreateFlags.txt | 12 - .../vulkan/api/flags/VkQueryResultFlags.txt | 12 - doc/specs/vulkan/api/flags/VkQueueFlags.txt | 12 - .../api/flags/VkRenderPassCreateFlags.txt | 12 - .../vulkan/api/flags/VkSampleCountFlags.txt | 12 - .../vulkan/api/flags/VkSamplerCreateFlags.txt | 12 - .../api/flags/VkSemaphoreCreateFlags.txt | 12 - .../api/flags/VkShaderModuleCreateFlags.txt | 12 - .../vulkan/api/flags/VkShaderStageFlags.txt | 12 - .../api/flags/VkSparseImageFormatFlags.txt | 12 - .../api/flags/VkSparseMemoryBindFlags.txt | 12 - .../vulkan/api/flags/VkStencilFaceFlags.txt | 12 - .../api/flags/VkSubpassDescriptionFlags.txt | 12 - .../funcpointers/PFN_vkAllocationFunction.txt | 16 - .../api/funcpointers/PFN_vkFreeFunction.txt | 14 - .../PFN_vkInternalAllocationNotification.txt | 16 - .../PFN_vkInternalFreeNotification.txt | 16 - .../PFN_vkReallocationFunction.txt | 17 - .../api/funcpointers/PFN_vkVoidFunction.txt | 12 - doc/specs/vulkan/api/handles/VkBuffer.txt | 12 - doc/specs/vulkan/api/handles/VkBufferView.txt | 12 - .../vulkan/api/handles/VkCommandBuffer.txt | 12 - .../vulkan/api/handles/VkCommandPool.txt | 12 - .../vulkan/api/handles/VkDescriptorPool.txt | 12 - .../vulkan/api/handles/VkDescriptorSet.txt | 12 - .../api/handles/VkDescriptorSetLayout.txt | 12 - doc/specs/vulkan/api/handles/VkDevice.txt | 12 - .../vulkan/api/handles/VkDeviceMemory.txt | 12 - doc/specs/vulkan/api/handles/VkEvent.txt | 12 - doc/specs/vulkan/api/handles/VkFence.txt | 12 - .../vulkan/api/handles/VkFramebuffer.txt | 12 - doc/specs/vulkan/api/handles/VkImage.txt | 12 - doc/specs/vulkan/api/handles/VkImageView.txt | 12 - doc/specs/vulkan/api/handles/VkInstance.txt | 12 - .../vulkan/api/handles/VkPhysicalDevice.txt | 12 - doc/specs/vulkan/api/handles/VkPipeline.txt | 12 - .../vulkan/api/handles/VkPipelineCache.txt | 12 - .../vulkan/api/handles/VkPipelineLayout.txt | 12 - doc/specs/vulkan/api/handles/VkQueryPool.txt | 12 - doc/specs/vulkan/api/handles/VkQueue.txt | 12 - doc/specs/vulkan/api/handles/VkRenderPass.txt | 12 - doc/specs/vulkan/api/handles/VkSampler.txt | 12 - doc/specs/vulkan/api/handles/VkSemaphore.txt | 12 - .../vulkan/api/handles/VkShaderModule.txt | 12 - .../api/protos/vkAllocateCommandBuffers.txt | 14 - .../api/protos/vkAllocateDescriptorSets.txt | 14 - .../vulkan/api/protos/vkAllocateMemory.txt | 15 - .../api/protos/vkBeginCommandBuffer.txt | 13 - .../vulkan/api/protos/vkBindBufferMemory.txt | 15 - .../vulkan/api/protos/vkBindImageMemory.txt | 15 - .../vulkan/api/protos/vkCmdBeginQuery.txt | 15 - .../api/protos/vkCmdBeginRenderPass.txt | 14 - .../api/protos/vkCmdBindDescriptorSets.txt | 19 - .../api/protos/vkCmdBindIndexBuffer.txt | 15 - .../vulkan/api/protos/vkCmdBindPipeline.txt | 14 - .../api/protos/vkCmdBindVertexBuffers.txt | 16 - .../vulkan/api/protos/vkCmdBlitImage.txt | 19 - .../api/protos/vkCmdClearAttachments.txt | 16 - .../api/protos/vkCmdClearColorImage.txt | 17 - .../protos/vkCmdClearDepthStencilImage.txt | 17 - .../vulkan/api/protos/vkCmdCopyBuffer.txt | 16 - .../api/protos/vkCmdCopyBufferToImage.txt | 17 - .../vulkan/api/protos/vkCmdCopyImage.txt | 18 - .../api/protos/vkCmdCopyImageToBuffer.txt | 17 - .../api/protos/vkCmdCopyQueryPoolResults.txt | 19 - doc/specs/vulkan/api/protos/vkCmdDispatch.txt | 15 - .../api/protos/vkCmdDispatchIndirect.txt | 14 - doc/specs/vulkan/api/protos/vkCmdDraw.txt | 16 - .../vulkan/api/protos/vkCmdDrawIndexed.txt | 17 - .../api/protos/vkCmdDrawIndexedIndirect.txt | 16 - .../vulkan/api/protos/vkCmdDrawIndirect.txt | 16 - doc/specs/vulkan/api/protos/vkCmdEndQuery.txt | 14 - .../vulkan/api/protos/vkCmdEndRenderPass.txt | 12 - .../api/protos/vkCmdExecuteCommands.txt | 14 - .../vulkan/api/protos/vkCmdFillBuffer.txt | 16 - .../vulkan/api/protos/vkCmdNextSubpass.txt | 13 - .../api/protos/vkCmdPipelineBarrier.txt | 21 - .../vulkan/api/protos/vkCmdPushConstants.txt | 17 - .../vulkan/api/protos/vkCmdResetEvent.txt | 14 - .../vulkan/api/protos/vkCmdResetQueryPool.txt | 15 - .../vulkan/api/protos/vkCmdResolveImage.txt | 18 - .../api/protos/vkCmdSetBlendConstants.txt | 13 - .../vulkan/api/protos/vkCmdSetDepthBias.txt | 15 - .../vulkan/api/protos/vkCmdSetDepthBounds.txt | 14 - doc/specs/vulkan/api/protos/vkCmdSetEvent.txt | 14 - .../vulkan/api/protos/vkCmdSetLineWidth.txt | 13 - .../vulkan/api/protos/vkCmdSetScissor.txt | 15 - .../api/protos/vkCmdSetStencilCompareMask.txt | 14 - .../api/protos/vkCmdSetStencilReference.txt | 14 - .../api/protos/vkCmdSetStencilWriteMask.txt | 14 - .../vulkan/api/protos/vkCmdSetViewport.txt | 15 - .../vulkan/api/protos/vkCmdUpdateBuffer.txt | 16 - .../vulkan/api/protos/vkCmdWaitEvents.txt | 22 - .../vulkan/api/protos/vkCmdWriteTimestamp.txt | 15 - .../vulkan/api/protos/vkCreateBuffer.txt | 15 - .../vulkan/api/protos/vkCreateBufferView.txt | 15 - .../vulkan/api/protos/vkCreateCommandPool.txt | 15 - .../api/protos/vkCreateComputePipelines.txt | 17 - .../api/protos/vkCreateDescriptorPool.txt | 15 - .../protos/vkCreateDescriptorSetLayout.txt | 15 - .../vulkan/api/protos/vkCreateDevice.txt | 15 - doc/specs/vulkan/api/protos/vkCreateEvent.txt | 15 - doc/specs/vulkan/api/protos/vkCreateFence.txt | 15 - .../vulkan/api/protos/vkCreateFramebuffer.txt | 15 - .../api/protos/vkCreateGraphicsPipelines.txt | 17 - doc/specs/vulkan/api/protos/vkCreateImage.txt | 15 - .../vulkan/api/protos/vkCreateImageView.txt | 15 - .../vulkan/api/protos/vkCreateInstance.txt | 14 - .../api/protos/vkCreatePipelineCache.txt | 15 - .../api/protos/vkCreatePipelineLayout.txt | 15 - .../vulkan/api/protos/vkCreateQueryPool.txt | 15 - .../vulkan/api/protos/vkCreateRenderPass.txt | 15 - .../vulkan/api/protos/vkCreateSampler.txt | 15 - .../vulkan/api/protos/vkCreateSemaphore.txt | 15 - .../api/protos/vkCreateShaderModule.txt | 15 - .../vulkan/api/protos/vkDestroyBuffer.txt | 14 - .../vulkan/api/protos/vkDestroyBufferView.txt | 14 - .../api/protos/vkDestroyCommandPool.txt | 14 - .../api/protos/vkDestroyDescriptorPool.txt | 14 - .../protos/vkDestroyDescriptorSetLayout.txt | 14 - .../vulkan/api/protos/vkDestroyDevice.txt | 13 - .../vulkan/api/protos/vkDestroyEvent.txt | 14 - .../vulkan/api/protos/vkDestroyFence.txt | 14 - .../api/protos/vkDestroyFramebuffer.txt | 14 - .../vulkan/api/protos/vkDestroyImage.txt | 14 - .../vulkan/api/protos/vkDestroyImageView.txt | 14 - .../vulkan/api/protos/vkDestroyInstance.txt | 13 - .../vulkan/api/protos/vkDestroyPipeline.txt | 14 - .../api/protos/vkDestroyPipelineCache.txt | 14 - .../api/protos/vkDestroyPipelineLayout.txt | 14 - .../vulkan/api/protos/vkDestroyQueryPool.txt | 14 - .../vulkan/api/protos/vkDestroyRenderPass.txt | 14 - .../vulkan/api/protos/vkDestroySampler.txt | 14 - .../vulkan/api/protos/vkDestroySemaphore.txt | 14 - .../api/protos/vkDestroyShaderModule.txt | 14 - .../vulkan/api/protos/vkDeviceWaitIdle.txt | 12 - .../vulkan/api/protos/vkEndCommandBuffer.txt | 12 - .../vkEnumerateDeviceExtensionProperties.txt | 15 - .../vkEnumerateDeviceLayerProperties.txt | 14 - ...vkEnumerateInstanceExtensionProperties.txt | 14 - .../vkEnumerateInstanceLayerProperties.txt | 13 - .../api/protos/vkEnumeratePhysicalDevices.txt | 14 - .../api/protos/vkFlushMappedMemoryRanges.txt | 14 - .../api/protos/vkFreeCommandBuffers.txt | 15 - .../api/protos/vkFreeDescriptorSets.txt | 15 - doc/specs/vulkan/api/protos/vkFreeMemory.txt | 14 - .../protos/vkGetBufferMemoryRequirements.txt | 14 - .../protos/vkGetDeviceMemoryCommitment.txt | 14 - .../vulkan/api/protos/vkGetDeviceProcAddr.txt | 13 - .../vulkan/api/protos/vkGetDeviceQueue.txt | 15 - .../vulkan/api/protos/vkGetEventStatus.txt | 13 - .../vulkan/api/protos/vkGetFenceStatus.txt | 13 - .../protos/vkGetImageMemoryRequirements.txt | 14 - .../vkGetImageSparseMemoryRequirements.txt | 15 - .../protos/vkGetImageSubresourceLayout.txt | 15 - .../api/protos/vkGetInstanceProcAddr.txt | 13 - .../protos/vkGetPhysicalDeviceFeatures.txt | 13 - .../vkGetPhysicalDeviceFormatProperties.txt | 14 - ...GetPhysicalDeviceImageFormatProperties.txt | 18 - .../vkGetPhysicalDeviceMemoryProperties.txt | 13 - .../protos/vkGetPhysicalDeviceProperties.txt | 13 - ...GetPhysicalDeviceQueueFamilyProperties.txt | 14 - ...sicalDeviceSparseImageFormatProperties.txt | 19 - .../api/protos/vkGetPipelineCacheData.txt | 15 - .../api/protos/vkGetQueryPoolResults.txt | 19 - .../api/protos/vkGetRenderAreaGranularity.txt | 14 - .../protos/vkInvalidateMappedMemoryRanges.txt | 14 - doc/specs/vulkan/api/protos/vkMapMemory.txt | 17 - .../api/protos/vkMergePipelineCaches.txt | 15 - .../vulkan/api/protos/vkQueueBindSparse.txt | 15 - doc/specs/vulkan/api/protos/vkQueueSubmit.txt | 15 - .../vulkan/api/protos/vkQueueWaitIdle.txt | 12 - .../api/protos/vkResetCommandBuffer.txt | 13 - .../vulkan/api/protos/vkResetCommandPool.txt | 14 - .../api/protos/vkResetDescriptorPool.txt | 14 - doc/specs/vulkan/api/protos/vkResetEvent.txt | 13 - doc/specs/vulkan/api/protos/vkResetFences.txt | 14 - doc/specs/vulkan/api/protos/vkSetEvent.txt | 13 - doc/specs/vulkan/api/protos/vkUnmapMemory.txt | 13 - .../api/protos/vkUpdateDescriptorSets.txt | 16 - .../vulkan/api/protos/vkWaitForFences.txt | 16 - .../api/structs/VkAllocationCallbacks.txt | 18 - .../vulkan/api/structs/VkApplicationInfo.txt | 19 - .../api/structs/VkAttachmentDescription.txt | 21 - .../api/structs/VkAttachmentReference.txt | 14 - .../vulkan/api/structs/VkBindSparseInfo.txt | 24 - doc/specs/vulkan/api/structs/VkBufferCopy.txt | 15 - .../vulkan/api/structs/VkBufferCreateInfo.txt | 20 - .../vulkan/api/structs/VkBufferImageCopy.txt | 18 - .../api/structs/VkBufferMemoryBarrier.txt | 21 - .../api/structs/VkBufferViewCreateInfo.txt | 19 - .../vulkan/api/structs/VkClearAttachment.txt | 15 - .../vulkan/api/structs/VkClearColorValue.txt | 15 - .../api/structs/VkClearDepthStencilValue.txt | 14 - doc/specs/vulkan/api/structs/VkClearRect.txt | 15 - doc/specs/vulkan/api/structs/VkClearValue.txt | 14 - .../structs/VkCommandBufferAllocateInfo.txt | 17 - .../api/structs/VkCommandBufferBeginInfo.txt | 16 - .../VkCommandBufferInheritanceInfo.txt | 20 - .../api/structs/VkCommandPoolCreateInfo.txt | 16 - .../vulkan/api/structs/VkComponentMapping.txt | 16 - .../structs/VkComputePipelineCreateInfo.txt | 19 - .../api/structs/VkCopyDescriptorSet.txt | 21 - .../api/structs/VkDescriptorBufferInfo.txt | 15 - .../api/structs/VkDescriptorImageInfo.txt | 15 - .../structs/VkDescriptorPoolCreateInfo.txt | 18 - .../api/structs/VkDescriptorPoolSize.txt | 14 - .../structs/VkDescriptorSetAllocateInfo.txt | 17 - .../structs/VkDescriptorSetLayoutBinding.txt | 17 - .../VkDescriptorSetLayoutCreateInfo.txt | 17 - .../vulkan/api/structs/VkDeviceCreateInfo.txt | 22 - .../api/structs/VkDeviceQueueCreateInfo.txt | 18 - .../api/structs/VkDispatchIndirectCommand.txt | 15 - .../structs/VkDrawIndexedIndirectCommand.txt | 17 - .../api/structs/VkDrawIndirectCommand.txt | 16 - .../vulkan/api/structs/VkEventCreateInfo.txt | 15 - .../api/structs/VkExtensionProperties.txt | 14 - doc/specs/vulkan/api/structs/VkExtent2D.txt | 14 - doc/specs/vulkan/api/structs/VkExtent3D.txt | 15 - .../vulkan/api/structs/VkFenceCreateInfo.txt | 15 - .../vulkan/api/structs/VkFormatProperties.txt | 15 - .../api/structs/VkFramebufferCreateInfo.txt | 21 - .../structs/VkGraphicsPipelineCreateInfo.txt | 31 - doc/specs/vulkan/api/structs/VkImageBlit.txt | 16 - doc/specs/vulkan/api/structs/VkImageCopy.txt | 17 - .../vulkan/api/structs/VkImageCreateInfo.txt | 27 - .../api/structs/VkImageFormatProperties.txt | 17 - .../api/structs/VkImageMemoryBarrier.txt | 22 - .../vulkan/api/structs/VkImageResolve.txt | 17 - .../vulkan/api/structs/VkImageSubresource.txt | 15 - .../api/structs/VkImageSubresourceLayers.txt | 16 - .../api/structs/VkImageSubresourceRange.txt | 17 - .../api/structs/VkImageViewCreateInfo.txt | 20 - .../api/structs/VkInstanceCreateInfo.txt | 20 - .../vulkan/api/structs/VkLayerProperties.txt | 16 - .../api/structs/VkMappedMemoryRange.txt | 17 - .../api/structs/VkMemoryAllocateInfo.txt | 16 - .../vulkan/api/structs/VkMemoryBarrier.txt | 16 - doc/specs/vulkan/api/structs/VkMemoryHeap.txt | 14 - .../api/structs/VkMemoryRequirements.txt | 15 - doc/specs/vulkan/api/structs/VkMemoryType.txt | 14 - doc/specs/vulkan/api/structs/VkOffset2D.txt | 14 - doc/specs/vulkan/api/structs/VkOffset3D.txt | 15 - .../api/structs/VkPhysicalDeviceFeatures.txt | 67 - .../api/structs/VkPhysicalDeviceLimits.txt | 118 -- .../VkPhysicalDeviceMemoryProperties.txt | 16 - .../structs/VkPhysicalDeviceProperties.txt | 21 - .../VkPhysicalDeviceSparseProperties.txt | 17 - .../api/structs/VkPipelineCacheCreateInfo.txt | 17 - .../VkPipelineColorBlendAttachmentState.txt | 20 - .../VkPipelineColorBlendStateCreateInfo.txt | 20 - .../VkPipelineDepthStencilStateCreateInfo.txt | 24 - .../VkPipelineDynamicStateCreateInfo.txt | 17 - ...VkPipelineInputAssemblyStateCreateInfo.txt | 17 - .../structs/VkPipelineLayoutCreateInfo.txt | 19 - .../VkPipelineMultisampleStateCreateInfo.txt | 21 - ...VkPipelineRasterizationStateCreateInfo.txt | 25 - .../VkPipelineShaderStageCreateInfo.txt | 19 - .../VkPipelineTessellationStateCreateInfo.txt | 16 - .../VkPipelineVertexInputStateCreateInfo.txt | 19 - .../VkPipelineViewportStateCreateInfo.txt | 19 - .../api/structs/VkPushConstantRange.txt | 15 - .../api/structs/VkQueryPoolCreateInfo.txt | 18 - .../api/structs/VkQueueFamilyProperties.txt | 16 - doc/specs/vulkan/api/structs/VkRect2D.txt | 14 - .../api/structs/VkRenderPassBeginInfo.txt | 19 - .../api/structs/VkRenderPassCreateInfo.txt | 21 - .../api/structs/VkSamplerCreateInfo.txt | 30 - .../api/structs/VkSemaphoreCreateInfo.txt | 15 - .../api/structs/VkShaderModuleCreateInfo.txt | 17 - .../structs/VkSparseBufferMemoryBindInfo.txt | 15 - .../structs/VkSparseImageFormatProperties.txt | 15 - .../api/structs/VkSparseImageMemoryBind.txt | 18 - .../structs/VkSparseImageMemoryBindInfo.txt | 15 - .../VkSparseImageMemoryRequirements.txt | 17 - .../VkSparseImageOpaqueMemoryBindInfo.txt | 15 - .../vulkan/api/structs/VkSparseMemoryBind.txt | 17 - .../api/structs/VkSpecializationInfo.txt | 16 - .../api/structs/VkSpecializationMapEntry.txt | 15 - .../vulkan/api/structs/VkStencilOpState.txt | 19 - doc/specs/vulkan/api/structs/VkSubmitInfo.txt | 21 - .../api/structs/VkSubpassDependency.txt | 19 - .../api/structs/VkSubpassDescription.txt | 22 - .../api/structs/VkSubresourceLayout.txt | 17 - .../VkVertexInputAttributeDescription.txt | 16 - .../VkVertexInputBindingDescription.txt | 15 - doc/specs/vulkan/api/structs/VkViewport.txt | 18 - .../api/structs/VkWriteDescriptorSet.txt | 22 - doc/specs/vulkan/api/timeMarker | 0 .../appendices/VK_AMD_draw_indirect_count.txt | 35 + .../vulkan/appendices/VK_AMD_gcn_shader.txt | 27 + .../appendices/VK_AMD_rasterization_order.txt | 112 ++ ...K_AMD_shader_explicit_vertex_parameter.txt | 28 + .../VK_AMD_shader_trinary_minmax.txt | 28 + .../vulkan/appendices/VK_EXT_debug_marker.txt | 197 +++ .../vulkan/appendices/VK_EXT_debug_report.txt | 232 +++ .../vulkan/appendices/VK_IMG_filter_cubic.txt | 53 + .../vk_khr_android_surface.txt | 90 + .../VK_KHR_display/vk_khr_display.txt | 510 ++++++ .../vk_khr_display_swapchain.txt | 197 +++ .../VK_KHR_mir_surface/vk_khr_mir_surface.txt | 84 + .../VK_KHR_surface/vk_khr_surface.txt | 346 ++++ .../vulkan/appendices/VK_KHR_surface/wsi.txt | 53 + .../VK_KHR_swapchain/vk_khr_swapchain.txt | 1456 +++++++++++++++++ .../vk_khr_wayland_surface.txt | 93 ++ .../vk_khr_win32_surface.txt | 90 + .../VK_KHR_xcb_surface/vk_khr_xcb_surface.txt | 98 ++ .../vk_khr_xlib_surface.txt | 99 ++ .../appendices/VK_NV_dedicated_allocation.txt | 134 ++ .../appendices/VK_NV_external_memory.txt | 96 ++ .../VK_NV_external_memory_capabilities.txt | 73 + .../VK_NV_external_memory_win32.txt | 238 +++ .../vulkan/appendices/VK_NV_glsl_shader.txt | 66 + .../appendices/VK_NV_win32_keyed_mutex.txt | 197 +++ doc/specs/vulkan/appendices/boilerplate.txt | 14 + doc/specs/vulkan/appendices/invariance.txt | 5 + doc/specs/vulkan/appendices/spirvenv.txt | 27 +- doc/specs/vulkan/buildRelease | 83 - .../vulkan/chapters/VK_EXT_debug_marker.txt | 207 +++ .../filter_cubic_sampled_bit_description.txt | 9 + .../filter_cubic_texel_filtering.txt | 64 + .../filter_cubic_texel_selection.txt | 16 + .../VK_IMG_filter_cubic/supported_formats.txt | 44 + .../platformCpp_android.txt | 4 + .../platformCreateSurface_android.txt | 61 + .../platformQuerySupport_android.txt | 8 + .../chapters/VK_KHR_display/display.txt | 437 +++++ ...ultErrorDescriptions_display_swapchain.txt | 3 + .../create_shared_swapchains.txt | 37 + .../destroy_swapchain_interactions.txt | 5 + .../display_swapchain_present.txt | 42 + .../queue_present_interactions.txt | 5 + .../VK_KHR_mir_surface/platformCpp_mir.txt | 4 + .../platformCreateSurface_mir.txt | 41 + .../platformQuerySupport_mir.txt | 19 + .../VkResultErrorDescriptions_surface.txt | 5 + .../vulkan/chapters/VK_KHR_surface/wsi.txt | 501 ++++++ .../VkImageLayout_swapchain.txt | 5 + .../VkResultErrorDescriptions_swapchain.txt | 6 + .../VkResultSuccessDescriptions_swapchain.txt | 3 + .../vulkan/chapters/VK_KHR_swapchain/wsi.txt | 617 +++++++ .../platformCpp_wayland.txt | 4 + .../platformCreateSurface_wayland.txt | 55 + .../platformQuerySupport_wayland.txt | 19 + .../platformCpp_win32.txt | 4 + .../platformCreateSurface_win32.txt | 40 + .../platformQuerySupport_win32.txt | 17 + .../VK_KHR_xcb_surface/platformCpp_xcb.txt | 4 + .../platformCreateSurface_xcb.txt | 57 + .../platformQuerySupport_xcb.txt | 19 + .../VK_KHR_xlib_surface/platformCpp_xlib.txt | 4 + .../platformCreateSurface_xlib.txt | 58 + .../platformQuerySupport_xlib.txt | 19 + .../VK_NV_external_memory/allocate_memory.txt | 10 + .../VK_NV_external_memory/create_image.txt | 6 + .../external_image_format.txt | 64 + .../get_handle_win32.txt | 8 + .../handle_permissions.txt | 19 + .../import_memory_win32.txt | 34 + .../keyed_mutex_submit.txt | 40 + doc/specs/vulkan/chapters/cmdbuffers.txt | 4 + doc/specs/vulkan/chapters/devsandqueues.txt | 6 +- doc/specs/vulkan/chapters/drawing.txt | 79 +- doc/specs/vulkan/chapters/features.txt | 102 +- doc/specs/vulkan/chapters/fundamentals.txt | 31 +- doc/specs/vulkan/chapters/initialization.txt | 13 +- doc/specs/vulkan/chapters/interfaces.txt | 88 +- doc/specs/vulkan/chapters/introduction.txt | 2 +- doc/specs/vulkan/chapters/memory.txt | 39 + doc/specs/vulkan/chapters/pipelines.txt | 10 +- doc/specs/vulkan/chapters/primsrast.txt | 74 + doc/specs/vulkan/chapters/renderpass.txt | 2 +- doc/specs/vulkan/chapters/resources.txt | 60 + doc/specs/vulkan/chapters/samplers.txt | 2 +- doc/specs/vulkan/chapters/shaders.txt | 18 +- doc/specs/vulkan/chapters/synchronization.txt | 3 +- doc/specs/vulkan/chapters/textures.txt | 24 +- doc/specs/vulkan/genRef.py | 20 +- doc/specs/vulkan/genRelease | 6 +- doc/specs/vulkan/genspec.py | 89 +- doc/specs/vulkan/hostsynctable/implicit.txt | 51 - .../vulkan/hostsynctable/parameterlists.txt | 17 - doc/specs/vulkan/hostsynctable/parameters.txt | 90 - doc/specs/vulkan/hostsynctable/timeMarker | 0 doc/specs/vulkan/makeExt | 10 + doc/specs/vulkan/makeKHR | 24 + .../man/VK_DEFINE_NON_DISPATCHABLE_HANDLE.txt | 14 + doc/specs/vulkan/man/VkFormatProperties.txt | 4 + .../man/VkGraphicsPipelineCreateInfo.txt | 8 + doc/specs/vulkan/man/VkImageLayout.txt | 3 + doc/specs/vulkan/man/VkMemoryBarrier.txt | 2 +- .../vulkan/man/VkPhysicalDeviceFeatures.txt | 4 +- ...VkPipelineRasterizationStateCreateInfo.txt | 9 + doc/specs/vulkan/man/VkResult.txt | 18 + doc/specs/vulkan/man/VkSamplerCreateInfo.txt | 2 +- doc/specs/vulkan/man/vkCreateShaderModule.txt | 6 + doc/specs/vulkan/man/vkGetDeviceProcAddr.txt | 8 +- doc/specs/vulkan/man/vkGetEventStatus.txt | 1 + .../vulkan/man/vkGetInstanceProcAddr.txt | 5 +- .../vulkan/man/vkGetPipelineCacheData.txt | 2 +- doc/specs/vulkan/style/extensions.txt | 212 ++- doc/specs/vulkan/style/writing.txt | 17 + doc/specs/vulkan/styleguide.txt | 3 + .../protos/vkAllocateCommandBuffers.txt | 56 - .../protos/vkAllocateDescriptorSets.txt | 57 - .../validity/protos/vkAllocateMemory.txt | 46 - .../validity/protos/vkBeginCommandBuffer.txt | 60 - .../validity/protos/vkBindBufferMemory.txt | 67 - .../validity/protos/vkBindImageMemory.txt | 64 - .../validity/protos/vkCmdBeginQuery.txt | 59 - .../validity/protos/vkCmdBeginRenderPass.txt | 56 - .../protos/vkCmdBindDescriptorSets.txt | 59 - .../validity/protos/vkCmdBindIndexBuffer.txt | 53 - .../validity/protos/vkCmdBindPipeline.txt | 56 - .../protos/vkCmdBindVertexBuffers.txt | 55 - .../vulkan/validity/protos/vkCmdBlitImage.txt | 75 - .../validity/protos/vkCmdClearAttachments.txt | 55 - .../validity/protos/vkCmdClearColorImage.txt | 60 - .../protos/vkCmdClearDepthStencilImage.txt | 59 - .../validity/protos/vkCmdCopyBuffer.txt | 63 - .../protos/vkCmdCopyBufferToImage.txt | 64 - .../vulkan/validity/protos/vkCmdCopyImage.txt | 68 - .../protos/vkCmdCopyImageToBuffer.txt | 64 - .../protos/vkCmdCopyQueryPoolResults.txt | 61 - .../vulkan/validity/protos/vkCmdDispatch.txt | 61 - .../validity/protos/vkCmdDispatchIndirect.txt | 63 - .../vulkan/validity/protos/vkCmdDraw.txt | 62 - .../validity/protos/vkCmdDrawIndexed.txt | 63 - .../protos/vkCmdDrawIndexedIndirect.txt | 70 - .../validity/protos/vkCmdDrawIndirect.txt | 70 - .../vulkan/validity/protos/vkCmdEndQuery.txt | 52 - .../validity/protos/vkCmdEndRenderPass.txt | 49 - .../validity/protos/vkCmdExecuteCommands.txt | 69 - .../validity/protos/vkCmdFillBuffer.txt | 57 - .../validity/protos/vkCmdNextSubpass.txt | 50 - .../validity/protos/vkCmdPipelineBarrier.txt | 72 - .../validity/protos/vkCmdPushConstants.txt | 59 - .../validity/protos/vkCmdResetEvent.txt | 56 - .../validity/protos/vkCmdResetQueryPool.txt | 53 - .../validity/protos/vkCmdResolveImage.txt | 66 - .../protos/vkCmdSetBlendConstants.txt | 48 - .../validity/protos/vkCmdSetDepthBias.txt | 49 - .../validity/protos/vkCmdSetDepthBounds.txt | 50 - .../vulkan/validity/protos/vkCmdSetEvent.txt | 55 - .../validity/protos/vkCmdSetLineWidth.txt | 49 - .../validity/protos/vkCmdSetScissor.txt | 55 - .../protos/vkCmdSetStencilCompareMask.txt | 50 - .../protos/vkCmdSetStencilReference.txt | 50 - .../protos/vkCmdSetStencilWriteMask.txt | 50 - .../validity/protos/vkCmdSetViewport.txt | 52 - .../validity/protos/vkCmdUpdateBuffer.txt | 60 - .../validity/protos/vkCmdWaitEvents.txt | 64 - .../validity/protos/vkCmdWriteTimestamp.txt | 53 - .../vulkan/validity/protos/vkCreateBuffer.txt | 45 - .../validity/protos/vkCreateBufferView.txt | 44 - .../validity/protos/vkCreateCommandPool.txt | 44 - .../protos/vkCreateComputePipelines.txt | 48 - .../protos/vkCreateDescriptorPool.txt | 44 - .../protos/vkCreateDescriptorSetLayout.txt | 44 - .../vulkan/validity/protos/vkCreateDevice.txt | 49 - .../vulkan/validity/protos/vkCreateEvent.txt | 44 - .../vulkan/validity/protos/vkCreateFence.txt | 44 - .../validity/protos/vkCreateFramebuffer.txt | 44 - .../protos/vkCreateGraphicsPipelines.txt | 48 - .../vulkan/validity/protos/vkCreateImage.txt | 45 - .../validity/protos/vkCreateImageView.txt | 44 - .../validity/protos/vkCreateInstance.txt | 47 - .../validity/protos/vkCreatePipelineCache.txt | 44 - .../protos/vkCreatePipelineLayout.txt | 44 - .../validity/protos/vkCreateQueryPool.txt | 44 - .../validity/protos/vkCreateRenderPass.txt | 44 - .../validity/protos/vkCreateSampler.txt | 45 - .../validity/protos/vkCreateSemaphore.txt | 44 - .../validity/protos/vkCreateShaderModule.txt | 44 - .../validity/protos/vkDestroyBuffer.txt | 33 - .../validity/protos/vkDestroyBufferView.txt | 33 - .../validity/protos/vkDestroyCommandPool.txt | 33 - .../protos/vkDestroyDescriptorPool.txt | 33 - .../protos/vkDestroyDescriptorSetLayout.txt | 32 - .../validity/protos/vkDestroyDevice.txt | 31 - .../vulkan/validity/protos/vkDestroyEvent.txt | 33 - .../vulkan/validity/protos/vkDestroyFence.txt | 33 - .../validity/protos/vkDestroyFramebuffer.txt | 33 - .../vulkan/validity/protos/vkDestroyImage.txt | 33 - .../validity/protos/vkDestroyImageView.txt | 33 - .../validity/protos/vkDestroyInstance.txt | 31 - .../validity/protos/vkDestroyPipeline.txt | 33 - .../protos/vkDestroyPipelineCache.txt | 32 - .../protos/vkDestroyPipelineLayout.txt | 32 - .../validity/protos/vkDestroyQueryPool.txt | 33 - .../validity/protos/vkDestroyRenderPass.txt | 33 - .../validity/protos/vkDestroySampler.txt | 33 - .../validity/protos/vkDestroySemaphore.txt | 33 - .../validity/protos/vkDestroyShaderModule.txt | 32 - .../validity/protos/vkDeviceWaitIdle.txt | 55 - .../validity/protos/vkEndCommandBuffer.txt | 57 - .../vkEnumerateDeviceExtensionProperties.txt | 47 - .../vkEnumerateDeviceLayerProperties.txt | 44 - ...vkEnumerateInstanceExtensionProperties.txt | 46 - .../vkEnumerateInstanceLayerProperties.txt | 43 - .../protos/vkEnumeratePhysicalDevices.txt | 45 - .../protos/vkFlushMappedMemoryRanges.txt | 43 - .../validity/protos/vkFreeCommandBuffers.txt | 34 - .../validity/protos/vkFreeDescriptorSets.txt | 63 - .../vulkan/validity/protos/vkFreeMemory.txt | 31 - .../protos/vkGetBufferMemoryRequirements.txt | 17 - .../protos/vkGetDeviceMemoryCommitment.txt | 18 - .../validity/protos/vkGetDeviceProcAddr.txt | 15 - .../validity/protos/vkGetDeviceQueue.txt | 17 - .../validity/protos/vkGetEventStatus.txt | 45 - .../validity/protos/vkGetFenceStatus.txt | 45 - .../protos/vkGetImageMemoryRequirements.txt | 17 - .../vkGetImageSparseMemoryRequirements.txt | 18 - .../protos/vkGetImageSubresourceLayout.txt | 20 - .../validity/protos/vkGetInstanceProcAddr.txt | 15 - .../protos/vkGetPhysicalDeviceFeatures.txt | 15 - .../vkGetPhysicalDeviceFormatProperties.txt | 16 - ...GetPhysicalDeviceImageFormatProperties.txt | 49 - .../vkGetPhysicalDeviceMemoryProperties.txt | 15 - .../protos/vkGetPhysicalDeviceProperties.txt | 15 - ...GetPhysicalDeviceQueueFamilyProperties.txt | 16 - ...sicalDeviceSparseImageFormatProperties.txt | 23 - .../protos/vkGetPipelineCacheData.txt | 46 - .../validity/protos/vkGetQueryPoolResults.txt | 54 - .../protos/vkGetRenderAreaGranularity.txt | 17 - .../protos/vkInvalidateMappedMemoryRanges.txt | 43 - .../vulkan/validity/protos/vkMapMemory.txt | 64 - .../validity/protos/vkMergePipelineCaches.txt | 60 - .../validity/protos/vkQueueBindSparse.txt | 84 - .../vulkan/validity/protos/vkQueueSubmit.txt | 80 - .../validity/protos/vkQueueWaitIdle.txt | 59 - .../validity/protos/vkResetCommandBuffer.txt | 57 - .../validity/protos/vkResetCommandPool.txt | 58 - .../validity/protos/vkResetDescriptorPool.txt | 59 - .../vulkan/validity/protos/vkResetEvent.txt | 57 - .../vulkan/validity/protos/vkResetFences.txt | 58 - .../vulkan/validity/protos/vkSetEvent.txt | 56 - .../vulkan/validity/protos/vkUnmapMemory.txt | 30 - .../protos/vkUpdateDescriptorSets.txt | 30 - .../validity/protos/vkWaitForFences.txt | 46 - .../structs/VkAllocationCallbacks.txt | 17 - .../validity/structs/VkApplicationInfo.txt | 18 - .../structs/VkAttachmentDescription.txt | 23 - .../structs/VkAttachmentReference.txt | 15 - .../validity/structs/VkBindSparseInfo.txt | 21 - .../vulkan/validity/structs/VkBufferCopy.txt | 1 - .../validity/structs/VkBufferCreateInfo.txt | 26 - .../validity/structs/VkBufferImageCopy.txt | 33 - .../structs/VkBufferMemoryBarrier.txt | 24 - .../structs/VkBufferViewCreateInfo.txt | 28 - .../validity/structs/VkClearAttachment.txt | 17 - .../validity/structs/VkClearColorValue.txt | 1 - .../structs/VkClearDepthStencilValue.txt | 1 - .../vulkan/validity/structs/VkClearRect.txt | 1 - .../vulkan/validity/structs/VkClearValue.txt | 1 - .../structs/VkCommandBufferAllocateInfo.txt | 18 - .../structs/VkCommandBufferBeginInfo.txt | 19 - .../VkCommandBufferInheritanceInfo.txt | 19 - .../structs/VkCommandPoolCreateInfo.txt | 17 - .../validity/structs/VkComponentMapping.txt | 17 - .../structs/VkComputePipelineCreateInfo.txt | 27 - .../validity/structs/VkCopyDescriptorSet.txt | 23 - .../structs/VkDescriptorBufferInfo.txt | 17 - .../structs/VkDescriptorImageInfo.txt | 14 - .../structs/VkDescriptorPoolCreateInfo.txt | 19 - .../validity/structs/VkDescriptorPoolSize.txt | 15 - .../structs/VkDescriptorSetAllocateInfo.txt | 21 - .../structs/VkDescriptorSetLayoutBinding.txt | 16 - .../VkDescriptorSetLayoutCreateInfo.txt | 17 - .../validity/structs/VkDeviceCreateInfo.txt | 22 - .../structs/VkDeviceQueueCreateInfo.txt | 21 - .../structs/VkDispatchIndirectCommand.txt | 16 - .../structs/VkDrawIndexedIndirectCommand.txt | 16 - .../structs/VkDrawIndirectCommand.txt | 15 - .../validity/structs/VkEventCreateInfo.txt | 16 - .../structs/VkExtensionProperties.txt | 1 - .../vulkan/validity/structs/VkExtent2D.txt | 1 - .../vulkan/validity/structs/VkExtent3D.txt | 1 - .../validity/structs/VkFenceCreateInfo.txt | 16 - .../validity/structs/VkFormatProperties.txt | 1 - .../structs/VkFramebufferCreateInfo.txt | 31 - .../structs/VkGraphicsPipelineCreateInfo.txt | 64 - .../vulkan/validity/structs/VkImageBlit.txt | 27 - .../vulkan/validity/structs/VkImageCopy.txt | 37 - .../validity/structs/VkImageCreateInfo.txt | 67 - .../structs/VkImageFormatProperties.txt | 1 - .../validity/structs/VkImageMemoryBarrier.txt | 34 - .../validity/structs/VkImageResolve.txt | 18 - .../validity/structs/VkImageSubresource.txt | 17 - .../structs/VkImageSubresourceLayers.txt | 19 - .../structs/VkImageSubresourceRange.txt | 17 - .../structs/VkImageViewCreateInfo.txt | 40 - .../validity/structs/VkInstanceCreateInfo.txt | 19 - .../validity/structs/VkLayerProperties.txt | 1 - .../validity/structs/VkMappedMemoryRange.txt | 21 - .../validity/structs/VkMemoryAllocateInfo.txt | 17 - .../validity/structs/VkMemoryBarrier.txt | 17 - .../vulkan/validity/structs/VkMemoryHeap.txt | 1 - .../validity/structs/VkMemoryRequirements.txt | 1 - .../vulkan/validity/structs/VkMemoryType.txt | 1 - .../vulkan/validity/structs/VkOffset2D.txt | 1 - .../vulkan/validity/structs/VkOffset3D.txt | 1 - .../structs/VkPhysicalDeviceFeatures.txt | 14 - .../structs/VkPhysicalDeviceLimits.txt | 1 - .../VkPhysicalDeviceMemoryProperties.txt | 1 - .../structs/VkPhysicalDeviceProperties.txt | 1 - .../VkPhysicalDeviceSparseProperties.txt | 1 - .../structs/VkPipelineCacheCreateInfo.txt | 19 - .../VkPipelineColorBlendAttachmentState.txt | 24 - .../VkPipelineColorBlendStateCreateInfo.txt | 20 - .../VkPipelineDepthStencilStateCreateInfo.txt | 20 - .../VkPipelineDynamicStateCreateInfo.txt | 18 - ...VkPipelineInputAssemblyStateCreateInfo.txt | 20 - .../structs/VkPipelineLayoutCreateInfo.txt | 24 - .../VkPipelineMultisampleStateCreateInfo.txt | 21 - ...VkPipelineRasterizationStateCreateInfo.txt | 21 - .../VkPipelineShaderStageCreateInfo.txt | 36 - .../VkPipelineTessellationStateCreateInfo.txt | 17 - .../VkPipelineVertexInputStateCreateInfo.txt | 23 - .../VkPipelineViewportStateCreateInfo.txt | 23 - .../validity/structs/VkPushConstantRange.txt | 19 - .../structs/VkQueryPoolCreateInfo.txt | 19 - .../structs/VkQueueFamilyProperties.txt | 1 - .../vulkan/validity/structs/VkRect2D.txt | 1 - .../structs/VkRenderPassBeginInfo.txt | 20 - .../structs/VkRenderPassCreateInfo.txt | 24 - .../validity/structs/VkSamplerCreateInfo.txt | 34 - .../structs/VkSemaphoreCreateInfo.txt | 16 - .../structs/VkShaderModuleCreateInfo.txt | 24 - .../structs/VkSparseBufferMemoryBindInfo.txt | 16 - .../structs/VkSparseImageFormatProperties.txt | 1 - .../structs/VkSparseImageMemoryBind.txt | 25 - .../structs/VkSparseImageMemoryBindInfo.txt | 16 - .../VkSparseImageMemoryRequirements.txt | 1 - .../VkSparseImageOpaqueMemoryBindInfo.txt | 17 - .../validity/structs/VkSparseMemoryBind.txt | 22 - .../validity/structs/VkSpecializationInfo.txt | 17 - .../structs/VkSpecializationMapEntry.txt | 14 - .../validity/structs/VkStencilOpState.txt | 17 - .../vulkan/validity/structs/VkSubmitInfo.txt | 33 - .../validity/structs/VkSubpassDependency.txt | 28 - .../validity/structs/VkSubpassDescription.txt | 32 - .../validity/structs/VkSubresourceLayout.txt | 1 - .../VkVertexInputAttributeDescription.txt | 18 - .../VkVertexInputBindingDescription.txt | 16 - .../vulkan/validity/structs/VkViewport.txt | 20 - .../validity/structs/VkWriteDescriptorSet.txt | 36 - doc/specs/vulkan/validity/timeMarker | 0 doc/specs/vulkan/vkspec.txt | 70 +- src/spec/Makefile | 25 +- src/spec/README | 176 -- src/spec/README.adoc | 166 ++ src/spec/cgenerator.py | 10 +- src/spec/docgenerator.py | 7 +- src/spec/generator.py | 10 + src/spec/genvk.py | 13 +- src/spec/reg.py | 2 +- src/spec/registry.rnc | 33 +- src/spec/registry.txt | 84 +- src/spec/validitygenerator.py | 54 +- src/spec/vk.xml | 273 +++- src/vulkan/vk_platform.h | 2 +- src/vulkan/vulkan.h | 159 +- 793 files changed, 9132 insertions(+), 15762 deletions(-) delete mode 100644 doc/specs/vulkan/api/basetypes/VkBool32.txt delete mode 100644 doc/specs/vulkan/api/basetypes/VkDeviceSize.txt delete mode 100644 doc/specs/vulkan/api/basetypes/VkFlags.txt delete mode 100644 doc/specs/vulkan/api/basetypes/VkSampleMask.txt delete mode 100644 doc/specs/vulkan/api/defines/VK_API_VERSION.txt delete mode 100644 doc/specs/vulkan/api/defines/VK_API_VERSION_1_0.txt delete mode 100644 doc/specs/vulkan/api/defines/VK_DEFINE_HANDLE.txt delete mode 100644 doc/specs/vulkan/api/defines/VK_DEFINE_NON_DISPATCHABLE_HANDLE.txt delete mode 100644 doc/specs/vulkan/api/defines/VK_HEADER_VERSION.txt delete mode 100644 doc/specs/vulkan/api/defines/VK_MAKE_VERSION.txt delete mode 100644 doc/specs/vulkan/api/defines/VK_NULL_HANDLE.txt delete mode 100644 doc/specs/vulkan/api/defines/VK_VERSION_MAJOR.txt delete mode 100644 doc/specs/vulkan/api/defines/VK_VERSION_MINOR.txt delete mode 100644 doc/specs/vulkan/api/defines/VK_VERSION_PATCH.txt delete mode 100644 doc/specs/vulkan/api/enums/VkAccessFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkAttachmentDescriptionFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkAttachmentLoadOp.txt delete mode 100644 doc/specs/vulkan/api/enums/VkAttachmentStoreOp.txt delete mode 100644 doc/specs/vulkan/api/enums/VkBlendFactor.txt delete mode 100644 doc/specs/vulkan/api/enums/VkBlendOp.txt delete mode 100644 doc/specs/vulkan/api/enums/VkBorderColor.txt delete mode 100644 doc/specs/vulkan/api/enums/VkBufferCreateFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkBufferUsageFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkColorComponentFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkCommandBufferLevel.txt delete mode 100644 doc/specs/vulkan/api/enums/VkCommandBufferResetFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkCommandBufferUsageFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkCommandPoolCreateFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkCommandPoolResetFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkCompareOp.txt delete mode 100644 doc/specs/vulkan/api/enums/VkComponentSwizzle.txt delete mode 100644 doc/specs/vulkan/api/enums/VkCullModeFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkDependencyFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkDescriptorPoolCreateFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkDescriptorType.txt delete mode 100644 doc/specs/vulkan/api/enums/VkDynamicState.txt delete mode 100644 doc/specs/vulkan/api/enums/VkFenceCreateFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkFilter.txt delete mode 100644 doc/specs/vulkan/api/enums/VkFormat.txt delete mode 100644 doc/specs/vulkan/api/enums/VkFormatFeatureFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkFrontFace.txt delete mode 100644 doc/specs/vulkan/api/enums/VkImageAspectFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkImageCreateFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkImageLayout.txt delete mode 100644 doc/specs/vulkan/api/enums/VkImageTiling.txt delete mode 100644 doc/specs/vulkan/api/enums/VkImageType.txt delete mode 100644 doc/specs/vulkan/api/enums/VkImageUsageFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkImageViewType.txt delete mode 100644 doc/specs/vulkan/api/enums/VkIndexType.txt delete mode 100644 doc/specs/vulkan/api/enums/VkInternalAllocationType.txt delete mode 100644 doc/specs/vulkan/api/enums/VkLogicOp.txt delete mode 100644 doc/specs/vulkan/api/enums/VkMemoryHeapFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkMemoryPropertyFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkPhysicalDeviceType.txt delete mode 100644 doc/specs/vulkan/api/enums/VkPipelineBindPoint.txt delete mode 100644 doc/specs/vulkan/api/enums/VkPipelineCacheHeaderVersion.txt delete mode 100644 doc/specs/vulkan/api/enums/VkPipelineCreateFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkPipelineStageFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkPolygonMode.txt delete mode 100644 doc/specs/vulkan/api/enums/VkPrimitiveTopology.txt delete mode 100644 doc/specs/vulkan/api/enums/VkQueryControlFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkQueryPipelineStatisticFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkQueryResultFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkQueryType.txt delete mode 100644 doc/specs/vulkan/api/enums/VkQueueFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkResult.txt delete mode 100644 doc/specs/vulkan/api/enums/VkSampleCountFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkSamplerAddressMode.txt delete mode 100644 doc/specs/vulkan/api/enums/VkSamplerMipmapMode.txt delete mode 100644 doc/specs/vulkan/api/enums/VkShaderStageFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkSharingMode.txt delete mode 100644 doc/specs/vulkan/api/enums/VkSparseImageFormatFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkSparseMemoryBindFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkStencilFaceFlagBits.txt delete mode 100644 doc/specs/vulkan/api/enums/VkStencilOp.txt delete mode 100644 doc/specs/vulkan/api/enums/VkStructureType.txt delete mode 100644 doc/specs/vulkan/api/enums/VkSubpassContents.txt delete mode 100644 doc/specs/vulkan/api/enums/VkSystemAllocationScope.txt delete mode 100644 doc/specs/vulkan/api/enums/VkVertexInputRate.txt delete mode 100644 doc/specs/vulkan/api/flags/VkAccessFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkAttachmentDescriptionFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkBufferCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkBufferUsageFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkBufferViewCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkColorComponentFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkCommandBufferResetFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkCommandBufferUsageFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkCommandPoolCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkCommandPoolResetFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkCullModeFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkDependencyFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkDescriptorPoolCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkDescriptorPoolResetFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkDescriptorSetLayoutCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkDeviceCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkDeviceQueueCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkEventCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkFenceCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkFormatFeatureFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkFramebufferCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkImageAspectFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkImageCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkImageUsageFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkImageViewCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkInstanceCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkMemoryHeapFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkMemoryMapFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkMemoryPropertyFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkPipelineCacheCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkPipelineColorBlendStateCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkPipelineCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkPipelineDepthStencilStateCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkPipelineDynamicStateCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkPipelineInputAssemblyStateCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkPipelineLayoutCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkPipelineMultisampleStateCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkPipelineRasterizationStateCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkPipelineShaderStageCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkPipelineStageFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkPipelineTessellationStateCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkPipelineVertexInputStateCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkPipelineViewportStateCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkQueryControlFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkQueryPipelineStatisticFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkQueryPoolCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkQueryResultFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkQueueFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkRenderPassCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkSampleCountFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkSamplerCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkSemaphoreCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkShaderModuleCreateFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkShaderStageFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkSparseImageFormatFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkSparseMemoryBindFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkStencilFaceFlags.txt delete mode 100644 doc/specs/vulkan/api/flags/VkSubpassDescriptionFlags.txt delete mode 100644 doc/specs/vulkan/api/funcpointers/PFN_vkAllocationFunction.txt delete mode 100644 doc/specs/vulkan/api/funcpointers/PFN_vkFreeFunction.txt delete mode 100644 doc/specs/vulkan/api/funcpointers/PFN_vkInternalAllocationNotification.txt delete mode 100644 doc/specs/vulkan/api/funcpointers/PFN_vkInternalFreeNotification.txt delete mode 100644 doc/specs/vulkan/api/funcpointers/PFN_vkReallocationFunction.txt delete mode 100644 doc/specs/vulkan/api/funcpointers/PFN_vkVoidFunction.txt delete mode 100644 doc/specs/vulkan/api/handles/VkBuffer.txt delete mode 100644 doc/specs/vulkan/api/handles/VkBufferView.txt delete mode 100644 doc/specs/vulkan/api/handles/VkCommandBuffer.txt delete mode 100644 doc/specs/vulkan/api/handles/VkCommandPool.txt delete mode 100644 doc/specs/vulkan/api/handles/VkDescriptorPool.txt delete mode 100644 doc/specs/vulkan/api/handles/VkDescriptorSet.txt delete mode 100644 doc/specs/vulkan/api/handles/VkDescriptorSetLayout.txt delete mode 100644 doc/specs/vulkan/api/handles/VkDevice.txt delete mode 100644 doc/specs/vulkan/api/handles/VkDeviceMemory.txt delete mode 100644 doc/specs/vulkan/api/handles/VkEvent.txt delete mode 100644 doc/specs/vulkan/api/handles/VkFence.txt delete mode 100644 doc/specs/vulkan/api/handles/VkFramebuffer.txt delete mode 100644 doc/specs/vulkan/api/handles/VkImage.txt delete mode 100644 doc/specs/vulkan/api/handles/VkImageView.txt delete mode 100644 doc/specs/vulkan/api/handles/VkInstance.txt delete mode 100644 doc/specs/vulkan/api/handles/VkPhysicalDevice.txt delete mode 100644 doc/specs/vulkan/api/handles/VkPipeline.txt delete mode 100644 doc/specs/vulkan/api/handles/VkPipelineCache.txt delete mode 100644 doc/specs/vulkan/api/handles/VkPipelineLayout.txt delete mode 100644 doc/specs/vulkan/api/handles/VkQueryPool.txt delete mode 100644 doc/specs/vulkan/api/handles/VkQueue.txt delete mode 100644 doc/specs/vulkan/api/handles/VkRenderPass.txt delete mode 100644 doc/specs/vulkan/api/handles/VkSampler.txt delete mode 100644 doc/specs/vulkan/api/handles/VkSemaphore.txt delete mode 100644 doc/specs/vulkan/api/handles/VkShaderModule.txt delete mode 100644 doc/specs/vulkan/api/protos/vkAllocateCommandBuffers.txt delete mode 100644 doc/specs/vulkan/api/protos/vkAllocateDescriptorSets.txt delete mode 100644 doc/specs/vulkan/api/protos/vkAllocateMemory.txt delete mode 100644 doc/specs/vulkan/api/protos/vkBeginCommandBuffer.txt delete mode 100644 doc/specs/vulkan/api/protos/vkBindBufferMemory.txt delete mode 100644 doc/specs/vulkan/api/protos/vkBindImageMemory.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdBeginQuery.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdBeginRenderPass.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdBindDescriptorSets.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdBindIndexBuffer.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdBindPipeline.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdBindVertexBuffers.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdBlitImage.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdClearAttachments.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdClearColorImage.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdClearDepthStencilImage.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdCopyBuffer.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdCopyBufferToImage.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdCopyImage.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdCopyImageToBuffer.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdCopyQueryPoolResults.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdDispatch.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdDispatchIndirect.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdDraw.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdDrawIndexed.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdDrawIndexedIndirect.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdDrawIndirect.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdEndQuery.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdEndRenderPass.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdExecuteCommands.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdFillBuffer.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdNextSubpass.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdPipelineBarrier.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdPushConstants.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdResetEvent.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdResetQueryPool.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdResolveImage.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdSetBlendConstants.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdSetDepthBias.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdSetDepthBounds.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdSetEvent.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdSetLineWidth.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdSetScissor.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdSetStencilCompareMask.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdSetStencilReference.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdSetStencilWriteMask.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdSetViewport.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdUpdateBuffer.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdWaitEvents.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCmdWriteTimestamp.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCreateBuffer.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCreateBufferView.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCreateCommandPool.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCreateComputePipelines.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCreateDescriptorPool.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCreateDescriptorSetLayout.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCreateDevice.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCreateEvent.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCreateFence.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCreateFramebuffer.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCreateGraphicsPipelines.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCreateImage.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCreateImageView.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCreateInstance.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCreatePipelineCache.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCreatePipelineLayout.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCreateQueryPool.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCreateRenderPass.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCreateSampler.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCreateSemaphore.txt delete mode 100644 doc/specs/vulkan/api/protos/vkCreateShaderModule.txt delete mode 100644 doc/specs/vulkan/api/protos/vkDestroyBuffer.txt delete mode 100644 doc/specs/vulkan/api/protos/vkDestroyBufferView.txt delete mode 100644 doc/specs/vulkan/api/protos/vkDestroyCommandPool.txt delete mode 100644 doc/specs/vulkan/api/protos/vkDestroyDescriptorPool.txt delete mode 100644 doc/specs/vulkan/api/protos/vkDestroyDescriptorSetLayout.txt delete mode 100644 doc/specs/vulkan/api/protos/vkDestroyDevice.txt delete mode 100644 doc/specs/vulkan/api/protos/vkDestroyEvent.txt delete mode 100644 doc/specs/vulkan/api/protos/vkDestroyFence.txt delete mode 100644 doc/specs/vulkan/api/protos/vkDestroyFramebuffer.txt delete mode 100644 doc/specs/vulkan/api/protos/vkDestroyImage.txt delete mode 100644 doc/specs/vulkan/api/protos/vkDestroyImageView.txt delete mode 100644 doc/specs/vulkan/api/protos/vkDestroyInstance.txt delete mode 100644 doc/specs/vulkan/api/protos/vkDestroyPipeline.txt delete mode 100644 doc/specs/vulkan/api/protos/vkDestroyPipelineCache.txt delete mode 100644 doc/specs/vulkan/api/protos/vkDestroyPipelineLayout.txt delete mode 100644 doc/specs/vulkan/api/protos/vkDestroyQueryPool.txt delete mode 100644 doc/specs/vulkan/api/protos/vkDestroyRenderPass.txt delete mode 100644 doc/specs/vulkan/api/protos/vkDestroySampler.txt delete mode 100644 doc/specs/vulkan/api/protos/vkDestroySemaphore.txt delete mode 100644 doc/specs/vulkan/api/protos/vkDestroyShaderModule.txt delete mode 100644 doc/specs/vulkan/api/protos/vkDeviceWaitIdle.txt delete mode 100644 doc/specs/vulkan/api/protos/vkEndCommandBuffer.txt delete mode 100644 doc/specs/vulkan/api/protos/vkEnumerateDeviceExtensionProperties.txt delete mode 100644 doc/specs/vulkan/api/protos/vkEnumerateDeviceLayerProperties.txt delete mode 100644 doc/specs/vulkan/api/protos/vkEnumerateInstanceExtensionProperties.txt delete mode 100644 doc/specs/vulkan/api/protos/vkEnumerateInstanceLayerProperties.txt delete mode 100644 doc/specs/vulkan/api/protos/vkEnumeratePhysicalDevices.txt delete mode 100644 doc/specs/vulkan/api/protos/vkFlushMappedMemoryRanges.txt delete mode 100644 doc/specs/vulkan/api/protos/vkFreeCommandBuffers.txt delete mode 100644 doc/specs/vulkan/api/protos/vkFreeDescriptorSets.txt delete mode 100644 doc/specs/vulkan/api/protos/vkFreeMemory.txt delete mode 100644 doc/specs/vulkan/api/protos/vkGetBufferMemoryRequirements.txt delete mode 100644 doc/specs/vulkan/api/protos/vkGetDeviceMemoryCommitment.txt delete mode 100644 doc/specs/vulkan/api/protos/vkGetDeviceProcAddr.txt delete mode 100644 doc/specs/vulkan/api/protos/vkGetDeviceQueue.txt delete mode 100644 doc/specs/vulkan/api/protos/vkGetEventStatus.txt delete mode 100644 doc/specs/vulkan/api/protos/vkGetFenceStatus.txt delete mode 100644 doc/specs/vulkan/api/protos/vkGetImageMemoryRequirements.txt delete mode 100644 doc/specs/vulkan/api/protos/vkGetImageSparseMemoryRequirements.txt delete mode 100644 doc/specs/vulkan/api/protos/vkGetImageSubresourceLayout.txt delete mode 100644 doc/specs/vulkan/api/protos/vkGetInstanceProcAddr.txt delete mode 100644 doc/specs/vulkan/api/protos/vkGetPhysicalDeviceFeatures.txt delete mode 100644 doc/specs/vulkan/api/protos/vkGetPhysicalDeviceFormatProperties.txt delete mode 100644 doc/specs/vulkan/api/protos/vkGetPhysicalDeviceImageFormatProperties.txt delete mode 100644 doc/specs/vulkan/api/protos/vkGetPhysicalDeviceMemoryProperties.txt delete mode 100644 doc/specs/vulkan/api/protos/vkGetPhysicalDeviceProperties.txt delete mode 100644 doc/specs/vulkan/api/protos/vkGetPhysicalDeviceQueueFamilyProperties.txt delete mode 100644 doc/specs/vulkan/api/protos/vkGetPhysicalDeviceSparseImageFormatProperties.txt delete mode 100644 doc/specs/vulkan/api/protos/vkGetPipelineCacheData.txt delete mode 100644 doc/specs/vulkan/api/protos/vkGetQueryPoolResults.txt delete mode 100644 doc/specs/vulkan/api/protos/vkGetRenderAreaGranularity.txt delete mode 100644 doc/specs/vulkan/api/protos/vkInvalidateMappedMemoryRanges.txt delete mode 100644 doc/specs/vulkan/api/protos/vkMapMemory.txt delete mode 100644 doc/specs/vulkan/api/protos/vkMergePipelineCaches.txt delete mode 100644 doc/specs/vulkan/api/protos/vkQueueBindSparse.txt delete mode 100644 doc/specs/vulkan/api/protos/vkQueueSubmit.txt delete mode 100644 doc/specs/vulkan/api/protos/vkQueueWaitIdle.txt delete mode 100644 doc/specs/vulkan/api/protos/vkResetCommandBuffer.txt delete mode 100644 doc/specs/vulkan/api/protos/vkResetCommandPool.txt delete mode 100644 doc/specs/vulkan/api/protos/vkResetDescriptorPool.txt delete mode 100644 doc/specs/vulkan/api/protos/vkResetEvent.txt delete mode 100644 doc/specs/vulkan/api/protos/vkResetFences.txt delete mode 100644 doc/specs/vulkan/api/protos/vkSetEvent.txt delete mode 100644 doc/specs/vulkan/api/protos/vkUnmapMemory.txt delete mode 100644 doc/specs/vulkan/api/protos/vkUpdateDescriptorSets.txt delete mode 100644 doc/specs/vulkan/api/protos/vkWaitForFences.txt delete mode 100644 doc/specs/vulkan/api/structs/VkAllocationCallbacks.txt delete mode 100644 doc/specs/vulkan/api/structs/VkApplicationInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkAttachmentDescription.txt delete mode 100644 doc/specs/vulkan/api/structs/VkAttachmentReference.txt delete mode 100644 doc/specs/vulkan/api/structs/VkBindSparseInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkBufferCopy.txt delete mode 100644 doc/specs/vulkan/api/structs/VkBufferCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkBufferImageCopy.txt delete mode 100644 doc/specs/vulkan/api/structs/VkBufferMemoryBarrier.txt delete mode 100644 doc/specs/vulkan/api/structs/VkBufferViewCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkClearAttachment.txt delete mode 100644 doc/specs/vulkan/api/structs/VkClearColorValue.txt delete mode 100644 doc/specs/vulkan/api/structs/VkClearDepthStencilValue.txt delete mode 100644 doc/specs/vulkan/api/structs/VkClearRect.txt delete mode 100644 doc/specs/vulkan/api/structs/VkClearValue.txt delete mode 100644 doc/specs/vulkan/api/structs/VkCommandBufferAllocateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkCommandBufferBeginInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkCommandBufferInheritanceInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkCommandPoolCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkComponentMapping.txt delete mode 100644 doc/specs/vulkan/api/structs/VkComputePipelineCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkCopyDescriptorSet.txt delete mode 100644 doc/specs/vulkan/api/structs/VkDescriptorBufferInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkDescriptorImageInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkDescriptorPoolCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkDescriptorPoolSize.txt delete mode 100644 doc/specs/vulkan/api/structs/VkDescriptorSetAllocateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkDescriptorSetLayoutBinding.txt delete mode 100644 doc/specs/vulkan/api/structs/VkDescriptorSetLayoutCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkDeviceCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkDeviceQueueCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkDispatchIndirectCommand.txt delete mode 100644 doc/specs/vulkan/api/structs/VkDrawIndexedIndirectCommand.txt delete mode 100644 doc/specs/vulkan/api/structs/VkDrawIndirectCommand.txt delete mode 100644 doc/specs/vulkan/api/structs/VkEventCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkExtensionProperties.txt delete mode 100644 doc/specs/vulkan/api/structs/VkExtent2D.txt delete mode 100644 doc/specs/vulkan/api/structs/VkExtent3D.txt delete mode 100644 doc/specs/vulkan/api/structs/VkFenceCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkFormatProperties.txt delete mode 100644 doc/specs/vulkan/api/structs/VkFramebufferCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkGraphicsPipelineCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkImageBlit.txt delete mode 100644 doc/specs/vulkan/api/structs/VkImageCopy.txt delete mode 100644 doc/specs/vulkan/api/structs/VkImageCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkImageFormatProperties.txt delete mode 100644 doc/specs/vulkan/api/structs/VkImageMemoryBarrier.txt delete mode 100644 doc/specs/vulkan/api/structs/VkImageResolve.txt delete mode 100644 doc/specs/vulkan/api/structs/VkImageSubresource.txt delete mode 100644 doc/specs/vulkan/api/structs/VkImageSubresourceLayers.txt delete mode 100644 doc/specs/vulkan/api/structs/VkImageSubresourceRange.txt delete mode 100644 doc/specs/vulkan/api/structs/VkImageViewCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkInstanceCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkLayerProperties.txt delete mode 100644 doc/specs/vulkan/api/structs/VkMappedMemoryRange.txt delete mode 100644 doc/specs/vulkan/api/structs/VkMemoryAllocateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkMemoryBarrier.txt delete mode 100644 doc/specs/vulkan/api/structs/VkMemoryHeap.txt delete mode 100644 doc/specs/vulkan/api/structs/VkMemoryRequirements.txt delete mode 100644 doc/specs/vulkan/api/structs/VkMemoryType.txt delete mode 100644 doc/specs/vulkan/api/structs/VkOffset2D.txt delete mode 100644 doc/specs/vulkan/api/structs/VkOffset3D.txt delete mode 100644 doc/specs/vulkan/api/structs/VkPhysicalDeviceFeatures.txt delete mode 100644 doc/specs/vulkan/api/structs/VkPhysicalDeviceLimits.txt delete mode 100644 doc/specs/vulkan/api/structs/VkPhysicalDeviceMemoryProperties.txt delete mode 100644 doc/specs/vulkan/api/structs/VkPhysicalDeviceProperties.txt delete mode 100644 doc/specs/vulkan/api/structs/VkPhysicalDeviceSparseProperties.txt delete mode 100644 doc/specs/vulkan/api/structs/VkPipelineCacheCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkPipelineColorBlendAttachmentState.txt delete mode 100644 doc/specs/vulkan/api/structs/VkPipelineColorBlendStateCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkPipelineDepthStencilStateCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkPipelineDynamicStateCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkPipelineInputAssemblyStateCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkPipelineLayoutCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkPipelineMultisampleStateCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkPipelineRasterizationStateCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkPipelineShaderStageCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkPipelineTessellationStateCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkPipelineVertexInputStateCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkPipelineViewportStateCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkPushConstantRange.txt delete mode 100644 doc/specs/vulkan/api/structs/VkQueryPoolCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkQueueFamilyProperties.txt delete mode 100644 doc/specs/vulkan/api/structs/VkRect2D.txt delete mode 100644 doc/specs/vulkan/api/structs/VkRenderPassBeginInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkRenderPassCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkSamplerCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkSemaphoreCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkShaderModuleCreateInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkSparseBufferMemoryBindInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkSparseImageFormatProperties.txt delete mode 100644 doc/specs/vulkan/api/structs/VkSparseImageMemoryBind.txt delete mode 100644 doc/specs/vulkan/api/structs/VkSparseImageMemoryBindInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkSparseImageMemoryRequirements.txt delete mode 100644 doc/specs/vulkan/api/structs/VkSparseImageOpaqueMemoryBindInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkSparseMemoryBind.txt delete mode 100644 doc/specs/vulkan/api/structs/VkSpecializationInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkSpecializationMapEntry.txt delete mode 100644 doc/specs/vulkan/api/structs/VkStencilOpState.txt delete mode 100644 doc/specs/vulkan/api/structs/VkSubmitInfo.txt delete mode 100644 doc/specs/vulkan/api/structs/VkSubpassDependency.txt delete mode 100644 doc/specs/vulkan/api/structs/VkSubpassDescription.txt delete mode 100644 doc/specs/vulkan/api/structs/VkSubresourceLayout.txt delete mode 100644 doc/specs/vulkan/api/structs/VkVertexInputAttributeDescription.txt delete mode 100644 doc/specs/vulkan/api/structs/VkVertexInputBindingDescription.txt delete mode 100644 doc/specs/vulkan/api/structs/VkViewport.txt delete mode 100644 doc/specs/vulkan/api/structs/VkWriteDescriptorSet.txt delete mode 100644 doc/specs/vulkan/api/timeMarker create mode 100644 doc/specs/vulkan/appendices/VK_AMD_draw_indirect_count.txt create mode 100644 doc/specs/vulkan/appendices/VK_AMD_gcn_shader.txt create mode 100644 doc/specs/vulkan/appendices/VK_AMD_rasterization_order.txt create mode 100644 doc/specs/vulkan/appendices/VK_AMD_shader_explicit_vertex_parameter.txt create mode 100644 doc/specs/vulkan/appendices/VK_AMD_shader_trinary_minmax.txt create mode 100644 doc/specs/vulkan/appendices/VK_EXT_debug_marker.txt create mode 100644 doc/specs/vulkan/appendices/VK_EXT_debug_report.txt create mode 100644 doc/specs/vulkan/appendices/VK_IMG_filter_cubic.txt create mode 100644 doc/specs/vulkan/appendices/VK_KHR_android_surface/vk_khr_android_surface.txt create mode 100644 doc/specs/vulkan/appendices/VK_KHR_display/vk_khr_display.txt create mode 100644 doc/specs/vulkan/appendices/VK_KHR_display_swapchain/vk_khr_display_swapchain.txt create mode 100644 doc/specs/vulkan/appendices/VK_KHR_mir_surface/vk_khr_mir_surface.txt create mode 100644 doc/specs/vulkan/appendices/VK_KHR_surface/vk_khr_surface.txt create mode 100644 doc/specs/vulkan/appendices/VK_KHR_surface/wsi.txt create mode 100644 doc/specs/vulkan/appendices/VK_KHR_swapchain/vk_khr_swapchain.txt create mode 100644 doc/specs/vulkan/appendices/VK_KHR_wayland_surface/vk_khr_wayland_surface.txt create mode 100644 doc/specs/vulkan/appendices/VK_KHR_win32_surface/vk_khr_win32_surface.txt create mode 100644 doc/specs/vulkan/appendices/VK_KHR_xcb_surface/vk_khr_xcb_surface.txt create mode 100644 doc/specs/vulkan/appendices/VK_KHR_xlib_surface/vk_khr_xlib_surface.txt create mode 100644 doc/specs/vulkan/appendices/VK_NV_dedicated_allocation.txt create mode 100644 doc/specs/vulkan/appendices/VK_NV_external_memory.txt create mode 100644 doc/specs/vulkan/appendices/VK_NV_external_memory_capabilities.txt create mode 100644 doc/specs/vulkan/appendices/VK_NV_external_memory_win32.txt create mode 100644 doc/specs/vulkan/appendices/VK_NV_glsl_shader.txt create mode 100644 doc/specs/vulkan/appendices/VK_NV_win32_keyed_mutex.txt delete mode 100755 doc/specs/vulkan/buildRelease create mode 100644 doc/specs/vulkan/chapters/VK_EXT_debug_marker.txt create mode 100644 doc/specs/vulkan/chapters/VK_IMG_filter_cubic/filter_cubic_sampled_bit_description.txt create mode 100644 doc/specs/vulkan/chapters/VK_IMG_filter_cubic/filter_cubic_texel_filtering.txt create mode 100644 doc/specs/vulkan/chapters/VK_IMG_filter_cubic/filter_cubic_texel_selection.txt create mode 100644 doc/specs/vulkan/chapters/VK_IMG_filter_cubic/supported_formats.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_android_surface/platformCpp_android.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_android_surface/platformCreateSurface_android.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_android_surface/platformQuerySupport_android.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_display/display.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_display_swapchain/VkResultErrorDescriptions_display_swapchain.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_display_swapchain/create_shared_swapchains.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_display_swapchain/destroy_swapchain_interactions.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_display_swapchain/display_swapchain_present.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_display_swapchain/queue_present_interactions.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_mir_surface/platformCpp_mir.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_mir_surface/platformCreateSurface_mir.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_mir_surface/platformQuerySupport_mir.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_surface/VkResultErrorDescriptions_surface.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_surface/wsi.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_swapchain/VkImageLayout_swapchain.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_swapchain/VkResultErrorDescriptions_swapchain.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_swapchain/VkResultSuccessDescriptions_swapchain.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_swapchain/wsi.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_wayland_surface/platformCpp_wayland.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_wayland_surface/platformCreateSurface_wayland.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_wayland_surface/platformQuerySupport_wayland.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_win32_surface/platformCpp_win32.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_win32_surface/platformCreateSurface_win32.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_win32_surface/platformQuerySupport_win32.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_xcb_surface/platformCpp_xcb.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_xcb_surface/platformCreateSurface_xcb.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_xcb_surface/platformQuerySupport_xcb.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_xlib_surface/platformCpp_xlib.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_xlib_surface/platformCreateSurface_xlib.txt create mode 100644 doc/specs/vulkan/chapters/VK_KHR_xlib_surface/platformQuerySupport_xlib.txt create mode 100644 doc/specs/vulkan/chapters/VK_NV_external_memory/allocate_memory.txt create mode 100644 doc/specs/vulkan/chapters/VK_NV_external_memory/create_image.txt create mode 100644 doc/specs/vulkan/chapters/VK_NV_external_memory_capabilities/external_image_format.txt create mode 100644 doc/specs/vulkan/chapters/VK_NV_external_memory_win32/get_handle_win32.txt create mode 100644 doc/specs/vulkan/chapters/VK_NV_external_memory_win32/handle_permissions.txt create mode 100644 doc/specs/vulkan/chapters/VK_NV_external_memory_win32/import_memory_win32.txt create mode 100644 doc/specs/vulkan/chapters/VK_NV_win32_keyed_mutex/keyed_mutex_submit.txt mode change 100755 => 100644 doc/specs/vulkan/genspec.py delete mode 100644 doc/specs/vulkan/hostsynctable/implicit.txt delete mode 100644 doc/specs/vulkan/hostsynctable/parameterlists.txt delete mode 100644 doc/specs/vulkan/hostsynctable/parameters.txt delete mode 100644 doc/specs/vulkan/hostsynctable/timeMarker create mode 100755 doc/specs/vulkan/makeExt create mode 100755 doc/specs/vulkan/makeKHR delete mode 100644 doc/specs/vulkan/validity/protos/vkAllocateCommandBuffers.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkAllocateDescriptorSets.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkAllocateMemory.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkBeginCommandBuffer.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkBindBufferMemory.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkBindImageMemory.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdBeginQuery.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdBeginRenderPass.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdBindDescriptorSets.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdBindIndexBuffer.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdBindPipeline.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdBindVertexBuffers.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdBlitImage.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdClearAttachments.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdClearColorImage.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdClearDepthStencilImage.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdCopyBuffer.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdCopyBufferToImage.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdCopyImage.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdCopyImageToBuffer.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdCopyQueryPoolResults.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdDispatch.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdDispatchIndirect.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdDraw.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdDrawIndexed.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdDrawIndexedIndirect.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdDrawIndirect.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdEndQuery.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdEndRenderPass.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdExecuteCommands.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdFillBuffer.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdNextSubpass.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdPipelineBarrier.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdPushConstants.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdResetEvent.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdResetQueryPool.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdResolveImage.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdSetBlendConstants.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdSetDepthBias.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdSetDepthBounds.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdSetEvent.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdSetLineWidth.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdSetScissor.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdSetStencilCompareMask.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdSetStencilReference.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdSetStencilWriteMask.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdSetViewport.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdUpdateBuffer.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdWaitEvents.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCmdWriteTimestamp.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCreateBuffer.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCreateBufferView.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCreateCommandPool.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCreateComputePipelines.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCreateDescriptorPool.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCreateDescriptorSetLayout.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCreateDevice.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCreateEvent.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCreateFence.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCreateFramebuffer.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCreateGraphicsPipelines.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCreateImage.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCreateImageView.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCreateInstance.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCreatePipelineCache.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCreatePipelineLayout.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCreateQueryPool.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCreateRenderPass.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCreateSampler.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCreateSemaphore.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkCreateShaderModule.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkDestroyBuffer.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkDestroyBufferView.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkDestroyCommandPool.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkDestroyDescriptorPool.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkDestroyDescriptorSetLayout.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkDestroyDevice.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkDestroyEvent.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkDestroyFence.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkDestroyFramebuffer.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkDestroyImage.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkDestroyImageView.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkDestroyInstance.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkDestroyPipeline.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkDestroyPipelineCache.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkDestroyPipelineLayout.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkDestroyQueryPool.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkDestroyRenderPass.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkDestroySampler.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkDestroySemaphore.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkDestroyShaderModule.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkDeviceWaitIdle.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkEndCommandBuffer.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkEnumerateDeviceExtensionProperties.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkEnumerateDeviceLayerProperties.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkEnumerateInstanceExtensionProperties.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkEnumerateInstanceLayerProperties.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkEnumeratePhysicalDevices.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkFlushMappedMemoryRanges.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkFreeCommandBuffers.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkFreeDescriptorSets.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkFreeMemory.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkGetBufferMemoryRequirements.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkGetDeviceMemoryCommitment.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkGetDeviceProcAddr.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkGetDeviceQueue.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkGetEventStatus.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkGetFenceStatus.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkGetImageMemoryRequirements.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkGetImageSparseMemoryRequirements.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkGetImageSubresourceLayout.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkGetInstanceProcAddr.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceFeatures.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceFormatProperties.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceImageFormatProperties.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceMemoryProperties.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceProperties.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceQueueFamilyProperties.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceSparseImageFormatProperties.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkGetPipelineCacheData.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkGetQueryPoolResults.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkGetRenderAreaGranularity.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkInvalidateMappedMemoryRanges.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkMapMemory.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkMergePipelineCaches.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkQueueBindSparse.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkQueueSubmit.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkQueueWaitIdle.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkResetCommandBuffer.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkResetCommandPool.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkResetDescriptorPool.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkResetEvent.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkResetFences.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkSetEvent.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkUnmapMemory.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkUpdateDescriptorSets.txt delete mode 100644 doc/specs/vulkan/validity/protos/vkWaitForFences.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkAllocationCallbacks.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkApplicationInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkAttachmentDescription.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkAttachmentReference.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkBindSparseInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkBufferCopy.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkBufferCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkBufferImageCopy.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkBufferMemoryBarrier.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkBufferViewCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkClearAttachment.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkClearColorValue.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkClearDepthStencilValue.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkClearRect.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkClearValue.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkCommandBufferAllocateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkCommandBufferBeginInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkCommandBufferInheritanceInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkCommandPoolCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkComponentMapping.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkComputePipelineCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkCopyDescriptorSet.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkDescriptorBufferInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkDescriptorImageInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkDescriptorPoolCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkDescriptorPoolSize.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkDescriptorSetAllocateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkDescriptorSetLayoutBinding.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkDescriptorSetLayoutCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkDeviceCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkDeviceQueueCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkDispatchIndirectCommand.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkDrawIndexedIndirectCommand.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkDrawIndirectCommand.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkEventCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkExtensionProperties.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkExtent2D.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkExtent3D.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkFenceCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkFormatProperties.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkFramebufferCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkGraphicsPipelineCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkImageBlit.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkImageCopy.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkImageCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkImageFormatProperties.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkImageMemoryBarrier.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkImageResolve.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkImageSubresource.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkImageSubresourceLayers.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkImageSubresourceRange.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkImageViewCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkInstanceCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkLayerProperties.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkMappedMemoryRange.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkMemoryAllocateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkMemoryBarrier.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkMemoryHeap.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkMemoryRequirements.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkMemoryType.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkOffset2D.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkOffset3D.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkPhysicalDeviceFeatures.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkPhysicalDeviceLimits.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkPhysicalDeviceMemoryProperties.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkPhysicalDeviceProperties.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkPhysicalDeviceSparseProperties.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkPipelineCacheCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkPipelineColorBlendAttachmentState.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkPipelineColorBlendStateCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkPipelineDepthStencilStateCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkPipelineDynamicStateCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkPipelineInputAssemblyStateCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkPipelineLayoutCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkPipelineMultisampleStateCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkPipelineRasterizationStateCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkPipelineShaderStageCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkPipelineTessellationStateCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkPipelineVertexInputStateCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkPipelineViewportStateCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkPushConstantRange.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkQueryPoolCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkQueueFamilyProperties.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkRect2D.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkRenderPassBeginInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkRenderPassCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkSamplerCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkSemaphoreCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkShaderModuleCreateInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkSparseBufferMemoryBindInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkSparseImageFormatProperties.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkSparseImageMemoryBind.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkSparseImageMemoryBindInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkSparseImageMemoryRequirements.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkSparseImageOpaqueMemoryBindInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkSparseMemoryBind.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkSpecializationInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkSpecializationMapEntry.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkStencilOpState.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkSubmitInfo.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkSubpassDependency.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkSubpassDescription.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkSubresourceLayout.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkVertexInputAttributeDescription.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkVertexInputBindingDescription.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkViewport.txt delete mode 100644 doc/specs/vulkan/validity/structs/VkWriteDescriptorSet.txt delete mode 100644 doc/specs/vulkan/validity/timeMarker delete mode 100644 src/spec/README create mode 100644 src/spec/README.adoc diff --git a/.gitignore b/.gitignore index 92db94e0..1165ea97 100644 --- a/.gitignore +++ b/.gitignore @@ -32,6 +32,7 @@ # Python cache __pycache__ +.pyc # Spec build temporary files and outputs out/1.0* diff --git a/ChangeLog.txt b/ChangeLog.txt index 6c9b6524..29444ca7 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1176,3 +1176,58 @@ Internal Issues: * Clarify that command buffers and descriptor sets are allocated rather than created. Also clarify when the recording state of a command buffer is relevant (internal issue 434). + +----------------------------------------------------- + +Change log for August 26, 2016 Vulkan 1.0.25 spec update: + + * Bump API patch number and header version number to 25 for this update. + * Structurally change the specification so that multiple extensions are + included in the +1.0+ git branch, and specifications will include or not + include those extensions at build time based on options passed to the + Makefile. See +doc/specs/vulkan/README.html+ and the ``Layers and + Extensions'' section of the ``Vulkan Documentation and Extensions'' + document for more information on this change. + * Register and publish new extensions in the single-branch form: + ** +VK_NV_external_memory_capabilities+ + ** +VK_NV_external_memory+ + ** +VK_NV_external_memory_win32+ + ** +VK_NV_win32_keyed_mutex+ + +Github Issues: + + * Clarify description of GetInstanceProcAddr and GetDeviceProcAddr (public + issue 212). + * Add SPIR-V <> for + single-sampled images (public issue 316). + * Fix spelling of ``tesselation'' in a few places and note it as an + exception to the American spelling rules convention (public issue + 327). + * Fix Makefile to create output directory for ``styleguide'' + target (public issue 329). + * Fix numerous minor issues with incorrectly tags on enumerant names and + table titles (public issue 330). + * Generate specversion.txt date in UTC time and RFC 2822 format + (public issue 335). + * Convert link to the SPIR-V Specification for + flink:VkShaderModuleCreateInfo into an internal link to the normative + reference (public issue 336). + * Add ename:VK_ERROR_OUT_OF_MEMORY error code to + flink:vkCreateDebugReportCallbackEXT (public issue 337). + +Internal Issues: + + * Update style guide regarding use of code:NULL and dname:VK_NULL_HANDLE + (internal issue 393). + * Change the definition of latexmath:[$q$] in the + <> section + to be the index of the maximum defined level for the view, not the + number of levels in the view (internal issue 406). + * Allow developers to override dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE + with their own binary-compatible definition (internal issue 439). + * Fix +vk_platform.h+ conditional logic causing compile failure with some + Android compilers (internal issue 441). + * Implement the single-branch model as described above (internal issue + 461). + +Other Issues: diff --git a/README.md b/README.md index 20457bd9..56417fb7 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,21 @@ This repository contains formal documentation of the Vulkan API. This includes the main API Specification, the reference (man) pages, the XML API Registry, and related tools and scripts. +Single-Branch Model +------------------- + +As of the 1.0.25 release, we have switch to a new 'single-branch' model in +which all extensions are included in the source of the 1.0 branch of the +Specification, and can be configured in or out of the build using Makefile +options. + +The single-branch model seems to be working for all the spec builds, +although there are probably a few issues we haven't caught yet. The ref page +build needs some additional work, as genRef.py is creating reference pages +for all interfaces, not just those for the API and extensions being built, +and we'll get to that within a week or two. The validation scripts also need +to be tweaked further for the single-branch model. + Repository Structure -------------------- @@ -17,12 +32,7 @@ doc/specs/ Main documentation tree chapters/ Chapters - one file each config/ asciidoc configuration images/ Images (figures, diagrams, icons) - man/ Reference (manual) pages for API - enums/ Includeable snippets for enumerations from vk.xml - flags/ Includeable snippets for flags from vk.xml - protos/ Includeable snippets for prototypes from vk.xml - structs/ Includeable snippets for structures from vk.xml - validity/ Includeable validity language from vk.xml + man/ Reference (manual) pages for API, mostly extracted from the spec source misc/ Related specifications (GL_KHR_vulkan_glsl) src/spec/ XML API Registry (vk.xml) and related scripts src/vulkan/ Vulkan headers, generated from the Registry @@ -58,9 +68,9 @@ There are several make targets in doc/specs/vulkan : The outputs will be written to $(OUTDIR), which defaults to out/ at the root of the checked-out git repository. -To build PDF outputs (make pdf, make manpdf), you need a2x (part of the -asciidoc) package, dblatex and a LaTeX processor. The PDF builds are -currently configured to use a2x to go from asciidoc markdown to docbook, and +To build PDF outputs (make pdf, make manpdf), you need +dblatex and a LaTeX processor. The PDF builds are +currently configured to use asciidoc to go from asciidoc markdown to docbook, and then run the result through dblatex to go from there to LaTeX and then through your LaTeX processor to PDF. @@ -100,9 +110,11 @@ Generating Headers and Related Files The header file (src/vulkan/vulkan.h) and many parts of the specification and reference page documents are generated from descriptions in the XML API -Registry (src/spec/vk.xml). All the generated files are checked into the -repository, and should not be modified directly. If you change vk.xml, -you can regenerated these files by going to src/spec and running: +Registry (src/spec/vk.xml). The generated files, with the exception +of vulkan.h, are not checked into the repository. If you change vk.xml, you +can regenerate the header by going to src/spec and running: -* make clobber (get rid of all old generated files) -* make full_install (regenerate all the files) +* make clobber install + +The other generated files are built as required via dependencies in +doc/specs/vulkan/Makefile . diff --git a/doc/specs/vulkan/Makefile b/doc/specs/vulkan/Makefile index 94706089..79bac724 100644 --- a/doc/specs/vulkan/Makefile +++ b/doc/specs/vulkan/Makefile @@ -3,24 +3,42 @@ # Vulkan Specification makefile # -# Default targets: -# - XHTML, XHTML chunked, and PDF specs ('allspecs') -# - HTML single-document reference pages ('manhtml' and 'manpdf') -# - HTML separate reference pages ('manpages' and 'manhtmlpages') -# - Validator scripts ('allchecks') +# To build the specification and reference pages with optional +# extensions included, set the $(EXTENSIONS) variable on the make +# command line to a space-separated list of extension names. The +# VK_KHR_sampler_mirror_clamp_to_edge extension which is a required part +# of Vulkan 1.0, is always included. $(EXTENSIONS) is converted into +# asciidoc and generator script arguments $(EXTATTRIBS) and +# $(EXTOPTIONS). + +EXTS := $(sort VK_KHR_sampler_mirror_clamp_to_edge $(EXTENSIONS)) +EXTATTRIBS := $(foreach ext,$(EXTS),-a $(ext)) +EXTOPTIONS := $(foreach ext,$(EXTS),-extension $(ext)) + +# APITITLE can be set to extra text to append to the document title, +# normally used when building with extensions included. +APITITLE = + +# The default 'all' target builds the following sub-targets: +# xhtml - XHTML single-page API specification +# pdf - PDF single-page API specification +# styleguide - HTML single-page "Documentation and Extensions" guide +# manhtml - XHTML single-page reference guide +# manpdf - PDF reference guide +# manhtmlpages - XHTML separate per-feature reference pages +# checkinc - validator script for asciidoc include files +# checklinks - validator script for asciidoc xrefs # -# The 'html' target is deprecated but still supported, for now. It uses -# a different toolchain than XHTML/PDF outputs, isn't quite compatible, -# and will not be published, but is faster to generate for quick tests. -# -# Other targets: -# - Nroff (Unix 'man' format) separate reference pages ('manpages'). +# The following targets are supported, but not invoked by default: +# html - HTML5 single-page API specification +# chunked - XHTML chunked (page per section) API specification +# manpages - nroff Unix 'man' format separate per-feature reference pages all: alldocs allchecks alldocs: allspecs allman -allspecs: xhtml chunked pdf styleguide +allspecs: xhtml pdf styleguide allman: manhtml manpdf manhtmlpages @@ -32,7 +50,6 @@ allchecks: checkinc checklinks QUIET ?= @ PYTHON ?= python3 ASCIIDOC ?= asciidoc.py -A2X ?= a2x.py DBLATEX ?= dblatex XSLTPROC ?= xsltproc # DBLATEXPREFIX can be overriden by setting it as an environment variable, @@ -68,28 +85,27 @@ PDFSTY :=config/vkspec-dblatex.sty VERBOSE = KEEP = -# asciidoc / a2x attributes to set. +# asciidoc attributes to set. # XMLLINT normally unset - to detect problems with intermediate files # NOTEOPTS sets options controlling which NOTEs are generated # ATTRIBOPTS sets the api revision and enables MathJax generation +# EXTATTRIBS sets attributes for enabled extensions (set above based on +# $(EXTENSIONS)) # CONFIG Vulkan-specific Asciidoc macros. File used depends on target. # ADOCOPTS options for asciidoc->HTML output -# ADOCDBOPTS options for asciidoc->XHTML or PDF output via docbook (not using a2x) -# A2XOPTS options for a2x->{HTML,PDF} output +# ADOCDBOPTS options for asciidoc->XHTML or PDF output via docbook XMLLINT = --no-xmllint NOTEOPTS = -a editing-notes -a implementation-guide -ATTRIBOPTS = -a apirevision="$(SPECREVISION)" -a mathjax +ATTRIBOPTS = -a apirevision="$(SPECREVISION)" \ + -a apititle="$(APITITLE)" \ + -a mathjax $(EXTATTRIBS) CONFIG = config/vkspec.conf ADOCOPTS = $(ATTRIBOPTS) $(NOTEOPTS) -f config/mathjax-asciidoc.conf \ -f $(CONFIG) $(VERBOSE) ADOCDBOPTS = $(ATTRIBOPTS) $(NOTEOPTS) -f config/mathjax-docbook.conf \ -f $(CONFIG) $(VERBOSE) -A2XOPTS = $(ATTRIBOPTS) $(NOTEOPTS) \ - --asciidoc-opts="-f config/mathjax-docbook.conf -f $(CONFIG)" \ - --xsltproc-opts="--param generate.consistent.ids 1" \ - $(XMLLINT) $(VERBOSE) --icons -# All the options except the first are taken from a2x +# All the options except the first are taken from a2x defaults XSLTOPTS = \ --param generate.consistent.ids 1 \ --stringparam callout.graphics 1 \ @@ -103,9 +119,8 @@ XHTMLXSL = config/docbook-xsl/xhtml.xsl CHUNKXSL = config/docbook-xsl/chunked.xsl MANPAGEXSL = config/docbook-xsl/manpage.xsl -# dblatex options passed two ways, directly to dblatex and via a2x. +# dblatex options, passed directly to dblatex DBLATEXOPTS := $(KEEP) -V -T db2latex -I. -I images -I images/icons -s $(DBLATEXPREFIX)/asciidoc-dblatex.sty -A2XDBLATEXOPTS := --dblatex-opts='$(DBLATEXOPTS)' # Misc. files to clean up (see 'checkinc' target below) DIRT = $(SPECVERSION) @@ -123,18 +138,18 @@ PDFFILES := $(SVGFILES:.svg=.pdf) # File suffix for image targets for HTML and PDF Builds - Asciidoc {svgtype} attribute SVGTYPEHTML := svg SVGTYPEPDF := pdf -# Main (root) asciidoc spec source file +# Top-level spec source file TOPDOC := vkspec.txt # Files making up sections of the API spec. The wildcard expression # should work in extension branches to pull in those files as well. -CHAPTERS := $(wildcard chapters/[A-Za-z]*.txt appendices/[A-Za-z]*.txt chapters/*/[A-Za-z]*.txt appendices/*/[A-Za-z]*.txt) +CHAPTERS = $(wildcard chapters/[A-Za-z]*.txt appendices/[A-Za-z]*.txt chapters/*/[A-Za-z]*.txt appendices/*/[A-Za-z]*.txt) GENINCLUDE = $(wildcard api/*/[A-Za-z]*.txt validity/*/[A-Za-z]*.txt hostsynctable/*.txt) GENDEPENDS = api/timeMarker validity/timeMarker hostsynctable/timeMarker # All non-format-specific dependencies COMMONDOCS = $(CHAPTERS) $(GENINCLUDE) $(GENDEPENDS) -# A generated included file with the spec version, date, and git commit +# A generated included file containing the spec version, date, and git commit SPECVERSION = specversion.txt -SPECREVISION = 1.0.24 +SPECREVISION = 1.0.25 SPECREMARK = # Spec targets @@ -197,12 +212,13 @@ $(PDFDIR)/vkspec.pdf: $(CONFIG) $(SPECVERSION) $(TOPDOC) $(COMMONDOCS) $(PDFFILE # Generate Asciidoc attributes for spec version / date GITHEAD := ../../../.git/logs/HEAD +DATE := `date -R -u` ifeq ($(wildcard $(GITHEAD)),) # If GITHEAD does not exist, don't include branch info. $(SPECVERSION): $(QUIET)echo ":revnumber: $(SPECREVISION)" > $@ - $(QUIET)echo ":revdate: " `date` >> $@ - $(QUIET)echo ":revremark: Git branch information not available" >> $@ + $(QUIET)echo ":revdate: " $(DATE) >> $@ + $(QUIET)echo ":revremark: $(SPECREMARK) Git branch information not available" >> $@ else # Could use `git log -1 --format="%cd"` to get branch commit date # This used to be a dependency in the spec html/chunked/pdf targets, @@ -212,7 +228,7 @@ else # http://neugierig.org/software/blog/2014/11/binary-revisions.html $(SPECVERSION): $(GITHEAD) $(QUIET)echo ":revnumber: $(SPECREVISION)" > $@ - $(QUIET)echo ":revdate: " `date` >> $@ + $(QUIET)echo ":revdate: " $(DATE) >> $@ $(QUIET)echo ":revremark: $(SPECREMARK) from git branch:" \ `git symbolic-ref --short HEAD` \ "commit:" `git log -1 --format="%H"` >> $@ @@ -224,6 +240,7 @@ STYLEFILES = $(wildcard style/[A-Za-z]*.txt) styleguide: $(OUTDIR)/styleguide.html $(OUTDIR)/styleguide.html: $(CONFIG) $(SPECVERSION) $(STYLESRC) $(STYLEFILES) $(GENINCLUDE) $(GENDEPENDS) + $(QUIET)$(MKDIR) $(OUTDIR) $(QUIET)$(ASCIIDOC) -b html5 $(ADOCOPTS) \ -o $@ -a svgpdf=$(SVGTYPEHTML) \ $(STYLESRC) @@ -379,16 +396,13 @@ checklinks: vkapi.py # hostsynctable/timeMarker - proxy for host sync table include files under hostsynctable/*.txt # validity/timeMarker - proxy for API validity include files under validity/*/*.txt # -# EXTLIST specifies the extensions that will be included in these -# targets. This will differ in different extension branches, although -# all will include the VK_KHR_sampler_mirror_clamp_to_edge extension. -# Each extension should be specified as a separate -extension option. +# $(EXTOPTIONS) specifies the extensions which are included in these +# targets, and is set above based on $(EXTENSIONS). -EXTLIST = -extension VK_KHR_sampler_mirror_clamp_to_edge REGISTRY = ../../../src/spec VKXML = $(REGISTRY)/vk.xml GENVK = $(REGISTRY)/genvk.py -GENVKOPTS= $(EXTLIST) -registry $(VKXML) +GENVKOPTS= $(EXTOPTIONS) -registry $(VKXML) vkapi.py: $(VKXML) $(GENVK) $(PYTHON) $(GENVK) $(GENVKOPTS) -o . vkapi.py diff --git a/doc/specs/vulkan/README.adoc b/doc/specs/vulkan/README.adoc index 77b999a5..8a7cb26f 100644 --- a/doc/specs/vulkan/README.adoc +++ b/doc/specs/vulkan/README.adoc @@ -25,8 +25,8 @@ Assuming you have all the right tools installed (see <> below), go to +...path-to-git-repo/vulkan/doc/specs/vulkan+ . -If the default values of ASCIIDOC and A2X are not correct for the -+asciidoc+ and +a2x+ scripts on your platform, change them via +If the default value of ASCIIDOC is not correct for the ++asciidoc+ script on your platform, change it via environment variables, command line options, or by modifying the +Makefile+. The default script names have +.py+ suffixes. These suffixes should be removed for Linux platforms, and possibly for other @@ -36,23 +36,25 @@ non-Windows environments. or equivalently: - $ make xhtml chunked pdf manhtml manpdf manhtmlpages checkinc checklinks + $ make xhtml pdf styleguide manhtml manpdf manhtmlpages checkinc checklinks -This will generate a variety of targets under +$(OUTDIR)+ (by default, -+../../../out/1.0+). The checked-in file +$(OUTDIR)/index.html+ links to -them all, or they can individually be found as follows: +will generate a variety of targets in the directory specified by the +Makefile variable +$(OUTDIR)+ (by default, +../../../out/1.0+). The +checked-in file +../../../out/1.0/index.html+ links to all these +targets, or they can individually be found as follows: * API spec: ** +xhtml+ - Single-file XHTML in +$(OUTDIR)/xhtml/vkspec.html+ -** +chunked+ - Chunked HTML in +$(OUTDIR)/vkspec.chunked/index.html+ ** +pdf+ - PDF in +$(OUTDIR)/pdf/vkspec.pdf+ +* ``Vulkan Documentation and Extensions'' guide: +** +styleguide+ - Single-file HTML5 in +$(OUTDIR)/styleguide.html+ * Reference pages: ** +manhtml+ - Single-file HTML in +$(OUTDIR)/apispec.html+ ** +manpdf+ - Single-file PDF in +$(OUTDIR)/apispec.html+ ** +manhtmlpages+ - File-per-entry-point HTML in +$(OUTDIR)/man/html/*+ * Validator output: -** +checkinc+ - List of commands, structs, etc. missing from the API spec in - +$(OUTDIR)/checks/notInSpec.txt+ +** +checkinc+ - List of commands, structs, etc. missing from the API + spec in +$(OUTDIR)/checks/notInSpec.txt+ ** +checklinks+ - Validator script output for API spec in +$(OUTDIR)/checks/specErrs.txt and for reference pages in +$(OUTDIR)/checks/manErrs.txt+ @@ -62,7 +64,7 @@ option to make, such as $ make -j 8 -will significantly speed up the reference page builds. +may significantly speed up the reference page builds. If your asciidoc installation does not put the stylesheets and xsl files in the standard +/etc/asciidoc/dblatex+ directory, set the environment variable @@ -77,17 +79,47 @@ available for third parties wishing to generate them: * +manpages+ - File-per-entry-point nroff source in +$(OUTDIR)/man/3/*+ +[[building-extensions]] +=== Building With Extensions Included === + +As of version 1.0.25 of the Specification, we are using a ``single-branch +model'', where extensions are included in the same +1.0+ branch as the core +Specification, instead of the older model where each extension lived in a +separate Git branch. Whether a given extension is generated in the output +depends on asciidoc and generator script options being specified. + +The extensions included are those specified as a space-separated list of +extension names (e.g. +VK_KHR_surface+) in the Makefile variable ++$(EXTENSIONS)+, normally set on the make command line. When changing +the list of extensions, it is critical to remove all generated files +using the +clean_generated+ Makefile target, as the contents of +generated files depends on +$(EXTENSIONS)+. There are two helper scripts +which clean these files and then build one or more specified targets for +specified extensions: + +* +makeExt+ - generate outputs with a single extension enabled. Usage is + +makeExt extension-name target(s)+, where +extension-name+ is the + extension name string, such as +VK_EXT_debug_report+. +* +makeKHR+ - generate outputs with all Khronos (+VK_KHR_*+) extensions + enabled. Usage is +makeKHR target(s)+. + +The Makefile variable +$(APITITLE)+ defines an additional string which is +appended to the specification title. When building with extensions enabled, +this should be set to something like +(with extension VK_extension_name)+. +The +makeExt+ and +makeKHR+ scripts already do this. + + [[building-test]] === Alternate and Test Builds === If you are just testing asciidoc formatting, macros, stylesheets, etc., -we suggest editing +vkspec.txt+ to comment out most of the chapter +it is much faster to edit +vkspec.txt+ to comment out most of the chapter includes. In addition to the XHTML and PDF targets, there is also a single-file HTML5 target, +html+, which generates output directly from asciidoc without going -through Docbook. This is somewhat quicker to generate, but formatting and -section numbers aren't consistent with the other builds and it is not for +through Docbook. This is quicker to generate, but formatting and section +numbers aren't neccessarily consistent with the other builds and it is not for publication - just testing. The +html+ target will generate the file +$(OUTDIR)/html/vkspec.html+ . @@ -148,9 +180,7 @@ when possible. This has generated a semantically complete set of ref pages. Although they are still far from ideal, they now fully document the API, and will stay in -sync with it. A significant drawback of this approach is that the only place -ref pages for extension interfaces can be generated is inside the -corresponding extension branches. +sync with it. If for some reason you want to regenerate the ref pages from scratch yourself, you can do so by @@ -169,7 +199,7 @@ contents will not change. NOTE: Section mostly TBD. -This branch introduces a Vulkan-specific XHTML CSS stylesheet in +There is a Vulkan-specific XHTML CSS stylesheet in +config/vkspec-xhtml.css+ . It started as a clone of the default Asciidoc stylesheet, but added some new features. Similar CSS in +config/vkman.css+ is used for the reference pages. @@ -247,8 +277,8 @@ The following caveats apply: PDF build. It is good practice to make sure all spec targets build properly before proposing a merge to master. * Arbitrary LaTeX constructs cannot be used with MathJax. It is an equation - renderer, not an full LaTeX engine. So imbedding stuff like \Large or - pass:[\hbox{\tt\small VK\_FOO}] does not work in any of the HTML backends + renderer, not an full LaTeX engine. So imbedding LaTeX like \Large or + pass:[\hbox{\tt\small VK\_FOO}] may not work in any of the HTML backends, and should be avoided. @@ -304,7 +334,7 @@ environment (Debian 8, shown as Debian package names). Earlier versions know that. Later versions should work. - GNU make (make version: 4.0.8-1; older versions probably OK) - - Asciidoc / a2x (asciidoc version: 8.6.9-3) + - Asciidoc (asciidoc version: 8.6.9-3) - Python 3 (python, version: 3.4.2) - Git command-line client (git, version: 2.1.4) Only needed if regenerating specversion.txt. Any version supporting the @@ -316,7 +346,7 @@ know that. Later versions should work. - LaTeX distribution (texlive, version: 2014.20141024-2) -[[depends-cygin]] +[[depends-cygwin]] === Cygwin Dependencies === The cygwin installer is at http://www.cygwin.org. Use the 64-bit version, @@ -343,14 +373,13 @@ Optional Cygwin packages (current version): [[history]] == Revision History +* 2016/08/25 - Update for the single-branch model. * 2016/07/10 - Update for current state of spec and ref page generation. * 2015/11/11 - Add new can: etc. macros and DBLATEXPREFIX variable. * 2015/09/21 - Convert document to asciidoc and rename to README.md in the hope the gitlab browser will render it in some fashion. * 2015/09/21 - Add descriptions of LaTeX+MathJax math support for all output formats. -* 2015/09/02 - Added Cygwin package info +* 2015/09/02 - Added Cygwin package info. * 2015/09/02 - Initial version documenting macros, required toolchain components and versions, etc. - - diff --git a/doc/specs/vulkan/README.html b/doc/specs/vulkan/README.html index 04ab2c2e..1aca9bcd 100644 --- a/doc/specs/vulkan/README.html +++ b/doc/specs/vulkan/README.html @@ -806,8 +806,8 @@ specification and reference pages building properly.

Assuming you have all the right tools installed (see Software Dependencies below), go to …path-to-git-repo/vulkan/doc/specs/vulkan .

-

If the default values of ASCIIDOC and A2X are not correct for the -asciidoc and a2x scripts on your platform, change them via +

If the default value of ASCIIDOC is not correct for the +asciidoc script on your platform, change it via environment variables, command line options, or by modifying the Makefile. The default script names have .py suffixes. These suffixes should be removed for Linux platforms, and possibly for other @@ -819,11 +819,12 @@ non-Windows environments.

or equivalently:

-
$ make xhtml chunked pdf manhtml manpdf manhtmlpages checkinc checklinks
+
$ make xhtml pdf styleguide manhtml manpdf manhtmlpages checkinc checklinks
-

This will generate a variety of targets under $(OUTDIR) (by default, -../../../out/1.0). The checked-in file $(OUTDIR)/index.html links to -them all, or they can individually be found as follows:

+

will generate a variety of targets in the directory specified by the +Makefile variable $(OUTDIR) (by default, ../../../out/1.0). The +checked-in file ../../../out/1.0/index.html links to all these +targets, or they can individually be found as follows:

  • @@ -837,12 +838,19 @@ API spec:

  • -chunked - Chunked HTML in $(OUTDIR)/vkspec.chunked/index.html +pdf - PDF in $(OUTDIR)/pdf/vkspec.pdf

  • +
+
  • -pdf - PDF in $(OUTDIR)/pdf/vkspec.pdf +“Vulkan Documentation and Extensions” guide: +

    +
      +
    • +

      +styleguide - Single-file HTML5 in $(OUTDIR)/styleguide.html

    @@ -876,8 +884,8 @@ Validator output:
    • -checkinc - List of commands, structs, etc. missing from the API spec in - $(OUTDIR)/checks/notInSpec.txt +checkinc - List of commands, structs, etc. missing from the API + spec in $(OUTDIR)/checks/notInSpec.txt

    • @@ -896,7 +904,7 @@ option to make, such as

    $ make -j 8
  • -

    will significantly speed up the reference page builds.

    +

    may significantly speed up the reference page builds.

    If your asciidoc installation does not put the stylesheets and xsl files in the standard /etc/asciidoc/dblatex directory, set the environment variable DBLATEXPREFIX to the path to that directory (the one containing the @@ -913,14 +921,49 @@ available for third parties wishing to generate them:

    +

    Building With Extensions Included

    +

    As of version 1.0.25 of the Specification, we are using a “single-branch +model”, where extensions are included in the same 1.0 branch as the core +Specification, instead of the older model where each extension lived in a +separate Git branch. Whether a given extension is generated in the output +depends on asciidoc and generator script options being specified.

    +

    The extensions included are those specified as a space-separated list of +extension names (e.g. VK_KHR_surface) in the Makefile variable +$(EXTENSIONS), normally set on the make command line. When changing +the list of extensions, it is critical to remove all generated files +using the clean_generated Makefile target, as the contents of +generated files depends on $(EXTENSIONS). There are two helper scripts +which clean these files and then build one or more specified targets for +specified extensions:

    +
      +
    • +

      +makeExt - generate outputs with a single extension enabled. Usage is + makeExt extension-name target(s), where extension-name is the + extension name string, such as VK_EXT_debug_report. +

      +
    • +
    • +

      +makeKHR - generate outputs with all Khronos (VK_KHR_*) extensions + enabled. Usage is makeKHR target(s). +

      +
    • +
    +

    The Makefile variable $(APITITLE) defines an additional string which is +appended to the specification title. When building with extensions enabled, +this should be set to something like (with extension VK_extension_name). +The makeExt and makeKHR scripts already do this.

    +
    +

    Alternate and Test Builds

    If you are just testing asciidoc formatting, macros, stylesheets, etc., -we suggest editing vkspec.txt to comment out most of the chapter +it is much faster to edit vkspec.txt to comment out most of the chapter includes.

    In addition to the XHTML and PDF targets, there is also a single-file HTML5 target, html, which generates output directly from asciidoc without going -through Docbook. This is somewhat quicker to generate, but formatting and -section numbers aren’t consistent with the other builds and it is not for +through Docbook. This is quicker to generate, but formatting and section +numbers aren’t neccessarily consistent with the other builds and it is not for publication - just testing. The html target will generate the file $(OUTDIR)/html/vkspec.html .

    @@ -976,9 +1019,7 @@ without corresponding content in the API spec are generated automatically, when possible.

    This has generated a semantically complete set of ref pages. Although they are still far from ideal, they now fully document the API, and will stay in -sync with it. A significant drawback of this approach is that the only place -ref pages for extension interfaces can be generated is inside the -corresponding extension branches.

    +sync with it.

    If for some reason you want to regenerate the ref pages from scratch yourself, you can do so by

    @@ -1003,7 +1044,7 @@ contents will not change.

    Section mostly TBD. -

    This branch introduces a Vulkan-specific XHTML CSS stylesheet in +

    There is a Vulkan-specific XHTML CSS stylesheet in config/vkspec-xhtml.css . It started as a clone of the default Asciidoc stylesheet, but added some new features. Similar CSS in config/vkman.css is used for the reference pages.

    @@ -1088,8 +1129,8 @@ When using AMSmath environments, do not also surround the equat
  • Arbitrary LaTeX constructs cannot be used with MathJax. It is an equation - renderer, not an full LaTeX engine. So imbedding stuff like \Large or - \hbox{\tt\small VK\_FOO} does not work in any of the HTML backends + renderer, not an full LaTeX engine. So imbedding LaTeX like \Large or + \hbox{\tt\small VK\_FOO} may not work in any of the HTML backends, and should be avoided.

  • @@ -1143,7 +1184,7 @@ GNU make (make version: 4.0.8-1; older versions probably OK)
  • -Asciidoc / a2x (asciidoc version: 8.6.9-3) +Asciidoc (asciidoc version: 8.6.9-3)

  • @@ -1178,7 +1219,7 @@ LaTeX distribution (texlive, version: 2014.20141024-2)
  • -

    Cygwin Dependencies

    +

    Cygwin Dependencies

    The cygwin installer is at http://www.cygwin.org. Use the 64-bit version, because the 32-bit version does not include the latest version of asciidoc required for this project.

    @@ -1247,6 +1288,11 @@ Devel/git (2.5.1-1) - Needed for updating specversion.txt
    • +2016/08/25 - Update for the single-branch model. +

      +
    • +
    • +

      2016/07/10 - Update for current state of spec and ref page generation.

    • @@ -1269,7 +1315,7 @@ Devel/git (2.5.1-1) - Needed for updating specversion.txt
    • -2015/09/02 - Added Cygwin package info +2015/09/02 - Added Cygwin package info.

    • @@ -1286,7 +1332,7 @@ Devel/git (2.5.1-1) - Needed for updating specversion.txt diff --git a/doc/specs/vulkan/api/basetypes/VkBool32.txt b/doc/specs/vulkan/api/basetypes/VkBool32.txt deleted file mode 100644 index 8db5b12f..00000000 --- a/doc/specs/vulkan/api/basetypes/VkBool32.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkBool32,VkBool32]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef uint32_t VkBool32; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/basetypes/VkDeviceSize.txt b/doc/specs/vulkan/api/basetypes/VkDeviceSize.txt deleted file mode 100644 index a3c446be..00000000 --- a/doc/specs/vulkan/api/basetypes/VkDeviceSize.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDeviceSize,VkDeviceSize]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef uint64_t VkDeviceSize; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/basetypes/VkFlags.txt b/doc/specs/vulkan/api/basetypes/VkFlags.txt deleted file mode 100644 index 139475ed..00000000 --- a/doc/specs/vulkan/api/basetypes/VkFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkFlags,VkFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef uint32_t VkFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/basetypes/VkSampleMask.txt b/doc/specs/vulkan/api/basetypes/VkSampleMask.txt deleted file mode 100644 index 14bdbfdc..00000000 --- a/doc/specs/vulkan/api/basetypes/VkSampleMask.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSampleMask,VkSampleMask]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef uint32_t VkSampleMask; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/defines/VK_API_VERSION.txt b/doc/specs/vulkan/api/defines/VK_API_VERSION.txt deleted file mode 100644 index c90fb899..00000000 --- a/doc/specs/vulkan/api/defines/VK_API_VERSION.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VK_API_VERSION,VK_API_VERSION]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -// 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) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/defines/VK_API_VERSION_1_0.txt b/doc/specs/vulkan/api/defines/VK_API_VERSION_1_0.txt deleted file mode 100644 index 14ea6a9e..00000000 --- a/doc/specs/vulkan/api/defines/VK_API_VERSION_1_0.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VK_API_VERSION_1_0,VK_API_VERSION_1_0]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -// Vulkan 1.0 version number -#define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/defines/VK_DEFINE_HANDLE.txt b/doc/specs/vulkan/api/defines/VK_DEFINE_HANDLE.txt deleted file mode 100644 index 93ee5da3..00000000 --- a/doc/specs/vulkan/api/defines/VK_DEFINE_HANDLE.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VK_DEFINE_HANDLE,VK_DEFINE_HANDLE]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- - -#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/defines/VK_DEFINE_NON_DISPATCHABLE_HANDLE.txt b/doc/specs/vulkan/api/defines/VK_DEFINE_NON_DISPATCHABLE_HANDLE.txt deleted file mode 100644 index d870c346..00000000 --- a/doc/specs/vulkan/api/defines/VK_DEFINE_NON_DISPATCHABLE_HANDLE.txt +++ /dev/null @@ -1,18 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VK_DEFINE_NON_DISPATCHABLE_HANDLE,VK_DEFINE_NON_DISPATCHABLE_HANDLE]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- - -#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 - - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/defines/VK_HEADER_VERSION.txt b/doc/specs/vulkan/api/defines/VK_HEADER_VERSION.txt deleted file mode 100644 index 66784eef..00000000 --- a/doc/specs/vulkan/api/defines/VK_HEADER_VERSION.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VK_HEADER_VERSION,VK_HEADER_VERSION]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -// Version of this file -#define VK_HEADER_VERSION 24 - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/defines/VK_MAKE_VERSION.txt b/doc/specs/vulkan/api/defines/VK_MAKE_VERSION.txt deleted file mode 100644 index f4a0ad5c..00000000 --- a/doc/specs/vulkan/api/defines/VK_MAKE_VERSION.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VK_MAKE_VERSION,VK_MAKE_VERSION]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -#define VK_MAKE_VERSION(major, minor, patch) \ - (((major) << 22) | ((minor) << 12) | (patch)) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/defines/VK_NULL_HANDLE.txt b/doc/specs/vulkan/api/defines/VK_NULL_HANDLE.txt deleted file mode 100644 index fa9efca6..00000000 --- a/doc/specs/vulkan/api/defines/VK_NULL_HANDLE.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VK_NULL_HANDLE,VK_NULL_HANDLE]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- - -#define VK_NULL_HANDLE 0 - - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/defines/VK_VERSION_MAJOR.txt b/doc/specs/vulkan/api/defines/VK_VERSION_MAJOR.txt deleted file mode 100644 index 2074d48f..00000000 --- a/doc/specs/vulkan/api/defines/VK_VERSION_MAJOR.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VK_VERSION_MAJOR,VK_VERSION_MAJOR]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/defines/VK_VERSION_MINOR.txt b/doc/specs/vulkan/api/defines/VK_VERSION_MINOR.txt deleted file mode 100644 index cffa6cfa..00000000 --- a/doc/specs/vulkan/api/defines/VK_VERSION_MINOR.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VK_VERSION_MINOR,VK_VERSION_MINOR]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/defines/VK_VERSION_PATCH.txt b/doc/specs/vulkan/api/defines/VK_VERSION_PATCH.txt deleted file mode 100644 index 27847454..00000000 --- a/doc/specs/vulkan/api/defines/VK_VERSION_PATCH.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VK_VERSION_PATCH,VK_VERSION_PATCH]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkAccessFlagBits.txt b/doc/specs/vulkan/api/enums/VkAccessFlagBits.txt deleted file mode 100644 index 639dda7b..00000000 --- a/doc/specs/vulkan/api/enums/VkAccessFlagBits.txt +++ /dev/null @@ -1,29 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkAccessFlagBits,VkAccessFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkAccessFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkAttachmentDescriptionFlagBits.txt b/doc/specs/vulkan/api/enums/VkAttachmentDescriptionFlagBits.txt deleted file mode 100644 index 19e5fdf4..00000000 --- a/doc/specs/vulkan/api/enums/VkAttachmentDescriptionFlagBits.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkAttachmentDescriptionFlagBits,VkAttachmentDescriptionFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkAttachmentDescriptionFlagBits { - VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001, -} VkAttachmentDescriptionFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkAttachmentLoadOp.txt b/doc/specs/vulkan/api/enums/VkAttachmentLoadOp.txt deleted file mode 100644 index 41b98018..00000000 --- a/doc/specs/vulkan/api/enums/VkAttachmentLoadOp.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkAttachmentLoadOp,VkAttachmentLoadOp]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkAttachmentLoadOp { - VK_ATTACHMENT_LOAD_OP_LOAD = 0, - VK_ATTACHMENT_LOAD_OP_CLEAR = 1, - VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2, -} VkAttachmentLoadOp; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkAttachmentStoreOp.txt b/doc/specs/vulkan/api/enums/VkAttachmentStoreOp.txt deleted file mode 100644 index 83291c12..00000000 --- a/doc/specs/vulkan/api/enums/VkAttachmentStoreOp.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkAttachmentStoreOp,VkAttachmentStoreOp]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkAttachmentStoreOp { - VK_ATTACHMENT_STORE_OP_STORE = 0, - VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, -} VkAttachmentStoreOp; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkBlendFactor.txt b/doc/specs/vulkan/api/enums/VkBlendFactor.txt deleted file mode 100644 index 4fc63281..00000000 --- a/doc/specs/vulkan/api/enums/VkBlendFactor.txt +++ /dev/null @@ -1,31 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkBlendFactor,VkBlendFactor]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkBlendFactor; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkBlendOp.txt b/doc/specs/vulkan/api/enums/VkBlendOp.txt deleted file mode 100644 index 50f6e1f2..00000000 --- a/doc/specs/vulkan/api/enums/VkBlendOp.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkBlendOp,VkBlendOp]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkBlendOp; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkBorderColor.txt b/doc/specs/vulkan/api/enums/VkBorderColor.txt deleted file mode 100644 index 3e694876..00000000 --- a/doc/specs/vulkan/api/enums/VkBorderColor.txt +++ /dev/null @@ -1,18 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkBorderColor,VkBorderColor]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkBorderColor; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkBufferCreateFlagBits.txt b/doc/specs/vulkan/api/enums/VkBufferCreateFlagBits.txt deleted file mode 100644 index dec9bdc4..00000000 --- a/doc/specs/vulkan/api/enums/VkBufferCreateFlagBits.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkBufferCreateFlagBits,VkBufferCreateFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkBufferCreateFlagBits { - VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001, - VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, - VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004, -} VkBufferCreateFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkBufferUsageFlagBits.txt b/doc/specs/vulkan/api/enums/VkBufferUsageFlagBits.txt deleted file mode 100644 index bc8c45c0..00000000 --- a/doc/specs/vulkan/api/enums/VkBufferUsageFlagBits.txt +++ /dev/null @@ -1,21 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkBufferUsageFlagBits,VkBufferUsageFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkBufferUsageFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkColorComponentFlagBits.txt b/doc/specs/vulkan/api/enums/VkColorComponentFlagBits.txt deleted file mode 100644 index 4554ec01..00000000 --- a/doc/specs/vulkan/api/enums/VkColorComponentFlagBits.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkColorComponentFlagBits,VkColorComponentFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkColorComponentFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkCommandBufferLevel.txt b/doc/specs/vulkan/api/enums/VkCommandBufferLevel.txt deleted file mode 100644 index fa78754e..00000000 --- a/doc/specs/vulkan/api/enums/VkCommandBufferLevel.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkCommandBufferLevel,VkCommandBufferLevel]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkCommandBufferLevel { - VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0, - VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1, -} VkCommandBufferLevel; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkCommandBufferResetFlagBits.txt b/doc/specs/vulkan/api/enums/VkCommandBufferResetFlagBits.txt deleted file mode 100644 index e1ac6049..00000000 --- a/doc/specs/vulkan/api/enums/VkCommandBufferResetFlagBits.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkCommandBufferResetFlagBits,VkCommandBufferResetFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkCommandBufferResetFlagBits { - VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001, -} VkCommandBufferResetFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkCommandBufferUsageFlagBits.txt b/doc/specs/vulkan/api/enums/VkCommandBufferUsageFlagBits.txt deleted file mode 100644 index 04df0b8c..00000000 --- a/doc/specs/vulkan/api/enums/VkCommandBufferUsageFlagBits.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkCommandBufferUsageFlagBits,VkCommandBufferUsageFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkCommandBufferUsageFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkCommandPoolCreateFlagBits.txt b/doc/specs/vulkan/api/enums/VkCommandPoolCreateFlagBits.txt deleted file mode 100644 index a25e8150..00000000 --- a/doc/specs/vulkan/api/enums/VkCommandPoolCreateFlagBits.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkCommandPoolCreateFlagBits,VkCommandPoolCreateFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkCommandPoolCreateFlagBits { - VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001, - VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002, -} VkCommandPoolCreateFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkCommandPoolResetFlagBits.txt b/doc/specs/vulkan/api/enums/VkCommandPoolResetFlagBits.txt deleted file mode 100644 index 0927d771..00000000 --- a/doc/specs/vulkan/api/enums/VkCommandPoolResetFlagBits.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkCommandPoolResetFlagBits,VkCommandPoolResetFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkCommandPoolResetFlagBits { - VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001, -} VkCommandPoolResetFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkCompareOp.txt b/doc/specs/vulkan/api/enums/VkCompareOp.txt deleted file mode 100644 index 18b3f94c..00000000 --- a/doc/specs/vulkan/api/enums/VkCompareOp.txt +++ /dev/null @@ -1,20 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkCompareOp,VkCompareOp]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkCompareOp; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkComponentSwizzle.txt b/doc/specs/vulkan/api/enums/VkComponentSwizzle.txt deleted file mode 100644 index cd5e8da0..00000000 --- a/doc/specs/vulkan/api/enums/VkComponentSwizzle.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkComponentSwizzle,VkComponentSwizzle]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkComponentSwizzle; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkCullModeFlagBits.txt b/doc/specs/vulkan/api/enums/VkCullModeFlagBits.txt deleted file mode 100644 index 3db86c9f..00000000 --- a/doc/specs/vulkan/api/enums/VkCullModeFlagBits.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkCullModeFlagBits,VkCullModeFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkCullModeFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkDependencyFlagBits.txt b/doc/specs/vulkan/api/enums/VkDependencyFlagBits.txt deleted file mode 100644 index 6f7bb8ba..00000000 --- a/doc/specs/vulkan/api/enums/VkDependencyFlagBits.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDependencyFlagBits,VkDependencyFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkDependencyFlagBits { - VK_DEPENDENCY_BY_REGION_BIT = 0x00000001, -} VkDependencyFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkDescriptorPoolCreateFlagBits.txt b/doc/specs/vulkan/api/enums/VkDescriptorPoolCreateFlagBits.txt deleted file mode 100644 index d9dd3e6f..00000000 --- a/doc/specs/vulkan/api/enums/VkDescriptorPoolCreateFlagBits.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDescriptorPoolCreateFlagBits,VkDescriptorPoolCreateFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkDescriptorPoolCreateFlagBits { - VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001, -} VkDescriptorPoolCreateFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkDescriptorType.txt b/doc/specs/vulkan/api/enums/VkDescriptorType.txt deleted file mode 100644 index bbee4ba9..00000000 --- a/doc/specs/vulkan/api/enums/VkDescriptorType.txt +++ /dev/null @@ -1,23 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDescriptorType,VkDescriptorType]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkDescriptorType; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkDynamicState.txt b/doc/specs/vulkan/api/enums/VkDynamicState.txt deleted file mode 100644 index 103fa584..00000000 --- a/doc/specs/vulkan/api/enums/VkDynamicState.txt +++ /dev/null @@ -1,21 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDynamicState,VkDynamicState]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkDynamicState; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkFenceCreateFlagBits.txt b/doc/specs/vulkan/api/enums/VkFenceCreateFlagBits.txt deleted file mode 100644 index 955fd1bb..00000000 --- a/doc/specs/vulkan/api/enums/VkFenceCreateFlagBits.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkFenceCreateFlagBits,VkFenceCreateFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkFenceCreateFlagBits { - VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001, -} VkFenceCreateFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkFilter.txt b/doc/specs/vulkan/api/enums/VkFilter.txt deleted file mode 100644 index 1800c83e..00000000 --- a/doc/specs/vulkan/api/enums/VkFilter.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkFilter,VkFilter]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkFilter { - VK_FILTER_NEAREST = 0, - VK_FILTER_LINEAR = 1, -} VkFilter; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkFormat.txt b/doc/specs/vulkan/api/enums/VkFormat.txt deleted file mode 100644 index a585d235..00000000 --- a/doc/specs/vulkan/api/enums/VkFormat.txt +++ /dev/null @@ -1,197 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkFormat,VkFormat]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkFormat; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkFormatFeatureFlagBits.txt b/doc/specs/vulkan/api/enums/VkFormatFeatureFlagBits.txt deleted file mode 100644 index 345fc229..00000000 --- a/doc/specs/vulkan/api/enums/VkFormatFeatureFlagBits.txt +++ /dev/null @@ -1,25 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkFormatFeatureFlagBits,VkFormatFeatureFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkFormatFeatureFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkFrontFace.txt b/doc/specs/vulkan/api/enums/VkFrontFace.txt deleted file mode 100644 index 66f237c0..00000000 --- a/doc/specs/vulkan/api/enums/VkFrontFace.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkFrontFace,VkFrontFace]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkFrontFace { - VK_FRONT_FACE_COUNTER_CLOCKWISE = 0, - VK_FRONT_FACE_CLOCKWISE = 1, -} VkFrontFace; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkImageAspectFlagBits.txt b/doc/specs/vulkan/api/enums/VkImageAspectFlagBits.txt deleted file mode 100644 index 61990408..00000000 --- a/doc/specs/vulkan/api/enums/VkImageAspectFlagBits.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkImageAspectFlagBits,VkImageAspectFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkImageAspectFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkImageCreateFlagBits.txt b/doc/specs/vulkan/api/enums/VkImageCreateFlagBits.txt deleted file mode 100644 index 75dafb72..00000000 --- a/doc/specs/vulkan/api/enums/VkImageCreateFlagBits.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkImageCreateFlagBits,VkImageCreateFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkImageCreateFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkImageLayout.txt b/doc/specs/vulkan/api/enums/VkImageLayout.txt deleted file mode 100644 index 817e9664..00000000 --- a/doc/specs/vulkan/api/enums/VkImageLayout.txt +++ /dev/null @@ -1,21 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkImageLayout,VkImageLayout]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkImageLayout; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkImageTiling.txt b/doc/specs/vulkan/api/enums/VkImageTiling.txt deleted file mode 100644 index 03d2c67f..00000000 --- a/doc/specs/vulkan/api/enums/VkImageTiling.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkImageTiling,VkImageTiling]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkImageTiling { - VK_IMAGE_TILING_OPTIMAL = 0, - VK_IMAGE_TILING_LINEAR = 1, -} VkImageTiling; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkImageType.txt b/doc/specs/vulkan/api/enums/VkImageType.txt deleted file mode 100644 index 976ea74c..00000000 --- a/doc/specs/vulkan/api/enums/VkImageType.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkImageType,VkImageType]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkImageType { - VK_IMAGE_TYPE_1D = 0, - VK_IMAGE_TYPE_2D = 1, - VK_IMAGE_TYPE_3D = 2, -} VkImageType; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkImageUsageFlagBits.txt b/doc/specs/vulkan/api/enums/VkImageUsageFlagBits.txt deleted file mode 100644 index 7e200cdc..00000000 --- a/doc/specs/vulkan/api/enums/VkImageUsageFlagBits.txt +++ /dev/null @@ -1,20 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkImageUsageFlagBits,VkImageUsageFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkImageUsageFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkImageViewType.txt b/doc/specs/vulkan/api/enums/VkImageViewType.txt deleted file mode 100644 index 0a9eb697..00000000 --- a/doc/specs/vulkan/api/enums/VkImageViewType.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkImageViewType,VkImageViewType]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkImageViewType; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkIndexType.txt b/doc/specs/vulkan/api/enums/VkIndexType.txt deleted file mode 100644 index e11e380f..00000000 --- a/doc/specs/vulkan/api/enums/VkIndexType.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkIndexType,VkIndexType]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkIndexType { - VK_INDEX_TYPE_UINT16 = 0, - VK_INDEX_TYPE_UINT32 = 1, -} VkIndexType; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkInternalAllocationType.txt b/doc/specs/vulkan/api/enums/VkInternalAllocationType.txt deleted file mode 100644 index d8af6cf8..00000000 --- a/doc/specs/vulkan/api/enums/VkInternalAllocationType.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkInternalAllocationType,VkInternalAllocationType]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkInternalAllocationType { - VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0, -} VkInternalAllocationType; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkLogicOp.txt b/doc/specs/vulkan/api/enums/VkLogicOp.txt deleted file mode 100644 index 728402eb..00000000 --- a/doc/specs/vulkan/api/enums/VkLogicOp.txt +++ /dev/null @@ -1,28 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkLogicOp,VkLogicOp]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkLogicOp; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkMemoryHeapFlagBits.txt b/doc/specs/vulkan/api/enums/VkMemoryHeapFlagBits.txt deleted file mode 100644 index 61adb8a5..00000000 --- a/doc/specs/vulkan/api/enums/VkMemoryHeapFlagBits.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkMemoryHeapFlagBits,VkMemoryHeapFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkMemoryHeapFlagBits { - VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001, -} VkMemoryHeapFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkMemoryPropertyFlagBits.txt b/doc/specs/vulkan/api/enums/VkMemoryPropertyFlagBits.txt deleted file mode 100644 index dfd55c24..00000000 --- a/doc/specs/vulkan/api/enums/VkMemoryPropertyFlagBits.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkMemoryPropertyFlagBits,VkMemoryPropertyFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkMemoryPropertyFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkPhysicalDeviceType.txt b/doc/specs/vulkan/api/enums/VkPhysicalDeviceType.txt deleted file mode 100644 index ce452c84..00000000 --- a/doc/specs/vulkan/api/enums/VkPhysicalDeviceType.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPhysicalDeviceType,VkPhysicalDeviceType]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkPhysicalDeviceType; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkPipelineBindPoint.txt b/doc/specs/vulkan/api/enums/VkPipelineBindPoint.txt deleted file mode 100644 index 58f57af7..00000000 --- a/doc/specs/vulkan/api/enums/VkPipelineBindPoint.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineBindPoint,VkPipelineBindPoint]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkPipelineBindPoint { - VK_PIPELINE_BIND_POINT_GRAPHICS = 0, - VK_PIPELINE_BIND_POINT_COMPUTE = 1, -} VkPipelineBindPoint; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkPipelineCacheHeaderVersion.txt b/doc/specs/vulkan/api/enums/VkPipelineCacheHeaderVersion.txt deleted file mode 100644 index 44124680..00000000 --- a/doc/specs/vulkan/api/enums/VkPipelineCacheHeaderVersion.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineCacheHeaderVersion,VkPipelineCacheHeaderVersion]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkPipelineCacheHeaderVersion { - VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1, -} VkPipelineCacheHeaderVersion; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkPipelineCreateFlagBits.txt b/doc/specs/vulkan/api/enums/VkPipelineCreateFlagBits.txt deleted file mode 100644 index f17ef59e..00000000 --- a/doc/specs/vulkan/api/enums/VkPipelineCreateFlagBits.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineCreateFlagBits,VkPipelineCreateFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkPipelineCreateFlagBits { - VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001, - VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002, - VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004, -} VkPipelineCreateFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkPipelineStageFlagBits.txt b/doc/specs/vulkan/api/enums/VkPipelineStageFlagBits.txt deleted file mode 100644 index ac88e8c5..00000000 --- a/doc/specs/vulkan/api/enums/VkPipelineStageFlagBits.txt +++ /dev/null @@ -1,29 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineStageFlagBits,VkPipelineStageFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkPipelineStageFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkPolygonMode.txt b/doc/specs/vulkan/api/enums/VkPolygonMode.txt deleted file mode 100644 index 0774a56a..00000000 --- a/doc/specs/vulkan/api/enums/VkPolygonMode.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPolygonMode,VkPolygonMode]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkPolygonMode { - VK_POLYGON_MODE_FILL = 0, - VK_POLYGON_MODE_LINE = 1, - VK_POLYGON_MODE_POINT = 2, -} VkPolygonMode; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkPrimitiveTopology.txt b/doc/specs/vulkan/api/enums/VkPrimitiveTopology.txt deleted file mode 100644 index cae52474..00000000 --- a/doc/specs/vulkan/api/enums/VkPrimitiveTopology.txt +++ /dev/null @@ -1,23 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPrimitiveTopology,VkPrimitiveTopology]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkPrimitiveTopology; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkQueryControlFlagBits.txt b/doc/specs/vulkan/api/enums/VkQueryControlFlagBits.txt deleted file mode 100644 index 6f931822..00000000 --- a/doc/specs/vulkan/api/enums/VkQueryControlFlagBits.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkQueryControlFlagBits,VkQueryControlFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkQueryControlFlagBits { - VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001, -} VkQueryControlFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkQueryPipelineStatisticFlagBits.txt b/doc/specs/vulkan/api/enums/VkQueryPipelineStatisticFlagBits.txt deleted file mode 100644 index d757bfa6..00000000 --- a/doc/specs/vulkan/api/enums/VkQueryPipelineStatisticFlagBits.txt +++ /dev/null @@ -1,23 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkQueryPipelineStatisticFlagBits,VkQueryPipelineStatisticFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkQueryPipelineStatisticFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkQueryResultFlagBits.txt b/doc/specs/vulkan/api/enums/VkQueryResultFlagBits.txt deleted file mode 100644 index 58cd1983..00000000 --- a/doc/specs/vulkan/api/enums/VkQueryResultFlagBits.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkQueryResultFlagBits,VkQueryResultFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkQueryResultFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkQueryType.txt b/doc/specs/vulkan/api/enums/VkQueryType.txt deleted file mode 100644 index 64e1d796..00000000 --- a/doc/specs/vulkan/api/enums/VkQueryType.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkQueryType,VkQueryType]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkQueryType { - VK_QUERY_TYPE_OCCLUSION = 0, - VK_QUERY_TYPE_PIPELINE_STATISTICS = 1, - VK_QUERY_TYPE_TIMESTAMP = 2, -} VkQueryType; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkQueueFlagBits.txt b/doc/specs/vulkan/api/enums/VkQueueFlagBits.txt deleted file mode 100644 index e659bd25..00000000 --- a/doc/specs/vulkan/api/enums/VkQueueFlagBits.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkQueueFlagBits,VkQueueFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkQueueFlagBits { - VK_QUEUE_GRAPHICS_BIT = 0x00000001, - VK_QUEUE_COMPUTE_BIT = 0x00000002, - VK_QUEUE_TRANSFER_BIT = 0x00000004, - VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008, -} VkQueueFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkResult.txt b/doc/specs/vulkan/api/enums/VkResult.txt deleted file mode 100644 index 83f7d38e..00000000 --- a/doc/specs/vulkan/api/enums/VkResult.txt +++ /dev/null @@ -1,30 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkResult,VkResult]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkResult; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkSampleCountFlagBits.txt b/doc/specs/vulkan/api/enums/VkSampleCountFlagBits.txt deleted file mode 100644 index bc336985..00000000 --- a/doc/specs/vulkan/api/enums/VkSampleCountFlagBits.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSampleCountFlagBits,VkSampleCountFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkSampleCountFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkSamplerAddressMode.txt b/doc/specs/vulkan/api/enums/VkSamplerAddressMode.txt deleted file mode 100644 index 1ff7a8c2..00000000 --- a/doc/specs/vulkan/api/enums/VkSamplerAddressMode.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSamplerAddressMode,VkSamplerAddressMode]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkSamplerAddressMode; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkSamplerMipmapMode.txt b/doc/specs/vulkan/api/enums/VkSamplerMipmapMode.txt deleted file mode 100644 index 174a8102..00000000 --- a/doc/specs/vulkan/api/enums/VkSamplerMipmapMode.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSamplerMipmapMode,VkSamplerMipmapMode]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkSamplerMipmapMode { - VK_SAMPLER_MIPMAP_MODE_NEAREST = 0, - VK_SAMPLER_MIPMAP_MODE_LINEAR = 1, -} VkSamplerMipmapMode; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkShaderStageFlagBits.txt b/doc/specs/vulkan/api/enums/VkShaderStageFlagBits.txt deleted file mode 100644 index 5554b626..00000000 --- a/doc/specs/vulkan/api/enums/VkShaderStageFlagBits.txt +++ /dev/null @@ -1,20 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkShaderStageFlagBits,VkShaderStageFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkShaderStageFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkSharingMode.txt b/doc/specs/vulkan/api/enums/VkSharingMode.txt deleted file mode 100644 index d85e4549..00000000 --- a/doc/specs/vulkan/api/enums/VkSharingMode.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSharingMode,VkSharingMode]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkSharingMode { - VK_SHARING_MODE_EXCLUSIVE = 0, - VK_SHARING_MODE_CONCURRENT = 1, -} VkSharingMode; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkSparseImageFormatFlagBits.txt b/doc/specs/vulkan/api/enums/VkSparseImageFormatFlagBits.txt deleted file mode 100644 index 09d2c650..00000000 --- a/doc/specs/vulkan/api/enums/VkSparseImageFormatFlagBits.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSparseImageFormatFlagBits,VkSparseImageFormatFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkSparseImageFormatFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkSparseMemoryBindFlagBits.txt b/doc/specs/vulkan/api/enums/VkSparseMemoryBindFlagBits.txt deleted file mode 100644 index bc080e5f..00000000 --- a/doc/specs/vulkan/api/enums/VkSparseMemoryBindFlagBits.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSparseMemoryBindFlagBits,VkSparseMemoryBindFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkSparseMemoryBindFlagBits { - VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001, -} VkSparseMemoryBindFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkStencilFaceFlagBits.txt b/doc/specs/vulkan/api/enums/VkStencilFaceFlagBits.txt deleted file mode 100644 index 7dc64629..00000000 --- a/doc/specs/vulkan/api/enums/VkStencilFaceFlagBits.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkStencilFaceFlagBits,VkStencilFaceFlagBits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkStencilFaceFlagBits { - VK_STENCIL_FACE_FRONT_BIT = 0x00000001, - VK_STENCIL_FACE_BACK_BIT = 0x00000002, - VK_STENCIL_FRONT_AND_BACK = 0x00000003, -} VkStencilFaceFlagBits; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkStencilOp.txt b/doc/specs/vulkan/api/enums/VkStencilOp.txt deleted file mode 100644 index 53375ff1..00000000 --- a/doc/specs/vulkan/api/enums/VkStencilOp.txt +++ /dev/null @@ -1,20 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkStencilOp,VkStencilOp]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkStencilOp; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkStructureType.txt b/doc/specs/vulkan/api/enums/VkStructureType.txt deleted file mode 100644 index 3260a7cc..00000000 --- a/doc/specs/vulkan/api/enums/VkStructureType.txt +++ /dev/null @@ -1,61 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkStructureType,VkStructureType]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkStructureType; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkSubpassContents.txt b/doc/specs/vulkan/api/enums/VkSubpassContents.txt deleted file mode 100644 index 05fabb9d..00000000 --- a/doc/specs/vulkan/api/enums/VkSubpassContents.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSubpassContents,VkSubpassContents]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkSubpassContents { - VK_SUBPASS_CONTENTS_INLINE = 0, - VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1, -} VkSubpassContents; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkSystemAllocationScope.txt b/doc/specs/vulkan/api/enums/VkSystemAllocationScope.txt deleted file mode 100644 index ea99e918..00000000 --- a/doc/specs/vulkan/api/enums/VkSystemAllocationScope.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSystemAllocationScope,VkSystemAllocationScope]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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, -} VkSystemAllocationScope; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/enums/VkVertexInputRate.txt b/doc/specs/vulkan/api/enums/VkVertexInputRate.txt deleted file mode 100644 index 7139e139..00000000 --- a/doc/specs/vulkan/api/enums/VkVertexInputRate.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkVertexInputRate,VkVertexInputRate]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef enum VkVertexInputRate { - VK_VERTEX_INPUT_RATE_VERTEX = 0, - VK_VERTEX_INPUT_RATE_INSTANCE = 1, -} VkVertexInputRate; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkAccessFlags.txt b/doc/specs/vulkan/api/flags/VkAccessFlags.txt deleted file mode 100644 index f32cba4a..00000000 --- a/doc/specs/vulkan/api/flags/VkAccessFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkAccessFlags,VkAccessFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkAccessFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkAttachmentDescriptionFlags.txt b/doc/specs/vulkan/api/flags/VkAttachmentDescriptionFlags.txt deleted file mode 100644 index 3b94af2f..00000000 --- a/doc/specs/vulkan/api/flags/VkAttachmentDescriptionFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkAttachmentDescriptionFlags,VkAttachmentDescriptionFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkAttachmentDescriptionFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkBufferCreateFlags.txt b/doc/specs/vulkan/api/flags/VkBufferCreateFlags.txt deleted file mode 100644 index 206274e2..00000000 --- a/doc/specs/vulkan/api/flags/VkBufferCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkBufferCreateFlags,VkBufferCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkBufferCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkBufferUsageFlags.txt b/doc/specs/vulkan/api/flags/VkBufferUsageFlags.txt deleted file mode 100644 index 37330436..00000000 --- a/doc/specs/vulkan/api/flags/VkBufferUsageFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkBufferUsageFlags,VkBufferUsageFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkBufferUsageFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkBufferViewCreateFlags.txt b/doc/specs/vulkan/api/flags/VkBufferViewCreateFlags.txt deleted file mode 100644 index 75da1af5..00000000 --- a/doc/specs/vulkan/api/flags/VkBufferViewCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkBufferViewCreateFlags,VkBufferViewCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkBufferViewCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkColorComponentFlags.txt b/doc/specs/vulkan/api/flags/VkColorComponentFlags.txt deleted file mode 100644 index 44e133c6..00000000 --- a/doc/specs/vulkan/api/flags/VkColorComponentFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkColorComponentFlags,VkColorComponentFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkColorComponentFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkCommandBufferResetFlags.txt b/doc/specs/vulkan/api/flags/VkCommandBufferResetFlags.txt deleted file mode 100644 index f7fe337d..00000000 --- a/doc/specs/vulkan/api/flags/VkCommandBufferResetFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkCommandBufferResetFlags,VkCommandBufferResetFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkCommandBufferResetFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkCommandBufferUsageFlags.txt b/doc/specs/vulkan/api/flags/VkCommandBufferUsageFlags.txt deleted file mode 100644 index 77906053..00000000 --- a/doc/specs/vulkan/api/flags/VkCommandBufferUsageFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkCommandBufferUsageFlags,VkCommandBufferUsageFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkCommandBufferUsageFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkCommandPoolCreateFlags.txt b/doc/specs/vulkan/api/flags/VkCommandPoolCreateFlags.txt deleted file mode 100644 index 9cc534cb..00000000 --- a/doc/specs/vulkan/api/flags/VkCommandPoolCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkCommandPoolCreateFlags,VkCommandPoolCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkCommandPoolCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkCommandPoolResetFlags.txt b/doc/specs/vulkan/api/flags/VkCommandPoolResetFlags.txt deleted file mode 100644 index 57c0e61f..00000000 --- a/doc/specs/vulkan/api/flags/VkCommandPoolResetFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkCommandPoolResetFlags,VkCommandPoolResetFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkCommandPoolResetFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkCullModeFlags.txt b/doc/specs/vulkan/api/flags/VkCullModeFlags.txt deleted file mode 100644 index 9860fac4..00000000 --- a/doc/specs/vulkan/api/flags/VkCullModeFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkCullModeFlags,VkCullModeFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkCullModeFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkDependencyFlags.txt b/doc/specs/vulkan/api/flags/VkDependencyFlags.txt deleted file mode 100644 index 99a63b11..00000000 --- a/doc/specs/vulkan/api/flags/VkDependencyFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDependencyFlags,VkDependencyFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkDependencyFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkDescriptorPoolCreateFlags.txt b/doc/specs/vulkan/api/flags/VkDescriptorPoolCreateFlags.txt deleted file mode 100644 index 78e93af8..00000000 --- a/doc/specs/vulkan/api/flags/VkDescriptorPoolCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDescriptorPoolCreateFlags,VkDescriptorPoolCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkDescriptorPoolCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkDescriptorPoolResetFlags.txt b/doc/specs/vulkan/api/flags/VkDescriptorPoolResetFlags.txt deleted file mode 100644 index aa435498..00000000 --- a/doc/specs/vulkan/api/flags/VkDescriptorPoolResetFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDescriptorPoolResetFlags,VkDescriptorPoolResetFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkDescriptorPoolResetFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkDescriptorSetLayoutCreateFlags.txt b/doc/specs/vulkan/api/flags/VkDescriptorSetLayoutCreateFlags.txt deleted file mode 100644 index 56b53413..00000000 --- a/doc/specs/vulkan/api/flags/VkDescriptorSetLayoutCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDescriptorSetLayoutCreateFlags,VkDescriptorSetLayoutCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkDescriptorSetLayoutCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkDeviceCreateFlags.txt b/doc/specs/vulkan/api/flags/VkDeviceCreateFlags.txt deleted file mode 100644 index 0af0cc69..00000000 --- a/doc/specs/vulkan/api/flags/VkDeviceCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDeviceCreateFlags,VkDeviceCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkDeviceCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkDeviceQueueCreateFlags.txt b/doc/specs/vulkan/api/flags/VkDeviceQueueCreateFlags.txt deleted file mode 100644 index f3a5d700..00000000 --- a/doc/specs/vulkan/api/flags/VkDeviceQueueCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDeviceQueueCreateFlags,VkDeviceQueueCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkDeviceQueueCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkEventCreateFlags.txt b/doc/specs/vulkan/api/flags/VkEventCreateFlags.txt deleted file mode 100644 index f22ff575..00000000 --- a/doc/specs/vulkan/api/flags/VkEventCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkEventCreateFlags,VkEventCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkEventCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkFenceCreateFlags.txt b/doc/specs/vulkan/api/flags/VkFenceCreateFlags.txt deleted file mode 100644 index 0fa66105..00000000 --- a/doc/specs/vulkan/api/flags/VkFenceCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkFenceCreateFlags,VkFenceCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkFenceCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkFormatFeatureFlags.txt b/doc/specs/vulkan/api/flags/VkFormatFeatureFlags.txt deleted file mode 100644 index c8b65c29..00000000 --- a/doc/specs/vulkan/api/flags/VkFormatFeatureFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkFormatFeatureFlags,VkFormatFeatureFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkFormatFeatureFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkFramebufferCreateFlags.txt b/doc/specs/vulkan/api/flags/VkFramebufferCreateFlags.txt deleted file mode 100644 index c415f4b0..00000000 --- a/doc/specs/vulkan/api/flags/VkFramebufferCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkFramebufferCreateFlags,VkFramebufferCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkFramebufferCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkImageAspectFlags.txt b/doc/specs/vulkan/api/flags/VkImageAspectFlags.txt deleted file mode 100644 index 24619cd2..00000000 --- a/doc/specs/vulkan/api/flags/VkImageAspectFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkImageAspectFlags,VkImageAspectFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkImageAspectFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkImageCreateFlags.txt b/doc/specs/vulkan/api/flags/VkImageCreateFlags.txt deleted file mode 100644 index dfc8e9a1..00000000 --- a/doc/specs/vulkan/api/flags/VkImageCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkImageCreateFlags,VkImageCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkImageCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkImageUsageFlags.txt b/doc/specs/vulkan/api/flags/VkImageUsageFlags.txt deleted file mode 100644 index 235d34c3..00000000 --- a/doc/specs/vulkan/api/flags/VkImageUsageFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkImageUsageFlags,VkImageUsageFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkImageUsageFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkImageViewCreateFlags.txt b/doc/specs/vulkan/api/flags/VkImageViewCreateFlags.txt deleted file mode 100644 index cd00ddb1..00000000 --- a/doc/specs/vulkan/api/flags/VkImageViewCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkImageViewCreateFlags,VkImageViewCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkImageViewCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkInstanceCreateFlags.txt b/doc/specs/vulkan/api/flags/VkInstanceCreateFlags.txt deleted file mode 100644 index fd253f89..00000000 --- a/doc/specs/vulkan/api/flags/VkInstanceCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkInstanceCreateFlags,VkInstanceCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkInstanceCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkMemoryHeapFlags.txt b/doc/specs/vulkan/api/flags/VkMemoryHeapFlags.txt deleted file mode 100644 index 108c5c86..00000000 --- a/doc/specs/vulkan/api/flags/VkMemoryHeapFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkMemoryHeapFlags,VkMemoryHeapFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkMemoryHeapFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkMemoryMapFlags.txt b/doc/specs/vulkan/api/flags/VkMemoryMapFlags.txt deleted file mode 100644 index 6dcb141a..00000000 --- a/doc/specs/vulkan/api/flags/VkMemoryMapFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkMemoryMapFlags,VkMemoryMapFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkMemoryMapFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkMemoryPropertyFlags.txt b/doc/specs/vulkan/api/flags/VkMemoryPropertyFlags.txt deleted file mode 100644 index 5d2347c2..00000000 --- a/doc/specs/vulkan/api/flags/VkMemoryPropertyFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkMemoryPropertyFlags,VkMemoryPropertyFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkMemoryPropertyFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkPipelineCacheCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineCacheCreateFlags.txt deleted file mode 100644 index 0c99887b..00000000 --- a/doc/specs/vulkan/api/flags/VkPipelineCacheCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineCacheCreateFlags,VkPipelineCacheCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkPipelineCacheCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkPipelineColorBlendStateCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineColorBlendStateCreateFlags.txt deleted file mode 100644 index f40f9a9e..00000000 --- a/doc/specs/vulkan/api/flags/VkPipelineColorBlendStateCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineColorBlendStateCreateFlags,VkPipelineColorBlendStateCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkPipelineColorBlendStateCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkPipelineCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineCreateFlags.txt deleted file mode 100644 index 98f69fa9..00000000 --- a/doc/specs/vulkan/api/flags/VkPipelineCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineCreateFlags,VkPipelineCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkPipelineCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkPipelineDepthStencilStateCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineDepthStencilStateCreateFlags.txt deleted file mode 100644 index cfef1e89..00000000 --- a/doc/specs/vulkan/api/flags/VkPipelineDepthStencilStateCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineDepthStencilStateCreateFlags,VkPipelineDepthStencilStateCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkPipelineDepthStencilStateCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkPipelineDynamicStateCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineDynamicStateCreateFlags.txt deleted file mode 100644 index a4b97304..00000000 --- a/doc/specs/vulkan/api/flags/VkPipelineDynamicStateCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineDynamicStateCreateFlags,VkPipelineDynamicStateCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkPipelineDynamicStateCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkPipelineInputAssemblyStateCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineInputAssemblyStateCreateFlags.txt deleted file mode 100644 index 5ed39948..00000000 --- a/doc/specs/vulkan/api/flags/VkPipelineInputAssemblyStateCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineInputAssemblyStateCreateFlags,VkPipelineInputAssemblyStateCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkPipelineLayoutCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineLayoutCreateFlags.txt deleted file mode 100644 index 2d918f11..00000000 --- a/doc/specs/vulkan/api/flags/VkPipelineLayoutCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineLayoutCreateFlags,VkPipelineLayoutCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkPipelineLayoutCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkPipelineMultisampleStateCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineMultisampleStateCreateFlags.txt deleted file mode 100644 index 3f3c8d0c..00000000 --- a/doc/specs/vulkan/api/flags/VkPipelineMultisampleStateCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineMultisampleStateCreateFlags,VkPipelineMultisampleStateCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkPipelineMultisampleStateCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkPipelineRasterizationStateCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineRasterizationStateCreateFlags.txt deleted file mode 100644 index 230d2015..00000000 --- a/doc/specs/vulkan/api/flags/VkPipelineRasterizationStateCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineRasterizationStateCreateFlags,VkPipelineRasterizationStateCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkPipelineRasterizationStateCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkPipelineShaderStageCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineShaderStageCreateFlags.txt deleted file mode 100644 index f616bb64..00000000 --- a/doc/specs/vulkan/api/flags/VkPipelineShaderStageCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineShaderStageCreateFlags,VkPipelineShaderStageCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkPipelineShaderStageCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkPipelineStageFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineStageFlags.txt deleted file mode 100644 index 1a623ec7..00000000 --- a/doc/specs/vulkan/api/flags/VkPipelineStageFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineStageFlags,VkPipelineStageFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkPipelineStageFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkPipelineTessellationStateCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineTessellationStateCreateFlags.txt deleted file mode 100644 index 061ce958..00000000 --- a/doc/specs/vulkan/api/flags/VkPipelineTessellationStateCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineTessellationStateCreateFlags,VkPipelineTessellationStateCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkPipelineTessellationStateCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkPipelineVertexInputStateCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineVertexInputStateCreateFlags.txt deleted file mode 100644 index 2b152b03..00000000 --- a/doc/specs/vulkan/api/flags/VkPipelineVertexInputStateCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineVertexInputStateCreateFlags,VkPipelineVertexInputStateCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkPipelineVertexInputStateCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkPipelineViewportStateCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineViewportStateCreateFlags.txt deleted file mode 100644 index 32547c26..00000000 --- a/doc/specs/vulkan/api/flags/VkPipelineViewportStateCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineViewportStateCreateFlags,VkPipelineViewportStateCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkPipelineViewportStateCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkQueryControlFlags.txt b/doc/specs/vulkan/api/flags/VkQueryControlFlags.txt deleted file mode 100644 index 9508c146..00000000 --- a/doc/specs/vulkan/api/flags/VkQueryControlFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkQueryControlFlags,VkQueryControlFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkQueryControlFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkQueryPipelineStatisticFlags.txt b/doc/specs/vulkan/api/flags/VkQueryPipelineStatisticFlags.txt deleted file mode 100644 index 4a19cffe..00000000 --- a/doc/specs/vulkan/api/flags/VkQueryPipelineStatisticFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkQueryPipelineStatisticFlags,VkQueryPipelineStatisticFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkQueryPipelineStatisticFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkQueryPoolCreateFlags.txt b/doc/specs/vulkan/api/flags/VkQueryPoolCreateFlags.txt deleted file mode 100644 index 6f935b60..00000000 --- a/doc/specs/vulkan/api/flags/VkQueryPoolCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkQueryPoolCreateFlags,VkQueryPoolCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkQueryPoolCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkQueryResultFlags.txt b/doc/specs/vulkan/api/flags/VkQueryResultFlags.txt deleted file mode 100644 index 85bbcade..00000000 --- a/doc/specs/vulkan/api/flags/VkQueryResultFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkQueryResultFlags,VkQueryResultFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkQueryResultFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkQueueFlags.txt b/doc/specs/vulkan/api/flags/VkQueueFlags.txt deleted file mode 100644 index 2bb6a48d..00000000 --- a/doc/specs/vulkan/api/flags/VkQueueFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkQueueFlags,VkQueueFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkQueueFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkRenderPassCreateFlags.txt b/doc/specs/vulkan/api/flags/VkRenderPassCreateFlags.txt deleted file mode 100644 index 2f985a22..00000000 --- a/doc/specs/vulkan/api/flags/VkRenderPassCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkRenderPassCreateFlags,VkRenderPassCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkRenderPassCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkSampleCountFlags.txt b/doc/specs/vulkan/api/flags/VkSampleCountFlags.txt deleted file mode 100644 index fdc2afd0..00000000 --- a/doc/specs/vulkan/api/flags/VkSampleCountFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSampleCountFlags,VkSampleCountFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkSampleCountFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkSamplerCreateFlags.txt b/doc/specs/vulkan/api/flags/VkSamplerCreateFlags.txt deleted file mode 100644 index a244f96d..00000000 --- a/doc/specs/vulkan/api/flags/VkSamplerCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSamplerCreateFlags,VkSamplerCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkSamplerCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkSemaphoreCreateFlags.txt b/doc/specs/vulkan/api/flags/VkSemaphoreCreateFlags.txt deleted file mode 100644 index 415e5c4e..00000000 --- a/doc/specs/vulkan/api/flags/VkSemaphoreCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSemaphoreCreateFlags,VkSemaphoreCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkSemaphoreCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkShaderModuleCreateFlags.txt b/doc/specs/vulkan/api/flags/VkShaderModuleCreateFlags.txt deleted file mode 100644 index 17adce2e..00000000 --- a/doc/specs/vulkan/api/flags/VkShaderModuleCreateFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkShaderModuleCreateFlags,VkShaderModuleCreateFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkShaderModuleCreateFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkShaderStageFlags.txt b/doc/specs/vulkan/api/flags/VkShaderStageFlags.txt deleted file mode 100644 index 7cf9e47a..00000000 --- a/doc/specs/vulkan/api/flags/VkShaderStageFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkShaderStageFlags,VkShaderStageFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkShaderStageFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkSparseImageFormatFlags.txt b/doc/specs/vulkan/api/flags/VkSparseImageFormatFlags.txt deleted file mode 100644 index a2c232fa..00000000 --- a/doc/specs/vulkan/api/flags/VkSparseImageFormatFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSparseImageFormatFlags,VkSparseImageFormatFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkSparseImageFormatFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkSparseMemoryBindFlags.txt b/doc/specs/vulkan/api/flags/VkSparseMemoryBindFlags.txt deleted file mode 100644 index 54328dc8..00000000 --- a/doc/specs/vulkan/api/flags/VkSparseMemoryBindFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSparseMemoryBindFlags,VkSparseMemoryBindFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkSparseMemoryBindFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkStencilFaceFlags.txt b/doc/specs/vulkan/api/flags/VkStencilFaceFlags.txt deleted file mode 100644 index 6f705fd0..00000000 --- a/doc/specs/vulkan/api/flags/VkStencilFaceFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkStencilFaceFlags,VkStencilFaceFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkStencilFaceFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/flags/VkSubpassDescriptionFlags.txt b/doc/specs/vulkan/api/flags/VkSubpassDescriptionFlags.txt deleted file mode 100644 index 8555270a..00000000 --- a/doc/specs/vulkan/api/flags/VkSubpassDescriptionFlags.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSubpassDescriptionFlags,VkSubpassDescriptionFlags]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef VkFlags VkSubpassDescriptionFlags; - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/funcpointers/PFN_vkAllocationFunction.txt b/doc/specs/vulkan/api/funcpointers/PFN_vkAllocationFunction.txt deleted file mode 100644 index d8ea9828..00000000 --- a/doc/specs/vulkan/api/funcpointers/PFN_vkAllocationFunction.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[PFN_vkAllocationFunction,PFN_vkAllocationFunction]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)( - void* pUserData, - size_t size, - size_t alignment, - VkSystemAllocationScope allocationScope); - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/funcpointers/PFN_vkFreeFunction.txt b/doc/specs/vulkan/api/funcpointers/PFN_vkFreeFunction.txt deleted file mode 100644 index 9add2ef1..00000000 --- a/doc/specs/vulkan/api/funcpointers/PFN_vkFreeFunction.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[PFN_vkFreeFunction,PFN_vkFreeFunction]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef void (VKAPI_PTR *PFN_vkFreeFunction)( - void* pUserData, - void* pMemory); - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/funcpointers/PFN_vkInternalAllocationNotification.txt b/doc/specs/vulkan/api/funcpointers/PFN_vkInternalAllocationNotification.txt deleted file mode 100644 index 75014524..00000000 --- a/doc/specs/vulkan/api/funcpointers/PFN_vkInternalAllocationNotification.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[PFN_vkInternalAllocationNotification,PFN_vkInternalAllocationNotification]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( - void* pUserData, - size_t size, - VkInternalAllocationType allocationType, - VkSystemAllocationScope allocationScope); - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/funcpointers/PFN_vkInternalFreeNotification.txt b/doc/specs/vulkan/api/funcpointers/PFN_vkInternalFreeNotification.txt deleted file mode 100644 index d5b59a50..00000000 --- a/doc/specs/vulkan/api/funcpointers/PFN_vkInternalFreeNotification.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[PFN_vkInternalFreeNotification,PFN_vkInternalFreeNotification]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)( - void* pUserData, - size_t size, - VkInternalAllocationType allocationType, - VkSystemAllocationScope allocationScope); - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/funcpointers/PFN_vkReallocationFunction.txt b/doc/specs/vulkan/api/funcpointers/PFN_vkReallocationFunction.txt deleted file mode 100644 index e099b1d2..00000000 --- a/doc/specs/vulkan/api/funcpointers/PFN_vkReallocationFunction.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[PFN_vkReallocationFunction,PFN_vkReallocationFunction]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)( - void* pUserData, - void* pOriginal, - size_t size, - size_t alignment, - VkSystemAllocationScope allocationScope); - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/funcpointers/PFN_vkVoidFunction.txt b/doc/specs/vulkan/api/funcpointers/PFN_vkVoidFunction.txt deleted file mode 100644 index 536b0356..00000000 --- a/doc/specs/vulkan/api/funcpointers/PFN_vkVoidFunction.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[PFN_vkVoidFunction,PFN_vkVoidFunction]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkBuffer.txt b/doc/specs/vulkan/api/handles/VkBuffer.txt deleted file mode 100644 index e20c9076..00000000 --- a/doc/specs/vulkan/api/handles/VkBuffer.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkBuffer,VkBuffer]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkBufferView.txt b/doc/specs/vulkan/api/handles/VkBufferView.txt deleted file mode 100644 index 9b27c823..00000000 --- a/doc/specs/vulkan/api/handles/VkBufferView.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkBufferView,VkBufferView]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkCommandBuffer.txt b/doc/specs/vulkan/api/handles/VkCommandBuffer.txt deleted file mode 100644 index c4ae50f3..00000000 --- a/doc/specs/vulkan/api/handles/VkCommandBuffer.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkCommandBuffer,VkCommandBuffer]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_HANDLE(VkCommandBuffer) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkCommandPool.txt b/doc/specs/vulkan/api/handles/VkCommandPool.txt deleted file mode 100644 index a1d5b951..00000000 --- a/doc/specs/vulkan/api/handles/VkCommandPool.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkCommandPool,VkCommandPool]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkDescriptorPool.txt b/doc/specs/vulkan/api/handles/VkDescriptorPool.txt deleted file mode 100644 index c9ab669e..00000000 --- a/doc/specs/vulkan/api/handles/VkDescriptorPool.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDescriptorPool,VkDescriptorPool]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkDescriptorSet.txt b/doc/specs/vulkan/api/handles/VkDescriptorSet.txt deleted file mode 100644 index 6cd2602b..00000000 --- a/doc/specs/vulkan/api/handles/VkDescriptorSet.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDescriptorSet,VkDescriptorSet]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkDescriptorSetLayout.txt b/doc/specs/vulkan/api/handles/VkDescriptorSetLayout.txt deleted file mode 100644 index a8a398fc..00000000 --- a/doc/specs/vulkan/api/handles/VkDescriptorSetLayout.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDescriptorSetLayout,VkDescriptorSetLayout]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkDevice.txt b/doc/specs/vulkan/api/handles/VkDevice.txt deleted file mode 100644 index 47d80c38..00000000 --- a/doc/specs/vulkan/api/handles/VkDevice.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDevice,VkDevice]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_HANDLE(VkDevice) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkDeviceMemory.txt b/doc/specs/vulkan/api/handles/VkDeviceMemory.txt deleted file mode 100644 index 97ea0d0b..00000000 --- a/doc/specs/vulkan/api/handles/VkDeviceMemory.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDeviceMemory,VkDeviceMemory]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkEvent.txt b/doc/specs/vulkan/api/handles/VkEvent.txt deleted file mode 100644 index ce258f04..00000000 --- a/doc/specs/vulkan/api/handles/VkEvent.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkEvent,VkEvent]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkFence.txt b/doc/specs/vulkan/api/handles/VkFence.txt deleted file mode 100644 index a699ccd0..00000000 --- a/doc/specs/vulkan/api/handles/VkFence.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkFence,VkFence]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkFramebuffer.txt b/doc/specs/vulkan/api/handles/VkFramebuffer.txt deleted file mode 100644 index 2d274146..00000000 --- a/doc/specs/vulkan/api/handles/VkFramebuffer.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkFramebuffer,VkFramebuffer]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkImage.txt b/doc/specs/vulkan/api/handles/VkImage.txt deleted file mode 100644 index c6648bba..00000000 --- a/doc/specs/vulkan/api/handles/VkImage.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkImage,VkImage]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkImageView.txt b/doc/specs/vulkan/api/handles/VkImageView.txt deleted file mode 100644 index 058962a5..00000000 --- a/doc/specs/vulkan/api/handles/VkImageView.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkImageView,VkImageView]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkInstance.txt b/doc/specs/vulkan/api/handles/VkInstance.txt deleted file mode 100644 index 97fb80d1..00000000 --- a/doc/specs/vulkan/api/handles/VkInstance.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkInstance,VkInstance]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_HANDLE(VkInstance) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkPhysicalDevice.txt b/doc/specs/vulkan/api/handles/VkPhysicalDevice.txt deleted file mode 100644 index 4d43e393..00000000 --- a/doc/specs/vulkan/api/handles/VkPhysicalDevice.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPhysicalDevice,VkPhysicalDevice]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_HANDLE(VkPhysicalDevice) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkPipeline.txt b/doc/specs/vulkan/api/handles/VkPipeline.txt deleted file mode 100644 index 51643c84..00000000 --- a/doc/specs/vulkan/api/handles/VkPipeline.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipeline,VkPipeline]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkPipelineCache.txt b/doc/specs/vulkan/api/handles/VkPipelineCache.txt deleted file mode 100644 index 856f3b67..00000000 --- a/doc/specs/vulkan/api/handles/VkPipelineCache.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineCache,VkPipelineCache]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkPipelineLayout.txt b/doc/specs/vulkan/api/handles/VkPipelineLayout.txt deleted file mode 100644 index 3ab7d072..00000000 --- a/doc/specs/vulkan/api/handles/VkPipelineLayout.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineLayout,VkPipelineLayout]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkQueryPool.txt b/doc/specs/vulkan/api/handles/VkQueryPool.txt deleted file mode 100644 index 140d36c0..00000000 --- a/doc/specs/vulkan/api/handles/VkQueryPool.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkQueryPool,VkQueryPool]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkQueue.txt b/doc/specs/vulkan/api/handles/VkQueue.txt deleted file mode 100644 index 9d5265d2..00000000 --- a/doc/specs/vulkan/api/handles/VkQueue.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkQueue,VkQueue]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_HANDLE(VkQueue) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkRenderPass.txt b/doc/specs/vulkan/api/handles/VkRenderPass.txt deleted file mode 100644 index b2049a96..00000000 --- a/doc/specs/vulkan/api/handles/VkRenderPass.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkRenderPass,VkRenderPass]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkSampler.txt b/doc/specs/vulkan/api/handles/VkSampler.txt deleted file mode 100644 index 7d212f8f..00000000 --- a/doc/specs/vulkan/api/handles/VkSampler.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSampler,VkSampler]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkSemaphore.txt b/doc/specs/vulkan/api/handles/VkSemaphore.txt deleted file mode 100644 index 73c3056d..00000000 --- a/doc/specs/vulkan/api/handles/VkSemaphore.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSemaphore,VkSemaphore]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/handles/VkShaderModule.txt b/doc/specs/vulkan/api/handles/VkShaderModule.txt deleted file mode 100644 index e849ad9a..00000000 --- a/doc/specs/vulkan/api/handles/VkShaderModule.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkShaderModule,VkShaderModule]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) - ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkAllocateCommandBuffers.txt b/doc/specs/vulkan/api/protos/vkAllocateCommandBuffers.txt deleted file mode 100644 index 42478e6b..00000000 --- a/doc/specs/vulkan/api/protos/vkAllocateCommandBuffers.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkAllocateCommandBuffers,vkAllocateCommandBuffers]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkAllocateCommandBuffers( - VkDevice device, - const VkCommandBufferAllocateInfo* pAllocateInfo, - VkCommandBuffer* pCommandBuffers); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkAllocateDescriptorSets.txt b/doc/specs/vulkan/api/protos/vkAllocateDescriptorSets.txt deleted file mode 100644 index 7d800835..00000000 --- a/doc/specs/vulkan/api/protos/vkAllocateDescriptorSets.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkAllocateDescriptorSets,vkAllocateDescriptorSets]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkAllocateDescriptorSets( - VkDevice device, - const VkDescriptorSetAllocateInfo* pAllocateInfo, - VkDescriptorSet* pDescriptorSets); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkAllocateMemory.txt b/doc/specs/vulkan/api/protos/vkAllocateMemory.txt deleted file mode 100644 index 83c05014..00000000 --- a/doc/specs/vulkan/api/protos/vkAllocateMemory.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkAllocateMemory,vkAllocateMemory]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkAllocateMemory( - VkDevice device, - const VkMemoryAllocateInfo* pAllocateInfo, - const VkAllocationCallbacks* pAllocator, - VkDeviceMemory* pMemory); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkBeginCommandBuffer.txt b/doc/specs/vulkan/api/protos/vkBeginCommandBuffer.txt deleted file mode 100644 index e2bab4f5..00000000 --- a/doc/specs/vulkan/api/protos/vkBeginCommandBuffer.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkBeginCommandBuffer,vkBeginCommandBuffer]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkBeginCommandBuffer( - VkCommandBuffer commandBuffer, - const VkCommandBufferBeginInfo* pBeginInfo); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkBindBufferMemory.txt b/doc/specs/vulkan/api/protos/vkBindBufferMemory.txt deleted file mode 100644 index 14b53f96..00000000 --- a/doc/specs/vulkan/api/protos/vkBindBufferMemory.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkBindBufferMemory,vkBindBufferMemory]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkBindBufferMemory( - VkDevice device, - VkBuffer buffer, - VkDeviceMemory memory, - VkDeviceSize memoryOffset); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkBindImageMemory.txt b/doc/specs/vulkan/api/protos/vkBindImageMemory.txt deleted file mode 100644 index f1e69659..00000000 --- a/doc/specs/vulkan/api/protos/vkBindImageMemory.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkBindImageMemory,vkBindImageMemory]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkBindImageMemory( - VkDevice device, - VkImage image, - VkDeviceMemory memory, - VkDeviceSize memoryOffset); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdBeginQuery.txt b/doc/specs/vulkan/api/protos/vkCmdBeginQuery.txt deleted file mode 100644 index bfcd81a7..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdBeginQuery.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdBeginQuery,vkCmdBeginQuery]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdBeginQuery( - VkCommandBuffer commandBuffer, - VkQueryPool queryPool, - uint32_t query, - VkQueryControlFlags flags); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdBeginRenderPass.txt b/doc/specs/vulkan/api/protos/vkCmdBeginRenderPass.txt deleted file mode 100644 index 0970ec3f..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdBeginRenderPass.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdBeginRenderPass,vkCmdBeginRenderPass]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdBeginRenderPass( - VkCommandBuffer commandBuffer, - const VkRenderPassBeginInfo* pRenderPassBegin, - VkSubpassContents contents); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdBindDescriptorSets.txt b/doc/specs/vulkan/api/protos/vkCmdBindDescriptorSets.txt deleted file mode 100644 index 9026d06a..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdBindDescriptorSets.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdBindDescriptorSets,vkCmdBindDescriptorSets]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdBindDescriptorSets( - VkCommandBuffer commandBuffer, - VkPipelineBindPoint pipelineBindPoint, - VkPipelineLayout layout, - uint32_t firstSet, - uint32_t descriptorSetCount, - const VkDescriptorSet* pDescriptorSets, - uint32_t dynamicOffsetCount, - const uint32_t* pDynamicOffsets); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdBindIndexBuffer.txt b/doc/specs/vulkan/api/protos/vkCmdBindIndexBuffer.txt deleted file mode 100644 index 73d6204f..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdBindIndexBuffer.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdBindIndexBuffer,vkCmdBindIndexBuffer]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdBindIndexBuffer( - VkCommandBuffer commandBuffer, - VkBuffer buffer, - VkDeviceSize offset, - VkIndexType indexType); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdBindPipeline.txt b/doc/specs/vulkan/api/protos/vkCmdBindPipeline.txt deleted file mode 100644 index e86375a0..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdBindPipeline.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdBindPipeline,vkCmdBindPipeline]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdBindPipeline( - VkCommandBuffer commandBuffer, - VkPipelineBindPoint pipelineBindPoint, - VkPipeline pipeline); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdBindVertexBuffers.txt b/doc/specs/vulkan/api/protos/vkCmdBindVertexBuffers.txt deleted file mode 100644 index 5ae19f33..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdBindVertexBuffers.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdBindVertexBuffers,vkCmdBindVertexBuffers]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdBindVertexBuffers( - VkCommandBuffer commandBuffer, - uint32_t firstBinding, - uint32_t bindingCount, - const VkBuffer* pBuffers, - const VkDeviceSize* pOffsets); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdBlitImage.txt b/doc/specs/vulkan/api/protos/vkCmdBlitImage.txt deleted file mode 100644 index a48e7291..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdBlitImage.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdBlitImage,vkCmdBlitImage]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdBlitImage( - VkCommandBuffer commandBuffer, - VkImage srcImage, - VkImageLayout srcImageLayout, - VkImage dstImage, - VkImageLayout dstImageLayout, - uint32_t regionCount, - const VkImageBlit* pRegions, - VkFilter filter); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdClearAttachments.txt b/doc/specs/vulkan/api/protos/vkCmdClearAttachments.txt deleted file mode 100644 index 0f79c41c..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdClearAttachments.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdClearAttachments,vkCmdClearAttachments]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdClearAttachments( - VkCommandBuffer commandBuffer, - uint32_t attachmentCount, - const VkClearAttachment* pAttachments, - uint32_t rectCount, - const VkClearRect* pRects); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdClearColorImage.txt b/doc/specs/vulkan/api/protos/vkCmdClearColorImage.txt deleted file mode 100644 index d2148d59..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdClearColorImage.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdClearColorImage,vkCmdClearColorImage]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdClearColorImage( - VkCommandBuffer commandBuffer, - VkImage image, - VkImageLayout imageLayout, - const VkClearColorValue* pColor, - uint32_t rangeCount, - const VkImageSubresourceRange* pRanges); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdClearDepthStencilImage.txt b/doc/specs/vulkan/api/protos/vkCmdClearDepthStencilImage.txt deleted file mode 100644 index 2a5523fe..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdClearDepthStencilImage.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdClearDepthStencilImage,vkCmdClearDepthStencilImage]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdClearDepthStencilImage( - VkCommandBuffer commandBuffer, - VkImage image, - VkImageLayout imageLayout, - const VkClearDepthStencilValue* pDepthStencil, - uint32_t rangeCount, - const VkImageSubresourceRange* pRanges); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdCopyBuffer.txt b/doc/specs/vulkan/api/protos/vkCmdCopyBuffer.txt deleted file mode 100644 index da33d0db..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdCopyBuffer.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdCopyBuffer,vkCmdCopyBuffer]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdCopyBuffer( - VkCommandBuffer commandBuffer, - VkBuffer srcBuffer, - VkBuffer dstBuffer, - uint32_t regionCount, - const VkBufferCopy* pRegions); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdCopyBufferToImage.txt b/doc/specs/vulkan/api/protos/vkCmdCopyBufferToImage.txt deleted file mode 100644 index 50d2e2cc..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdCopyBufferToImage.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdCopyBufferToImage,vkCmdCopyBufferToImage]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdCopyBufferToImage( - VkCommandBuffer commandBuffer, - VkBuffer srcBuffer, - VkImage dstImage, - VkImageLayout dstImageLayout, - uint32_t regionCount, - const VkBufferImageCopy* pRegions); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdCopyImage.txt b/doc/specs/vulkan/api/protos/vkCmdCopyImage.txt deleted file mode 100644 index ab27bfb2..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdCopyImage.txt +++ /dev/null @@ -1,18 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdCopyImage,vkCmdCopyImage]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdCopyImage( - VkCommandBuffer commandBuffer, - VkImage srcImage, - VkImageLayout srcImageLayout, - VkImage dstImage, - VkImageLayout dstImageLayout, - uint32_t regionCount, - const VkImageCopy* pRegions); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdCopyImageToBuffer.txt b/doc/specs/vulkan/api/protos/vkCmdCopyImageToBuffer.txt deleted file mode 100644 index 2e3332e0..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdCopyImageToBuffer.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdCopyImageToBuffer,vkCmdCopyImageToBuffer]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdCopyImageToBuffer( - VkCommandBuffer commandBuffer, - VkImage srcImage, - VkImageLayout srcImageLayout, - VkBuffer dstBuffer, - uint32_t regionCount, - const VkBufferImageCopy* pRegions); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdCopyQueryPoolResults.txt b/doc/specs/vulkan/api/protos/vkCmdCopyQueryPoolResults.txt deleted file mode 100644 index 72ad53c9..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdCopyQueryPoolResults.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdCopyQueryPoolResults,vkCmdCopyQueryPoolResults]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdCopyQueryPoolResults( - VkCommandBuffer commandBuffer, - VkQueryPool queryPool, - uint32_t firstQuery, - uint32_t queryCount, - VkBuffer dstBuffer, - VkDeviceSize dstOffset, - VkDeviceSize stride, - VkQueryResultFlags flags); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdDispatch.txt b/doc/specs/vulkan/api/protos/vkCmdDispatch.txt deleted file mode 100644 index 8e1154b1..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdDispatch.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdDispatch,vkCmdDispatch]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdDispatch( - VkCommandBuffer commandBuffer, - uint32_t x, - uint32_t y, - uint32_t z); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdDispatchIndirect.txt b/doc/specs/vulkan/api/protos/vkCmdDispatchIndirect.txt deleted file mode 100644 index 10160bbd..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdDispatchIndirect.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdDispatchIndirect,vkCmdDispatchIndirect]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdDispatchIndirect( - VkCommandBuffer commandBuffer, - VkBuffer buffer, - VkDeviceSize offset); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdDraw.txt b/doc/specs/vulkan/api/protos/vkCmdDraw.txt deleted file mode 100644 index 6124ab81..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdDraw.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdDraw,vkCmdDraw]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdDraw( - VkCommandBuffer commandBuffer, - uint32_t vertexCount, - uint32_t instanceCount, - uint32_t firstVertex, - uint32_t firstInstance); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdDrawIndexed.txt b/doc/specs/vulkan/api/protos/vkCmdDrawIndexed.txt deleted file mode 100644 index b983bc90..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdDrawIndexed.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdDrawIndexed,vkCmdDrawIndexed]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdDrawIndexed( - VkCommandBuffer commandBuffer, - uint32_t indexCount, - uint32_t instanceCount, - uint32_t firstIndex, - int32_t vertexOffset, - uint32_t firstInstance); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdDrawIndexedIndirect.txt b/doc/specs/vulkan/api/protos/vkCmdDrawIndexedIndirect.txt deleted file mode 100644 index bee567af..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdDrawIndexedIndirect.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdDrawIndexedIndirect,vkCmdDrawIndexedIndirect]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdDrawIndexedIndirect( - VkCommandBuffer commandBuffer, - VkBuffer buffer, - VkDeviceSize offset, - uint32_t drawCount, - uint32_t stride); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdDrawIndirect.txt b/doc/specs/vulkan/api/protos/vkCmdDrawIndirect.txt deleted file mode 100644 index e5872018..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdDrawIndirect.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdDrawIndirect,vkCmdDrawIndirect]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdDrawIndirect( - VkCommandBuffer commandBuffer, - VkBuffer buffer, - VkDeviceSize offset, - uint32_t drawCount, - uint32_t stride); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdEndQuery.txt b/doc/specs/vulkan/api/protos/vkCmdEndQuery.txt deleted file mode 100644 index 886b314b..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdEndQuery.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdEndQuery,vkCmdEndQuery]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdEndQuery( - VkCommandBuffer commandBuffer, - VkQueryPool queryPool, - uint32_t query); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdEndRenderPass.txt b/doc/specs/vulkan/api/protos/vkCmdEndRenderPass.txt deleted file mode 100644 index 3b5de4c6..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdEndRenderPass.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdEndRenderPass,vkCmdEndRenderPass]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdEndRenderPass( - VkCommandBuffer commandBuffer); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdExecuteCommands.txt b/doc/specs/vulkan/api/protos/vkCmdExecuteCommands.txt deleted file mode 100644 index 7e2d7311..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdExecuteCommands.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdExecuteCommands,vkCmdExecuteCommands]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdExecuteCommands( - VkCommandBuffer commandBuffer, - uint32_t commandBufferCount, - const VkCommandBuffer* pCommandBuffers); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdFillBuffer.txt b/doc/specs/vulkan/api/protos/vkCmdFillBuffer.txt deleted file mode 100644 index 2bd1f19a..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdFillBuffer.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdFillBuffer,vkCmdFillBuffer]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdFillBuffer( - VkCommandBuffer commandBuffer, - VkBuffer dstBuffer, - VkDeviceSize dstOffset, - VkDeviceSize size, - uint32_t data); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdNextSubpass.txt b/doc/specs/vulkan/api/protos/vkCmdNextSubpass.txt deleted file mode 100644 index 55b1744c..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdNextSubpass.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdNextSubpass,vkCmdNextSubpass]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdNextSubpass( - VkCommandBuffer commandBuffer, - VkSubpassContents contents); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdPipelineBarrier.txt b/doc/specs/vulkan/api/protos/vkCmdPipelineBarrier.txt deleted file mode 100644 index ed8c6f2f..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdPipelineBarrier.txt +++ /dev/null @@ -1,21 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdPipelineBarrier,vkCmdPipelineBarrier]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void 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); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdPushConstants.txt b/doc/specs/vulkan/api/protos/vkCmdPushConstants.txt deleted file mode 100644 index 8e40a302..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdPushConstants.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdPushConstants,vkCmdPushConstants]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdPushConstants( - VkCommandBuffer commandBuffer, - VkPipelineLayout layout, - VkShaderStageFlags stageFlags, - uint32_t offset, - uint32_t size, - const void* pValues); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdResetEvent.txt b/doc/specs/vulkan/api/protos/vkCmdResetEvent.txt deleted file mode 100644 index 6f435243..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdResetEvent.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdResetEvent,vkCmdResetEvent]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdResetEvent( - VkCommandBuffer commandBuffer, - VkEvent event, - VkPipelineStageFlags stageMask); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdResetQueryPool.txt b/doc/specs/vulkan/api/protos/vkCmdResetQueryPool.txt deleted file mode 100644 index ceec1922..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdResetQueryPool.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdResetQueryPool,vkCmdResetQueryPool]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdResetQueryPool( - VkCommandBuffer commandBuffer, - VkQueryPool queryPool, - uint32_t firstQuery, - uint32_t queryCount); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdResolveImage.txt b/doc/specs/vulkan/api/protos/vkCmdResolveImage.txt deleted file mode 100644 index c52f1855..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdResolveImage.txt +++ /dev/null @@ -1,18 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdResolveImage,vkCmdResolveImage]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdResolveImage( - VkCommandBuffer commandBuffer, - VkImage srcImage, - VkImageLayout srcImageLayout, - VkImage dstImage, - VkImageLayout dstImageLayout, - uint32_t regionCount, - const VkImageResolve* pRegions); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdSetBlendConstants.txt b/doc/specs/vulkan/api/protos/vkCmdSetBlendConstants.txt deleted file mode 100644 index bf0f2cd6..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdSetBlendConstants.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdSetBlendConstants,vkCmdSetBlendConstants]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdSetBlendConstants( - VkCommandBuffer commandBuffer, - const float blendConstants[4]); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdSetDepthBias.txt b/doc/specs/vulkan/api/protos/vkCmdSetDepthBias.txt deleted file mode 100644 index 59c935a6..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdSetDepthBias.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdSetDepthBias,vkCmdSetDepthBias]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdSetDepthBias( - VkCommandBuffer commandBuffer, - float depthBiasConstantFactor, - float depthBiasClamp, - float depthBiasSlopeFactor); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdSetDepthBounds.txt b/doc/specs/vulkan/api/protos/vkCmdSetDepthBounds.txt deleted file mode 100644 index 46b623bb..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdSetDepthBounds.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdSetDepthBounds,vkCmdSetDepthBounds]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdSetDepthBounds( - VkCommandBuffer commandBuffer, - float minDepthBounds, - float maxDepthBounds); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdSetEvent.txt b/doc/specs/vulkan/api/protos/vkCmdSetEvent.txt deleted file mode 100644 index 12f879cc..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdSetEvent.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdSetEvent,vkCmdSetEvent]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdSetEvent( - VkCommandBuffer commandBuffer, - VkEvent event, - VkPipelineStageFlags stageMask); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdSetLineWidth.txt b/doc/specs/vulkan/api/protos/vkCmdSetLineWidth.txt deleted file mode 100644 index 897f1089..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdSetLineWidth.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdSetLineWidth,vkCmdSetLineWidth]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdSetLineWidth( - VkCommandBuffer commandBuffer, - float lineWidth); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdSetScissor.txt b/doc/specs/vulkan/api/protos/vkCmdSetScissor.txt deleted file mode 100644 index 0f81df31..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdSetScissor.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdSetScissor,vkCmdSetScissor]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdSetScissor( - VkCommandBuffer commandBuffer, - uint32_t firstScissor, - uint32_t scissorCount, - const VkRect2D* pScissors); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdSetStencilCompareMask.txt b/doc/specs/vulkan/api/protos/vkCmdSetStencilCompareMask.txt deleted file mode 100644 index 72d9578f..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdSetStencilCompareMask.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdSetStencilCompareMask,vkCmdSetStencilCompareMask]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdSetStencilCompareMask( - VkCommandBuffer commandBuffer, - VkStencilFaceFlags faceMask, - uint32_t compareMask); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdSetStencilReference.txt b/doc/specs/vulkan/api/protos/vkCmdSetStencilReference.txt deleted file mode 100644 index 26a91349..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdSetStencilReference.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdSetStencilReference,vkCmdSetStencilReference]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdSetStencilReference( - VkCommandBuffer commandBuffer, - VkStencilFaceFlags faceMask, - uint32_t reference); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdSetStencilWriteMask.txt b/doc/specs/vulkan/api/protos/vkCmdSetStencilWriteMask.txt deleted file mode 100644 index 6e81becc..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdSetStencilWriteMask.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdSetStencilWriteMask,vkCmdSetStencilWriteMask]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdSetStencilWriteMask( - VkCommandBuffer commandBuffer, - VkStencilFaceFlags faceMask, - uint32_t writeMask); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdSetViewport.txt b/doc/specs/vulkan/api/protos/vkCmdSetViewport.txt deleted file mode 100644 index 158651cc..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdSetViewport.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdSetViewport,vkCmdSetViewport]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdSetViewport( - VkCommandBuffer commandBuffer, - uint32_t firstViewport, - uint32_t viewportCount, - const VkViewport* pViewports); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdUpdateBuffer.txt b/doc/specs/vulkan/api/protos/vkCmdUpdateBuffer.txt deleted file mode 100644 index 21585de7..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdUpdateBuffer.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdUpdateBuffer,vkCmdUpdateBuffer]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdUpdateBuffer( - VkCommandBuffer commandBuffer, - VkBuffer dstBuffer, - VkDeviceSize dstOffset, - VkDeviceSize dataSize, - const void* pData); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdWaitEvents.txt b/doc/specs/vulkan/api/protos/vkCmdWaitEvents.txt deleted file mode 100644 index 99fa47ef..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdWaitEvents.txt +++ /dev/null @@ -1,22 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdWaitEvents,vkCmdWaitEvents]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void 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); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCmdWriteTimestamp.txt b/doc/specs/vulkan/api/protos/vkCmdWriteTimestamp.txt deleted file mode 100644 index 4d0e5500..00000000 --- a/doc/specs/vulkan/api/protos/vkCmdWriteTimestamp.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCmdWriteTimestamp,vkCmdWriteTimestamp]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkCmdWriteTimestamp( - VkCommandBuffer commandBuffer, - VkPipelineStageFlagBits pipelineStage, - VkQueryPool queryPool, - uint32_t query); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCreateBuffer.txt b/doc/specs/vulkan/api/protos/vkCreateBuffer.txt deleted file mode 100644 index 01169900..00000000 --- a/doc/specs/vulkan/api/protos/vkCreateBuffer.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCreateBuffer,vkCreateBuffer]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkCreateBuffer( - VkDevice device, - const VkBufferCreateInfo* pCreateInfo, - const VkAllocationCallbacks* pAllocator, - VkBuffer* pBuffer); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCreateBufferView.txt b/doc/specs/vulkan/api/protos/vkCreateBufferView.txt deleted file mode 100644 index 1e00ca71..00000000 --- a/doc/specs/vulkan/api/protos/vkCreateBufferView.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCreateBufferView,vkCreateBufferView]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkCreateBufferView( - VkDevice device, - const VkBufferViewCreateInfo* pCreateInfo, - const VkAllocationCallbacks* pAllocator, - VkBufferView* pView); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCreateCommandPool.txt b/doc/specs/vulkan/api/protos/vkCreateCommandPool.txt deleted file mode 100644 index 1ac342e0..00000000 --- a/doc/specs/vulkan/api/protos/vkCreateCommandPool.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCreateCommandPool,vkCreateCommandPool]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkCreateCommandPool( - VkDevice device, - const VkCommandPoolCreateInfo* pCreateInfo, - const VkAllocationCallbacks* pAllocator, - VkCommandPool* pCommandPool); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCreateComputePipelines.txt b/doc/specs/vulkan/api/protos/vkCreateComputePipelines.txt deleted file mode 100644 index 9e950cc6..00000000 --- a/doc/specs/vulkan/api/protos/vkCreateComputePipelines.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCreateComputePipelines,vkCreateComputePipelines]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkCreateComputePipelines( - VkDevice device, - VkPipelineCache pipelineCache, - uint32_t createInfoCount, - const VkComputePipelineCreateInfo* pCreateInfos, - const VkAllocationCallbacks* pAllocator, - VkPipeline* pPipelines); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCreateDescriptorPool.txt b/doc/specs/vulkan/api/protos/vkCreateDescriptorPool.txt deleted file mode 100644 index 9601a177..00000000 --- a/doc/specs/vulkan/api/protos/vkCreateDescriptorPool.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCreateDescriptorPool,vkCreateDescriptorPool]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkCreateDescriptorPool( - VkDevice device, - const VkDescriptorPoolCreateInfo* pCreateInfo, - const VkAllocationCallbacks* pAllocator, - VkDescriptorPool* pDescriptorPool); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCreateDescriptorSetLayout.txt b/doc/specs/vulkan/api/protos/vkCreateDescriptorSetLayout.txt deleted file mode 100644 index 8e101194..00000000 --- a/doc/specs/vulkan/api/protos/vkCreateDescriptorSetLayout.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCreateDescriptorSetLayout,vkCreateDescriptorSetLayout]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkCreateDescriptorSetLayout( - VkDevice device, - const VkDescriptorSetLayoutCreateInfo* pCreateInfo, - const VkAllocationCallbacks* pAllocator, - VkDescriptorSetLayout* pSetLayout); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCreateDevice.txt b/doc/specs/vulkan/api/protos/vkCreateDevice.txt deleted file mode 100644 index 559a88ef..00000000 --- a/doc/specs/vulkan/api/protos/vkCreateDevice.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCreateDevice,vkCreateDevice]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkCreateDevice( - VkPhysicalDevice physicalDevice, - const VkDeviceCreateInfo* pCreateInfo, - const VkAllocationCallbacks* pAllocator, - VkDevice* pDevice); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCreateEvent.txt b/doc/specs/vulkan/api/protos/vkCreateEvent.txt deleted file mode 100644 index c5259ec0..00000000 --- a/doc/specs/vulkan/api/protos/vkCreateEvent.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCreateEvent,vkCreateEvent]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkCreateEvent( - VkDevice device, - const VkEventCreateInfo* pCreateInfo, - const VkAllocationCallbacks* pAllocator, - VkEvent* pEvent); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCreateFence.txt b/doc/specs/vulkan/api/protos/vkCreateFence.txt deleted file mode 100644 index f86b5e82..00000000 --- a/doc/specs/vulkan/api/protos/vkCreateFence.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCreateFence,vkCreateFence]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkCreateFence( - VkDevice device, - const VkFenceCreateInfo* pCreateInfo, - const VkAllocationCallbacks* pAllocator, - VkFence* pFence); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCreateFramebuffer.txt b/doc/specs/vulkan/api/protos/vkCreateFramebuffer.txt deleted file mode 100644 index 4436c547..00000000 --- a/doc/specs/vulkan/api/protos/vkCreateFramebuffer.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCreateFramebuffer,vkCreateFramebuffer]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkCreateFramebuffer( - VkDevice device, - const VkFramebufferCreateInfo* pCreateInfo, - const VkAllocationCallbacks* pAllocator, - VkFramebuffer* pFramebuffer); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCreateGraphicsPipelines.txt b/doc/specs/vulkan/api/protos/vkCreateGraphicsPipelines.txt deleted file mode 100644 index cca6838a..00000000 --- a/doc/specs/vulkan/api/protos/vkCreateGraphicsPipelines.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCreateGraphicsPipelines,vkCreateGraphicsPipelines]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkCreateGraphicsPipelines( - VkDevice device, - VkPipelineCache pipelineCache, - uint32_t createInfoCount, - const VkGraphicsPipelineCreateInfo* pCreateInfos, - const VkAllocationCallbacks* pAllocator, - VkPipeline* pPipelines); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCreateImage.txt b/doc/specs/vulkan/api/protos/vkCreateImage.txt deleted file mode 100644 index e23d6069..00000000 --- a/doc/specs/vulkan/api/protos/vkCreateImage.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCreateImage,vkCreateImage]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkCreateImage( - VkDevice device, - const VkImageCreateInfo* pCreateInfo, - const VkAllocationCallbacks* pAllocator, - VkImage* pImage); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCreateImageView.txt b/doc/specs/vulkan/api/protos/vkCreateImageView.txt deleted file mode 100644 index a0fce087..00000000 --- a/doc/specs/vulkan/api/protos/vkCreateImageView.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCreateImageView,vkCreateImageView]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkCreateImageView( - VkDevice device, - const VkImageViewCreateInfo* pCreateInfo, - const VkAllocationCallbacks* pAllocator, - VkImageView* pView); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCreateInstance.txt b/doc/specs/vulkan/api/protos/vkCreateInstance.txt deleted file mode 100644 index ee96c33b..00000000 --- a/doc/specs/vulkan/api/protos/vkCreateInstance.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCreateInstance,vkCreateInstance]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkCreateInstance( - const VkInstanceCreateInfo* pCreateInfo, - const VkAllocationCallbacks* pAllocator, - VkInstance* pInstance); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCreatePipelineCache.txt b/doc/specs/vulkan/api/protos/vkCreatePipelineCache.txt deleted file mode 100644 index bcf383a1..00000000 --- a/doc/specs/vulkan/api/protos/vkCreatePipelineCache.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCreatePipelineCache,vkCreatePipelineCache]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkCreatePipelineCache( - VkDevice device, - const VkPipelineCacheCreateInfo* pCreateInfo, - const VkAllocationCallbacks* pAllocator, - VkPipelineCache* pPipelineCache); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCreatePipelineLayout.txt b/doc/specs/vulkan/api/protos/vkCreatePipelineLayout.txt deleted file mode 100644 index 1adcfc88..00000000 --- a/doc/specs/vulkan/api/protos/vkCreatePipelineLayout.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCreatePipelineLayout,vkCreatePipelineLayout]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkCreatePipelineLayout( - VkDevice device, - const VkPipelineLayoutCreateInfo* pCreateInfo, - const VkAllocationCallbacks* pAllocator, - VkPipelineLayout* pPipelineLayout); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCreateQueryPool.txt b/doc/specs/vulkan/api/protos/vkCreateQueryPool.txt deleted file mode 100644 index f8e62d0f..00000000 --- a/doc/specs/vulkan/api/protos/vkCreateQueryPool.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCreateQueryPool,vkCreateQueryPool]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkCreateQueryPool( - VkDevice device, - const VkQueryPoolCreateInfo* pCreateInfo, - const VkAllocationCallbacks* pAllocator, - VkQueryPool* pQueryPool); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCreateRenderPass.txt b/doc/specs/vulkan/api/protos/vkCreateRenderPass.txt deleted file mode 100644 index 018a1334..00000000 --- a/doc/specs/vulkan/api/protos/vkCreateRenderPass.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCreateRenderPass,vkCreateRenderPass]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkCreateRenderPass( - VkDevice device, - const VkRenderPassCreateInfo* pCreateInfo, - const VkAllocationCallbacks* pAllocator, - VkRenderPass* pRenderPass); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCreateSampler.txt b/doc/specs/vulkan/api/protos/vkCreateSampler.txt deleted file mode 100644 index d09c5198..00000000 --- a/doc/specs/vulkan/api/protos/vkCreateSampler.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCreateSampler,vkCreateSampler]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkCreateSampler( - VkDevice device, - const VkSamplerCreateInfo* pCreateInfo, - const VkAllocationCallbacks* pAllocator, - VkSampler* pSampler); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCreateSemaphore.txt b/doc/specs/vulkan/api/protos/vkCreateSemaphore.txt deleted file mode 100644 index 306373f8..00000000 --- a/doc/specs/vulkan/api/protos/vkCreateSemaphore.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCreateSemaphore,vkCreateSemaphore]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkCreateSemaphore( - VkDevice device, - const VkSemaphoreCreateInfo* pCreateInfo, - const VkAllocationCallbacks* pAllocator, - VkSemaphore* pSemaphore); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkCreateShaderModule.txt b/doc/specs/vulkan/api/protos/vkCreateShaderModule.txt deleted file mode 100644 index aa8240b5..00000000 --- a/doc/specs/vulkan/api/protos/vkCreateShaderModule.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkCreateShaderModule,vkCreateShaderModule]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkCreateShaderModule( - VkDevice device, - const VkShaderModuleCreateInfo* pCreateInfo, - const VkAllocationCallbacks* pAllocator, - VkShaderModule* pShaderModule); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkDestroyBuffer.txt b/doc/specs/vulkan/api/protos/vkDestroyBuffer.txt deleted file mode 100644 index 708d6a87..00000000 --- a/doc/specs/vulkan/api/protos/vkDestroyBuffer.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkDestroyBuffer,vkDestroyBuffer]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkDestroyBuffer( - VkDevice device, - VkBuffer buffer, - const VkAllocationCallbacks* pAllocator); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkDestroyBufferView.txt b/doc/specs/vulkan/api/protos/vkDestroyBufferView.txt deleted file mode 100644 index 969e41cb..00000000 --- a/doc/specs/vulkan/api/protos/vkDestroyBufferView.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkDestroyBufferView,vkDestroyBufferView]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkDestroyBufferView( - VkDevice device, - VkBufferView bufferView, - const VkAllocationCallbacks* pAllocator); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkDestroyCommandPool.txt b/doc/specs/vulkan/api/protos/vkDestroyCommandPool.txt deleted file mode 100644 index e8e958a5..00000000 --- a/doc/specs/vulkan/api/protos/vkDestroyCommandPool.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkDestroyCommandPool,vkDestroyCommandPool]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkDestroyCommandPool( - VkDevice device, - VkCommandPool commandPool, - const VkAllocationCallbacks* pAllocator); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkDestroyDescriptorPool.txt b/doc/specs/vulkan/api/protos/vkDestroyDescriptorPool.txt deleted file mode 100644 index 4c7453c1..00000000 --- a/doc/specs/vulkan/api/protos/vkDestroyDescriptorPool.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkDestroyDescriptorPool,vkDestroyDescriptorPool]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkDestroyDescriptorPool( - VkDevice device, - VkDescriptorPool descriptorPool, - const VkAllocationCallbacks* pAllocator); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkDestroyDescriptorSetLayout.txt b/doc/specs/vulkan/api/protos/vkDestroyDescriptorSetLayout.txt deleted file mode 100644 index e8d6d359..00000000 --- a/doc/specs/vulkan/api/protos/vkDestroyDescriptorSetLayout.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkDestroyDescriptorSetLayout,vkDestroyDescriptorSetLayout]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkDestroyDescriptorSetLayout( - VkDevice device, - VkDescriptorSetLayout descriptorSetLayout, - const VkAllocationCallbacks* pAllocator); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkDestroyDevice.txt b/doc/specs/vulkan/api/protos/vkDestroyDevice.txt deleted file mode 100644 index d603fc00..00000000 --- a/doc/specs/vulkan/api/protos/vkDestroyDevice.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkDestroyDevice,vkDestroyDevice]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkDestroyDevice( - VkDevice device, - const VkAllocationCallbacks* pAllocator); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkDestroyEvent.txt b/doc/specs/vulkan/api/protos/vkDestroyEvent.txt deleted file mode 100644 index 338037d1..00000000 --- a/doc/specs/vulkan/api/protos/vkDestroyEvent.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkDestroyEvent,vkDestroyEvent]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkDestroyEvent( - VkDevice device, - VkEvent event, - const VkAllocationCallbacks* pAllocator); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkDestroyFence.txt b/doc/specs/vulkan/api/protos/vkDestroyFence.txt deleted file mode 100644 index e9e8226a..00000000 --- a/doc/specs/vulkan/api/protos/vkDestroyFence.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkDestroyFence,vkDestroyFence]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkDestroyFence( - VkDevice device, - VkFence fence, - const VkAllocationCallbacks* pAllocator); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkDestroyFramebuffer.txt b/doc/specs/vulkan/api/protos/vkDestroyFramebuffer.txt deleted file mode 100644 index bc28a928..00000000 --- a/doc/specs/vulkan/api/protos/vkDestroyFramebuffer.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkDestroyFramebuffer,vkDestroyFramebuffer]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkDestroyFramebuffer( - VkDevice device, - VkFramebuffer framebuffer, - const VkAllocationCallbacks* pAllocator); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkDestroyImage.txt b/doc/specs/vulkan/api/protos/vkDestroyImage.txt deleted file mode 100644 index 676d216a..00000000 --- a/doc/specs/vulkan/api/protos/vkDestroyImage.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkDestroyImage,vkDestroyImage]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkDestroyImage( - VkDevice device, - VkImage image, - const VkAllocationCallbacks* pAllocator); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkDestroyImageView.txt b/doc/specs/vulkan/api/protos/vkDestroyImageView.txt deleted file mode 100644 index ddc90270..00000000 --- a/doc/specs/vulkan/api/protos/vkDestroyImageView.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkDestroyImageView,vkDestroyImageView]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkDestroyImageView( - VkDevice device, - VkImageView imageView, - const VkAllocationCallbacks* pAllocator); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkDestroyInstance.txt b/doc/specs/vulkan/api/protos/vkDestroyInstance.txt deleted file mode 100644 index 39dc8701..00000000 --- a/doc/specs/vulkan/api/protos/vkDestroyInstance.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkDestroyInstance,vkDestroyInstance]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkDestroyInstance( - VkInstance instance, - const VkAllocationCallbacks* pAllocator); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkDestroyPipeline.txt b/doc/specs/vulkan/api/protos/vkDestroyPipeline.txt deleted file mode 100644 index 9da272a4..00000000 --- a/doc/specs/vulkan/api/protos/vkDestroyPipeline.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkDestroyPipeline,vkDestroyPipeline]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkDestroyPipeline( - VkDevice device, - VkPipeline pipeline, - const VkAllocationCallbacks* pAllocator); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkDestroyPipelineCache.txt b/doc/specs/vulkan/api/protos/vkDestroyPipelineCache.txt deleted file mode 100644 index f659d327..00000000 --- a/doc/specs/vulkan/api/protos/vkDestroyPipelineCache.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkDestroyPipelineCache,vkDestroyPipelineCache]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkDestroyPipelineCache( - VkDevice device, - VkPipelineCache pipelineCache, - const VkAllocationCallbacks* pAllocator); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkDestroyPipelineLayout.txt b/doc/specs/vulkan/api/protos/vkDestroyPipelineLayout.txt deleted file mode 100644 index 0e10f039..00000000 --- a/doc/specs/vulkan/api/protos/vkDestroyPipelineLayout.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkDestroyPipelineLayout,vkDestroyPipelineLayout]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkDestroyPipelineLayout( - VkDevice device, - VkPipelineLayout pipelineLayout, - const VkAllocationCallbacks* pAllocator); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkDestroyQueryPool.txt b/doc/specs/vulkan/api/protos/vkDestroyQueryPool.txt deleted file mode 100644 index dc678994..00000000 --- a/doc/specs/vulkan/api/protos/vkDestroyQueryPool.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkDestroyQueryPool,vkDestroyQueryPool]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkDestroyQueryPool( - VkDevice device, - VkQueryPool queryPool, - const VkAllocationCallbacks* pAllocator); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkDestroyRenderPass.txt b/doc/specs/vulkan/api/protos/vkDestroyRenderPass.txt deleted file mode 100644 index 62c2665d..00000000 --- a/doc/specs/vulkan/api/protos/vkDestroyRenderPass.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkDestroyRenderPass,vkDestroyRenderPass]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkDestroyRenderPass( - VkDevice device, - VkRenderPass renderPass, - const VkAllocationCallbacks* pAllocator); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkDestroySampler.txt b/doc/specs/vulkan/api/protos/vkDestroySampler.txt deleted file mode 100644 index 566021c6..00000000 --- a/doc/specs/vulkan/api/protos/vkDestroySampler.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkDestroySampler,vkDestroySampler]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkDestroySampler( - VkDevice device, - VkSampler sampler, - const VkAllocationCallbacks* pAllocator); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkDestroySemaphore.txt b/doc/specs/vulkan/api/protos/vkDestroySemaphore.txt deleted file mode 100644 index e47f171e..00000000 --- a/doc/specs/vulkan/api/protos/vkDestroySemaphore.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkDestroySemaphore,vkDestroySemaphore]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkDestroySemaphore( - VkDevice device, - VkSemaphore semaphore, - const VkAllocationCallbacks* pAllocator); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkDestroyShaderModule.txt b/doc/specs/vulkan/api/protos/vkDestroyShaderModule.txt deleted file mode 100644 index 1b3b786e..00000000 --- a/doc/specs/vulkan/api/protos/vkDestroyShaderModule.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkDestroyShaderModule,vkDestroyShaderModule]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkDestroyShaderModule( - VkDevice device, - VkShaderModule shaderModule, - const VkAllocationCallbacks* pAllocator); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkDeviceWaitIdle.txt b/doc/specs/vulkan/api/protos/vkDeviceWaitIdle.txt deleted file mode 100644 index 59adc77e..00000000 --- a/doc/specs/vulkan/api/protos/vkDeviceWaitIdle.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkDeviceWaitIdle,vkDeviceWaitIdle]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkDeviceWaitIdle( - VkDevice device); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkEndCommandBuffer.txt b/doc/specs/vulkan/api/protos/vkEndCommandBuffer.txt deleted file mode 100644 index f2eec750..00000000 --- a/doc/specs/vulkan/api/protos/vkEndCommandBuffer.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkEndCommandBuffer,vkEndCommandBuffer]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkEndCommandBuffer( - VkCommandBuffer commandBuffer); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkEnumerateDeviceExtensionProperties.txt b/doc/specs/vulkan/api/protos/vkEnumerateDeviceExtensionProperties.txt deleted file mode 100644 index 425f3c92..00000000 --- a/doc/specs/vulkan/api/protos/vkEnumerateDeviceExtensionProperties.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkEnumerateDeviceExtensionProperties,vkEnumerateDeviceExtensionProperties]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkEnumerateDeviceExtensionProperties( - VkPhysicalDevice physicalDevice, - const char* pLayerName, - uint32_t* pPropertyCount, - VkExtensionProperties* pProperties); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkEnumerateDeviceLayerProperties.txt b/doc/specs/vulkan/api/protos/vkEnumerateDeviceLayerProperties.txt deleted file mode 100644 index 0c3e21f6..00000000 --- a/doc/specs/vulkan/api/protos/vkEnumerateDeviceLayerProperties.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkEnumerateDeviceLayerProperties,vkEnumerateDeviceLayerProperties]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkEnumerateDeviceLayerProperties( - VkPhysicalDevice physicalDevice, - uint32_t* pPropertyCount, - VkLayerProperties* pProperties); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkEnumerateInstanceExtensionProperties.txt b/doc/specs/vulkan/api/protos/vkEnumerateInstanceExtensionProperties.txt deleted file mode 100644 index 6b0b68c1..00000000 --- a/doc/specs/vulkan/api/protos/vkEnumerateInstanceExtensionProperties.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkEnumerateInstanceExtensionProperties,vkEnumerateInstanceExtensionProperties]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkEnumerateInstanceExtensionProperties( - const char* pLayerName, - uint32_t* pPropertyCount, - VkExtensionProperties* pProperties); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkEnumerateInstanceLayerProperties.txt b/doc/specs/vulkan/api/protos/vkEnumerateInstanceLayerProperties.txt deleted file mode 100644 index fe799c8f..00000000 --- a/doc/specs/vulkan/api/protos/vkEnumerateInstanceLayerProperties.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkEnumerateInstanceLayerProperties,vkEnumerateInstanceLayerProperties]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkEnumerateInstanceLayerProperties( - uint32_t* pPropertyCount, - VkLayerProperties* pProperties); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkEnumeratePhysicalDevices.txt b/doc/specs/vulkan/api/protos/vkEnumeratePhysicalDevices.txt deleted file mode 100644 index 53f14c0a..00000000 --- a/doc/specs/vulkan/api/protos/vkEnumeratePhysicalDevices.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkEnumeratePhysicalDevices,vkEnumeratePhysicalDevices]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkEnumeratePhysicalDevices( - VkInstance instance, - uint32_t* pPhysicalDeviceCount, - VkPhysicalDevice* pPhysicalDevices); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkFlushMappedMemoryRanges.txt b/doc/specs/vulkan/api/protos/vkFlushMappedMemoryRanges.txt deleted file mode 100644 index f36319d9..00000000 --- a/doc/specs/vulkan/api/protos/vkFlushMappedMemoryRanges.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkFlushMappedMemoryRanges,vkFlushMappedMemoryRanges]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkFlushMappedMemoryRanges( - VkDevice device, - uint32_t memoryRangeCount, - const VkMappedMemoryRange* pMemoryRanges); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkFreeCommandBuffers.txt b/doc/specs/vulkan/api/protos/vkFreeCommandBuffers.txt deleted file mode 100644 index 1d3d7e59..00000000 --- a/doc/specs/vulkan/api/protos/vkFreeCommandBuffers.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkFreeCommandBuffers,vkFreeCommandBuffers]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkFreeCommandBuffers( - VkDevice device, - VkCommandPool commandPool, - uint32_t commandBufferCount, - const VkCommandBuffer* pCommandBuffers); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkFreeDescriptorSets.txt b/doc/specs/vulkan/api/protos/vkFreeDescriptorSets.txt deleted file mode 100644 index d25d43b9..00000000 --- a/doc/specs/vulkan/api/protos/vkFreeDescriptorSets.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkFreeDescriptorSets,vkFreeDescriptorSets]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkFreeDescriptorSets( - VkDevice device, - VkDescriptorPool descriptorPool, - uint32_t descriptorSetCount, - const VkDescriptorSet* pDescriptorSets); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkFreeMemory.txt b/doc/specs/vulkan/api/protos/vkFreeMemory.txt deleted file mode 100644 index 3fb765f2..00000000 --- a/doc/specs/vulkan/api/protos/vkFreeMemory.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkFreeMemory,vkFreeMemory]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkFreeMemory( - VkDevice device, - VkDeviceMemory memory, - const VkAllocationCallbacks* pAllocator); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkGetBufferMemoryRequirements.txt b/doc/specs/vulkan/api/protos/vkGetBufferMemoryRequirements.txt deleted file mode 100644 index 9c05a1d0..00000000 --- a/doc/specs/vulkan/api/protos/vkGetBufferMemoryRequirements.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkGetBufferMemoryRequirements,vkGetBufferMemoryRequirements]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkGetBufferMemoryRequirements( - VkDevice device, - VkBuffer buffer, - VkMemoryRequirements* pMemoryRequirements); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkGetDeviceMemoryCommitment.txt b/doc/specs/vulkan/api/protos/vkGetDeviceMemoryCommitment.txt deleted file mode 100644 index 40b0d694..00000000 --- a/doc/specs/vulkan/api/protos/vkGetDeviceMemoryCommitment.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkGetDeviceMemoryCommitment,vkGetDeviceMemoryCommitment]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkGetDeviceMemoryCommitment( - VkDevice device, - VkDeviceMemory memory, - VkDeviceSize* pCommittedMemoryInBytes); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkGetDeviceProcAddr.txt b/doc/specs/vulkan/api/protos/vkGetDeviceProcAddr.txt deleted file mode 100644 index 3cf182af..00000000 --- a/doc/specs/vulkan/api/protos/vkGetDeviceProcAddr.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkGetDeviceProcAddr,vkGetDeviceProcAddr]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -PFN_vkVoidFunction vkGetDeviceProcAddr( - VkDevice device, - const char* pName); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkGetDeviceQueue.txt b/doc/specs/vulkan/api/protos/vkGetDeviceQueue.txt deleted file mode 100644 index e23ec0cc..00000000 --- a/doc/specs/vulkan/api/protos/vkGetDeviceQueue.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkGetDeviceQueue,vkGetDeviceQueue]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkGetDeviceQueue( - VkDevice device, - uint32_t queueFamilyIndex, - uint32_t queueIndex, - VkQueue* pQueue); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkGetEventStatus.txt b/doc/specs/vulkan/api/protos/vkGetEventStatus.txt deleted file mode 100644 index 60fad1e4..00000000 --- a/doc/specs/vulkan/api/protos/vkGetEventStatus.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkGetEventStatus,vkGetEventStatus]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkGetEventStatus( - VkDevice device, - VkEvent event); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkGetFenceStatus.txt b/doc/specs/vulkan/api/protos/vkGetFenceStatus.txt deleted file mode 100644 index ffbe2c82..00000000 --- a/doc/specs/vulkan/api/protos/vkGetFenceStatus.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkGetFenceStatus,vkGetFenceStatus]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkGetFenceStatus( - VkDevice device, - VkFence fence); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkGetImageMemoryRequirements.txt b/doc/specs/vulkan/api/protos/vkGetImageMemoryRequirements.txt deleted file mode 100644 index 979de9e1..00000000 --- a/doc/specs/vulkan/api/protos/vkGetImageMemoryRequirements.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkGetImageMemoryRequirements,vkGetImageMemoryRequirements]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkGetImageMemoryRequirements( - VkDevice device, - VkImage image, - VkMemoryRequirements* pMemoryRequirements); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkGetImageSparseMemoryRequirements.txt b/doc/specs/vulkan/api/protos/vkGetImageSparseMemoryRequirements.txt deleted file mode 100644 index dcc65703..00000000 --- a/doc/specs/vulkan/api/protos/vkGetImageSparseMemoryRequirements.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkGetImageSparseMemoryRequirements,vkGetImageSparseMemoryRequirements]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkGetImageSparseMemoryRequirements( - VkDevice device, - VkImage image, - uint32_t* pSparseMemoryRequirementCount, - VkSparseImageMemoryRequirements* pSparseMemoryRequirements); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkGetImageSubresourceLayout.txt b/doc/specs/vulkan/api/protos/vkGetImageSubresourceLayout.txt deleted file mode 100644 index 62067f7a..00000000 --- a/doc/specs/vulkan/api/protos/vkGetImageSubresourceLayout.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkGetImageSubresourceLayout,vkGetImageSubresourceLayout]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkGetImageSubresourceLayout( - VkDevice device, - VkImage image, - const VkImageSubresource* pSubresource, - VkSubresourceLayout* pLayout); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkGetInstanceProcAddr.txt b/doc/specs/vulkan/api/protos/vkGetInstanceProcAddr.txt deleted file mode 100644 index 526630f5..00000000 --- a/doc/specs/vulkan/api/protos/vkGetInstanceProcAddr.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkGetInstanceProcAddr,vkGetInstanceProcAddr]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -PFN_vkVoidFunction vkGetInstanceProcAddr( - VkInstance instance, - const char* pName); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceFeatures.txt b/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceFeatures.txt deleted file mode 100644 index 8950e4d9..00000000 --- a/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceFeatures.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkGetPhysicalDeviceFeatures,vkGetPhysicalDeviceFeatures]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkGetPhysicalDeviceFeatures( - VkPhysicalDevice physicalDevice, - VkPhysicalDeviceFeatures* pFeatures); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceFormatProperties.txt b/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceFormatProperties.txt deleted file mode 100644 index d2c611cc..00000000 --- a/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceFormatProperties.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkGetPhysicalDeviceFormatProperties,vkGetPhysicalDeviceFormatProperties]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkGetPhysicalDeviceFormatProperties( - VkPhysicalDevice physicalDevice, - VkFormat format, - VkFormatProperties* pFormatProperties); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceImageFormatProperties.txt b/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceImageFormatProperties.txt deleted file mode 100644 index d9487414..00000000 --- a/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceImageFormatProperties.txt +++ /dev/null @@ -1,18 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkGetPhysicalDeviceImageFormatProperties,vkGetPhysicalDeviceImageFormatProperties]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkGetPhysicalDeviceImageFormatProperties( - VkPhysicalDevice physicalDevice, - VkFormat format, - VkImageType type, - VkImageTiling tiling, - VkImageUsageFlags usage, - VkImageCreateFlags flags, - VkImageFormatProperties* pImageFormatProperties); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceMemoryProperties.txt b/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceMemoryProperties.txt deleted file mode 100644 index 73ec1476..00000000 --- a/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceMemoryProperties.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkGetPhysicalDeviceMemoryProperties,vkGetPhysicalDeviceMemoryProperties]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkGetPhysicalDeviceMemoryProperties( - VkPhysicalDevice physicalDevice, - VkPhysicalDeviceMemoryProperties* pMemoryProperties); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceProperties.txt b/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceProperties.txt deleted file mode 100644 index c18aa5d4..00000000 --- a/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceProperties.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkGetPhysicalDeviceProperties,vkGetPhysicalDeviceProperties]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkGetPhysicalDeviceProperties( - VkPhysicalDevice physicalDevice, - VkPhysicalDeviceProperties* pProperties); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceQueueFamilyProperties.txt b/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceQueueFamilyProperties.txt deleted file mode 100644 index 5e3c3d73..00000000 --- a/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceQueueFamilyProperties.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkGetPhysicalDeviceQueueFamilyProperties,vkGetPhysicalDeviceQueueFamilyProperties]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkGetPhysicalDeviceQueueFamilyProperties( - VkPhysicalDevice physicalDevice, - uint32_t* pQueueFamilyPropertyCount, - VkQueueFamilyProperties* pQueueFamilyProperties); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceSparseImageFormatProperties.txt b/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceSparseImageFormatProperties.txt deleted file mode 100644 index 676180f8..00000000 --- a/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceSparseImageFormatProperties.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkGetPhysicalDeviceSparseImageFormatProperties,vkGetPhysicalDeviceSparseImageFormatProperties]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkGetPhysicalDeviceSparseImageFormatProperties( - VkPhysicalDevice physicalDevice, - VkFormat format, - VkImageType type, - VkSampleCountFlagBits samples, - VkImageUsageFlags usage, - VkImageTiling tiling, - uint32_t* pPropertyCount, - VkSparseImageFormatProperties* pProperties); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkGetPipelineCacheData.txt b/doc/specs/vulkan/api/protos/vkGetPipelineCacheData.txt deleted file mode 100644 index b124767a..00000000 --- a/doc/specs/vulkan/api/protos/vkGetPipelineCacheData.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkGetPipelineCacheData,vkGetPipelineCacheData]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkGetPipelineCacheData( - VkDevice device, - VkPipelineCache pipelineCache, - size_t* pDataSize, - void* pData); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkGetQueryPoolResults.txt b/doc/specs/vulkan/api/protos/vkGetQueryPoolResults.txt deleted file mode 100644 index daa0e688..00000000 --- a/doc/specs/vulkan/api/protos/vkGetQueryPoolResults.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkGetQueryPoolResults,vkGetQueryPoolResults]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkGetQueryPoolResults( - VkDevice device, - VkQueryPool queryPool, - uint32_t firstQuery, - uint32_t queryCount, - size_t dataSize, - void* pData, - VkDeviceSize stride, - VkQueryResultFlags flags); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkGetRenderAreaGranularity.txt b/doc/specs/vulkan/api/protos/vkGetRenderAreaGranularity.txt deleted file mode 100644 index 6e9e3549..00000000 --- a/doc/specs/vulkan/api/protos/vkGetRenderAreaGranularity.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkGetRenderAreaGranularity,vkGetRenderAreaGranularity]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkGetRenderAreaGranularity( - VkDevice device, - VkRenderPass renderPass, - VkExtent2D* pGranularity); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkInvalidateMappedMemoryRanges.txt b/doc/specs/vulkan/api/protos/vkInvalidateMappedMemoryRanges.txt deleted file mode 100644 index e7259bdf..00000000 --- a/doc/specs/vulkan/api/protos/vkInvalidateMappedMemoryRanges.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkInvalidateMappedMemoryRanges,vkInvalidateMappedMemoryRanges]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkInvalidateMappedMemoryRanges( - VkDevice device, - uint32_t memoryRangeCount, - const VkMappedMemoryRange* pMemoryRanges); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkMapMemory.txt b/doc/specs/vulkan/api/protos/vkMapMemory.txt deleted file mode 100644 index adcb1940..00000000 --- a/doc/specs/vulkan/api/protos/vkMapMemory.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkMapMemory,vkMapMemory]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkMapMemory( - VkDevice device, - VkDeviceMemory memory, - VkDeviceSize offset, - VkDeviceSize size, - VkMemoryMapFlags flags, - void** ppData); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkMergePipelineCaches.txt b/doc/specs/vulkan/api/protos/vkMergePipelineCaches.txt deleted file mode 100644 index ab5253f6..00000000 --- a/doc/specs/vulkan/api/protos/vkMergePipelineCaches.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkMergePipelineCaches,vkMergePipelineCaches]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkMergePipelineCaches( - VkDevice device, - VkPipelineCache dstCache, - uint32_t srcCacheCount, - const VkPipelineCache* pSrcCaches); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkQueueBindSparse.txt b/doc/specs/vulkan/api/protos/vkQueueBindSparse.txt deleted file mode 100644 index 8a4faed5..00000000 --- a/doc/specs/vulkan/api/protos/vkQueueBindSparse.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkQueueBindSparse,vkQueueBindSparse]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkQueueBindSparse( - VkQueue queue, - uint32_t bindInfoCount, - const VkBindSparseInfo* pBindInfo, - VkFence fence); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkQueueSubmit.txt b/doc/specs/vulkan/api/protos/vkQueueSubmit.txt deleted file mode 100644 index 69da1fee..00000000 --- a/doc/specs/vulkan/api/protos/vkQueueSubmit.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkQueueSubmit,vkQueueSubmit]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkQueueSubmit( - VkQueue queue, - uint32_t submitCount, - const VkSubmitInfo* pSubmits, - VkFence fence); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkQueueWaitIdle.txt b/doc/specs/vulkan/api/protos/vkQueueWaitIdle.txt deleted file mode 100644 index 756649e0..00000000 --- a/doc/specs/vulkan/api/protos/vkQueueWaitIdle.txt +++ /dev/null @@ -1,12 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkQueueWaitIdle,vkQueueWaitIdle]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkQueueWaitIdle( - VkQueue queue); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkResetCommandBuffer.txt b/doc/specs/vulkan/api/protos/vkResetCommandBuffer.txt deleted file mode 100644 index 9eb4d3a6..00000000 --- a/doc/specs/vulkan/api/protos/vkResetCommandBuffer.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkResetCommandBuffer,vkResetCommandBuffer]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkResetCommandBuffer( - VkCommandBuffer commandBuffer, - VkCommandBufferResetFlags flags); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkResetCommandPool.txt b/doc/specs/vulkan/api/protos/vkResetCommandPool.txt deleted file mode 100644 index 9d17f662..00000000 --- a/doc/specs/vulkan/api/protos/vkResetCommandPool.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkResetCommandPool,vkResetCommandPool]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkResetCommandPool( - VkDevice device, - VkCommandPool commandPool, - VkCommandPoolResetFlags flags); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkResetDescriptorPool.txt b/doc/specs/vulkan/api/protos/vkResetDescriptorPool.txt deleted file mode 100644 index 15108273..00000000 --- a/doc/specs/vulkan/api/protos/vkResetDescriptorPool.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkResetDescriptorPool,vkResetDescriptorPool]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkResetDescriptorPool( - VkDevice device, - VkDescriptorPool descriptorPool, - VkDescriptorPoolResetFlags flags); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkResetEvent.txt b/doc/specs/vulkan/api/protos/vkResetEvent.txt deleted file mode 100644 index 7f465880..00000000 --- a/doc/specs/vulkan/api/protos/vkResetEvent.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkResetEvent,vkResetEvent]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkResetEvent( - VkDevice device, - VkEvent event); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkResetFences.txt b/doc/specs/vulkan/api/protos/vkResetFences.txt deleted file mode 100644 index b79c7c53..00000000 --- a/doc/specs/vulkan/api/protos/vkResetFences.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkResetFences,vkResetFences]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkResetFences( - VkDevice device, - uint32_t fenceCount, - const VkFence* pFences); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkSetEvent.txt b/doc/specs/vulkan/api/protos/vkSetEvent.txt deleted file mode 100644 index 3c93570c..00000000 --- a/doc/specs/vulkan/api/protos/vkSetEvent.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkSetEvent,vkSetEvent]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkSetEvent( - VkDevice device, - VkEvent event); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkUnmapMemory.txt b/doc/specs/vulkan/api/protos/vkUnmapMemory.txt deleted file mode 100644 index 13dea463..00000000 --- a/doc/specs/vulkan/api/protos/vkUnmapMemory.txt +++ /dev/null @@ -1,13 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkUnmapMemory,vkUnmapMemory]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkUnmapMemory( - VkDevice device, - VkDeviceMemory memory); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkUpdateDescriptorSets.txt b/doc/specs/vulkan/api/protos/vkUpdateDescriptorSets.txt deleted file mode 100644 index 11abbce8..00000000 --- a/doc/specs/vulkan/api/protos/vkUpdateDescriptorSets.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkUpdateDescriptorSets,vkUpdateDescriptorSets]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -void vkUpdateDescriptorSets( - VkDevice device, - uint32_t descriptorWriteCount, - const VkWriteDescriptorSet* pDescriptorWrites, - uint32_t descriptorCopyCount, - const VkCopyDescriptorSet* pDescriptorCopies); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/protos/vkWaitForFences.txt b/doc/specs/vulkan/api/protos/vkWaitForFences.txt deleted file mode 100644 index 13c58c2a..00000000 --- a/doc/specs/vulkan/api/protos/vkWaitForFences.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[vkWaitForFences,vkWaitForFences]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -VkResult vkWaitForFences( - VkDevice device, - uint32_t fenceCount, - const VkFence* pFences, - VkBool32 waitAll, - uint64_t timeout); ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkAllocationCallbacks.txt b/doc/specs/vulkan/api/structs/VkAllocationCallbacks.txt deleted file mode 100644 index f020b1e2..00000000 --- a/doc/specs/vulkan/api/structs/VkAllocationCallbacks.txt +++ /dev/null @@ -1,18 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkAllocationCallbacks,VkAllocationCallbacks]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkAllocationCallbacks { - void* pUserData; - PFN_vkAllocationFunction pfnAllocation; - PFN_vkReallocationFunction pfnReallocation; - PFN_vkFreeFunction pfnFree; - PFN_vkInternalAllocationNotification pfnInternalAllocation; - PFN_vkInternalFreeNotification pfnInternalFree; -} VkAllocationCallbacks; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkApplicationInfo.txt b/doc/specs/vulkan/api/structs/VkApplicationInfo.txt deleted file mode 100644 index 2e1c980d..00000000 --- a/doc/specs/vulkan/api/structs/VkApplicationInfo.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkApplicationInfo,VkApplicationInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkApplicationInfo { - VkStructureType sType; - const void* pNext; - const char* pApplicationName; - uint32_t applicationVersion; - const char* pEngineName; - uint32_t engineVersion; - uint32_t apiVersion; -} VkApplicationInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkAttachmentDescription.txt b/doc/specs/vulkan/api/structs/VkAttachmentDescription.txt deleted file mode 100644 index 6af82941..00000000 --- a/doc/specs/vulkan/api/structs/VkAttachmentDescription.txt +++ /dev/null @@ -1,21 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkAttachmentDescription,VkAttachmentDescription]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkAttachmentDescription { - VkAttachmentDescriptionFlags flags; - VkFormat format; - VkSampleCountFlagBits samples; - VkAttachmentLoadOp loadOp; - VkAttachmentStoreOp storeOp; - VkAttachmentLoadOp stencilLoadOp; - VkAttachmentStoreOp stencilStoreOp; - VkImageLayout initialLayout; - VkImageLayout finalLayout; -} VkAttachmentDescription; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkAttachmentReference.txt b/doc/specs/vulkan/api/structs/VkAttachmentReference.txt deleted file mode 100644 index e52f77f2..00000000 --- a/doc/specs/vulkan/api/structs/VkAttachmentReference.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkAttachmentReference,VkAttachmentReference]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkAttachmentReference { - uint32_t attachment; - VkImageLayout layout; -} VkAttachmentReference; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkBindSparseInfo.txt b/doc/specs/vulkan/api/structs/VkBindSparseInfo.txt deleted file mode 100644 index be684d65..00000000 --- a/doc/specs/vulkan/api/structs/VkBindSparseInfo.txt +++ /dev/null @@ -1,24 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkBindSparseInfo,VkBindSparseInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkBufferCopy.txt b/doc/specs/vulkan/api/structs/VkBufferCopy.txt deleted file mode 100644 index aedc756a..00000000 --- a/doc/specs/vulkan/api/structs/VkBufferCopy.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkBufferCopy,VkBufferCopy]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkBufferCopy { - VkDeviceSize srcOffset; - VkDeviceSize dstOffset; - VkDeviceSize size; -} VkBufferCopy; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkBufferCreateInfo.txt b/doc/specs/vulkan/api/structs/VkBufferCreateInfo.txt deleted file mode 100644 index 35d28a25..00000000 --- a/doc/specs/vulkan/api/structs/VkBufferCreateInfo.txt +++ /dev/null @@ -1,20 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkBufferCreateInfo,VkBufferCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkBufferCreateInfo { - VkStructureType sType; - const void* pNext; - VkBufferCreateFlags flags; - VkDeviceSize size; - VkBufferUsageFlags usage; - VkSharingMode sharingMode; - uint32_t queueFamilyIndexCount; - const uint32_t* pQueueFamilyIndices; -} VkBufferCreateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkBufferImageCopy.txt b/doc/specs/vulkan/api/structs/VkBufferImageCopy.txt deleted file mode 100644 index 1c334afd..00000000 --- a/doc/specs/vulkan/api/structs/VkBufferImageCopy.txt +++ /dev/null @@ -1,18 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkBufferImageCopy,VkBufferImageCopy]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkBufferImageCopy { - VkDeviceSize bufferOffset; - uint32_t bufferRowLength; - uint32_t bufferImageHeight; - VkImageSubresourceLayers imageSubresource; - VkOffset3D imageOffset; - VkExtent3D imageExtent; -} VkBufferImageCopy; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkBufferMemoryBarrier.txt b/doc/specs/vulkan/api/structs/VkBufferMemoryBarrier.txt deleted file mode 100644 index aceddb09..00000000 --- a/doc/specs/vulkan/api/structs/VkBufferMemoryBarrier.txt +++ /dev/null @@ -1,21 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkBufferMemoryBarrier,VkBufferMemoryBarrier]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkBufferViewCreateInfo.txt b/doc/specs/vulkan/api/structs/VkBufferViewCreateInfo.txt deleted file mode 100644 index e59d1b55..00000000 --- a/doc/specs/vulkan/api/structs/VkBufferViewCreateInfo.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkBufferViewCreateInfo,VkBufferViewCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkBufferViewCreateInfo { - VkStructureType sType; - const void* pNext; - VkBufferViewCreateFlags flags; - VkBuffer buffer; - VkFormat format; - VkDeviceSize offset; - VkDeviceSize range; -} VkBufferViewCreateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkClearAttachment.txt b/doc/specs/vulkan/api/structs/VkClearAttachment.txt deleted file mode 100644 index d6802fd8..00000000 --- a/doc/specs/vulkan/api/structs/VkClearAttachment.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkClearAttachment,VkClearAttachment]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkClearAttachment { - VkImageAspectFlags aspectMask; - uint32_t colorAttachment; - VkClearValue clearValue; -} VkClearAttachment; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkClearColorValue.txt b/doc/specs/vulkan/api/structs/VkClearColorValue.txt deleted file mode 100644 index ee43a733..00000000 --- a/doc/specs/vulkan/api/structs/VkClearColorValue.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkClearColorValue,VkClearColorValue]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef union VkClearColorValue { - float float32[4]; - int32_t int32[4]; - uint32_t uint32[4]; -} VkClearColorValue; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkClearDepthStencilValue.txt b/doc/specs/vulkan/api/structs/VkClearDepthStencilValue.txt deleted file mode 100644 index 319844e2..00000000 --- a/doc/specs/vulkan/api/structs/VkClearDepthStencilValue.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkClearDepthStencilValue,VkClearDepthStencilValue]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkClearDepthStencilValue { - float depth; - uint32_t stencil; -} VkClearDepthStencilValue; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkClearRect.txt b/doc/specs/vulkan/api/structs/VkClearRect.txt deleted file mode 100644 index e8a05137..00000000 --- a/doc/specs/vulkan/api/structs/VkClearRect.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkClearRect,VkClearRect]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkClearRect { - VkRect2D rect; - uint32_t baseArrayLayer; - uint32_t layerCount; -} VkClearRect; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkClearValue.txt b/doc/specs/vulkan/api/structs/VkClearValue.txt deleted file mode 100644 index 43278cb6..00000000 --- a/doc/specs/vulkan/api/structs/VkClearValue.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkClearValue,VkClearValue]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef union VkClearValue { - VkClearColorValue color; - VkClearDepthStencilValue depthStencil; -} VkClearValue; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkCommandBufferAllocateInfo.txt b/doc/specs/vulkan/api/structs/VkCommandBufferAllocateInfo.txt deleted file mode 100644 index 212e5027..00000000 --- a/doc/specs/vulkan/api/structs/VkCommandBufferAllocateInfo.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkCommandBufferAllocateInfo,VkCommandBufferAllocateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkCommandBufferAllocateInfo { - VkStructureType sType; - const void* pNext; - VkCommandPool commandPool; - VkCommandBufferLevel level; - uint32_t commandBufferCount; -} VkCommandBufferAllocateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkCommandBufferBeginInfo.txt b/doc/specs/vulkan/api/structs/VkCommandBufferBeginInfo.txt deleted file mode 100644 index 668fe29f..00000000 --- a/doc/specs/vulkan/api/structs/VkCommandBufferBeginInfo.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkCommandBufferBeginInfo,VkCommandBufferBeginInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkCommandBufferBeginInfo { - VkStructureType sType; - const void* pNext; - VkCommandBufferUsageFlags flags; - const VkCommandBufferInheritanceInfo* pInheritanceInfo; -} VkCommandBufferBeginInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkCommandBufferInheritanceInfo.txt b/doc/specs/vulkan/api/structs/VkCommandBufferInheritanceInfo.txt deleted file mode 100644 index 9cd43604..00000000 --- a/doc/specs/vulkan/api/structs/VkCommandBufferInheritanceInfo.txt +++ /dev/null @@ -1,20 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkCommandBufferInheritanceInfo,VkCommandBufferInheritanceInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkCommandBufferInheritanceInfo { - VkStructureType sType; - const void* pNext; - VkRenderPass renderPass; - uint32_t subpass; - VkFramebuffer framebuffer; - VkBool32 occlusionQueryEnable; - VkQueryControlFlags queryFlags; - VkQueryPipelineStatisticFlags pipelineStatistics; -} VkCommandBufferInheritanceInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkCommandPoolCreateInfo.txt b/doc/specs/vulkan/api/structs/VkCommandPoolCreateInfo.txt deleted file mode 100644 index 386d7a9b..00000000 --- a/doc/specs/vulkan/api/structs/VkCommandPoolCreateInfo.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkCommandPoolCreateInfo,VkCommandPoolCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkCommandPoolCreateInfo { - VkStructureType sType; - const void* pNext; - VkCommandPoolCreateFlags flags; - uint32_t queueFamilyIndex; -} VkCommandPoolCreateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkComponentMapping.txt b/doc/specs/vulkan/api/structs/VkComponentMapping.txt deleted file mode 100644 index 6367b234..00000000 --- a/doc/specs/vulkan/api/structs/VkComponentMapping.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkComponentMapping,VkComponentMapping]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkComponentMapping { - VkComponentSwizzle r; - VkComponentSwizzle g; - VkComponentSwizzle b; - VkComponentSwizzle a; -} VkComponentMapping; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkComputePipelineCreateInfo.txt b/doc/specs/vulkan/api/structs/VkComputePipelineCreateInfo.txt deleted file mode 100644 index d2896a1d..00000000 --- a/doc/specs/vulkan/api/structs/VkComputePipelineCreateInfo.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkComputePipelineCreateInfo,VkComputePipelineCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkComputePipelineCreateInfo { - VkStructureType sType; - const void* pNext; - VkPipelineCreateFlags flags; - VkPipelineShaderStageCreateInfo stage; - VkPipelineLayout layout; - VkPipeline basePipelineHandle; - int32_t basePipelineIndex; -} VkComputePipelineCreateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkCopyDescriptorSet.txt b/doc/specs/vulkan/api/structs/VkCopyDescriptorSet.txt deleted file mode 100644 index 01e874ad..00000000 --- a/doc/specs/vulkan/api/structs/VkCopyDescriptorSet.txt +++ /dev/null @@ -1,21 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkCopyDescriptorSet,VkCopyDescriptorSet]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkDescriptorBufferInfo.txt b/doc/specs/vulkan/api/structs/VkDescriptorBufferInfo.txt deleted file mode 100644 index f4aa9b16..00000000 --- a/doc/specs/vulkan/api/structs/VkDescriptorBufferInfo.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDescriptorBufferInfo,VkDescriptorBufferInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkDescriptorBufferInfo { - VkBuffer buffer; - VkDeviceSize offset; - VkDeviceSize range; -} VkDescriptorBufferInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkDescriptorImageInfo.txt b/doc/specs/vulkan/api/structs/VkDescriptorImageInfo.txt deleted file mode 100644 index 64c9dcc8..00000000 --- a/doc/specs/vulkan/api/structs/VkDescriptorImageInfo.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDescriptorImageInfo,VkDescriptorImageInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkDescriptorImageInfo { - VkSampler sampler; - VkImageView imageView; - VkImageLayout imageLayout; -} VkDescriptorImageInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkDescriptorPoolCreateInfo.txt b/doc/specs/vulkan/api/structs/VkDescriptorPoolCreateInfo.txt deleted file mode 100644 index 697b10f8..00000000 --- a/doc/specs/vulkan/api/structs/VkDescriptorPoolCreateInfo.txt +++ /dev/null @@ -1,18 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDescriptorPoolCreateInfo,VkDescriptorPoolCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkDescriptorPoolCreateInfo { - VkStructureType sType; - const void* pNext; - VkDescriptorPoolCreateFlags flags; - uint32_t maxSets; - uint32_t poolSizeCount; - const VkDescriptorPoolSize* pPoolSizes; -} VkDescriptorPoolCreateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkDescriptorPoolSize.txt b/doc/specs/vulkan/api/structs/VkDescriptorPoolSize.txt deleted file mode 100644 index eb94d7e2..00000000 --- a/doc/specs/vulkan/api/structs/VkDescriptorPoolSize.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDescriptorPoolSize,VkDescriptorPoolSize]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkDescriptorPoolSize { - VkDescriptorType type; - uint32_t descriptorCount; -} VkDescriptorPoolSize; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkDescriptorSetAllocateInfo.txt b/doc/specs/vulkan/api/structs/VkDescriptorSetAllocateInfo.txt deleted file mode 100644 index a1cc090c..00000000 --- a/doc/specs/vulkan/api/structs/VkDescriptorSetAllocateInfo.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDescriptorSetAllocateInfo,VkDescriptorSetAllocateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkDescriptorSetAllocateInfo { - VkStructureType sType; - const void* pNext; - VkDescriptorPool descriptorPool; - uint32_t descriptorSetCount; - const VkDescriptorSetLayout* pSetLayouts; -} VkDescriptorSetAllocateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkDescriptorSetLayoutBinding.txt b/doc/specs/vulkan/api/structs/VkDescriptorSetLayoutBinding.txt deleted file mode 100644 index 832d5a56..00000000 --- a/doc/specs/vulkan/api/structs/VkDescriptorSetLayoutBinding.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDescriptorSetLayoutBinding,VkDescriptorSetLayoutBinding]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkDescriptorSetLayoutBinding { - uint32_t binding; - VkDescriptorType descriptorType; - uint32_t descriptorCount; - VkShaderStageFlags stageFlags; - const VkSampler* pImmutableSamplers; -} VkDescriptorSetLayoutBinding; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkDescriptorSetLayoutCreateInfo.txt b/doc/specs/vulkan/api/structs/VkDescriptorSetLayoutCreateInfo.txt deleted file mode 100644 index 4ef7fddf..00000000 --- a/doc/specs/vulkan/api/structs/VkDescriptorSetLayoutCreateInfo.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDescriptorSetLayoutCreateInfo,VkDescriptorSetLayoutCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkDescriptorSetLayoutCreateInfo { - VkStructureType sType; - const void* pNext; - VkDescriptorSetLayoutCreateFlags flags; - uint32_t bindingCount; - const VkDescriptorSetLayoutBinding* pBindings; -} VkDescriptorSetLayoutCreateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkDeviceCreateInfo.txt b/doc/specs/vulkan/api/structs/VkDeviceCreateInfo.txt deleted file mode 100644 index dc8f5b25..00000000 --- a/doc/specs/vulkan/api/structs/VkDeviceCreateInfo.txt +++ /dev/null @@ -1,22 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDeviceCreateInfo,VkDeviceCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkDeviceQueueCreateInfo.txt b/doc/specs/vulkan/api/structs/VkDeviceQueueCreateInfo.txt deleted file mode 100644 index c680437f..00000000 --- a/doc/specs/vulkan/api/structs/VkDeviceQueueCreateInfo.txt +++ /dev/null @@ -1,18 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDeviceQueueCreateInfo,VkDeviceQueueCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkDeviceQueueCreateInfo { - VkStructureType sType; - const void* pNext; - VkDeviceQueueCreateFlags flags; - uint32_t queueFamilyIndex; - uint32_t queueCount; - const float* pQueuePriorities; -} VkDeviceQueueCreateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkDispatchIndirectCommand.txt b/doc/specs/vulkan/api/structs/VkDispatchIndirectCommand.txt deleted file mode 100644 index 8344871f..00000000 --- a/doc/specs/vulkan/api/structs/VkDispatchIndirectCommand.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDispatchIndirectCommand,VkDispatchIndirectCommand]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkDispatchIndirectCommand { - uint32_t x; - uint32_t y; - uint32_t z; -} VkDispatchIndirectCommand; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkDrawIndexedIndirectCommand.txt b/doc/specs/vulkan/api/structs/VkDrawIndexedIndirectCommand.txt deleted file mode 100644 index 5e40dee5..00000000 --- a/doc/specs/vulkan/api/structs/VkDrawIndexedIndirectCommand.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDrawIndexedIndirectCommand,VkDrawIndexedIndirectCommand]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkDrawIndexedIndirectCommand { - uint32_t indexCount; - uint32_t instanceCount; - uint32_t firstIndex; - int32_t vertexOffset; - uint32_t firstInstance; -} VkDrawIndexedIndirectCommand; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkDrawIndirectCommand.txt b/doc/specs/vulkan/api/structs/VkDrawIndirectCommand.txt deleted file mode 100644 index bbe50cd1..00000000 --- a/doc/specs/vulkan/api/structs/VkDrawIndirectCommand.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkDrawIndirectCommand,VkDrawIndirectCommand]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkDrawIndirectCommand { - uint32_t vertexCount; - uint32_t instanceCount; - uint32_t firstVertex; - uint32_t firstInstance; -} VkDrawIndirectCommand; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkEventCreateInfo.txt b/doc/specs/vulkan/api/structs/VkEventCreateInfo.txt deleted file mode 100644 index 582594d7..00000000 --- a/doc/specs/vulkan/api/structs/VkEventCreateInfo.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkEventCreateInfo,VkEventCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkEventCreateInfo { - VkStructureType sType; - const void* pNext; - VkEventCreateFlags flags; -} VkEventCreateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkExtensionProperties.txt b/doc/specs/vulkan/api/structs/VkExtensionProperties.txt deleted file mode 100644 index eebaaabc..00000000 --- a/doc/specs/vulkan/api/structs/VkExtensionProperties.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkExtensionProperties,VkExtensionProperties]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkExtensionProperties { - char extensionName[VK_MAX_EXTENSION_NAME_SIZE]; - uint32_t specVersion; -} VkExtensionProperties; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkExtent2D.txt b/doc/specs/vulkan/api/structs/VkExtent2D.txt deleted file mode 100644 index c21ef024..00000000 --- a/doc/specs/vulkan/api/structs/VkExtent2D.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkExtent2D,VkExtent2D]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkExtent2D { - uint32_t width; - uint32_t height; -} VkExtent2D; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkExtent3D.txt b/doc/specs/vulkan/api/structs/VkExtent3D.txt deleted file mode 100644 index 54a0727c..00000000 --- a/doc/specs/vulkan/api/structs/VkExtent3D.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkExtent3D,VkExtent3D]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkExtent3D { - uint32_t width; - uint32_t height; - uint32_t depth; -} VkExtent3D; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkFenceCreateInfo.txt b/doc/specs/vulkan/api/structs/VkFenceCreateInfo.txt deleted file mode 100644 index f61bb1fd..00000000 --- a/doc/specs/vulkan/api/structs/VkFenceCreateInfo.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkFenceCreateInfo,VkFenceCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkFenceCreateInfo { - VkStructureType sType; - const void* pNext; - VkFenceCreateFlags flags; -} VkFenceCreateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkFormatProperties.txt b/doc/specs/vulkan/api/structs/VkFormatProperties.txt deleted file mode 100644 index 8bf36967..00000000 --- a/doc/specs/vulkan/api/structs/VkFormatProperties.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkFormatProperties,VkFormatProperties]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkFormatProperties { - VkFormatFeatureFlags linearTilingFeatures; - VkFormatFeatureFlags optimalTilingFeatures; - VkFormatFeatureFlags bufferFeatures; -} VkFormatProperties; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkFramebufferCreateInfo.txt b/doc/specs/vulkan/api/structs/VkFramebufferCreateInfo.txt deleted file mode 100644 index 2dde233d..00000000 --- a/doc/specs/vulkan/api/structs/VkFramebufferCreateInfo.txt +++ /dev/null @@ -1,21 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkFramebufferCreateInfo,VkFramebufferCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkGraphicsPipelineCreateInfo.txt b/doc/specs/vulkan/api/structs/VkGraphicsPipelineCreateInfo.txt deleted file mode 100644 index c31cbb41..00000000 --- a/doc/specs/vulkan/api/structs/VkGraphicsPipelineCreateInfo.txt +++ /dev/null @@ -1,31 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkGraphicsPipelineCreateInfo,VkGraphicsPipelineCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkImageBlit.txt b/doc/specs/vulkan/api/structs/VkImageBlit.txt deleted file mode 100644 index d1d39fe7..00000000 --- a/doc/specs/vulkan/api/structs/VkImageBlit.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkImageBlit,VkImageBlit]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkImageBlit { - VkImageSubresourceLayers srcSubresource; - VkOffset3D srcOffsets[2]; - VkImageSubresourceLayers dstSubresource; - VkOffset3D dstOffsets[2]; -} VkImageBlit; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkImageCopy.txt b/doc/specs/vulkan/api/structs/VkImageCopy.txt deleted file mode 100644 index a88330b5..00000000 --- a/doc/specs/vulkan/api/structs/VkImageCopy.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkImageCopy,VkImageCopy]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkImageCopy { - VkImageSubresourceLayers srcSubresource; - VkOffset3D srcOffset; - VkImageSubresourceLayers dstSubresource; - VkOffset3D dstOffset; - VkExtent3D extent; -} VkImageCopy; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkImageCreateInfo.txt b/doc/specs/vulkan/api/structs/VkImageCreateInfo.txt deleted file mode 100644 index 6e29630f..00000000 --- a/doc/specs/vulkan/api/structs/VkImageCreateInfo.txt +++ /dev/null @@ -1,27 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkImageCreateInfo,VkImageCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkImageFormatProperties.txt b/doc/specs/vulkan/api/structs/VkImageFormatProperties.txt deleted file mode 100644 index 540afebf..00000000 --- a/doc/specs/vulkan/api/structs/VkImageFormatProperties.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkImageFormatProperties,VkImageFormatProperties]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkImageFormatProperties { - VkExtent3D maxExtent; - uint32_t maxMipLevels; - uint32_t maxArrayLayers; - VkSampleCountFlags sampleCounts; - VkDeviceSize maxResourceSize; -} VkImageFormatProperties; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkImageMemoryBarrier.txt b/doc/specs/vulkan/api/structs/VkImageMemoryBarrier.txt deleted file mode 100644 index e8f1f212..00000000 --- a/doc/specs/vulkan/api/structs/VkImageMemoryBarrier.txt +++ /dev/null @@ -1,22 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkImageMemoryBarrier,VkImageMemoryBarrier]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkImageResolve.txt b/doc/specs/vulkan/api/structs/VkImageResolve.txt deleted file mode 100644 index 7d84a278..00000000 --- a/doc/specs/vulkan/api/structs/VkImageResolve.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkImageResolve,VkImageResolve]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkImageResolve { - VkImageSubresourceLayers srcSubresource; - VkOffset3D srcOffset; - VkImageSubresourceLayers dstSubresource; - VkOffset3D dstOffset; - VkExtent3D extent; -} VkImageResolve; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkImageSubresource.txt b/doc/specs/vulkan/api/structs/VkImageSubresource.txt deleted file mode 100644 index 5dcaa9a4..00000000 --- a/doc/specs/vulkan/api/structs/VkImageSubresource.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkImageSubresource,VkImageSubresource]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkImageSubresource { - VkImageAspectFlags aspectMask; - uint32_t mipLevel; - uint32_t arrayLayer; -} VkImageSubresource; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkImageSubresourceLayers.txt b/doc/specs/vulkan/api/structs/VkImageSubresourceLayers.txt deleted file mode 100644 index 8cc452c5..00000000 --- a/doc/specs/vulkan/api/structs/VkImageSubresourceLayers.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkImageSubresourceLayers,VkImageSubresourceLayers]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkImageSubresourceLayers { - VkImageAspectFlags aspectMask; - uint32_t mipLevel; - uint32_t baseArrayLayer; - uint32_t layerCount; -} VkImageSubresourceLayers; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkImageSubresourceRange.txt b/doc/specs/vulkan/api/structs/VkImageSubresourceRange.txt deleted file mode 100644 index 5eb591f9..00000000 --- a/doc/specs/vulkan/api/structs/VkImageSubresourceRange.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkImageSubresourceRange,VkImageSubresourceRange]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkImageSubresourceRange { - VkImageAspectFlags aspectMask; - uint32_t baseMipLevel; - uint32_t levelCount; - uint32_t baseArrayLayer; - uint32_t layerCount; -} VkImageSubresourceRange; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkImageViewCreateInfo.txt b/doc/specs/vulkan/api/structs/VkImageViewCreateInfo.txt deleted file mode 100644 index 55b1d8aa..00000000 --- a/doc/specs/vulkan/api/structs/VkImageViewCreateInfo.txt +++ /dev/null @@ -1,20 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkImageViewCreateInfo,VkImageViewCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkImageViewCreateInfo { - VkStructureType sType; - const void* pNext; - VkImageViewCreateFlags flags; - VkImage image; - VkImageViewType viewType; - VkFormat format; - VkComponentMapping components; - VkImageSubresourceRange subresourceRange; -} VkImageViewCreateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkInstanceCreateInfo.txt b/doc/specs/vulkan/api/structs/VkInstanceCreateInfo.txt deleted file mode 100644 index 9f26c7e6..00000000 --- a/doc/specs/vulkan/api/structs/VkInstanceCreateInfo.txt +++ /dev/null @@ -1,20 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkInstanceCreateInfo,VkInstanceCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkLayerProperties.txt b/doc/specs/vulkan/api/structs/VkLayerProperties.txt deleted file mode 100644 index bd21c2b8..00000000 --- a/doc/specs/vulkan/api/structs/VkLayerProperties.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkLayerProperties,VkLayerProperties]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkLayerProperties { - char layerName[VK_MAX_EXTENSION_NAME_SIZE]; - uint32_t specVersion; - uint32_t implementationVersion; - char description[VK_MAX_DESCRIPTION_SIZE]; -} VkLayerProperties; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkMappedMemoryRange.txt b/doc/specs/vulkan/api/structs/VkMappedMemoryRange.txt deleted file mode 100644 index 91a48a73..00000000 --- a/doc/specs/vulkan/api/structs/VkMappedMemoryRange.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkMappedMemoryRange,VkMappedMemoryRange]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkMappedMemoryRange { - VkStructureType sType; - const void* pNext; - VkDeviceMemory memory; - VkDeviceSize offset; - VkDeviceSize size; -} VkMappedMemoryRange; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkMemoryAllocateInfo.txt b/doc/specs/vulkan/api/structs/VkMemoryAllocateInfo.txt deleted file mode 100644 index 44703d03..00000000 --- a/doc/specs/vulkan/api/structs/VkMemoryAllocateInfo.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkMemoryAllocateInfo,VkMemoryAllocateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkMemoryAllocateInfo { - VkStructureType sType; - const void* pNext; - VkDeviceSize allocationSize; - uint32_t memoryTypeIndex; -} VkMemoryAllocateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkMemoryBarrier.txt b/doc/specs/vulkan/api/structs/VkMemoryBarrier.txt deleted file mode 100644 index b3b00846..00000000 --- a/doc/specs/vulkan/api/structs/VkMemoryBarrier.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkMemoryBarrier,VkMemoryBarrier]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkMemoryBarrier { - VkStructureType sType; - const void* pNext; - VkAccessFlags srcAccessMask; - VkAccessFlags dstAccessMask; -} VkMemoryBarrier; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkMemoryHeap.txt b/doc/specs/vulkan/api/structs/VkMemoryHeap.txt deleted file mode 100644 index b11aa12b..00000000 --- a/doc/specs/vulkan/api/structs/VkMemoryHeap.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkMemoryHeap,VkMemoryHeap]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkMemoryHeap { - VkDeviceSize size; - VkMemoryHeapFlags flags; -} VkMemoryHeap; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkMemoryRequirements.txt b/doc/specs/vulkan/api/structs/VkMemoryRequirements.txt deleted file mode 100644 index c4fbe9a5..00000000 --- a/doc/specs/vulkan/api/structs/VkMemoryRequirements.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkMemoryRequirements,VkMemoryRequirements]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkMemoryRequirements { - VkDeviceSize size; - VkDeviceSize alignment; - uint32_t memoryTypeBits; -} VkMemoryRequirements; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkMemoryType.txt b/doc/specs/vulkan/api/structs/VkMemoryType.txt deleted file mode 100644 index 891fefc1..00000000 --- a/doc/specs/vulkan/api/structs/VkMemoryType.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkMemoryType,VkMemoryType]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkMemoryType { - VkMemoryPropertyFlags propertyFlags; - uint32_t heapIndex; -} VkMemoryType; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkOffset2D.txt b/doc/specs/vulkan/api/structs/VkOffset2D.txt deleted file mode 100644 index 43288775..00000000 --- a/doc/specs/vulkan/api/structs/VkOffset2D.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkOffset2D,VkOffset2D]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkOffset2D { - int32_t x; - int32_t y; -} VkOffset2D; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkOffset3D.txt b/doc/specs/vulkan/api/structs/VkOffset3D.txt deleted file mode 100644 index f5e73e1c..00000000 --- a/doc/specs/vulkan/api/structs/VkOffset3D.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkOffset3D,VkOffset3D]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkOffset3D { - int32_t x; - int32_t y; - int32_t z; -} VkOffset3D; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkPhysicalDeviceFeatures.txt b/doc/specs/vulkan/api/structs/VkPhysicalDeviceFeatures.txt deleted file mode 100644 index 67bcfcc6..00000000 --- a/doc/specs/vulkan/api/structs/VkPhysicalDeviceFeatures.txt +++ /dev/null @@ -1,67 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPhysicalDeviceFeatures,VkPhysicalDeviceFeatures]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkPhysicalDeviceLimits.txt b/doc/specs/vulkan/api/structs/VkPhysicalDeviceLimits.txt deleted file mode 100644 index cd0b5c75..00000000 --- a/doc/specs/vulkan/api/structs/VkPhysicalDeviceLimits.txt +++ /dev/null @@ -1,118 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPhysicalDeviceLimits,VkPhysicalDeviceLimits]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkPhysicalDeviceMemoryProperties.txt b/doc/specs/vulkan/api/structs/VkPhysicalDeviceMemoryProperties.txt deleted file mode 100644 index b696877d..00000000 --- a/doc/specs/vulkan/api/structs/VkPhysicalDeviceMemoryProperties.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPhysicalDeviceMemoryProperties,VkPhysicalDeviceMemoryProperties]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkPhysicalDeviceMemoryProperties { - uint32_t memoryTypeCount; - VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES]; - uint32_t memoryHeapCount; - VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; -} VkPhysicalDeviceMemoryProperties; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkPhysicalDeviceProperties.txt b/doc/specs/vulkan/api/structs/VkPhysicalDeviceProperties.txt deleted file mode 100644 index db29dc8b..00000000 --- a/doc/specs/vulkan/api/structs/VkPhysicalDeviceProperties.txt +++ /dev/null @@ -1,21 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPhysicalDeviceProperties,VkPhysicalDeviceProperties]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkPhysicalDeviceSparseProperties.txt b/doc/specs/vulkan/api/structs/VkPhysicalDeviceSparseProperties.txt deleted file mode 100644 index 003c894c..00000000 --- a/doc/specs/vulkan/api/structs/VkPhysicalDeviceSparseProperties.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPhysicalDeviceSparseProperties,VkPhysicalDeviceSparseProperties]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkPhysicalDeviceSparseProperties { - VkBool32 residencyStandard2DBlockShape; - VkBool32 residencyStandard2DMultisampleBlockShape; - VkBool32 residencyStandard3DBlockShape; - VkBool32 residencyAlignedMipSize; - VkBool32 residencyNonResidentStrict; -} VkPhysicalDeviceSparseProperties; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkPipelineCacheCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineCacheCreateInfo.txt deleted file mode 100644 index f2474d01..00000000 --- a/doc/specs/vulkan/api/structs/VkPipelineCacheCreateInfo.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineCacheCreateInfo,VkPipelineCacheCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkPipelineCacheCreateInfo { - VkStructureType sType; - const void* pNext; - VkPipelineCacheCreateFlags flags; - size_t initialDataSize; - const void* pInitialData; -} VkPipelineCacheCreateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkPipelineColorBlendAttachmentState.txt b/doc/specs/vulkan/api/structs/VkPipelineColorBlendAttachmentState.txt deleted file mode 100644 index 1827f4e7..00000000 --- a/doc/specs/vulkan/api/structs/VkPipelineColorBlendAttachmentState.txt +++ /dev/null @@ -1,20 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineColorBlendAttachmentState,VkPipelineColorBlendAttachmentState]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkPipelineColorBlendAttachmentState { - VkBool32 blendEnable; - VkBlendFactor srcColorBlendFactor; - VkBlendFactor dstColorBlendFactor; - VkBlendOp colorBlendOp; - VkBlendFactor srcAlphaBlendFactor; - VkBlendFactor dstAlphaBlendFactor; - VkBlendOp alphaBlendOp; - VkColorComponentFlags colorWriteMask; -} VkPipelineColorBlendAttachmentState; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkPipelineColorBlendStateCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineColorBlendStateCreateInfo.txt deleted file mode 100644 index 71f86d60..00000000 --- a/doc/specs/vulkan/api/structs/VkPipelineColorBlendStateCreateInfo.txt +++ /dev/null @@ -1,20 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineColorBlendStateCreateInfo,VkPipelineColorBlendStateCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkPipelineColorBlendStateCreateInfo { - VkStructureType sType; - const void* pNext; - VkPipelineColorBlendStateCreateFlags flags; - VkBool32 logicOpEnable; - VkLogicOp logicOp; - uint32_t attachmentCount; - const VkPipelineColorBlendAttachmentState* pAttachments; - float blendConstants[4]; -} VkPipelineColorBlendStateCreateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkPipelineDepthStencilStateCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineDepthStencilStateCreateInfo.txt deleted file mode 100644 index 57380c79..00000000 --- a/doc/specs/vulkan/api/structs/VkPipelineDepthStencilStateCreateInfo.txt +++ /dev/null @@ -1,24 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineDepthStencilStateCreateInfo,VkPipelineDepthStencilStateCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkPipelineDynamicStateCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineDynamicStateCreateInfo.txt deleted file mode 100644 index b62e0fd9..00000000 --- a/doc/specs/vulkan/api/structs/VkPipelineDynamicStateCreateInfo.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineDynamicStateCreateInfo,VkPipelineDynamicStateCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkPipelineDynamicStateCreateInfo { - VkStructureType sType; - const void* pNext; - VkPipelineDynamicStateCreateFlags flags; - uint32_t dynamicStateCount; - const VkDynamicState* pDynamicStates; -} VkPipelineDynamicStateCreateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkPipelineInputAssemblyStateCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineInputAssemblyStateCreateInfo.txt deleted file mode 100644 index 4a1ca8f6..00000000 --- a/doc/specs/vulkan/api/structs/VkPipelineInputAssemblyStateCreateInfo.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineInputAssemblyStateCreateInfo,VkPipelineInputAssemblyStateCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkPipelineInputAssemblyStateCreateInfo { - VkStructureType sType; - const void* pNext; - VkPipelineInputAssemblyStateCreateFlags flags; - VkPrimitiveTopology topology; - VkBool32 primitiveRestartEnable; -} VkPipelineInputAssemblyStateCreateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkPipelineLayoutCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineLayoutCreateInfo.txt deleted file mode 100644 index 732849c4..00000000 --- a/doc/specs/vulkan/api/structs/VkPipelineLayoutCreateInfo.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineLayoutCreateInfo,VkPipelineLayoutCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkPipelineLayoutCreateInfo { - VkStructureType sType; - const void* pNext; - VkPipelineLayoutCreateFlags flags; - uint32_t setLayoutCount; - const VkDescriptorSetLayout* pSetLayouts; - uint32_t pushConstantRangeCount; - const VkPushConstantRange* pPushConstantRanges; -} VkPipelineLayoutCreateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkPipelineMultisampleStateCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineMultisampleStateCreateInfo.txt deleted file mode 100644 index a00e527a..00000000 --- a/doc/specs/vulkan/api/structs/VkPipelineMultisampleStateCreateInfo.txt +++ /dev/null @@ -1,21 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineMultisampleStateCreateInfo,VkPipelineMultisampleStateCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkPipelineMultisampleStateCreateInfo { - VkStructureType sType; - const void* pNext; - VkPipelineMultisampleStateCreateFlags flags; - VkSampleCountFlagBits rasterizationSamples; - VkBool32 sampleShadingEnable; - float minSampleShading; - const VkSampleMask* pSampleMask; - VkBool32 alphaToCoverageEnable; - VkBool32 alphaToOneEnable; -} VkPipelineMultisampleStateCreateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkPipelineRasterizationStateCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineRasterizationStateCreateInfo.txt deleted file mode 100644 index 8b8bf1e7..00000000 --- a/doc/specs/vulkan/api/structs/VkPipelineRasterizationStateCreateInfo.txt +++ /dev/null @@ -1,25 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineRasterizationStateCreateInfo,VkPipelineRasterizationStateCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkPipelineShaderStageCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineShaderStageCreateInfo.txt deleted file mode 100644 index 3885187b..00000000 --- a/doc/specs/vulkan/api/structs/VkPipelineShaderStageCreateInfo.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineShaderStageCreateInfo,VkPipelineShaderStageCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkPipelineShaderStageCreateInfo { - VkStructureType sType; - const void* pNext; - VkPipelineShaderStageCreateFlags flags; - VkShaderStageFlagBits stage; - VkShaderModule module; - const char* pName; - const VkSpecializationInfo* pSpecializationInfo; -} VkPipelineShaderStageCreateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkPipelineTessellationStateCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineTessellationStateCreateInfo.txt deleted file mode 100644 index ff1eec6e..00000000 --- a/doc/specs/vulkan/api/structs/VkPipelineTessellationStateCreateInfo.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineTessellationStateCreateInfo,VkPipelineTessellationStateCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkPipelineTessellationStateCreateInfo { - VkStructureType sType; - const void* pNext; - VkPipelineTessellationStateCreateFlags flags; - uint32_t patchControlPoints; -} VkPipelineTessellationStateCreateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkPipelineVertexInputStateCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineVertexInputStateCreateInfo.txt deleted file mode 100644 index 7147a9a3..00000000 --- a/doc/specs/vulkan/api/structs/VkPipelineVertexInputStateCreateInfo.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineVertexInputStateCreateInfo,VkPipelineVertexInputStateCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkPipelineVertexInputStateCreateInfo { - VkStructureType sType; - const void* pNext; - VkPipelineVertexInputStateCreateFlags flags; - uint32_t vertexBindingDescriptionCount; - const VkVertexInputBindingDescription* pVertexBindingDescriptions; - uint32_t vertexAttributeDescriptionCount; - const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; -} VkPipelineVertexInputStateCreateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkPipelineViewportStateCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineViewportStateCreateInfo.txt deleted file mode 100644 index f0ef3722..00000000 --- a/doc/specs/vulkan/api/structs/VkPipelineViewportStateCreateInfo.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPipelineViewportStateCreateInfo,VkPipelineViewportStateCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkPipelineViewportStateCreateInfo { - VkStructureType sType; - const void* pNext; - VkPipelineViewportStateCreateFlags flags; - uint32_t viewportCount; - const VkViewport* pViewports; - uint32_t scissorCount; - const VkRect2D* pScissors; -} VkPipelineViewportStateCreateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkPushConstantRange.txt b/doc/specs/vulkan/api/structs/VkPushConstantRange.txt deleted file mode 100644 index 4139d2eb..00000000 --- a/doc/specs/vulkan/api/structs/VkPushConstantRange.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkPushConstantRange,VkPushConstantRange]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkPushConstantRange { - VkShaderStageFlags stageFlags; - uint32_t offset; - uint32_t size; -} VkPushConstantRange; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkQueryPoolCreateInfo.txt b/doc/specs/vulkan/api/structs/VkQueryPoolCreateInfo.txt deleted file mode 100644 index 4b9e436e..00000000 --- a/doc/specs/vulkan/api/structs/VkQueryPoolCreateInfo.txt +++ /dev/null @@ -1,18 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkQueryPoolCreateInfo,VkQueryPoolCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkQueryPoolCreateInfo { - VkStructureType sType; - const void* pNext; - VkQueryPoolCreateFlags flags; - VkQueryType queryType; - uint32_t queryCount; - VkQueryPipelineStatisticFlags pipelineStatistics; -} VkQueryPoolCreateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkQueueFamilyProperties.txt b/doc/specs/vulkan/api/structs/VkQueueFamilyProperties.txt deleted file mode 100644 index 33a1ee6b..00000000 --- a/doc/specs/vulkan/api/structs/VkQueueFamilyProperties.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkQueueFamilyProperties,VkQueueFamilyProperties]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkQueueFamilyProperties { - VkQueueFlags queueFlags; - uint32_t queueCount; - uint32_t timestampValidBits; - VkExtent3D minImageTransferGranularity; -} VkQueueFamilyProperties; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkRect2D.txt b/doc/specs/vulkan/api/structs/VkRect2D.txt deleted file mode 100644 index 13343c32..00000000 --- a/doc/specs/vulkan/api/structs/VkRect2D.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkRect2D,VkRect2D]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkRect2D { - VkOffset2D offset; - VkExtent2D extent; -} VkRect2D; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkRenderPassBeginInfo.txt b/doc/specs/vulkan/api/structs/VkRenderPassBeginInfo.txt deleted file mode 100644 index 5ec72f01..00000000 --- a/doc/specs/vulkan/api/structs/VkRenderPassBeginInfo.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkRenderPassBeginInfo,VkRenderPassBeginInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkRenderPassBeginInfo { - VkStructureType sType; - const void* pNext; - VkRenderPass renderPass; - VkFramebuffer framebuffer; - VkRect2D renderArea; - uint32_t clearValueCount; - const VkClearValue* pClearValues; -} VkRenderPassBeginInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkRenderPassCreateInfo.txt b/doc/specs/vulkan/api/structs/VkRenderPassCreateInfo.txt deleted file mode 100644 index eaf9166a..00000000 --- a/doc/specs/vulkan/api/structs/VkRenderPassCreateInfo.txt +++ /dev/null @@ -1,21 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkRenderPassCreateInfo,VkRenderPassCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkSamplerCreateInfo.txt b/doc/specs/vulkan/api/structs/VkSamplerCreateInfo.txt deleted file mode 100644 index 11465226..00000000 --- a/doc/specs/vulkan/api/structs/VkSamplerCreateInfo.txt +++ /dev/null @@ -1,30 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSamplerCreateInfo,VkSamplerCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkSemaphoreCreateInfo.txt b/doc/specs/vulkan/api/structs/VkSemaphoreCreateInfo.txt deleted file mode 100644 index 2b5afec4..00000000 --- a/doc/specs/vulkan/api/structs/VkSemaphoreCreateInfo.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSemaphoreCreateInfo,VkSemaphoreCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkSemaphoreCreateInfo { - VkStructureType sType; - const void* pNext; - VkSemaphoreCreateFlags flags; -} VkSemaphoreCreateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkShaderModuleCreateInfo.txt b/doc/specs/vulkan/api/structs/VkShaderModuleCreateInfo.txt deleted file mode 100644 index b02bc25f..00000000 --- a/doc/specs/vulkan/api/structs/VkShaderModuleCreateInfo.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkShaderModuleCreateInfo,VkShaderModuleCreateInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkShaderModuleCreateInfo { - VkStructureType sType; - const void* pNext; - VkShaderModuleCreateFlags flags; - size_t codeSize; - const uint32_t* pCode; -} VkShaderModuleCreateInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkSparseBufferMemoryBindInfo.txt b/doc/specs/vulkan/api/structs/VkSparseBufferMemoryBindInfo.txt deleted file mode 100644 index 7d9d519c..00000000 --- a/doc/specs/vulkan/api/structs/VkSparseBufferMemoryBindInfo.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSparseBufferMemoryBindInfo,VkSparseBufferMemoryBindInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkSparseBufferMemoryBindInfo { - VkBuffer buffer; - uint32_t bindCount; - const VkSparseMemoryBind* pBinds; -} VkSparseBufferMemoryBindInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkSparseImageFormatProperties.txt b/doc/specs/vulkan/api/structs/VkSparseImageFormatProperties.txt deleted file mode 100644 index a0f0e1e5..00000000 --- a/doc/specs/vulkan/api/structs/VkSparseImageFormatProperties.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSparseImageFormatProperties,VkSparseImageFormatProperties]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkSparseImageFormatProperties { - VkImageAspectFlags aspectMask; - VkExtent3D imageGranularity; - VkSparseImageFormatFlags flags; -} VkSparseImageFormatProperties; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkSparseImageMemoryBind.txt b/doc/specs/vulkan/api/structs/VkSparseImageMemoryBind.txt deleted file mode 100644 index f0998817..00000000 --- a/doc/specs/vulkan/api/structs/VkSparseImageMemoryBind.txt +++ /dev/null @@ -1,18 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSparseImageMemoryBind,VkSparseImageMemoryBind]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkSparseImageMemoryBind { - VkImageSubresource subresource; - VkOffset3D offset; - VkExtent3D extent; - VkDeviceMemory memory; - VkDeviceSize memoryOffset; - VkSparseMemoryBindFlags flags; -} VkSparseImageMemoryBind; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkSparseImageMemoryBindInfo.txt b/doc/specs/vulkan/api/structs/VkSparseImageMemoryBindInfo.txt deleted file mode 100644 index e92d24df..00000000 --- a/doc/specs/vulkan/api/structs/VkSparseImageMemoryBindInfo.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSparseImageMemoryBindInfo,VkSparseImageMemoryBindInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkSparseImageMemoryBindInfo { - VkImage image; - uint32_t bindCount; - const VkSparseImageMemoryBind* pBinds; -} VkSparseImageMemoryBindInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkSparseImageMemoryRequirements.txt b/doc/specs/vulkan/api/structs/VkSparseImageMemoryRequirements.txt deleted file mode 100644 index 9efd4752..00000000 --- a/doc/specs/vulkan/api/structs/VkSparseImageMemoryRequirements.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSparseImageMemoryRequirements,VkSparseImageMemoryRequirements]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkSparseImageMemoryRequirements { - VkSparseImageFormatProperties formatProperties; - uint32_t imageMipTailFirstLod; - VkDeviceSize imageMipTailSize; - VkDeviceSize imageMipTailOffset; - VkDeviceSize imageMipTailStride; -} VkSparseImageMemoryRequirements; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkSparseImageOpaqueMemoryBindInfo.txt b/doc/specs/vulkan/api/structs/VkSparseImageOpaqueMemoryBindInfo.txt deleted file mode 100644 index 1b76ca4e..00000000 --- a/doc/specs/vulkan/api/structs/VkSparseImageOpaqueMemoryBindInfo.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSparseImageOpaqueMemoryBindInfo,VkSparseImageOpaqueMemoryBindInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkSparseImageOpaqueMemoryBindInfo { - VkImage image; - uint32_t bindCount; - const VkSparseMemoryBind* pBinds; -} VkSparseImageOpaqueMemoryBindInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkSparseMemoryBind.txt b/doc/specs/vulkan/api/structs/VkSparseMemoryBind.txt deleted file mode 100644 index c47ed002..00000000 --- a/doc/specs/vulkan/api/structs/VkSparseMemoryBind.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSparseMemoryBind,VkSparseMemoryBind]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkSparseMemoryBind { - VkDeviceSize resourceOffset; - VkDeviceSize size; - VkDeviceMemory memory; - VkDeviceSize memoryOffset; - VkSparseMemoryBindFlags flags; -} VkSparseMemoryBind; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkSpecializationInfo.txt b/doc/specs/vulkan/api/structs/VkSpecializationInfo.txt deleted file mode 100644 index 81353066..00000000 --- a/doc/specs/vulkan/api/structs/VkSpecializationInfo.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSpecializationInfo,VkSpecializationInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkSpecializationInfo { - uint32_t mapEntryCount; - const VkSpecializationMapEntry* pMapEntries; - size_t dataSize; - const void* pData; -} VkSpecializationInfo; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkSpecializationMapEntry.txt b/doc/specs/vulkan/api/structs/VkSpecializationMapEntry.txt deleted file mode 100644 index 73f753c8..00000000 --- a/doc/specs/vulkan/api/structs/VkSpecializationMapEntry.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSpecializationMapEntry,VkSpecializationMapEntry]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkSpecializationMapEntry { - uint32_t constantID; - uint32_t offset; - size_t size; -} VkSpecializationMapEntry; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkStencilOpState.txt b/doc/specs/vulkan/api/structs/VkStencilOpState.txt deleted file mode 100644 index deedccfa..00000000 --- a/doc/specs/vulkan/api/structs/VkStencilOpState.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkStencilOpState,VkStencilOpState]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkStencilOpState { - VkStencilOp failOp; - VkStencilOp passOp; - VkStencilOp depthFailOp; - VkCompareOp compareOp; - uint32_t compareMask; - uint32_t writeMask; - uint32_t reference; -} VkStencilOpState; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkSubmitInfo.txt b/doc/specs/vulkan/api/structs/VkSubmitInfo.txt deleted file mode 100644 index 3fcd40f5..00000000 --- a/doc/specs/vulkan/api/structs/VkSubmitInfo.txt +++ /dev/null @@ -1,21 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSubmitInfo,VkSubmitInfo]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkSubpassDependency.txt b/doc/specs/vulkan/api/structs/VkSubpassDependency.txt deleted file mode 100644 index 2b7ccfe5..00000000 --- a/doc/specs/vulkan/api/structs/VkSubpassDependency.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSubpassDependency,VkSubpassDependency]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkSubpassDependency { - uint32_t srcSubpass; - uint32_t dstSubpass; - VkPipelineStageFlags srcStageMask; - VkPipelineStageFlags dstStageMask; - VkAccessFlags srcAccessMask; - VkAccessFlags dstAccessMask; - VkDependencyFlags dependencyFlags; -} VkSubpassDependency; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkSubpassDescription.txt b/doc/specs/vulkan/api/structs/VkSubpassDescription.txt deleted file mode 100644 index 670c6183..00000000 --- a/doc/specs/vulkan/api/structs/VkSubpassDescription.txt +++ /dev/null @@ -1,22 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSubpassDescription,VkSubpassDescription]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkSubresourceLayout.txt b/doc/specs/vulkan/api/structs/VkSubresourceLayout.txt deleted file mode 100644 index 7a8fe35a..00000000 --- a/doc/specs/vulkan/api/structs/VkSubresourceLayout.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkSubresourceLayout,VkSubresourceLayout]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkSubresourceLayout { - VkDeviceSize offset; - VkDeviceSize size; - VkDeviceSize rowPitch; - VkDeviceSize arrayPitch; - VkDeviceSize depthPitch; -} VkSubresourceLayout; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkVertexInputAttributeDescription.txt b/doc/specs/vulkan/api/structs/VkVertexInputAttributeDescription.txt deleted file mode 100644 index 0cbb92a6..00000000 --- a/doc/specs/vulkan/api/structs/VkVertexInputAttributeDescription.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkVertexInputAttributeDescription,VkVertexInputAttributeDescription]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkVertexInputAttributeDescription { - uint32_t location; - uint32_t binding; - VkFormat format; - uint32_t offset; -} VkVertexInputAttributeDescription; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkVertexInputBindingDescription.txt b/doc/specs/vulkan/api/structs/VkVertexInputBindingDescription.txt deleted file mode 100644 index 533bb49a..00000000 --- a/doc/specs/vulkan/api/structs/VkVertexInputBindingDescription.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkVertexInputBindingDescription,VkVertexInputBindingDescription]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkVertexInputBindingDescription { - uint32_t binding; - uint32_t stride; - VkVertexInputRate inputRate; -} VkVertexInputBindingDescription; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkViewport.txt b/doc/specs/vulkan/api/structs/VkViewport.txt deleted file mode 100644 index 7a05b296..00000000 --- a/doc/specs/vulkan/api/structs/VkViewport.txt +++ /dev/null @@ -1,18 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkViewport,VkViewport]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -typedef struct VkViewport { - float x; - float y; - float width; - float height; - float minDepth; - float maxDepth; -} VkViewport; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/structs/VkWriteDescriptorSet.txt b/doc/specs/vulkan/api/structs/VkWriteDescriptorSet.txt deleted file mode 100644 index 4081de36..00000000 --- a/doc/specs/vulkan/api/structs/VkWriteDescriptorSet.txt +++ /dev/null @@ -1,22 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -[[VkWriteDescriptorSet,VkWriteDescriptorSet]] -["source","{basebackend@docbook:c++:cpp}",title=""] -endif::doctype-manpage[] -ifdef::doctype-manpage[] -["source","{basebackend@docbook:c++:cpp}"] -endif::doctype-manpage[] ------------------------------------------------------------------------------- -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; ------------------------------------------------------------------------------- diff --git a/doc/specs/vulkan/api/timeMarker b/doc/specs/vulkan/api/timeMarker deleted file mode 100644 index e69de29b..00000000 diff --git a/doc/specs/vulkan/appendices/VK_AMD_draw_indirect_count.txt b/doc/specs/vulkan/appendices/VK_AMD_draw_indirect_count.txt new file mode 100644 index 00000000..8a10a3ec --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_AMD_draw_indirect_count.txt @@ -0,0 +1,35 @@ +== VK_AMD_draw_indirect_count + +*Name String*:: VK_AMD_draw_indirect_count +*Extension Type*:: Device extension +*Registered Extension Number*:: 34 +*Last Modified Date*:: 8/23/2016 +*Revision*:: 1 +*IP Status*:: +No known IP claims. +*Dependencies*:: + - This extension is written against version {apiversion} of the {apiname} API. +*Contributors*:: + - Matthaeus G. Chajdas, AMD + - Derrick Owens, AMD + - Graham Sellers, AMD + - Daniel Rakos, AMD + - Dominik Witczak, AMD +*Contacts*:: + - Matthaeus G. Chajdas, AMD (matthaeus.chajdas@amd.com) + +This extension allows an application to source the number of draw calls for +indirect draw calls from a buffer. This enables applications to generate arbitrary +amounts of draw commands and execute them without host intervention. + +=== New Functions + + * fname:vkCmdDrawIndirectCountAMD + * fname:vkCmdDrawIndexedIndirectCountAMD + +=== Version History + + * Revision 2, 2016-08-23 (Dominik Witczak) + - Minor fixes + * Revision 1, 2016-07-21 (Matthaeus Chajdas) + - Initial draft diff --git a/doc/specs/vulkan/appendices/VK_AMD_gcn_shader.txt b/doc/specs/vulkan/appendices/VK_AMD_gcn_shader.txt new file mode 100644 index 00000000..5f9cf7c1 --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_AMD_gcn_shader.txt @@ -0,0 +1,27 @@ +== VK_AMD_gcn_shader + +*Name String*:: VK_AMD_gcn_shader +*Extension Type*:: Device extension +*Registered Extension Number*:: 26 +*Last Modified Date*:: 5/30/2016 +*Revision*:: 1 +*IP Status*:: +No known IP claims. +*Dependencies*:: + - This extension is written against version 1.0.15 of the {apiname} API. +*Contributors*:: + - Dominik Witczak, AMD + - Daniel Rakos, AMD + - Rex Xu, AMD + - Graham Sellers, AMD +*Contacts*:: + - Dominik Witczak, AMD (dominik.witczak@amd.com) + +This extension adds support for the following SPIR-V extension in {apiname}: + + * SPV_AMD_gcn_shader + +=== Version History + + * Revision 1, 2016-05-30 (Dominik Witczak) + - Initial draft \ No newline at end of file diff --git a/doc/specs/vulkan/appendices/VK_AMD_rasterization_order.txt b/doc/specs/vulkan/appendices/VK_AMD_rasterization_order.txt new file mode 100644 index 00000000..b6067aef --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_AMD_rasterization_order.txt @@ -0,0 +1,112 @@ +== VK_AMD_rasterization_order + +*Name String*:: VK_AMD_rasterization_order +*Extension Type*:: Device extension +*Registered Extension Number*:: 19 +*Last Modified Date*:: 04/25/2016 +*Revision*:: 1 +*IP Status*:: +No known IP claims. +*Dependencies*:: + - This extension is written against version 1.0.11 of the {apiname} API. +*Contributors*:: + - Matthaeus G. Chajdas, AMD + - Jaakko Konttinen, AMD + - Daniel Rakos, AMD + - Graham Sellers, AMD + - Dominik Witczak, AMD +*Contacts*:: + - Daniel Rakos, AMD + +This extension introduces the possibility for the application to control the +order of primitive rasterization. In unextended {apiname}, the following +stages are guaranteed to execute in _API order_: + + * depth bounds test + * stencil test, stencil op, and stencil write + * depth test and depth write + * occlusion queries + * blending, logic op, and color write + +This extension enables applications to opt into a relaxed, implementation +defined primitive rasterization order that may allow better parallel processing +of primitives and thus enabling higher primitive throughput. It is applicable in +cases where the primitive rasterization order is known to not affect the output +of the rendering or any differences caused by a different rasterization order +are not a concern from the point of view of the application's purpose. + +A few examples of cases when using the relaxed primitive rasterization order +would not have an effect on the final rendering: + + * If the primitives rendered are known to not overlap in framebuffer space. + * If depth testing is used with a comparison operator of + ename:VK_COMPARE_OP_LESS, ename:VK_COMPARE_OP_LESS_OR_EQUAL, + ename:VK_COMPARE_OP_GREATER, or ename:VK_COMPARE_OP_GREATER_OR_EQUAL, + and the primitives rendered are known to not overlap in clip space. + * If depth testing is not used and blending is enabled for all attachments + with a commutative blend operator. + +=== New Object Types + +None + +=== New Enum Constants + + * Extending ename:VkStructureType: + ** ename:VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD + +=== New Enums + + * elink:VkRasterizationOrderAMD + +=== New Structures + + * slink:VkPipelineRasterizationStateRasterizationOrderAMD + +=== New Functions + +None + +=== Issues + +1) How is this extension useful to application developers? + + RESOLVED: Allows them to increase primitive throughput for cases when + strict API order rasterization is not important due to the nature of the + content, the configuration used, or the requirements towards the output of + the rendering. + +2) How does this extension interact with content optimizations aiming to + reduce overdraw by appropriately ordering the input primitives? + + RESOLVED: While the relaxed rasterization order might somewhat limit the + effectiveness of such content optimizations, most of the benefits of it + are expected to be retained even when the relaxed rasterization order is + used so applications are still recommended to apply these optimizations + even if they intend to use the extension. + +3) Are there any guarantees about the primitive rasterization order when + using the new relaxed mode? + + RESOLVED: No. The rasterization order is completely implementation + dependent in this case but in practice it is expected to partially still + follow the order of incoming primitives. + +4) Does the new relaxed rasterization order have any adverse effect on + repeatability and other invariance rules of the API? + + RESOLVED: Yes, in the sense that it extends the list of exceptions when + the repeatability requirement doesn't apply. + +=== Examples + +None + +=== Issues + +None + +=== Version History + + * Revision 1, 2016-04-25 (Daniel Rakos) + - Initial draft. diff --git a/doc/specs/vulkan/appendices/VK_AMD_shader_explicit_vertex_parameter.txt b/doc/specs/vulkan/appendices/VK_AMD_shader_explicit_vertex_parameter.txt new file mode 100644 index 00000000..52664d89 --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_AMD_shader_explicit_vertex_parameter.txt @@ -0,0 +1,28 @@ +== VK_AMD_shader_explicit_vertex_parameter + +*Name String*:: VK_AMD_shader_explicit_vertex_parameter +*Extension Type*:: Device extension +*Registered Extension Number*:: 22 +*Last Modified Date*:: 5/10/2016 +*Revision*:: 1 +*IP Status*:: +No known IP claims. +*Dependencies*:: + - This extension is written against version 1.0.11 of the {apiname} API. +*Contributors*:: + - Matthaeus G. Chajdas, AMD + - Qun Lin, AMD + - Daniel Rakos, AMD + - Graham Sellers, AMD + - Rex Xu, AMD +*Contacts*:: + - Qun Lin, AMD (quentin.lin@amd.com) + +This extension adds support for the following SPIR-V extension in {apiname}: + + * SPV_AMD_shader_explicit_vertex_parameter + +=== Version History + + * Revision 1, 2016-05-10 (Daniel Rakos) + - Initial draft diff --git a/doc/specs/vulkan/appendices/VK_AMD_shader_trinary_minmax.txt b/doc/specs/vulkan/appendices/VK_AMD_shader_trinary_minmax.txt new file mode 100644 index 00000000..59bca101 --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_AMD_shader_trinary_minmax.txt @@ -0,0 +1,28 @@ +== VK_AMD_shader_trinary_minmax + +*Name String*:: VK_AMD_shader_trinary_minmax +*Extension Type*:: Device extension +*Registered Extension Number*:: 21 +*Last Modified Date*:: 5/10/2016 +*Revision*:: 1 +*IP Status*:: +No known IP claims. +*Dependencies*:: + - This extension is written against version 1.0.11 of the {apiname} API. +*Contributors*:: + - Matthaeus G. Chajdas, AMD + - Qun Lin, AMD + - Daniel Rakos, AMD + - Graham Sellers, AMD + - Rex Xu, AMD +*Contacts*:: + - Qun Lin, AMD (quentin.lin@amd.com) + +This extension adds support for the following SPIR-V extension in {apiname}: + + * SPV_AMD_shader_trinary_minmax + +=== Version History + + * Revision 1, 2016-05-10 (Daniel Rakos) + - Initial draft diff --git a/doc/specs/vulkan/appendices/VK_EXT_debug_marker.txt b/doc/specs/vulkan/appendices/VK_EXT_debug_marker.txt new file mode 100644 index 00000000..0e065cbf --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_EXT_debug_marker.txt @@ -0,0 +1,197 @@ +== VK_EXT_debug_marker + +*Name String*:: VK_EXT_debug_marker +*Extension Type*:: Device extension +*Registered Extension Number*:: 23 +*Last Modified Date*:: 04/23/2016 +*Revision*:: 3 +*IP Status*:: +No known IP claims. +*Dependencies*:: + - This extension is written against version 1.0.11 of the {apiname} API. +*Contributors*:: + - Baldur Karlsson + - Dan Ginsburg, Valve + - Jon Ashburn, LunarG + - Kyle Spagnoli, NVIDIA +*Contacts*:: + - Baldur Karlsson + +The VK_EXT_debug_marker extension is a device extension. It introduces +concepts of object naming and tagging, for better tracking of {apiname} +objects, as well as additional commands for recording annotations of named +sections of a workload to aid organisation and offline analysis in external +tools. + +=== New Object Types + +None + +=== New Enum Constants + + * Extending ename:VkStructureType: + ** ename:VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT + ** ename:VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT + ** ename:VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT + +=== New Enums + +None + +=== New Structures + + * slink:VkDebugMarkerObjectNameInfoEXT + * slink:VkDebugMarkerObjectTagInfoEXT + * slink:VkDebugMarkerMarkerInfoEXT + +=== New Functions + + * flink:vkDebugMarkerSetObjectTagEXT + * flink:vkDebugMarkerSetObjectNameEXT + * flink:vkCmdDebugMarkerBeginEXT + * flink:vkCmdDebugMarkerEndEXT + * flink:vkCmdDebugMarkerInsertEXT + +=== Examples + +**Example 1** + +Associate a name with an image, for easier debugging in external tools or with +validation layers that can print a friendly name when referring to objects in +error messages. + +[source,{basebackend@docbook:c++:cpp}] +---------------------------------------- + extern VkDevice device; + extern VkImage image; + + // Must call extension functions through a function pointer: + PFN_vkDebugMarkerSetObjectNameEXT pfnDebugMarkerSetObjectNameEXT = (PFN_vkDebugMarkerSetObjectNameEXT)vkGetDeviceProcAddr(device, "vkDebugMarkerSetObjectNameEXT"); + + // Set a name on the image + const VkDeviceCreateInfo imageNameInfo = + { + VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT, // sType + NULL, // pNext + VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, // objectType + (uint64_t)image, // object + "Brick Diffuse Texture", // pObjectName + }; + + pfnDebugMarkerSetObjectNameEXT(device, &imageNameInfo); + + // A subsequent error might print: + // Image 'Brick Diffuse Texture' (0xc0dec0dedeadbeef) is used in a + // command buffer with no memory bound to it. +---------------------------------------- + +**Example 2** + +Annotating regions of a workload with naming information so that offline +analysis tools can display a more usable visualisation of the commands +submitted. + +[source,{basebackend@docbook:c++:cpp}] +---------------------------------------- + extern VkDevice device; + extern VkCommandBuffer commandBuffer; + + // Must call extension functions through a function pointer: + PFN_vkCmdDebugMarkerBeginEXT pfnCmdDebugMarkerBeginEXT = (PFN_vkCmdDebugMarkerBeginEXT)vkGetDeviceProcAddr(device, "vkCmdDebugMarkerBeginEXT"); + PFN_vkCmdDebugMarkerEndEXT pfnCmdDebugMarkerEndEXT = (PFN_vkCmdDebugMarkerEndEXT)vkGetDeviceProcAddr(device, "vkCmdDebugMarkerEndEXT"); + PFN_vkCmdDebugMarkerInsertEXT pfnCmdDebugMarkerInsertEXT = (PFN_vkCmdDebugMarkerInsertEXT)vkGetDeviceProcAddr(device, "vkCmdDebugMarkerInsertEXT"); + + // Describe the area being rendered + const VkDebugMarkerMarkerInfoEXT houseMarker = + { + VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT, // sType + NULL, // pNext + "Brick House", // pMarkerName + { 1.0f, 0.0f, 0.0f, 1.0f }, // color + }; + + // Start an annotated group of calls under the 'Brick House' name + pfnCmdDebugMarkerBeginEXT(commandBuffer, &houseMarker); + { + // A mutable structure for each part being rendered + VkDebugMarkerMarkerInfoEXT housePartMarker = + { + VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT, // sType + NULL, // pNext + NULL, // pMarkerName + { 0.0f, 0.0f, 0.0f, 0.0f }, // color + }; + + // Set the name and insert the marker + housePartMarker.pMarkerName = "Walls"; + pfnCmdDebugMarkerInsertEXT(commandBuffer, &housePartMarker); + + // Insert the drawcall for the walls + vkCmdDrawIndexed(commandBuffer, 1000, 1, 0, 0, 0); + + // Insert a recursive region for two sets of windows + housePartMarker.pMarkerName = "Windows"; + pfnCmdDebugMarkerBeginEXT(commandBuffer, &housePartMarker); + { + vkCmdDrawIndexed(commandBuffer, 75, 6, 1000, 0, 0); + vkCmdDrawIndexed(commandBuffer, 100, 2, 1450, 0, 0); + } + pfnCmdDebugMarkerEndEXT(commandBuffer); + + housePartMarker.pMarkerName = "Front Door"; + pfnCmdDebugMarkerInsertEXT(commandBuffer, &housePartMarker); + + vkCmdDrawIndexed(commandBuffer, 350, 1, 1650, 0, 0); + + housePartMarker.pMarkerName = "Roof"; + pfnCmdDebugMarkerInsertEXT(commandBuffer, &housePartMarker); + + vkCmdDrawIndexed(commandBuffer, 500, 1, 2000, 0, 0); + } + // End the house annotation started above + pfnCmdDebugMarkerEndEXT(commandBuffer); +---------------------------------------- + +=== Issues + +1) Should the tag or name for an object be specified using the pNext parameter + in the object's CreateInfo structure? + + RESOLVED: No. While this fits with other Vulkan patterns and would allow + more type safety and future proofing against future objects, it has notable + downsides. In particular passing the name at CreateInfo time does not allow + renaming, prevents late binding of naming information, and does not allow + naming of implicitly created objects such as queues and swap chain images. + +2) Should the command annotation functions vkCmdDebugMarkerBeginEXT() and + vkCmdDebugMarkerEndEXT() support the ability to specify a color? + + RESOLVED: Yes. The functions have been expanded to take an optional color + which can be used at will by implementations consuming the command buffer + annotations in their visualisation. + +3) Should the functions added in this extension accept an extensible structure + as their parameter for a more flexible API, as opposed to direct function + parameters? If so, which functions? + + RESOLVED: Yes. All functions have been modified to take a structure type + with extensible pNext pointer, to allow future extensions to add additional + annotation information in the same commands. + +=== Version History + + * Revision 1, 2015-02-24 (Baldur Karlsson) + - Initial draft, based on LunarG marker spec + + * Revision 2, 2015-02-26 (Baldur Karlsson) + - Renamed Dbg to DebugMarker in function names + - Allow markers in secondary command buffers under certain + circumstances + - Minor language tweaks and edits + + * Revision 3, 2015-04-23 (Baldur Karlsson) + - Reorganise spec layout to closer match desired organisation + - Added optional color to markers (both regions and inserted + labels) + - Changed functions to take extensible structs instead of direct + function parameters diff --git a/doc/specs/vulkan/appendices/VK_EXT_debug_report.txt b/doc/specs/vulkan/appendices/VK_EXT_debug_report.txt new file mode 100644 index 00000000..b6208a0a --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_EXT_debug_report.txt @@ -0,0 +1,232 @@ +[appendix] +Debug Report Extension +====================== + +Due to the nature of the Vulkan interface, there is very little +error information available to the developer/application. By enabling +optional validation layers and using the Debug Report extension a +developer has much more detailed feedback on the application's +use of Vulkan. + +This extension adds two entry points (fname:vkCreateDebugReportCallbackEXT, +fname:vkDestroyDebugReportCallbackEXT) and an extension structure that +together define a way for layers and the implementation to call back to the +application for events of interest to the application. +An application enables this extension by including +"VK_EXT_debug_report"+ +in the list of pname:ppEnabledExtensionNames at flink:vkCreateInstance. +Layers indicating support will return +VK_EXT_debug_report+ in the +extension list queried via flink:vkEnumerateInstanceExtensionProperties. + +To register a callback, an application uses +fname:vkCreateDebugReportCallbackEXT. + +include::../api/protos/vkCreateDebugReportCallbackEXT.txt[] + + * pname:instance the instance the callback will be logged on. + * pname:pCreateInfo points to a sname:VkDebugReportCallbackCreateInfoEXT + structure which defines the conditions under which this callback will be + called. + * pname:pCallback is a pointer to record the + sname:VkDebugReportCallbackEXT object created. + +include::../validity/protos/vkCreateDebugReportCallbackEXT.txt[] + +The definition of sname:VkDebugReportCallbackCreateInfoEXT is: + +include::../api/structs/VkDebugReportCallbackCreateInfoEXT.txt[] + + * pname:sType is the type of this structure. + * pname:pNext is `NULL` or a pointer to an extension-specific structure. + * pname:flags indicate which event(s) will cause this callback to be called. + Flags are interpreted as bit fields and multiple may be set. + Bits which can: be set include: ++ +-- +// refBegin VkDebugReportCallbackCreateInfoEXT - Bitmask specifying events which cause a debug report callback +include::../api/enums/VkDebugReportFlagBitsEXT.txt[] + + * ename:VK_DEBUG_REPORT_ERROR_BIT_EXT indicates an error that may + cause undefined results, including an application crash. + * ename:VK_DEBUG_REPORT_WARNING_BIT_EXT indicates an unexpected use. + E.g. Not destroying objects prior to destroying the containing object or + potential inconsistencies between descriptor set layout and the layout + in the corresponding shader, etc. + * ename:VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT indicates a potentially + non-optimal use of Vulkan. + E.g. using fname:vkCmdClearImage when a RenderPass load_op would have worked. + * ename:VK_DEBUG_REPORT_INFORMATION_BIT_EXT indicates an informational message such as resource details that may be handy when debugging an application. + * ename:VK_DEBUG_REPORT_DEBUG_BIT_EXT indicates diagnostic information from the loader and layers. + + * pname:pfnCallback is the application callback function to call. + * pname:pUserData is user data to be passed to the callback. +-- + +For each sname:VkDebugReportCallbackEXT that is created the flags +determine when that function is called. +A callback will be made for issues that match any bit set in its flags. +The callback will come directly from the component that detected the event, +unless some other layer intercepts the calls for its own purposes +(filter them in different way, log to system error log, etc.) +An application may receive multiple callbacks if multiple sname:VkDebugReportCallbackEXT +objects were created. A callback will always be executed in the same thread +as the originating Vulkan call. A callback may be called from multiple threads +simultaneously (if the application is making Vulkan calls from multiple threads). + +include::../validity/structs/VkDebugReportCallbackCreateInfoEXT.txt[] + +// refBegin PFN_vkDebugReportCallbackEXT application-defined debug report callback function + +The prototype for the callback function implemented by the app is: + +include::../api/funcpointers/PFN_vkDebugReportCallbackEXT.txt[] + + * pname:flags indicates the ename:VkDebugReportFlagBitsEXT that triggered + this callback. + * pname:objType the type of object being used / created at the time the + event was triggered. Object types are defined by + ename:VkDebugReportObjectTypeEXT. + * pname:object gives the object where the issue was detected. pname:object + may be ename:VK_NULL_OBJECT if there is no object associated with the + event. + * pname:location is a component (layer, driver, loader) defined value that + indicates the _location_ of the trigger. This is an optional value. + * pname:messageCode a layer defined value indicating what test triggered + this callback. + * pname:pLayerPrefix is the abbreviation of the component making the + callback. + * pname:pMessage is a null-terminated string detailing the trigger + conditions. + * pname:pUserData is the user data given when the DebugReportCallback was + created. + +The callback returns a basetype:VkBool32 that indicates to the calling layer +if the Vulkan call should be aborted or not. Applications should always +return ename:VK_FALSE so that they see the same behavior with and without +validation layers enabled. + +If the application returns ename:VK_TRUE from it's callback and the Vulkan +call being aborted returns a basetype:VkResult, the layer will return +ename:VK_ERROR_VALIDATION_FAILED_EXT. + +[NOTE] +.Note +==== +The primary expected use of ename:VK_ERROR_VALIDATION_FAILED_EXT is for validation +layer testing. It's not expected that an application would see this this +error code during normal use of the validation layers. +==== + +// refEnd PFN_vkDebugReportCallbackEXT + +To inject its own messages into the debug stream an application +uses fname:vkDebugReportMessageEXT. + +include::../api/protos/vkDebugReportMessageEXT.txt[] + + * pname:instance the instance the callback will be logged on. + * pname:flags indicates the ename:VkDebugReportFlagBitsEXT that triggered + this callback. + * pname:objType is the type of object being used / created at the time the + event was triggered. Object types are defined by + ename:VkDebugReportObjectTypeEXT. + * pname:object is object where the issue was detected. pname:object may be + ename:VK_NULL_OBJECT if there is no object associated with the event. + * pname:location is a component (layer, driver, loader) defined value that + indicates the _location_ of the trigger. This is an optional value. + * pname:messageCode is a layer defined value indicating what test + triggered this callback. + * pname:pLayerPrefix is the abbreviation of the component making the + callback. + * pname:pMessage is a null-terminated string detailing the trigger + conditions. + +The call will propagate through the layers and cause a callback +to the application. The parameters are passed on to the callback +in addition to the pname:pUserData value that was defined at the +time the callback was registered. + +include::../validity/protos/vkDebugReportMessageEXT.txt[] + +To destroy a sname:VkDebugReportCallbackEXT object an application calls +fname:vkDestroyDebugReportCallbackEXT. + +include::../api/protos/vkDestroyDebugReportCallbackEXT.txt[] + + * pname:instance the instance where the callback was created. + * pname:callback the sname:VkDebugReportCallbackEXT object to destroy. + +include::../validity/protos/vkDestroyDebugReportCallbackEXT.txt[] + +Using the ename:VK_EXT_debug_report allows an application to register +multiple callbacks with the validation layers. Some callbacks may log the +information to a file, others may cause a debug break point or +other application defined behavior. An application can register +callbacks even when no validation layers are enabled, but they +will only be called for loader and, if implemented, driver events. + +To capture issues found while creating or destroying an instance an +application can link a sname:VkDebugReportCallbackCreateInfoEXT structure to +the pNext element of the sname:VkInstanceCreateInfo structure given to +fname:vkCreateInstance. This callback is only valid for the duration of +the fname:vkCreateInstance and the fname:vkDestroyInstance call. +Use fname:vkCreateDebugReportCallbackEXT to create persistent callback objects. + +Example uses: +Create three callback objects. One will log errors and warnings to the +debug console using Windows OutputDebugString. +The second will cause the debugger to break at that callback when an error happens +and the third will log warnings to stdout. +[source,{basebackend@docbook:c++:cpp}] +------------------------------------------------------------------------------ + VkResult res; + VkDebugReportCallbackEXT cb1, cb2, cb3; + + VkDebugReportCallbackCreateInfoEXT callback1 = { + VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, // sType + NULL, // pNext + VK_DEBUG_REPORT_ERROR_BIT_EXT | // flags + VK_DEBUG_REPORT_WARNING_BIT_EXT, + myOutputDebugString, // pfnCallback + NULL // pUserData + }; + res = vkCreateDebugReportCallbackEXT(instance, &callback1, &cb1); + if (res != VK_SUCCESS) + /* Do error handling for VK_ERROR_OUT_OF_MEMORY */ + + callback.flags = VK_DEBUG_REPORT_ERROR_BIT_EXT; + callback.pfnCallback = myDebugBreak; + callback.pUserData = NULL; + res = vkCreateDebugReportCallbackEXT(instance, &callback, &cb2); + if (res != VK_SUCCESS) + /* Do error handling for VK_ERROR_OUT_OF_MEMORY */ + + VkDebugReportCallbackCreateInfoEXT callback3 = { + VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, // sType + NULL, // pNext + VK_DEBUG_REPORT_WARNING_BIT_EXT, // flags + mystdOutLogger, // pfnCallback + NULL // pUserData + }; + res = vkCreateDebugReportCallbackEXT(instance, &callback3, &cb3); + if (res != VK_SUCCESS) + /* Do error handling for VK_ERROR_OUT_OF_MEMORY */ + + ... + + /* remove callbacks when cleaning up */ + vkDestroyDebugReportCallbackEXT(instance, cb1); + vkDestroyDebugReportCallbackEXT(instance, cb2); + vkDestroyDebugReportCallbackEXT(instance, cb3); +------------------------------------------------------------------------------ + +[NOTE] +.Note +==== +In the initial release of the +VK_EXT_debug_report extension+, the token +ename:VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT was used. Starting in +ename:VK_EXT_DEBUG_REPORT_SPEC_VERSION 2 of the extension branch, +ename:VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT is used +instead for consistency with Vulkan naming rules. The older enum is still +available for backwards compatibility. +==== + diff --git a/doc/specs/vulkan/appendices/VK_IMG_filter_cubic.txt b/doc/specs/vulkan/appendices/VK_IMG_filter_cubic.txt new file mode 100644 index 00000000..4153de54 --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_IMG_filter_cubic.txt @@ -0,0 +1,53 @@ +== VK_KHR_filter_cubic + +*Name String*:: VK_KHR_filter_cubic +*Extension Type*:: Device extension +*Registered Extension Number*:: 16 +*Status*:: Final +*Last Modified Date*:: 23/02/2016 +*Revision*:: 1 +*Dependencies*:: + - This extension is written against version 1.0. of the {apiname} API. +*Contributors*:: + - Tobias Hector, Imagination Technologies +*Contacts*:: + - Tobias Hector (tobias.hector@imgtec.com) + +VK_IMG_filter_cubic adds an additional, high quality cubic filtering mode to +Vulkan, using a Catmull-Rom bicubic filter. Performing this kind of filtering +can be done in a shader by using 16 samples and a number of instructions, but +this can be inefficient. The cubic filter mode exposes an optimized high quality +texture sampling using fixed texture sampling hardware. + +=== New Enum Constants + + * Extending elink:VkFilter: + ** ename:VK_FILTER_CUBIC_IMG + +=== Example + +Creating a sampler with the new filter for both magnification and minification + +[source,{basebackend@docbook:C++:cpp}] +---------------------------------------- + VkSamplerCreateInfo createInfo = + { + VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO // sType + // Other members set to application-desired values + }; + + createInfo.magFilter = VK_FILTER_CUBIC_IMG; + createInfo.minFilter = VK_FILTER_CUBIC_IMG; + + VkSampler sampler; + VkResult result = vkCreateSampler( + device, + &createInfo, + &sampler); +---------------------------------------- + +=== Version History + + * Revision 1, 2016-02-23 (Tobias Hector) + - Initial version + \ No newline at end of file diff --git a/doc/specs/vulkan/appendices/VK_KHR_android_surface/vk_khr_android_surface.txt b/doc/specs/vulkan/appendices/VK_KHR_android_surface/vk_khr_android_surface.txt new file mode 100644 index 00000000..807c0894 --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_KHR_android_surface/vk_khr_android_surface.txt @@ -0,0 +1,90 @@ +== VK_KHR_android_surface + +*Name String*:: VK_KHR_android_surface +*Extension Type*:: Instance extension +*Registered Extension Number*:: 9 +*Last Modified Date*:: 01/14/2016 +*Revision*:: 6 +*IP Status*:: +No known IP claims. +*Dependencies*:: + - This extension is written against revision 1.0 of the Vulkan API. + - This extension requires VK_KHR_surface. +*Contributors*:: + - Patrick Doane, Blizzard + - Jason Ekstrand, Intel + - Ian Elliott, LunarG + - Courtney Goeltzenleuchter, LunarG + - Jesse Hall, Google + - James Jones, NVIDIA + - Antoine Labour, Google + - Jon Leech, Khronos + - David Mao, AMD + - Norbert Nopper, Freescale + - Alon Or-bach, Samsung + - Daniel Rakos, AMD + - Graham Sellers, AMD + - Ray Smith, ARM + - Jeff Vigil, Qualcomm + - Chia-I Wu, LunarG +*Contacts*:: + - Jesse Hall, Google + +The VK_KHR_android_surface extension is an instance extension. It provides +a mechanism to create a sname:VkSurfaceKHR object (defined by the +VK_KHR_surface extension) that refers to an ANativeWindow, Android's native +surface type. The ANativeWindow represents the producer endpoint of any buffer +queue, regardless of consumer endpoint. Common consumer endpoints for +ANativeWindows are the system window compositor, video encoders, and +application-specific compositors importing the images through a SurfaceTexture. + +=== New Object Types + +None + +=== New Enum Constants + + * Extending ename:VkStructureType: + ** ename:VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR + +=== New Enums + +None + +=== New Structures + + * slink:VkAndroidSurfaceCreateInfoKHR + +=== New Functions + + * flink:vkCreateAndroidSurfaceKHR + +=== Issues + +1) Does Android need a way to query for compatibility between a particular + physical device (and queue family?) and a specific Android display? + + RESOLVED: No. Currently on Android, any GPU is expected to be able to + present to the system compositor, and all queue families must support the + necessary image layout transitions and synchronization operations. + +=== Version History + + * Revision 1, 2015-09-23 (Jesse Hall) + - Initial draft. + + * Revision 2, 2015-10-26 (Ian Elliott) + - Renamed from VK_EXT_KHR_android_surface to VK_KHR_android_surface. + + * Revision 3, 2015-11-03 (Daniel Rakos) + - Added allocation callbacks to surface creation function. + + * Revision 4, 2015-11-10 (Jesse Hall) + - Removed VK_ERROR_INVALID_ANDROID_WINDOW_KHR. + + * Revision 5, 2015-11-28 (Daniel Rakos) + - Updated the surface create function to take a pCreateInfo structure. + + * Revision 6, 2016-01-14 (James Jones) + - Moved VK_ERROR_NATIVE_WINDOW_IN_USE_KHR from the VK_KHR_android_surface to + the VK_KHR_surface extension. diff --git a/doc/specs/vulkan/appendices/VK_KHR_display/vk_khr_display.txt b/doc/specs/vulkan/appendices/VK_KHR_display/vk_khr_display.txt new file mode 100644 index 00000000..078ff0ce --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_KHR_display/vk_khr_display.txt @@ -0,0 +1,510 @@ +== VK_KHR_display + +*Name String*:: VK_KHR_display +*Extension Type*:: Instance extension +*Registered Extension Number*:: 3 +*Status*:: Draft. +*Last Modified Date*:: 11/10/2015 +*Revision*:: 21 +*IP Status*:: No known IP claims. +*Dependencies*:: + - This extension is written against revision 1.0 of the Vulkan API. + - This extension requires VK_KHR_surface. +*Contributors*:: + - James Jones, NVIDIA + - Norbert Nopper, Freescale + - Jeff Vigil, Qualcomm + - Daniel Rakos, AMD +*Contacts*:: + - James Jones (jajones 'at' nvidia.com) + - Norbert Nopper (Norbert.Nopper 'at' freescale.com) + +This extension provides the API to enumerate displays and available +modes on a given device. + +=== New Object Types + + * sname:VkDisplayKHR + * sname:VkDisplayModeKHR + +=== New Enum Constants + + * Extending ename:VkStructureType: + ** ename:VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR + ** ename:VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR + +=== New Enums + + * ename:VkDisplayPlaneAlphaFlagBitsKHR + +=== New Structures + + * slink:VkDisplayPropertiesKHR + * slink:VkDisplayModeParametersKHR + * slink:VkDisplayModePropertiesKHR + * slink:VkDisplayModeCreateInfoKHR + * slink:VkDisplayPlanePropertiesKHR + * slink:VkDisplayPlaneCapabilitiesKHR + * slink:VkDisplaySurfaceCreateInfoKHR + +=== New Functions + + * flink:vkGetPhysicalDeviceDisplayPropertiesKHR + * flink:vkGetPhysicalDeviceDisplayPlanePropertiesKHR + * flink:vkGetDisplayPlaneSupportedDisplaysKHR + * flink:vkGetDisplayModePropertiesKHR + * flink:vkCreateDisplayModeKHR + * flink:vkGetDisplayPlaneCapabilitiesKHR + * flink:vkCreateDisplayPlaneSurfaceKHR + +=== Issues + +1) Which properties of a mode should be fixed in the mode info Vs. + settable in some other function when setting the mode? E.g., do + we need to double the size of the mode pool to include both stereo + and non-stereo modes? YUV and RGB scannout even if they both take + RGB input images? BGR Vs. RGB input? etc. + + PROPOSED RESOLUTION: Many modern displays support at most + a handful of resolutions and timings natively. Other "modes" are + expected to be supported using scaling hardware on the display engine + or GPU. Other properties, such as rotation and mirroring shouldn't + require duplicating hardware modes just to express all combinations. + Further, these properties may be implemented on a per-display or per- + overlay granularity. + + To avoid the exponential growth of modes as mutable properties are + added, as was the case with EGLConfig/WGL pixel formats/GLXFBConfig, + this specificaiton should separate out hardware properties and + configurable state into separate objects. Modes and overlay planes + will express capabilities of the hardware, while a separate structure + will allow applications to configure scaling, rotation, mirroring, + color keys, LUT values, alpha masks, etc. for a given swapchain + independent of the mode in use. Constraints on these settings will + be established by properties of the immutable objects. + + Note the resolution of this issue may affect issue (5) as well. + +2) What properties of a display itself are useful? + + PROPOSED RESOLUTION: This issue is too broad. It was meant to + prompt general discussion, but resolving this issue amounts to + completing this specification. All interesting properties should + be included. The issue will remain as a placeholder since + removing it would make it hard to parse existing discussion notes + that refer to issues by number. + +3) How are multiple overlay planes within a display or mode enumerated? + + PROPOSED RESOLUTION: They are refered to by an index. Each display + will report the number of overlay planes it contains. + +4) Should swapchains be created relative to a mode or a display? + + PROPOSED RESOLUTION: When using this extension, swapchains are + created relative to a mode and a plane. The mode implies the display + object the swapchain will present to. If the specified mode is not + the display's current mode, the new mode will be applied when the + first image is presented to the swapchain, and the default operating + system mode, if any, will be restored when the swapchain is destroyed. + +5) Should users query generic ranges from displays and construct + their own modes explicitly using those constraints rather than + querying a fixed set of modes (Most monitors only have one real + "mode" these days, even though many support relatively arbitrary + scaling, either on the monitor side or in the GPU display engine, + making "modes" something of a relic/compatibility construct). + + PROPOSED RESOLUTION: Expose both. Display info structures will + expose a set of predefined modes, as well as any attributes + necessary to construct a customized mode. + +6) Is it fine if we return the display and display mode handles in the + structure used to query their properties? + + PROPOSED RESOLUTION: Yes. + +7) Is there a possibility that not all displays of a device work with + all of the present queues of a device? If yes, how do we determine + which displays work with which present queues? + + PROPOSED RESOLUTION: No known hardware has such limitations, but + determing such limitations is supported automatically using the + existing VK_EXT_KHR_surface and VK_EXT_KHR_swapchain query mechanisms. + +8) Should all presentation need to be done relative to an overlay plane, + or can a display mode + display be used alone to target an output? + + PROPOSED RESOLUTION: Require specifying a plane explicitly. + +9) Should displays have an associated window system display, such as an + HDC or Display*? + + PROPOSED RESOLUTION: No. Displays are independent of any windowing + system in use on the system. Further, neither HDC nor Display* refer + to a physical display object. + +10) Are displays queried from a physical GPU or from a device instance? + + PROPOSED RESOLUTION: Developers prefer to query modes directly from + the physical GPU so they can use display information as an input + to their device selection algorithms prior to device creation. This + avoids the need to create dummy device instances to enumerate + displays. + + This preference must be weighed against the extra initializaiton + that must be done by driver vendors prior to device instance + creation to support this usage. + +11) Should displays and/or modes be dispatchable objects? + If functions are to take displays, overlays, or modes as their + first parameter, they must be dispatchable objects as defined + in Khronos bug 13529. If they aren't added to the list of + dispatchable objects, functions operating on them must take some + higher-level object as their first parameter. There is no + performance case against making them dispatchable objects, but + they would be the first extension objects to be dispatchable. + + PROPOSED RESOLUTION: Do not make displays or modes dispatchable. + They will dispatch based on their associated physical device. + +12) Should hardware cursor capabilities be exposed? + + PROPOSED RESOLUTION: Defer. This could be a separate extension on + top of the base WSI specs. + + + if they are one physical display device to an end user, but may + internally be implemented as two side-by-side displays using the + same display engine (and sometimes cabling) resources as two + physically separate display devices. + + PROPOSED RESOLUTION: Tiled displays will appear as a single display + object in this API. + +14) Should the raw EDID data be included in the display information? + + PROPOSED RESOLUTION: None. Unclear whether this is a good idea. + Provides a path for forward-compatibility as new EDID extensions + are introduced, but may be complicated by the outcome of issue 13. + +15) Should min and max scaling factor capabilities of overlays be + exposed? + + PROPOSED RESOLUTION: Yes. This is exposed indirectly by allowing + applications to query the min/max position and extent of the source + and destination regions from which image contents are fetched by + the display engine when using a particular mode and overlay pair. + +16) Should devices be able to expose planes that can be moved between + displays? If so, how? + + PROPOSED RESOLUTION: None. + +17) Should there be a way to destroy display modes? If so, does it + support destroying "built in" modes? + + PROPOSED RESOLUTION: None. + +18) What should the lifetime of display and built-in display mode objects + be? + + PROPOSED RESOLUTION: The lifetime of the instance. These objects can + not be destroyed. A future extension may be added to expose a way to + destroy these objects and/or support display hotplug. + +19) Should persistent mode for smart panels be enabled/disabled at swap + chain creation time, or on a per-present basis. + + PROPOSED RESOLUTION: On a per-present basis. + +=== Examples + +**Example 1** + +Enumerating displays, display modes, and planes, and creating a VkSurfaceKHR + +[source,{basebackend@docbook:C++:cpp}] +---------------------------------------- + extern VkBool32 ModeMatchesMyCriteria(const VkDisplayModePropertiesKHR *m); + extern VkInstance instance; + extern VkPhysicalDevice physDevice; + extern VkSurfaceKHR surface; + + uint32_t displayCount, planeCount, i, j, k; + VkDisplayPropertiesKHR* pDisplayProps; + VkDisplayPlanePropertiesKHR* pPlaneProps; + VkDisplayModeKHR myMode = VK_NULL_HANDLE; + VkDisplayKHR myDisplay = VK_NULL_HANDLE; + uint32_t bestPlane = UINT32_MAX; + VkDisplayPlaneAlphaFlagBitsKHR alphaMode = 0; + PFN_vkGetPhysicalDeviceDisplayPropertiesKHR pfnGetPhysicalDeviceDisplayPropertiesKHR; + PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR pfnGetPhysicalDeviceDisplayPlanePropertiesKHR; + PFN_vkGetDisplayModePropertiesKHR pfnGetDisplayModePropertiesKHR; + PFN_vkGetDisplayPlaneCapabilitiesKHR pfnGetDisplayPlaneCapabilitiesKHR; + PFN_vkGetDisplayPlaneSupportedDisplaysKHR pfnGetDisplayPlaneSupportedDisplaysKHR; + PFN_vkCreateDisplayPlaneSurfaceKHR pfnCreateDisplayPlaneSurfaceKHR; + + pfnGetPhysicalDeviceDisplayPropertiesKHR = + (PFN_vkGetPhysicalDeviceDisplayPropertiesKHR) + vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPropertiesKHR"); + pfnGetPhysicalDeviceDisplayPlanePropertiesKHR = + (PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR) + vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"); + pfnGetDisplayModePropertiesKHR = + (PFN_vkGetDisplayModePropertiesKHR) + vkGetInstanceProcAddr(instance, "vkGetDisplayModePropertiesKHR"); + pfnGetDisplayPlaneCapabilitiesKHR = + (PFN_vkGetDisplayPlaneCapabilitiesKHR) + vkGetInstanceProcAddr(instance, "vkGetDisplayPlaneCapabilitiesKHR"); + pfnGetDisplayPlaneSupportedDisplaysKHR = + (PFN_vkGetDisplayPlaneSupportedDisplaysKHR) + vkGetInstanceProcAddr(instance, "vkGetDisplayPlaneSupportedDisplaysKHR"); + pfnCreateDisplayPlaneSurfaceKHR = + (PFN_vkCreateDisplayPlaneSurfaceKHR) + vkGetInstanceProcAddr(instance, "vkCreateDisplayPlaneSurfaceKHR"); + + // Get a list of displays on a physical device + displayCount = 0; + pfnGetPhysicalDeviceDisplayPropertiesKHR(physDevice, &displayCount, NULL); + + pDisplayProps = (VkDisplayPropertiesKHR*)malloc(sizeof(VkDisplayPropertiesKHR) * displayCount); + pfnGetPhysicalDeviceDisplayPropertiesKHR(physDevice, &displayCount, pDisplayProps); + + // Get a list of display planes on a physical device + planeCount = 0; + pfnGetPhysicalDeviceDisplayPlanePropertiesKHR(physDevice, &planeCount, NULL); + pPlaneProps = (VkDisplayPlanePropertiesKHR*)malloc(sizeof(VkDisplayPlanePropertiesKHR) * planeCount); + pfnGetPhysicalDeviceDisplayPlanePropertiesKHR(physDevice, &planeCount, pPlaneProps); + + // Get the list of pModes each display supports + for (i = 0; i < displayCount; ++i) + { + VkDisplayKHR display = pDisplayProps[i].display; + VkDisplayModePropertiesKHR* pModes; + uint32_t modeCount; + + vkGetDisplayModePropertiesKHR(physDevice, display, &modeCount, NULL); + + pModes = (VkDisplayModePropertiesKHR*)malloc(sizeof(VkDisplayModePropertiesKHR) * modeCount); + vkGetDisplayModePropertiesKHR(physDevice, display, &modeCount, pModes); + + myMode = VK_NULL_HANDLE; + for (j = 0; j < modeCount; ++j) + { + const VkDisplayModePropertiesKHR* mode = &pModes[i]; + + if (ModeMatchesMyCriteria(mode)) + { + myMode = mode->displayMode; + break; + } + } + + free(pModes); + + // If there are no useable pModes found then check the next display. + if (myMode == VK_NULL_HANDLE) + continue; + + // Find a plane that matches these criteria, in order of preference: + // -Is compatible with the chosen display + mode. + // -Isn't currently bound to another display. + // -Supports per-pixel alpha, if possible. + for (j = 0; j < planeCount; ++j) + { + uint32_t supportedCount = 0; + VkDisplayKHR* pSupportedDisplays; + VkDisplayPlaneCapabilitiesKHR planeCaps; + // See if the plane is compatible with the current display. + pfnGetDisplayPlaneSupportedDisplaysKHR(physDevice, j, &supportedCount, NULL); + + // Plane doesn't support any displays. This might happen on a card + // that has a fixed mapping between planes and connectors when no + // displays are currently attached to this plane's conector, for + // example. + if (supportedCount == 0) + continue; + + pSupportedDisplays = (VkDisplayKHR*)malloc(sizeof(VkDisplayKHR) * supportedCount); + pfnGetDisplayPlaneSupportedDisplaysKHR(physDevice, j, &supportedCount, pSupportedDisplays); + + for (k = 0; k < supportedCount; ++k) + if (pSupportedDisplays[k] == display) { + // If no supported plane has yet been found, this is + // currently the best available plane. + if (bestPlane == UINT32_MAX) + bestPlane = j; + break; + } + + // If the plane can't be used with the chosen display, keep looking. + // Each display must have at least one compatible plane. + if (k == supportedCount) + continue; + + // If the plane passed the above test and is currently bound to the + // desired display, or is not in use, it is the best plane found so + // far. + if ((pPlaneProps[j].currentDisplay == VK_NULL_HANDLE) && + (pPlaneProps[j].currentDisplay == display)) + bestPlane = j; + else + continue; + + pfnGetDisplayPlaneCapabilitiesKHR(physDevice, myMode, j, &planeCaps); + + // Prefer a plane that supports per-pixel alpha. + if (planeCaps.supportedAlpha & VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR) + { + // This is the perfect plane for the given criteria. Use it. + bestPlane = j; + alphaMode = VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR; + break; + } + } + } + + free(pDisplayProps); + + if (myDisplay == VK_NULL_HANDLE || myMode == VK_NULL_HANDLE) { + // No suitable display + mode could be found. Abort. + abort(); + } else { + // Success. Create a VkSurfaceKHR object for this plane. + const VkDisplaySurfaceCreateInfoKHR createInfo = + { + VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR, // sType + NULL, // pNext + 0, // flags + myMode, // displayMode + bestPlane, // planeIndex + pPlaneProps[bestPlane].currentStackIndex, // planeStackIndex + VK_SURFACE_TRANSFORM_IDENTITY_KHR, // transform + 1.0f, // globalAlpha + alphaMode, // alphaMode + ... + } + + pfnCreateDisplayPlaneSurfaceKHR(instance, &createInfo, NULL, &surface); + } +---------------------------------------- + +=== Version History + + * Revision 1, 2015-02-24 (James Jones) + - Initial draft + + * Revision 2, 2015-03-12 (Norbert Nopper) + - Added overlay enumeration for a display. + + * Revision 3, 2015-03-17 (Norbert Nopper) + - Fixed typos and namings as discussed in Bugzilla. + - Reordered and grouped functions. + - Added functions to query count of display, mode and overlay. + - Added native display handle, which is maybe needed on some platforms to create a native Window. + + * Revision 4, 2015-03-18 (Norbert Nopper) + - Removed primary and virtualPostion members (see comment of James Jones in Bugzilla). + - Added native overlay handle to info structure. + - Replaced , with ; in struct. + + * Revision 6, 2015-03-18 (Daniel Rakos) + - Added WSI extension suffix to all items. + - Made the whole API more "Vulkanish". + - Replaced all functions with a single vkGetDisplayInfoKHR function to better match the rest of the API. + - Made the display, display mode, and overlay objects be first class objects, not subclasses of VkBaseObject as they don't support the common functions anyways. + - Renamed *Info structures to *Properties. + - Removed overlayIndex field from VkOverlayProperties as there is an implicit index already as a result of moving to a "Vulkanish" API. + - Displays aren't get through device, but through physical GPU to match the rest of the Vulkan API. Also this is something ISVs explicitly requested. + - Added issue (6) and (7). + + * Revision 7, 2015-03-25 (James Jones) + - Added an issues section + - Added rotation and mirroring flags + + * Revision 8, 2015-03-25 (James Jones) + - Combined the duplicate issues sections introduced in last change. + - Added proposed resolutions to several issues. + + * Revision 9, 2015-04-01 (Daniel Rakos) + - Rebased extension against Vulkan 0.82.0 + + * Revision 10, 2015-04-01 (James Jones) + - Added issues (10) and (11). + - Added more straw-man issue resolutions, and cleaned up the + proposed resolution for issue (4). + - Updated the rotation and mirroring enums to have proper bitfield + semantics. + + * Revision 11, 2015-04-15 (James Jones) + - Added proposed resolution for issues (1) and (2). + - Added issues (12), (13), (14), and (15) + - Removed pNativeHandle field from overlay structure. + - Fixed small compilation errors in example code. + + * Revision 12, 2015-07-29 (James Jones) + - Rewrote the guts of the extension against the latest WSI swapchain + specifications and the latest Vulkan API. + - Address overlay planes by their index rather than an object handle + and refer to them as "planes" rather than "overlays" to make it + slightly clearer that even a display with no "overlays" still has at + least one base "plane" that images can be displayed on. + - Updated most of the issues. + - Added an "extension type" section to the specification header. + - Re-used the VK_EXT_KHR_surface surface transform enumerations rather + than redefining them here. + - Updated the example code to use the new semantics. + + * Revision 13, 2015-08-21 (Ian Elliott) + - Renamed this extension and all of its enumerations, types, functions, + etc. This makes it compliant with the proposed standard for Vulkan + extensions. + - Switched from "revision" to "version", including use of the + VK_MAKE_VERSION macro in the header file. + + * Revision 14, 2015-09-01 (James Jones) + - Restore single-field revision number. + + * Revision 15, 2015-09-08 (James Jones) + - Added alpha flags enum. + - Added premultiplied alpha support. + + * Revision 16, 2015-09-08 (James Jones) + - Added description section to the spec. + - Added issues 16 - 18. + + * Revision 17, 2015-10-02 (James Jones) + - Planes are now a property of the entire device rather than individual + displays. This allows planes to be moved between multiple displays + on devices that support it. + - Added a function to create a VkSurfaceKHR object describing a display + plane and mode to align with the new per-platform surface creation + conventions. + - Removed detailed mode timing data. It was agreed that the mode + extents and refresh rate are sufficient for current use cases. Other + information could be added back2 in as an extension if it is needed in + the future. + - Added support for smart/persistent/buffered display devices. + + * Revision 18, 2015-10-26 (Ian Elliott) + - Renamed from VK_EXT_KHR_display to VK_KHR_display. + + * Revision 19, 2015-11-02 (James Jones) + - Updataed example code to match revision 17 changes. + + * Revision 20, 2015-11-03 (Daniel Rakos) + - Added allocation callbacks to creation functions. + + * Revision 21, 2015-11-10 (Jesse Hall) + - Added VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR, and use + VkDisplayPlaneAlphaFlagBitsKHR for VkDisplayPlanePropertiesKHR::alphaMode + instead of VkDisplayPlaneAlphaFlagsKHR, since it only represents one mode. + - Added reserved flags bitfield to VkDisplayPlanePropertiesKHR. + - Use VkSurfaceTransformFlagBitsKHR instead of obsolete + VkSurfaceTransformKHR. + - Renamed vkGetDisplayPlaneSupportedDisplaysKHR parameters for clarity. + + * Revision 22, 2015-12-18 (James Jones) + - Added missing "planeIndex" parameter to + vkGetDisplayPlaneSupportedDisplaysKHR() diff --git a/doc/specs/vulkan/appendices/VK_KHR_display_swapchain/vk_khr_display_swapchain.txt b/doc/specs/vulkan/appendices/VK_KHR_display_swapchain/vk_khr_display_swapchain.txt new file mode 100644 index 00000000..d8d81fbd --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_KHR_display_swapchain/vk_khr_display_swapchain.txt @@ -0,0 +1,197 @@ +== VK_KHR_display_swapchain + +*Name String*:: VK_KHR_display_swapchain +*Extension Type*:: Device extension +*Registered Extension Number*:: 4 +*Status*:: Draft. +*Last Modified Date*:: 11/10/2015 +*Revision*:: 9 +*IP Status*:: No known IP claims. +*Dependencies*:: + - This extension is written against revision 1.0 of the Vulkan API. + - This extension requires VK_KHR_swapchain and VK_KHR_display +*Contributors*:: + - James Jones, NVIDIA + - Jeff Vigil, Qualcomm + - Jesse Hall, Google +*Contacts*:: + - James Jones (jajones 'at' nvidia.com) + +This extension provides an API to create a swapchain directly on a +device's display without any underlying window system. + +=== New Object Types + +None + +=== New Enum Constants + + * Extending ename:VkStructureType: + ** ename:VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR + * Extending ename:VkResult: + ** ename:VK_ERROR_INCOMPATIBLE_DISPLAY_KHR + +=== New Enums + +None + +=== New Structures + + * slink:VkDisplayPresentInfoKHR + +=== New Functions + + * flink:vkCreateSharedSwapchainsKHR + +=== Issues + +1) Should swapchains sharing images each hold a reference to the images, + or should it be up to the application to destroy the swapchains and + images in an order that avoids the need for reference counting? + + PROPOSED RESOLUTION: Take a reference. The lifetime of presentable + images is already complex enough. + +2) Should the srcRect/dstRect parameters be specified as part of the + present command, or at swapchain creation time? + + PROPOSED RESOLUTION: As part of the presentation command. This allows + moving and scaling the image on the screen without the need to + respecify the mode or create a new swapchain presentable images. + +3) Should srcRect/dstRect be specified as rects, or separate offset/extent + values? + + PROPOSED RESOLUTION: As rects. Specifying them separately might make + it easier for hardware to expose support for one but not the other, but + in such cases applications must just take care to obey the reported + capabilities and not use non-zero offsets or extents that require + scaling, as appropriate. + +4) How can applications create multiple swapchains that use the same + images? + + RESOLUTION: By calling vkCreateSharedSwapchainsKHR(). + + An earlier resolution used vkCreateSwapchainKHR(), chaining multiple + VkSwapchainCreateInfoKHR structures through pNext. In order to allow each + swapchain to also allow other extension structs, a level of indirection + was used: VkSwapchainCreateInfoKHR::pNext pointed to a different structure, + which had both an sType/pNext for additional extensions, and also had a + pointer to the next VkSwapchainCreateInfoKHR structure. The number of + swapchains to be created could only be found by walking this linked list + of alternating structures, and the pSwapchains out parameter was + reinterpreted to be an array of VkSwapchainKHR handles. + + Another option considered was a method to specify a "shared" + swapchain when creating a new swapchain, such that groups of swapchains + using the same images could be built up one at a time. This was deemed + unusable because drivers need to know all of the displays an image + will be used on when determining which internal formats and layouts to + use for that image. + +=== Examples + +**Example 1** + +Create a swapchain on a display mode and plane + +[source,{basebackend@docbook:C++:cpp}] +---------------------------------------- + // See VK_KHR_display for an example of how to pick a display, + // display mode, plane, and how to create a VkSurfaceKHR for + // that plane. + extern VkPhysicalDevice physDevice; + extern VkDisplayModePropertiesKHR myModeProps; + extern VkSurfaceKHR mySurface; + extern VkDevice device; + + uint32_t queueCount, i; + uint32_t presentQueueFamilyIndex = UINT32_MAX; + VkBool32 supportsPresent; + + // Find a queue family that supports presenting to this surface + uint32_t familyCount; + vkGetPhysicalDeviceQueueFamilyProperties(physDevice, &familyCount, NULL); + + for (i = 0; i < familyCount; ++i) + { + vkGetPhysicalDeviceSurfaceSupportKHR(physDevice, i, mySurface, &supportsPresent); + + if (supportsPresent) { + // Found a queue family that supports present. See + // VK_KHR_surface for an example of how to find a queue that + // supports both presentation and graphics + presentQueueFamilyIndex = i; + break; + } + } + + // Figure out which formats and present modes this surface supports. + uint32_t formatCount; + vkGetPhysicalDeviceSurfaceFormatsKHR(physDevice, mySurface, &formatCount, NULL); + + VkSurfaceFormatKHR* formats = (VkSurfaceFormatKHR*)malloc(sizeof(VkSurfaceFormatKHR) * formatCount); + vkGetPhysicalDeviceSurfaceFormatsKHR(physDevice, mySurface, &formatCount, formats); + + const VkSwapchainCreateInfoKHR createInfo = + { + VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR, // sType + NULL, // pNext + 0, // flags + mySurface, // surface + 3, // minImageCount + formats[0].format, // imageFormat + formats[0].colorSpace, // imageColorSpace + myModeProps.parameters.visibleRegion, // imageExtent + 1, // imageArrayLayers + VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, // imageUsage + VK_SHARING_MODE_EXCLUSIVE, // imageSharingMode + 0, // queueFamilyIndexCount + NULL, // pQueueFamilyIndices + VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR, // preTransform + VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR, // compositeAlpha + VK_PRESENT_MODE_FIFO_KHR, // presentMode + VK_TRUE, // clipped + VK_NULL_HANDLE // oldSwapchain + }; + + VkSwapchainKHR swapchain; + // This is equivalent to vkCreateSwapchainKHR. + vkCreateSharedSwapchainsKHR(device, 1, &createInfo, NULL, &swapchain); +---------------------------------------- + +=== Version History + + * Revision 1, 2015-07-29 (James Jones) + - Initial draft + + * Revision 2, 2015-08-21 (Ian Elliott) + - Renamed this extension and all of its enumerations, types, functions, + etc. This makes it compliant with the proposed standard for Vulkan + extensions. + - Switched from "revision" to "version", including use of the + VK_MAKE_VERSION macro in the header file. + + * Revision 3, 2015-09-01 (James Jones) + - Restore single-field revision number. + + * Revision 4, 2015-09-08 (James Jones) + - Allow creating multiple swap chains that share the same images + using a single call to vkCreateSwapChainKHR(). + + * Revision 5, 2015-09-10 (Alon Or-bach) + - Removed underscores from SWAP_CHAIN in two enums. + + * Revision 6, 2015-10-02 (James Jones) + - Added support for smart panels/buffered displays. + + * Revision 7, 2015-10-26 (Ian Elliott) + - Renamed from VK_EXT_KHR_display_swapchain to VK_KHR_display_swapchain. + + * Revision 8, 2015-11-03 (Daniel Rakos) + - Updated sample code based on the changes to VK_KHR_swapchain. + + * Revision 9, 2015-11-10 (Jesse Hall) + - Replaced VkDisplaySwapchainCreateInfoKHR with vkCreateSharedSwapchainsKHR, + changing resolution of issue #4. diff --git a/doc/specs/vulkan/appendices/VK_KHR_mir_surface/vk_khr_mir_surface.txt b/doc/specs/vulkan/appendices/VK_KHR_mir_surface/vk_khr_mir_surface.txt new file mode 100644 index 00000000..fe083804 --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_KHR_mir_surface/vk_khr_mir_surface.txt @@ -0,0 +1,84 @@ +== VK_KHR_mir_surface + +*Name String*:: VK_KHR_mir_surface +*Extension Type*:: Instance extension +*Registered Extension Number*:: 8 +*Last Modified Date*:: 10/28/2015 +*Revision*:: 4 +*IP Status*:: +No known IP claims. +*Dependencies*:: + - This extension is written against revision 1.0 of the Vulkan API. + - This extension requires VK_KHR_surface. +*Contributors*:: + - Patrick Doane, Blizzard + - Jason Ekstrand, Intel + - Ian Elliott, LunarG + - Courtney Goeltzenleuchter, LunarG + - Jesse Hall, Google + - James Jones, NVIDIA + - Antoine Labour, Google + - Jon Leech, Khronos + - David Mao, AMD + - Norbert Nopper, Freescale + - Alon Or-bach, Samsung + - Daniel Rakos, AMD + - Graham Sellers, AMD + - Ray Smith, ARM + - Jeff Vigil, Qualcomm + - Chia-I Wu, LunarG +*Contacts*:: + - Jesse Hall, Google + - Ian Elliott, LunarG + + +The VK_KHR_mir_surface extension is an instance extension. It provides a +mechanism to create a sname:VkSurfaceKHR object (defined by the +VK_KHR_surface extension) that refers to a Mir surface, as well as a query +to determine support for rendering to the windows desktop. + +=== New Object Types + +None + +=== New Enum Constants + + * Extending ename:VkStructureType: + ** ename:VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR + +=== New Enums + +None + +=== New Structures + + * slink:VkMirSurfaceCreateInfoKHR + +=== New Functions + + * flink:vkCreateMirSurfaceKHR + * flink:vkGetPhysicalDeviceMirPresentationSupportKHR + +=== Issues + +1) Does Mir need a way to query for compatibility between a particular + physical device (and queue family?) and a specific Mir connection, screen, + window, etc.? + + RESOLVED: Yes, vkGetPhysicalDeviceMirPresentationSupportKHR() was added to + address this. + +=== Version History + + * Revision 1, 2015-09-23 (Jesse Hall) + - Initial draft, based on the previous contents of VK_EXT_KHR_swapchain + (later renamed VK_EXT_KHR_surface). + + * Revision 2, 2015-10-02 (James Jones) + - Added vkGetPhysicalDeviceMirPresentationSupportKHR() to resolve issue #1. + + * Revision 3, 2015-10-26 (Ian Elliott) + - Renamed from VK_EXT_KHR_mir_surface to VK_KHR_mir_surface. + + * Revision 4, 2015-11-28 (Daniel Rakos) + - Updated the surface create function to take a pCreateInfo structure. diff --git a/doc/specs/vulkan/appendices/VK_KHR_surface/vk_khr_surface.txt b/doc/specs/vulkan/appendices/VK_KHR_surface/vk_khr_surface.txt new file mode 100644 index 00000000..430952a8 --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_KHR_surface/vk_khr_surface.txt @@ -0,0 +1,346 @@ +== VK_KHR_surface + +*Name String*:: VK_KHR_surface +*Extension Type*:: Instance extension +*Registered Extension Number*:: 1 +*Last Modified Date*:: 01/14/2016 +*Revision*:: 25 +*IP Status*:: +No known IP claims. +*Dependencies*:: + - This extension is written against revision 1.0 of the Vulkan API. +*Contributors*:: + - Patrick Doane, Blizzard + - Ian Elliott, LunarG + - Jesse Hall, Google + - James Jones, NVIDIA + - David Mao, AMD + - Norbert Nopper, Freescale + - Alon Or-bach, Samsung + - Daniel Rakos, AMD + - Graham Sellers, AMD + - Jeff Vigil, Qualcomm + - Chia-I Wu, LunarG + - Jason Ekstrand, Intel +*Contacts*:: + - James Jones, NVIDIA + - Ian Elliott, LunarG + +The VK_KHR_surface extension is an instance extension. It introduces +sname:VkSurfaceKHR objects, which abstract native platform surface or window +objects for use with Vulkan. It also provides a way to determine whether a +queue family in a physical device supports presenting to particular surface. + +Separate extensions for each each platform +provide the mechanisms for creating sname:VkSurfaceKHR objects, but once created they +may be used in this and other platform-independent extensions, in particular +the VK_KHR_swapchain extension. + +=== New Object Types + + * sname:VkSurfaceKHR + +=== New Enum Constants + + * Extending ename:VkResult: + ** ename:VK_ERROR_SURFACE_LOST_KHR + ** ename:VK_ERROR_NATIVE_WINDOW_IN_USE_KHR + +=== New Enums + + * ename:VkSurfaceTransformFlagBitsKHR + * ename:VkPresentModeKHR + * ename:VkColorSpaceKHR + * ename:VkCompositeAlphaFlagBitsKHR + +=== New Structures + + * slink:VkSurfaceCapabilitiesKHR + * slink:VkSurfaceFormatKHR + +=== New Functions + + * flink:vkDestroySurfaceKHR + * flink:vkGetPhysicalDeviceSurfaceSupportKHR + * flink:vkGetPhysicalDeviceSurfaceCapabilitiesKHR + * flink:vkGetPhysicalDeviceSurfaceFormatsKHR + * flink:vkGetPhysicalDeviceSurfacePresentModesKHR + +=== Examples + +**Example 1** + +Pick which queues on a physical device to use for graphics and present +operations for a given surface, and create a device with those queues. + +[source,{basebackend@docbook:c++:cpp}] +---------------------------------------- + extern VkInstance instance; + extern VkPhysicalDevice physicalDevice; + extern VkSurfaceKHR surface; + extern void Error(const char *); + + // Must call extension functions through a function pointer: + PFN_vkGetPhysicalDeviceSurfaceSupportKHR pfnGetPhysicalDeviceSurfaceSupportKHR = (PFN_vkGetPhysicalDeviceSurfaceSupportKHR)vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceSupportKHR"); + + uint32_t queueFamilyCount; + vkGetPhysicalDeviceQueueFamilyProperties(physicalDevice, &queueFamilyCount, NULL); + + VkQueueFamilyProperties* pMainQueueInfo = (VkQueueFamilyProperties*)malloc(queueFamilyCount * sizeof(VkQueueFamilyProperties)); + VkBool32* pSupportsPresent = (VkBool32 *)malloc(queueFamilyCount * sizeof(VkBool32)); + + vkGetPhysicalDeviceQueueFamilyProperties(physicalDevice, &queueFamilyCount, pMainQueueInfo); + + for (uint32_t i = 0; i < queueFamilyCount; ++i) + pfnGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, i, surface, &pSupportsPresent[i]); + + // Search for a graphics and a present queue in the array of queue + // families, try to find one that supports both + uint32_t graphicsQueueFamilyIndex = UINT32_MAX; + uint32_t presentQueueFamilyIndex = UINT32_MAX; + for (uint32_t i = 0; i < queueFamilyCount; ++i) + { + if ((pMainQueueInfo[i].queueFlags & VK_QUEUE_GRAPHICS_BIT) != 0) + { + if (graphicsQueueFamilyIndex == UINT32_MAX) + graphicsQueueFamilyIndex = i; + + if (pSupportsPresent[i] == VK_TRUE) + { + graphicsQueueFamilyIndex = i; + presentQueueFamilyIndex = i; + break; + } + } + } + + if (presentQueueFamilyIndex == UINT32_MAX) + { + // If didn't find a queue that supports both graphics and present, then + // find a separate present queue. + for (size_t i = 0; i < queueFamilyCount; ++i) + if (pSupportsPresent[i] == VK_TRUE) + { + presentQueueFamilyIndex = i; + break; + } + } + + // Free the temporary queue info allocations + free(pMainQueueInfo); + free(pSupportsPresent); + + // Generate error if could not find both a graphics and a present queue + if (graphicsQueueFamilyIndex == UINT32_MAX || presentQueueFamilyIndex == UINT32_MAX) + { + Error("Could not find a graphics and a present queue"); + } + + // Put together the list of requested queues + const float queuePriority = 1.0f; + const VkDeviceQueueCreateInfo requestedQueues[] = + { + { + VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO, // sType + NULL, // pNext + 0, // flags + graphicsQueueFamilyIndex, // queueFamilyIndex + 1, // queueCount + &queuePriority // pQueuePriorities + }, + { + VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO, // sType + NULL, // pNext + 0, // flags + presentQueueFamilyIndex, // queueFamilyIndex + 1, // queueCount + &queuePriority // pQueuePriorities + } + }; + uint32_t requestedQueueCount = 2; + + if (graphicsQueueFamilyIndex == presentQueueFamilyIndex) + { + // We need only a single queue if the graphics queue is also the present queue + requestedQueueCount = 1; + } + + // Create a device and request access to the specified queues + const VkDeviceCreateInfo deviceCreateInfo = + { + VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO, // sType + NULL, // pNext + 0, // flags + requestedQueueCount, // queueCreateInfoCount + &requestedQueues, // pQueueCreateInfos + ... + }; + + VkDevice device; + vkCreateDevice(physicalDevice, &deviceCreateInfo, &device); + + // Acquire graphics and present queue handle from device + VkQueue graphicsQueue, presentQueue; + vkGetDeviceQueue(device, graphicsQueueFamilyIndex, 0, &graphicsQueue); + vkGetDeviceQueue(device, presentQueueFamilyIndex, 0, &presentQueue); +---------------------------------------- + +=== Issues + +1) Should this extension include a method to query whether a physical + device supports presenting to a specific window or native surface + on a given platform? + + RESOLVED: Yes. Without this, applications would need to create + a device instance to determine whether a particular window can be + presented to. Knowing that a device supports presentation to a + platform in general is not sufficient, as a single machine might + support multiple seats, or instances of the platform that each use + different underlying physical devices. Additionally, some platforms, + such as X windows, different drivers and devices might be used for + different windows depending on which section of the desktop they + exist on. + +2) Should the vkGetSurfacePropertiesKHR(), vkGetSurfaceFormatsKHR(), and + vkGetSurfacePresentModesKHR() functions from + VK_KHR_swapchain be modified to operate on physical devices and + moved to this extension to implement the resolution of issue 1? + + RESOLVED: No, separate query functions are needed, as the purposes + served are similar but incompatible. The vkGetSurface*KHR functions + return information that could potentially depend on an initialized + device. For example, the formats supported for presentation to the + surface might vary depending on which device extensions are enabled. + The query introduced to resolve issue 1 should be used only to query + generic driver or platform properties. The physical device + parameter is intended to serve only as an identifier rather than + a stateful object. + +3) Should Vulkan include support Xlib or XCB as the API for accessing + the X Window System platform? + + RESOLVED: Both. XCB is a more modern and efficient API, but Xlib + usage is deeply ingrained in many applications and likely will remain + in use for the forseeable future. Not all drivers necessarily need to + support both, but including both as options in the core specification + will probably encourage support, which should in turn eases adoption of + the Vulkan API in older codebases. Additionally, the performance + improvements possible with XCB likely won't have a measurable impact + on the performance of Vulkan presentation and other minimal window + system interactions defined here. + +4) Should the GBM platform be included in the list of platform enums? + + RESOLVED: Deferred, and will be addressed with a platform-specific + extension to be written in the future. + +=== Version History + + * Revision 1, 2015-05-20 (James Jones) + - Initial draft, based on LunarG KHR spec, other KHR specs, + patches attached to bugs. + + * Revision 2, 2015-05-22 (Ian Elliott) + - Created initial Description section. + - Removed query for whether a platform requires the use of a queue for + presentation, since it was decided that presentation will always be + modeled as being part of the queue. + - Fixed typos and other minor mistakes. + + * Revision 3, 2015-05-26 (Ian Elliott) + - Improved the Description section. + + * Revision 4, 2015-05-27 (James Jones) + - Fixed compilation errors in example code. + + * Revision 5, 2015-06-01 (James Jones) + - Added issues 1 and 2 and made related spec updates. + + * Revision 6, 2015-06-01 (James Jones) + - Merged the platform type mappings table previously removed from + VK_KHR_swapchain with the platform description table in this + spec. + - Added issues 3 and 4 documenting choices made when building the + initial list of native platforms supported. + + * Revision 7, 2015-06-11 (Ian Elliott) + - Updated table 1 per input from the KHR TSG. + - Updated issue 4 (GBM) per discussion with Daniel Stone. He will + create a platform-specific extension sometime in the future. + + * Revision 8, 2015-06-17 (James Jones) + - Updated enum-extending values using new convention. + - Fixed the value of VK_SURFACE_PLATFORM_INFO_TYPE_SUPPORTED_KHR. + + * Revision 9, 2015-06-17 (James Jones) + - Rebased on Vulkan API version 126. + + * Revision 10, 2015-06-18 (James Jones) + - Marked issues 2 and 3 resolved. + + * Revision 11, 2015-06-23 (Ian Elliott) + - Examples now show use of function pointers for extension functions. + - Eliminated extraneous whitespace. + + * Revision 12, 2015-07-07 (Daniel Rakos) + - Added error section describing when each error is expected to be + reported. + - Replaced the term "queue node index" with "queue family index" in + the spec as that is the agreed term to be used in the latest + version of the core header and spec. + - Replaced bool32_t with VkBool32. + + * Revision 13, 2015-08-06 (Daniel Rakos) + - Updated spec against latest core API header version. + + * Revision 14, 2015-08-20 (Ian Elliott) + - Renamed this extension and all of its enumerations, types, functions, + etc. This makes it compliant with the proposed standard for Vulkan + extensions. + - Switched from "revision" to "version", including use of the + VK_MAKE_VERSION macro in the header file. + - Did miscellaneous cleanup, etc. + + * Revision 15, 2015-08-20 (Ian Elliott--porting a 2015-07-29 change from + James Jones) + - Moved the surface transform enums here from VK_WSI_swapchain so they + could be re-used by VK_WSI_display. + + * Revision 16, 2015-09-01 (James Jones) + - Restore single-field revision number. + + * Revision 17, 2015-09-01 (James Jones) + - Fix example code compilation errors. + + * Revision 18, 2015-09-26 (Jesse Hall) + - Replaced VkSurfaceDescriptionKHR with the VkSurfaceKHR object, which + is created via layered extensions. Added VkDestroySurfaceKHR. + + * Revision 19, 2015-09-28 (Jesse Hall) + - Renamed from VK_EXT_KHR_swapchain to VK_EXT_KHR_surface. + + * Revision 20, 2015-09-30 (Jeff Vigil) + - Add error result VK_ERROR_SURFACE_LOST_KHR. + + * Revision 21, 2015-10-15 (Daniel Rakos) + - Updated the resolution of issue #2 and include the surface capability + queries in this extension. + - Renamed SurfaceProperties to SurfaceCapabilities as it better + reflects that the values returned are the capabilities of the surface + on a particular device. + - Other minor cleanup and consistency changes. + + * Revision 22, 2015-10-26 (Ian Elliott) + - Renamed from VK_EXT_KHR_surface to VK_KHR_surface. + + * Revision 23, 2015-11-03 (Daniel Rakos) + - Added allocation callbacks to vkDestroySurfaceKHR. + + * Revision 24, 2015-11-10 (Jesse Hall) + - Removed VkSurfaceTransformKHR. Use VkSurfaceTransformFlagBitsKHR instead. + - Rename VkSurfaceCapabilitiesKHR member maxImageArraySize to + maxImageArrayLayers. + + * Revision 25, 2016-01-14 (James Jones) + - Moved VK_ERROR_NATIVE_WINDOW_IN_USE_KHR from the VK_KHR_android_surface to + the VK_KHR_surface extension. diff --git a/doc/specs/vulkan/appendices/VK_KHR_surface/wsi.txt b/doc/specs/vulkan/appendices/VK_KHR_surface/wsi.txt new file mode 100644 index 00000000..f05f44f1 --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_KHR_surface/wsi.txt @@ -0,0 +1,53 @@ +[appendix] += Window System Integration (WSI) Extensions + +== Editors + +Significant specification work was performed by the following editors: + +* Ian Elliott, LunarG +* Jesse Hall, Google +* James Jones, NVIDIA +* Daniel Rakos, AMD + +Relevant information is now documented for each extension. + +ifdef::VK_KHR_surface[] +include::../VK_KHR_surface/vk_khr_surface.txt[] +endif::VK_KHR_surface[] + +ifdef::VK_KHR_swapchain[] +include::../VK_KHR_swapchain/vk_khr_swapchain.txt[] +endif::VK_KHR_swapchain[] + +ifdef::VK_KHR_display[] +include::../VK_KHR_display/vk_khr_display.txt[] +endif::VK_KHR_display[] + +ifdef::VK_KHR_display_swapchain[] +include::../VK_KHR_display_swapchain/vk_khr_display_swapchain.txt[] +endif::VK_KHR_display_swapchain[] + +ifdef::VK_KHR_android_surface[] +include::../VK_KHR_android_surface/vk_khr_android_surface.txt[] +endif::VK_KHR_android_surface[] + +ifdef::VK_KHR_mir_surface[] +include::../VK_KHR_mir_surface/vk_khr_mir_surface.txt[] +endif::VK_KHR_mir_surface[] + +ifdef::VK_KHR_wayland_surface[] +include::../VK_KHR_wayland_surface/vk_khr_wayland_surface.txt[] +endif::VK_KHR_wayland_surface[] + +ifdef::VK_KHR_win32_surface[] +include::../VK_KHR_win32_surface/vk_khr_win32_surface.txt[] +endif::VK_KHR_win32_surface[] + +ifdef::VK_KHR_xcb_surface[] +include::../VK_KHR_xcb_surface/vk_khr_xcb_surface.txt[] +endif::VK_KHR_xcb_surface[] + +ifdef::VK_KHR_xlib_surface[] +include::../VK_KHR_xlib_surface/vk_khr_xlib_surface.txt[] +endif::VK_KHR_xlib_surface[] diff --git a/doc/specs/vulkan/appendices/VK_KHR_swapchain/vk_khr_swapchain.txt b/doc/specs/vulkan/appendices/VK_KHR_swapchain/vk_khr_swapchain.txt new file mode 100644 index 00000000..33b5e2d3 --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_KHR_swapchain/vk_khr_swapchain.txt @@ -0,0 +1,1456 @@ +== VK_KHR_swapchain + +*Name String*:: VK_KHR_swapchain +*Extension Type*:: Device extension +*Registered Extension Number*:: 2 +*Last Modified Date*:: 04/05/2016 +*Revision*:: 68 +*IP Status*:: +No known IP claims. +*Dependencies*:: + - This extension is written against revision 1.0 of the Vulkan API. + - This extension requires VK_KHR_surface. +*Contributors*:: + - Patrick Doane, Blizzard + - Ian Elliott, LunarG + - Jesse Hall, Google + - Mathias Heyer, NVIDIA + - James Jones, NVIDIA + - David Mao, AMD + - Norbert Nopper, Freescale + - Alon Or-bach, Samsung + - Daniel Rakos, AMD + - Graham Sellers, AMD + - Jeff Vigil, Qualcomm + - Chia-I Wu, LunarG + - Jason Ekstrand, Intel + - Matthaeus G. Chajdas, AMD + - Ray Smith, ARM +*Contacts*:: + - James Jones, NVIDIA + - Ian Elliott, LunarG + +The VK_KHR_swapchain extension is the device-level companion to the +VK_KHR_surface extension. It introduces sname:VkSwapchainKHR objects, +which provide the ability to present rendering results to a surface. + +=== New Object Types + + * sname:VkSwapchainKHR + +=== New Enum Constants + + * Extending ename:VkStructureType: + ** ename:VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR + ** ename:VK_STRUCTURE_TYPE_PRESENT_INFO_KHR + * Extending ename:VkImageLayout: + ** ename:VK_IMAGE_LAYOUT_PRESENT_SRC_KHR + * Extending ename:VkResult: + ** ename:VK_SUBOPTIMAL_KHR + ** ename:VK_ERROR_OUT_OF_DATE_KHR + +=== New Enums + +None + +=== New Structures + + * slink:VkSwapchainCreateInfoKHR + * slink:VkPresentInfoKHR + +=== New Functions + + * flink:vkCreateSwapchainKHR + * flink:vkDestroySwapchainKHR + * flink:vkGetSwapchainImagesKHR + * flink:vkAcquireNextImageKHR + * flink:vkQueuePresentKHR + +=== Issues + +1) Does this extension allow the application to specify the memory + backing of the presentable images? + + RESOLVED: No. Unlike standard images, the implementation will + allocate the memory backing of the presentable image. + +2) What operations are allowed on presentable images? + + RESOLVED: This is determined by the imageUsageFlags specified + when creating the presentable image's swapchain. + +3) Does this extension support MSAA presentable images? + + RESOLVED: No. Presentable images are always single-sampled. + Multi-sampled rendering must use regular images. To present the + rendering results the application must manually resolve the multi- + sampled image to a single-sampled presentable image prior to + presentation. + +4) Does this extension support stereo/multi-view presentable images? + + RESOLVED: Yes. The number of views associated with a presentable + image is determined by the imageArraySize specified when creating + a swapchain. All presentable images in a given swapchain use + the same array size. + +5) Are the layers of stereo presentable images half-sized? + + RESOLVED: No. The image extents always match those requested + by the applicaton. + +6) Do the "present" and "acquire next image" commands operate on a + queue? If not, do they need to include explicit semaphore + objects to interlock them with queue operations? + + RESOLVED: The present command operates on a queue. The image + ownership operation it represents happens in order with other + operations on the queue, so no explicit semaphore object is + required to synchronize its actions. Applications may want to + acquire the next image in separate threads from those in which + they manage their queue, or in multiple threads. To make such + usage easier, the acquire next image command takes a semaphore + to signal as a method of explicit synchronizatoin. The + application must later queue a wait for this semaphore before + queuing execution of any commands using the image. + +7) Does vkAcquireNextImageKHR() block if no images are available? + + RESOLVED: The command takes a timeout parameter. Special values + for the timeout are 0, which makes the call a non-blocking + operation, and UINT64_MAX, which blocks indefinitely. Values in + between will block for up to the specified time. The call will + return when an image becomes available or an error occurs. It + may, but is not required to, return before the specified timeout + expires if the swapchain becomes out of date. + +8) Can multiple presents be queued using one QueuePresent call? + + RESOLVED: Yes. VkPresentInfoKHR contains a list of swapchains + and corresponding image indices that will be presented. When + supported, all presentations queued with a single vkQueuePresentKHR + call will be applied atomically as one operation. The same swapchain + must not appear in the list more than once. Later extensions may + provide applications stronger guarantees of atomicity for such present + operations, and/or allow them to query whether atomic presentation of a + particular group of swapchains is possible. + +9) How do the presentation and acquire next image functions notify + the application the targeted surface has changed? + + RESOLVED: Two new result codes are introduced for this purpose: + + VK_SUBOPTIMAL_KHR - Presentation will still succeed, subject to the + window resize behavior, but the swapchain is no longer configured + optimally for the surface it targets. Applications should query + updated surface information and recreate their swapchain at the next + convenient opportunity. + + VK_ERROR_OUT_OF_DATE_KHR - Failure. The swapchain is no longer + compatible with the surface it targets. The application must + query updated surface information and recreate the swapchain + before presentation will succeed. + + These can be returned by both vkAcquireNextImageKHR and + vkQueuePresentKHR. + +10) Does the vkAcquireNextImageKHR command return a semaphore to the + application via an output parameter, or accept a semaphore to + signal from the application as an object handle parameter? + + RESOLVED: Accept a semahpore to signal as an object handle. This + avoids the need to specify whether the application must destroy + the semaphore or whether it is owned by the swapchain, and if + the latter, what its lifetime is and whether it can be re-used + for other operations once it is received from + vkAcquireNextImageKHR. + +11) What types of swapchain queuing behavior should be exposed? Options + include swap interval specification, mailbox/most recent Vs. FIFO + queue management, targeting specific vertical blank intervals or + absolute times for a given present opeation, and probably others. + For some of these, whether they are specified at swapchain creation + time or as per-present parameters needs to be decided as well. + + RESOLVED: The base swapchain extension will expose 3 possible + behaviors (of which, FIFO will always be supported): + + -Immediate present: Does not wait for vertical blanking period to + update the current image, likely resulting in visible tearing. + No internal queue is used. Present requests are applied + immediately. + + -Mailbox queue: Waits for the next vetical blanking period to + update the current image. No tearing should be observed. An + internal single-entry queue is used to hold pending presentation + requests. If the queue is full when a new presentation + request is received, the new request replaces the existing entry, + and any images associated with the prior entry become available + for re-use by the application. + + -FIFO queue: Waits for the next vertical blanking period to update + the current image. No tearing should be observed. An internal + queue containing (numSwapchainImages - 1) entries is used to + hold pending presentation requests. New requests are appended to + the end of the queue, and one request is removed from the beginning + of the queue and processed during each vertical blanking period in + which the queue is non-empty + + Not all surfaces will support all of these modes, so the modes + supported will be returned using a surface info query. All + surfaces must support the FIFO queue mode. Applications must choose + one of these modes up front when creating a swapchain. Switching + modes can be accomplished by recreating the swapchain. + +12) Can VK_PRESENT_MODE_MAILBOX_KHR provide non-blocking guarantees for + vkAcquireNextImageKHR()? If so, what is the proper criteria? + + RESOLVED: Yes. The difficulty is not immediately obvious here. + Naively, if at least 3 images are requested, mailbox mode should + always have an image available for the application if the application + does not own any images when the call to vkAcquireNextImageKHR() was + made. However, some presentation engines may have more than one + "current" image, and would still need to block in some cases. The + right requirement appears to be that if the application allocates the + surface's minimum number of images + 1 then it is guaranteed non- + blocking behavior when it does not currently own any images. + +13) Is there a way to create and initialize a new swapchain for a + surface that has generated a VK_SUBOPTIMAL_KHR return code while still + using the old swapchain? + + RESOLVED: Not as part of this specification. This could be useful to + allow the application to create an "optimal" replacement swapchain + and rebuild all its command buffers using it in a background thread at + a low priority while continuing to use the "suboptimal" swapchain in + the main thread. It could probably use the same "atomic replace" + semantics proposed for recreating direct-to-device swapchains without + incuring a mode switch. However, after discussion, it was determined + some platforms probably could not support concurrent swapchains for + the same surface though, so this will be left out of the base KHR + extensions. A future extension could add this for platfroms where it + is supported. + +14) Should there be a special value for + VkSurfacePropertiesKHR::maxImageCount to indicate there are no + practical limits on the number of images in a swapchain? + + RESOLVED: Yes. There where often be cases where there is no practical + limit to the number of images in a swapchain other than the amount of + available resources (I.e., memory) in the system. Trying to derive a + hard limit from things like memory size is prone to failure. It is + better in such cases to leave it to applications to figure such soft + limits out via trial/failure iterations. + +15) Should there be a special value for + VkSurfacePropertiesKHR::currentExtent to indicate the size of the + platform surface is undefined? + + RESOLVED: Yes. On some platforms (Wayland, for example), the surface + size is defined by the images presented to it rather than the other + way around. + +16) Should there be a special value for + VkSurfacePropertiesKHR::maxImageExtent to indicate there is no + practical limit on the surface size? + + RESOLVED: No. It seems unlikely such a system would exist. 0 could + be used to indicate the platform places no limits on the extents + beyond those imposed by Vulkan for normal images, but this query could + just as easily return those same limits, so a special "unlimited" + value doesn't seem useful for this field. + +17) How should surface rotation and mirroring be exposed to applications? + How do they specify rotation and mirroring transforms applied prior + to presentation? + + RESOLVED: Applications can query both the supported and current + transforms of a surface. Both are specified relative to the device's + "natural" display rotation and direction. The supported transforms + indicates which orientations the presentation engine accepts images + in. For example, a presentation engine that does not support + transforming surfaces as part of presentation, and which is presenting + to a surface that is displayed with a 90-degree rotation, would return + only one supported transform bit: VK_SURFACE_TRANSFORM_ROT90_BIT_KHR. + Applications must transform their rendering by the transform they + specify when creating the swapchain in preTransform field. + +18) Can surfaces ever not support VK_MIRROR_NONE? Can they support + vertical and horizontal mirroring simultaneously? Relatedly, should + VK_MIRROR_NONE[_BIT] be zero, or bit one, and should applications be + allowed to specify multiple pre and current mirror transform bits, or + exactly one? + + RESOLVED: Since some platforms may not support presenting with a + transform other than the native window's current transform, and + pre-rotation/mirroring are specified relative to the device's + natural rotation and direction, rather than relative to the surface's + current rotation and direction, it is necessary to express lack of + support for no mirroring. To allow this, the MIRROR_NONE enum must + occupy a bit in the flags. Since MIRROR_NONE must be a bit in the + bitfield rather than a bitfield with no values set, allowing more + than one bit to be set in the bitfield would make it possible to + describe undefined transforms such as VK_MIRROR_NONE_BIT | + VK_MIRROR_HORIZONTAL_BIT, or a transform that includes both "no + mirroring" and "horizontal mirroring simultaneously. Therefore, it + is desireable to allow specifying all supported mirroring transforms + using only one bit. The question then becomes, should there be a + VK_MIRROR_HORIZONTAL_AND_VERTICAL_BIT to represent a simultaneous + horizontal and vertical mirror transform? However, such a transform + is equivalent to a 180 degree rotation, so presentation engines and + applications that wish to support or use such a transform can express + it through rotation instead. Therefore, 3 exclusive bits are + sufficient to express all needed mirroring transforms. + +19) Should support for sRGB be required? + + RESOLVED: In the advent of UHD and HDR display devices, proper + colorspace information is vital to the display pipeline + represented by the swapchain. The app can discover the + supported format/colorspace pairs and select a pair most suited + to its rendering needs. Currently only the sRGB colorspace is + supported, future extensions may provide support for more + colorspaces. See issues 23) and 24). + +20) Is there a mechanism to modify or replace an existing swapchain with + one targeting the same surface? + + RESOLVED: Yes. This is described above in the text. + +21) Should there be a way to set pre-rotation and mirroring using native + APIs when presenting using a Vulkan swapchain? + + RESOLVED: Yes. The transforms that can be expressed in this extension + are a subset of those possible on native platforms. If a platform + exposes a method to specify the transform of presented images for a + given surface using native methods and exposes more transforms or + other properties for surfaces than Vulkan supports, it might be + impossible, difficult, or inconvenient to set some of those properties + using Vulkan KHR extensions and some using the native interfaces. To + avoid overwriting properties set using native commands when presenting + using a Vulkan swapchain, the application can set the pre-transform to + "inherit", in which case the current native properties will be used, or + if none are available, a platform-specific default will be used. + Platforms that do not specify a reasonable default or do not provide + native mechanisms to specify such transforms should not include the + inherit bits in the supportedTransform field they return in + VkSurfacePropertiesKHR. + +22) Should the content of presentable images be clipped by objects + obscuring their target surface? + + RESOLVED: Applications can choose which behavior they prefer. Allowing + the content to be clipped could enable more optimal presentation + methods on some platforms, but some applications might rely on the + content of presentable images to perform techniques such as partial + updates or motion blurs. + +23) What is the purpose of specifying a VkColorspaceKHR along with + VkFormat when creating a swapchain? + + RESOLVED: While Vulkan itself is colorspace agnostic (e.g. even the + meaning of R, G, B and A can be freely defined by the rendering + application), the swapchain eventually will have to present the + images on a display device with specific color reproduction + characteristics. If any colorspace transformations are + necessary before an image can be displayed, the colorspace of + the presented image must be known to the swapchain. A swapchain + will only support a restricted set of color format and -space + pairs. This set can be discovered via vkGetSurfaceInfoKHR. As + it can be expected that most display devices support the sRGB + colorspace, at least one format/colorspace pair has to be + exposed, where colorspace is VK_COLOR_SPACE_SRGB_NONLINEAR. + +24) How are sRGB formats and the sRGB colorspace related? + + RESOLVED: While Vulkan exposes a number of SRGB texture formats, using + such formats does not guarantee working in a specific + colorspace. It merely means that the hardware can directly + support applying the non-linear transfer functions defined by + the sRGB standard colorspace when reading from or writing to + images of that these formats. Still, it is unlikely that a + swapchain will expose a _SRGB format along with any colorspace + other than VK_COLOR_SPACE_SRGB_NONLINEAR. + + On the other hand, non-_SRGB formats will be very likely + exposed in pair with a SRGB colorspace. This means, the + hardware will not apply any transfer function when reading + from or writing to such images, yet they will still be + presented on a device with sRGB display characteristics. + In this case the application is responsible for applying the + transfer function, for instance by using shader math. + +25) How are the lifetime of surfaces and swapchains targeting them + related? + + RESOLVED: A surface must outlive any swapchains targeting it. A + VkSurfaceKHR owns the binding of the native window to the Vulkan + driver. + +26) How can the client control the way the alpha channel of swap chain + images is treated by the presentation engine during compositing? + + RESOLVED: We should add new enum values to allow the client to + negotiate with the presentation engine on how to treat image alpha + values during the compositing process. Since not all platforms + can practically control this through the Vulkan driver, a value of + INHERIT is provided like for surface transforms. + +27) Is vkCreateSwapchainKHR() the right function to return + VK_ERROR_NATIVE_WINDOW_IN_USE_KHR, or should the various platform- + specific VkSurface factory functions catch this error earlier? + + RESOLVED: For most platforms, the VkSurface structure is a simple + container holding the data that identifies a native window or + other object representing a surface on a particular platform. For + the surface factory functions to return this error, they would + likely need to register a reference on the native objects with + the native display server some how, and ensure no other such + references exist. Surfaces were not intended to be that heavy- + weight. + + Swapchains are intended to be the objects that directly manipulate + native windows and communicate with the native presentation + mechanisms. Swapchains will already need to communicate with the + native display server to negotiate allocation and/or presentation of + presentable images for a native surface. Therefore, it makes more + sense for swapchain creation to be the point at which native object + exclusivity is enforced. Platforms may choose to enforce further + restrictions on the number of VkSurface objects that may be created + for the same native window if such a requirement makes sense on a + particular platform, but a global requirement is only sensible at the + swapchain level. + +=== Examples + +**Example 1** + +Create a swapchain for a surface on a particular instance of a native platform. + +[source,{basebackend@docbook:c++:cpp}] +---------------------------------------- + extern VkDevice device; + extern VkSurfaceKHR surface; + + // Must call extension functions through a function pointer: + PFN_vkGetSurfacePropertiesKHR pfnGetSurfacePropertiesKHR = (PFN_vkGetSurfacePropertiesKHR)vkGetDeviceProcAddr(device, "vkGetSurfaceInfoKHR"); + PFN_vkGetSurfaceFormatsKHR pfnGetSurfaceFormatsKHR = (PFN_vkGetSurfaceFormatsKHR)vkGetDeviceProcAddr(device, "vkGetSurfaceFormatsKHR"); + PFN_vkGetSurfacePresentModesKHR pfnGetSurfacePresentModesKHR = (PFN_vkGetSurfacePresentModesKHR)vkGetDeviceProcAddr(device, "vkGetSurfacePresentModesKHR"); + PFN_vkCreateSwapchainKHR pfnCreateSwapchainKHR = (PFN_vkCreateSwapchainKHR)vkGetDeviceProcAddr(device, "vkCreateSwapchainKHR"); + + // Check the surface properties and formats + VkSurfacePropertiesKHR surfaceProperties; + pfnGetSurfacePropertiesKHR(device, surface, &surfaceProperties); + + uint32_t formatCount; + pfnGetSurfaceFormatsKHR(device, surface, &formatCount, NULL); + + VkSurfaceFormatKHR* pSurfFormats = (VkSurfaceFormatKHR*)malloc(formatCount * sizeof(VkSurfaceFormatKHR)); + pfnGetSurfaceFormatsKHR(device, surface, &formatCount, pSurfFormats); + + uint32_t presentModeCount; + pfnGetSurfacePresentModesKHR(device, surface, &presentModeCount, NULL); + + VkPresentModeKHR* pPresentModes = (VkPresentModeKHR*)malloc(presentModeCount * sizeof(VkPresentModeKHR)); + pfnGetSurfacePresentModesKHR(device, surface, &presentModeCount, pPresentModes); + + VkExtent2D swapchainExtent; + // width and height are either both -1, or both not -1. + if (surfaceProperties.currentExtent.width == -1) + { + // If the surface size is undefined, the size is set to + // the size of the images requested, which must fit within the minimum + // and maximum values. + swapchainExtent.width = 320; + swapchainExtent.height = 320; + + if (swapchainExtent.width < surfaceProperties.minImageExtent.width) + swapchainExtent.width = surfaceProperties.minImageExtent.width; + else if (swapchainExtent.width > surfaceProperties.maxImageExtent.width) + swapchainExtent.width = surfaceProperties.maxImageExtent.width; + + if (swapchainExtent.height < surfaceProperties.minImageExtent.height) + swapchainExtent.height = surfaceProperties.minImageExtent.height; + else if (swapchainExtent.height > surfaceProperties.maxImageExtent.height) + swapchainExtent.height = surfaceProperties.maxImageExtent.height; + } + else + { + // If the surface size is defined, the swapchain size must match + swapchainExtent = surfaceProperties.currentExtent; + } + + // Application desires to own 2 images at a time (still allowing + // 'minImageCount' images to be owned by the presentation engine). + uint32_t desiredNumberOfSwapchainImages = surfaceProperties.minImageCount + 2; + if ((surfaceProperties.maxImageCount > 0) && + (desiredNumberOfSwapchainImages > surfaceProperties.maxImageCount)) + { + // Application must settle for fewer images than desired: + desiredNumberOfSwapchainImages = surfaceProperties.maxImageCount; + } + + VkFormat swapchainFormat; + // If the format list includes just one entry of VK_FORMAT_UNDEFINED, + // the surface has no preferred format. Otherwise, at least one + // supported format will be returned (assuming that the + // vkGetPhysicalDeviceSurfaceSupportKHR function, in the + // VK_KHR_surface extension returned support for the surface). + if ((formatCount == 1) && (pSurfFormats[0].format == VK_FORMAT_UNDEFINED)) + swapchainFormat = VK_FORMAT_R8G8B8_UNORM; + else + { + assert(formatCount >= 1); + swapchainFormat = pSurfFormats[0].format; + } + VkColorSpaceKHR swapchainColorSpace = pSurfFormats[0].colorSpace; + + // If mailbox mode is available, use it, as it is the lowest-latency non- + // tearing mode. If not, fall back to FIFO which is always available. + VkPresentModeKHR swapchainPresentMode = VK_PRESENT_MODE_FIFO_KHR; + for (size_t i = 0; i < presentModeCount; ++i) + if (pPresentModes[i] == VK_PRESENT_MODE_MAILBOX_KHR) + { + swapchainPresentMode = VK_PRESENT_MODE_MAILBOX_KHR; + break; + } + + const VkSwapchainCreateInfoKHR createInfo = + { + VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR, // sType + NULL, // pNext + 0, // flags + surface, // surface + desiredNumberOfSwapchainImages, // minImageCount + swapchainFormat, // imageFormat + swapchainColorSpace, // imageColorSpace + swapchainExtent, // imageExtent + 1, // imageArrayLayers + VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, // imageUsage + VK_SHARING_MODE_EXCLUSIVE, // imageSharingMode + 0, // queueFamilyIndexCount + NULL, // pQueueFamilyIndices + surfaceProperties.currentTransform, // preTransform + VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR, // compositeAlpha + swapchainPresentMode, // presentMode + VK_TRUE, // clipped + VK_NULL_HANDLE // oldSwapchain + }; + + VkSwapchainKHR swapchain; + pfnCreateSwapchainKHR(device, &createInfo, NULL, &swapchain); +---------------------------------------- + +**Example 2** + +Obtaining the persistent images of a swapchain + +[source,{basebackend@docbook:c++:cpp}] +---------------------------------------- + // Must call extension functions through a function pointer: + PFN_vkGetSwapchainImagesKHR pfnGetSwapchainImagesKHR = (PFN_vkGetSwapchainImagesKHR)vkGetDeviceProcAddr(device, "vkGetSwapchainImagesKHR"); + + uint32_t swapchainImageCount; + pfnGetSwapchainImagesKHR(device, swapchain, &swapchainImageCount, NULL); + + VkImage* pSwapchainImages = (VkImage*)malloc(swapchainImageCount * sizeof(VkImage)); + pfnGetSwapchainImagesKHR(device, swapchain, &swapchainImageCount, pSwapchainImages); +---------------------------------------- + +**Example 3** + +Simple rendering and presenting using separate graphics and +present queues. + +[source,{basebackend@docbook:c++:cpp}] +---------------------------------------- + // Must call extension functions through a function pointer: + PFN_vkAcquireNextImageKHR pfnAcquireNextImageKHR = (PFN_vkAcquireNextImageKHR)vkGetDeviceProcAddr(device, "vkAcquireNextImageKHR"); + PFN_vkQueuePresentKHR pfnQueuePresentKHR = (PFN_vkQueuePresentKHR)vkGetDeviceProcAddr(device, "vkQueuePresentKHR"); + + // Construct command buffers rendering to the presentable images + VkCmdBuffer cmdBuffers[swapchainImageCount]; + VkImageView views[swapchainImageCount]; + extern VkCmdBufferBeginInfo beginInfo; + extern uint32_t graphicsQueueFamilyIndex, presentQueueFamilyIndex; + + for (size_t i = 0; i < swapchainImageCount; ++i) + { + const VkImageViewCreateInfo viewInfo = + { + VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO, // sType + NULL, // pNext + 0, // flags + pSwapchainImages[i], // image + VK_IMAGE_VIEW_TYPE_2D, // viewType + swapchainFormat, // format + ... + }; + vkCreateImageView(device, &viewInfo, &views[i]); + + ... + + vkBeginCommandBuffer(cmdBuffers[i], &beginInfo); + + // Need to transition image from presentable state before being able to render + const VkImageMemoryBarrier acquireImageBarrier = + { + VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, // sType + NULL, // pNext + VK_ACCESS_MEMORY_READ_BIT, // srcAccessMask + VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, // dstAccessMask + VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, // oldLayout + VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, // newLayout + presentQueueFamilyIndex, // srcQueueFamilyIndex + graphicsQueueFamilyIndex, // dstQueueFamilyIndex + pSwapchainImages[i].image, // image + ... + }; + + vkCmdPipelineBarrier( + cmdBuffers[i], + VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, + VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, + VK_FALSE, + 1, + &acquireImageBarrier) + + // ... Render to views[i] ... + + // Need to transition image into presentable state before being able to present + const VkImageMemoryBarrier presentImageBarrier = + { + VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, // sType + NULL, // pNext + VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, // srcAccessMask + VK_ACCESS_MEMORY_READ_BIT, // dstAccessMask + VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, // oldLayout + VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, // newLayout + graphicsQueueFamilyIndex, // srcQueueFamilyIndex + presentQueueFamilyIndex, // dstQueueFamilyIndex + pSwapchainImages[i].image, // image + ... + }; + + vkCmdPipelineBarrier( + cmdBuffers[i], + VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, + VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, + VK_FALSE, + 1, + &presentImageBarrier); + + ... + + vkEndCommandBuffer(cmdBuffers[i]); + } + + const VkSemaphoreCreateInfo semaphoreCreateInfo = + { + VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO, // sType + NULL, // pNext + 0 // flags + }; + + VkSemaphore imageAcquiredSemaphore; + vkCreateSemaphore(device, + &semaphoreCreateInfo, + &imageAcquiredSemaphore); + + VkSemaphore renderingCompleteSemaphore; + vkCreateSemaphore(device, + &semaphoreCreateInfo, + &renderingCompleteSemaphore); + + VkResult result; + do + { + uint32_t imageIndex = UINT32_MAX; + + // Get the next available swapchain image + result = pfnAcquireNextImageKHR( + device, + swapchain, + UINT64_MAX, + imageAcquiredSemaphore, + VK_NULL_HANDLE, + &imageIndex); + + // Swapchain cannot be used for presentation if failed to acquired new image. + if (result < 0) + break; + + // Submit rendering work to the graphics queue + const VkPipelineStageFlags waitDstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; + const VkSubmitInfo submitInfo = + { + VK_STRUCTURE_TYPE_SUBMIT_INFO, // sType + NULL, // pNext + 1, // waitSemaphoreCount + &imageAcquiredSemaphore, // pWaitSemaphores + &waitDstStageMask, // pWaitDstStageMasks + 1, // commandBufferCount + &cmdBuffers[imageIndex], // pCommandBuffers + 1, // signalSemaphoreCount + &renderingCompleteSemaphore // pSignalSemaphores + }; + vkQueueSubmit(graphicsQueue, 1, &submitInfo, VK_NULL_HANDLE); + + // Submit present operation to present queue + const VkPresentInfoKHR presentInfo = + { + VK_STRUCTURE_TYPE_PRESENT_INFO_KHR, // sType + NULL, // pNext + 1, // waitSemaphoreCount + &renderingCompleteSemaphore, // pWaitSemaphores + 1, // swapchainCount + &swapchain, // pSwapchains + &imageIndex, // pImageIndices + NULL // pResults + }; + + result = pfnQueuePresentKHR(presentQueue, &presentInfo); + } while (result >= 0); +---------------------------------------- + +**Example 4** + +Handle VK_ERROR_OUT_OF_DATE_KHR by recreating the swapchain and +VK_SUBOPTIMAL_KHR by checking whether recreation is needed. + +[source,{basebackend@docbook:c++:cpp}] +---------------------------------------- + extern VkDevice device; + extern VkQueue presentQueue; + extern VkSurfaceKHR surface; + + // Contains code to build the application's reusable command buffers. + extern void CreateCommandBuffers(VkDevice device, + const VkImage* swapchainImages); + + // Returns non-zero if the application considers the swapchain out + // of date even though it is still compatible with the platform + // surface it is targeting. + extern int MustRecreateSwapchain(VkDevice device, + VkSwapchainKHR swapchain, + VkSurfaceKHR surface); + + PFN_vkGetSurfacePropertiesKHR pfnGetSurfacePropertiesKHR; + PFN_vkGetSurfaceFormatsKHR pfnGetSurfaceFormatsKHR; + PFN_vkGetSurfacePresentModesKHR pfnGetSurfacePresentModesKHR; + PFN_vkCreateSwapchainKHR pfnCreateSwapchainKHR; + PFN_vkGetSwapchainImagesKHR pfnGetSwapchainImagesKHR; + PFN_vkAcquireNextImageKHR pfnAcquireNextImageKHR; + PFN_vkDestroySwapchainKHR pfnDestroySwapchainKHR; + PFN_vkQueuePresentKHR pfnQueuePresentKHR; + + void initFuncs(void) + { + // Must call extension functions through a function pointer: + pfnGetSurfacePropertiesKHR = (PFN_vkGetSurfacePropertiesKHR)vkGetDeviceProcAddr(device, "vkGetSurfaceInfoKHR"); + pfnGetSurfaceFormatsKHR = (PFN_vkGetSurfaceFormatsKHR)vkGetDeviceProcAddr(device, "vkGetSurfaceFormatsKHR"); + pfnGetSurfacePresentModesKHR = (PFN_vkGetSurfacePresentModesKHR)vkGetDeviceProcAddr(device, "vkGetSurfacePresentModesKHR"); + pfnCreateSwapchainKHR = (PFN_vkCreateSwapchainKHR)vkGetDeviceProcAddr(device, "vkCreateSwapchainKHR"); + pfnGetSwapchainImagesKHR = (PFN_vkGetSwapchainImagesKHR)vkGetDeviceProcAddr(device, "vkGetSwapchainImagesKHR"); + pfnAcquireNextImageKHR = (PFN_vkAcquireNextImageKHR)vkGetDeviceProcAddr(device, "vkAcquireNextImageKHR"); + pfnDestroySwapchainKHR = (PFN_vkDestroySwapchainKHR)vkGetDeviceProcAddr(device, "vkDestroySwapchainKHR"); + pfnQueuePresentKHR = (PFN_vkQueuePresentKHR)vkGetDeviceProcAddr(device, "vkQueuePresentKHR"); + } + + void CreateSwapchain(VkDevice device, + VkSurfaceKHR surface, + VkSwapchainKHR oldSwapchain, + VkSwapchainKHR* pSwapchain) + { + // Check the surface properties and formats + VkSurfacePropertiesKHR surfaceProperties; + pfnGetSurfacePropertiesKHR(device, surface, &surfaceProperties); + + uint32_t formatCount; + pfnGetSurfaceFormatsKHR(device, surface, &formatCount, NULL); + + VkSurfaceFormatKHR* pSurfFormats = (VkSurfaceFormatKHR*)malloc(formatCount * sizeof(VkSurfaceFormatKHR)); + pfnGetSurfaceFormatsKHR(device, surface, &formatCount, pSurfFormats); + + uint32_t presentModeCount; + pfnGetSurfacePresentModesKHR(device, surface, &presentModeCount, NULL); + + VkPresentModeKHR* pPresentModes = (VkPresentModeKHR*)malloc(presentModeCount * sizeof(VkPresentModeKHR)); + pfnGetSurfacePresentModesKHR(device, surface, &presentModeCount, pPresentModes); + + VkExtent2D swapchainExtent; + // width and height are either both -1, or both not -1. + if (surfaceProperties.currentExtent.width == -1) + { + // If the surface size is undefined, the size is set to + // the size of the images requested, which must fit within the minimum + // and maximum values. + swapchainExtent.width = 320; + swapchainExtent.height = 320; + + if (swapchainExtent.width < surfaceProperties.minImageExtent.width) + swapchainExtent.width = surfaceProperties.minImageExtent.width; + else if (swapchainExtent.width > surfaceProperties.maxImageExtent.width) + swapchainExtent.width = surfaceProperties.maxImageExtent.width; + + if (swapchainExtent.height < surfaceProperties.minImageExtent.height) + swapchainExtent.height = surfaceProperties.minImageExtent.height; + else if (swapchainExtent.height > surfaceProperties.maxImageExtent.height) + swapchainExtent.height = surfaceProperties.maxImageExtent.height; + } + else + { + // If the surface size is defined, the swapchain size must match + swapchainExtent = surfaceProperties.currentExtent; + } + + // Application desires to own 2 images at a time (still allowing + // 'minImageCount' images to be owned by the presentation engine). + uint32_t desiredNumberOfSwapchainImages = surfaceProperties.minImageCount + 2; + if ((surfaceProperties.maxImageCount > 0) && + (desiredNumberOfSwapchainImages > surfaceProperties.maxImageCount)) + { + // Application must settle for fewer images than desired: + desiredNumberOfSwapchainImages = surfaceProperties.maxImageCount; + } + + VkFormat swapchainFormat; + // If the format list includes just one entry of VK_FORMAT_UNDEFINED, + // the surface has no preferred format. Otherwise, at least one + // supported format will be returned (assuming that the + // vkGetPhysicalDeviceSurfaceSupportKHR function, in the + // VK_KHR_surface extension returned support for the surface). + if ((formatCount == 1) && (pSurfFormats[0].format == VK_FORMAT_UNDEFINED)) + swapchainFormat = VK_FORMAT_R8G8B8_UNORM; + else + { + assert(formatCount >= 1); + swapchainFormat = pSurfFormats[0].format; + } + VkColorSpaceKHR swapchainColorSpace = pSurfFormats[0].colorSpace; + + // If mailbox mode is available, use it, as it is the lowest-latency non- + // tearing mode. If not, fall back to FIFO which is always available. + VkPresentModeKHR swapchainPresentMode = VK_PRESENT_MODE_FIFO_KHR; + for (size_t i = 0; i < presentModeCount; ++i) + if (pPresentModes[i] == VK_PRESENT_MODE_MAILBOX_KHR) { + swapchainPresentMode = VK_PRESENT_MODE_MAILBOX_KHR; + break; + } + + const VkSwapchainCreateInfoKHR createInfo = + { + VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR, // sType + NULL, // pNext + 0, // flags + surface, // surface + desiredNumberOfSwapchainImages, // minImageCount + swapchainFormat, // imageFormat + swapchainColorSpace, // imageColorSpace + swapchainExtent, // imageExtent + 1, // imageArrayLayers + VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, // imageUsage + VK_SHARING_MODE_EXCLUSIVE, // imageSharingMode + 0, // queueFamilyIndexCount + NULL, // pQueueFamilyIndices + surfaceProperties.currentTransform, // preTransform + VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR, // compositeAlpha + swapchainPresentMode, // presentMode + VK_TRUE, // clipped + + // If the caller specified an existing swapchain, replace it with the + // new swapchain being created here. This will allow a seamless + // transition between the old and new swapchains on platforms that + // support it. + oldSwapchain // oldSwapchain + }; + + pfnCreateSwapchainKHR(device, &createInfo, NULL, pSwapchain); + + // Clean up the old swapchain, if it exists. + // Note: destroying the swapchain also cleans up all its associated + // presentable images once the platform is done with them. + if (oldSwapchain != VK_NULL_HANDLE) + { + pfnDestroySwapchainKHR(device, oldSwapchain, NULL); + } + } + + void mainLoop(void) + { + VkSwapchainKHR swapchain = VK_NULL_HANDLE; + + const VkSemaphoreCreateInfo semaphoreCreateInfo = + { + VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO, // sType + NULL, // pNext + 0 // flags + }; + + VkSemaphore imageAcquiredSemaphore; + vkCreateSemaphore(device, + &semaphoreCreateInfo, + &imageAcquiredSemaphore); + + VkSemaphore renderingCompleteSemaphore; + vkCreateSemaphore(device, + &semaphoreCreateInfo, + &renderingCompleteSemaphore); + + while (1) + { + VkResult result; + + CreateSwapchain(device, surface, swapchain, &swapchain); + + uint32_t swapchainImageCount; + pfnGetSwapchainImagesKHR(device, swapchain, &swapchainImageCount, NULL); + + VkImage* pSwapchainImages = (VkImage*)malloc(swapchainImageCount * sizeof(VkImage)); + pfnGetSwapchainImagesKHR(device, swapchain, &swapchainImageCount, pSwapchainImages); + + CreateCommandBuffers(device, pSwapchainImages); + free(pSwapchainImages); + + while (1) + { + uint32_t imageIndex; + + // Get the next available swapchain image + result = pfnAcquireNextImageKHR( + device, + swapchain, + UINT64_MAX, + imageAcquiredSemaphore, + VK_NULL_HANDLE, + &imageIndex); + + if (result == VK_ERROR_OUT_OF_DATE_KHR) + { + // swapchain is out of date. Needs to be recreated for + // defined results. + break; + } + else if (result == VK_SUBOPTIMAL_KHR) + { + // Ignore this result here. If any expensive pre-processing + // work has already been done for this frame, it is likely + // in the application's interest to continue processing this + // frame with the current swapchain rather than recreate it + // and waste the pre-processing work. + } + else if (result < 0) + { + // Unhandled error. Abort. + return; + } + + // Submit rendering work to the graphics queue + const VkPipelineStageFlags waitDstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; + const VkSubmitInfo submitInfo = + { + VK_STRUCTURE_TYPE_SUBMIT_INFO, // sType + NULL, // pNext + 1, // waitSemaphoreCount + &imageAcquiredSemaphore, // pWaitSemaphores + &waitDstStageMask, // pWaitDstStageMasks + 1, // commandBufferCount + &cmdBuffers[imageIndex], // pCommandBuffers + 1, // signalSemaphoreCount + &renderingCompleteSemaphore // pSignalSemaphores + }; + vkQueueSubmit(graphicsQueue, 1, &submitInfo, VK_NULL_HANDLE); + + // Submit present operation to present queue + const VkPresentInfoKHR presentInfo = + { + VK_STRUCTURE_TYPE_PRESENT_INFO_KHR, // sType + NULL, // pNext + 1, // waitSemaphoreCount + &renderingCompleteSemaphore, // pWaitSemaphores + 1, // swapchainCount + &swapchain, // pSwapchains + &imageIndex, // pImageIndices + NULL // pResults + }; + + result = pfnQueuePresentKHR(presentQueue, &presentInfo); + + if (result == VK_ERROR_OUT_OF_DATE_KHR) + { + // The swapchain is out of date, and must be recreated for + // defined results. + break; + } + else if (result == VK_SUBOPTIMAL_KHR) + { + // Something has changed about the native surface since the + // swapchain was created, but it is still compatible with the + // swapchain. The app must choose whether it wants to create + // a more up to date swapchain before it begins processing + // the next frame. + if (MustRecreateSwapchain(device, swapchain, surface)) + break; + } + else if (result < 0) + { + // Unhandled error. Abort. + return; + } + } + } + } +---------------------------------------- + +**Example 5** + +Meter a CPU thread based on presentation rate. +Note this will only limit the thread to the actual presentation +rate when using VK_PRESENT_MODE_FIFO_KHR. When using +VK_PRESENT_MODE_IMMEDIATE_KHR, presentation rate will be limited only +by rendering rate, so this example will be equivalent to waiting on a +command buffer fence. When using VK_PRESENT_MODE_MAILBOX_KHR, some +presented images may be skipped if a newer image is available by the +time the presentation target is ready to process a new frame, so this +code would again be limited only by the rendering rate. Applications +using mailbox mode should use some other mechanism to meter their +rendering, and it is assumed applications using immediate mode have no +desire to limit the rate of their rendering based on presentation rate. + +[source,{basebackend@docbook:c++:cpp}] +---------------------------------------- + extern void CreateSemAndFences(VkDevice device, VkSemaphore sem, VkFence *fences, const int maxOutstandingPresents); + extern void GenFrameCmdBuffer(VkCmdbuffer cmdBuffer); + + extern VkDevice device; + extern VkQueue queue; + extern VkCmdBuffer cmdBuffer; + extern VkSwapchain fifoModeSwapchain; + extern numSwapchainImages; + + // Must call extension functions through a function pointer: + PFN_vkAcquireNextImageKHR pfnAcquireNextImageKHR = (PFN_vkAcquireNextImageKHR)vkGetDeviceProcAddr(device, "vkAcquireNextImageKHR"); + PFN_vkQueuePresentKHR pfnQueuePresentKHR = (PFN_vkQueuePresentKHR)vkGetDeviceProcAddr(device, "vkQueuePresentKHR"); + + // Allow a maximum of two outstanding presentation operations. + static const int FRAME_LAG = 2 + + VkPresentInfoKHR presentInfo; + const VkSemaphoreCreateInfo semaphoreCreateInfo = + { + VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO, // sType + NULL, // pNext + 0 // flags + }; + + VkSemaphore imageAcquiredSemaphore; + vkCreateSemaphore(device, + &semaphoreCreateInfo, + &imageAcquiredSemaphore); + + VkSemaphore renderingCompleteSemaphore; + vkCreateSemaphore(device, + &semaphoreCreateInfo, + &renderingCompleteSemaphore); + + VkFence fences[FRAME_LAG]; + bool fencesInited[FRAME_LAG]; + int frameIdx = 0; + int imageIdx = 0; + int waitFrame; + + CreateFences(device, fences, FRAME_LAG); + + for (int i = 0; i < FRAME_LAG; ++i) + fencesInited[i] = false; + + while (1) { + if (fencesInited[frameIdx]) + { + // Ensure no more than FRAME_LAG presentations are outstanding + vkWaitForFences(device, 1, &fences[frameIdx], VK_TRUE, UINT64_MAX); + vkResetFences(device, 1, &fences[frameIdx]); + } + + pfnAcquireNextImageKHR( + device, + fifoSwapchain, + UINT64_MAX, + imageAcquiredSemaphore, + fences[frameIdx], + &imageIdx); + + fencesInited[frameIdx] = true; + + // Generate a command buffer for the current frame. + GenFrameCmdBuffer(cmdBuffer); + + // Submit rendering work to the graphics queue + const VkPipelineStageFlags waitDstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; + const VkSubmitInfo submitInfo = + { + VK_STRUCTURE_TYPE_SUBMIT_INFO, // sType + NULL, // pNext + 1, // waitSemaphoreCount + &imageAcquiredSemaphore, // pWaitSemaphores + &waitDstStageMask, // pWaitDstStageMasks + 1, // commandBufferCount + &cmdBuffer, // pCommandBuffers + 1, // signalSemaphoreCount + &renderingCompleteSemaphore // pSignalSemaphores + }; + vkQueueSubmit(queue, 1, &submitInfo, VK_NULL_HANDLE); + + // Submit present operation to present queue + const VkPresentInfoKHR presentInfo = + { + VK_STRUCTURE_TYPE_PRESENT_INFO_KHR, // sType + NULL, // pNext + 1, // waitSemaphoreCount + &renderingCompleteSemaphore, // pWaitSemaphores + 1, // swapchainCount + &fifoSwapchain, // pSwapchains + &imageIdx, // pImageIndices + NULL // pResults + }; + + result = pfnQueuePresentKHR(queue, &presentInfo); + + frameIdx += 1; + frameIdx %= FRAME_LAG; + } +---------------------------------------- + +=== Version History + + * Revision 1, 2015-05-20 (James Jones) + - Initial draft, based on LunarG KHR spec, other KHR specs, patches attached + to bugs. + + * Revision 2, 2015-05-22 (Ian Elliott) + - Made many agreed-upon changes from 2015-05-21 KHR TSG meeting. + This includes using only a queue for presentation, and having an + explict function to acquire the next image. + - Fixed typos and other minor mistakes. + + * Revision 3, 2015-05-26 (Ian Elliott) + - Improved the Description section. + - Added or resolved issues that were found in improving the Description. + For example, pSurfaceDescription is used consistently, instead of + sometimes using pSurface. + + * Revision 4, 2015-05-27 (James Jones) + - Fixed some grammatical errors and typos + - Filled in the description of imageUseFlags when creating a + swapchain. + - Added a description of swapInterval. + - Replaced the paragraph describing the order of operations on + a queue for image ownership and presentation. + + * Revision 5, 2015-05-27 (James Jones) + - Imported relevant issues from the (abandoned) + vk_wsi_persistent_swapchain_images extension. + - Added issues 6 and 7, regarding behavior of the acquire next + image and present commands with respect to queues. + - Updated spec language and examples to align with proposed + resolutions to issues 6 and 7. + + * Revision 6, 2015-05-27 (James Jones) + - Added issue 8, regarding atomic presentation of multiple swapchains + - Updated spec language and examples to align with proposed resolution + to issue 8. + + * Revision 7, 2015-05-27 (James Jones) + - Fixed compilation errors in example code, and made related spec + fixes. + + * Revision 8, 2015-05-27 (James Jones) + - Added issue 9, and the related VK_SUBOPTIMAL_KHR result code. + - Renamed VK_OUT_OF_DATE_KHR to VK_ERROR_OUT_OF_DATE_KHR. + + * Revision 9, 2015-05-27 (James Jones) + - Added inline proposed resolutions (marked with [JRJ]) to some + XXX questions/issues. These should be moved to the issues + section in a subsequent update if the proposals are adopted. + + * Revision 10, 2015-05-28 (James Jones) + - Converted vkAcquireNextImageKHR back to a non-queue operation + that uses a VkSemaphore object for explicit synchronization. + - Added issue 10 to determine whether vkAcquireNextImageKHR + generates or returns semaphores, or whether it operates on a + semaphore provided by the application. + + * Revision 11, 2015-05-28 (James Jones) + - Marked issues 6, 7, and 8 resolved. + - Renamed VkSurfaceCapabilityPropertiesKHR to VkSurfacePropertiesKHR + to better convey the mutable nature of the info it contains. + + * Revision 12, 2015-05-28 (James Jones) + - Added issue 11 with a proposed resolution, and the related issue 12. + - Updated various sections of the spec to match the proposed + resolution to issue 11. + + * Revision 13, 2015-06-01 (James Jones) + - Moved some structures to VK_EXT_KHR_swap_chain to resolve the spec's + issues 1 and 2. + + * Revision 14, 2015-06-01 (James Jones) + - Added code for example 4 demonstrating how an application might + make use of the two different present and acquire next image KHR + result codes. + - Added issue 13. + + * Revision 15, 2015-06-01 (James Jones) + - Added issues 14 - 16 and related spec language. + - Fixed some spelling errors. + - Added language describing the meaningful return values + for vkAcquireNextImageKHR and vkQueuePresentKHR. + + * Revision 16, 2015-06-02 (James Jones) + - Added issues 17 and 18, as well as related spec language. + - Removed some erroneous text added by mistake in the last + upate. + + * Revision 17, 2015-06-15 (Ian Elliott) + - Changed special value from "-1" to "0" so that the data types can be + unsigned. + + * Revision 18, 2015-06-15 (Ian Elliott) + - Clarified the values of VkSurfacePropertiesKHR::minImageCount and the + timeout parameter of the vkAcquireNextImageKHR function. + + * Revision 19, 2015-06-17 (James Jones) + - Misc. cleanup. Removed resolved inline issues and fixed typos. + - Fixed clarification of VkSurfacePropertiesKHR::minImageCount made in + version 18. + - Added a brief "Image Ownership" definition to the list of terms used + in the spec. + + * Revision 20, 2015-06-17 (James Jones) + - Updated enum-extending values using new convention. + + * Revision 21, 2015-06-17 (James Jones) + - Added language describing how to use + VK_IMAGE_LAYOUT_PRESENT_SOURCE_KHR. + - Cleaned up an XXX comment regarding the description of which queues + vkQueuePresentKHR can be used on. + + * Revision 22, 2015-06-17 (James Jones) + - Rebased on Vulkan API version 126. + + * Revision 23, 2015-06-18 (James Jones) + - Updated language for issue 12 to read as a proposed resolution. + - Marked issues 11, 12, 13, 16, and 17 resolved. + - Temporarily added links to the relevant bugs under the remaining + unresolved issues. + - Added issues 19 and 20 as well as proposed resolutions. + + * Revision 24, 2015-06-19 (Ian Elliott) + - Changed special value for VkSurfacePropertiesKHR::currentExtent back + to "-1" from "0". This value will never need to be unsigned, and "0" + is actually a legal value. + + * Revision 25, 2015-06-23 (Ian Elliott) + - Examples now show use of function pointers for extension functions. + - Eliminated extraneous whitespace. + + * Revision 26, 2015-06-25 (Ian Elliott) + - Resolved Issues 9 & 10 per KHR TSG meeting. + + * Revision 27, 2015-06-25 (James Jones) + - Added oldSwapchain member to VkSwapchainCreateInfoKHR. + + * Revision 28, 2015-06-25 (James Jones) + - Added the "inherit" bits to the rotatation and mirroring flags and + the associated issue 21. + + * Revision 29, 2015-06-25 (James Jones) + - Added the "clipped" flag to VkSwapchainCreateInfoKHR, and the + associated issue 22. + - Specified that presenting an image does not modify it. + + * Revision 30, 2015-06-25 (James Jones) + - Added language to the spec that clarifies the behavior of + vkCreateSwapchainKHR() when the oldSwapchain field of + VkSwapchainCreateInfoKHR is not NULL. + + * Revision 31, 2015-06-26 (Ian Elliott) + - Example of new VkSwapchainCreateInfoKHR members, "oldSwapchain" and + "clipped". + - Example of using VkSurfacePropertiesKHR::{min|max}ImageCount to set + VkSwapchainCreateInfoKHR::minImageCount. + - Rename vkGetSurfaceInfoKHR()'s 4th param to "pDataSize", for + consistency with other functions. + - Add macro with C-string name of extension (just to header file). + + * Revision 32, 2015-06-26 (James Jones) + - Minor adjustments to the language describing the behavior of + "oldSwapchain" + - Fixed the version date on my previous two updates. + + * Revision 33, 2015-06-26 (Jesse Hall) + - Add usage flags to VkSwapchainCreateInfoKHR + + * Revision 34, 2015-06-26 (Ian Elliott) + - Rename vkQueuePresentKHR()'s 2nd param to "pPresentInfo", for + consistency with other functions. + + * Revision 35, 2015-06-26 (Jason Ekstrand) + - Merged the VkRotationFlagBitsKHR and VkMirrorFlagBitsKHR enums + into a single VkSurfaceTransformFlagBitsKHR enum. + + * Revision 36, 2015-06-26 (Jason Ekstrand) + - Added a VkSurfaceTransformKHR enum that isn't a bitfield. Each + value in VkSurfaceTransformKHR corresponds directly to one of the + bits in VkSurfaceTransformFlagBitsKHR so transforming from one to + the other is easy. Having a separate enum means that + currentTransform and preTransform are now unambiguous by + definition. + + * Revision 37, 2015-06-29 (Ian Elliott) + - Corrected one of the signatures of vkAcquireNextImageKHR, which had + the last two parameters switched from what it is elsewhere in the + specification and header files. + + * Revision 38, 2015-06-30 (Ian Elliott) + - Corrected a typo in description of the vkGetSwapchainInfoKHR() + function. + - Corrected a typo in header file comment for VkPresentInfoKHR::sType. + + * Revision 39, 2015-07-07 (Daniel Rakos) + - Added error section describing when each error is expected to be + reported. + - Replaced bool32_t with VkBool32. + + * Revision 40, 2015-07-10 (Ian Elliott) + - Updated to work with version 138 of the "vulkan.h" header. This + includes declaring the VkSwapchainKHR type using the new + VK_DEFINE_NONDISP_HANDLE macro, and no longer extending VkObjectType + (which was eliminated). + + * Revision 41 2015-07-09 (Mathias Heyer) + - Added colorspace language. + + * Revision 42, 2015-07-10 (Daniel Rakos) + - Updated query mechanism to reflect the convention changes done in + the core spec. + - Removed "queue" from the name of VK_STRUCTURE_TYPE_QUEUE_PRESENT_INFO_KHR + to be consistent with the established naming convention. + - Removed reference to the no longer existing VkObjectType enum. + + * Revision 43, 2015-07-17 (Daniel Rakos) + - Added support for concurrent sharing of swapchain images across queue + families. + - Updated sample code based on recent changes + + * Revision 44, 2015-07-27 (Ian Elliott) + - Noted that support for VK_PRESENT_MODE_FIFO_KHR is required. That is + ICDs may optionally support IMMEDIATE and MAILBOX, but must support + FIFO. + + * Revision 45, 2015-08-07 (Ian Elliott) + - Corrected a typo in spec file (type and variable name had wrong case + for the imageColorSpace member of the VkSwapchainCreateInfoKHR + struct). + - Corrected a typo in header file (last parameter in + PFN_vkGetSurfacePropertiesKHR was missing "KHR" at the end of type: + VkSurfacePropertiesKHR). + + * Revision 46, 2015-08-20 (Ian Elliott) + - Renamed this extension and all of its enumerations, types, functions, + etc. This makes it compliant with the proposed standard for Vulkan + extensions. + - Switched from "revision" to "version", including use of the + VK_MAKE_VERSION macro in the header file. + - Made improvements to several descriptions. + - Changed the status of several issues from PROPOSED to RESOLVED, + leaving no unresolved issues. + - Resolved several TODO's, did miscellaneous cleanup, etc. + + * Revision 47, 2015-08-20 (Ian Elliott--porting a 2015-07-29 change from + James Jones) + - Moved the surface transform enums to VK_WSI_swapchain so they could + be re-used by VK_WSI_display. + + * Revision 48, 2015-09-01 (James Jones) + - Various minor cleanups. + + * Revision 49, 2015-09-01 (James Jones) + - Restore single-field revision number. + + * Revision 50, 2015-09-01 (James Jones) + - Update Example #4 to include code that illustrates how to use the + oldSwapchain field. + + * Revision 51, 2015-09-01 (James Jones) + - Fix example code compilation errors. + + * Revision 52, 2015-09-08 (Matthaeus G. Chajdas) + - Corrected a typo. + + * Revision 53, 2015-09-10 (Alon Or-bach) + - Removed underscore from SWAP_CHAIN left in + VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR. + + * Revision 54, 2015-09-11 (Jesse Hall) + - Described the execution and memory coherence requirements for image + transitions to and from VK_IMAGE_LAYOUT_PRESENT_SOURCE_KHR. + + * Revision 55, 2015-09-11 (Ray Smith) + - Added errors for destroying and binding memory to presentable images + + * Revision 56, 2015-09-18 (James Jones) + - Added fence argument to vkAcquireNextImageKHR + - Added example of how to meter a CPU thread based on presentation + rate. + + * Revision 57, 2015-09-26 (Jesse Hall) + - Replace VkSurfaceDescriptionKHR with VkSurfaceKHR. + - Added issue 25 with agreed resolution. + + * Revision 58, 2015-09-28 (Jesse Hall) + - Renamed from VK_EXT_KHR_device_swapchain to VK_EXT_KHR_swapchain. + + * Revision 59, 2015-09-29 (Ian Elliott) + - Changed vkDestroySwapchainKHR() to return void. + + * Revision 60, 2015-10-01 (Jeff Vigil) + - Added error result VK_ERROR_SURFACE_LOST_KHR. + + * Revision 61, 2015-10-05 (Jason Ekstrand) + - Added the VkCompositeAlpha enum and corresponding structure fields. + + * Revision 62, 2015-10-12 (Daniel Rakos) + - Added VK_PRESENT_MODE_FIFO_RELAXED_KHR. + + * Revision 63, 2015-10-15 (Daniel Rakos) + - Moved surface capability queries to VK_EXT_KHR_surface. + + * Revision 64, 2015-10-26 (Ian Elliott) + - Renamed from VK_EXT_KHR_swapchain to VK_KHR_swapchain. + + * Revision 65, 2015-10-28 (Ian Elliott) + - Added optional pResult member to VkPresentInfoKHR, so that + per-swapchain results can be obtained from vkQueuePresentKHR(). + + * Revision 66, 2015-11-03 (Daniel Rakos) + - Added allocation callbacks to create and destroy functions. + - Updated resource transition language. + - Updated sample code. + + * Revision 67, 2015-11-10 (Jesse Hall) + - Add reserved flags bitfield to VkSwapchainCreateInfoKHR. + - Modify naming and member ordering to match API style conventions, and so + the VkSwapchainCreateInfoKHR image property members mirror corresponding + VkImageCreateInfo members but with an 'image' prefix. + - Make VkPresentInfoKHR::pResults non-const; it's an output array parameter. + - Make pPresentInfo parameter to vkQueuePresentKHR const. + + * Revision 68, 2016-04-05 (Ian Elliott) + - Moved the "validity" include for vkAcquireNextImage to be in its proper + place, after the prototype and list of parameters. + - Clarified language about presentable images, including how they are + acquired, when applications can and can't use them, etc. As part of + this, removed language about "ownership" of presentable images, and + replaced it with more-consistent language about presentable images + being "acquired" by the application. diff --git a/doc/specs/vulkan/appendices/VK_KHR_wayland_surface/vk_khr_wayland_surface.txt b/doc/specs/vulkan/appendices/VK_KHR_wayland_surface/vk_khr_wayland_surface.txt new file mode 100644 index 00000000..44406893 --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_KHR_wayland_surface/vk_khr_wayland_surface.txt @@ -0,0 +1,93 @@ +== VK_KHR_wayland_surface + +*Name String*:: VK_KHR_wayland_surface +*Extension Type*:: Instance extension +*Registered Extension Number*:: 7 +*Last Modified Date*:: 11/28/2015 +*Revision*:: 5 +*IP Status*:: +No known IP claims. +*Dependencies*:: + - This extension is written against revision 1.0 of the Vulkan API. + - This extension requires VK_KHR_surface. +*Contributors*:: + - Patrick Doane, Blizzard + - Jason Ekstrand, Intel + - Ian Elliott, LunarG + - Courtney Goeltzenleuchter, LunarG + - Jesse Hall, Google + - James Jones, NVIDIA + - Antoine Labour, Google + - Jon Leech, Khronos + - David Mao, AMD + - Norbert Nopper, Freescale + - Alon Or-bach, Samsung + - Daniel Rakos, AMD + - Graham Sellers, AMD + - Ray Smith, ARM + - Jeff Vigil, Qualcomm + - Chia-I Wu, LunarG +*Contacts*:: + - Jesse Hall, Google + - Ian Elliott, LunarG + + +The VK_KHR_wayland_surface extension is an instance extension. It provides +a mechanism to create a sname:VkSurfaceKHR object (defined by the +VK_KHR_surface extension) that refers to a Wayland wl_surface, as well as a +query to determine support for rendering to the windows desktop. + +=== New Object Types + +None + +=== New Enum Constants + + * Extending ename:VkStructureType: + ** ename:VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR + +=== New Enums + +None + +=== New Structures + + * slink:VkWaylandSurfaceCreateInfoKHR + +=== New Functions + + * flink:vkCreateWaylandSurfaceKHR + * flink:vkGetPhysicalDeviceWaylandPresentationSupportKHR + +=== Issues + +1) Does Wayland need a way to query for compatibility between a particular + physical device and a specific Wayland display? This would be a more + general query than vkGetPhysicalDeviceSurfaceSupportKHR: if the Wayland- + specific query returned true for a (VkPhysicalDevice, struct wl_display*) + pair, then the physical device could be assumed to support presentation to + any VkSurface for surfaces on the display. + + RESOLVED: Yes. vkGetPhysicalDeviceWaylandPresentationSupportKHR() was added + to address this issue. + +=== Version History + + * Revision 1, 2015-09-23 (Jesse Hall) + - Initial draft, based on the previous contents of VK_EXT_KHR_swapchain + (later renamed VK_EXT_KHR_surface). + + * Revision 2, 2015-10-02 (James Jones) + - Added vkGetPhysicalDeviceWaylandPresentationSupportKHR() to resolve + issue #1. + - Adjusted wording of issue #1 to match the agreed-upon solution. + - Renamed "window" parameters to "surface" to match Wayland conventions. + + * Revision 3, 2015-10-26 (Ian Elliott) + - Renamed from VK_EXT_KHR_wayland_surface to VK_KHR_wayland_surface. + + * Revision 4, 2015-11-03 (Daniel Rakos) + - Added allocation callbacks to vkCreateWaylandSurfaceKHR. + + * Revision 5, 2015-11-28 (Daniel Rakos) + - Updated the surface create function to take a pCreateInfo structure. diff --git a/doc/specs/vulkan/appendices/VK_KHR_win32_surface/vk_khr_win32_surface.txt b/doc/specs/vulkan/appendices/VK_KHR_win32_surface/vk_khr_win32_surface.txt new file mode 100644 index 00000000..1a4f2837 --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_KHR_win32_surface/vk_khr_win32_surface.txt @@ -0,0 +1,90 @@ +== VK_KHR_win32_surface + +*Name String*:: VK_KHR_win32_surface +*Extension Type*:: Instance extension +*Registered Extension Number*:: 10 +*Last Modified Date*:: 11/28/2015 +*Revision*:: 5 +*IP Status*:: +No known IP claims. +*Dependencies*:: + - This extension is written against revision 1.0 of the Vulkan API. + - This extension requires VK_KHR_surface. +*Contributors*:: + - Patrick Doane, Blizzard + - Jason Ekstrand, Intel + - Ian Elliott, LunarG + - Courtney Goeltzenleuchter, LunarG + - Jesse Hall, Google + - James Jones, NVIDIA + - Antoine Labour, Google + - Jon Leech, Khronos + - David Mao, AMD + - Norbert Nopper, Freescale + - Alon Or-bach, Samsung + - Daniel Rakos, AMD + - Graham Sellers, AMD + - Ray Smith, ARM + - Jeff Vigil, Qualcomm + - Chia-I Wu, LunarG +*Contacts*:: + - Jesse Hall, Google + - Ian Elliott, LunarG + + +The VK_KHR_win32_surface extension is an instance extension. It provides a +mechanism to create a sname:VkSurfaceKHR object (defined by the +VK_KHR_surface extension) that refers to a Win32 HWND, as well as a query +to determine support for rendering to the windows desktop. + +=== New Object Types + +None + +=== New Enum Constants + + * Extending ename:VkStructureType: + ** ename:VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR + +=== New Enums + +None + +=== New Structures + + * slink:VkWin32SurfaceCreateInfoKHR + +=== New Functions + + * flink:vkCreateWin32SurfaceKHR + * flink:vkGetPhysicalDeviceWin32PresentationSupportKHR + +=== Issues + +1) Does Win32 need a way to query for compatibility between a particular + physical device and a specific screen? Compatibility between a physical + device and a window generally only depends on what screen the window is on. + However, there isn't an obvious way to identify a screen without already + having a window on the screen. + + RESOLVED: No. While it may be useful, there isn't a clear way to do this on + Win32. However, a method was added to query support for presenting to the + windows desktop as a whole. + +=== Version History + + * Revision 1, 2015-09-23 (Jesse Hall) + - Initial draft, based on the previous contents of VK_EXT_KHR_swapchain + (later renamed VK_EXT_KHR_surface). + + * Revision 2, 2015-10-02 (James Jones) + - Added presention support query for win32 desktops. + + * Revision 3, 2015-10-26 (Ian Elliott) + - Renamed from VK_EXT_KHR_win32_surface to VK_KHR_win32_surface. + + * Revision 4, 2015-11-03 (Daniel Rakos) + - Added allocation callbacks to vkCreateWin32SurfaceKHR. + + * Revision 5, 2015-11-28 (Daniel Rakos) + - Updated the surface create function to take a pCreateInfo structure. diff --git a/doc/specs/vulkan/appendices/VK_KHR_xcb_surface/vk_khr_xcb_surface.txt b/doc/specs/vulkan/appendices/VK_KHR_xcb_surface/vk_khr_xcb_surface.txt new file mode 100644 index 00000000..9c58b62c --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_KHR_xcb_surface/vk_khr_xcb_surface.txt @@ -0,0 +1,98 @@ +== VK_KHR_xcb_surface + +*Name String*:: VK_KHR_xcb_surface +*Extension Type*:: Instance extension +*Registered Extension Number*:: 6 +*Last Modified Date*:: 11/28/2015 +*Revision*:: 6 +*IP Status*:: +No known IP claims. +*Dependencies*:: + - This extension is written against revision 1.0 of the Vulkan API. + - This extension requires VK_KHR_surface. +*Contributors*:: + - Patrick Doane, Blizzard + - Jason Ekstrand, Intel + - Ian Elliott, LunarG + - Courtney Goeltzenleuchter, LunarG + - Jesse Hall, Google + - James Jones, NVIDIA + - Antoine Labour, Google + - Jon Leech, Khronos + - David Mao, AMD + - Norbert Nopper, Freescale + - Alon Or-bach, Samsung + - Daniel Rakos, AMD + - Graham Sellers, AMD + - Ray Smith, ARM + - Jeff Vigil, Qualcomm + - Chia-I Wu, LunarG +*Contacts*:: + - Jesse Hall, Google + - Ian Elliott, LunarG + + +The VK_KHR_xcb_surface extension is an instance extension. It provides a +mechanism to create a sname:VkSurfaceKHR object (defined by the +VK_KHR_surface extension) that refers to an X11 window, using the XCB +client-side library, as well as a query +to determine support for rendering via XCB. + +=== New Object Types + +None + +=== New Enum Constants + + * Extending ename:VkStructureType: + ** ename:VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR + +=== New Enums + +None + +=== New Structures + + * slink:VkXcbSurfaceCreateInfoKHR + +=== New Functions + + * flink:vkCreateXcbSurfaceKHR + * flink:vkGetPhysicalDeviceXcbPresentationSupportKHR + +=== Issues + +1) Does XCB need a way to query for compatibility between a particular + physical device and a specific screen? This would be a more general query + than vkGetPhysicalDeviceSurfaceSupportKHR: If it returned true, then the + physical device could be assumed to support presentation to any window on + that screen. + + RESOLVED: Yes, this is needed for toolkits that want to create a VkDevice + before creating a window. To ensure the query is reliable, it must be + made against a particular X visual rather than the screen in general. + +=== Version History + + * Revision 1, 2015-09-23 (Jesse Hall) + - Initial draft, based on the previous contents of VK_EXT_KHR_swapchain + (later renamed VK_EXT_KHR_surface). + + * Revision 2, 2015-10-02 (James Jones) + - Added presention support query for an (xcb_connection_t*, + xcb_visualid_t) pair. + - Removed "root" parameter from CreateXcbSurfaceKHR(), as it is + redundant when a window on the same screen is specified as well. + - Adjusted wording of issue #1 and added agreed upon resolution. + + * Revision 3, 2015-10-14 (Ian Elliott) + - Removed "root" parameter from CreateXcbSurfaceKHR() in one more place. + + * Revision 4, 2015-10-26 (Ian Elliott) + - Renamed from VK_EXT_KHR_xcb_surface to VK_KHR_xcb_surface. + + * Revision 5, 2015-10-23 (Daniel Rakos) + - Added allocation callbacks to vkCreateXcbSurfaceKHR. + + * Revision 6, 2015-11-28 (Daniel Rakos) + - Updated the surface create function to take a pCreateInfo structure. diff --git a/doc/specs/vulkan/appendices/VK_KHR_xlib_surface/vk_khr_xlib_surface.txt b/doc/specs/vulkan/appendices/VK_KHR_xlib_surface/vk_khr_xlib_surface.txt new file mode 100644 index 00000000..67d205ba --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_KHR_xlib_surface/vk_khr_xlib_surface.txt @@ -0,0 +1,99 @@ +== VK_KHR_xlib_surface + +*Name String*:: VK_KHR_xlib_surface +*Extension Type*:: Instance extension +*Registered Extension Number*:: 5 +*Last Modified Date*:: 11/28/2015 +*Revision*:: 6 +*IP Status*:: +No known IP claims. +*Dependencies*:: + - This extension is written against revision 1.0 of the Vulkan API. + - This extension requires VK_KHR_surface. +*Contributors*:: + - Patrick Doane, Blizzard + - Jason Ekstrand, Intel + - Ian Elliott, LunarG + - Courtney Goeltzenleuchter, LunarG + - Jesse Hall, Google + - James Jones, NVIDIA + - Antoine Labour, Google + - Jon Leech, Khronos + - David Mao, AMD + - Norbert Nopper, Freescale + - Alon Or-bach, Samsung + - Daniel Rakos, AMD + - Graham Sellers, AMD + - Ray Smith, ARM + - Jeff Vigil, Qualcomm + - Chia-I Wu, LunarG +*Contacts*:: + - Jesse Hall, Google + - Ian Elliott, LunarG + + +The VK_KHR_xlib_surface extension is an instance extension. It provides a +mechanism to create a sname:VkSurfaceKHR object (defined by the +VK_KHR_surface extension) that refers to an X11 window, using the Xlib +client-side library, as well as a query to determine support for rendering via +Xlib. + +=== New Object Types + +None + +=== New Enum Constants + + * Extending ename:VkStructureType: + ** ename:VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR + +=== New Enums + +None + +=== New Structures + + * slink:VkXlibSurfaceCreateInfoKHR + +=== New Functions + + * flink:vkCreateXlibSurfaceKHR + * flink:vkGetPhysicalDeviceXlibPresentationSupportKHR + +=== Issues + +1) Does X11 need a way to query for compatibility between a particular + physical device and a specific screen? This would be a more general query + than vkGetPhysicalDeviceSurfaceSupportKHR: If it returned true, then the + physical device could be assumed to support presentation to any window on + that screen. + + RESOLVED: Yes, this is needed for toolkits that want to create a VkDevice + before creating a window. To ensure the query is reliable, it must be + made against a particular X visual rather than the screen in general. + +=== Version History + + * Revision 1, 2015-09-23 (Jesse Hall) + - Initial draft, based on the previous contents of VK_EXT_KHR_swapchain + (later renamed VK_EXT_KHR_surface). + + * Revision 2, 2015-10-02 (James Jones) + - Added presention support query for (Display*, VisualID) pair. + - Removed "root" parameter from CreateXlibSurfaceKHR(), as it is + redundant when a window on the same screen is specified as well. + - Added appropriate X errors. + - Adjusted wording of issue #1 and added agreed upon resolution. + + * Revision 3, 2015-10-14 (Ian Elliott) + - Renamed this extension from VK_EXT_KHR_x11_surface to + VK_EXT_KHR_xlib_surface. + + * Revision 4, 2015-10-26 (Ian Elliott) + - Renamed from VK_EXT_KHR_xlib_surface to VK_KHR_xlib_surface. + + * Revision 5, 2015-11-03 (Daniel Rakos) + - Added allocation callbacks to vkCreateXlibSurfaceKHR. + + * Revision 6, 2015-11-28 (Daniel Rakos) + - Updated the surface create function to take a pCreateInfo structure. diff --git a/doc/specs/vulkan/appendices/VK_NV_dedicated_allocation.txt b/doc/specs/vulkan/appendices/VK_NV_dedicated_allocation.txt new file mode 100644 index 00000000..9de496bd --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_NV_dedicated_allocation.txt @@ -0,0 +1,134 @@ +== VK_NV_dedicated_allocation + +*Name String*:: VK_NV_dedicated_allocation +*Extension Type*:: Device extension +*Registered Extension Number*:: 27 +*Status*:: Draft. +*Last Modified Date*:: 31/05/2016 +*Revision*:: 1 +*IP Status*:: No known IP claims. +*Dependencies*:: + - This extension is written against version 1.0. of the Vulkan API. +*Contributors*:: + - Jeff Bolz, NVIDIA +*Contacts*:: + - Jeff Bolz (jbolz 'at' nvidia.com) + +This extension allows device memory to be allocated for a particular buffer or +image resource, which on some devices can significantly improve the +performance of that resource. Normal device memory allocations must support +memory aliasing and sparse binding, which could interfere with optimizations +like framebuffer compression or efficient page table usage. This is important +for render targets and very large resources, but need not (and probably should +not) be used for smaller resources that can benefit from suballocation. + +This extension adds a few small structures to resource creation and memory +allocation: a new structure that flags whether am image/buffer will have a +dedicated allocation, and a structure indicating the image or buffer that an +allocation will be bound to. + +=== New Object Types + +None. + +=== New Enum Constants + + * Extending ename:VkStructureType: + ** ename:VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV + ** ename:VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV + ** ename:VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV + +=== New Enums + +None. + +=== New Structures + + * slink:VkDedicatedAllocationImageCreateInfoNV + * slink:VkDedicatedAllocationBufferCreateInfoNV + * slink:VkDedicatedAllocationMemoryAllocateInfoNV + +=== New Functions + +None. + +=== Issues + +None. + +=== Examples + +[source,{basebackend@docbook:c++:cpp}] +---------------------------------------- + + // Create an image with + // VkDedicatedAllocationImageCreateInfoNV::dedicatedAllocation + // set to VK_TRUE + + VkDedicatedAllocationImageCreateInfoNV dedicatedImageInfo = + { + VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV, // sType + NULL, // pNext + VK_TRUE, // dedicatedAllocation + }; + + VkImageCreateInfo imageCreateInfo = + { + VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, // sType + &dedicatedImageInfo // pNext + // Other members set as usual + }; + + VkImage image; + VkResult result = vkCreateImage( + device, + &imageCreateInfo, + NULL, // pAllocator + &image); + + VkMemoryRequirements memoryRequirements; + vkGetImageMemoryRequirements( + device, + image, + &memoryRequirements); + + // Allocate memory with VkDedicatedAllocationMemoryAllocateInfoNV::image + // pointing to the image we're allocating the memory for + + VkDedicatedAllocationMemoryAllocateInfoNV dedicatedInfo = + { + VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV, // sType + NULL, // pNext + image, // image + VK_NULL_HANDLE, // buffer + }; + + VkMemoryAllocateInfo memoryAllocateInfo = + { + VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO, // sType + &dedicatedInfo, // pNext + memoryRequirements.size, // allocationSize + FindMemoryTypeIndex(memoryRequirements.memoryTypeBits), // memoryTypeIndex + }; + + VkDeviceMemory memory; + vkAllocateMemory( + device, + &memoryAllocateInfo, + NULL, // pAllocator + &memory); + + // Bind the image to the memory + + vkBindImageMemory( + device, + image, + memory, + 0); + +---------------------------------------- + +=== Version History + + * Revision 1, 2016-05-31 (Jeff Bolz) + - Internal revisions diff --git a/doc/specs/vulkan/appendices/VK_NV_external_memory.txt b/doc/specs/vulkan/appendices/VK_NV_external_memory.txt new file mode 100644 index 00000000..fcc5ce6e --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_NV_external_memory.txt @@ -0,0 +1,96 @@ +== VK_NV_external_memory + +*Name String*:: VK_NV_external_memory +*Extension Type*:: Device extension +*Registered Extension Number*:: 57 +*Status*:: Complete +*Last Modified Date*:: 19/08/2016 +*Revision*:: 1 +*IP Status*:: No known IP claims. +*Dependencies*:: + - This extension is written against version 1.0 of the Vulkan API. + - Requires VK_NV_external_memory_capabilities +*Contributors*:: + - James Jones, NVIDIA + - Carsten Rohde, NVIDIA +*Contact*:: + - James Jones (jajones 'at' nvidia.com) + +Applications may wish to export memory to other Vulkan instances or +other APIs, or import memory from other Vulkan instances or other +APIs to enable Vulkan workloads to be split up across application +module, process, or API boundaries. This extension enables +applications to create exportable Vulkan memory objects such that the +underlying resources can be referenced outside the Vulkan instance +that created them. + +=== New Object Types + +None. + +=== New Enum Constants + +Extending ename:VkStructureType: +** VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = ??? +** VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = ??? + +=== New Enums + +None. + +=== New Structures + + * Extending slink:VkImageCreateInfo: + ** slink:VkExternalMemoryImageCreateInfoNV + + * Extending slink:VkMemoryAllocateInfo + ** slink:VkExportMemoryAllocateInfoNV + +=== New Functions + +None. + +=== Issues + +1) If memory objects are shared between processes and APIs, is this + considered aliasing according to the rules outlined in section + 11.8, Memory Aliasing? + + RESOLUTION: Yes, but strict exceptions to the rules are added to + allow some forms of aliasing in these cases. Further, other + extensions may build upon these new aliasing rules to define + specific support usage within Vulkan for imported native memory + objects, or memory objects from other APIs. + +2) Are new image layouts or metadata required to specify image + layouts and layout transitions compatible with non-Vulkan APIs, + or with other instances of the same Vulkan driver? + + RESOLUTION: No. Separate instances of the same Vulkan driver + running on the same GPU should have identical internal layout + semantics, so applictions have the tools they need to ensure views + of images are consistent between the two instances. Other APIs + will fall into two categories: Those that are Vulkan- compatible + (A term to be defined by subsequent interopability extensions), or + Vulkan incompatible. When sharing images with Vulkan incompatible + APIs, the Vulkan image must be transitioned to the GENERAL layout + before handing it off to the external API. + + Note this does not attempt to address cross-device transitions, + nor transitions to engines on the same device which are not + visible within the Vulkan API. Both of these are beyond the + scope of this extension. + +=== Examples + +[source,{basebackend@docbook:c++:cpp}] +---------------------------------------- + + // TODO: Write some sample code here. + +---------------------------------------- + +=== Version History + + * Revision 1, 2016-08-19 (James Jones) + - Initial draft diff --git a/doc/specs/vulkan/appendices/VK_NV_external_memory_capabilities.txt b/doc/specs/vulkan/appendices/VK_NV_external_memory_capabilities.txt new file mode 100644 index 00000000..46e65b83 --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_NV_external_memory_capabilities.txt @@ -0,0 +1,73 @@ +== VK_NV_external_memory_capabilities + +*Name String*:: VK_NV_external_memory_capabilities +*Extension Type*:: Instance extension +*Registered Extension Number*:: 56 +*Status*:: Complete +*Last Modified Date*:: 19/08/2016 +*Revision*:: 1 +*IP Status*:: No known IP claims. +*Dependencies*:: + - This extension is written against version 1.0 of the Vulkan API. + - Interacts with VK_NV_dedicated_allocation. +*Contributors*:: + - James Jones, NVIDIA +*Contact*:: + James Jones (jajones 'at' nvidia.com) + +Applications may wish to import memory from the Direct 3D API, or export +memory to other Vulkan instances. This extension provides a set of +capability queries that allow applications determine what types of win32 +memory handles an implementation supports for a given set of use cases. + +=== New Object Types + +None. + +=== New Enum Constants + +None. + +=== New Enums + + * elink:VkExternalMemoryHandleTypeFlagBitsNV + * elink:VkExternalMemoryFeatureFlagBitsNV + +=== New Structs + + * slink:VkExternalImageFormatPropertiesNV + +=== New Functions + + * flink:vkGetPhysicalDeviceExternalImageFormatPropertiesNV + +=== Issues + +1) Why do so many external memory capabilities need to be queried on + a per-memory-handle-type basis? + + RESOLUTION: This is because some handle types are based on OS-native + objects that have far more limited capabilities than the very generic + Vulkan memory objects. Not all memory handle types can name memory + objects that support 3D images, for example. Some handle types can + not even support the deferred image and memory binding behavior of + Vulkan and require specifying the image when allocating or importing + the memory object. + +2) Does the VkExternalImageFormatPropertiesNV struct need to include + a list of memory type bits that support the given handle type? + + RESOLUTION: No. The memory types that don't support the handle types + will simply be filtered out of the results returned by + vkGetImageMemoryRequirements() when a set of handle types was + specified at image creation time. + +3) Should the non-opaque handle types be moved to their own + extension? + + RESOLUTION: Perhaps. However, defining the handle type bits does very + little and does not require any platform-specific types on its own, + and it's easier to maintain the bitfield values in a single extension + for now. Presumably more handle types could be added by separate + extensions though, and it would be midly weird to have some platform- + specific ones defined in the core spec and some in extensions diff --git a/doc/specs/vulkan/appendices/VK_NV_external_memory_win32.txt b/doc/specs/vulkan/appendices/VK_NV_external_memory_win32.txt new file mode 100644 index 00000000..e8f71ffc --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_NV_external_memory_win32.txt @@ -0,0 +1,238 @@ +== VK_NV_external_memory_win32 + +*Name String*:: VK_NV_external_memory_win32 +*Extension Type*:: Device extension +*Registered Extension Number*:: 58 +*Status*:: Complete +*Last Modified Date*:: 19/08/2016 +*Revision*:: 1 +*IP Status*:: No known IP claims. +*Dependencies*:: + - This extension is written against version 1.0 of the Vulkan API. + - Requires VK_NV_external_memory_capabilities + - Requires VK_NV_external_memory +*Contributors*:: + - James Jones, NVIDIA + - Carsten Rohde, NVIDIA +*Contact*:: + - James Jones (jajones 'at' nvidia.com) + +Applications may wish to export memory to other Vulkan instances or other APIs, +or import memory from other Vulkan instances or other APIs to enable Vulkan +workloads to be split up across application module, process, or API boundaries. +This extension enables win32 applications to export win32 handles from Vulkan +memory objects such that the underlying resources can be referenced outside +the Vulkan instance that created them, and import win32 handles created in the +Direct3D API to Vulkan memory objects. + +=== New Object Types + +None. + +=== New Enum Constants + +Extending ename:VkStructureType: +** pname:VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV +** pname:VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV + +=== New Enums + +None. + +=== New Structures + + * Extending slink:VkMemoryAllocateInfo + ** slink:VkImportMemoryWin32HandleInfoNV + + * Extends slink:VkMemoryAllocateInfo + ** slink:VkExportMemoryWin32HandleInfoNV + +=== New Functions + + flink:vkGetMemoryWin32HandleNV + +=== Issues + +1) If memory objects are shared between processes and APIs, is this + considered aliasing according to the rules outlined in section + 11.8, Memory Aliasing? + + RESOLUTION: Yes, but strict exceptions to the rules are added to + allow some forms of aliasing in these cases. Further, other + extensions may build upon these new aliasing rules to define + specific support usage within Vulkan for imported native memory + objects, or memory objects from other APIs. + +2) Are new image layouts or metadata required to specify image + layouts and layout transitions compatible with non-Vulkan APIs, + or with other instances of the same Vulkan driver? + + RESOLUTION: No. Separate instances of the same Vulkan driver + running on the same GPU should have identical internal layout + semantics, so applictions have the tools they need to ensure views + of images are consistent between the two instances. Other APIs + will fall into two categories: Those that are Vulkan- compatible + (A term to be defined by subsequent interopability extensions), or + Vulkan incompatible. When sharing images with Vulkan incompatible + APIs, the Vulkan image must be transitioned to the GENERAL layout + before handing it off to the external API. + + Note this does not attempt to address cross-device transitions, + nor transitions to engines on the same device which are not + visible within the Vulkan API. Both of these are beyond the + scope of this extension. + +3) Do applications need to call CloseHandle() on the values returned + from VkGetMemoryWin32HandleKHR() when handleType is + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR? + + RESOLUTION: Yes, unless it is passed back in to another driver + instance to import the object. A successful get call transfers + ownership of the handle to the application, while an import + transfers ownership to the associated driver. Destroying the + memory object will not destroy the handle or the handle's + reference to the underlying memory resource. + +=== Examples + +[source,{basebackend@dockbook:c++:cpp}] +---------------------------------------- + + // + // Create an exportable memory object and export an external + // handle from it. + // + + // Pick an external format and handle type. + static const VkFormat format = VK_FORMAT_R8G8B8A8_UNORM; + static const VkExternalMemoryHandleTypeFlagsNV handleType = + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV; + + extern VkPhysicalDevice physicalDevice; + extern VkDevice device; + + VkPhysicalDeviceMemoryProperties memoryProperties; + VkExternalImageFormatPropertiesNV properties; + VkExternalMemoryImageCreateInfoNV externalMemoryImageCreateInfo; + VkDedicatedAllocationImageCreateInfoNV dedicatedImageCreateInfo; + VkImageCreateInfo imageCreateInfo; + VkImage image; + VkMemoryRequirements imageMemoryRequirements; + uint32_t numMemoryTypes; + uint32_t memoryType; + VkExportMemoryAllocateInfoNV exportMemoryAllocateInfo; + VkDedicatedAllocationMemoryAllocateInfoNV dedicatedAllocationInfo; + VkMemoryAllocateInfo memoryAllocateInfo; + VkDeviceMemory memory; + VkResult result; + HANDLE memoryHnd; + + // Figure out how many memory types the device supports + vkGetPhysicalDeviceMemoryProperties(physicalDevice, + &memoryProperties); + numMemoryTypes = memoryProperties.memoryTypeCount; + + // Check the external handle type capabilities for the chosen format + // Exportable 2D image support with at least 1 mip level, 1 array + // layer, and VK_SAMPLE_COUNT_1_BIT using optimal tiling and supporting + // texturing and color rendering is required. + result = vkGetPhysicalDeviceExternalImageFormatPropertiesNV( + physicalDevice, + format, + VK_IMAGE_TYPE_2D, + VK_IMAGE_TILING_OPTIMAL, + VK_IMAGE_USAGE_SAMPLED_BIT | + VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, + 0, + handleType, + &properties); + + if ((result != VK_SUCCESS) || + !(properties.externalMemoryFeatures & + VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV)) { + abort(); + } + + // Set up the external memory image creation info + memset(&externalMemoryImageCreateInfo, + 0, sizeof(externalMemoryImageCreateInfo)); + externalMemoryImageCreateInfo.sType = + VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV; + externalMemoryImageCreateInfo.handleTypes = handleType; + if (properties.externalMemoryFeatures & + VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV) { + memset(&dedicatedImageCreateInfo, 0, sizeof(dedicatedImageCreateInfo)); + dedicatedImageCreateInfo.sType = + VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV; + dedicatedImageCreateInfo.dedicatedAllocation = VK_TRUE; + externalMemoryImageCreateInfo.pNext = &dedicatedImageCreateInfo; + } + // Set up the core image creation info + memset(&imageCreateInfo, 0, sizeof(imageCreateInfo)); + imageCreateInfo.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO; + imageCreateInfo.pNext = &externalMemoryImageCreateInfo; + imageCreateInfo.format = format; + imageCreateInfo.extent.width = 64; + imageCreateInfo.extent.height = 64; + imageCreateInfo.extent.depth = 1; + imageCreateInfo.mipLevels = 1; + imageCreateInfo.arrayLayers = 1; + imageCreateInfo.samples = VK_SAMPLE_COUNT_1_BIT; + imageCreateInfo.tiling = VK_IMAGE_TILING_OPTIMAL; + imageCreateInfo.usage = VK_IMAGE_USAGE_SAMPLED_BIT | + VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; + imageCreateInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE; + imageCreateInfo.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; + + vkCreateImage(device, &imageCreateInfo, NULL, &image); + + vkGetImageMemoryRequirements(device, + image, + &imageMemoryRequirements); + + // For simplicity, just pick the first compatible memory type. + for (memoryType = 0; memoryType < numMemoryTypes; memoryType++) { + if ((1 << memoryType) & imageMemoryRequirements.memoryTypeBits) { + break; + } + } + + // At least one memory type must be supported given the prior external + // handle capability check. + assert(memoryType < numMemoryTypes); + + // Allocate the external memory object. + memset(&exportMemoryAllocateInfo, 0, sizeof(exportMemoryAllocateInfo)); + exportMemoryAllocateInfo.sType = + VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV; + exportMemoryAllocateInfo.handleTypes = handleType; + if (properties.externalMemoryFeatures & + VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV) { + memset(&dedicatedAllocationInfo, 0, sizeof(dedicatedAllocationInfo)); + dedicatedAllocationInfo.sType = + VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV; + dedicatedAllocationInfo.image = image; + exportMemoryAllocateInfo.pNext = &dedicatedAllocationInfo; + } + memset(&memoryAllocateInfo, 0, sizeof(memoryAllocateInfo)); + memoryAllocateInfo.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO; + memoryAllocateInfo.pNext = &exportMemoryAllocateInfo; + memoryAllocateInfo.allocationSize = imageMemoryRequirements.size; + memoryAllocateInfo.memoryTypeIndex = memoryType; + + vkAllocateMemory(device, &memoryAllocateInfo, NULL, &memory); + + if (!(properties.externalMemoryFeatures & + VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV)) { + vkBindImageMemory(device, image, memory, 0); + } + + // Get the external memory opaque FD handle + vkGetMemoryWin32HandleNV(device, memory, &memoryHnd); + +---------------------------------------- + +=== Version History + + * Revision 1, 2016-08-11 (James Jones) + - Initial draft diff --git a/doc/specs/vulkan/appendices/VK_NV_glsl_shader.txt b/doc/specs/vulkan/appendices/VK_NV_glsl_shader.txt new file mode 100644 index 00000000..4b44fce7 --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_NV_glsl_shader.txt @@ -0,0 +1,66 @@ +== VK_NV_glsl_shader + +*Name String*:: VK_NV_glsl_shader +*Extension Type*:: Device extension +*Registered Extension Number*:: 13 +*Status*:: Draft. +*Last Modified Date*:: 14/02/2016 +*Revision*:: 1 +*IP Status*:: No known IP claims. +*Dependencies*:: + - This extension is written against version 1.0. of the Vulkan API. +*Contributors*:: + - Piers Daniell, NVIDIA +*Contacts*:: + - Piers Daniell (pdaniell 'at' nvidia.com) + +This extension allows GLSL shaders written to the GL_KHR_vulkan_glsl +extension specification to be used instead of SPIR-V. The implementation +will automatically detect which the shader is SPIR-V or GLSL and +compile it appropriatly. + +=== New Object Types + +=== New Enum Constants + + * Extending ename:VkResult: + ** ename:VK_ERROR_INVALID_SHADER_NV + +=== New Enums + +=== New Structures + +=== New Functions + +=== Issues + +=== Examples + +**Example 1** + +Passing in GLSL code + +[source,{basebackend@docbook:C++:cpp}] +---------------------------------------- + char const vss[] = + "#version 450 core\n" + "layout(location = 0) in vec2 aVertex;\n" + "layout(location = 1) in vec4 aColor;\n" + "out vec4 vColor;\n" + "void main()\n" + "{\n" + " vColor = aColor;\n" + " gl_Position = vec4(aVertex, 0, 1);\n" + "}\n" + ; + VkShaderModuleCreateInfo vertexShaderInfo = { VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO }; + vertexShaderInfo.codeSize = sizeof vss; + vertexShaderInfo.pCode = vss; + VkShaderModule vertexShader; + vkCreateShaderModule(device, &vertexShaderInfo, 0, &vertexShader); +---------------------------------------- + +=== Version History + + * Revision 1, 2016-02-14 (Piers Daniell) + - Initial draft diff --git a/doc/specs/vulkan/appendices/VK_NV_win32_keyed_mutex.txt b/doc/specs/vulkan/appendices/VK_NV_win32_keyed_mutex.txt new file mode 100644 index 00000000..4059fed4 --- /dev/null +++ b/doc/specs/vulkan/appendices/VK_NV_win32_keyed_mutex.txt @@ -0,0 +1,197 @@ +== VK_NV_win32_keyed_mutex + +*Name*:: VK_NV_win32_keyed_mutex +*Extension Type*:: Device extension +*Registered Extension Number*:: 59 +*Status*:: Complete +*Last Modified Date*:: 19/08/2016 +*Revision*:: 2 +*IP Status*:: No known IP claims. +*Dependencies*:: + - This extension is written against version 1.0 of the Vulkan API. + - Requires VK_NV_external_memory_capabilities + - Requires VK_NV_external_memory_win32 +*Contributors*:: + - James Jones, NVIDIA + - Carsten Rohde, NVIDIA +*Contact*:: + - Carsten Rohde (crohde 'at' nvidia.com) + +Applications that wish to import Direct3D 11 memory objects into the Vulkan API +may wish to use the native keyed mutex mechanism to synchronize access to the +memory between Vulkan and Direct3D. This extension provides a way for an +application to access the keyed mutex associated with an imported Vulkan memory +object when submitting command buffers to a queue. + +=== New Object Types + +None. + +=== New Enum Constants + +Extending ename:VkStructureType: +** VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV + +=== New Enums + +None. + +=== New Structures + +* Extending slink:VkSubmitInfo: +** slink:VkWin32KeyedMutexAcquireReleaseInfoNV + +=== New Functions + +None. + +=== Issues + +None. + +=== Examples + +[source,{basebackend@docbook:c++:cpp}] +---------------------------------------- + + // + // Import a memory object from Direct3D 11, and synchronize + // access to it in Vulkan using keyed mutex objects. + // + + extern VkPhysicalDevice physicalDevice; + extern VkDevice device; + extern HANDLE sharedNtHandle; + + static const VkFormat format = VK_FORMAT_R8G8B8A8_UNORM; + static const VkExternalMemoryHandleTypeFlagsNV handleType = + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV; + + VkPhysicalDeviceMemoryProperties memoryProperties; + VkExternalImageFormatPropertiesNV properties; + VkExternalMemoryImageCreateInfoNV externalMemoryImageCreateInfo; + VkImageCreateInfo imageCreateInfo; + VkImage image; + VkMemoryRequirements imageMemoryRequirements; + uint32_t numMemoryTypes; + uint32_t memoryType; + VkImportMemoryWin32HandleInfoNV importMemoryInfo; + VkMemoryAllocateInfo memoryAllocateInfo; + VkDeviceMemory mem; + VkResult result; + + // Figure out how many memory types the device supports + vkGetPhysicalDeviceMemoryProperties(physicalDevice, + &memoryProperties); + numMemoryTypes = memoryProperties.memoryTypeCount; + + // Check the external handle type capabilities for the chosen format + // Importable 2D image support with at least 1 mip level, 1 array + // layer, and VK_SAMPLE_COUNT_1_BIT using optimal tiling and supporting + // texturing and color rendering is required. + result = vkGetPhysicalDeviceExternalImageFormatPropertiesNV( + physicalDevice, + format, + VK_IMAGE_TYPE_2D, + VK_IMAGE_TILING_OPTIMAL, + VK_IMAGE_USAGE_SAMPLED_BIT | + VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, + 0, + handleType, + &properties); + + if ((result != VK_SUCCESS) || + !(properties.externalMemoryFeatures & + VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV)) { + abort(); + } + + // Set up the external memory image creation info + memset(&externalMemoryImageCreateInfo, + 0, sizeof(externalMemoryImageCreateInfo)); + externalMemoryImageCreateInfo.sType = + VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV; + externalMemoryImageCreateInfo.handleTypes = handleType; + // Set up the core image creation info + memset(&imageCreateInfo, 0, sizeof(imageCreateInfo)); + imageCreateInfo.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO; + imageCreateInfo.pNext = &externalMemoryImageCreateInfo; + imageCreateInfo.format = format; + imageCreateInfo.extent.width = 64; + imageCreateInfo.extent.height = 64; + imageCreateInfo.extent.depth = 1; + imageCreateInfo.mipLevels = 1; + imageCreateInfo.arrayLayers = 1; + imageCreateInfo.samples = VK_SAMPLE_COUNT_1_BIT; + imageCreateInfo.tiling = VK_IMAGE_TILING_OPTIMAL; + imageCreateInfo.usage = VK_IMAGE_USAGE_SAMPLED_BIT | + VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; + imageCreateInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE; + imageCreateInfo.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; + + vkCreateImage(device, &imageCreateInfo, NULL, &image); + vkGetImageMemoryRequirements(device, + image, + &imageMemoryRequirements); + + // For simplicity, just pick the first compatible memory type. + for (memoryType = 0; memoryType < numMemoryTypes; memoryType++) { + if ((1 << memoryType) & imageMemoryRequirements.memoryTypeBits) { + break; + } + } + + // At least one memory type must be supported given the prior external + // handle capability check. + assert(memoryType < numMemoryTypes); + + // Allocate the external memory object. + memset(&exportMemoryAllocateInfo, 0, sizeof(exportMemoryAllocateInfo)); + exportMemoryAllocateInfo.sType = + VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV; + importMemoryInfo.handleTypes = handleType; + importMemoryInfo.handle = sharedNtHandle; + + memset(&memoryAllocateInfo, 0, sizeof(memoryAllocateInfo)); + memoryAllocateInfo.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO; + memoryAllocateInfo.pNext = &exportMemoryAllocateInfo; + memoryAllocateInfo.allocationSize = imageMemoryRequirements.size; + memoryAllocateInfo.memoryTypeIndex = memoryType; + + vkAllocateMemory(device, &memoryAllocateInfo, NULL, &mem); + + vkBindImageMemory(device, image, mem, 0); + + ... + + const uint64_t acquireKey = 1; + const uint32_t timeout = INFINITE; + const uint64_t releaseKey = 2; + + VkWin32KeyedMutexAcquireReleaseInfoNV keyedMutex = + { VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV }; + keyedMutex.acquireCount = 1; + keyedMutex.pAcquireSyncs = &mem; + keyedMutex.pAcquireKeys = &acquireKey; + keyedMutex.pAcquireTimeoutMilliseconds = &timeout; + keyedMutex.releaseCount = 1; + keyedMutex.pReleaseSyncs = &mem; + keyedMutex.pReleaseKeys = &releaseKey; + + VkSubmitInfo submit_info = { VK_STRUCTURE_TYPE_SUBMIT_INFO, &keyedMutex }; + submit_info.commandBufferCount = 1; + submit_info.pCommandBuffers = &cmd_buf; + vkQueueSubmit(queue, 1, &submit_info, VK_NULL_HANDLE); + +---------------------------------------- + +=== Version History + + * Revision 2, 2016-08-11 (James Jones) + - Updated sample code based on the NV external memory extensions. + - Renamed from NVX to NV extension. + - Added Overview and Description sections. + - Updated sample code to use the NV external memory extensions. + + * Revision 1, 2016-06-14 (Carsten Rohde) + - Initial draft. diff --git a/doc/specs/vulkan/appendices/boilerplate.txt b/doc/specs/vulkan/appendices/boilerplate.txt index 5cab4d89..7efd8bc1 100644 --- a/doc/specs/vulkan/appendices/boilerplate.txt +++ b/doc/specs/vulkan/appendices/boilerplate.txt @@ -214,6 +214,20 @@ include::../api/defines/VK_DEFINE_NON_DISPATCHABLE_HANDLE.txt[] Most Vulkan handle types, such as slink:VkBuffer, are non-dispatchable. +[NOTE] +.Note +================== +The +vulkan.h+ header allows the dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE definition +to be overridden by the application. If dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE is +already defined when the +vulkan.h+ header is compiled the default definition is skipped. +This allows the application to define a binary-compatible custom handle which may: +provide more type-safety or other features needed by the application. Behavior is +undefined if the application defines a non-binary-compatible handle and may: result +in memory corruption or application termination. Binary compatibility is platform +dependent so the application must: be careful if it overrides the default +dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE definition. +================== + // refEnd VK_DEFINE_NON_DISPATCHABLE_HANDLE VkBuffer // refBegin VK_NULL_HANDLE - Reserved non-valid object handle diff --git a/doc/specs/vulkan/appendices/invariance.txt b/doc/specs/vulkan/appendices/invariance.txt index d02417c5..2a289f3f 100644 --- a/doc/specs/vulkan/appendices/invariance.txt +++ b/doc/specs/vulkan/appendices/invariance.txt @@ -22,6 +22,11 @@ apply when using shaders containing side effects (image and buffer variable stores and atomic operations), because these memory operations are not guaranteed to be processed in a defined order. +ifdef::VK_AMD_rasterization_order[] +The repeatability requirement does not apply for rendering done using a +graphics pipeline that uses ename:VK_RASTERIZATION_ORDER_RELAXED_AMD. +endif::VK_AMD_rasterization_order[] + One purpose of repeatability is avoidance of visual artifacts when a doublebuffered scene is redrawn. If rendering is not repeatable, swapping between two buffers rendered with the same command sequence may: result in diff --git a/doc/specs/vulkan/appendices/spirvenv.txt b/doc/specs/vulkan/appendices/spirvenv.txt index af137af3..88b00ade 100644 --- a/doc/specs/vulkan/appendices/spirvenv.txt +++ b/doc/specs/vulkan/appendices/spirvenv.txt @@ -76,6 +76,22 @@ to that feature must: also be supported. | code:MultiViewport | <> |==== +ifdef::VK_AMD_shader_explicit_vertex_parameter[] +The application can: pass a SPIR-V module to flink:vkCreateShaderModule that +uses the +SPV_AMD_shader_explicit_vertex_parameter+ SPIR-V extension. +endif::VK_AMD_shader_explicit_vertex_parameter[] + +ifdef::VK_AMD_gcn_shader[] +The application can: +pass a SPIR-V module to flink:vkCreateShaderModule that uses the +SPV_AMD_gcn_shader+ +SPIR-V extension. +endif::VK_AMD_gcn_shader[] + +ifdef::VK_AMD_shader_trinary_minmax[] +The application can: pass a SPIR-V module to flink:vkCreateShaderModule that +uses the +SPV_AMD_shader_trinary_minmax+ SPIR-V extension. +endif::VK_AMD_shader_trinary_minmax[] + The application mustnot: pass a SPIR-V module containing any of the following to flink:vkCreateShaderModule: @@ -205,12 +221,17 @@ enable additional functionality beyond what code:OpUMod provides. [[spirvenv-image-formats]] -Compatibility Between SPIR-V Image Formats And Vulkan Formats -------------------------------------------------------------- +.Compatibility Between SPIR-V Image Formats And Vulkan Formats +Images which are read from or written to by shaders must: have SPIR-V image +formats compatible with the Vulkan image formats backing the image under the +circumstances described for <>. The compatibile formats are: + +.SPIR-V and Vulkan Image Format Compatibility [cols="2*", options="header"] |=== -|SPIR-V Image Format |Vulkan Format +|SPIR-V Image Format |Compatible Vulkan Format |code:Rgba32f |ename:VK_FORMAT_R32G32B32A32_SFLOAT |code:Rgba16f |ename:VK_FORMAT_R16G16B16A16_SFLOAT |code:R32f |ename:VK_FORMAT_R32_SFLOAT diff --git a/doc/specs/vulkan/buildRelease b/doc/specs/vulkan/buildRelease deleted file mode 100755 index 33df0fed..00000000 --- a/doc/specs/vulkan/buildRelease +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/sh -# This script builds a full release package including XHTML and PDF -# versions of both master and wsi_extensions branches. Other files -# in the release directory are removed, including man pages, -# XHTML chunked, HTML, validity output, etc. -# -# Both branches must be fully committed and up to date when the -# script is run, with no outstanding un-added / un-committed -# files. Both branches must have fully regenerated all -# automatically-regeneratable files. -# -# After completing the build, the current branch is set to 'master' -# and suggestions for creating tags are printed out. -# -# Essentially replaced by genRelease - -# Root of the Vulkan git repo -root=/home/tree/git/vulkan - -# Directory with vk.xml and generation tools -xml=$root/src/spec - -# Directory with spec sources -spec=$root/doc/specs/vulkan - -# Branch name for WSI -wsibranch=wsi_extensions - -##################### master Branch ##################### - -echo "**** GENERATING MASTER BRANCH ****" -git checkout master - -echo "**** AUTOGENERATING HEADERS AND SPEC INCLUDE FILES ****" -cd $xml -make OUTDIR=$outdir clobber full_install - -echo "**** CLEANING SPEC ****" -cd $spec -outdir=$root/out -rm -rf $outdir/man $outdir/xhtml $outdir/pdf $outdir/chunked $outdir/vkspec.html -rm specversion.txt - -echo "**** GENERATING SPEC ****" -make specversion.txt -make OUTDIR=$outdir xhtml pdf -rm $outdir/pdf/vkspec.xml -git checkout -- specversion.txt - -##################### wsi_extensions Branch ##################### - -echo "**** GENERATING WSI BRANCH ****" -git checkout $wsibranch - -echo "**** AUTOGENERATING WSI HEADERS AND SPEC INCLUDE FILES ****" -cd $xml -make clobber -make full_install - -echo "**** CLEANING WSI SPEC ****" -cd $spec -outdir=$root/out/wsi -rm -rf $outdir/man $outdir/xhtml $outdir/pdf $outdir/chunked $outdir/vkspec.html -rm specversion.txt - -echo "**** GENERATING WSI SPEC ****" -make specversion.txt -make OUTDIR=$outdir xhtml pdf -rm $outdir/pdf/vkspec.xml -git checkout -- specversion.txt - -##################### Post-generation cleanup ##################### - -git checkout master -echo "*** Spec generaion complete, on master branch" -echo "To tag the spec branches, do the following:" - -date=`date +%Y%m%d` -echo git checkout master -echo git tag -a -m '"Tag core API specification for' $date 'release"' v1.0-core-$date - -echo git checkout $wsibranch -echo git tag -a -m '"Tag core+WSI API specification for' $date 'release"' v1.0-core+wsi-$date diff --git a/doc/specs/vulkan/chapters/VK_EXT_debug_marker.txt b/doc/specs/vulkan/chapters/VK_EXT_debug_marker.txt new file mode 100644 index 00000000..70c48ee0 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_EXT_debug_marker.txt @@ -0,0 +1,207 @@ += Debugging + +Given the complexity of Vulkan there is a strong need for verbose debugging +information to aid the application developer in tracking down errors in the +application's use of Vulkan, particularly in combination with an external +debugger or profiler. + +This extension adds five new commands that allow a flexible way for debugging +and validation layers to receive annotation and debug information. An +application enables this extension by including ``VK_EXT_debug_marker'' in the +list of pname:ppEnabledExtensionNames at flink:vkCreateDevice. The Vulkan +implementation including layers indicating support will return +VK_EXT_debug_marker in the extension list queried via +flink:vkEnumerateDeviceExtensionProperties. + +Details of the commands are listed in two sections, ``Object Annotation'' and +``Command Buffer Markers'' respectively. Object Annotation allows the +application to associate a name or binary data with a Vulkan object, while +command buffer markers provide the developer with a way of associating logical +elements of the scene with commands in the command buffer. + + +== Object Annotation + +The commands in this section allow application developers to associate +user-defined information with Vulkan objects at will. + +An object can be given a user-friendly name by calling: + +include::../api/protos/vkDebugMarkerSetObjectNameEXT.txt[] + + * pname:device is the device that created the object. + * pname:pNameInfo is a pointer to an instance of the + slink:VkDebugMarkerObjectNameInfoEXT structure specifying the parameters + of the name to set on the object. + +include::../validity/protos/vkDebugMarkerSetObjectNameEXT.txt[] + +The sname:VkDebugMarkerObjectNameInfoEXT structure is defined as: + +include::../api/structs/VkDebugMarkerObjectNameInfoEXT.txt[] + + * pname:sType is the type of this structure and must: be + ename:VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT. + * pname:pNext is `NULL` or a pointer to an extension-specific structure. + * pname:objectType is the type of the object to be named. Object types are + defined by ename:VkDebugReportObjectTypeEXT. + * pname:object is the object to be named. + * pname:pObjectName is a null-terminated UTF-8 string specifying the name to + apply to pname:object. + +include::../validity/structs/VkDebugMarkerObjectNameInfoEXT.txt[] + +Applications may: change the name associated with an object simply by +calling fname:vkDebugMarkerSetObjectNameEXT again with a new string. To +remove a previously set name, pName should be set to an empty string. + +In addition to setting a name for an object, debugging and validation layers +may have uses for additional binary data on a per-object basis that has no +other place in the Vulkan API. For example, a sname:VkShaderModule could +have additional debugging data attached to it to aid in offline shader +tracing. + +Arbitrary data can be attached to an object by calling: + +include::../api/protos/vkDebugMarkerSetObjectTagEXT.txt[] + + * pname:device is the device that created the object. + * pname:pTagInfo is a pointer to an instance of the + slink:VkDebugMarkerObjectTagInfoEXT structure specifying the parameters + of the tag to attach to the object. + +include::../validity/protos/vkDebugMarkerSetObjectTagEXT.txt[] + +The sname:VkDebugMarkerObjectTagInfoEXT structure is defined as: + +include::../api/structs/VkDebugMarkerObjectTagInfoEXT.txt[] + + * pname:sType is the type of this structure and must: be + ename:VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT. + * pname:pNext is `NULL` or a pointer to an extension-specific structure. + * pname:objectType is the type of the object to be named. Object types are + defined by ename:VkDebugReportObjectTypeEXT. + * pname:object is the object to be tagged. + * pname:tagName is a numerical identifier of the tag. + * pname:tagSize is the number of bytes of data to attach to the object. + * pname:pTag is an array of pname:tagSize bytes containing the data to be + associated with the object. + +include::../validity/structs/VkDebugMarkerObjectTagInfoEXT.txt[] + +The pname:tagName parameter gives a name or identifier to the type of data +being tagged. This can be used by debugging layers to easily filter for only +data that can be used by that implementation. + +Both of the above structs contain a pname:objectType member of type +ename:VkDebugReportObjectTypeEXT to determine what kind of object is passed +in the pname:object parameter. The enum is defined as: + +include::../api/enums/VkDebugReportObjectTypeEXT.txt[] + +The possible values are: + + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT is an unknown object. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT is a sname:VkInstance. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT is a sname:VkPhysicalDevice. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT is a sname:VkDevice. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT is a sname:VkQueue. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT is a sname:VkSemaphore. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT is a sname:VkCommandBuffer. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT is a sname:VkFence. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT is a sname:VkDeviceMemory. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT is a sname:VkBuffer. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT is a sname:VkImage. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT is a sname:VkEvent. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT is a sname:VkQueryPool. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT is a sname:VkBufferView. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT is a sname:VkImageView. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT is a sname:VkShaderModule. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT is a sname:VkPipelineCache. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT is a sname:VkPipelineLayout. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT is a sname:VkRenderPass. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT is a sname:VkPipeline. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT is a sname:VkDescriptorSetLayout. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT is a sname:VkSampler. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT is a sname:VkDescriptorPool. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT is a sname:VkDescriptorSet. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT is a sname:VkFramebuffer. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT is a sname:VkCommandPool. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT is a sname:VkSurfaceKHR. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT is a sname:VkSwapchainKHR. + * ename:VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT is a sname:VkDebugReportCallbackEXT. + + +== Command Buffer Markers + +Typical Vulkan applications will submit many command buffers in each frame, +with each command buffer containing a large number of individual commands. +Being able to logically annotate regions of command buffers that belong +together as well as hierarchically subdivide the frame is important to +a developer's ability to navigate the commands viewed holistically. + +The marker commands fname:vkCmdDebugMarkerBeginEXT and +fname:vkCmdDebugMarkerEndEXT define regions of a series of commands that are +grouped together, and they can be nested to create a hierarchy. The +fname:vkCmdDebugMarkerInsertEXT command allows insertion of a single label +within a command buffer. + +A marker region can be opened by calling: + +include::../api/protos/vkCmdDebugMarkerBeginEXT.txt[] + + * pname:commandBuffer is the command buffer into which the command is + recorded. + * pname:pMarkerInfo is a pointer to an instance of the + slink:VkDebugMarkerMarkerInfoEXT structure specifying the parameters + of the marker region to open. + +include::../validity/protos/vkCmdDebugMarkerBeginEXT.txt[] + +The sname:VkDebugMarkerMarkerInfoEXT structure is defined as: + +include::../api/structs/VkDebugMarkerMarkerInfoEXT.txt[] + + * pname:sType is the type of this structure and must: be + ename:VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT. + * pname:pNext is `NULL` or a pointer to an extension-specific structure. + * pname:pMarkerName is a pointer to a null-terminated UTF-8 string that + contains the name of the marker. + * pname:color is an optional RGBA color value that can be associated with + the marker. A particular implementation may: choose to ignore this color + value. The values contain RGBA values in order, in the range 0.0 to 1.0. + If all elements in pname:color are set to 0.0 then it is ignored. + +include::../validity/structs/VkDebugMarkerMarkerInfoEXT.txt[] + +A marker region can be closed by calling: + +include::../api/protos/vkCmdDebugMarkerEndEXT.txt[] + + * pname:commandBuffer is the command buffer into which the command is + recorded. + +include::../validity/protos/vkCmdDebugMarkerEndEXT.txt[] + +An application may: open a marker region in one command buffer and close it +in another, or otherwise split marker regions across multiple command +buffers or multiple queue submissions. When viewed from the linear series of +submissions to a single queue, the calls to fname:vkCmdDebugMarkerBeginEXT +and fname:vkCmdDebugMarkerEndEXT must: be matched and balanced. + +Any calls to fname:vkCmdDebugMarkerBeginEXT within a secondary command +buffer must have a matching fname:vkCmdDebugMarkerEndEXT in that same +command buffer, and marker regions begun outside of the secondary command +buffer must not be ended inside it. + +A single marker label can be inserted into a command buffer by calling: + +include::../api/protos/vkCmdDebugMarkerInsertEXT.txt[] + + * pname:commandBuffer is the command buffer into which the command is + recorded. + * pname:pMarkerInfo is a pointer to an instance of the + slink:VkDebugMarkerMarkerInfoEXT structure specifying the parameters + of the marker to insert. + +include::../validity/protos/vkCmdDebugMarkerInsertEXT.txt[] diff --git a/doc/specs/vulkan/chapters/VK_IMG_filter_cubic/filter_cubic_sampled_bit_description.txt b/doc/specs/vulkan/chapters/VK_IMG_filter_cubic/filter_cubic_sampled_bit_description.txt new file mode 100644 index 00000000..a4a3b3ca --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_IMG_filter_cubic/filter_cubic_sampled_bit_description.txt @@ -0,0 +1,9 @@ +ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG:: + sname:VkImage can: be used with a sampler that has either of + pname:magFilter or pname:minFilter set to ename:VK_FILTER_CUBIC_IMG, or be + the source image for a blit with pname:filter set to + ename:VK_FILTER_CUBIC_IMG. This bit must: only be exposed for formats that + also support the ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT. If the format + being queried is a depth/stencil format, this only indicates that the + depth aspect is cubic filterable. + \ No newline at end of file diff --git a/doc/specs/vulkan/chapters/VK_IMG_filter_cubic/filter_cubic_texel_filtering.txt b/doc/specs/vulkan/chapters/VK_IMG_filter_cubic/filter_cubic_texel_filtering.txt new file mode 100644 index 00000000..3d19f252 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_IMG_filter_cubic/filter_cubic_texel_filtering.txt @@ -0,0 +1,64 @@ +:stem: + +Within a miplevel, etext:CUBIC_IMG filtering computes a weighted average of 16 +(for 2D), or 4 (for 1D) texel values, using the weights computed during texel +selection. + +Catmull-Rom Spine interpolation of four points is defined by the equation: + +[latexmath] +++++++++++++++++++++++++ +\begin{align*} +cinterp(\tau_0, \tau_1, \tau_2, \tau_3, \omega) = +\frac{1}{2} +\begin{bmatrix}1 & \omega & \omega^2 & \omega^3 \end{bmatrix} +\cdot +\begin{bmatrix} + 0 & 2 & 0 & 0 \\ +-1 & 0 & 1 & 0 \\ + 2 & -5 & 4 & 1 \\ +-1 & 3 & -3 & 1 +\end{bmatrix} +\cdot +\begin{bmatrix} +\tau_0 \\ +\tau_1 \\ +\tau_2 \\ +\tau_3 +\end{bmatrix} +\end{align*} +++++++++++++++++++++++++ + +Using the values calculated in texel selection, this equation is applied to the +four points in 1D images. For 2D images, the this equation is evaluated first +for each row, and the result is then fed back into the equation and +interpolated again: + +[latexmath] +++++++++++++++++++++++++ +\begin{align*} +\tau_{1D}[level] = cinterp(\tau_{i0}[level], \tau_{i1}[level], \tau_{i2}[level], \tau_{i3}[level], \alpha) +\end{align*} +++++++++++++++++++++++++ + +[latexmath] +++++++++++++++++++++++++ +\begin{align*} +\tau_{j0}[level] = cinterp(\tau_{i0j0}[level], \tau_{i1j0}[level], \tau_{i2j0}[level], \tau_{i3j0}[level], \alpha) \\ +\tau_{j1}[level] = cinterp(\tau_{i0j1}[level], \tau_{i1j1}[level], \tau_{i2j1}[level], \tau_{i3j1}[level], \alpha) \\ +\tau_{j2}[level] = cinterp(\tau_{i0j2}[level], \tau_{i1j2}[level], \tau_{i2j2}[level], \tau_{i3j2}[level], \alpha) \\ +\tau_{j3}[level] = cinterp(\tau_{i0j3}[level], \tau_{i1j3}[level], \tau_{i2j3}[level], \tau_{i3j3}[level], \alpha) \\ +\tau_{2D}[level] = cinterp(\tau_{j0}[level], \tau_{j1}[level], \tau_{j2}[level], \tau_{j3}[level], \beta) +\end{align*} +++++++++++++++++++++++++ + +[latexmath] +++++++++++++++++++++++++ +\begin{align*} +\tau[level] &= + \begin{cases} + \tau_{2D}[level], &\textrm{for 2D image} \\ + \tau_{1D}[level], &\textrm{for 1D image} + \end{cases} +\end{align*} +++++++++++++++++++++++++ diff --git a/doc/specs/vulkan/chapters/VK_IMG_filter_cubic/filter_cubic_texel_selection.txt b/doc/specs/vulkan/chapters/VK_IMG_filter_cubic/filter_cubic_texel_selection.txt new file mode 100644 index 00000000..5d8b994e --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_IMG_filter_cubic/filter_cubic_texel_selection.txt @@ -0,0 +1,16 @@ +Cubic filtering (ename:VK_FILTER_CUBIC_IMG) computes a set of neighboring +coordinates which bound the unnormalized coordinates. The integer texel +coordinates are combinations of +latexmath:[$i_0, i_1, i_2\textrm{ or }i_3,j_0, j_1, j_2\textrm{ or }j_3$], +as well as weights latexmath:[$\alpha and \beta$]. + +[latexmath] +++++++++++++++++++++++++ +\begin{align*} +i_{0} & = \left \lfloor u - \frac{3}{2} \right \rfloor & i_{1} & = i_{0} + 1 & i_{2} & = i_{1} + 1 & i_{3} & = i_{2} + 1 \\ +j_{0} & = \left \lfloor u - \frac{3}{2} \right \rfloor & j_{1} & = j_{0} + 1 & j_{2} & = j_{1} + 1 & j_{3} & = j_{2} + 1 \\ +\\ +\alpha & = \operatorname{frac} \left ( u - \frac{1}{2} \right ) \\ +\beta & = \operatorname{frac} \left ( v - \frac{1}{2} \right ) +\end{align*} +++++++++++++++++++++++++ diff --git a/doc/specs/vulkan/chapters/VK_IMG_filter_cubic/supported_formats.txt b/doc/specs/vulkan/chapters/VK_IMG_filter_cubic/supported_formats.txt new file mode 100644 index 00000000..74a69889 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_IMG_filter_cubic/supported_formats.txt @@ -0,0 +1,44 @@ +ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG must: be supported +for the following formats: + * 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_SRGB + * VK_FORMAT_R8G8_UNORM + * VK_FORMAT_R8G8_SNORM + * VK_FORMAT_R8G8_SRGB + * VK_FORMAT_R8G8B8_UNORM + * VK_FORMAT_R8G8B8_SNORM + * VK_FORMAT_R8G8B8_SRGB + * VK_FORMAT_B8G8R8_UNORM + * VK_FORMAT_B8G8R8_SNORM + * VK_FORMAT_B8G8R8_SRGB + * VK_FORMAT_R8G8B8A8_UNORM + * VK_FORMAT_R8G8B8A8_SNORM + * VK_FORMAT_R8G8B8A8_SRGB + * VK_FORMAT_B8G8R8A8_UNORM + * VK_FORMAT_B8G8R8A8_SNORM + * 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 + +If ETC2 compressed formats are supported, the following additional formats must: +support ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG: + * 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 diff --git a/doc/specs/vulkan/chapters/VK_KHR_android_surface/platformCpp_android.txt b/doc/specs/vulkan/chapters/VK_KHR_android_surface/platformCpp_android.txt new file mode 100644 index 00000000..cbc587a2 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_android_surface/platformCpp_android.txt @@ -0,0 +1,4 @@ +[[platformCpp_android,platformCpp_android]] + + * **VK_USE_PLATFORM_ANDROID_KHR** - Android + diff --git a/doc/specs/vulkan/chapters/VK_KHR_android_surface/platformCreateSurface_android.txt b/doc/specs/vulkan/chapters/VK_KHR_android_surface/platformCreateSurface_android.txt new file mode 100644 index 00000000..960bd634 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_android_surface/platformCreateSurface_android.txt @@ -0,0 +1,61 @@ +[[platformCreateSurface_android,platformCreateSurface_android]] + +=== Android Platform + +// refBegin vkCreateAndroidSurfaceKHR - Create a slink:VkSurfaceKHR object for an Android native window + +To create a sname:VkSurfaceKHR object for an Android native window, call: + +include::../../api/protos/vkCreateAndroidSurfaceKHR.txt[] + + * pname:instance is the instance to associate the surface with. + * pname:pCreateInfo is a pointer to an instance of the + sname:VkAndroidSurfaceCreateInfoKHR structure containing parameters + affecting the creation of the surface object. + * pname:pAllocator is the allocator used for host memory allocated for the + surface object when there is no more specific allocator available (see + <>). + * pname:pSurface points to a sname:VkSurfaceKHR handle in which the + created surface object is returned. + +During the lifetime of a surface created using a particular ANativeWindow +handle any attempts to create another surface for the same ANativeWindow and +any attempts to connect to the same ANativeWindow through other platform +mechanisms will fail. + +[NOTE] +.NOTE +==== +In particular, only one sname:VkSurfaceKHR can: exist at a time for a given +window. Similarly, a native window cannot: be used by both a +sname:VkSurfaceKHR and EGLSurface simultaneously. +==== + +If successful, fname:vkCreateAndroidSurfaceKHR increments the +ANativeWindow's reference count, and fname:vkDestroySurfaceKHR will +decrement it. + +On Android, when a swapchain's pname:imageExtent does not match the +surface's pname:currentExtent, the swapchain images will be scaled to the +surface's dimensions during presentation. pname:minImageExtent is +latexmath:[$(1, 1)$], and pname:maxImageExtent is the maximum image size +supported by the consumer. For the system compositor, pname:currentExtent is +the window size (i.e. the consumer's preferred size). + +include::../../validity/protos/vkCreateAndroidSurfaceKHR.txt[] + +// refBegin VkAndroidSurfaceCreateInfoKHR - Structure specifying parameters of a newly created Android surface object + +The sname:VkAndroidSurfaceCreateInfoKHR structure is defined as: + +include::../../api/structs/VkAndroidSurfaceCreateInfoKHR.txt[] + + * pname:sType is the type of this structure and must: be + ename:VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR. + * pname:pNext is `NULL` or a pointer to an extension-specific structure. + * pname:flags is reserved for future use. + * pname:window is a pointer to the ANativeWindow to associate the surface + with. + +include::../../validity/structs/VkAndroidSurfaceCreateInfoKHR.txt[] + diff --git a/doc/specs/vulkan/chapters/VK_KHR_android_surface/platformQuerySupport_android.txt b/doc/specs/vulkan/chapters/VK_KHR_android_surface/platformQuerySupport_android.txt new file mode 100644 index 00000000..e0b74db8 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_android_surface/platformQuerySupport_android.txt @@ -0,0 +1,8 @@ +[[platformQuerySupport_android,platformQuerySupport_android]] + +=== Android Platform + +On Android, all physical devices and queue families must: be capable +of presentation with any native window. As a result there is no +Android-specific query for these capabilities. + diff --git a/doc/specs/vulkan/chapters/VK_KHR_display/display.txt b/doc/specs/vulkan/chapters/VK_KHR_display/display.txt new file mode 100644 index 00000000..f5be3b4c --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_display/display.txt @@ -0,0 +1,437 @@ +[[display,display]] + +== Presenting Directly to Display Devices + +In some environments applications can: also present Vulkan rendering +directly to display devices without using an intermediate windowing system. +This can: be useful for embedded applications, or implementing the +rendering/presentation backend of a windowing system using Vulkan. The +VK_EXT_KHR_display extension provides the functionality necessary to +enumerate display devices and create sname:VkSurface objects that target +displays. + + +=== Display Enumeration + +// refBegin vkGetPhysicalDeviceDisplayPropertiesKHR - Query information about the available displays + +Various functions are provided for enumerating the available display +devices present on a Vulkan physical device. To query information about +the available displays, call: + +include::../../api/protos/vkGetPhysicalDeviceDisplayPropertiesKHR.txt[] + + * pname:physicalDevice is a physical device. + * pname:pPropertyCount is a pointer to an integer related to the number of + display devices available or queried, as described below. + * pname:pProperties is either `NULL` or a pointer to an array of + sname:VkDisplayPropertiesKHR structures. + +If pname:pProperties is `NULL`, then the number of display devices available +for pname:physicalDevice is returned in pname:pPropertyCount. Otherwise, +pname:pPropertyCount must: point to a variable set by the user to the number +of elements in the pname:pProperties array, and on return the variable is +overwritten with the number of structures actually written to +pname:pProperties. If the value of pname:pPropertyCount is less than the +number of display devices for pname:physicalDevice, at most +pname:pPropertyCount structures will be written. +If pname:pPropertyCount is smaller than the number of display devices +available for pname:physicalDevice, ename:VK_INCOMPLETE will be returned +instead of ename:VK_SUCCESS to indicate that not all the available values +were returned. + +include::../../validity/protos/vkGetPhysicalDeviceDisplayPropertiesKHR.txt[] + +// refBegin VkDisplayPropertiesKHR - Structure describing an available display device + +The sname:VkDisplayPropertiesKHR structure is defined as: + +include::../../api/structs/VkDisplayPropertiesKHR.txt[] + + * pname:display is a handle that is used to refer to the display described + here. This handle will be valid for the lifetime of the Vulkan + instance. + * pname:displayName is a pointer to a NULL-terminated string containing + the name of the display. Generally, this will be the name provided by + the display's EDID. It can: be `NULL` if no suitable name is available. + * pname:physicalDimensions describes the physical width and height of the + visible portion of the display, in millimeters. + * pname:physicalResolution describes the physical, native, or preferred + resolution of the display. + +[NOTE] +.Note +==== +For devices which have no natural value to +return here, implementations should: return the maximum resolution +supported. +==== + + * pname:supportedTransforms tells which transforms are supported by this + display. This will contain one or more of the bits from + sname:VkSurfaceTransformFlagsKHR. + * pname:planeReorderPossible tells whether the planes on this display can: + have their z order changed. If this is ename:VK_TRUE, the application + can: re-arrange the planes on this display in any order relative to each + other. + * pname:persistentContent tells whether the display supports + self-refresh/internal buffering. If this is true, the application can: + submit persistent present operations on swapchains created against this + display. + +[NOTE] +.Note +==== +Persistent presents may: have higher latency, and may: use less power when +the screen content is updated infrequently, or when only a portion of the +screen needs to be updated in most frames. +==== + +include::../../validity/structs/VkDisplayPropertiesKHR.txt[] + + +==== Display Planes + +// refBegin vkGetPhysicalDeviceDisplayPlanePropertiesKHR - Query the plane properties + +Images are presented to individual planes on a display. Devices must: +support at least one plane on each display. Planes can: be stacked and +blended to composite multiple images on one display. Devices may: support +only a fixed stacking order and fixed mapping between planes and displays, +or they may: allow arbitrary application specified stacking orders and +mappings between planes and displays. To query the properties of device +display planes, call: + +include::../../api/protos/vkGetPhysicalDeviceDisplayPlanePropertiesKHR.txt[] + + * pname:physicalDevice is a physical device. + * pname:pPropertyCount is a pointer to an integer related to the number of + display planes available or queried, as described below. + * pname:pProperties is either `NULL` or a pointer to an array of + sname:VkDisplayPlanePropertiesKHR structures. + +If pname:pProperties is `NULL`, then the number of display planes available +for pname:physicalDevice is returned in pname:pPropertyCount. Otherwise, +pname:pPropertyCount must: point to a variable set by the user to the number +of elements in the pname:pProperties array, and on return the variable is +overwritten with the number of structures actually written to +pname:pProperties. If the value of pname:pPropertyCount is less than the +number of display planes for pname:physicalDevice, at most +pname:pPropertyCount structures will be written. + +include::../../validity/protos/vkGetPhysicalDeviceDisplayPlanePropertiesKHR.txt[] + +// refBegin VkDisplayPlanePropertiesKHR - Structure describing display plane properties + +The sname:VkDisplayPlanePropertiesKHR structure is defined as: + +include::../../api/structs/VkDisplayPlanePropertiesKHR.txt[] + + * pname:currentDisplay is the handle of the display the plane is currently + associated with. If the plane is not currently attached to any displays, + this will be sname:VK_NULL_HANDLE. + * pname:currentStackIndex is the current z-order of the plane. This will + be between 0 and the value returned by + fname:vkGetPhysicalDeviceDisplayPlanePropertiesKHR() in + pname:pPropertyCount. + +include::../../validity/structs/VkDisplayPlanePropertiesKHR.txt[] + +// refBegin vkGetDisplayPlaneSupportedDisplaysKHR - Query the list of displays a plane supports + +To determine which displays a plane is usable with, call + +include::../../api/protos/vkGetDisplayPlaneSupportedDisplaysKHR.txt[] + + * pname:physicalDevice is a physical device. + * pname:planeIndex is the plane which the application wishes to use, and + must: be in the range latexmath:[$[0, \mathit{physical device plane + count}-1\]$]. + * pname:pDisplayCount is a pointer to an integer related to the number of + display planes available or queried, as described below. + * pname:pDisplays is either `NULL` or a pointer to an array of + sname:VkDisplayKHR structures. + +If pname:pDisplays is `NULL`, then the number of displays usable with the +specified pname:planeIndex for pname:physicalDevice is returned in +pname:pDisplayCount. Otherwise, pname:pDisplayCount must: point to a +variable set by the user to the number of elements in the pname:pDisplays +array, and on return the variable is overwritten with the number of +structures actually written to pname:pDisplays. If the value of +pname:pDisplayCount is less than the number of display planes for +pname:physicalDevice, at most pname:pDisplayCount structures will be +written. If pname:pDisplayCount is smaller than the number of displays +usable with the specified pname:planeIndex for pname:physicalDevice, +ename:VK_INCOMPLETE will be returned instead of ename:VK_SUCCESS to indicate +that not all the available values were returned. + +include::../../validity/protos/vkGetDisplayPlaneSupportedDisplaysKHR.txt[] + +Additional properties of displays are queried using specialized query +functions. + + +==== Display Modes + +// refBegin vkGetDisplayModePropertiesKHR - Query the set of mode properties supported by the display + +Each display has one or more supported modes associated with it +by default. These built-in modes are queried by calling: + +include::../../api/protos/vkGetDisplayModePropertiesKHR.txt[] + + * pname:physicalDevice is the physical device associated with + pname:display. + * pname:display is the display to query. + * pname:pPropertyCount is a pointer to an integer related to the number of + display modes available or queried, as described below. + * pname:pProperties is either `NULL` or a pointer to an array of + sname:VkDisplayModePropertiesKHR structures. + +If pname:pProperties is `NULL`, then the number of display modes available +on the specified pname:display for pname:physicalDevice is returned in +pname:pPropertyCount. Otherwise, pname:pPropertyCount must: point to a +variable set by the user to the number of elements in the pname:pProperties +array, and on return the variable is overwritten with the number of +structures actually written to pname:pProperties. If the value of +pname:pPropertyCount is less than the number of display modes for +pname:physicalDevice, at most pname:pPropertyCount structures will be +written. If pname:pPropertyCount is smaller than the number of display modes +available on the specified pname:display for pname:physicalDevice, +ename:VK_INCOMPLETE will be returned instead of ename:VK_SUCCESS to indicate +that not all the available values were returned. + +include::../../validity/protos/vkGetDisplayModePropertiesKHR.txt[] + +// refBegin VkDisplayModePropertiesKHR - Structure describing display mode properties + +The sname:VkDisplayModePropertiesKHR structure is defined as: + +include::../../api/structs/VkDisplayModePropertiesKHR.txt[] + + * pname:displayMode is a handle to the display mode described in this + structure. This handle will be valid for the lifetime of the Vulkan + instance. + * pname:parameters is a sname:VkDisplayModeParametersKHR structure + describing the display parameters associated with pname:displayMode. + +include::../../validity/structs/VkDisplayModePropertiesKHR.txt[] + +// refBegin VkDisplayModeParametersKHR - Structure describing display parameters associated with a display mode + +The sname:VkDisplayModeParametersKHR structure is defined as: + +include::../../api/structs/VkDisplayModeParametersKHR.txt[] + + * pname:visibleRegion is the 2D extents of the visible region. + * pname:refreshRate is a basetype:uint32_t that is the number of times the + display is refreshed each second multiplied by 1000. + +[NOTE] +.Note +==== +For example, a 60Hz display mode would report a pname:refreshRate of 60,000. +==== + +include::../../validity/structs/VkDisplayModeParametersKHR.txt[] + +// refBegin vkCreateDisplayModeKHR - Create a display mode + +Additional modes may: also be created by calling: + +include::../../api/protos/vkCreateDisplayModeKHR.txt[] + + * pname:physicalDevice is the physical device associated with + pname:display. + * pname:display is the display to create an additional mode for. + * pname:pCreateInfo is a slink:VkDisplayModeCreateInfoKHR structure + describing the new mode to create. + * pname:pAllocator is the allocator used for host memory allocated for the + surface object when there is no more specific allocator available + (see <>). + * pname:pMode returns the handle of the mode created. + +include::../../validity/protos/vkCreateDisplayModeKHR.txt[] + +// refBegin VkDisplayModeCreateInfoKHR - Structure specifying parameters of a newly created display mode object + +The sname:VkDisplayModeCreateInfoKHR structure is defined as: + +include::../../api/structs/VkDisplayModeCreateInfoKHR.txt[] + + * pname:sType is the type of this structure and must: be + ename:VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR. + * pname:pNext is `NULL` or a pointer to an extension-specific structure. + * pname:flags is reserved for future use, and must: be zero. + * pname:parameters is a sname:VkDisplayModeParametersKHR structure + describing the display parameters to use in creating the new mode. + If the parameters are not compatible with the specified display, + the implementation must: return ename:VK_ERROR_INITIALIZATION_FAILED. + +include::../../validity/structs/VkDisplayModeCreateInfoKHR.txt[] + +// refBegin vkGetDisplayPlaneCapabilitiesKHR - Query capabilities of a mode and plane combination + +Applications that wish to present directly to a display must: select which +layer, or "plane" of the display they wish to target, and a mode to use with +the display. Each display supports at least one plane. The capabilities of +a given mode and plane combination are determined by calling: + +include::../../api/protos/vkGetDisplayPlaneCapabilitiesKHR.txt[] + + * pname:physicalDevice is the physical device associated with + pname:display + * pname:mode is the display mode the application intends to program when + using the specified plane. Note this parameter also implicitly specifies + a display. + * pname:planeIndex is the plane which the application intends to use with + the display, and is less than the number of display planes supported by + the device. + * pname:pCapabilities is a pointer to a + slink:VkDisplayPlaneCapabilitiesKHR structure in which the capabilities + are returned. + +include::../../validity/protos/vkGetDisplayPlaneCapabilitiesKHR.txt[] + +// refBegin VkDisplayPlaneCapabilitiesKHR - Structure describing capabilities of a mode and plane combination + +The sname:VkDisplayPlaneCapabilitiesKHR structure is defined as: + +include::../../api/structs/VkDisplayPlaneCapabilitiesKHR.txt[] + + * pname:supportedAlpha is a bitmask of + elink:VkDisplayPlaneAlphaFlagBitsKHR describing the supported alpha + blending modes. + * pname:minSrcPosition is the minimum source rect offset supported by this + plane using the specified mode. + * pname:maxSrcPosition is the maximum source rect offset supported by this + plane using the specified mode. The x and y offets must: be >= 0. + * pname:maxSrcPosition is the maximum source rect offset supported by this + plane using the specified mode. The x and y offsets must: be >= + pname:minSrcPosition. + * pname:minSrcExtent is the minimum source rect size supported by this + plane using the specified mode. + * pname:maxSrcExtent is the maximum source rect size supported by this + plane using the specified mode. + * pname:minDstPosition, pname:maxDstPosition, pname:minDstExtent, + pname:maxDstExtent all have similar semantics to their corresponding + "Src" equivalents, but apply to the output region within the mode rather + than the input region within the source image. Unlike the "Src" offsets, + pname:minDstPosition and pname:maxDstPosition may: contain negative + values. + +The minimum and maximum position and extent fields describe the hardware +limits, if any, as they apply to the specified display mode and plane. +Vendors may: support displaying a subset of a swapchain's presentable images +on the specified display plane. This is expressed by returning +pname:minSrcPosition, pname:maxSrcPosition, pname:minSrcExtent, and +pname:maxSrcExtent values that indicate a range of possible positions and +sizes may: be used to specify the region within the presentable images that +source pixels will be read from when creating a swapchain on the specified +display mode and plane. + +Vendors may: also support mapping the presentable images' content to a +subset or superset of the visible region in the specified display mode. This +is expressed by returning pname:minDstPosition, pname:maxDstPosition, +pname:minDstExtent and pname:maxDstExtent values that indicate a range of +possible positions and sizes may: be used to describe the region within the +display mode that the source pixels will be mapped to. + +Other vendors may: support only a 1-1 mapping between pixels in the +presentable images and the display mode. This may: be indicated by returning +(0,0) for pname:minSrcPosition, pname:maxSrcPosition, pname:minDstPosition, +and pname:maxDstPosition, and (display mode width, display mode height) for +pname:minSrcExtent, pname:maxSrcExtent, pname:minDstExtent, and +pname:maxDstExtent. + +These values indicate the limits of the hardware's individual fields. Not +all combinations of values within the offset and extent ranges returned in +sname:VkDisplayPlaneCapabilitiesKHR are guaranteed to be supported. Vendors +may: still fail presentation requests that specify unsupported combinations. + +include::../../validity/structs/VkDisplayPlaneCapabilitiesKHR.txt[] + + +=== Display Surfaces + +// refBegin vkCreateDisplayPlaneSurfaceKHR - Create a slink:VkSurfaceKHR structure representing a display plane and mode + +A complete display configuration includes a mode, one or more display planes +and any parameters describing their behavior, and parameters describing some +aspects of the images associated with those planes. Display surfaces describe +the configuration of a single plane within a complete display configuration. +To create a sname:VkSurfaceKHR structure for a display surface, call: + +include::../../api/protos/vkCreateDisplayPlaneSurfaceKHR.txt[] + + * pname:instance is the instance corresponding to the physical device the + targeted display is on. + * pname:pCreateInfo:pCreateInfo is a pointer to an instance of the + slink:VkDisplaySurfaceCreateInfoKHR structure specifying which mode, + plane, and other parameters to use, as described below. + * pname:pAllocator is the allocator used for host memory allocated for the + surface object when there is no more specific allocator available + (see <>). + * pname:pSurface points to a sname:VkSurfaceKHR handle in which the + created surface is returned. + +include::../../validity/protos/vkCreateDisplayPlaneSurfaceKHR.txt[] + +// refBegin VkDisplaySurfaceCreateInfoKHR - Structure specifying parameters of a newly created display plane surface object + +The sname:VkDisplaySurfaceCreateInfoKHR structure is defined as: + +include::../../api/structs/VkDisplaySurfaceCreateInfoKHR.txt[] + + * pname:sType is the type of this structure and must: be + ename:VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR. + * pname:pNext is `NULL` or a pointer to an extension-specific structure. + * pname:flags is reserved for future use, and must: be zero. + * pname:displayMode is the mode to use when displaying this surface. + * pname:planeIndex is the plane on which this surface appears. + * pname:planeStackIndex is the z-order of the plane. + * pname:transform is the transform to apply to the images as part of the + scannout operation. + * pname:globalAlpha is the global alpha value. This value is ignored if + pname:alphaMode is not ename:VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR. + * pname:alphaMode is the type of alpha blending to use. + * pname:imageSize The size of the presentable images to use with the + surface. + +[NOTE] +.Note +==== +Creating a display surface mustnot: modify the state of the displays, +planes, or other resources it names. For example, it mustnot: apply the +specified mode to be set on the associated display. Application of +display configuration occurs as a side effect of presenting to a +display surface. +==== + +include::../../validity/structs/VkDisplaySurfaceCreateInfoKHR.txt[] + +// refBegin VkDisplayPlaneAlphaFlagBitsKHR - alpha blending type + +Types of alpha blending supported by or used on a display are defined by the +bitmask ename:VkDisplayPlaneAlphaFlagBitsKHR, which contains the following +values: + +include::../../api/enums/VkDisplayPlaneAlphaFlagBitsKHR.txt[] + +These values are described as follows: + + * ename:VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR: The source image will be + treated as opaque. + * ename:VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR: A global alpha value must: + be specified that will be applied to all pixels in the source image. + * ename:VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR: The alpha value will be + determined by the alpha channel of the source image's pixels. If the + source format contains no alpha values, no blending will be applied. + The source alpha values are not premultiplied into the source image's + other color channels. + * ename:VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR: This is + equivalent to ename:VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR except the + source alpha values are assumed to be premultiplied into the source + image's other color channels. + +// refEnd VkDisplayPlaneAlphaFlagBitsKHR diff --git a/doc/specs/vulkan/chapters/VK_KHR_display_swapchain/VkResultErrorDescriptions_display_swapchain.txt b/doc/specs/vulkan/chapters/VK_KHR_display_swapchain/VkResultErrorDescriptions_display_swapchain.txt new file mode 100644 index 00000000..008a4675 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_display_swapchain/VkResultErrorDescriptions_display_swapchain.txt @@ -0,0 +1,3 @@ +* ename:VK_ERROR_INCOMPATIBLE_DISPLAY_KHR + The display used by a swapchain does not use the same presentable image + layout, or is incompatible in a way that prevents sharing an image. diff --git a/doc/specs/vulkan/chapters/VK_KHR_display_swapchain/create_shared_swapchains.txt b/doc/specs/vulkan/chapters/VK_KHR_display_swapchain/create_shared_swapchains.txt new file mode 100644 index 00000000..4723a7ee --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_display_swapchain/create_shared_swapchains.txt @@ -0,0 +1,37 @@ +[[create_shared_swapchains,create_shared_swapchains]] + +// refBegin vkCreateSharedSwapchainsKHR - Create multiple swapchains that share presentable images + +When the VK_KHR_display_swapchain extension is enabled, multiple swapchains +that share presentable images are created by calling: + +include::../../api/protos/vkCreateSharedSwapchainsKHR.txt[] + + * pname:device is the device to create the swapchains for. + * pname:swapchainCount is the number of swapchains to create. + * pname:pCreateInfos is a pointer to an array of + slink:VkSwapchainCreateInfoKHR structures specifying the parameters of + the created swapchains. + * pname:pAllocator is the allocator used for host memory allocated for the + swapchain objects when there is no more specific allocator available (see + <>). + * pname:pSwapchains is a pointer to an array of sname:VkSwapchainKHR + handles in which the created swapchain objects will be returned. + +fname:vkCreateSharedSwapchains is similar to flink:vkCreateSwapchainKHR, +except that it takes an array of sname:VkSwapchainCreateInfoKHR structures, +and returns an array of swapchain objects. + +The swapchain creation parameters that affect the +properties and number of presentable images must: match between all the +swapchains. If the displays used by any of the swapchains do not use the same +presentable image layout or are incompatible in a way that prevents sharing +images, swapchain creation will fail with the result code +ename:VK_ERROR_INCOMPATIBLE_DISPLAY_KHR. If any error occurs, no swapchains +will be created. Images presented to multiple swapchains must: be re-acquired +from all of them before transitioning away from +ename:VK_IMAGE_LAYOUT_PRESENT_SRC_KHR. After destroying one or more of the +swapchains, the remaining swapchains and the presentable images can: continue +to be used. + +include::../../validity/protos/vkCreateSharedSwapchainsKHR.txt[] diff --git a/doc/specs/vulkan/chapters/VK_KHR_display_swapchain/destroy_swapchain_interactions.txt b/doc/specs/vulkan/chapters/VK_KHR_display_swapchain/destroy_swapchain_interactions.txt new file mode 100644 index 00000000..66c00ae8 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_display_swapchain/destroy_swapchain_interactions.txt @@ -0,0 +1,5 @@ +If a swapchain associated with a display surface is destroyed and there are +no valid descendants of that swapchain, the implementation must: either +revert any display resources modified by presenting images with the +swapchain to their state prior to the first present performed with the +swapchain and its ancestors, or leave such resources in their current state. diff --git a/doc/specs/vulkan/chapters/VK_KHR_display_swapchain/display_swapchain_present.txt b/doc/specs/vulkan/chapters/VK_KHR_display_swapchain/display_swapchain_present.txt new file mode 100644 index 00000000..20c7729d --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_display_swapchain/display_swapchain_present.txt @@ -0,0 +1,42 @@ +[[display_swapchain_present,display_swapchain_present]] + +When the VK_KHR_display_swapchain extension is enabled additional fields +can: be specified when presenting an image to a swapchain by setting +slink:VkPresentInfoKHR::pname:pNext to point to an instance of the +slink:VkDisplayPresentInfoKHR structure. + +// refBegin VkDisplayPresentInfoKHR - Structure describing parameters of a queue presentation to a swapchain + +The sname:VkDisplayPresentInfoKHR structure is defined as: + +include::../../api/structs/VkDisplayPresentInfoKHR.txt[] + + * pname:sType is the type of this structure and must: be + ename:VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR. + * pname:pNext is `NULL` or a pointer to an extension-specific structure. + * pname:srcRect is a rectangular region of pixels to present. It must: be + a subset of the image being presented. If sname:VkDisplayPresentInfoKHR + is not specified, this region will be assumed to be the entire + presentable image. + * pname:dstRect is a rectangular region within the visible region of the + swapchain's display mode. If sname:VkDisplayPresentInfoKHR is not + specified, this region will be assumed to be the entire visible region + of the visible region of the swapchain's mode. If the specified + rectangle is a subset of the display mode's visible region, content from + display planes below the swapchain's plane will be visible outside the + rectangle. If there are no planes below the swapchain's, the area + outside the specified rectangle will be black. If portions of the + specified rectangle are outside of the display's visible region, pixels + mapping only to those portions of the rectangle will be discarded. + * pname:persistent: If this is ename:VK_TRUE, the display engine will + enable buffered mode on displays that support it. This allows the + display engine to stop sending content to the display until a new image + is presented. The display will instead maintain a copy of the last + presented image. This allows less power to be used, but may: increase + presentation latency. If sname:VkDisplayPresentInfoKHR is not specified, + persistent mode will not be used. + +If the extent of the pname:srcRect and pname:dstRect are not equal, the +presented pixels will be scaled accordingly. + +include::../../validity/structs/VkDisplayPresentInfoKHR.txt[] diff --git a/doc/specs/vulkan/chapters/VK_KHR_display_swapchain/queue_present_interactions.txt b/doc/specs/vulkan/chapters/VK_KHR_display_swapchain/queue_present_interactions.txt new file mode 100644 index 00000000..e669d7f3 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_display_swapchain/queue_present_interactions.txt @@ -0,0 +1,5 @@ +If an image is presented to a swapchain created from a display surface, the +mode of the associated display will be updated, if necessary, to match the +mode specified when creating the display surface. The mode switch and +presentation of the specified image will be performed as one atomic +operation. diff --git a/doc/specs/vulkan/chapters/VK_KHR_mir_surface/platformCpp_mir.txt b/doc/specs/vulkan/chapters/VK_KHR_mir_surface/platformCpp_mir.txt new file mode 100644 index 00000000..e86347a7 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_mir_surface/platformCpp_mir.txt @@ -0,0 +1,4 @@ +[[platformCpp_mir,platformCpp_mir]] + + * **VK_USE_PLATFORM_MIR_KHR** - Mir + diff --git a/doc/specs/vulkan/chapters/VK_KHR_mir_surface/platformCreateSurface_mir.txt b/doc/specs/vulkan/chapters/VK_KHR_mir_surface/platformCreateSurface_mir.txt new file mode 100644 index 00000000..a2d0130b --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_mir_surface/platformCreateSurface_mir.txt @@ -0,0 +1,41 @@ +[[platformCreateSurface_mir,platformCreateSurface_mir]] + +=== Mir Platform + +// refBegin vkCreateMirSurfaceKHR - Create a slink:VkSurfaceKHR object for a Mir window + +To create a sname:VkSurfaceKHR object for a Mir window, call: + +include::../../api/protos/vkCreateMirSurfaceKHR.txt[] + + * pname:instance is the instance to associate the surface with. + * pname:pCreateInfo is a pointer to an instance of the + slink:VkMirSurfaceCreateInfoKHR structure containing parameters + affecting the creation of the surface object. + * pname:pAllocator is the allocator used for host memory allocated for the + surface object when there is no more specific allocator available (see + <>). + * pname:pSurface points to a sname:VkSurfaceKHR handle in which the + created surface object is returned. + +include::../../validity/protos/vkCreateMirSurfaceKHR.txt[] + +// refBegin VkMirSurfaceCreateInfoKHR - Structure specifying parameters of a newly created Mir surface object + +The sname:VkMirSurfaceCreateInfoKHR structure is defined as: + +include::../../api/structs/VkMirSurfaceCreateInfoKHR.txt[] + + * pname:sType is the type of this structure and must: be + ename:VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR. + * pname:pNext is `NULL` or a pointer to an extension-specific structure. + * pname:flags is reserved for future use. + * pname:connection and pname:surface are pointers to the MirConnection and + MirSurface for the window to associate the surface with. + +include::../../validity/structs/VkMirSurfaceCreateInfoKHR.txt[] + +On Mir, when a swapchain's pname:imageExtent does not match the surface's +pname:currentExtent, the swapchain images will be scaled to the surface's +dimensions during presentation. pname:minImageExtent is latexmath:[$(1, +1)$], and pname:maxImageExtent is the maximum supported surface size. diff --git a/doc/specs/vulkan/chapters/VK_KHR_mir_surface/platformQuerySupport_mir.txt b/doc/specs/vulkan/chapters/VK_KHR_mir_surface/platformQuerySupport_mir.txt new file mode 100644 index 00000000..d82eb3ae --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_mir_surface/platformQuerySupport_mir.txt @@ -0,0 +1,19 @@ +[[platformQuerySupport_mir,platformQuerySupport_mir]] + +=== Mir Platform + +// refBegin vkGetPhysicalDeviceMirPresentationSupportKHR - Query physical device for presentation to Mir + +To determine whether a queue family of a physical device supports presentation +to the Mir compositor, call: + +include::../../api/protos/vkGetPhysicalDeviceMirPresentationSupportKHR.txt[] + + * pname:physicalDevice is the physical device. + * pname:queueFamilyIndex is the queue family index. + * pname:connection is a pointer to the sname:MirConnection, and identifies + the desired Mir compositor. + +This platform-specific function can: be called prior to creating a surface. + +include::../../validity/protos/vkGetPhysicalDeviceMirPresentationSupportKHR.txt[] diff --git a/doc/specs/vulkan/chapters/VK_KHR_surface/VkResultErrorDescriptions_surface.txt b/doc/specs/vulkan/chapters/VK_KHR_surface/VkResultErrorDescriptions_surface.txt new file mode 100644 index 00000000..af173a2d --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_surface/VkResultErrorDescriptions_surface.txt @@ -0,0 +1,5 @@ +* ename:VK_ERROR_SURFACE_LOST_KHR + A surface is no longer available. +* ename:VK_ERROR_NATIVE_WINDOW_IN_USE_KHR + The requested window is already connected to a VkSurfaceKHR, or + to some other non-Vulkan API. diff --git a/doc/specs/vulkan/chapters/VK_KHR_surface/wsi.txt b/doc/specs/vulkan/chapters/VK_KHR_surface/wsi.txt new file mode 100644 index 00000000..5e1a232d --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_surface/wsi.txt @@ -0,0 +1,501 @@ +[[wsi]] += Window System Integration (WSI) + +This chapter discusses the window system integration (WSI) between the +Vulkan API and the various forms of displaying the results of rendering +to a user. Since the Vulkan API can: be used without displaying results, +WSI is provided through the use of optional Vulkan extensions. This +chapter provides an overview of WSI. See the appendix for additional details +of each WSI extension, including which extensions must: be enabled in order +to use each of the functions described in this chapter. + + +== WSI Platform + +A platform is an abstraction for a window system, OS, etc. Some examples +include MS Windows, Android, and Wayland. The Vulkan API may: be +integrated in a unique manner for each platform. + +The Vulkan API does not define any type of platform object. +Platform-specific WSI extensions are defined, which contain +platform-specific functions for using WSI. Use of these extensions is +guarded by preprocessor symbols. + +ifdef::VK_KHR_android_surface[] +include::../VK_KHR_android_surface/platformCpp_android.txt[] +endif::VK_KHR_android_surface[] + +ifdef::VK_KHR_mir_surface[] +include::../VK_KHR_mir_surface/platformCpp_mir.txt[] +endif::VK_KHR_mir_surface[] + +ifdef::VK_KHR_wayland_surface[] +include::../VK_KHR_wayland_surface/platformCpp_wayland.txt[] +endif::VK_KHR_wayland_surface[] + +ifdef::VK_KHR_win32_surface[] +include::../VK_KHR_win32_surface/platformCpp_win32.txt[] +endif::VK_KHR_win32_surface[] + +ifdef::VK_KHR_xcb_surface[] +include::../VK_KHR_xcb_surface/platformCpp_xcb.txt[] +endif::VK_KHR_xcb_surface[] + +ifdef::VK_KHR_xlib_surface[] +include::../VK_KHR_xlib_surface/platformCpp_xlib.txt[] +endif::VK_KHR_xlib_surface[] + +In order for an application to be compiled to use WSI with a given platform, +it can: #define the appropriate preprocessor symbol prior including the +"vulkan.h" header file. Each platform-specific extension is an instance +extension; and the application must: enable instance extensions with +fname:vkCreateInstance before using them. + + +== WSI Surface + +A sname:VkSurfaceKHR object abstracts a native platform surface or window +object for use with Vulkan. The VK_KHR_surface extension declares the +sname:VkSurfaceKHR object, and provides a function for destroying +sname:VkSurfaceKHR objects. Separate platform-specific extensions each +provide a function for creating a sname:VkSurfaceKHR object for the +respective platform. From the application's perspective this is an opaque +handle, just like the handles of other Vulkan objects. + +ifdef::implementation-guide[] +[NOTE] +.Note +==== +On certain platforms, the Vulkan loader and ICDs +may: have conventions that treat the handle as a pointer to a struct that +contains the platform-specific information about the surface. This will +be described in the documentation for the loader-ICD interface, and in the +"vk_icd.h" header file of the LoaderAndTools source-code repository. +This does not affect the loader-layer interface; layers may: wrap +sname:VkSurfaceKHR objects. +==== + +ifdef::editing-notes[] +[NOTE] +.editing-note +==== +TODO: Consider replacing the above note editing note with a pointer to the +loader spec when it exists. However, the information is not relevant to +users of the API nor does it affect conformance of a Vulkan implementation +to this spec. +==== +endif::editing-notes[] +endif::implementation-guide[] + +ifdef::VK_KHR_android_surface[] +include::../VK_KHR_android_surface/platformCreateSurface_android.txt[] +endif::VK_KHR_android_surface[] + +ifdef::VK_KHR_mir_surface[] +include::../VK_KHR_mir_surface/platformCreateSurface_mir.txt[] +endif::VK_KHR_mir_surface[] + +ifdef::VK_KHR_wayland_surface[] +include::../VK_KHR_wayland_surface/platformCreateSurface_wayland.txt[] +endif::VK_KHR_wayland_surface[] + +ifdef::VK_KHR_win32_surface[] +include::../VK_KHR_win32_surface/platformCreateSurface_win32.txt[] +endif::VK_KHR_win32_surface[] + +ifdef::VK_KHR_xcb_surface[] +include::../VK_KHR_xcb_surface/platformCreateSurface_xcb.txt[] +endif::VK_KHR_xcb_surface[] + +ifdef::VK_KHR_xlib_surface[] +include::../VK_KHR_xlib_surface/platformCreateSurface_xlib.txt[] +endif::VK_KHR_xlib_surface[] + + +=== Platform-Independent Information + +Once created, sname:VkSurfaceKHR objects can: be used in this and other +extensions, in particular the VK_KHR_swapchain extension. + +Several WSI functions return ename:VK_ERROR_SURFACE_LOST_KHR if the surface +becomes no longer available. After such an error, the surface (and any child +swapchain, if one exists) should: be destroyed, as there is no way to +restore them to a not-lost state. Applications may: attempt to create a new +sname:VkSurfaceKHR using the same native platform window object, but whether +such re-creation will succeed is platform-dependent and may: depend on the +reason the surface became unavailable. A lost surface does not otherwise +cause devices to be <>. + +// refBegin vkDestroySurfaceKHR - Destroy a VkSurfaceKHR object + +To destroy a sname:VkSurfaceKHR object, call: + +include::../../api/protos/vkDestroySurfaceKHR.txt[] + + * pname:instance is the instance used to create the surface. + * pname:surface is the surface to destroy. + * pname:pAllocator is the allocator used for host memory allocated for the + surface object when there is no more specific allocator available (see + <>). + +Destroying a sname:VkSurfaceKHR merely severs the connection between +Vulkan and the native surface, and doesn't imply destroying the native +surface, closing a window, or similar behavior. + +include::../../validity/protos/vkDestroySurfaceKHR.txt[] + +ifdef::VK_KHR_display[] +include::../VK_KHR_display/display.txt[] +endif::VK_KHR_display[] + + +== Querying for WSI Support + +Not all physical devices will include WSI support. Within a physical device, +not all queue families will support presentation. WSI support and +compatibility can: be determined in a platform-neutral manner (which +determines support for presentation to a particular surface object) and +additionally may: be determined in platform-specific manners (which +determine support for presentation on the specified physical device but +don't guarantee support for presentation to a particular surface object). + +// refBegin vkGetPhysicalDeviceSurfaceSupportKHR - Query if presentation is supported + +To determine whether a queue family of a physical device supports +presentation to a given surface, call: + +include::../../api/protos/vkGetPhysicalDeviceSurfaceSupportKHR.txt[] + + * pname:physicalDevice is the physical device. + * pname:queueFamilyIndex is the queue family. + * pname:surface is the surface. + * pname:pSupported is a pointer to a basetype:VkBool32, which is set to + ename:VK_TRUE to indicate support, and ename:VK_FALSE otherwise. + +include::../../validity/protos/vkGetPhysicalDeviceSurfaceSupportKHR.txt[] + +ifdef::VK_KHR_android_surface[] +include::../VK_KHR_android_surface/platformQuerySupport_android.txt[] +endif::VK_KHR_android_surface[] + +ifdef::VK_KHR_mir_surface[] +include::../VK_KHR_mir_surface/platformQuerySupport_mir.txt[] +endif::VK_KHR_mir_surface[] + +ifdef::VK_KHR_wayland_surface[] +include::../VK_KHR_wayland_surface/platformQuerySupport_wayland.txt[] +endif::VK_KHR_wayland_surface[] + +ifdef::VK_KHR_win32_surface[] +include::../VK_KHR_win32_surface/platformQuerySupport_win32.txt[] +endif::VK_KHR_win32_surface[] + +ifdef::VK_KHR_xcb_surface[] +include::../VK_KHR_xcb_surface/platformQuerySupport_xcb.txt[] +endif::VK_KHR_xcb_surface[] + +ifdef::VK_KHR_xlib_surface[] +include::../VK_KHR_xlib_surface/platformQuerySupport_xlib.txt[] +endif::VK_KHR_xlib_surface[] + + +== Surface Queries + +// refBegin vkGetPhysicalDeviceSurfaceCapabilitiesKHR - Query surface capabilities + +To query the basic capabilities of a surface, needed in order to create a +swapchain, call: + +include::../../api/protos/vkGetPhysicalDeviceSurfaceCapabilitiesKHR.txt[] + + * pname:physicalDevice is the physical device that will be associated with + the swapchain to be created, as described for + flink:vkCreateSwapchainKHR. + * pname:surface is the surface that will be associated with the swapchain. + * pname:pSurfaceCapabilities is a pointer to an instance of the + slink:VkSurfaceCapabilitiesKHR structure in which the capabilities are + returned. + +include::../../validity/protos/vkGetPhysicalDeviceSurfaceCapabilitiesKHR.txt[] + +// refBegin VkSurfaceCapabilitiesKHR - Structure describing capabilities of a surface + +The sname:VkSurfaceCapabilitiesKHR structure is defined as: + +include::../../api/structs/VkSurfaceCapabilitiesKHR.txt[] + + * pname:minImageCount is the minimum number of images the specified device + supports for a swapchain created for the surface. + * pname:maxImageCount is the maximum number of images the specified device + supports for a swapchain created for the surface. A value of `0` means + that there is no limit on the number of images, though there may: be + limits related to the total amount of memory used by swapchain images. + * pname:currentExtent is the current width and height of the surface, or + the special value latexmath:[$(0xFFFFFFFF, 0xFFFFFFFF)$] indicating that + the surface size will be determined by the extent of a swapchain + targeting the surface. + * pname:minImageExtent contains the smallest valid swapchain extent for + the surface on the specified device. + * pname:maxImageExtent contains the largest valid swapchain extent for + the surface on the specified device. + * pname:maxImageArrayLayers is the maximum number of layers swapchain + images can: have for a swapchain created for this device and surface. + * pname:supportedTransforms is a bitfield of + elink:VkSurfaceTransformFlagBitsKHR, describing the presentation + transforms supported for the surface on the specified device. + * pname:currentTransform is a bitfield of + elink:VkSurfaceTransformFlagBitsKHR, describing the surface's current + transform relative to the presentation engine's natural orientation. + * pname:supportedCompositeAlpha is a bitfield of + elink:VkCompositeAlphaFlagBitsKHR, representing the + alpha compositing modes supported by the presentation engine for the + surface on the specified device. Opaque composition can: be achieved in + any alpha compositing mode by either using a swapchain image format that + has no alpha component, or by ensuring that all pixels in the swapchain + images have an alpha value of 1.0. + * pname:supportedUsageFlags is a bitfield of elink:VkImageUsageFlagBits + representing the ways the application can: use the presentable images of + a swapchain created for the surface on the specified device. + ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT must: be included in the set + but implementations may: support additional usages. + +include::../../validity/structs/VkSurfaceCapabilitiesKHR.txt[] + +// refBegin VkSurfaceTransformFlagBitsKHR - presentation transforms supported on a device + +The pname:supportedTransforms and pname:currentTransform members are of type +ename:VkSurfaceTransformFlagBitsKHR, which contains the following values: + +include::../../api/enums/VkSurfaceTransformFlagBitsKHR.txt[] + +These values are described as follows: + + * ename:VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR: The image content is + presented without being transformed. + * ename:VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR: The image content is + rotated 90 degrees clockwise. + * ename:VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR: The image content is + rotated 180 degrees clockwise. + * ename:VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR: The image content is + rotated 270 degrees clockwise. + * ename:VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR: The image + content is mirrored horizontally. + * ename:VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR: The + image content is mirrored horizontally, then rotated 90 degrees + clockwise. + * ename:VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR: The + image content is mirrored horizontally, then rotated 180 degrees + clockwise. + * ename:VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR: The + image content is mirrored horizontally, then rotated 270 degrees + clockwise. + * ename:VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR: The presentation transform + is not specified, and is instead determined by platform-specific + considerations and mechanisms outside Vulkan. + +// refEnd VkSurfaceTransformFlagBitsKHR + +// refBegin VkCompositeAlphaFlagBitsKHR - alpha compositing modes supported on a device + +The pname:supportedCompositeAlpha member is of type +ename:VkCompositeAlphaFlagBitsKHR, which contains the following values: + +include::../../api/enums/VkCompositeAlphaFlagBitsKHR.txt[] + +These values are described as follows: + + * ename:VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR: The alpha channel, if it + exists, of the images is ignored in the compositing process. Instead, + the image is treated as if it has a constant alpha of 1.0. + * ename:VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR: The alpha channel, if + it exists, of the images is respected in the compositing process. The + non-alpha channels of the image are expected to already be multiplied + by the alpha channel by the application. + * ename:VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR: The alpha channel, + if it exists, of the images is respected in the compositing process. + The non-alpha channels of the image are not expected to already be + multiplied by the alpha channel by the application; instead, the + compositor will multiply the non-alpha channels of the image by the + alpha channel during compositing. + * ename:VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR: The way in which the + presentation engine treats the alpha channel in the images is unknown + to the Vulkan API. Instead, the application is responsible for setting + the composite alpha blending mode using native window system commands. + If the application does not set the blending mode using native window + system commands, then a platform-specific default will be used. + +// refEnd VkCompositeAlphaFlagBitsKHR + +// refBegin vkGetPhysicalDeviceSurfaceFormatsKHR - Query color formats supported by surface + +To query the supported swapchain format-colorspace pairs for a surface, +call: + +include::../../api/protos/vkGetPhysicalDeviceSurfaceFormatsKHR.txt[] + + * pname:physicalDevice is the physical device that will be associated with + the swapchain to be created, as described for + flink:vkCreateSwapchainKHR. + * pname:surface is the surface that will be associated with the swapchain. + * pname:pSurfaceFormatCount is a pointer to an integer related to the + number of format pairs available or queried, as described below. + * pname:pSurfaceFormats is either `NULL` or a pointer to an array + of sname:VkSurfaceFormatKHR structures. + +If pname:pSurfaceFormats is `NULL`, then the number of format pairs +supported for the given pname:surface is returned in +pname:pSurfaceFormatCount. Otherwise, pname:pSurfaceFormatCount must: point +to a variable set by the user to the number of elements in the +pname:pSurfaceFormats array, and on return the variable is overwritten with +the number of structures actually written to pname:pSurfaceFormats. If the +value of pname:pSurfaceFormatCount is less than the number of format pairs +supported, at most pname:pSurfaceFormatCount structures will be written. +If pname:pSurfaceFormatCount is smaller than the number of format pairs +supported for the given pname:surface, ename:VK_INCOMPLETE will be returned +instead of ename:VK_SUCCESS to indicate that not all the available values +were returned. + +include::../../validity/protos/vkGetPhysicalDeviceSurfaceFormatsKHR.txt[] + +// refBegin VkSurfaceFormatKHR - Structure describing a supported swapchain format-colorspace pair + +The sname:VkSurfaceFormatKHR structure is defined as: + +include::../../api/structs/VkSurfaceFormatKHR.txt[] + + * pname:format is a ename:VkFormat that is compatible with the specified + surface. + * pname:colorSpace is a presentation ename:VkColorSpaceKHR that is + compatible with the surface. + +include::../../validity/structs/VkSurfaceFormatKHR.txt[] + +While the pname:format of a presentable image refers to the +encoding of each pixel, the pname:colorspace +determines how the the presentation engine interprets the pixel values. A +colorspace in this document refers to a specific combination of color model +(i.e. RGB, YUV, HSL etc.), the actual colorspace (defined by the +chromaticities of its primaries and a whitepoint in CIE Lab), and a transfer +function that is applied before storing or transmitting color data in the +given colorspace. + +// refBegin VkColorSpaceKHR - supported colorspace of the presentation engine + +The ename:VkColorSpaceKHR is defined as follows: + +include::../../api/enums/VkColorSpaceKHR.txt[] + + * ename:VK_COLOR_SPACE_SRGB_NONLINEAR_KHR: The presentation engine supports + the sRGB colorspace. + +[NOTE] +.Note +==== +If pname:pSurfaceFormats includes just one entry, whose value for +pname:format is ename:VK_FORMAT_UNDEFINED, pname:surface has no +preferred format. In this case, the application can use any valid +ename:VkFormat value. +==== + +[NOTE] +.Note +==== +In the initial release of the VK_KHR_surface and VK_KHR_swapchain +extensions, the token ename:VK_COLORSPACE_SRGB_NONLINEAR_KHR was used. +Starting in the May 13, 2016 updates to the extension branches, matching +release 1.0.13 of the core API specification, +ename:VK_COLOR_SPACE_SRGB_NONLINEAR_KHR is used instead for consistency with +Vulkan naming rules. The older enum is still available for backwards +compatibility. +==== + +// refEnd VkColorSpaceKHR + +// refBegin vkGetPhysicalDeviceSurfacePresentModesKHR - Query supported presentation modes + +To query the supported presentation modes for a surface, call: + +include::../../api/protos/vkGetPhysicalDeviceSurfacePresentModesKHR.txt[] + + * pname:physicalDevice is the physical device that will be associated with + the swapchain to be created, as described for + flink:vkCreateSwapchainKHR. + * pname:surface is the surface that will be associated with the swapchain. + * pname:pPresentModeCount is a pointer to an integer related to the + number of presentation modes available or queried, as described below. + * pname:pPresentModes is either `NULL` or a pointer to an array + of elink:VkPresentModeKHR structures. + +If pname:pPresentModes is `NULL`, then the number of presentation modes +supported for the given pname:surface is returned in +pname:pPresentModeCount. Otherwise, pname:pPresentModeCount must: point to a +variable set by the user to the number of elements in the +pname:pPresentModes array, and on return the variable is overwritten with +the number of values actually written to pname:pPresentModes. If the +value of pname:pPresentModeCount is less than the number of presentation +modes supported, at most pname:pPresentModeCount values will be written. +If pname:pPresentModeCount is smaller than the number of presentation modes +supported for the given pname:surface, ename:VK_INCOMPLETE will be returned +instead of ename:VK_SUCCESS to indicate that not all the available values +were returned. + +include::../../validity/protos/vkGetPhysicalDeviceSurfacePresentModesKHR.txt[] + +// refBegin VkPresentModeKHR - presentation mode supported for a surface + +The definition of ename:VkPresentModeKHR is: + +include::../../api/enums/VkPresentModeKHR.txt[] + + * ename:VK_PRESENT_MODE_IMMEDIATE_KHR: The presentation engine does not + wait for a vertical blanking period to update the current image, meaning + this mode may: result in visible tearing. No internal queuing of + presentation requests is needed, as the requests are applied + immediately. + * ename:VK_PRESENT_MODE_MAILBOX_KHR: The presentation engine waits for the + next vertical blanking period to update the current image. Tearing + cannot: be observed. An internal single-entry queue is used to hold + pending presentation requests. If the queue is full when a new + presentation request is received, the new request replaces the existing + entry, and any images associated with the prior entry become available + for re-use by the application. One request is removed from the queue and + processed during each vertical blanking period in which the queue is + non-empty. + * ename:VK_PRESENT_MODE_FIFO_KHR: The presentation engine waits for the + next vertical blanking period to update the current image. Tearing + cannot: be observed. An internal queue is used to hold pending + presentation requests. New requests are appended to the end of the queue, + and one request is removed from the beginning of the queue and processed + during each vertical blanking period in which the queue is non-empty. + This is the only value of pname:presentMode that is required: to be + supported. + * ename:VK_PRESENT_MODE_FIFO_RELAXED_KHR: The presentation engine + generally waits + for the next vertical blanking period to update the current image. If a + vertical blanking period has already passed since the last update of the + current image then the presentation engine does not wait for another + vertical blanking period for the update, meaning this mode may: result + in visible tearing in this case. This mode is useful for reducing visual + stutter with an application that will mostly present a new image before + the next vertical blanking period, but may occassionally be late, and + present a new image just after the the next vertical blanking period. + An internal queue is used to hold pending presentation requests. New + requests are appended to the end of the queue, and one request is + removed from the beginning of the queue and processed during or after + each vertical blanking period in which the queue is non-empty. + +[NOTE] +.Note +==== +For reference, the mode indicated by ename:VK_PRESENT_MODE_FIFO_KHR is +equivalent to the behavior of {wgl|glX|egl}SwapBuffers with a swap interval +of 1, while the mode indicated by ename:VK_PRESENT_MODE_FIFO_RELAXED_KHR is +equivalent to the behavior of {wgl|glX}SwapBuffers with a swap interval +of -1 (from the {WGL|GLX}_EXT_swap_control_tear extensions). +==== + +// refEnd VkPresentModeKHR + +ifdef::VK_KHR_swapchain[] +include::../VK_KHR_swapchain/wsi.txt[] +endif::VK_KHR_swapchain[] diff --git a/doc/specs/vulkan/chapters/VK_KHR_swapchain/VkImageLayout_swapchain.txt b/doc/specs/vulkan/chapters/VK_KHR_swapchain/VkImageLayout_swapchain.txt new file mode 100644 index 00000000..1e1a46b7 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_swapchain/VkImageLayout_swapchain.txt @@ -0,0 +1,5 @@ + * ename:VK_IMAGE_LAYOUT_PRESENT_SRC_KHR: must: only be used for presenting + a swapchain image for display. A swapchain's image must: be transitioned + to this layout before calling flink:vkQueuePresentKHR, and must: be + transitioned away from this layout after calling + flink:vkAcquireNextImageKHR. diff --git a/doc/specs/vulkan/chapters/VK_KHR_swapchain/VkResultErrorDescriptions_swapchain.txt b/doc/specs/vulkan/chapters/VK_KHR_swapchain/VkResultErrorDescriptions_swapchain.txt new file mode 100644 index 00000000..ed66ba98 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_swapchain/VkResultErrorDescriptions_swapchain.txt @@ -0,0 +1,6 @@ +* ename:VK_ERROR_OUT_OF_DATE_KHR + A surface has changed in such a way that it is no longer compatible with + the swapchain, and further presentation requests using the swapchain + will fail. Applications must: query the new surface properties and + recreate their swapchain if they wish to continue presenting to the + surface. diff --git a/doc/specs/vulkan/chapters/VK_KHR_swapchain/VkResultSuccessDescriptions_swapchain.txt b/doc/specs/vulkan/chapters/VK_KHR_swapchain/VkResultSuccessDescriptions_swapchain.txt new file mode 100644 index 00000000..0d2000b5 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_swapchain/VkResultSuccessDescriptions_swapchain.txt @@ -0,0 +1,3 @@ +* ename:VK_SUBOPTIMAL_KHR + A swapchain no longer matches the surface properties exactly, but can: + still be used to present to the surface successfully. diff --git a/doc/specs/vulkan/chapters/VK_KHR_swapchain/wsi.txt b/doc/specs/vulkan/chapters/VK_KHR_swapchain/wsi.txt new file mode 100644 index 00000000..9d29ca06 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_swapchain/wsi.txt @@ -0,0 +1,617 @@ +== WSI Swapchain + +A sname:VkSwapchainKHR object (a.k.a. swapchain) provides the ability to +present rendering results to a surface. A swapchain is an abstraction for an +array of presentable images that are associated with a surface. The +swapchain images are represented by sname:VkImage objects created by the +platform. One image (which can: be an array image for +multiview/stereoscopic-3D surfaces) is displayed at a time, but multiple +images can: be queued for presentation. An application renders to the image, +and then queues the image for presentation to the surface. A native window +cannot: be associated with more than one swapchain at a time. Further, +swapchains cannot: be created for native windows that have a non-Vulkan +graphics API surface associated with them. + +The presentation engine is an abstraction for the platform's compositor or +hardware/software display engine. + +[NOTE] +.Note +==== +The presentation engine may: be synchronous or asynchronous with respect to +the application and/or logical device. + +Some implementations may: use the device's graphics queue or dedicated +presentation hardware to perform presentation. +==== + +The presentable images of a swapchain are owned by the presentation engine. +An application can: acquire use of a presentable image from the presentation +engine. Use of a presentable image must: occur only after the image is +returned by fname:vkAcquireNextImageKHR, and before it is presented by +fname:vkQueuePresentKHR. This includes transitioning the image layout and +rendering commands. + +An application can: acquire use of a presentable image with +fname:vkAcquireNextImageKHR. After acquiring a presentable image and before +modifying it, the application must: use a synchronization primitive to +ensure that the presentation engine has finished reading from the image. The +application can: then transition the image's layout, queue rendering +commands to it, etc. Finally, the application presents the image with +fname:vkQueuePresentKHR, which releases the acquisition of the image. + +The presentation engine controls the order in which presentable images are +acquired for use by the application. + +[NOTE] +.Note +==== +This allows the platform to handle situations which require out-of-order +return of images after presentation. At the same time, it allows the +application to generate command buffers referencing all of the images in the +swapchain at initialization time, rather than in its main loop. +==== + +How this all works is described below. + +// refBegin vkCreateSwapchainKHR - Create a swapchain + +To create a swapchain, call: + +include::../../api/protos/vkCreateSwapchainKHR.txt[] + + * pname:device is the device to create the swapchain for. + * pname:pCreateInfo is a pointer to an instance of the + slink:VkSwapchainCreateInfoKHR structure specifying the parameters of + the created swapchain. + * pname:pAllocator is the allocator used for host memory allocated for the + swapchain object when there is no more specific allocator available (see + <>). + * pname:pSwapchain is a pointer to a sname:VkSwapchainKHR handle in which + the created swapchain object will be returned. + +include::../../validity/protos/vkCreateSwapchainKHR.txt[] + +// refBegin VkSwapchainCreateInfoKHR - Structure specifying parameters of a newly created swapchain object + +The sname:VkSwapchainCreateInfoKHR structure is defined as: + +include::../../api/structs/VkSwapchainCreateInfoKHR.txt[] + + * pname:sType is the type of this structure and must: be + ename:VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR. + * pname:pNext is `NULL` or a pointer to an extension-specific structure. + * pname:flags is reserved for future use, and must: be zero. + * pname:surface is the surface that the swapchain will present images to. + * pname:minImageCount is the minimum number of presentable images that the + application needs. The platform will either create the swapchain with at + least that many images, or will fail to create the swapchain. + * pname:imageFormat is a slink:VkFormat that is valid for + swapchains on the specified surface. + * pname:imageColorSpace is a slink:VkColorSpaceKHR that is valid for + swapchains on the specified surface. + * pname:imageExtent is the size (in pixels) of the swapchain. Behavior is + platform-dependent when the image extent does not match the surface's + pname:currentExtent as returned by + fname:vkGetPhysicalDeviceSurfaceCapabilitiesKHR. + * pname:imageArrayLayers is the number of views in a multiview/stereo + surface. For non-stereoscopic-3D applications, this value is 1. + * pname:imageUsage is a bitfield of elink:VkImageUsageFlagBits, indicating + how the application will use the swapchain's presentable images. + * pname:imageSharingMode is the sharing mode used for the images of the + swapchain. + * pname:queueFamilyIndexCount is the number of queue families having + access to the images of the swapchain in case pname:imageSharingMode is + ename:VK_SHARING_MODE_CONCURRENT. + * pname:pQueueFamilyIndices is an array of queue family indices having + access to the images of the swapchain in case pname:imageSharingMode is + ename:VK_SHARING_MODE_CONCURRENT. + * pname:preTransform is a bitfield of elink:VkSurfaceTransformFlagBitsKHR, + describing the transform, relative to the presentation engine's + natural orientation, applied to the image content prior to presentation. + If it does not match the pname:currentTransform value returned by + fname:vkGetPhysicalDeviceSurfaceCapabilitiesKHR, the presentation engine + will transform the image content as part of the presentation operation. + * pname:compositeAlpha is a bitfield of elink:VkCompositeAlphaFlagBitsKHR, + indicating the alpha compositing mode to use when this surface + is composited together with other surfaces on certain window systems. + * pname:presentMode is the presentation mode the swapchain will use. A + swapchain's present mode determines how incoming present requests will + be processed and queued internally. + * pname:clipped indicates whether the Vulkan implementation is allowed + to discard rendering operations that affect regions of the surface which + aren't visible. + ** If set to ename:VK_TRUE, the presentable images associated with the + swapchain may: not own all of their pixels. Pixels in the presentable + images that correspond to regions of the target surface obscured by + another window on the desktop or subject to some other clipping + mechanism will have undefined content when read back. Pixel shaders + maynot: execute for these pixels, and thus any side affects they would + have had will not occur. + ** If set to ename:VK_FALSE, presentable images associated with the + swapchain will own all the pixels they contain. + Setting this value to ename:VK_TRUE does not guarantee any clipping + will occur, but allows more optimal presentation methods to be used on + some platforms. + +[NOTE] +.Note +==== +Applications should: set this value to +ename:VK_TRUE if they do not expect to read back the content of presentable +images before presenting them or after reacquiring them and if their +pixel shaders do not have any side effects that require them to run for +all pixels in the presentable image. +==== + + * pname:oldSwapchain, if not code:VK_NULL_HANDLE, specifies the + swapchain that will be + replaced by the new swapchain being created. The new swapchain will: be + a descendant of pname:oldSwapchain. Further, any descendants of the + new swapchain will also be descendants of pname:oldSwapchain. Upon + calling + fname:vkCreateSwapchainKHR with a pname:oldSwapchain that is + not code:VK_NULL_HANDLE, any + images not acquired by the application may: be freed by the + implementation, which may: occur even if creation of the new swapchain + fails. The application must: destroy the old swapchain to free all + memory associated with the old swapchain. The application must: wait for + the completion of any outstanding rendering to images it currently has + acquired at the time the swapchain is destroyed. The application can: + continue to present any images it acquired and has not yet presented + using the old swapchain, as long as it has not entered a state that + causes it to return ename:VK_ERROR_OUT_OF_DATE_KHR. However, the + application cannot: acquire any more images from the old swapchain + regardless of whether or not creation of the new swapchain succeeds. + +include::../../validity/structs/VkSwapchainCreateInfoKHR.txt[] + +As mentioned above, if fname:vkCreateSwapchainKHR succeeds, it will return a +handle to a swapchain that contains an array of at least pname:minImageCount +presentable images. + +While acquired by the application, swapchain images can: be used in any way +that equivalent non-swapchain images can: be used. A swapchain image is +equivalent to a non-swapchain image created with the following +sname:VkImageCreateInfo parameters: + +[options="header"] +|==== +|sname:VkImageCreateInfo Field|Value +|pname:flags |`0` +|pname:imageType |`VK_IMAGE_TYPE_2D` +|pname:format |`pCreateInfo->imageFormat` +|pname:extent |`{pCreateInfo->imageExtent.width, pCreateInfo->imageExtent.height, 1}` +|pname:mipLevels |`1` +|pname:arrayLayers |`pCreateInfo->imageArrayLayers` +|pname:samples |`VK_SAMPLE_COUNT_1_BIT` +|pname:tiling |`VK_IMAGE_TILING_OPTIMAL` +|pname:usage |`pCreateInfo->imageUsage` +|pname:sharingMode |`pCreateInfo->imageSharingMode` +|pname:queueFamilyIndexCount |`pCreateInfo->queueFamilyIndexCount` +|pname:pQueueFamilyIndices |`pCreateInfo->pQueueFamilyIndices` +|pname:initialLayout |`VK_IMAGE_LAYOUT_UNDEFINED` +|==== + +The sname:VkSurfaceKHR associated with a swapchain mustnot: be destroyed +until after the swapchain is destroyed. + +Like core functions, several WSI fuctions, including +fname:vkCreateSwapchainKHR return ename:VK_ERROR_DEVICE_LOST if the logical +device was lost. See <>. As with most +core objects, sname:VkSwapchainKHR is a child of the device and is affected +by the lost state; it must: be destroyed before destroying the +sname:VkDevice. However, sname:VkSurfaceKHR is not a child of any +sname:VkDevice and is not otherwise affected by the lost device. After +successfully recreating a sname:VkDevice, the same sname:VkSurfaceKHR can: +be used to create a new sname:VkSwapchainKHR, provided the previous one was +destroyed. + +[NOTE] +.Note +==== +As mentioned in <>, after a lost +device event, the sname:VkPhysicalDevice may: also be lost. If other +sname:VkPhysicalDevice are available, they can: be used together with the +same sname:VkSurfaceKHR to create the new sname:VkSwapchainKHR, however the +application must: query the surface capabilities again, because they may: +differ on a per-physical device basis. +==== + +// refBegin vkDestroySwapchainKHR - Destroy a swapchain object + +To destroy a swapchain object call: + +include::../../api/protos/vkDestroySwapchainKHR.txt[] + + * pname:device is the sname:VkDevice assocated with pname:swapchain. + * pname:swapchain is the swapchain to destroy. + * pname:pAllocator is the allocator used for host memory allocated for the + swapchain object when there is no more specific allocator available (see + <>). + +pname:swapchain and all associated sname:VkImage handles are destroyed, and +must: not be acquired or used any more by the application. The memory of +each sname:VkImage will only be freed after that image is no longer used by +the platform. For example, if one image of the swapchain is being displayed +in a window, the memory for that image may: not be freed until the window is +destroyed, or another swapchain is created for the window. Destroying the +swapchain does not invalidate the parent sname:VkSurfaceKHR, and a new +swapchain can: be created with it. + +ifdef::VK_KHR_display_swapchain[] +include::../VK_KHR_display_swapchain/destroy_swapchain_interactions.txt[] +endif::VK_KHR_display_swapchain[] + +include::../../validity/protos/vkDestroySwapchainKHR.txt[] + +ifdef::VK_KHR_display_swapchain[] +include::../VK_KHR_display_swapchain/create_shared_swapchains.txt[] +endif::VK_KHR_display_swapchain[] + +// refBegin vkGetSwapchainImagesKHR - Obtain the array of presentable images associated with a swapchain + +To obtain the array of presentable images associated with a swapchain, +call: + +include::../../api/protos/vkGetSwapchainImagesKHR.txt[] + + * pname:device is the device associated with pname:swapchain. + * pname:swapchain is the swapchain to query. + * pname:pSwapchainImageCount is a pointer to an integer related to the + number of swapchain images available or queried, as described below. + * pname:pSwapchainImages is either `NULL` or a pointer to an array + of sname:VkImage handles. + +If pname:pSwapchainImages is `NULL`, then the number of presentable images +for pname:swapchain is returned in pname:pSwapchainImageCount. Otherwise, +pname:pSwapchainImageCount must: point to a variable set by the user to the +number of elements in the pname:pSwapchainImages array, and on return the +variable is overwritten with the number of structures actually written to +pname:pSwapchainImages. If the value of pname:pSwapchainImageCount is less +than the number of presentable images for pname:swapchain, at most +pname:pSwapchainImageCount structures will be written. +If pname:pSwapchainImageCount is smaller than the number of presentable +images for pname:swapchain, ename:VK_INCOMPLETE will be returned instead of +ename:VK_SUCCESS to indicate that not all the available values were +returned. + +include::../../validity/protos/vkGetSwapchainImagesKHR.txt[] + +[NOTE] +.Note +==== +By knowing all presentable images used in the swapchain, the application +can: create command buffers that reference these images prior to entering +its main rendering loop. +==== + +The implementation will have already allocated and bound the memory backing +the sname:VkImages returned by fname:vkGetSwapchainImagesKHR. The memory for +each image will not alias with the memory for other images or with any +sname:VkDeviceMemory object. As such, performing any operation affecting the +binding of memory to a presentable image results in undefined behavior. All +presentable images are initially in the ename:VK_IMAGE_LAYOUT_UNDEFINED +layout, thus before using presentable images, the application must: +transition them to a valid layout for the intended use. + +Further, the lifetime of presentable images is controlled by the +implementation so destroying a presentable image with flink:vkDestroyImage +results in undefined behavior. See flink:vkDestroySwapchainKHR for further +details on the lifetime of presentable images. + +// refBegin vkAcquireNextImageKHR - Retrieve the index of the next available presentable image + +To acquire an available presentable image to use, and retrieve the +index of that image, call: + +include::../../api/protos/vkAcquireNextImageKHR.txt[] + + * pname:device is the device assocated with pname:swapchain. + * pname:swapchain is the swapchain from which an image is being acquired. + * pname:timeout indicates how long the function waits, in nanoseconds, if + no image is available. + * pname:semaphore is code:VK_NULL_HANDLE or a semaphore to signal. + * pname:fence is code:VK_NULL_HANDLE or a fence to signal. + * pname:pImageIndex is a pointer to a basetype:uint32_t that is set to the + index of the next image to use (i.e. an index into the array of images + returned by fname:vkGetSwapchainImagesKHR). + +include::../../validity/protos/vkAcquireNextImageKHR.txt[] + +When successful, fname:vkAcquireNextImageKHR acquires a presentable image +that the application can: use, and sets pname:pImageIndex to the index of +that image. The presentation engine may: not have finished reading from the +image at the time it is acquired, so the application must: use +pname:semaphore and/or pname:fence to ensure that the image layout and +contents are not modified until the presentation engine reads have +completed. + +As mentioned above, the presentation engine controls the order in which +presentable images are made available to the application. This allows the +platform to handle special situations. The order in which images are +acquired is implementation-dependent. Images may: be acquired in a +seemingly random order that is not a simple round-robin. + +If a swapchain has enough presentable images, applications can: acquire +multiple images without an intervening fname:vkQueuePresentKHR. +Applications can: present images in a different order than the order in +which they were acquired. + +If pname:timeout is 0, fname:vkAcquireNextImageKHR will not block, but will +either succeed or return VK_NOT_READY. If pname:timeout is `UINT64_MAX`, the +function will not return until an image is acquired from the presentation +engine. Other values for pname:timeout will cause the function to return +when an image becomes available, or when the specified number of nanoseconds +have passed (in which case it will return VK_TIMEOUT). An error can: also +cause fname:vkAcquireNextImageKHR to return early. + +[NOTE] +.Note +==== +As mentioned above, the presentation engine may: be asynchronous with +respect to the application and/or logical device. +fname:vkAcquireNextImageKHR may: return as soon as it can: identify which +image will be acquired, and can: guarantee that pname:semaphore and +pname:fence will be signaled by the presentation engine; and may: not +successfully return sooner. The application uses pname:timeout to specify +how long fname:vkAcquireNextImageKHR waits for an image to become acquired. +==== + +Applications cannot: rely on fname:vkAcquireNextImageKHR blocking in order +to meter their rendering speed. Various factors can: interrupt +fname:vkAcquireNextImageKHR from blocking. + +[NOTE] +.Note +==== +For example, if an error occurs, fname:vkAcquireNextImageKHR may: return +even though no image is available. As another example, some presentation +engines are able to enqueue an unbounded number of presentation and acquire +next image operations such that fname:vkAcquireNextImageKHR never needs to +wait for completion of outstanding present operations before returning. +==== + +The availability of presentable images is influenced by factors such as the +implementation of the presentation engine, the ename:VkPresentModeKHR being +used, the number of images in the swapchain, the number of images that the +application has acquired at any given time, and the performance of the +application. The value of +sname:VkSurfaceCapabilitiesKHR::pname:minImageCount indicates how many +images must: be in the swapchain in order for fname:vkAcquireNextImageKHR to +acquire an image if the application currently has no acquired images. + +Let _n_ be the total number of images in the swapchain, _m_ be the value of +sname:VkSurfaceCapabilitiesKHR::pname:minImageCount, and _a_ be the number +of presentable images that the application has currently acquired +(i.e. images acquired with fname:vkAcquireNextImageKHR, but not yet +presented with fname:vkQueuePresentKHR). fname:vkAcquireNextImageKHR can: +always succeed if latexmath:[$a \leq n - m$] at the time fname:vkAcquireNextImageKHR is +called. +fname:vkAcquireNextImageKHR shouldnot: be called if latexmath:[$a > n - m$] +with a pname:timeout of code:UINT64_MAX; in such a case, +fname:vkAcquireNextImageKHR may: block indefinitely. + +[NOTE] +.Note +==== +For example, if the pname:minImageCount member of +sname:VkSurfaceCapabilitiesKHR is 2, and the application creates a swapchain +with 2 presentable images, the application can: acquire one image, and +must: present it before trying to acquire another image. + +If we modify this example so that the application wishes to acquire up to 3 +presentable images simultaneously, it must: request a minimum image count of +4 when creating the swapchain. +==== + +If pname:semaphore is not code:VK_NULL_HANDLE, the semaphore must: be +unsignaled and not have any uncompleted signal or wait operations pending. +It will become signaled when the application can: use the image. Queue +operations that access the image contents must: wait until the semaphore +signals; typically applications should: include the semaphore in the +pname:pWaitSemaphores list for the queue submission that transitions the +image away from the ename:VK_IMAGE_LAYOUT_PRESENT_SRC_KHR layout. Use of the +semaphore allows rendering operations to be recorded and submitted before +the presentation engine has completed its use of the image. + +If pname:fence is not equal to code:VK_NULL_HANDLE, the fence must: be +unsignaled and not have any uncompleted signal operations pending. It will +become signaled when the application can: use the image. Applications can: +use this to meter their frame generation work to match the presentation +rate. + +pname:semaphore and pname:fence must: not both be equal to +code:VK_NULL_HANDLE. An application must: wait until either the +pname:semaphore or pname:fence is signaled before using the presentable +image. + +pname:semaphore and pname:fence may: already be signaled when +fname:vkAcquireNextImageKHR returns, if the image is being acquired for the +first time, or if the presentable image is immediately ready for use. + +A successful call to fname:vkAcquireNextImageKHR counts as a signal +operation on pname:semaphore for the purposes of queue forward-progress +requirements. The semaphore is guaranteed to signal, so a wait operation +can: be queued for the semaphore without risk of deadlock. + +The fname:vkCmdWaitEvents or fname:vkCmdPipelineBarrier used to transition +the image away from ename:VK_IMAGE_LAYOUT_PRESENT_SRC_KHR layout must: have +pname:dstStageMask and pname:dstAccessMask parameters set based on the next +use of the image. The pname:srcAccessMask must: include +ename:VK_ACCESS_MEMORY_READ_BIT to ensure that all prior reads by the +presentation engine are complete before the image layout transition occurs. +The application must: use <> and +<> +to prevent the image transition from occurring before the semaphore passed +to fname:vkAcquireNextImageKHR has signaled. + +[NOTE] +.Note +==== +When the swapchain image will be written by some stage latexmath:[$S$], the +recommended idiom for ensuring the semaphore signals before the transition +occurs is: + + * The batch that contains the transition includes the image-acquire + semaphore in the list of semaphores to wait for, with a wait stage mask + that includes latexmath:[$S$]. + * The pipeline barrier that performs the transition includes + latexmath:[$S$] in both the pname:srcStageMask and pname:dstStageMask. + +This causes the pipeline barrer to wait at latexmath:[$S$] until the +semaphore signals before performing the transition and memory barrier, while +allowing earlier pipeline stages of subsequent commands to proceed. +==== + +After a successful return, the image indicated by pname:pImageIndex will +still be in the ename:VK_IMAGE_LAYOUT_PRESENT_SRC_KHR layout if it was +previously presented, or in the ename:VK_IMAGE_LAYOUT_UNDEFINED layout if +this is the first time it has been acquired. + +The possible return values for fname:vkAcquireNextImageKHR() depend on the +pname:timeout provided: + + * ename:VK_SUCCESS is returned if an image became available. + * ename:VK_ERROR_SURFACE_LOST_KHR if the surface becomes no longer + available. + * ename:VK_NOT_READY is returned if pname:timeout is zero and no image was + available. + * ename:VK_TIMEOUT is returned if pname:timeout is greater than zero and + less than `UINT64_MAX`, and no image became available within the time + allowed. + * ename:VK_SUBOPTIMAL_KHR is returned if an image became available, and + the swapchain no longer matches the surface properties exactly, but can: + still be used to present to the surface successfully. + +[NOTE] +.Note +==== +This may: happen, for example, if the platform surface has been resized but +the platform is able to scale the presented images to the new size to +produce valid surface updates. It is up to applications to decide whether +they prefer to continue using the current swapchain indefinitely or +temporarily in this state, or to re-create the swapchain to better match the +platform surface properties. +==== + + * ename:VK_ERROR_OUT_OF_DATE_KHR is returned if the surface has changed in + such a way that it is no longer compatible with the swapchain, and + further presentation requests using the swapchain will fail. + Applications must: query the new surface properties and recreate their + swapchain if they wish to continue presenting to the surface. + +If the native surface and presented image sizes no longer match, +presentation maynot: succeed. If presentation does succeed, parts of the +native surface may: be undefined, parts of the presented image may: have +been clipped before presentation, and/or the image may: have been scaled +(uniformly or not uniformly) before presentation. It is the application's +responsibility to detect surface size changes and react appropriately. If +presentation does not succeed because of a mismatch in the surface and +presented image sizes, a ename:VK_ERROR_OUT_OF_DATE_KHR error will be +returned. + +Before an application can: present an image, the image's layout must: be +transitioned to the ename:VK_IMAGE_LAYOUT_PRESENT_SRC_KHR layout. The +fname:vkCmdWaitEvents or fname:vkCmdPipelineBarrier that perform the +transition must: have pname:srcStageMask and pname:srcAccessMask parameters +set based on the preceding use of the image. The pname:dstAccessMask must: +include ename:VK_ACCESS_MEMORY_READ_BIT indicating all prior accesses +indicated in pname:srcAccessMask from stages in pname:srcStageMask are to be +made available to reads by the presentation engine. Any value of +pname:dstStageMask is valid, but should: be set to +ename:VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT to avoid delaying subsequent +commands that don't access the image. + +// refBegin vkQueuePresentKHR - Queue an image for presentation + +After queueing all rendering commands and transitioning the image to the +correct layout, to queue an image for presentation, call: + +include::../../api/protos/vkQueuePresentKHR.txt[] + + * pname:queue is a queue that is capable of presentation to the target + surface's platform on the same device as the image's swapchain. + * pname:pPresentInfo is a pointer to an instance of the + slink:VkPresentInfoKHR structure specifying the parameters of the + presentation. + +include::../../validity/protos/vkQueuePresentKHR.txt[] + +// refBegin VkPresentInfoKHR - Structure describing parameters of a queue presentation + +The sname:VkPresentInfoKHR structure is defined as: + +include::../../api/structs/VkPresentInfoKHR.txt[] + + * pname:sType is the type of this structure and must: be + ename:VK_STRUCTURE_TYPE_PRESENT_INFO_KHR. + * pname:pNext is `NULL` or a pointer to an extension-specific structure. + * pname:waitSemaphoreCount is the number of semaphores to wait for before + issuing the present request. The number may: be zero. + * pname:pWaitSemaphores, if not code:VK_NULL_HANDLE, is an array of + sname:VkSemaphore + objects with pname:waitSemaphoreCount entries, and specifies the + semaphores to wait for before issuing the present request. + * pname:swapchainCount is the number of swapchains being presented to + by this command. + * pname:pSwapchains is an array of sname:VkSwapchainKHR objects with + pname:swapchainCount entries. A given swapchain mustnot: appear in this + list more than once. + * pname:pImageIndices is an array of indices into the array of each + swapchain's presentable images, with pname:swapchainCount entries. Each + entry in this array identifies the image to present on the corresponding + entry in the pname:pSwapchains array. + * pname:pResults is an array of ename:VkResult typed elements with + pname:swapchainCount entries. Applications that don't need per-swapchain + results can: use `NULL` for pname:pResults. If non-`NULL`, each entry in + pname:pResults will be set to the ename:VkResult for presenting the + swapchain corresponding to the same index in pname:pSwapchains. + +include::../../validity/structs/VkPresentInfoKHR.txt[] + +ifdef::VK_KHR_display_swapchain[] +include::../VK_KHR_display_swapchain/display_swapchain_present.txt[] +endif::VK_KHR_display_swapchain[] + +fname:vkQueuePresentKHR, releases the acquisition of the images referenced +by pname:imageIndices. A presented images must: not be used again before it +has been reacquired using fname:vkAcquireNextImageKHR. + +The processing of the presentation happens in issue order with other queue +operations, but semaphores have to be used to ensure that prior rendering +and other commands in the specified queue complete before the presentation +begins. The presentation command itself does not delay processing of +subsequent commands on the queue, however, presentation requests sent to a +particular queue are always performed in order. Exact presentation timing is +controled by the semantics of the presentation engine and native platform in +use. + +ifdef::VK_KHR_display_swapchain[] +include::../VK_KHR_display_swapchain/queue_present_interactions.txt[] +endif::VK_KHR_display_swapchain[] + +The result codes ename:VK_ERROR_OUT_OF_DATE_KHR and ename:VK_SUBOPTIMAL_KHR +have the same meaning when returned by fname:vkQueuePresentKHR as they do +when returned by fname:vkAcquireNextImageKHR(). If multiple swapchains are +presented, the result code is determined applying the following rules in +order: + + * If the device is lost, ename:VK_ERROR_DEVICE_LOST is returned. + * If any of the target surfaces are no longer available the error + ename:VK_ERROR_SURFACE_LOST_KHR is returned. + * If any of the presents would have a result of + ename:VK_ERROR_OUT_OF_DATE_KHR if issued separately then + ename:VK_ERROR_OUT_OF_DATE_KHR is returned. + * If any of the presents would have a result of ename:VK_SUBOPTIMAL_KHR if + issued separately then ename:VK_SUBOPTIMAL_KHR is returned. + * Otherwise ename:VK_SUCCESS is returned. + +Presentation is a read-only operation that will not affect the content of +the presentable images. Upon reacquiring the image and transitioning it away +from the ename:VK_IMAGE_LAYOUT_PRESENT_SRC_KHR layout, the contents will be +the same as they were prior to transitioning the image to the present source +layout and presenting it. However, if a mechanism other than Vulkan is +used to modify the platform window associated with the swapchain, the +content of all presentable images in the swapchain becomes undefined. diff --git a/doc/specs/vulkan/chapters/VK_KHR_wayland_surface/platformCpp_wayland.txt b/doc/specs/vulkan/chapters/VK_KHR_wayland_surface/platformCpp_wayland.txt new file mode 100644 index 00000000..cf0e7ded --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_wayland_surface/platformCpp_wayland.txt @@ -0,0 +1,4 @@ +[[platformCpp_wayland,platformCpp_wayland]] + + * **VK_USE_PLATFORM_WAYLAND_KHR** - Wayland + diff --git a/doc/specs/vulkan/chapters/VK_KHR_wayland_surface/platformCreateSurface_wayland.txt b/doc/specs/vulkan/chapters/VK_KHR_wayland_surface/platformCreateSurface_wayland.txt new file mode 100644 index 00000000..b3b9e3da --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_wayland_surface/platformCreateSurface_wayland.txt @@ -0,0 +1,55 @@ +[[platformCreateSurface_wayland,platformCreateSurface_wayland]] + +=== Wayland Platform + +// refBegin vkCreateWaylandSurfaceKHR - Create a slink:VkSurfaceKHR object for a Wayland window + +To create a sname:VkSurfaceKHR object for a Wayland surface, call: + +include::../../api/protos/vkCreateWaylandSurfaceKHR.txt[] + + * pname:instance is the instance to associate the surface with. + * pname:pCreateInfo is a pointer to an instance of the + slink:VkWaylandSurfaceCreateInfoKHR structure containing parameters + affecting the creation of the surface object. + * pname:pAllocator is the allocator used for host memory allocated for the + surface object when there is no more specific allocator available (see + <>). + * pname:pSurface points to a sname:VkSurfaceKHR handle in which the + created surface object is returned. + +include::../../validity/protos/vkCreateWaylandSurfaceKHR.txt[] + +// refBegin VkWaylandSurfaceCreateInfoKHR - Structure specifying parameters of a newly created Wayland surface object + +The sname:VkWaylandSurfaceCreateInfoKHR structure is defined as: + +include::../../api/structs/VkWaylandSurfaceCreateInfoKHR.txt[] + + * pname:sType is the type of this structure and must: be + ename:VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR. + * pname:pNext is `NULL` or a pointer to an extension-specific structure. + * pname:flags is reserved for future use. + * pname:display and pname:surface are pointers to the Wayland + code:wl_display and code:wl_surface to associate the surface with. + +include::../../validity/structs/VkWaylandSurfaceCreateInfoKHR.txt[] + +On Wayland, pname:currentExtent is undefined latexmath:[$(0,0)$]. Whatever +the application sets a swapchain's pname:imageExtent to will be the size of +the window, after the first image is presented. pname:minImageExtent is +latexmath:[$(1,1)$], and pname:maxImageExtent is the maximum supported +surface size. + +Some Vulkan functions may: send protocol over the specified +code:wl_display connection when using a swapchain or presentable images +created from a sname:VkSurfaceKHR referring to a code:wl_surface. +Applications must: therefore ensure that both the code:wl_display and the +code:wl_surface remain valid for the lifetime of any sname:VkSwapchainKHR +objects created from a particular code:wl_display and code:wl_surface. Also, +calling flink:vkQueuePresentKHR will result in Vulkan sending +code:wl_surface.commit requests to the underlying code:wl_surface of each +sname:VkSwapchainKHR objects referenced by pname:pPresentInfo. Therefore, if +the application wishes to synchronize any window changes with a particular +frame, such requests must: be sent to the Wayland display server prior to +calling flink:vkQueuePresentKHR. diff --git a/doc/specs/vulkan/chapters/VK_KHR_wayland_surface/platformQuerySupport_wayland.txt b/doc/specs/vulkan/chapters/VK_KHR_wayland_surface/platformQuerySupport_wayland.txt new file mode 100644 index 00000000..ff72e39d --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_wayland_surface/platformQuerySupport_wayland.txt @@ -0,0 +1,19 @@ +[[platformQuerySupport_walyand,platformQuerySupport_walyand]] + +=== Wayland Platform + +// refBegin vkGetPhysicalDeviceWaylandPresentationSupportKHR - Query physical device for presentation to Wayland + +To determine whether a queue family of a physical device supports presentation +to a Wayland compositor, call: + +include::../../api/protos/vkGetPhysicalDeviceWaylandPresentationSupportKHR.txt[] + + * pname:physicalDevice is the physical device. + * pname:queueFamilyIndex is the queue family index. + * pname:display is a pointer to the sname:wl_display associated with a + Wayland compositor. + +This platform-specific function can: be called prior to creating a surface. + +include::../../validity/protos/vkGetPhysicalDeviceWaylandPresentationSupportKHR.txt[] diff --git a/doc/specs/vulkan/chapters/VK_KHR_win32_surface/platformCpp_win32.txt b/doc/specs/vulkan/chapters/VK_KHR_win32_surface/platformCpp_win32.txt new file mode 100644 index 00000000..41ee6a9a --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_win32_surface/platformCpp_win32.txt @@ -0,0 +1,4 @@ +[[platformCpp_win32,platformCpp_win32]] + + * **VK_USE_PLATFORM_WIN32_KHR** - Microsoft Windows + diff --git a/doc/specs/vulkan/chapters/VK_KHR_win32_surface/platformCreateSurface_win32.txt b/doc/specs/vulkan/chapters/VK_KHR_win32_surface/platformCreateSurface_win32.txt new file mode 100644 index 00000000..0e7558b9 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_win32_surface/platformCreateSurface_win32.txt @@ -0,0 +1,40 @@ +[[platformCreateSurface_win32,platformCreateSurface_win32]] + +=== Win32 Platform + +// refBegin vkCreateWin32SurfaceKHR - Create a slink:VkSurfaceKHR object for an Win32 native window + +To create a sname:VkSurfaceKHR object for a Win32 window, call: + +include::../../api/protos/vkCreateWin32SurfaceKHR.txt[] + + * pname:instance is the instance to associate the surface with. + * pname:pCreateInfo is a pointer to an instance of the + sname:VkWin32SurfaceCreateInfoKHR structure containing parameters + affecting the creation of the surface object. + * pname:pAllocator is the allocator used for host memory allocated for the + surface object when there is no more specific allocator available (see + <>). + * pname:pSurface points to a sname:VkSurfaceKHR handle in which the + created surface object is returned. + +include::../../validity/protos/vkCreateWin32SurfaceKHR.txt[] + +// refBegin VkWin32SurfaceCreateInfoKHR - Structure specifying parameters of a newly created Win32 surface object + +The sname:VkWin32SurfaceCreateInfoKHR structure is defined as: + +include::../../api/structs/VkWin32SurfaceCreateInfoKHR.txt[] + + * pname:sType is the type of this structure and must: be + ename:VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR. + * pname:pNext is `NULL` or a pointer to an extension-specific structure. + * pname:flags is reserved for future use. + * pname:hinstance and pname:hwnd are the Win32 code:HINSTANCE and + code:HWND for the window to associate the surface with. + +include::../../validity/structs/VkWin32SurfaceCreateInfoKHR.txt[] + +With Win32, pname:minImageExtent, pname:maxImageExtent, and +pname:currentExtent are the window size. Therefore, a swapchain's +pname:imageExtent must: match the window's size. diff --git a/doc/specs/vulkan/chapters/VK_KHR_win32_surface/platformQuerySupport_win32.txt b/doc/specs/vulkan/chapters/VK_KHR_win32_surface/platformQuerySupport_win32.txt new file mode 100644 index 00000000..03990002 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_win32_surface/platformQuerySupport_win32.txt @@ -0,0 +1,17 @@ +[[platformQuerySupport_win32,platformQuerySupport_win32]] + +=== Win32 Platform + +// refBegin vkGetPhysicalDeviceWin32PresentationSupportKHR - query queue family support for presentation on a Win32 display + +To determine whether a queue family of a physical device supports presentation +to the Microsoft Windows desktop, call: + +include::../../api/protos/vkGetPhysicalDeviceWin32PresentationSupportKHR.txt[] + + * pname:physicalDevice is the physical device. + * pname:queueFamilyIndex is the queue family index. + +This platform-specific function can: be called prior to creating a surface. + +include::../../validity/protos/vkGetPhysicalDeviceWin32PresentationSupportKHR.txt[] diff --git a/doc/specs/vulkan/chapters/VK_KHR_xcb_surface/platformCpp_xcb.txt b/doc/specs/vulkan/chapters/VK_KHR_xcb_surface/platformCpp_xcb.txt new file mode 100644 index 00000000..b688efb6 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_xcb_surface/platformCpp_xcb.txt @@ -0,0 +1,4 @@ +[[platformCpp_xcb,platformCpp_xcb]] + + * **VK_USE_PLATFORM_XCB_KHR** - X Window System, using the XCB library + diff --git a/doc/specs/vulkan/chapters/VK_KHR_xcb_surface/platformCreateSurface_xcb.txt b/doc/specs/vulkan/chapters/VK_KHR_xcb_surface/platformCreateSurface_xcb.txt new file mode 100644 index 00000000..b6d1a071 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_xcb_surface/platformCreateSurface_xcb.txt @@ -0,0 +1,57 @@ +[[platformCreateSurface_xcb,platformCreateSurface_xcb]] + +=== XCB Platform + +// refBegin vkCreateXcbSurfaceKHR - Create a slink:VkSurfaceKHR object for a X11 window, using the XCB client-side library + +To create a sname:VkSurfaceKHR object for an X11 window, using the XCB +client-side library, call: + +include::../../api/protos/vkCreateXcbSurfaceKHR.txt[] + + * pname:instance is the instance to associate the surface with. + * pname:pCreateInfo is a pointer to an instance of the + sname:VkXcbSurfaceCreateInfoKHR structure containing parameters + affecting the creation of the surface object. + * pname:pAllocator is the allocator used for host memory allocated for the + surface object when there is no more specific allocator available (see + <>). + * pname:pSurface points to a sname:VkSurfaceKHR handle in which the + created surface object is returned. + +include::../../validity/protos/vkCreateXcbSurfaceKHR.txt[] + +// refBegin VkXcbSurfaceCreateInfoKHR - Structure specifying parameters of a newly created Xcb surface object + +The sname:VkXcbSurfaceCreateInfoKHR structure is defined as: + +include::../../api/structs/VkXcbSurfaceCreateInfoKHR.txt[] + + * pname:sType is the type of this structure and must: be + ename:VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR. + * pname:pNext is `NULL` or a pointer to an extension-specific structure. + * pname:flags is reserved for future use. + * pname:connection is a pointer to an sname:xcb_connection_t to the X + server. + * pname:window is the sname:xcb_window_t for the X11 window to associate + the surface with. + +include::../../validity/structs/VkXcbSurfaceCreateInfoKHR.txt[] + +With Xcb, pname:minImageExtent, pname:maxImageExtent, and +pname:currentExtent are the window size. Therefore, a swapchain's +pname:imageExtent must: match the window's size. + +Some Vulkan functions may: send protocol over the specified xcb +connection when using a swapchain or presentable images created from a +VkSurface referring to an xcb window. Applications must: therefore ensure +the xcb connection is available to Vulkan for the duration of any +functions that manipulate such swapchains or their presentable images, and +any functions that build or queue command buffers that operate on such +presentable images. Specifically, applications using Vulkan with +xcb-based swapchains must: + + * Avoid holding a server grab on an xcb connection while waiting for + Vulkan operations to complete using a swapchain derived from a + different xcb connection referring to the same X server instance. + Failing to do so may: result in deadlock. diff --git a/doc/specs/vulkan/chapters/VK_KHR_xcb_surface/platformQuerySupport_xcb.txt b/doc/specs/vulkan/chapters/VK_KHR_xcb_surface/platformQuerySupport_xcb.txt new file mode 100644 index 00000000..daaef2ec --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_xcb_surface/platformQuerySupport_xcb.txt @@ -0,0 +1,19 @@ +[[platformQuerySupport_xcb,platformQuerySupport_xcb]] + +=== XCB Platform + +// refBegin vkGetPhysicalDeviceXcbPresentationSupportKHR - Query physical device for presentation to X11 server using XCB + +To determine whether a queue family of a physical device supports +presentation to an X11 server, using the XCB client-side library, call: + +include::../../api/protos/vkGetPhysicalDeviceXcbPresentationSupportKHR.txt[] + + * pname:physicalDevice is the physical device. + * pname:queueFamilyIndex is the queue family index. + * pname:connection is a pointer to an sname:xcb_connection_t to the X + server. pname:visual_id is an X11 visual (sname:xcb_visualid_t). + +This platform-specific function can: be called prior to creating a surface. + +include::../../validity/protos/vkGetPhysicalDeviceXcbPresentationSupportKHR.txt[] diff --git a/doc/specs/vulkan/chapters/VK_KHR_xlib_surface/platformCpp_xlib.txt b/doc/specs/vulkan/chapters/VK_KHR_xlib_surface/platformCpp_xlib.txt new file mode 100644 index 00000000..a1efa5ce --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_xlib_surface/platformCpp_xlib.txt @@ -0,0 +1,4 @@ +[[platformCpp_xlib,platformCpp_xlib]] + + * **VK_USE_PLATFORM_XLIB_KHR** - X Window System, using the Xlib library + diff --git a/doc/specs/vulkan/chapters/VK_KHR_xlib_surface/platformCreateSurface_xlib.txt b/doc/specs/vulkan/chapters/VK_KHR_xlib_surface/platformCreateSurface_xlib.txt new file mode 100644 index 00000000..18c8dacc --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_xlib_surface/platformCreateSurface_xlib.txt @@ -0,0 +1,58 @@ +[[platformCreateSurface_xlib,platformCreateSurface_xlib]] + +=== Xlib Platform + +// refBegin vkCreateXlibSurfaceKHR - Create a slink:VkSurfaceKHR object for an X11 window, using the Xlib client-side library + +To create a sname:VkSurfaceKHR object for an X11 window, using the Xlib +client-side library, call: + +include::../../api/protos/vkCreateXlibSurfaceKHR.txt[] + + * pname:instance is the instance to associate the surface with. + * pname:pCreateInfo is a pointer to an instance of the + sname:VkXlibSurfaceCreateInfoKHR structure containing the parameters + affecting the creation of the surface object. + * pname:pAllocator is the allocator used for host memory allocated for the + surface object when there is no more specific allocator available (see + <>). + * pname:pSurface points to a sname:VkSurfaceKHR handle in which the + created surface object is returned. + +include::../../validity/protos/vkCreateXlibSurfaceKHR.txt[] + +// refBegin VkXlibSurfaceCreateInfoKHR - Structure specifying parameters of a newly created Xlib surface object + +The sname:VkXlibSurfaceCreateInfoKHR structure is defined as: + +include::../../api/structs/VkXlibSurfaceCreateInfoKHR.txt[] + + * pname:sType is the type of this structure and must: be + ename:VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR. + * pname:pNext is `NULL` or a pointer to an extension-specific structure. + * pname:flags is reserved for future use. + * pname:dpy is a pointer to an Xlib Display connection to the X server. + * pname:window is an Xlib Window to associate the surface with. + +include::../../validity/structs/VkXlibSurfaceCreateInfoKHR.txt[] + +With Xlib, pname:minImageExtent, pname:maxImageExtent, and +pname:currentExtent are the window size. Therefore, a swapchain's +pname:imageExtent must: match the window's size. + +Some Vulkan functions may: send protocol over the specified Xlib Display +connection when using a swapchain or presentable images created from a +VkSurface referring to an Xlib window. Applications must: therefore ensure +the display connection is available to Vulkan for the duration of any +functions that manipulate such swapchains or their presentable images, and +any functions that build or queue command buffers that operate on such +presentable images. Specifically, applications using Vulkan with +Xlib-based swapchains must: + + * Call XInitThreads() before calling any other Xlib functions if they + intend to use Vulkan in multiple threads, or use Vulkan and Xlib + in separate threads. + * Avoid holding a server grab on a display connection while waiting for + Vulkan operations to complete using a swapchain derived from a + different display connection referring to the same X server instance. + Failing to do so may: result in deadlock. diff --git a/doc/specs/vulkan/chapters/VK_KHR_xlib_surface/platformQuerySupport_xlib.txt b/doc/specs/vulkan/chapters/VK_KHR_xlib_surface/platformQuerySupport_xlib.txt new file mode 100644 index 00000000..338ff355 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_KHR_xlib_surface/platformQuerySupport_xlib.txt @@ -0,0 +1,19 @@ +[[platformQuerySupport_xlib,platformQuerySupport_xlib]] + +=== Xlib Platform + +// refBegin vkGetPhysicalDeviceXlibPresentationSupportKHR - Query physical device for presentation to X11 server using Xlib + +To determine whether a queue family of a physical device supports presentation +to an X11 server, using the Xlib client-side library, call: + +include::../../api/protos/vkGetPhysicalDeviceXlibPresentationSupportKHR.txt[] + + * pname:physicalDevice is the physical device. + * pname:queueFamilyIndex is the queue family index. + * pname:dpy is a pointer to an Xlib sname:Display connection to the server. + * pname:visualId is an X11 visual (VisualID). + +This platform-specific function can: be called prior to creating a surface. + +include::../../validity/protos/vkGetPhysicalDeviceXlibPresentationSupportKHR.txt[] diff --git a/doc/specs/vulkan/chapters/VK_NV_external_memory/allocate_memory.txt b/doc/specs/vulkan/chapters/VK_NV_external_memory/allocate_memory.txt new file mode 100644 index 00000000..dfc920e2 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_NV_external_memory/allocate_memory.txt @@ -0,0 +1,10 @@ +When allocating memory that may: be exported to another process or {apiname} +instance, set the pname:pNext pointer of slink:VkMemoryAllocateInfo to refer +to a slink:VkExportMemoryAllocateInfoNV structure and set pname:handleTypes +to a non-zero value. Multiple handle types may: be requested for the same +allocation as long as they are compatible, as reported by +flink:vkGetPhysicalDeviceExternalMemoryFormatPropertiesNV. + +include::../../api/structs/VkExportMemoryAllocateInfoNV.txt[] + +include::../../validity/structs/VkExportMemoryAllocateInfoNV.txt[] diff --git a/doc/specs/vulkan/chapters/VK_NV_external_memory/create_image.txt b/doc/specs/vulkan/chapters/VK_NV_external_memory/create_image.txt new file mode 100644 index 00000000..a913a64e --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_NV_external_memory/create_image.txt @@ -0,0 +1,6 @@ +When creating an image that may: be backed by external memory, set the +pname:pNext pointer of slink:VkImageCreateInfo to refer to a +slink:VkExternalMemoryImageCreateInfoNV structure and set pname:handleTypes +to a non-zero value. The specified handle types must: all be compatible +with eachother and the other image creation parameters as reported by +flink:vkGetPhysicalDeviceExternalImageFormatPropertiesNV. diff --git a/doc/specs/vulkan/chapters/VK_NV_external_memory_capabilities/external_image_format.txt b/doc/specs/vulkan/chapters/VK_NV_external_memory_capabilities/external_image_format.txt new file mode 100644 index 00000000..afea3556 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_NV_external_memory_capabilities/external_image_format.txt @@ -0,0 +1,64 @@ +// refBegin vkGetPhysicalDeviceExternalImageFormatPropertiesNV determine image capabilities compatible with external memory handle types + +To determine the image capabilities compatible with an external +memory handle type, call: + +include::../../api/protos/vkGetPhysicalDeviceExternalImageFormatPropertiesNV.txt[] + + * pname:physicalDevice is the physical device from which to query the + image capabilities + * pname:format is the image format, corresponding to + slink:VkImageCreateInfo::pname:format. + * pname:type is the image type, corresponding to + slink:VkImageCreateInfo::pname:imageType. + * pname:tiling is the image tiling, corresponding to + slink:VkImageCreateInfo::pname:tiling. + * pname:usage is the intended usage of the image, corresponding to + slink:VkImageCreateInfo::pname:usage. + * pname:flags is a bitmask describing additional parameters of the image, + corresponding to slink:VkImageCreateInfo::pname:flags. + * pname:externalHandleType is either one of the bits from + slink:VkExternalMemoryHandleTypeFlagBitsNV, or 0. + * pname:pExternalImageFormatProperties points to an instance of the + slink:VkExternalImageFormatPropertiesNV structure in which capabilities + are returned. + +If pname:externalHandleType is 0, +slink:VkExternalImageFormatPropertiesNV::imageFormatProperties will +return the same values as a call to +flink:vkGetPhysicalDeviceImageFormatProperties, and the other members +of slink:VkExternalImageFormatPropertiesNV will all be 0. + +Otherwise, the members of +slink:VkExternalImageFormatPropertiesNV will be populated as +follows: + + * pname:imageFormatProperties will: be filled in as when calling + flink:vkGetPhysicalDeviceImageFormatPropertiesNV, but the values + returned may vary depending on the external handle type requested. + * pname:externalMemoryFeatures is a bitmask containing one or more of + VkExternalMemoryFeatureFlagBitsNV. + * pname:exportFromImportedHandleTypes will: contain a bit for every + external handle type that can be used to create memory from which the + handles of the type specified in pname:externalHandleType can be + exported. + * pname:compatibleHandleTypes will: contain a list of all the handle types + that may be specified simulatenously with the handle type specified by + pname:externalHandleType when calling flink:vkAllocateMemory. + pname:compatibleHandleTypes will always contain + pname:externalHandleType. + +The bits in slink:VkExternalMemoryFeatureFlagBitsNV are defined as +follows: + + * ename:VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV + External memory of the specified type must be created as a + dedicated allocation when used in the manner specified. + * ename:VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV + The implementation supports exporting handles of the specified + type. + * ename:VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV + The implementation supports importing handles of the specified + type. + +// refEnd vkGetPhysicalDeviceExternalImageFormatPropertiesNV VkExternalImageFormatPropertiesNV diff --git a/doc/specs/vulkan/chapters/VK_NV_external_memory_win32/get_handle_win32.txt b/doc/specs/vulkan/chapters/VK_NV_external_memory_win32/get_handle_win32.txt new file mode 100644 index 00000000..effb0d18 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_NV_external_memory_win32/get_handle_win32.txt @@ -0,0 +1,8 @@ +To retrieve the handle corresponding to a device memory object created +with pname:VkExportMemoryAllocateInfoNV::handleTypes set to include +ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV or +ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV, call: + +include::../../api/protos/vkGetMemoryWin32HandleNV.txt[] + +include::../../validity/protos/vkGetMemoryWin32HandleNV.txt[] diff --git a/doc/specs/vulkan/chapters/VK_NV_external_memory_win32/handle_permissions.txt b/doc/specs/vulkan/chapters/VK_NV_external_memory_win32/handle_permissions.txt new file mode 100644 index 00000000..3b26b531 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_NV_external_memory_win32/handle_permissions.txt @@ -0,0 +1,19 @@ +When pname:VkExportMemoryAllocateInfoNV::handleTypes includes +ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV, set the pname:pNext +pointer of slink:VkExportMemoryAllocateInfoNV to refer to a +slink:VkExportMemoryWin32HandleInfoNV structure to specify security attributes +and access rights for the memory object's external handle. + +include::../../api/structs/VkExportMemoryWin32HandleInfoNV.txt[] + +If this structure is not present, or if pAttributes is set to NULL, default +security descriptor values will: be used, and child processes created by the +application will not inherit the handle, as described in the MSDN documentation +for "Synchronization Object Security and Access Rights"[1]. Further, if the +structure is not present, the access rights will: be + + DXGI_SHARED_RESOURCE_READ | DXGI_SHARED_RESOURCE_WRITE + +include::../../validity/structs/VkExportMemoryWin32HandleInfoNV.txt[] + +[1] https://msdn.microsoft.com/en-us/library/windows/desktop/ms686670.aspx diff --git a/doc/specs/vulkan/chapters/VK_NV_external_memory_win32/import_memory_win32.txt b/doc/specs/vulkan/chapters/VK_NV_external_memory_win32/import_memory_win32.txt new file mode 100644 index 00000000..67c8c91b --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_NV_external_memory_win32/import_memory_win32.txt @@ -0,0 +1,34 @@ +To import memory created on the same physical device but outside of +the current Vulkan instance, set the pname:pNext pointer of +VkMemoryAllocateInfo to refer to a +slink:VkImportMemoryWin32HandleInfoNV structure. + +include::../../api/structs/VkImportMemoryWin32HandleInfoNV.txt[] + +The fields of slink:VkImportMemoryWin32HandleInfoNV are defined as follows: + + * pname:handleType: One of + ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV, + ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV, + ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV, + ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV, + or 0. + + * pname:handle: If pname:handleType is + ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV or + ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV + this must: be a valid handle returned by + flink:vkGetMemoryWin32HandleNV or, in the case of + ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV, + a handle duplicated from such a handle using + fname:DuplicateHandle(). If pname:handleType is + ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV, this + must: be a valid NT handle returned by + fname:IDXGIResource1::CreateSharedHandle() or a handle duplicated + from such a handle using fname:DuplicateHandle(). If + pname:handleType is + ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV, + this must: be a valid handle returned by + fname:IDXGIResource::GetSharedHandle(). + +include::../../validity/structs/VkImportMemoryWin32HandleInfoNV.txt[] diff --git a/doc/specs/vulkan/chapters/VK_NV_win32_keyed_mutex/keyed_mutex_submit.txt b/doc/specs/vulkan/chapters/VK_NV_win32_keyed_mutex/keyed_mutex_submit.txt new file mode 100644 index 00000000..e077d967 --- /dev/null +++ b/doc/specs/vulkan/chapters/VK_NV_win32_keyed_mutex/keyed_mutex_submit.txt @@ -0,0 +1,40 @@ +When submitting work that operates on memory imported from a Direct3D +11 resource to a queue, the keyed mutex mechanism may be used in +addition to Vulkan semaphores to synchronize the work. Keyed mutexes +are a property of a properly created shareable Direct3D 11 resource. +They can only be used if the imported resource was created with the +D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX flag. + +To acquire keyed mutexes before submitted work and/or release them +after, set the pname:pNext parameter of slink:VkSubmitInfo to refer +to a slink:VkWin32KeyedMutexAcquireReleaseInfoNV structure: + +include::../../api/structs/VkWin32KeyedMutexAcquireReleaseInfoNV.txt[] + + acquireCount: The number of entries in the pAcquireSyncs, + pAcquireKeys, and pAcquireTimeoutMilliseconds + arrays. + + pAcquireSyncs: An array of VkDeviceMemory objects which were + imported from Direct3D 11 resources. + + pAcquireKeys: An array of mutex key values to wait for prior to + beginning the submitted work. Entries refer to + the keyed mutex associated with the corresponding + entries in pAcquireSyncs. + + pAcquireTimeoutMilliseconds: Timeout values for each acquire + specified in pAcquireKeys. + + releaseCount: The number of entries in the pReleaseSyncs and + pReleaseKeys arrays. + + pReleaseSyncs: An array of VkDeviceMemory objects which were + imported from Direct3D 11 resources. + + pReleaseKeys: An array of mutex key values to set when the + submitted work has completed. Entries refer to + the keyed mutex associated with the corresponding + entries in pReleaseSyncs. + +include::../../validity/structs/VkWin32KeyedMutexAcquireReleaseInfoNV.txt[] diff --git a/doc/specs/vulkan/chapters/cmdbuffers.txt b/doc/specs/vulkan/chapters/cmdbuffers.txt index bc99504f..775f6112 100644 --- a/doc/specs/vulkan/chapters/cmdbuffers.txt +++ b/doc/specs/vulkan/chapters/cmdbuffers.txt @@ -514,6 +514,10 @@ include::../api/structs/VkSubmitInfo.txt[] include::../validity/structs/VkSubmitInfo.txt[] +ifdef::VK_NV_external_memory_keyed_mutex[] +include::VK_NV_win32_keyed_mutex/keyed_mutex_submit.txt[] +endif::VK_NV_external_memory_keyed_mutex[] + [[commandbuffers-submission-progress]] == Queue Forward Progress diff --git a/doc/specs/vulkan/chapters/devsandqueues.txt b/doc/specs/vulkan/chapters/devsandqueues.txt index 4d776ef8..17d3fda5 100644 --- a/doc/specs/vulkan/chapters/devsandqueues.txt +++ b/doc/specs/vulkan/chapters/devsandqueues.txt @@ -470,7 +470,11 @@ not allow run-time errors must: still operate correctly for valid usage and, if applicable, return valid data. Commands that wait indefinitely for device execution (namely -flink:vkDeviceWaitIdle, flink:vkQueueWaitIdle, flink:vkWaitForFences with a +flink:vkDeviceWaitIdle, flink:vkQueueWaitIdle, flink:vkWaitForFences +ifdef::VK_KHR_swapchain[] +or flink:vkAcquireNextImageKHR +endif::VK_KHR_swapchain[] +with a maximum pname:timeout, and flink:vkGetQueryPoolResults with the ename:VK_QUERY_RESULT_WAIT_BIT bit set in pname:flags) must: return in finite time even in the case of a lost device, and return either diff --git a/doc/specs/vulkan/chapters/drawing.txt b/doc/specs/vulkan/chapters/drawing.txt index 60b75446..1605c5ee 100644 --- a/doc/specs/vulkan/chapters/drawing.txt +++ b/doc/specs/vulkan/chapters/drawing.txt @@ -360,15 +360,27 @@ are generated is defined below, with each command. Drawing commands fall roughly into two categories: - * Non-indexed drawing (fname:vkCmdDraw and fname:vkCmdDrawIndirect) + * Non-indexed drawing commands present a sequential code:vertexIndex to the vertex shader. The sequential index is generated automatically by the device (see <> for details on both specifying the vertex attributes indexed by code:vertexIndex, as well as binding vertex buffers containing those attributes to a command buffer). - * Indexed drawing commands (fname:vkCmdDrawIndexed and - fname:vkCmdDrawIndexedIndirect) read index values from an _index buffer_ and use - this to compute the code:vertexIndex value for the vertex shader. + These commands are: + ** flink:vkCmdDraw + ** flink:vkCmdDrawIndirect +ifdef::VK_AMD_draw_indirect_count[] + ** flink:vkCmdDrawIndirectCountAMD. +endif::VK_AMD_draw_indirect_count[] + * Indexed drawing commands + read index values from an _index buffer_ and use this to compute the + code:vertexIndex value for the vertex shader. These commands are: + ** flink:vkCmdDrawIndexed + ** flink:vkCmdDrawIndexedIndirect +ifdef::VK_AMD_draw_indirect_count[] + ** flink:vkCmdDrawIndexedIndirectCountAMD. +endif::VK_AMD_draw_indirect_count[] + // refBegin vkCmdBindIndexBuffer Bind an index buffer to a command buffer. @@ -512,6 +524,35 @@ include::../validity/structs/VkDrawIndirectCommand.txt[] // refEnd VkDrawIndirectCommand vkCmdDrawIndirect +ifdef::VK_AMD_draw_indirect_count[] +// refBegin vkCmdDrawIndirectCountAMD Perform an indirect draw with the draw count sourced from a buffer. + +To record a non-indexed draw call with a draw call count sourced from a buffer, call: + +include::../api/protos/vkCmdDrawIndirectCountAMD.txt[] + + * pname:commandBuffer is the command buffer into which the command is + recorded. + * pname:buffer is the buffer containing draw parameters. + * pname:offset is the byte offset into pname:buffer where parameters + begin. + * pname:countBuffer is the buffer containing the draw count. + * pname:countBufferOffset is the byte offset into pname:countBuffer where the + draw count begins. + * pname:maxDrawCount specifies the maximum number of draws that will be executed. The actual number of executed draw calls is the minimum of the count specified in pname:countBuffer and pname:maxDrawCount. + * pname:stride is the byte stride between successive sets of draw + parameters. + +fname:vkCmdDrawIndirectCountAMD behaves similar to flink:vkCmdDrawIndirect +except that the draw count is read by the device from a buffer during execution. +The command will read an unsigned 32-bit integer from pname:countBuffer located +at pname:countBufferOffset and use this as the draw count. + +include::../validity/protos/vkCmdDrawIndirectCountAMD.txt[] + +// refEnd vkCmdDrawIndirectCountAMD +endif::VK_AMD_draw_indirect_count[] + // refBegin vkCmdDrawIndexedIndirect Perform an indexed indirect draw. To record an indexed indirect draw, call: @@ -556,3 +597,33 @@ the similarly named parameters of flink:vkCmdDrawIndexed. include::../validity/structs/VkDrawIndexedIndirectCommand.txt[] // refEnd VkDrawIndexedIndirectCommand vkCmdDrawIndexedIndirect + +ifdef::VK_AMD_draw_indirect_count[] +// refBegin vkCmdDrawIndexedIndirectCountAMD Perform an indexed indirect draw with the draw count sourced from a buffer. + +To record an indexed draw call with a draw call count sourced from a buffer, call: + +include::../api/protos/vkCmdDrawIndexedIndirectCountAMD.txt[] + + * pname:commandBuffer is the command buffer into which the command is + recorded. + * pname:buffer is the buffer containing draw parameters. + * pname:offset is the byte offset into pname:buffer where parameters + begin. + * pname:countBuffer is the buffer containing the draw count. + * pname:countBufferOffset is the byte offset into pname:countBuffer where the + draw count begins. + * pname:maxDrawCount specifies the maximum number of draws that will be executed. The actual number of executed draw calls is the minimum of the count specified in pname:countBuffer and pname:maxDrawCount. + * pname:stride is the byte stride between successive sets of draw + parameters. + +fname:vkCmdDrawIndexedIndirectCountAMD behaves similar to +flink:vkCmdDrawIndexedIndirectAMD except that the draw count is read by the device +from a buffer during execution. The command will read an unsigned 32-bit integer +from pname:countBuffer located at pname:countBufferOffset and use this as the +draw count. + +include::../validity/protos/vkCmdDrawIndexedIndirectCountAMD.txt[] + +// refEnd vkCmdDrawIndexedIndirectCountAMD +endif::VK_AMD_draw_indirect_count[] diff --git a/doc/specs/vulkan/chapters/features.txt b/doc/specs/vulkan/chapters/features.txt index 60b107ea..ae0316eb 100644 --- a/doc/specs/vulkan/chapters/features.txt +++ b/doc/specs/vulkan/chapters/features.txt @@ -230,7 +230,7 @@ out of bounds even if the members at the end are not statically used. whether depth bias clamping is supported. If this feature is not enabled, the pname:depthBiasClamp member of the sname:VkPipelineRasterizationStateCreateInfo structure must: be set - to 0.0 unless the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state is enabled, + to 0.0 unless the ename:VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state is enabled, and the pname:depthBiasClamp parameter to fname:vkCmdSetDepthBias must: be set to 0.0. * [[features-features-fillModeNonSolid]] pname:fillModeNonSolid indicates @@ -249,7 +249,7 @@ out of bounds even if the members at the end are not statically used. with width other than 1.0 are supported. If this feature is not enabled, the pname:lineWidth member of the sname:VkPipelineRasterizationStateCreateInfo structure must: be set - to 1.0 unless the VK_DYNAMIC_STATE_LINE_WIDTH dynamic state is enabled, + to 1.0 unless the ename:VK_DYNAMIC_STATE_LINE_WIDTH dynamic state is enabled, and the pname:lineWidth parameter to fname:vkCmdSetLineWidth must: be set to 1.0. When this feature is supported, the range and granularity of supported line widths are indicated by the pname:lineWidthRange and @@ -1497,16 +1497,16 @@ the same whether or not the feature is enabled. |maxFramebufferWidth |- |4096 |min |maxFramebufferHeight |- |4096 |min |maxFramebufferLayers |- |256 |min -|framebufferColorSampleCounts |- |(VK_SAMPLE_COUNT_1_BIT \| VK_SAMPLE_COUNT_4_BIT) |min -|framebufferDepthSampleCounts |- |(VK_SAMPLE_COUNT_1_BIT \| VK_SAMPLE_COUNT_4_BIT) |min -|framebufferStencilSampleCounts |- |(VK_SAMPLE_COUNT_1_BIT \| VK_SAMPLE_COUNT_4_BIT) |min -|framebufferNoAttachmentsSampleCounts |- |(VK_SAMPLE_COUNT_1_BIT \| VK_SAMPLE_COUNT_4_BIT) |min +|framebufferColorSampleCounts |- |(ename:VK_SAMPLE_COUNT_1_BIT \| ename:VK_SAMPLE_COUNT_4_BIT) |min +|framebufferDepthSampleCounts |- |(ename:VK_SAMPLE_COUNT_1_BIT \| ename:VK_SAMPLE_COUNT_4_BIT) |min +|framebufferStencilSampleCounts |- |(ename:VK_SAMPLE_COUNT_1_BIT \| ename:VK_SAMPLE_COUNT_4_BIT) |min +|framebufferNoAttachmentsSampleCounts |- |(ename:VK_SAMPLE_COUNT_1_BIT \| ename:VK_SAMPLE_COUNT_4_BIT) |min |maxColorAttachments |- |4 |min -|sampledImageColorSampleCounts |- |(VK_SAMPLE_COUNT_1_BIT \| VK_SAMPLE_COUNT_4_BIT) |min -|sampledImageIntegerSampleCounts |- |VK_SAMPLE_COUNT_1_BIT |min -|sampledImageDepthSampleCounts |- |(VK_SAMPLE_COUNT_1_BIT \| VK_SAMPLE_COUNT_4_BIT) |min -|sampledImageStencilSampleCounts |- |(VK_SAMPLE_COUNT_1_BIT \| VK_SAMPLE_COUNT_4_BIT) |min -|storageImageSampleCounts |VK_SAMPLE_COUNT_1_BIT |(VK_SAMPLE_COUNT_1_BIT \| VK_SAMPLE_COUNT_4_BIT) |min +|sampledImageColorSampleCounts |- |(ename:VK_SAMPLE_COUNT_1_BIT \| ename:VK_SAMPLE_COUNT_4_BIT) |min +|sampledImageIntegerSampleCounts |- |ename:VK_SAMPLE_COUNT_1_BIT |min +|sampledImageDepthSampleCounts |- |(ename:VK_SAMPLE_COUNT_1_BIT \| ename:VK_SAMPLE_COUNT_4_BIT) |min +|sampledImageStencilSampleCounts |- |(ename:VK_SAMPLE_COUNT_1_BIT \| ename:VK_SAMPLE_COUNT_4_BIT) |min +|storageImageSampleCounts |ename:VK_SAMPLE_COUNT_1_BIT |(ename:VK_SAMPLE_COUNT_1_BIT \| ename:VK_SAMPLE_COUNT_4_BIT) |min |maxSampleMaskWords |- |1 |min |timestampComputeAndGraphics |- |- |implementation dependent |timestampPeriod |- |- |duration @@ -2679,7 +2679,7 @@ element, rather than individual components occupying a single data element: A ``format'' is represented by a single enum value. The name of a format is usually built up by using the following pattern: - VK_FORMAT_{component-format|compression-scheme}_{numeric-format} + etext:VK_FORMAT_{component-format|compression-scheme}_{numeric-format} The component-format specifies either the size of the R, G, B, and A components (if they are present) in the case of a color format, or the size @@ -2744,24 +2744,24 @@ by the host endianness. [options="header",cols="16*1,23",width="100%"] |=============== >|0 >|1 >|2 >|3 >|4 >|5 >|6 >|7 >|8 >|9 >|10 >|11 >|12 >|13 >|14 >|15 ^| latexmath:[$\leftarrow$] Byte -^|R 16+>s|VK_FORMAT_R8_* -^|R ^|G 15+>s|VK_FORMAT_R8G8_* -^|R ^|G ^|B 14+>s|VK_FORMAT_R8G8B8_* -^|B ^|G ^|R 14+>s|VK_FORMAT_B8G8R8_* -^|R ^|G ^|B ^|A 13+>s|VK_FORMAT_R8G8B8A8_* -^|B ^|G ^|R ^|A 13+>s|VK_FORMAT_B8G8R8A8_* -2+^|R 15+>s|VK_FORMAT_R16_* -2+^|R 2+^|G 13+>s|VK_FORMAT_R16G16_* -2+^|R 2+^|G 2+^|B 11+>s|VK_FORMAT_R16G16B16_* -2+^|R 2+^|G 2+^|B 2+^|A 9+>s|VK_FORMAT_R16G16B16A16_* -4+^|R 13+>s|VK_FORMAT_R32_* -4+^|R 4+^|G 9+>s|VK_FORMAT_R32G32_* -4+^|R 4+^|G 4+^|B 5+>s|VK_FORMAT_R32G32B32_* -4+^|R 4+^|G 4+^|B 4+^|A >s|VK_FORMAT_R32G32B32A32_* -8+^|R 9+>s|VK_FORMAT_R64_* -8+^|R 8+^|G >s|VK_FORMAT_R64G64_* -17+^s|VK_FORMAT_R64G64B64_* as VK_FORMAT_R64G64_* but with B in bytes 16-23 -17+^s|VK_FORMAT_R64G64B64A64_* as VK_FORMAT_R64G64B64_* but with A in bytes 24-31 +^|R 16+>s|etext:VK_FORMAT_R8_* +^|R ^|G 15+>s|etext:VK_FORMAT_R8G8_* +^|R ^|G ^|B 14+>s|etext:VK_FORMAT_R8G8B8_* +^|B ^|G ^|R 14+>s|etext:VK_FORMAT_B8G8R8_* +^|R ^|G ^|B ^|A 13+>s|etext:VK_FORMAT_R8G8B8A8_* +^|B ^|G ^|R ^|A 13+>s|etext:VK_FORMAT_B8G8R8A8_* +2+^|R 15+>s|etext:VK_FORMAT_R16_* +2+^|R 2+^|G 13+>s|etext:VK_FORMAT_R16G16_* +2+^|R 2+^|G 2+^|B 11+>s|etext:VK_FORMAT_R16G16B16_* +2+^|R 2+^|G 2+^|B 2+^|A 9+>s|etext:VK_FORMAT_R16G16B16A16_* +4+^|R 13+>s|etext:VK_FORMAT_R32_* +4+^|R 4+^|G 9+>s|etext:VK_FORMAT_R32G32_* +4+^|R 4+^|G 4+^|B 5+>s|etext:VK_FORMAT_R32G32B32_* +4+^|R 4+^|G 4+^|B 4+^|A >s|etext:VK_FORMAT_R32G32B32A32_* +8+^|R 9+>s|etext:VK_FORMAT_R64_* +8+^|R 8+^|G >s|etext:VK_FORMAT_R64G64_* +17+^s|etext:VK_FORMAT_R64G64B64_* as etext:VK_FORMAT_R64G64_* but with B in bytes 16-23 +17+^s|etext:VK_FORMAT_R64G64B64A64_* as etext:VK_FORMAT_R64G64B64_* but with A in bytes 24-31 |=============== Packed formats store multiple components within one underlying type. The bit @@ -2776,45 +2776,45 @@ endianness. [options="header",cols="24h,8*1",width="80%"] |=============== ^| Bit latexmath:[$\rightarrow$] >| 7 >| 6 >| 5 >| 4 >| 3 >| 2 >| 1 >| 0 -^| VK_FORMAT_R4G4_UNORM_PACK8 +^| ename:VK_FORMAT_R4G4_UNORM_PACK8 ^| latexmath:[$R_3$] ^| latexmath:[$R_2$] ^| latexmath:[$R_1$] ^| latexmath:[$R_0$] ^| latexmath:[$G_3$] ^| latexmath:[$G_2$] ^| latexmath:[$G_1$] ^| latexmath:[$G_0$] |=============== [[features-formats-packed-16-bit]] -.Bit mappings for packed 16-bit VK_FORMAT_* formats +.Bit mappings for packed 16-bit formats [options="header",cols="18h,16*1",width="100%"] |=============== ^| Bit latexmath:[$\rightarrow$] >| 15 >| 14 >| 13 >| 12 >| 11 >| 10 >| 9 >| 8 >| 7 >| 6 >| 5 >| 4 >| 3 >| 2 >| 1 >| 0 -^|R4G4B4A4_UNORM_PACK16 +^|ename:VK_FORMAT_R4G4B4A4_UNORM_PACK16 ^| latexmath:[$R_3$] ^| latexmath:[$R_2$] ^| latexmath:[$R_1$] ^| latexmath:[$R_0$] ^| latexmath:[$G_3$] ^| latexmath:[$G_2$] ^| latexmath:[$G_1$] ^| latexmath:[$G_0$] ^| latexmath:[$B_3$] ^| latexmath:[$B_2$] ^| latexmath:[$B_1$] ^| latexmath:[$B_0$] ^| latexmath:[$A_3$] ^| latexmath:[$A_2$] ^| latexmath:[$A_1$] ^| latexmath:[$A_0$] -^|B4G4R4A4_UNORM_PACK16 +^|ename:VK_FORMAT_B4G4R4A4_UNORM_PACK16 ^| latexmath:[$B_3$] ^| latexmath:[$B_2$] ^| latexmath:[$B_1$] ^| latexmath:[$B_0$] ^| latexmath:[$G_3$] ^| latexmath:[$G_2$] ^| latexmath:[$G_1$] ^| latexmath:[$G_0$] ^| latexmath:[$R_3$] ^| latexmath:[$R_2$] ^| latexmath:[$R_1$] ^| latexmath:[$R_0$] ^| latexmath:[$A_3$] ^| latexmath:[$A_2$] ^| latexmath:[$A_1$] ^| latexmath:[$A_0$] -^|R5G6B5_UNORM_PACK16 +^|ename:VK_FORMAT_R5G6B5_UNORM_PACK16 ^| latexmath:[$R_4$] ^| latexmath:[$R_3$] ^| latexmath:[$R_2$] ^| latexmath:[$R_1$] ^| latexmath:[$R_0$] ^| latexmath:[$G_5$] ^| latexmath:[$G_4$] ^| latexmath:[$G_3$] ^| latexmath:[$G_2$] ^| latexmath:[$G_1$] ^| latexmath:[$G_0$] ^| latexmath:[$B_4$] ^| latexmath:[$B_3$] ^| latexmath:[$B_2$] ^| latexmath:[$B_1$] ^| latexmath:[$B_0$] -^|B5G6R5_UNORM_PACK16 +^|ename:VK_FORMAT_B5G6R5_UNORM_PACK16 ^| latexmath:[$B_4$] ^| latexmath:[$B_3$] ^| latexmath:[$B_2$] ^| latexmath:[$B_1$] ^| latexmath:[$B_0$] ^| latexmath:[$G_5$] ^| latexmath:[$G_4$] ^| latexmath:[$G_3$] ^| latexmath:[$G_2$] ^| latexmath:[$G_1$] ^| latexmath:[$G_0$] ^| latexmath:[$R_4$] ^| latexmath:[$R_3$] ^| latexmath:[$R_2$] ^| latexmath:[$R_1$] ^| latexmath:[$R_0$] -^|R5G5B5A1_UNORM_PACK16 +^|ename:VK_FORMAT_R5G5B5A1_UNORM_PACK16 ^| latexmath:[$R_4$] ^| latexmath:[$R_3$] ^| latexmath:[$R_2$] ^| latexmath:[$R_1$] ^| latexmath:[$R_0$] ^| latexmath:[$G_4$] ^| latexmath:[$G_3$] ^| latexmath:[$G_2$] ^| latexmath:[$G_1$] ^| latexmath:[$G_0$] ^| latexmath:[$B_4$] ^| latexmath:[$B_3$] ^| latexmath:[$B_2$] ^| latexmath:[$B_1$] ^| latexmath:[$B_0$] ^| latexmath:[$A_0$] -^|B5G5R5A1_UNORM_PACK16 +^|ename:VK_FORMAT_B5G5R5A1_UNORM_PACK16 ^| latexmath:[$B_4$] ^| latexmath:[$B_3$] ^| latexmath:[$B_2$] ^| latexmath:[$B_1$] ^| latexmath:[$B_0$] ^| latexmath:[$G_4$] ^| latexmath:[$G_3$] ^| latexmath:[$G_2$] ^| latexmath:[$G_1$] ^| latexmath:[$G_0$] ^| latexmath:[$R_4$] ^| latexmath:[$R_3$] ^| latexmath:[$R_2$] ^| latexmath:[$R_1$] ^| latexmath:[$R_0$] ^| latexmath:[$A_0$] -^|A1R5G5B5_UNORM_PACK16 +^|ename:VK_FORMAT_A1R5G5B5_UNORM_PACK16 ^| latexmath:[$A_0$] ^| latexmath:[$R_4$] ^| latexmath:[$R_3$] ^| latexmath:[$R_2$] ^| latexmath:[$R_1$] ^| latexmath:[$R_0$] ^| latexmath:[$G_4$] ^| latexmath:[$G_3$] ^| latexmath:[$G_2$] ^| latexmath:[$G_1$] ^| latexmath:[$G_0$] @@ -2828,7 +2828,7 @@ endianness. |=============== >|31 >|30 >|29 >|28 >|27 >|26 >|25 >|24 >|23 >|22 >|21 >|20 >|19 >|18 >|17 >|16 >|15 >|14 >|13 >|12 >|11 >|10 >|9 >|8 >|7 >|6 >|5 >|4 >|3 >|2 >|1 >|0 -32+^s|VK_FORMAT_A8B8G8R8_*_PACK32 +32+^s|etext:VK_FORMAT_A8B8G8R8_*_PACK32 ^|latexmath:[$A_7$] ^|latexmath:[$A_6$] ^|latexmath:[$A_5$] ^|latexmath:[$A_4$] ^|latexmath:[$A_3$] ^|latexmath:[$A_2$] ^|latexmath:[$A_1$] ^|latexmath:[$A_0$] ^|latexmath:[$B_7$] ^|latexmath:[$B_6$] ^|latexmath:[$B_5$] ^|latexmath:[$B_4$] @@ -2837,7 +2837,7 @@ endianness. ^|latexmath:[$G_3$] ^|latexmath:[$G_2$] ^|latexmath:[$G_1$] ^|latexmath:[$G_0$] ^|latexmath:[$R_7$] ^|latexmath:[$R_6$] ^|latexmath:[$R_5$] ^|latexmath:[$R_4$] ^|latexmath:[$R_3$] ^|latexmath:[$R_2$] ^|latexmath:[$R_1$] ^|latexmath:[$R_0$] -32+^s|VK_FORMAT_A2R10G10B10_*_PACK32 +32+^s|etext:VK_FORMAT_A2R10G10B10_*_PACK32 ^|latexmath:[$A_1$] ^|latexmath:[$A_0$] ^|latexmath:[$R_9$] ^|latexmath:[$R_8$] ^|latexmath:[$R_7$] ^|latexmath:[$R_6$] ^|latexmath:[$R_5$] ^|latexmath:[$R_4$] ^|latexmath:[$R_3$] ^|latexmath:[$R_2$] ^|latexmath:[$R_1$] ^|latexmath:[$R_0$] @@ -2845,7 +2845,7 @@ endianness. ^|latexmath:[$G_4$] ^|latexmath:[$G_3$] ^|latexmath:[$G_2$] ^|latexmath:[$G_1$] ^|latexmath:[$G_0$] ^|latexmath:[$B_9$] ^|latexmath:[$B_8$] ^|latexmath:[$B_7$] ^|latexmath:[$B_6$] ^|latexmath:[$B_5$] ^|latexmath:[$B_4$] ^|latexmath:[$B_3$] ^|latexmath:[$B_2$] ^|latexmath:[$B_1$] ^|latexmath:[$B_0$] -32+^s|VK_FORMAT_A2B10G10R10_*_PACK32 +32+^s|etext:VK_FORMAT_A2B10G10R10_*_PACK32 ^|latexmath:[$A_1$] ^|latexmath:[$A_0$] ^|latexmath:[$B_9$] ^|latexmath:[$B_8$] ^|latexmath:[$B_7$] ^|latexmath:[$B_6$] ^|latexmath:[$B_5$] ^|latexmath:[$B_4$] ^|latexmath:[$B_3$] ^|latexmath:[$B_2$] ^|latexmath:[$B_1$] ^|latexmath:[$B_0$] @@ -2853,14 +2853,14 @@ endianness. ^|latexmath:[$G_4$] ^|latexmath:[$G_3$] ^|latexmath:[$G_2$] ^|latexmath:[$G_1$] ^|latexmath:[$G_0$] ^|latexmath:[$R_9$] ^|latexmath:[$R_8$] ^|latexmath:[$R_7$] ^|latexmath:[$R_6$] ^|latexmath:[$R_5$] ^|latexmath:[$R_4$] ^|latexmath:[$R_3$] ^|latexmath:[$R_2$] ^|latexmath:[$R_1$] ^|latexmath:[$R_0$] -32+^s|VK_FORMAT_B10G11R11_UFLOAT_PACK32 +32+^s|ename:VK_FORMAT_B10G11R11_UFLOAT_PACK32 ^|latexmath:[$B_9$] ^|latexmath:[$B_8$] ^|latexmath:[$B_7$] ^|latexmath:[$B_6$] ^|latexmath:[$B_5$] ^|latexmath:[$B_4$] ^|latexmath:[$B_3$] ^|latexmath:[$B_2$] ^|latexmath:[$B_1$] ^|latexmath:[$B_0$] ^|latexmath:[$G_{10}$] ^|latexmath:[$G_9$] ^|latexmath:[$G_8$] ^|latexmath:[$G_7$] ^|latexmath:[$G_6$] ^|latexmath:[$G_5$] ^|latexmath:[$G_4$] ^|latexmath:[$G_3$] ^|latexmath:[$G_2$] ^|latexmath:[$G_1$] ^|latexmath:[$G_0$] ^|latexmath:[$R_{10}$] ^|latexmath:[$R_9$] ^|latexmath:[$R_8$] ^|latexmath:[$R_7$] ^|latexmath:[$R_6$] ^|latexmath:[$R_5$] ^|latexmath:[$R_4$] ^|latexmath:[$R_3$] ^|latexmath:[$R_2$] ^|latexmath:[$R_1$] ^|latexmath:[$R_0$] -32+^s|VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 +32+^s|ename:VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 ^|latexmath:[$E_4$] ^|latexmath:[$E_3$] ^|latexmath:[$E_2$] ^|latexmath:[$E_1$] ^|latexmath:[$E_0$] ^|latexmath:[$B_8$] ^|latexmath:[$B_7$] ^|latexmath:[$B_6$] ^|latexmath:[$B_5$] ^|latexmath:[$B_4$] ^|latexmath:[$B_3$] ^|latexmath:[$B_2$] ^|latexmath:[$B_1$] ^|latexmath:[$B_0$] @@ -2868,7 +2868,7 @@ endianness. ^|latexmath:[$G_4$] ^|latexmath:[$G_3$] ^|latexmath:[$G_2$] ^|latexmath:[$G_1$] ^|latexmath:[$G_0$] ^|latexmath:[$R_8$] ^|latexmath:[$R_7$] ^|latexmath:[$R_6$] ^|latexmath:[$R_5$] ^|latexmath:[$R_4$] ^|latexmath:[$R_3$] ^|latexmath:[$R_2$] ^|latexmath:[$R_1$] ^|latexmath:[$R_0$] -32+^s|VK_FORMAT_X8_D24_UNORM_PACK32 +32+^s|ename:VK_FORMAT_X8_D24_UNORM_PACK32 ^|latexmath:[$X_7$] ^|latexmath:[$X_6$] ^|latexmath:[$X_5$] ^|latexmath:[$X_4$] ^|latexmath:[$X_3$] ^|latexmath:[$X_2$] ^|latexmath:[$X_1$] ^|latexmath:[$X_0$] ^|latexmath:[$D_{23}$] ^|latexmath:[$D_{22}$] ^|latexmath:[$D_{21}$] ^|latexmath:[$D_{20}$] @@ -3195,6 +3195,10 @@ If the format being queried is a depth/stencil format, this bit only indicates range latexmath:[$[0,1\]$] and should: be proportional to, or a weighted average of, the number of comparison passes or failures. +ifdef::VK_IMG_filter_cubic[] +include::VK_IMG_filter_cubic/filter_cubic_sampled_bit_description.txt[] +endif::VK_IMG_filter_cubic[] + The following features may: appear in pname:bufferFeatures, indicating they are supported by buffers or buffer views created with the queried flink:vkGetPhysicalDeviceFormatProperties::pname:format: @@ -3704,6 +3708,9 @@ one of: this table, <>, or <>. |========================================= +ifdef::VK_IMG_filter_cubic[] +include::VK_IMG_filter_cubic/supported_formats.txt[] +endif::VK_IMG_filter_cubic[] == Additional Image Capabilities @@ -3808,6 +3815,10 @@ sname:VkImageFormatProperties will be filled with zero. include::../validity/structs/VkImageFormatProperties.txt[] +ifdef::VK_NV_external_memory_capabilities[] +include::./VK_NV_external_memory_capabilities/external_image_format.txt[] +endif::VK_NV_external_memory_capabilities[] + [[features-supported-sample-counts]] === Supported Sample Counts @@ -3817,6 +3828,7 @@ sample counts for the image parameters. pname:sampleCounts will be set to ename:VK_SAMPLE_COUNT_1_BIT if at least one of the following conditions is true: + * pname:tiling is ename:VK_IMAGE_TILING_LINEAR * pname:type is not ename:VK_IMAGE_TYPE_2D * The ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT flag in diff --git a/doc/specs/vulkan/chapters/fundamentals.txt b/doc/specs/vulkan/chapters/fundamentals.txt index 7fcc48a2..3c1fb928 100644 --- a/doc/specs/vulkan/chapters/fundamentals.txt +++ b/doc/specs/vulkan/chapters/fundamentals.txt @@ -216,18 +216,7 @@ commands that affect that action command must: match the recording and submission order, within submissions to a single queue. [[fundamentals-queueoperation-apiorder]] -Within a subpass of a <>, for a given -(x,y,layer,sample) sample location, the following stages are guaranteed to -execute in _API order_ for each separate primitive that includes that sample -location: - - * depth bounds test - * stencil test, stencil op and stencil write - * depth test and depth write - * occlusion queries - * blending, logic op and color write - -where the API order sorts primitives: +_API order_ sorts primitives: * First, by the action command that generates them. * Second, by the order they are processed by @@ -765,6 +754,9 @@ include::../api/enums/VkResult.txt[] An event is unsignaled * ename:VK_INCOMPLETE A return array was too small for the result +ifdef::VK_KHR_swapchain[] +include::VK_KHR_swapchain/VkResultSuccessDescriptions_swapchain.txt[] +endif::VK_KHR_swapchain[] [[fundamentals-errorcodes]] .Error codes @@ -796,6 +788,21 @@ include::../api/enums/VkResult.txt[] * ename:VK_ERROR_FRAGMENTED_POOL A requested pool allocation has failed due to fragmentation of the pool's memory. +ifdef::VK_KHR_surface[] +include::VK_KHR_surface/VkResultErrorDescriptions_surface.txt[] +endif::VK_KHR_surface[] +ifdef::VK_KHR_swapchain[] +include::VK_KHR_swapchain/VkResultErrorDescriptions_swapchain.txt[] +endif::VK_KHR_swapchain[] +ifdef::VK_KHR_display_swapchain[] +include::VK_KHR_display_swapchain/VkResultErrorDescriptions_display_swapchain.txt[] +endif::VK_KHR_display_swapchain[] +ifdef::VK_NV_glsl_shader[] +* ename:VK_ERROR_INVALID_SHADER_NV + One or more shaders failed to compile or link. More details are + reported back to the application via pname:VK_EXT_debug_report + if enabled. +endif::VK_NV_glsl_shader[] If a command returns a run time error, it will leave any result pointers unmodified, unless other behavior is explicitly defined in the specification. diff --git a/doc/specs/vulkan/chapters/initialization.txt b/doc/specs/vulkan/chapters/initialization.txt index ee38ab1b..c3a2e081 100644 --- a/doc/specs/vulkan/chapters/initialization.txt +++ b/doc/specs/vulkan/chapters/initialization.txt @@ -54,12 +54,13 @@ be cast to the type of the command being queried. 1:: The returned function pointer must: only be called with a dispatchable object -(the first parameter) that is a child of pname:instance. +(the first parameter) that is pname:instance or a child of pname:instance. e.g. sname:VkInstance, sname:VkPhysicalDevice, sname:VkDevice, sname:VkQueue, or sname:VkCommandBuffer. 2:: -available extension is an extension function supported by any of the loader, ICD or layer. +An ``available extension'' is an extension function supported by any of the +loader, driver or layer. ifdef::editing-notes[] [NOTE] @@ -112,14 +113,14 @@ be cast to the type of the command being queried. | invalid device | * | undefined | device | NULL | undefined | device | core Vulkan command^1^ | fp -| device | enabled device extension commands for pname:device | fp +| device | enabled extension commands^1^ | fp | device | * (any pname:pName not covered above) | NULL |===== 1:: -pname:pName is the name of any Vulkan command whose first parameter - is sname:VkDevice or any of its dispatchable children (e.g. sname:VkQueue, - sname:vkCommandBuffer). +The returned function pointer must: only be called with a dispatchable object +(the first parameter) that is pname:device or a child of pname:device. + e.g. sname:VkDevice, sname:VkQueue, or sname:VkCommandBuffer. include::../validity/protos/vkGetDeviceProcAddr.txt[] diff --git a/doc/specs/vulkan/chapters/interfaces.txt b/doc/specs/vulkan/chapters/interfaces.txt index f2d1bf23..574c35df 100644 --- a/doc/specs/vulkan/chapters/interfaces.txt +++ b/doc/specs/vulkan/chapters/interfaces.txt @@ -497,18 +497,18 @@ descriptor types. .Shader Resource and Descriptor Type Correspondence [width="90%",cols="<1,<2",options="header"] |============================= -| Resource type | Descriptor Type -| sampler |VK_DESCRIPTOR_TYPE_SAMPLER -| sampled image |VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE -| storage image |VK_DESCRIPTOR_TYPE_STORAGE_IMAGE -| combined image sampler | VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER -| uniform texel buffer | VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER -| storage texel buffer | VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER -| uniform buffer | VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER + - VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC -| storage buffer | VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + - VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC -| input attachment| VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT +| Resource type | Descriptor Type +| sampler | ename:VK_DESCRIPTOR_TYPE_SAMPLER +| sampled image | ename:VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE +| storage image | ename:VK_DESCRIPTOR_TYPE_STORAGE_IMAGE +| combined image sampler | ename:VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER +| uniform texel buffer | ename:VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER +| storage texel buffer | ename:VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER +| uniform buffer | ename:VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER + + ename:VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC +| storage buffer | ename:VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + + ename:VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC +| input attachment | ename:VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT |============================= .Shader Resource and Storage Class Correspondence @@ -685,6 +685,64 @@ used interchangeably with a term equivalent to a variable decorated with that particular built-in. Built-ins that represent integer values can: be declared as either signed or unsigned 32-bit integers. +ifdef::VK_AMD_shader_explicit_vertex_parameter[] +code:BaryCoordNoPerspAMD:: + +The code:BaryCoordNoPerspAMD decoration can: be used to decorate a +fragment shader input variable. This variable will contain the (I,J) pair of +the barycentric coordinates corresponding to the fragment evaluated using +linear interpolation at the pixel's center. The K coordinate of the +barycentric coordinates can: be derived given the identity I + J + K = 1.0. + +code:BaryCoordNoPerspCentroidAMD:: + +The code:BaryCoordNoPerspCentroidAMD decoration can: be used to decorate a +fragment shader input variable. This variable will contain the (I,J) pair of +the barycentric coordinates corresponding to the fragment evaluated using +linear interpolation at the centroid. The K coordinate of the +barycentric coordinates can: be derived given the identity I + J + K = 1.0. + +code:BaryCoordNoPerspSampleAMD:: + +The code:BaryCoordNoPerspCentroidAMD decoration can: be used to decorate a +fragment shader input variable. This variable will contain the (I,J) pair of +the barycentric coordinates corresponding to the fragment evaluated using +linear interpolation at each covered sample. The K coordinate of the +barycentric coordinates can: be derived given the identity I + J + K = 1.0. + +code:BaryCoordPullModelAMD:: + +The code:BaryCoordPullModelAMD decoration can: be used to decorate a fragment +shader input variable. This variable will contain (1/W, 1/I, 1/J) evaluated at +the pixel center and can: be used to calculate gradients and then interpolate +I, J, and W at any desired sample location. + +code:BaryCoordSmoothAMD:: + +The code:BaryCoordSmoothAMD decoration can: be used to decorate a +fragment shader input variable. This variable will contain the (I,J) pair of +the barycentric coordinates corresponding to the fragment evaluated using +perspective interpolation at the pixel's center. The K coordinate of the +barycentric coordinates can: be derived given the identity I + J + K = 1.0. + +code:BaryCoordSmoothCentroidAMD:: + +The code:BaryCoordSmoothCentroidAMD decoration can: be used to decorate a +fragment shader input variable. This variable will contain the (I,J) pair of +the barycentric coordinates corresponding to the fragment evaluated using +perspective interpolation at the centroid. The K coordinate of the +barycentric coordinates can: be derived given the identity I + J + K = 1.0. + +code:BaryCoordSmoothSampleAMD:: + +The code:BaryCoordSmoothCentroidAMD decoration can: be used to decorate a +fragment shader input variable. This variable will contain the (I,J) pair of +the barycentric coordinates corresponding to the fragment evaluated using +perspective interpolation at each covered sample. The K coordinate of the +barycentric coordinates can: be derived given the identity I + J + K = 1.0. + +endif::VK_AMD_shader_explicit_vertex_parameter[] + code:ClipDistance:: Decorating a variable with the code:ClipDistance built-in decoration will make @@ -1037,7 +1095,7 @@ control, tessellation evaluation, and geometry shaders. In a vertex shader, any variable decorated with code:PointSize must: be declared using the output storage class. + -In a tesselation control, tessellation evaluation, or geometry shader, any +In a tessellation control, tessellation evaluation, or geometry shader, any variable decorated with code:PointSize must: be declared using either the input or output storage class. + @@ -1065,7 +1123,7 @@ control, tessellation evaluation, and geometry shaders. In a vertex shader, any variable decorated with code:Position must: be declared using the output storage class. + -In a tesselation control, tessellation evaluation, or geometry shader, any +In a tessellation control, tessellation evaluation, or geometry shader, any variable decorated with code:Position must: not be declared in a storage class other than input or output. + @@ -1103,7 +1161,7 @@ to an output variable decorated with code:PrimitiveId in all execution paths. The code:PrimitiveId decoration must: be used only within fragment, tessellation control, tessellation evaluation, and geometry shaders. + -In a fragment, tesselation control or tessellation evaluation shader, any +In a fragment, tessellation control or tessellation evaluation shader, any variable decorated with code:PrimitiveId must: be declared using the output storage class. + diff --git a/doc/specs/vulkan/chapters/introduction.txt b/doc/specs/vulkan/chapters/introduction.txt index 182e547f..92f8135a 100644 --- a/doc/specs/vulkan/chapters/introduction.txt +++ b/doc/specs/vulkan/chapters/introduction.txt @@ -183,7 +183,7 @@ August, 2008. [[Khronos Data Format Specification]]:: A. Garrard, _Khronos Data Format Specification, version 1.1_, https://www.khronos.org/registry/dataformat/specs/1.1/dataformat.1.1.html, -March 9, 2016. +June, 2016. [[Khronos SPIR-V Extended Instructions for GLSL Specification]]:: J. Kessenich, _SPIR-V Extended Instructions for GLSL, Version 1.00_, diff --git a/doc/specs/vulkan/chapters/memory.txt b/doc/specs/vulkan/chapters/memory.txt index 43515f16..c9672353 100644 --- a/doc/specs/vulkan/chapters/memory.txt +++ b/doc/specs/vulkan/chapters/memory.txt @@ -659,6 +659,45 @@ include::../api/structs/VkMemoryAllocateInfo.txt[] include::../validity/structs/VkMemoryAllocateInfo.txt[] +ifdef::VK_NV_dedicated_allocation[] + +// refBegin VkDedicatedAllocationMemoryAllocateInfoNV specify a dedicated memory allocation resource + +If the pname:pNext list includes a +sname:VkDedicatedAllocationMemoryAllocateInfoNV structure, then that +structure includes a handle of the sole buffer or image resource that the +memory can: be bound to. + +The sname:VkDedicatedAllocationMemoryAllocateInfoNV structure is +defined as: + +include::../api/structs/VkDedicatedAllocationMemoryAllocateInfoNV.txt[] + + * pname:sType is the type of this structure. + * pname:pNext is `NULL` or a pointer to an extension-specific structure. + * pname:image is sname:VK_NULL_HANDLE or a handle of an image which this + memory will be bound to. + * pname:buffer is sname:VK_NULL_HANDLE or a handle of a buffer which this + memory will be bound to. + +include::../validity/structs/VkDedicatedAllocationMemoryAllocateInfoNV.txt[] + +endif::VK_NV_dedicated_allocation[] + +ifdef::VK_NV_external_memory[] +include::./VK_NV_external_memory/allocate_memory.txt[] +endif::VK_NV_external_memory[] + +ifdef::VK_NV_external_memory_win32[] + +include::VK_NV_external_memory_win32/handle_permissions.txt[] + +include::VK_NV_external_memory_win32/import_memory_win32.txt[] + +include::VK_NV_external_memory_win32/get_handle_win32.txt[] + +endif::VK_NV_external_memory_win32[] + // refBegin vkFreeMemory Free GPU memory To free a memory object, call: diff --git a/doc/specs/vulkan/chapters/pipelines.txt b/doc/specs/vulkan/chapters/pipelines.txt index 5057741f..8aa3c4fb 100644 --- a/doc/specs/vulkan/chapters/pipelines.txt +++ b/doc/specs/vulkan/chapters/pipelines.txt @@ -306,6 +306,14 @@ information. pname:pDynamicState points to a structure of type sname:VkPipelineDynamicStateCreateInfo. +ifdef::VK_NV_glsl_shader[] +If any shader stage fails to compile, +ifdef::VK_EXT_debug_report[] +the compile log will be reported back to the application, and +endif::VK_EXT_debug_report[] +ename:VK_ERROR_INVALID_SHADER_NV will be generated. +endif::VK_NV_glsl_shader[] + include::../validity/structs/VkGraphicsPipelineCreateInfo.txt[] // refBegin VkPipelineDynamicStateCreateInfo - Structure specifying parameters of a newly created pipeline dynamic state @@ -666,7 +674,7 @@ of the device. To enable applications to detect when previously retrieved data is incompatible with the device, the initial bytes written to pname:pData must: be a header consisting of the following members: -.Layout for pipeline cache header version VK_PIPELINE_CACHE_HEADER_VERSION_ONE +.Layout for pipeline cache header version ename:VK_PIPELINE_CACHE_HEADER_VERSION_ONE [width="85%",cols="8%,21%,71%",options="header"] |===== | Offset | Size | Meaning diff --git a/doc/specs/vulkan/chapters/primsrast.txt b/doc/specs/vulkan/chapters/primsrast.txt index 06a9be16..337316de 100644 --- a/doc/specs/vulkan/chapters/primsrast.txt +++ b/doc/specs/vulkan/chapters/primsrast.txt @@ -63,6 +63,15 @@ include::../api/structs/VkPipelineRasterizationStateCreateInfo.txt[] slope in depth bias calculations. * pname:lineWidth is the width of rasterized line segments. +ifdef::VK_AMD_rasterization_order[] +The application can: also chain a +sname:VkPipelineRasterizationStateRasterizationOrderAMD structure +to the sname:VkPipelineRasterizationStateCreateInfo structure through +its pname:pNext member. This structure enables selecting the rasterization +order to use when rendering with the corresponding graphics pipeline as +described in <>. +endif::VK_AMD_rasterization_order[] + include::../validity/structs/VkPipelineRasterizationStateCreateInfo.txt[] // refBegin VkPipelineMultisampleStateCreateInfo - Structure specifying parameters of a newly created pipeline multisample state @@ -123,6 +132,62 @@ primitives are discarded after they are processed by the last active shader stage in the pipeline before rasterization. +[[primrast-order]] +== Rasterization Order + +Within a subpass of a <>, for a given +(x,y,layer,sample) sample location, the following stages are guaranteed to +execute in _rasterization order_ for each separate primitive that includes +that sample location: + + * depth bounds test + * stencil test, stencil op and stencil write + * depth test and depth write + * occlusion queries + * blending, logic op and color write + +ifndef::VK_AMD_rasterization_order[] +Rasterization order must: follow <>. +endif::VK_AMD_rasterization_order[] + +ifdef::VK_AMD_rasterization_order[] +The application can: select a graphics pipeline to use one of the following +primitive rasterization ordering rules: + +include::../api/enums/VkRasterizationOrderAMD.txt[] + + * ename:VK_RASTERIZATION_ORDER_STRICT_AMD indicates that primitive + rasterization must: follow + <>. + * ename:VK_RASTERIZATION_ORDER_RELAXED_AMD indicates that primitive + rasterization may: not follow + <>. + +The rasterization order to use for a graphics pipeline is specified by +chaining a sname:VkPipelineRasterizationStateRasterizationOrderAMD +structure through the pname:pNext member to +slink:VkPipelineRasterizationStateCreateInfo. + +The sname:VkPipelineRasterizationStateRasterizationOrderAMD structure is +defined as: + +include::../api/structs/VkPipelineRasterizationStateRasterizationOrderAMD.txt[] + + * pname:sType is the type of this structure. + * pname:pNext is `NULL` or a pointer to an extension-specific structure. + * pname:rasterizationOrder is the primitive rasterization order to use. + +include::../validity/structs/VkPipelineRasterizationStateRasterizationOrderAMD.txt[] + +If the +VK_AMD_rasterization_order+ device extension is not enabled or the +application does not request a particular rasterization order through +specifying a sname:VkPipelineRasterizationStateRasterizationOrderAMD structure +then the rasterization order used by the graphics pipeline defaults to +ename:VK_RASTERIZATION_ORDER_STRICT_AMD. +endif::VK_AMD_rasterization_order[] + + [[primsrast-multisampling]] == Multisampling @@ -599,6 +664,15 @@ are taken from the corresponding input value of the <> corresponding to that primitive. +ifdef::VK_AMD_shader_explicit_vertex_parameter[] +When the +VK_AMD_shader_explicit_vertex_parameter+ device extension is +enabled the code:CustomInterpAMD <> can: also be used with fragment shader inputs +which indicate that the decorated inputs can: only be accessed by the extended +instruction code:InterpolateAtVertexAMD and allows accessing the value of +the inputs for individual vertices of the primitive. +endif::VK_AMD_shader_explicit_vertex_parameter[] + For a polygon with more than three edges, such as are produced by clipping a triangle, a convex combination of the values of the datum at the polygon's vertices must: be used to obtain the value assigned to each fragment diff --git a/doc/specs/vulkan/chapters/renderpass.txt b/doc/specs/vulkan/chapters/renderpass.txt index 9a1e5fba..0be6e745 100644 --- a/doc/specs/vulkan/chapters/renderpass.txt +++ b/doc/specs/vulkan/chapters/renderpass.txt @@ -87,7 +87,7 @@ The various pipeline stages of the drawing commands for a given subpass may: execute concurrently and/or out of order, both within and across drawing commands. However for a given (x,y,layer,sample) sample location, certain per-sample operations are performed in -<>. +<>. [[renderpass-creation]] diff --git a/doc/specs/vulkan/chapters/resources.txt b/doc/specs/vulkan/chapters/resources.txt index 9d2d753d..f3b75096 100644 --- a/doc/specs/vulkan/chapters/resources.txt +++ b/doc/specs/vulkan/chapters/resources.txt @@ -136,6 +136,29 @@ memory features supported on a device. include::../validity/structs/VkBufferCreateInfo.txt[] +ifdef::VK_NV_dedicated_allocation[] + +// refBegin VkDedicatedAllocationBufferCreateInfoNV specify that a buffer is bound to a dedicated memory resource + +If the pname:pNext list includes a +sname:VkDedicatedAllocationBufferCreateInfoNV structure, then that +structure includes an enable controlling whether the buffer will have a +dedicated memory allocation bound to it. + +The sname:VkDedicatedAllocationBufferCreateInfoNV structure is defined +as: + +include::../api/structs/VkDedicatedAllocationBufferCreateInfoNV.txt[] + + * pname:sType is the type of this structure. + * pname:pNext is `NULL` or a pointer to an extension-specific structure. + * pname:dedicatedAllocation indicates whether the buffer will have a + dedicated allocation bound to it. + +include::../validity/structs/VkDedicatedAllocationBufferCreateInfoNV.txt[] + +endif::VK_NV_dedicated_allocation[] + // refBegin vkDestroyBuffer Destroy a buffer object To destroy a buffer, call: @@ -327,6 +350,40 @@ flink:vkGetPhysicalDeviceImageFormatProperties. include::../validity/structs/VkImageCreateInfo.txt[] +ifdef::VK_NV_dedicated_allocation[] + +// refBegin VkDedicatedAllocationImageCreateInfoNV specify that an image is bound to a dedicated memory resource + +If the pname:pNext list includes a +sname:VkDedicatedAllocationImageCreateInfoNV structure, then that +structure includes an enable controlling whether the image will have a +dedicated memory allocation bound to it. + +The sname:VkDedicatedAllocationImageCreateInfoNV structure is defined +as: + +include::../api/structs/VkDedicatedAllocationImageCreateInfoNV.txt[] + + * pname:sType is the type of this structure. + * pname:pNext is `NULL` or a pointer to an extension-specific structure. + * pname:dedicatedAllocation indicates whether the image will have a + dedicated allocation bound to it. + +[NOTE] +.Note +==== +Using a dedicated allocation for color and depth/stencil attachments or other +large images may: improve performance on some devices. +==== + +include::../validity/structs/VkDedicatedAllocationImageCreateInfoNV.txt[] + +endif::VK_NV_dedicated_allocation[] + +ifdef::VK_NV_external_memory[] +include::./VK_NV_external_memory/create_image.txt[] +endif::VK_NV_external_memory[] + // refBegin VkImageUsageFlagBits - Bitmask specifying intended usage of an image The intended usage of an image is specified by the bitmask @@ -651,6 +708,9 @@ The type(s) of device access supported by each layout are: destination image of a transfer command. This layout is valid only for image subresources of images created with the ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT usage bit enabled. +ifdef::VK_KHR_swapchain[] +include::VK_KHR_swapchain/VkImageLayout_swapchain.txt[] +endif::VK_KHR_swapchain[] For each mechanism of accessing an image in the API, there is a parameter or structure member that controls the image layout used to access the image. diff --git a/doc/specs/vulkan/chapters/samplers.txt b/doc/specs/vulkan/chapters/samplers.txt index 0c6eb2c1..3cf21011 100644 --- a/doc/specs/vulkan/chapters/samplers.txt +++ b/doc/specs/vulkan/chapters/samplers.txt @@ -170,7 +170,7 @@ range latexmath:[$[0,1\]$] for the respective u, v, or w coordinate as defined i to border wrap mode will be used. * ename:VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE indicates that the mirror clamp to edge wrap mode will be used. This is only valid - if the VK_KHR_mirror_clamp_to_edge extension is enabled. + if the +VK_KHR_mirror_clamp_to_edge+ extension is enabled. The maximum number of sampler objects which can: be simultaneously created on a device is implementation-dependent and specified by the diff --git a/doc/specs/vulkan/chapters/shaders.txt b/doc/specs/vulkan/chapters/shaders.txt index 30c6e61e..aee3ffaf 100644 --- a/doc/specs/vulkan/chapters/shaders.txt +++ b/doc/specs/vulkan/chapters/shaders.txt @@ -69,6 +69,12 @@ Once a shader module has been created, any entry points it contains can: be used in pipeline shader stages as described in <> and <>. +ifdef::VK_NV_glsl_shader[] +If the shader stage fails to compile ename:VK_ERROR_INVALID_SHADER_NV +will be generated and the compile log will be reported back to the +application by pname:VK_EXT_debug_report if enabled. +endif::VK_NV_glsl_shader[] + include::../validity/protos/vkCreateShaderModule.txt[] // refBegin VkShaderModuleCreateInfo - Structure specifying parameters of a newly created shader module @@ -115,7 +121,7 @@ execution order of invocations of the same shader type is undefined. Shader invocations may: complete in a different order than that in which the primitives they originated from were drawn or dispatched by the application. However, fragment shader outputs are written to attachments in -<>. +<>. The relative order of invocations of different shader types is largely undefined. However, when invoking a shader whose inputs are generated from a @@ -453,6 +459,16 @@ Fragment shader inputs that are signed or unsigned integers, integer vectors, or any double-precision floating-point type must: be decorated with code:Flat. +ifdef::VK_AMD_shader_explicit_vertex_parameter[] +When the +VK_AMD_shader_explicit_vertex_parameter+ device extension is +enabled inputs can: be also decorated with the code:CustomInterpAMD +interpolation decoration, including fragment shader inputs that are signed +or unsigned integers, integer vectors, or any double-precision floating-point +type. Inputs decorated with code:CustomInterpAMD can: only be accessed by the +extended instruction code:InterpolateAtVertexAMD and allows accessing the +value of the input for individual vertices of the primitive. +endif::VK_AMD_shader_explicit_vertex_parameter[] + [[shaders-staticuse]] == Static Use diff --git a/doc/specs/vulkan/chapters/synchronization.txt b/doc/specs/vulkan/chapters/synchronization.txt index 4731c886..fea32957 100644 --- a/doc/specs/vulkan/chapters/synchronization.txt +++ b/doc/specs/vulkan/chapters/synchronization.txt @@ -426,6 +426,7 @@ include::../api/protos/vkGetEventStatus.txt[] Upon success, fname:vkGetEventStatus returns the state of the event object with the following return codes: +.Event Object Status Codes [width="80%",options="header"] |===== | Status | Meaning @@ -1126,7 +1127,7 @@ include::../api/enums/VkAccessFlagBits.txt[] Color attachment reads and writes are automatically (without memory or execution dependencies) coherent and ordered against themselves and each other for a given sample within a subpass of a render pass instance, -executing in <>. Similarly, +executing in <>. Similarly, depth/stencil attachment reads and writes are automatically coherent and ordered against themselves and each other in the same circumstances. diff --git a/doc/specs/vulkan/chapters/textures.txt b/doc/specs/vulkan/chapters/textures.txt index d0f5c2e5..cbddd323 100644 --- a/doc/specs/vulkan/chapters/textures.txt +++ b/doc/specs/vulkan/chapters/textures.txt @@ -391,8 +391,12 @@ These cases include: code:Arrayed = 1. *** ename:VK_IMAGE_VIEW_TYPE_CUBE_ARRAY must: have code:Dim = Cube, code:Arrayed = 1, code:MS = 0. - ** If the image's pname:samples is not equal to - ename:VK_SAMPLE_COUNT_1_BIT, the instruction must: have code:MS = 1. + ** If the image was created with slink:VkImageCreateInfo::pname:samples + equal to ename:VK_SAMPLE_COUNT_1_BIT, the instruction must: have + code:MS = 0. + ** If the image was created with slink:VkImageCreateInfo::pname:samples + not equal to ename:VK_SAMPLE_COUNT_1_BIT, the instruction must: have + code:MS = 1. [[textures-integer-coordinate-validation]] @@ -1301,6 +1305,7 @@ slink:VkPhysicalDeviceLimits feature <>. +[[textures-image-level-selection]] ==== Image Level(s) Selection The image level(s) latexmath:[$d, d_{hi},\textrm{ and }d_{lo}$] which texels @@ -1337,7 +1342,11 @@ nearest(\lambda) & = \end{align*} ++++++++++++++++++++++++ -and where q is the pname:levelCount from the pname:subresourceRange of the +and + +latexmath:[$q = \mathit{levelCount} - 1$] + +pname:levelCount is taken from the pname:subresourceRange of the image view. If the sampler's pname:mipmapMode is ename:VK_SAMPLER_MIPMAP_MODE_LINEAR, @@ -1469,6 +1478,10 @@ k_{0} & = \left \lfloor w - \frac{1}{2} \right \rfloor & k_{1} & = k_{0} + 1 \\ \end{align*} ++++++++++++++++++++++++ +ifdef::VK_IMG_filter_cubic[] +include::VK_IMG_filter_cubic/filter_cubic_texel_selection.txt[] +endif::VK_IMG_filter_cubic[] + If the image instruction includes a latexmath:[$ConstOffset$] operand, the constant offsets latexmath:[$(\Delta_{i},\Delta_{j},\Delta_{k})$] are added to latexmath:[$(i,j,k)$] components of the integer texel coordinates. @@ -1634,6 +1647,11 @@ computed earlier: \end{align*} ++++++++++++++++++++++++ + +ifdef::VK_IMG_filter_cubic[] +include::VK_IMG_filter_cubic/filter_cubic_texel_filtering.txt[] +endif::VK_IMG_filter_cubic[] + Finally, mipmap filtering either selects a value from one miplevel or computes a weighted average between neighboring miplevels: diff --git a/doc/specs/vulkan/genRef.py b/doc/specs/vulkan/genRef.py index 1a07502f..8b542872 100755 --- a/doc/specs/vulkan/genRef.py +++ b/doc/specs/vulkan/genRef.py @@ -133,6 +133,10 @@ def refPageHead(pageName, pageDesc, specText, fieldName, fieldText, descText, fp '', sep='\n', file=fp) + if (pageDesc.strip() == ''): + pageDesc = 'NO SHORT DESCRIPTION PROVIDED' + logWarn('refPageHead: no short description provided for', pageName) + print('Name', '----', pageName + ' - ' + pageDesc, @@ -238,7 +242,7 @@ def emitPage(baseDir, specDir, pi, file): elif (pi.type in ['protos', 'funcpointers']): field = 'Parameters' else: - logWarn('PyOutputGenerator::emitPage: unknown field type:', pi.type, + logWarn('emitPage: unknown field type:', pi.type, 'for', pi.name) lines = remapIncludes(file[pi.param:pi.body], baseDir, specDir) fieldText = ''.join(lines) @@ -274,11 +278,19 @@ def autoGenEnumsPage(baseDir, pi, file): if (pi.desc == None): pi.desc = '(no short description available)' - # Description text + # Description text. Allow for the case where an enum definition + # is not embedded. + if (not pi.embed): + embedRef = '' + else: + embedRef = ''.join([ + ' * The reference page for ', + macroPrefix(pi.embed), + ', where this interface is defined.\n' ]) + txt = ''.join([ 'For more information, see:\n\n', - ' * The reference page for ' + macroPrefix(pi.embed) + - ', where this interface is defined.\n', + embedRef, ' * The See Also section for other reference pages using this type.\n', ' * The Vulkan Specification.\n' ]) diff --git a/doc/specs/vulkan/genRelease b/doc/specs/vulkan/genRelease index 88ff2594..3511c56a 100755 --- a/doc/specs/vulkan/genRelease +++ b/doc/specs/vulkan/genRelease @@ -6,17 +6,21 @@ print('echo Building in Vulkan-Docs for public release') print('') buildBranch('1.0', + extensions = None, + apititle = None, xmlTargets = 'clobber install doc_install', specTargets = 'xhtml styleguide manhtml manhtmlpages pdf manpdf', repoDir = '/home/tree/git/Vulkan-Docs', outDir = '/home/tree/git/Vulkan-Web-Registry/specs') + buildBranch('1.0-wsi_extensions', + extensions = KHRextensions, + apititle = '(with KHR extensions)', xmlTargets = 'clobber install', specTargets = 'xhtml pdf', repoDir = '/home/tree/git/Vulkan-Docs', outDir = '/home/tree/git/Vulkan-Web-Registry/specs') print('echo Info: post-generation cleanup') -print('git checkout ' + coreBranch) createTags(buildOnFriday()) diff --git a/doc/specs/vulkan/genspec.py b/doc/specs/vulkan/genspec.py old mode 100755 new mode 100644 index 97cfe877..0a264283 --- a/doc/specs/vulkan/genspec.py +++ b/doc/specs/vulkan/genspec.py @@ -3,21 +3,28 @@ import time from datetime import timedelta, date -# These can be changed to tags, etc. -coreBranch = '1.0' -wsiBranch = '1.0-wsi_extensions' - # This script builds a full release package including XHTML and PDF -# versions of the specified branches (usually 1.0 and 1.0-wsi_extensions, -# but tags or commits can be used as well). Other files in the release -# directory are removed, including man pages, XHTML chunked, HTML, -# validity output, etc. -# -# Both branches must be fully committed and up to date when the script -# is run, with no outstanding un-added / un-committed files. Both -# branches must have fully regenerated all automatically generated -# files. After completing the build, the current branch is set to -# the first (core) branch and suggestions for creating tags are printed out. +# versions of the specification, including an optional list of +# extensions. Other files in the release directory are removed, +#including man pages, XHTML chunked, HTML, validity output, etc. + +# The current branch must be fully committed and up to date when the +# script is run, with no outstanding un-added / un-committed files. +# After completing the build, suggestions for creating tags are made. + +# Khronos WSI extensions + +KHRextensions = [ + 'VK_KHR_android_surface', + 'VK_KHR_display', + 'VK_KHR_display_swapchain', + 'VK_KHR_mir_surface', + 'VK_KHR_surface', + 'VK_KHR_swapchain', + 'VK_KHR_wayland_surface', + 'VK_KHR_win32_surface', + 'VK_KHR_xcb_surface', + 'VK_KHR_xlib_surface' ] # Return a date for the current, or upcoming if not already, Friday, # which is when releases happen @@ -26,23 +33,35 @@ def buildOnFriday(): friday = today + timedelta((4 - today.weekday()) % 7) return friday -# branch = branch or commit or tag name -# label = textual label to apply +# label = textual label to use for target being generated +# extensions = list of extension names to include # outdir = directory to generate specs in +# apititle = extra title to apply to the specification # xmlDir = directory containing registry XML # xmlTargets = targets to build in src/spec/ # specDir = directory containing spec source & Makefile # specTargets = targets to build in doc/specs/vulkan/ # miscSrc = path to copy misc files from, if non-None # miscDst = path to copy misc files to, if non-None -def buildRelease(branch, label, outdir, +def buildRelease(label, extensions, outdir, + apititle, xmlDir, xmlTargets, specDir, specTargets, miscSrc = None, miscDst = None): - print('echo Info: Generating branch=' + branch, - 'label=' + label, + print('echo Info: Generating target=', label, 'outdir=' + outdir) - print('git checkout', branch) + + outarg = 'OUTDIR=' + outdir + + if (extensions != None and len(extensions) > 0): + extarg = 'EXTENSIONS="' + ' '.join(extensions) + '"' + else: + extarg = '' + + if (apititle != None): + titlearg = 'APITITLE="' + apititle + '"' + else: + titlearg = '' # print('echo Info: Cleaning spec in', outdir) print('(cd ', outdir, '&& rm -rf', @@ -57,21 +76,26 @@ def buildRelease(branch, label, outdir, # print('echo Info: Generating headers and spec include files') print('cd', xmlDir) - print('make OUTDIR=' + outdir, xmlTargets) + print('make', outarg, xmlTargets) # print('echo Info: Generating spec') print('cd', specDir) - print('make -j 8 OUTDIR=' + outdir, ' NOTEOPTS="-a implementation-guide"', + print('make', outarg, 'clean') + print('make -j 8', + outarg, + extarg, + titlearg, + 'NOTEOPTS="-a implementation-guide"', specTargets) if (miscSrc != None and miscDst != None): print('cp', miscSrc + '/*.txt', miscDst + '/') -# Build all target branches +# Build all target documents # repoDir = path to the Vulkan git repo containing the specs -# outDir = path to the output base directory in which each branch is generated -def buildBranch(branch, xmlTargets, specTargets, repoDir, outDir): +# outDir = path to the output base directory in which targets are generated +def buildBranch(targetDir, extensions, apititle, xmlTargets, specTargets, repoDir, outDir): # Directory with vk.xml and generation tools xmlDir = repoDir + '/src/spec' # Directory with spec sources @@ -80,25 +104,18 @@ def buildBranch(branch, xmlTargets, specTargets, repoDir, outDir): miscSrc = repoDir + '/doc/specs/misc' miscDst = outDir + '/misc' - buildRelease(branch, branch, outDir + '/' + branch, + buildRelease(targetDir, extensions, outDir + '/' + targetDir, + apititle, xmlDir, xmlTargets, specDir, specTargets, miscSrc, miscDst) # Commands to tag the git branches # tagdate = date to tag the tree with when done def createTags(tagdate): - global coreBranch, wsiBranch - # Tag date in YYYYMMDD format now = tagdate.strftime('%Y%m%d') - print('echo To tag the spec branches, execute these commands:') - print('echo git checkout', coreBranch) - print('echo git tag -a -m \\"Tag core API specification for', now, + print('echo To tag the spec branch for this release, execute the command:') + print('echo git tag -a -m \\"Tag Vulkan API specification for', now, 'release\\"', 'v1.0-core-' + now) - print('echo git checkout', wsiBranch) - print('echo git tag -a -m \\"Tag core+WSI API specification for', now, - 'release\\"', 'v1.0-core+wsi-' + now) - - diff --git a/doc/specs/vulkan/hostsynctable/implicit.txt b/doc/specs/vulkan/hostsynctable/implicit.txt deleted file mode 100644 index 2eb602ab..00000000 --- a/doc/specs/vulkan/hostsynctable/implicit.txt +++ /dev/null @@ -1,51 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -.Implicit Externally Synchronized Parameters -******************************************************************************** -* All sname:VkQueue objects created from pname:device in flink:vkDeviceWaitIdle -* Any sname:VkDescriptorSet objects allocated from pname:descriptorPool in flink:vkResetDescriptorPool -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdBindPipeline -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdSetViewport -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdSetScissor -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdSetLineWidth -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdSetDepthBias -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdSetBlendConstants -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdSetDepthBounds -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdSetStencilCompareMask -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdSetStencilWriteMask -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdSetStencilReference -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdBindDescriptorSets -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdBindIndexBuffer -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdBindVertexBuffers -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdDraw -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdDrawIndexed -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdDrawIndirect -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdDrawIndexedIndirect -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdDispatch -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdDispatchIndirect -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdCopyBuffer -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdCopyImage -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdBlitImage -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdCopyBufferToImage -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdCopyImageToBuffer -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdUpdateBuffer -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdFillBuffer -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdClearColorImage -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdClearDepthStencilImage -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdClearAttachments -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdResolveImage -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdSetEvent -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdResetEvent -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdWaitEvents -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdPipelineBarrier -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdBeginQuery -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdEndQuery -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdResetQueryPool -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdWriteTimestamp -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdCopyQueryPoolResults -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdPushConstants -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdBeginRenderPass -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdNextSubpass -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdEndRenderPass -* The sname:VkCommandPool that pname:commandBuffer was allocated from, in flink:vkCmdExecuteCommands -******************************************************************************** - diff --git a/doc/specs/vulkan/hostsynctable/parameterlists.txt b/doc/specs/vulkan/hostsynctable/parameterlists.txt deleted file mode 100644 index a9fdcf35..00000000 --- a/doc/specs/vulkan/hostsynctable/parameterlists.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -.Externally Synchronized Parameter Lists -******************************************************************************** -* Each element of the pname:pWaitSemaphores member of each element of the pname:pSubmits parameter in flink:vkQueueSubmit -* Each element of the pname:pSignalSemaphores member of each element of the pname:pSubmits parameter in flink:vkQueueSubmit -* Each element of the pname:pWaitSemaphores member of each element of the pname:pBindInfo parameter in flink:vkQueueBindSparse -* Each element of the pname:pSignalSemaphores member of each element of the pname:pBindInfo parameter in flink:vkQueueBindSparse -* The pname:buffer member of each element of the pname:pBufferBinds member of each element of the pname:pBindInfo parameter in flink:vkQueueBindSparse -* The pname:image member of each element of the pname:pImageOpaqueBinds member of each element of the pname:pBindInfo parameter in flink:vkQueueBindSparse -* The pname:image member of each element of the pname:pImageBinds member of each element of the pname:pBindInfo parameter in flink:vkQueueBindSparse -* Each element of the pname:pFences parameter in flink:vkResetFences -* Each element of the pname:pDescriptorSets parameter in flink:vkFreeDescriptorSets -* The pname:dstSet member of each element of the pname:pDescriptorWrites parameter in flink:vkUpdateDescriptorSets -* The pname:dstSet member of each element of the pname:pDescriptorCopies parameter in flink:vkUpdateDescriptorSets -* Each element of the pname:pCommandBuffers parameter in flink:vkFreeCommandBuffers -******************************************************************************** - diff --git a/doc/specs/vulkan/hostsynctable/parameters.txt b/doc/specs/vulkan/hostsynctable/parameters.txt deleted file mode 100644 index 5aa94fb5..00000000 --- a/doc/specs/vulkan/hostsynctable/parameters.txt +++ /dev/null @@ -1,90 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -.Externally Synchronized Parameters -******************************************************************************** -* The pname:instance parameter in flink:vkDestroyInstance -* The pname:device parameter in flink:vkDestroyDevice -* The pname:queue parameter in flink:vkQueueSubmit -* The pname:fence parameter in flink:vkQueueSubmit -* The pname:memory parameter in flink:vkFreeMemory -* The pname:memory parameter in flink:vkMapMemory -* The pname:memory parameter in flink:vkUnmapMemory -* The pname:buffer parameter in flink:vkBindBufferMemory -* The pname:image parameter in flink:vkBindImageMemory -* The pname:queue parameter in flink:vkQueueBindSparse -* The pname:fence parameter in flink:vkQueueBindSparse -* The pname:fence parameter in flink:vkDestroyFence -* The pname:semaphore parameter in flink:vkDestroySemaphore -* The pname:event parameter in flink:vkDestroyEvent -* The pname:event parameter in flink:vkSetEvent -* The pname:event parameter in flink:vkResetEvent -* The pname:queryPool parameter in flink:vkDestroyQueryPool -* The pname:buffer parameter in flink:vkDestroyBuffer -* The pname:bufferView parameter in flink:vkDestroyBufferView -* The pname:image parameter in flink:vkDestroyImage -* The pname:imageView parameter in flink:vkDestroyImageView -* The pname:shaderModule parameter in flink:vkDestroyShaderModule -* The pname:pipelineCache parameter in flink:vkDestroyPipelineCache -* The pname:dstCache parameter in flink:vkMergePipelineCaches -* The pname:pipeline parameter in flink:vkDestroyPipeline -* The pname:pipelineLayout parameter in flink:vkDestroyPipelineLayout -* The pname:sampler parameter in flink:vkDestroySampler -* The pname:descriptorSetLayout parameter in flink:vkDestroyDescriptorSetLayout -* The pname:descriptorPool parameter in flink:vkDestroyDescriptorPool -* The pname:descriptorPool parameter in flink:vkResetDescriptorPool -* The pname:descriptorPool member of the pname:pAllocateInfo parameter in flink:vkAllocateDescriptorSets -* The pname:descriptorPool parameter in flink:vkFreeDescriptorSets -* The pname:framebuffer parameter in flink:vkDestroyFramebuffer -* The pname:renderPass parameter in flink:vkDestroyRenderPass -* The pname:commandPool parameter in flink:vkDestroyCommandPool -* The pname:commandPool parameter in flink:vkResetCommandPool -* The pname:commandPool member of the pname:pAllocateInfo parameter in flink:vkAllocateCommandBuffers -* The pname:commandPool parameter in flink:vkFreeCommandBuffers -* The pname:commandBuffer parameter in flink:vkBeginCommandBuffer -* The pname:commandBuffer parameter in flink:vkEndCommandBuffer -* The pname:commandBuffer parameter in flink:vkResetCommandBuffer -* The pname:commandBuffer parameter in flink:vkCmdBindPipeline -* The pname:commandBuffer parameter in flink:vkCmdSetViewport -* The pname:commandBuffer parameter in flink:vkCmdSetScissor -* The pname:commandBuffer parameter in flink:vkCmdSetLineWidth -* The pname:commandBuffer parameter in flink:vkCmdSetDepthBias -* The pname:commandBuffer parameter in flink:vkCmdSetBlendConstants -* The pname:commandBuffer parameter in flink:vkCmdSetDepthBounds -* The pname:commandBuffer parameter in flink:vkCmdSetStencilCompareMask -* The pname:commandBuffer parameter in flink:vkCmdSetStencilWriteMask -* The pname:commandBuffer parameter in flink:vkCmdSetStencilReference -* The pname:commandBuffer parameter in flink:vkCmdBindDescriptorSets -* The pname:commandBuffer parameter in flink:vkCmdBindIndexBuffer -* The pname:commandBuffer parameter in flink:vkCmdBindVertexBuffers -* The pname:commandBuffer parameter in flink:vkCmdDraw -* The pname:commandBuffer parameter in flink:vkCmdDrawIndexed -* The pname:commandBuffer parameter in flink:vkCmdDrawIndirect -* The pname:commandBuffer parameter in flink:vkCmdDrawIndexedIndirect -* The pname:commandBuffer parameter in flink:vkCmdDispatch -* The pname:commandBuffer parameter in flink:vkCmdDispatchIndirect -* The pname:commandBuffer parameter in flink:vkCmdCopyBuffer -* The pname:commandBuffer parameter in flink:vkCmdCopyImage -* The pname:commandBuffer parameter in flink:vkCmdBlitImage -* The pname:commandBuffer parameter in flink:vkCmdCopyBufferToImage -* The pname:commandBuffer parameter in flink:vkCmdCopyImageToBuffer -* The pname:commandBuffer parameter in flink:vkCmdUpdateBuffer -* The pname:commandBuffer parameter in flink:vkCmdFillBuffer -* The pname:commandBuffer parameter in flink:vkCmdClearColorImage -* The pname:commandBuffer parameter in flink:vkCmdClearDepthStencilImage -* The pname:commandBuffer parameter in flink:vkCmdClearAttachments -* The pname:commandBuffer parameter in flink:vkCmdResolveImage -* The pname:commandBuffer parameter in flink:vkCmdSetEvent -* The pname:commandBuffer parameter in flink:vkCmdResetEvent -* The pname:commandBuffer parameter in flink:vkCmdWaitEvents -* The pname:commandBuffer parameter in flink:vkCmdPipelineBarrier -* The pname:commandBuffer parameter in flink:vkCmdBeginQuery -* The pname:commandBuffer parameter in flink:vkCmdEndQuery -* The pname:commandBuffer parameter in flink:vkCmdResetQueryPool -* The pname:commandBuffer parameter in flink:vkCmdWriteTimestamp -* The pname:commandBuffer parameter in flink:vkCmdCopyQueryPoolResults -* The pname:commandBuffer parameter in flink:vkCmdPushConstants -* The pname:commandBuffer parameter in flink:vkCmdBeginRenderPass -* The pname:commandBuffer parameter in flink:vkCmdNextSubpass -* The pname:commandBuffer parameter in flink:vkCmdEndRenderPass -* The pname:commandBuffer parameter in flink:vkCmdExecuteCommands -******************************************************************************** - diff --git a/doc/specs/vulkan/hostsynctable/timeMarker b/doc/specs/vulkan/hostsynctable/timeMarker deleted file mode 100644 index e69de29b..00000000 diff --git a/doc/specs/vulkan/makeExt b/doc/specs/vulkan/makeExt new file mode 100755 index 00000000..13501692 --- /dev/null +++ b/doc/specs/vulkan/makeExt @@ -0,0 +1,10 @@ +#!/bin/sh +# makeBranch - invoke Makefile with the right options to build with a +# specific extension included. +# Usage: makeBranch extension targets +extension=$1 +shift +echo extension is $extension targets are $* + +make clean_generated +make EXTENSIONS="$extension" APITITLE="(with extension $extension)" $* diff --git a/doc/specs/vulkan/makeKHR b/doc/specs/vulkan/makeKHR new file mode 100755 index 00000000..d5e4a827 --- /dev/null +++ b/doc/specs/vulkan/makeKHR @@ -0,0 +1,24 @@ +#!/bin/sh +# makeKHR - invoke Makefile with the right options to build with all +# KHR extensions included. +# Usage: makeKHR targets + +echo Building KHR extensions for targets $* +extensions="" +for ext in \ + VK_KHR_android_surface \ + VK_KHR_display \ + VK_KHR_display_swapchain \ + VK_KHR_mir_surface \ + VK_KHR_surface \ + VK_KHR_swapchain \ + VK_KHR_wayland_surface \ + VK_KHR_win32_surface \ + VK_KHR_xcb_surface \ + VK_KHR_xlib_surface \ +; do + extensions="$extensions $ext" +done + +make clean_generated +make EXTENSIONS="$extensions" APITITLE="(with WSI extensions)" $* diff --git a/doc/specs/vulkan/man/VK_DEFINE_NON_DISPATCHABLE_HANDLE.txt b/doc/specs/vulkan/man/VK_DEFINE_NON_DISPATCHABLE_HANDLE.txt index 39a5435b..bfaad759 100644 --- a/doc/specs/vulkan/man/VK_DEFINE_NON_DISPATCHABLE_HANDLE.txt +++ b/doc/specs/vulkan/man/VK_DEFINE_NON_DISPATCHABLE_HANDLE.txt @@ -27,6 +27,20 @@ Description Most Vulkan handle types, such as slink:VkBuffer, are non-dispatchable. +[NOTE] +.Note +================== +The +vulkan.h+ header allows the dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE definition +to be overridden by the application. If dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE is +already defined when the +vulkan.h+ header is compiled the default definition is skipped. +This allows the application to define a binary-compatible custom handle which may: +provide more type-safety or other features needed by the application. Behavior is +undefined if the application defines a non-binary-compatible handle and may: result +in memory corruption or application termination. Binary compatibility is platform +dependent so the application must: be careful if it overrides the default +dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE definition. +================== + // refEnd VK_DEFINE_NON_DISPATCHABLE_HANDLE VkBuffer diff --git a/doc/specs/vulkan/man/VkFormatProperties.txt b/doc/specs/vulkan/man/VkFormatProperties.txt index 02e58368..a786adc0 100644 --- a/doc/specs/vulkan/man/VkFormatProperties.txt +++ b/doc/specs/vulkan/man/VkFormatProperties.txt @@ -103,6 +103,10 @@ If the format being queried is a depth/stencil format, this bit only indicates range latexmath:[$[0,1\]$] and should: be proportional to, or a weighted average of, the number of comparison passes or failures. +ifdef::VK_IMG_filter_cubic[] +include::../chapters/VK_IMG_filter_cubic/filter_cubic_sampled_bit_description.txt[] +endif::VK_IMG_filter_cubic[] + The following features may: appear in pname:bufferFeatures, indicating they are supported by buffers or buffer views created with the queried flink:vkGetPhysicalDeviceFormatProperties::pname:format: diff --git a/doc/specs/vulkan/man/VkGraphicsPipelineCreateInfo.txt b/doc/specs/vulkan/man/VkGraphicsPipelineCreateInfo.txt index de8a962c..56185082 100644 --- a/doc/specs/vulkan/man/VkGraphicsPipelineCreateInfo.txt +++ b/doc/specs/vulkan/man/VkGraphicsPipelineCreateInfo.txt @@ -108,6 +108,14 @@ information. pname:pDynamicState points to a structure of type sname:VkPipelineDynamicStateCreateInfo. +ifdef::VK_NV_glsl_shader[] +If any shader stage fails to compile, +ifdef::VK_EXT_debug_report[] +the compile log will be reported back to the application, and +endif::VK_EXT_debug_report[] +ename:VK_ERROR_INVALID_SHADER_NV will be generated. +endif::VK_NV_glsl_shader[] + include::../validity/structs/VkGraphicsPipelineCreateInfo.txt[] diff --git a/doc/specs/vulkan/man/VkImageLayout.txt b/doc/specs/vulkan/man/VkImageLayout.txt index d6398616..3abec744 100644 --- a/doc/specs/vulkan/man/VkImageLayout.txt +++ b/doc/specs/vulkan/man/VkImageLayout.txt @@ -70,6 +70,9 @@ The type(s) of device access supported by each layout are: destination image of a transfer command. This layout is valid only for image subresources of images created with the ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT usage bit enabled. +ifdef::VK_KHR_swapchain[] +include::../chapters/VK_KHR_swapchain/VkImageLayout_swapchain.txt[] +endif::VK_KHR_swapchain[] For each mechanism of accessing an image in the API, there is a parameter or structure member that controls the image layout used to access the image. diff --git a/doc/specs/vulkan/man/VkMemoryBarrier.txt b/doc/specs/vulkan/man/VkMemoryBarrier.txt index 6dbd43b4..be2ef6c7 100644 --- a/doc/specs/vulkan/man/VkMemoryBarrier.txt +++ b/doc/specs/vulkan/man/VkMemoryBarrier.txt @@ -121,7 +121,7 @@ include::../api/enums/VkAccessFlagBits.txt[] Color attachment reads and writes are automatically (without memory or execution dependencies) coherent and ordered against themselves and each other for a given sample within a subpass of a render pass instance, -executing in <>. Similarly, +executing in <>. Similarly, depth/stencil attachment reads and writes are automatically coherent and ordered against themselves and each other in the same circumstances. diff --git a/doc/specs/vulkan/man/VkPhysicalDeviceFeatures.txt b/doc/specs/vulkan/man/VkPhysicalDeviceFeatures.txt index 1f393038..32fee2be 100644 --- a/doc/specs/vulkan/man/VkPhysicalDeviceFeatures.txt +++ b/doc/specs/vulkan/man/VkPhysicalDeviceFeatures.txt @@ -171,7 +171,7 @@ out of bounds even if the members at the end are not statically used. whether depth bias clamping is supported. If this feature is not enabled, the pname:depthBiasClamp member of the sname:VkPipelineRasterizationStateCreateInfo structure must: be set - to 0.0 unless the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state is enabled, + to 0.0 unless the ename:VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state is enabled, and the pname:depthBiasClamp parameter to fname:vkCmdSetDepthBias must: be set to 0.0. * [[features-features-fillModeNonSolid]] pname:fillModeNonSolid indicates @@ -190,7 +190,7 @@ out of bounds even if the members at the end are not statically used. with width other than 1.0 are supported. If this feature is not enabled, the pname:lineWidth member of the sname:VkPipelineRasterizationStateCreateInfo structure must: be set - to 1.0 unless the VK_DYNAMIC_STATE_LINE_WIDTH dynamic state is enabled, + to 1.0 unless the ename:VK_DYNAMIC_STATE_LINE_WIDTH dynamic state is enabled, and the pname:lineWidth parameter to fname:vkCmdSetLineWidth must: be set to 1.0. When this feature is supported, the range and granularity of supported line widths are indicated by the pname:lineWidthRange and diff --git a/doc/specs/vulkan/man/VkPipelineRasterizationStateCreateInfo.txt b/doc/specs/vulkan/man/VkPipelineRasterizationStateCreateInfo.txt index f1d4f020..83a522dc 100644 --- a/doc/specs/vulkan/man/VkPipelineRasterizationStateCreateInfo.txt +++ b/doc/specs/vulkan/man/VkPipelineRasterizationStateCreateInfo.txt @@ -49,6 +49,15 @@ Members Description ----------- +ifdef::VK_AMD_rasterization_order[] +The application can: also chain a +sname:VkPipelineRasterizationStateRasterizationOrderAMD structure +to the sname:VkPipelineRasterizationStateCreateInfo structure through +its pname:pNext member. This structure enables selecting the rasterization +order to use when rendering with the corresponding graphics pipeline as +described in <>. +endif::VK_AMD_rasterization_order[] + include::../validity/structs/VkPipelineRasterizationStateCreateInfo.txt[] diff --git a/doc/specs/vulkan/man/VkResult.txt b/doc/specs/vulkan/man/VkResult.txt index 13488876..33d1c963 100644 --- a/doc/specs/vulkan/man/VkResult.txt +++ b/doc/specs/vulkan/man/VkResult.txt @@ -48,6 +48,9 @@ Description An event is unsignaled * ename:VK_INCOMPLETE A return array was too small for the result +ifdef::VK_KHR_swapchain[] +include::../chapters/VK_KHR_swapchain/VkResultSuccessDescriptions_swapchain.txt[] +endif::VK_KHR_swapchain[] [[fundamentals-errorcodes]] .Error codes @@ -79,6 +82,21 @@ Description * ename:VK_ERROR_FRAGMENTED_POOL A requested pool allocation has failed due to fragmentation of the pool's memory. +ifdef::VK_KHR_surface[] +include::../chapters/VK_KHR_surface/VkResultErrorDescriptions_surface.txt[] +endif::VK_KHR_surface[] +ifdef::VK_KHR_swapchain[] +include::../chapters/VK_KHR_swapchain/VkResultErrorDescriptions_swapchain.txt[] +endif::VK_KHR_swapchain[] +ifdef::VK_KHR_display_swapchain[] +include::../chapters/VK_KHR_display_swapchain/VkResultErrorDescriptions_display_swapchain.txt[] +endif::VK_KHR_display_swapchain[] +ifdef::VK_NV_glsl_shader[] +* ename:VK_ERROR_INVALID_SHADER_NV + One or more shaders failed to compile or link. More details are + reported back to the application via pname:VK_EXT_debug_report + if enabled. +endif::VK_NV_glsl_shader[] If a command returns a run time error, it will leave any result pointers unmodified, unless other behavior is explicitly defined in the specification. diff --git a/doc/specs/vulkan/man/VkSamplerCreateInfo.txt b/doc/specs/vulkan/man/VkSamplerCreateInfo.txt index b80de98a..70419b70 100644 --- a/doc/specs/vulkan/man/VkSamplerCreateInfo.txt +++ b/doc/specs/vulkan/man/VkSamplerCreateInfo.txt @@ -157,7 +157,7 @@ range latexmath:[$[0,1\]$] for the respective u, v, or w coordinate as defined i to border wrap mode will be used. * ename:VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE indicates that the mirror clamp to edge wrap mode will be used. This is only valid - if the VK_KHR_mirror_clamp_to_edge extension is enabled. + if the +VK_KHR_mirror_clamp_to_edge+ extension is enabled. The maximum number of sampler objects which can: be simultaneously created on a device is implementation-dependent and specified by the diff --git a/doc/specs/vulkan/man/vkCreateShaderModule.txt b/doc/specs/vulkan/man/vkCreateShaderModule.txt index cfb6fbd2..c9ef7538 100644 --- a/doc/specs/vulkan/man/vkCreateShaderModule.txt +++ b/doc/specs/vulkan/man/vkCreateShaderModule.txt @@ -38,6 +38,12 @@ Once a shader module has been created, any entry points it contains can: be used in pipeline shader stages as described in <> and <>. +ifdef::VK_NV_glsl_shader[] +If the shader stage fails to compile ename:VK_ERROR_INVALID_SHADER_NV +will be generated and the compile log will be reported back to the +application by pname:VK_EXT_debug_report if enabled. +endif::VK_NV_glsl_shader[] + include::../validity/protos/vkCreateShaderModule.txt[] diff --git a/doc/specs/vulkan/man/vkGetDeviceProcAddr.txt b/doc/specs/vulkan/man/vkGetDeviceProcAddr.txt index f3ff6f1b..2cc2c696 100644 --- a/doc/specs/vulkan/man/vkGetDeviceProcAddr.txt +++ b/doc/specs/vulkan/man/vkGetDeviceProcAddr.txt @@ -48,14 +48,14 @@ be cast to the type of the command being queried. | invalid device | * | undefined | device | NULL | undefined | device | core Vulkan command^1^ | fp -| device | enabled device extension commands for pname:device | fp +| device | enabled extension commands^1^ | fp | device | * (any pname:pName not covered above) | NULL |===== 1:: -pname:pName is the name of any Vulkan command whose first parameter - is sname:VkDevice or any of its dispatchable children (e.g. sname:VkQueue, - sname:vkCommandBuffer). +The returned function pointer must: only be called with a dispatchable object +(the first parameter) that is pname:device or a child of pname:device. + e.g. sname:VkDevice, sname:VkQueue, or sname:VkCommandBuffer. include::../validity/protos/vkGetDeviceProcAddr.txt[] diff --git a/doc/specs/vulkan/man/vkGetEventStatus.txt b/doc/specs/vulkan/man/vkGetEventStatus.txt index b1cb1676..2cc0e6d0 100644 --- a/doc/specs/vulkan/man/vkGetEventStatus.txt +++ b/doc/specs/vulkan/man/vkGetEventStatus.txt @@ -32,6 +32,7 @@ Description Upon success, fname:vkGetEventStatus returns the state of the event object with the following return codes: +.Event Object Status Codes [width="80%",options="header"] |===== | Status | Meaning diff --git a/doc/specs/vulkan/man/vkGetInstanceProcAddr.txt b/doc/specs/vulkan/man/vkGetInstanceProcAddr.txt index dd812abe..b9157a96 100644 --- a/doc/specs/vulkan/man/vkGetInstanceProcAddr.txt +++ b/doc/specs/vulkan/man/vkGetInstanceProcAddr.txt @@ -64,12 +64,13 @@ be cast to the type of the command being queried. 1:: The returned function pointer must: only be called with a dispatchable object -(the first parameter) that is a child of pname:instance. +(the first parameter) that is pname:instance or a child of pname:instance. e.g. sname:VkInstance, sname:VkPhysicalDevice, sname:VkDevice, sname:VkQueue, or sname:VkCommandBuffer. 2:: -available extension is an extension function supported by any of the loader, ICD or layer. +An ``available extension'' is an extension function supported by any of the +loader, driver or layer. ifdef::editing-notes[] [NOTE] diff --git a/doc/specs/vulkan/man/vkGetPipelineCacheData.txt b/doc/specs/vulkan/man/vkGetPipelineCacheData.txt index 4d0b1a02..c69a05cb 100644 --- a/doc/specs/vulkan/man/vkGetPipelineCacheData.txt +++ b/doc/specs/vulkan/man/vkGetPipelineCacheData.txt @@ -56,7 +56,7 @@ of the device. To enable applications to detect when previously retrieved data is incompatible with the device, the initial bytes written to pname:pData must: be a header consisting of the following members: -.Layout for pipeline cache header version VK_PIPELINE_CACHE_HEADER_VERSION_ONE +.Layout for pipeline cache header version ename:VK_PIPELINE_CACHE_HEADER_VERSION_ONE [width="85%",cols="8%,21%,71%",options="header"] |===== | Offset | Size | Meaning diff --git a/doc/specs/vulkan/style/extensions.txt b/doc/specs/vulkan/style/extensions.txt index bfb5c5fb..9fbd91fa 100644 --- a/doc/specs/vulkan/style/extensions.txt +++ b/doc/specs/vulkan/style/extensions.txt @@ -71,8 +71,24 @@ of places: * When specifying extensions and layers to enable in the API. * As a preprocessor symbol in the +vulkan.h+ header file indicating that an extension interface is defined at compile time. - * As part of the name of Github repository branches containing - specifications for an extension. + * To control building the Vulkan Specification from asciidoc source + containing many extension, by explicitly enabling inclusion of one or + more extensions. + +[NOTE] +.Note +==== +In version 1.0.24 and earlier versions of the Vulkan Specification, +extensions were maintained in separate git branches from the core +Specification source. This proved to be unwieldy and difficult to maintain +as the core was repeatedly updated, and as of version 1.0.25, we have moved +to a ``single-branch'' model in which most extensions can optionally be +included or not from a single set of source documents. + +It is possible that some vendors will choose to continue maintaining their +extension branches, and the existing extension branches will not be removed +from Github. +==== There is a rigid syntax for these names: @@ -298,24 +314,36 @@ extension number assignment prior to extension publication: this merge request is accepted into the +1.0+ branch. * Develop and test the extension using the registered extension number. * Publish the extension to Khronos using the previously registered - extension number, by creating a branch of the repository with - appropriate changes relative to the core Vulkan API branch. + extension number, by submitting merge requests to the +1.0+ branch + defining the changes specific to the extension. Changes to both the + specification source, and to +vk.xml+ will be needed. + ** Extension changes to the specification source must be protected by + asciidoc conditionals as described in the + <> section. + ** Changes to +vk.xml+ must define the extension interfaces in the + ++ block, and must also change the +supported+ attribute + value of the ++ to +supported="vulkan"+. + ** When publishing an extension, mark it as enabled by proposing a merge + to the +1.0+ branch changing the +supported+ attribute value of the + ++ to +supported="vulkan"+. This should be completely + automated and under the control of the publishers, to allow them to + align publication on Khronos with product releases. However, complete + automation might be difficult, since steps such as regenerating and + validating +vulkan.h+ are involved. Once the merge is accepted and the + corresponding updated header with the new extension interface is + committed to the +1.0+ branch, publication is complete. ** Publishing on the <> is preferred whenever possible. Khronos members may instead create branches on Khronos' internal gitlab server, but those branches will eventually be mirrored to github. - * Mark the extension as enabled, by proposing a merge to the +1.0+ branch - changing the +supported+ attribute value of the ++ to - +supported="vulkan"+. This should be completely automated and under the - control of the publishers, to allow them to align publication on Khronos - with product releases. However, complete automation might be difficult, - since steps such as regenerating and validating +vulkan.h+ are involved. - Once the merge is accepted and the corresponding updated header with the - new extension interface is committed to the +1.0+ branch, publication - is complete. - -The automated process does not exist yet, and would require significant -investment in infrastructure to support the process on the Khronos servers. + ** Once the merge request defining an extension has been accepted into the + +1.0+ branch, publication is complete - although it may not be visible + on Github until the next regular core Specification update is pushed + out. + * It is still possible to publish a separate branch of the repository with + appropriate changes relative to the core Vulkan API branch instead, but + this approach is deprecated and discouraged. If this is done, all + changes to +vk.xml+ must still be made in the +1.0+ branch. ifdef::editing-notes[] [NOTE] @@ -329,63 +357,99 @@ extensions. endif::editing-notes[] +[[extensions-documenting]] == Documenting Extensions Extensions are documented as modifications to the Vulkan specification. -These modifications will be on Git branches that are named with the -following syntax: +-+ - -For example, the VK_KHR_surface extension will be documented relative to -version 1.0 of the <>. As such, the branch name -will be: +1.0-VK_KHR_surface+ in the Github +<>+ -project. - -If the extension modifies an existing section of the Vulkan specification, -those modifications are made in-place. Since the changes are on a branch, -the core-only specification can be easily produced. A specification with an -extension is created by merging in the extension's branch contents. - -Extensions should be merged according to their registered extension number. -If two extensions both modify the same portion of the specification, the -higher-numbered extension should take care to deal with any conflicts. - -The WSI extensions were used to help prototype what should be done for -extensions. This includes the following: - - * All extensions should add an appendix to the Vulkan specification. This - should be modeled after what was done for the +VK_KHR_surface+ - extension (in the +1.0-VK_KHR_surface+ Github branch), which contains - some high-level information about the extension (as well as code - examples, and revision history) in the +appendices/vk_khr_surface.txt+ - file. - * Each extension's appendix file is included by adding an +include+ - statement to the +doc/specs/vulkan/vkspec.txt+ file. Since most - extensions will all put their +include+ line at the same place in this - file, they should add this statement on the +1.0+ branch, even though - the file will not actually exist on the +1.0+ branch. This helps avoid - merge conflicts when multiple extensions' branches are merged in order - to create the ``full'' branch specification. - * If there are any other places where 2 or more extensions will extend the - Vulkan specification, it is best to put that content in a file, and - use an +include+ statement to put that content into the spec. Again, - this +include+ line should be put on the +1.0+ branch in order to - avoid merge conflicts. - * If an extension is more of an addition to the Vulkan specification, - the extension should add a chapter to the Vulkan specification. +Changes specific to an extension are protected by asciidoc conditionals. The +changes are only visible in generated documentation when the Specification +is built with an asciidoc attribute of that name defined. [NOTE] .Note ==== -As of June 2016, we have found that the ``extension branch'' model poses -some challenges. It works fine for individual extensions, but trying to -merge extensions into combined branches, such as the +1.0-wsi_extensions+ -branch containing all Khronos WSI family extensions, invariably produces a -number of merge conflicts which must be manually resolved. We are likely to -continue using the extension branch model, and hope to simplify the merge -process over time, but authors should be aware that it is not as completely -transparent as we had hoped initially. +This is referred to as the ``single-branch'' model, in contrast to the +earlier model where each extension lived in a separate branch from the +1.0+ +core Specification source. ==== +For example, the +VK_KHR_surface+ extension is now documented in the +1.0+ +branch of the Github +<>+ project. However, +specifications generated from this branch will only include the extension +when the Makefile is invoked appropriately. + +Most language defining extensions can be localized either into a small +number of asciidoc include files which are conditionally included in the +core specification chapters and appendices, or into parts of +vk.xml+ +defining the extension interfaces. + +[NOTE] +.Note +==== +We do not yet fully document an example of including an extension in the +single-branch model. Instead, authors should refer to the +1.0+ branch and +search for the names of existing extensions, such as +VK_KHR_surface+, as +examples. Some aspects of the changes for this example extension are +described below. +==== + +The WSI extensions were used to help prototype what changes need to be made +for extensions, which include (but may not be limited to) the following: + + * All extensions should add an appendix to the Vulkan specification. This + can be modeled after what was done for the +VK_KHR_surface+ extension in + +doc/specs/vulkan/appendices/VK_KHR_surface/wsi.txt+, which contains + metainformation about the extension (as well as code examples, and + revision history). This example is complicated because +VK_KHR_surface+ + is a base extension on which many window system-specific extensions are + layered. + * Each extension's appendix file is included by adding an +include+ + statement to the +doc/specs/vulkan/vkspec.txt+ file. The +include+ + statement must be protected by appropriate asciidoc conditionals. For + example: ++ +-- +.Example Markup +---- +\ifdef::VK_KHR_surface[] +\include::appendices/VK_KHR_surface/wsi.txt[] +\endif::VK_KHR_surface[] +---- +-- + * If an extension is more of an addition to the Vulkan specification, the + extension should add a chapter to the Vulkan specification. For example, + in the case of the +VK_KHR_surface+ example a new chapter is added in + +vkspec.txt+ by including at the end of the core Specification chapters: ++ +-- +.Example Markup +---- +\ifdef::VK_KHR_surface[] +\include::chapters/VK_KHR_surface/wsi.txt[] +\endif::VK_KHR_surface[] +---- +-- + * In every other place where the extension modifies the core + Specification, modify the core files and protect the modifications with + the same asciidoc conditionals. For example, +VK_KHR_surface+ adds new + error codes to Vulkan. These are added to +chapters/fundamentals.txt+ in + the ``Return Codes'' section as follows: ++ +-- +.Example Markup +---- +... list of existing error codes +\ifdef::VK_KHR_surface[] +\include::VK_KHR_surface/VkResultErrorDescriptions_surface.txt[] +\endif::VK_KHR_surface[] +---- +-- + * For vendor extensions, changes made to existing core Specification + source files and to +vk.xml+ all fall under the Contributor License + Agreement. Vendors may use their own copyright on new files they add to + the +1.0+ branch, although that copyright must be compatible with the + Specification copyright. + == Assigning Extension Token Values @@ -462,24 +526,14 @@ extension. Bits are not reserved, and must not be used in a published implementation or specification until the reservation is merged into <> by the registry maintainer. -[NOTE] -.Note -==== -In reality the approving authority for EXT and vendor extension bitmask -additions will probably be the owner of the github branch containing the -specification of that extension; however, until the github process is fully -defined and locked down, it is safest to refer to the listed contact. -==== - - == Required Extension Tokens In addition to any tokens specific to the functionality of an extension, all extensions must define two additional tokens. - * VK_EXTNAME_SPEC_VERSION is an integer constant which is the revision of - the extension named +VK_extname+ (EXTNAME is all upper-case, while + * +VK_EXTNAME_SPEC_VERSION+ is an integer constant which is the revision of + the extension named +VK_extname+ (+EXTNAME+ is all upper-case, while extname is the capitalization of the actual extension name) in +vulkan.h+. This value begins at 1 with the initial version of an extension specification, and is incremented when significant changes @@ -490,7 +544,7 @@ all extensions must define two additional tokens. returned by one of the <>) may differ. In such cases, only the functionality and behavior of the lowest-numbered revision can be used. - * VK_EXTNAME_EXTENSION_NAME is a string constant which is the name of the + * +VK_EXTNAME_EXTENSION_NAME+ is a string constant which is the name of the extension. For example, for the WSI extension +VK_KHR_surface+, at the time of writing @@ -538,8 +592,8 @@ An extension can be considered platform specific, in which case its interfaces in +vulkan.h+ are protected by #ifdefs. This is orthogonal to whether an extension command is considered to be part of the Vulkan ABI. -The initial set of WSI extension commands (i.e. for VK_KHR_surface, -VK_KHR_swapchain, and VK_KHR_*_surface) are considered to be part of the +The initial set of WSI extension commands (i.e. for +VK_KHR_surface+, ++VK_KHR_swapchain+, and +VK_KHR_*_surface+) are considered to be part of the Vulkan ABI. Function prototypes for these WSI commands are included in the +vulkan.h+ provided by Khronos, though the platform-specific portions of +vulkan.h+ are protected by #ifdefs. diff --git a/doc/specs/vulkan/style/writing.txt b/doc/specs/vulkan/style/writing.txt index 7da78e2f..5ca4b653 100644 --- a/doc/specs/vulkan/style/writing.txt +++ b/doc/specs/vulkan/style/writing.txt @@ -36,6 +36,15 @@ conventions. For example: *Incorrect:* colour, signalled. +The following words are exceptions to this convention, usually for +historical reasons: + +.Spelling Exceptions +[width="100%",options="header",cols="20%,80%"] +|===== +| tessellation +|===== + [[writing-describing]] == Describing Commands and Parameters @@ -51,6 +60,14 @@ compelling need. Normative parts of the <> should describe _what_ something does, rather than _how_ or _why_ an application would want to use it. +When explicitly allowed by the Specification, the reserved value code:NULL may: +be used for Vulkan dispatchable objects, pointer parameters and members, +and the reserved value dname:VK_NULL_HANDLE may: be used for +Vulkan non-dispatchable object handle parameters and members. +Otherwise, pointers and handles must: +refer to valid memory and valid Vulkan objects, respectively. + + [NOTE] .Guideline ==== diff --git a/doc/specs/vulkan/styleguide.txt b/doc/specs/vulkan/styleguide.txt index c745c086..1f4739ee 100644 --- a/doc/specs/vulkan/styleguide.txt +++ b/doc/specs/vulkan/styleguide.txt @@ -153,6 +153,9 @@ include::style/writing.txt[] = Revision History +* August 23, 2016 - Modify description of specifying extensions in the + <> chapter to refer to the new + single-branch model for extensions (internal issue 397). * July 26, 2016 - Add section describing <>. * July 18, 2016 - Add examples of function-parameter and structure-member diff --git a/doc/specs/vulkan/validity/protos/vkAllocateCommandBuffers.txt b/doc/specs/vulkan/validity/protos/vkAllocateCommandBuffers.txt deleted file mode 100644 index 6aaf34c5..00000000 --- a/doc/specs/vulkan/validity/protos/vkAllocateCommandBuffers.txt +++ /dev/null @@ -1,56 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pAllocateInfo must: be a pointer to a valid sname:VkCommandBufferAllocateInfo structure -* pname:pCommandBuffers must: be a pointer to an array of pname:pAllocateInfo->commandBufferCount sname:VkCommandBuffer handles -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:pAllocateInfo->commandPool must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkAllocateDescriptorSets.txt b/doc/specs/vulkan/validity/protos/vkAllocateDescriptorSets.txt deleted file mode 100644 index b1ff893c..00000000 --- a/doc/specs/vulkan/validity/protos/vkAllocateDescriptorSets.txt +++ /dev/null @@ -1,57 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pAllocateInfo must: be a pointer to a valid sname:VkDescriptorSetAllocateInfo structure -* pname:pDescriptorSets must: be a pointer to an array of pname:pAllocateInfo->descriptorSetCount sname:VkDescriptorSet handles -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:pAllocateInfo->descriptorPool must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -* ename:VK_ERROR_FRAGMENTED_POOL -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkAllocateMemory.txt b/doc/specs/vulkan/validity/protos/vkAllocateMemory.txt deleted file mode 100644 index a1257ddd..00000000 --- a/doc/specs/vulkan/validity/protos/vkAllocateMemory.txt +++ /dev/null @@ -1,46 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pAllocateInfo must: be a pointer to a valid sname:VkMemoryAllocateInfo structure -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* pname:pMemory must: be a pointer to a sname:VkDeviceMemory handle -* The number of currently valid memory objects, allocated from pname:device, must: be less than sname:VkPhysicalDeviceLimits::pname:maxMemoryAllocationCount -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -* ename:VK_ERROR_TOO_MANY_OBJECTS -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkBeginCommandBuffer.txt b/doc/specs/vulkan/validity/protos/vkBeginCommandBuffer.txt deleted file mode 100644 index e728239f..00000000 --- a/doc/specs/vulkan/validity/protos/vkBeginCommandBuffer.txt +++ /dev/null @@ -1,60 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:pBeginInfo must: be a pointer to a valid sname:VkCommandBufferBeginInfo structure -* pname:commandBuffer mustnot: be in the recording state -* pname:commandBuffer mustnot: currently be pending execution -* If pname:commandBuffer was allocated from a sname:VkCommandPool which did not have the ename:VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT flag set, pname:commandBuffer must: be in the initial state. -* If pname:commandBuffer is a secondary command buffer, the pname:pInheritanceInfo member of pname:pBeginInfo must: be a valid sname:VkCommandBufferInheritanceInfo structure -* If pname:commandBuffer is a secondary command buffer and either the pname:occlusionQueryEnable member of the pname:pInheritanceInfo member of pname:pBeginInfo is ename:VK_FALSE, or the precise occlusion queries feature is not enabled, the pname:queryFlags member of the pname:pInheritanceInfo member pname:pBeginInfo mustnot: contain ename:VK_QUERY_CONTROL_PRECISE_BIT -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkBindBufferMemory.txt b/doc/specs/vulkan/validity/protos/vkBindBufferMemory.txt deleted file mode 100644 index 7e99e752..00000000 --- a/doc/specs/vulkan/validity/protos/vkBindBufferMemory.txt +++ /dev/null @@ -1,67 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:buffer must: be a valid sname:VkBuffer handle -* pname:memory must: be a valid sname:VkDeviceMemory handle -* pname:buffer must: have been created, allocated, or retrieved from pname:device -* pname:memory must: have been created, allocated, or retrieved from pname:device -* pname:buffer mustnot: already be backed by a memory object -* pname:buffer mustnot: have been created with any sparse memory binding flags -* pname:memoryOffset must: be less than the size of pname:memory -* If pname:buffer was created with the ename:VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT or ename:VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT, pname:memoryOffset must: be a multiple of sname:VkPhysicalDeviceLimits::pname:minTexelBufferOffsetAlignment -* If pname:buffer was created with the ename:VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, pname:memoryOffset must: be a multiple of sname:VkPhysicalDeviceLimits::pname:minUniformBufferOffsetAlignment -* If pname:buffer was created with the ename:VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, pname:memoryOffset must: be a multiple of sname:VkPhysicalDeviceLimits::pname:minStorageBufferOffsetAlignment -* pname:memory must: have been allocated using one of the memory types allowed in the pname:memoryTypeBits member of the sname:VkMemoryRequirements structure returned from a call to fname:vkGetBufferMemoryRequirements with pname:buffer -* pname:memoryOffset must: be an integer multiple of the pname:alignment member of the sname:VkMemoryRequirements structure returned from a call to fname:vkGetBufferMemoryRequirements with pname:buffer -* The pname:size member of the sname:VkMemoryRequirements structure returned from a call to fname:vkGetBufferMemoryRequirements with pname:buffer must: be less than or equal to the size of pname:memory minus pname:memoryOffset -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:buffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkBindImageMemory.txt b/doc/specs/vulkan/validity/protos/vkBindImageMemory.txt deleted file mode 100644 index 33f7a8c1..00000000 --- a/doc/specs/vulkan/validity/protos/vkBindImageMemory.txt +++ /dev/null @@ -1,64 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:image must: be a valid sname:VkImage handle -* pname:memory must: be a valid sname:VkDeviceMemory handle -* pname:image must: have been created, allocated, or retrieved from pname:device -* pname:memory must: have been created, allocated, or retrieved from pname:device -* pname:image mustnot: already be backed by a memory object -* pname:image mustnot: have been created with any sparse memory binding flags -* pname:memoryOffset must: be less than the size of pname:memory -* pname:memory must: have been allocated using one of the memory types allowed in the pname:memoryTypeBits member of the sname:VkMemoryRequirements structure returned from a call to fname:vkGetImageMemoryRequirements with pname:image -* pname:memoryOffset must: be an integer multiple of the pname:alignment member of the sname:VkMemoryRequirements structure returned from a call to fname:vkGetImageMemoryRequirements with pname:image -* The pname:size member of the sname:VkMemoryRequirements structure returned from a call to fname:vkGetImageMemoryRequirements with pname:image must: be less than or equal to the size of pname:memory minus pname:memoryOffset -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:image must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdBeginQuery.txt b/doc/specs/vulkan/validity/protos/vkCmdBeginQuery.txt deleted file mode 100644 index 2928b2d1..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdBeginQuery.txt +++ /dev/null @@ -1,59 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:queryPool must: be a valid sname:VkQueryPool handle -* pname:flags must: be a valid combination of elink:VkQueryControlFlagBits values -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics, or compute operations -* Both of pname:commandBuffer, and pname:queryPool must: have been created, allocated, or retrieved from the same sname:VkDevice -* The query identified by pname:queryPool and pname:query must: currently not be <> -* The query identified by pname:queryPool and pname:query must: be unavailable -* If the <> feature is not enabled, or the pname:queryType used to create pname:queryPool was not ename:VK_QUERY_TYPE_OCCLUSION, pname:flags mustnot: contain ename:VK_QUERY_CONTROL_PRECISE_BIT -* pname:queryPool must: have been created with a pname:queryType that differs from that of any other queries that have been made <>, and are currently still active within pname:commandBuffer -* pname:query must: be less than the number of queries in pname:queryPool -* If the pname:queryType used to create pname:queryPool was ename:VK_QUERY_TYPE_OCCLUSION, the sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* If the pname:queryType used to create pname:queryPool was ename:VK_QUERY_TYPE_PIPELINE_STATISTICS and any of the pname:pipelineStatistics indicate graphics operations, the sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* If the pname:queryType used to create pname:queryPool was ename:VK_QUERY_TYPE_PIPELINE_STATISTICS and any of the pname:pipelineStatistics indicate compute operations, the sname:VkCommandPool that pname:commandBuffer was allocated from must: support compute operations -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Both|GRAPHICS + -COMPUTE -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdBeginRenderPass.txt b/doc/specs/vulkan/validity/protos/vkCmdBeginRenderPass.txt deleted file mode 100644 index 03e16c39..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdBeginRenderPass.txt +++ /dev/null @@ -1,56 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:pRenderPassBegin must: be a pointer to a valid sname:VkRenderPassBeginInfo structure -* pname:contents must: be a valid elink:VkSubpassContents value -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* This command must: only be called outside of a render pass instance -* pname:commandBuffer must: be a primary sname:VkCommandBuffer -* If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL then the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT set -* If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL then the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT set -* If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL then the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_SAMPLED_BIT or ename:VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT set -* If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL then the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_SRC_BIT set -* If any of the pname:initialLayout or pname:finalLayout member of the sname:VkAttachmentDescription structures or the pname:layout member of the sname:VkAttachmentReference structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is ename:VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL then the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT set -* If any of the pname:initialLayout members of the sname:VkAttachmentDescription structures specified when creating the render pass specified in the pname:renderPass member of pname:pRenderPassBegin is not ename:VK_IMAGE_LAYOUT_UNDEFINED, then each such pname:initialLayout must: be equal to the current layout of the corresponding attachment image subresource of the framebuffer specified in the pname:framebuffer member of pname:pRenderPassBegin. -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary|Outside|GRAPHICS -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdBindDescriptorSets.txt b/doc/specs/vulkan/validity/protos/vkCmdBindDescriptorSets.txt deleted file mode 100644 index eb6ccd1d..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdBindDescriptorSets.txt +++ /dev/null @@ -1,59 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:pipelineBindPoint must: be a valid elink:VkPipelineBindPoint value -* pname:layout must: be a valid sname:VkPipelineLayout handle -* pname:pDescriptorSets must: be a pointer to an array of pname:descriptorSetCount valid sname:VkDescriptorSet handles -* If pname:dynamicOffsetCount is not `0`, pname:pDynamicOffsets must: be a pointer to an array of pname:dynamicOffsetCount basetype:uint32_t values -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics, or compute operations -* pname:descriptorSetCount must: be greater than `0` -* Each of pname:commandBuffer, pname:layout, and the elements of pname:pDescriptorSets must: have been created, allocated, or retrieved from the same sname:VkDevice -* Any given element of pname:pDescriptorSets must: have been allocated with a sname:VkDescriptorSetLayout that matches (is the same as, or defined identically to) the sname:VkDescriptorSetLayout at set _n_ in pname:layout, where _n_ is the sum of pname:firstSet and the index into pname:pDescriptorSets -* pname:dynamicOffsetCount must: be equal to the total number of dynamic descriptors in pname:pDescriptorSets -* The sum of pname:firstSet and pname:descriptorSetCount must: be less than or equal to sname:VkPipelineLayoutCreateInfo::pname:setLayoutCount provided when pname:layout was created -* pname:pipelineBindPoint must: be supported by the pname:commandBuffer's parent sname:VkCommandPool's queue family -* Any given element of pname:pDynamicOffsets must: satisfy the required alignment for the corresponding descriptor binding's descriptor type -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Both|GRAPHICS + -COMPUTE -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdBindIndexBuffer.txt b/doc/specs/vulkan/validity/protos/vkCmdBindIndexBuffer.txt deleted file mode 100644 index 72799076..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdBindIndexBuffer.txt +++ /dev/null @@ -1,53 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:buffer must: be a valid sname:VkBuffer handle -* pname:indexType must: be a valid elink:VkIndexType value -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* Both of pname:buffer, and pname:commandBuffer must: have been created, allocated, or retrieved from the same sname:VkDevice -* pname:offset must: be less than the size of pname:buffer -* The sum of pname:offset and the address of the range of sname:VkDeviceMemory object that is backing pname:buffer, must: be a multiple of the type indicated by pname:indexType -* pname:buffer must: have been created with the ename:VK_BUFFER_USAGE_INDEX_BUFFER_BIT flag -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Both|GRAPHICS -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdBindPipeline.txt b/doc/specs/vulkan/validity/protos/vkCmdBindPipeline.txt deleted file mode 100644 index 19d60950..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdBindPipeline.txt +++ /dev/null @@ -1,56 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:pipelineBindPoint must: be a valid elink:VkPipelineBindPoint value -* pname:pipeline must: be a valid sname:VkPipeline handle -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics, or compute operations -* Both of pname:commandBuffer, and pname:pipeline must: have been created, allocated, or retrieved from the same sname:VkDevice -* If pname:pipelineBindPoint is ename:VK_PIPELINE_BIND_POINT_COMPUTE, the sname:VkCommandPool that pname:commandBuffer was allocated from must: support compute operations -* If pname:pipelineBindPoint is ename:VK_PIPELINE_BIND_POINT_GRAPHICS, the sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* If pname:pipelineBindPoint is ename:VK_PIPELINE_BIND_POINT_COMPUTE, pname:pipeline must: be a compute pipeline -* If pname:pipelineBindPoint is ename:VK_PIPELINE_BIND_POINT_GRAPHICS, pname:pipeline must: be a graphics pipeline -* If the <> feature is not supported, pname:pipeline is a graphics pipeline, the current subpass has no attachments, and this is not the first call to this function with a graphics pipeline after transitioning to the current subpass, then the sample count specified by this pipeline must: match that set in the previous pipeline -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Both|GRAPHICS + -COMPUTE -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdBindVertexBuffers.txt b/doc/specs/vulkan/validity/protos/vkCmdBindVertexBuffers.txt deleted file mode 100644 index 6b03c412..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdBindVertexBuffers.txt +++ /dev/null @@ -1,55 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:pBuffers must: be a pointer to an array of pname:bindingCount valid sname:VkBuffer handles -* pname:pOffsets must: be a pointer to an array of pname:bindingCount basetype:VkDeviceSize values -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* pname:bindingCount must: be greater than `0` -* Both of pname:commandBuffer, and the elements of pname:pBuffers must: have been created, allocated, or retrieved from the same sname:VkDevice -* pname:firstBinding must: be less than sname:VkPhysicalDeviceLimits::pname:maxVertexInputBindings -* The sum of pname:firstBinding and pname:bindingCount must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxVertexInputBindings -* All elements of pname:pOffsets must: be less than the size of the corresponding element in pname:pBuffers -* All elements of pname:pBuffers must: have been created with the ename:VK_BUFFER_USAGE_VERTEX_BUFFER_BIT flag -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Both|GRAPHICS -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdBlitImage.txt b/doc/specs/vulkan/validity/protos/vkCmdBlitImage.txt deleted file mode 100644 index b8e177ab..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdBlitImage.txt +++ /dev/null @@ -1,75 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:srcImage must: be a valid sname:VkImage handle -* pname:srcImageLayout must: be a valid elink:VkImageLayout value -* pname:dstImage must: be a valid sname:VkImage handle -* pname:dstImageLayout must: be a valid elink:VkImageLayout value -* pname:pRegions must: be a pointer to an array of pname:regionCount valid sname:VkImageBlit structures -* pname:filter must: be a valid elink:VkFilter value -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* This command must: only be called outside of a render pass instance -* pname:regionCount must: be greater than `0` -* Each of pname:commandBuffer, pname:dstImage, and pname:srcImage must: have been created, allocated, or retrieved from the same sname:VkDevice -* The source region specified by a given element of pname:pRegions must: be a region that is contained within pname:srcImage -* The destination region specified by a given element of pname:pRegions must: be a region that is contained within pname:dstImage -* The union of all destination regions, specified by the elements of pname:pRegions, mustnot: overlap in memory with any texel that may: be sampled during the blit operation -* pname:srcImage must: use a format that supports ename:VK_FORMAT_FEATURE_BLIT_SRC_BIT, which is indicated by sname:VkFormatProperties::pname:linearTilingFeatures (for linear tiled images) or sname:VkFormatProperties::pname:optimalTilingFeatures (for optimally tiled images) - as returned by fname:vkGetPhysicalDeviceFormatProperties -* pname:srcImage must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_SRC_BIT usage flag -* pname:srcImageLayout must: specify the layout of the image subresources of pname:srcImage specified in pname:pRegions at the time this command is executed on a sname:VkDevice -* pname:srcImageLayout must: be either of ename:VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL or ename:VK_IMAGE_LAYOUT_GENERAL -* pname:dstImage must: use a format that supports ename:VK_FORMAT_FEATURE_BLIT_DST_BIT, which is indicated by sname:VkFormatProperties::pname:linearTilingFeatures (for linear tiled images) or sname:VkFormatProperties::pname:optimalTilingFeatures (for optimally tiled images) - as returned by fname:vkGetPhysicalDeviceFormatProperties -* pname:dstImage must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT usage flag -* pname:dstImageLayout must: specify the layout of the image subresources of pname:dstImage specified in pname:pRegions at the time this command is executed on a sname:VkDevice -* pname:dstImageLayout must: be either of ename:VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL or ename:VK_IMAGE_LAYOUT_GENERAL -* The sample count of pname:srcImage and pname:dstImage must: both be equal to ename:VK_SAMPLE_COUNT_1_BIT -* If either of pname:srcImage or pname:dstImage was created with a signed integer elink:VkFormat, the other must: also have been created with a signed integer elink:VkFormat -* If either of pname:srcImage or pname:dstImage was created with an unsigned integer elink:VkFormat, the other must: also have been created with an unsigned integer elink:VkFormat -* If either of pname:srcImage or pname:dstImage was created with a depth/stencil format, the other must: have exactly the same format -* If pname:srcImage was created with a depth/stencil format, pname:filter must: be ename:VK_FILTER_NEAREST -* pname:srcImage must: have been created with a pname:samples value of ename:VK_SAMPLE_COUNT_1_BIT -* pname:dstImage must: have been created with a pname:samples value of ename:VK_SAMPLE_COUNT_1_BIT -* If pname:filter is ename:VK_FILTER_LINEAR, pname:srcImage must: be of a format which supports linear filtering, as specified by the ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in sname:VkFormatProperties::pname:linearTilingFeatures (for a linear image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an optimally tiled image) returned by fname:vkGetPhysicalDeviceFormatProperties -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Outside|GRAPHICS -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdClearAttachments.txt b/doc/specs/vulkan/validity/protos/vkCmdClearAttachments.txt deleted file mode 100644 index 6a3a311f..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdClearAttachments.txt +++ /dev/null @@ -1,55 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:pAttachments must: be a pointer to an array of pname:attachmentCount valid sname:VkClearAttachment structures -* pname:pRects must: be a pointer to an array of pname:rectCount sname:VkClearRect structures -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* This command must: only be called inside of a render pass instance -* pname:attachmentCount must: be greater than `0` -* pname:rectCount must: be greater than `0` -* If the pname:aspectMask member of any given element of pname:pAttachments contains ename:VK_IMAGE_ASPECT_COLOR_BIT, the pname:colorAttachment member of those elements must: refer to a valid color attachment in the current subpass -* The rectangular region specified by a given element of pname:pRects must: be contained within the render area of the current render pass instance -* The layers specified by a given element of pname:pRects must: be contained within every attachment that pname:pAttachments refers to -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Inside|GRAPHICS -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdClearColorImage.txt b/doc/specs/vulkan/validity/protos/vkCmdClearColorImage.txt deleted file mode 100644 index 0f125b0f..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdClearColorImage.txt +++ /dev/null @@ -1,60 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:image must: be a valid sname:VkImage handle -* pname:imageLayout must: be a valid elink:VkImageLayout value -* pname:pColor must: be a pointer to a valid sname:VkClearColorValue union -* pname:pRanges must: be a pointer to an array of pname:rangeCount valid sname:VkImageSubresourceRange structures -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics, or compute operations -* This command must: only be called outside of a render pass instance -* pname:rangeCount must: be greater than `0` -* Both of pname:commandBuffer, and pname:image must: have been created, allocated, or retrieved from the same sname:VkDevice -* pname:image must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT usage flag -* pname:imageLayout must: specify the layout of the image subresource ranges of pname:image specified in pname:pRanges at the time this command is executed on a sname:VkDevice -* pname:imageLayout must: be either of ename:VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL or ename:VK_IMAGE_LAYOUT_GENERAL -* The image range of any given element of pname:pRanges must: be an image subresource range that is contained within pname:image -* pname:image mustnot: have a compressed or depth/stencil format -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Outside|GRAPHICS + -COMPUTE -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdClearDepthStencilImage.txt b/doc/specs/vulkan/validity/protos/vkCmdClearDepthStencilImage.txt deleted file mode 100644 index 2791b6aa..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdClearDepthStencilImage.txt +++ /dev/null @@ -1,59 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:image must: be a valid sname:VkImage handle -* pname:imageLayout must: be a valid elink:VkImageLayout value -* pname:pDepthStencil must: be a pointer to a valid sname:VkClearDepthStencilValue structure -* pname:pRanges must: be a pointer to an array of pname:rangeCount valid sname:VkImageSubresourceRange structures -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* This command must: only be called outside of a render pass instance -* pname:rangeCount must: be greater than `0` -* Both of pname:commandBuffer, and pname:image must: have been created, allocated, or retrieved from the same sname:VkDevice -* pname:image must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT usage flag -* pname:imageLayout must: specify the layout of the image subresource ranges of pname:image specified in pname:pRanges at the time this command is executed on a sname:VkDevice -* pname:imageLayout must: be either of ename:VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL or ename:VK_IMAGE_LAYOUT_GENERAL -* The image range of any given element of pname:pRanges must: be an image subresource range that is contained within pname:image -* pname:image must: have a depth/stencil format -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Outside|GRAPHICS -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdCopyBuffer.txt b/doc/specs/vulkan/validity/protos/vkCmdCopyBuffer.txt deleted file mode 100644 index c6533ec7..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdCopyBuffer.txt +++ /dev/null @@ -1,63 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:srcBuffer must: be a valid sname:VkBuffer handle -* pname:dstBuffer must: be a valid sname:VkBuffer handle -* pname:pRegions must: be a pointer to an array of pname:regionCount sname:VkBufferCopy structures -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support transfer, graphics, or compute operations -* This command must: only be called outside of a render pass instance -* pname:regionCount must: be greater than `0` -* Each of pname:commandBuffer, pname:dstBuffer, and pname:srcBuffer must: have been created, allocated, or retrieved from the same sname:VkDevice -* The pname:size member of a given element of pname:pRegions must: be greater than `0` -* The pname:srcOffset member of a given element of pname:pRegions must: be less than the size of pname:srcBuffer -* The pname:dstOffset member of a given element of pname:pRegions must: be less than the size of pname:dstBuffer -* The pname:size member of a given element of pname:pRegions must: be less than or equal to the size of pname:srcBuffer minus pname:srcOffset -* The pname:size member of a given element of pname:pRegions must: be less than or equal to the size of pname:dstBuffer minus pname:dstOffset -* The union of the source regions, and the union of the destination regions, specified by the elements of pname:pRegions, mustnot: overlap in memory -* pname:srcBuffer must: have been created with ename:VK_BUFFER_USAGE_TRANSFER_SRC_BIT usage flag -* pname:dstBuffer must: have been created with ename:VK_BUFFER_USAGE_TRANSFER_DST_BIT usage flag -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Outside|TRANSFER + -GRAPHICS + -COMPUTE -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdCopyBufferToImage.txt b/doc/specs/vulkan/validity/protos/vkCmdCopyBufferToImage.txt deleted file mode 100644 index 014d37c2..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdCopyBufferToImage.txt +++ /dev/null @@ -1,64 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:srcBuffer must: be a valid sname:VkBuffer handle -* pname:dstImage must: be a valid sname:VkImage handle -* pname:dstImageLayout must: be a valid elink:VkImageLayout value -* pname:pRegions must: be a pointer to an array of pname:regionCount valid sname:VkBufferImageCopy structures -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support transfer, graphics, or compute operations -* This command must: only be called outside of a render pass instance -* pname:regionCount must: be greater than `0` -* Each of pname:commandBuffer, pname:dstImage, and pname:srcBuffer must: have been created, allocated, or retrieved from the same sname:VkDevice -* The buffer region specified by a given element of pname:pRegions must: be a region that is contained within pname:srcBuffer -* The image region specified by a given element of pname:pRegions must: be a region that is contained within pname:dstImage -* The union of all source regions, and the union of all destination regions, specified by the elements of pname:pRegions, mustnot: overlap in memory -* pname:srcBuffer must: have been created with ename:VK_BUFFER_USAGE_TRANSFER_SRC_BIT usage flag -* pname:dstImage must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT usage flag -* pname:dstImage must: have a sample count equal to ename:VK_SAMPLE_COUNT_1_BIT -* pname:dstImageLayout must: specify the layout of the image subresources of pname:dstImage specified in pname:pRegions at the time this command is executed on a sname:VkDevice -* pname:dstImageLayout must: be either of ename:VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL or ename:VK_IMAGE_LAYOUT_GENERAL -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Outside|TRANSFER + -GRAPHICS + -COMPUTE -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdCopyImage.txt b/doc/specs/vulkan/validity/protos/vkCmdCopyImage.txt deleted file mode 100644 index 95945a95..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdCopyImage.txt +++ /dev/null @@ -1,68 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:srcImage must: be a valid sname:VkImage handle -* pname:srcImageLayout must: be a valid elink:VkImageLayout value -* pname:dstImage must: be a valid sname:VkImage handle -* pname:dstImageLayout must: be a valid elink:VkImageLayout value -* pname:pRegions must: be a pointer to an array of pname:regionCount valid sname:VkImageCopy structures -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support transfer, graphics, or compute operations -* This command must: only be called outside of a render pass instance -* pname:regionCount must: be greater than `0` -* Each of pname:commandBuffer, pname:dstImage, and pname:srcImage must: have been created, allocated, or retrieved from the same sname:VkDevice -* The source region specified by a given element of pname:pRegions must: be a region that is contained within pname:srcImage -* The destination region specified by a given element of pname:pRegions must: be a region that is contained within pname:dstImage -* The union of all source regions, and the union of all destination regions, specified by the elements of pname:pRegions, mustnot: overlap in memory -* pname:srcImage must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_SRC_BIT usage flag -* pname:srcImageLayout must: specify the layout of the image subresources of pname:srcImage specified in pname:pRegions at the time this command is executed on a sname:VkDevice -* pname:srcImageLayout must: be either of ename:VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL or ename:VK_IMAGE_LAYOUT_GENERAL -* pname:dstImage must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT usage flag -* pname:dstImageLayout must: specify the layout of the image subresources of pname:dstImage specified in pname:pRegions at the time this command is executed on a sname:VkDevice -* pname:dstImageLayout must: be either of ename:VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL or ename:VK_IMAGE_LAYOUT_GENERAL -* The elink:VkFormat of each of pname:srcImage and pname:dstImage must: be compatible, as defined <> -* The sample count of pname:srcImage and pname:dstImage must: match -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Outside|TRANSFER + -GRAPHICS + -COMPUTE -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdCopyImageToBuffer.txt b/doc/specs/vulkan/validity/protos/vkCmdCopyImageToBuffer.txt deleted file mode 100644 index 3709ff0f..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdCopyImageToBuffer.txt +++ /dev/null @@ -1,64 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:srcImage must: be a valid sname:VkImage handle -* pname:srcImageLayout must: be a valid elink:VkImageLayout value -* pname:dstBuffer must: be a valid sname:VkBuffer handle -* pname:pRegions must: be a pointer to an array of pname:regionCount valid sname:VkBufferImageCopy structures -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support transfer, graphics, or compute operations -* This command must: only be called outside of a render pass instance -* pname:regionCount must: be greater than `0` -* Each of pname:commandBuffer, pname:dstBuffer, and pname:srcImage must: have been created, allocated, or retrieved from the same sname:VkDevice -* The image region specified by a given element of pname:pRegions must: be a region that is contained within pname:srcImage -* The buffer region specified by a given element of pname:pRegions must: be a region that is contained within pname:dstBuffer -* The union of all source regions, and the union of all destination regions, specified by the elements of pname:pRegions, mustnot: overlap in memory -* pname:srcImage must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_SRC_BIT usage flag -* pname:srcImage must: have a sample count equal to ename:VK_SAMPLE_COUNT_1_BIT -* pname:srcImageLayout must: specify the layout of the image subresources of pname:srcImage specified in pname:pRegions at the time this command is executed on a sname:VkDevice -* pname:srcImageLayout must: be either of ename:VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL or ename:VK_IMAGE_LAYOUT_GENERAL -* pname:dstBuffer must: have been created with ename:VK_BUFFER_USAGE_TRANSFER_DST_BIT usage flag -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Outside|TRANSFER + -GRAPHICS + -COMPUTE -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdCopyQueryPoolResults.txt b/doc/specs/vulkan/validity/protos/vkCmdCopyQueryPoolResults.txt deleted file mode 100644 index 2c20e90a..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdCopyQueryPoolResults.txt +++ /dev/null @@ -1,61 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:queryPool must: be a valid sname:VkQueryPool handle -* pname:dstBuffer must: be a valid sname:VkBuffer handle -* pname:flags must: be a valid combination of elink:VkQueryResultFlagBits values -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics, or compute operations -* This command must: only be called outside of a render pass instance -* Each of pname:commandBuffer, pname:dstBuffer, and pname:queryPool must: have been created, allocated, or retrieved from the same sname:VkDevice -* pname:dstOffset must: be less than the size of pname:dstBuffer -* pname:firstQuery must: be less than the number of queries in pname:queryPool -* The sum of pname:firstQuery and pname:queryCount must: be less than or equal to the number of queries in pname:queryPool -* If ename:VK_QUERY_RESULT_64_BIT is not set in pname:flags then pname:dstOffset and pname:stride must: be multiples of `4` -* If ename:VK_QUERY_RESULT_64_BIT is set in pname:flags then pname:dstOffset and pname:stride must: be multiples of `8` -* pname:dstBuffer must: have enough storage, from pname:dstOffset, to contain the result of each query, as described <> -* pname:dstBuffer must: have been created with ename:VK_BUFFER_USAGE_TRANSFER_DST_BIT usage flag -* If the pname:queryType used to create pname:queryPool was ename:VK_QUERY_TYPE_TIMESTAMP, pname:flags mustnot: contain ename:VK_QUERY_RESULT_PARTIAL_BIT -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Outside|GRAPHICS + -COMPUTE -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdDispatch.txt b/doc/specs/vulkan/validity/protos/vkCmdDispatch.txt deleted file mode 100644 index 9f394a3b..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdDispatch.txt +++ /dev/null @@ -1,61 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support compute operations -* This command must: only be called outside of a render pass instance -* pname:x must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxComputeWorkGroupCount[0] -* pname:y must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxComputeWorkGroupCount[1] -* pname:z must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxComputeWorkGroupCount[2] -* For each set _n_ that is statically used by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_COMPUTE, a descriptor set must: have been bound to _n_ at ename:VK_PIPELINE_BIND_POINT_COMPUTE, with a sname:VkPipelineLayout that is compatible for set _n_, with the sname:VkPipelineLayout used to create the current sname:VkPipeline, as described in <> -* Descriptors in each bound descriptor set, specified via fname:vkCmdBindDescriptorSets, must: be valid if they are statically used by the currently bound sname:VkPipeline object, specified via fname:vkCmdBindPipeline -* A valid compute pipeline must: be bound to the current command buffer with ename:VK_PIPELINE_BIND_POINT_COMPUTE -* For each push constant that is statically used by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_COMPUTE, a push constant value must: have been set for ename:VK_PIPELINE_BIND_POINT_COMPUTE, with a sname:VkPipelineLayout that is compatible for push constants with the one used to create the current sname:VkPipeline, as described in <> -* If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_COMPUTE uses unnormalized coordinates, it mustnot: be used to sample from any sname:VkImage with a sname:VkImageView of the type ename:VK_IMAGE_VIEW_TYPE_3D, ename:VK_IMAGE_VIEW_TYPE_CUBE, ename:VK_IMAGE_VIEW_TYPE_1D_ARRAY, ename:VK_IMAGE_VIEW_TYPE_2D_ARRAY or ename:VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage -* If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_COMPUTE uses unnormalized coordinates, it mustnot: be used with any of the SPIR-V `OpImageSample*` or `OpImageSparseSample*` instructions with code:ImplicitLod, code:Dref or code:Proj in their name, in any shader stage -* If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_COMPUTE uses unnormalized coordinates, it mustnot: be used with any of the SPIR-V `OpImageSample*` or `OpImageSparseSample*` instructions that includes a lod bias or any offset values, in any shader stage -* If the <> feature is not enabled, and any shader stage in the sname:VkPipeline object currently bound to ename:VK_PIPELINE_BIND_POINT_COMPUTE accesses a uniform buffer, it mustnot: access values outside of the range of that buffer specified in the currently bound descriptor set -* If the <> feature is not enabled, and any shader stage in the sname:VkPipeline object currently bound to ename:VK_PIPELINE_BIND_POINT_COMPUTE accesses a storage buffer, it mustnot: access values outside of the range of that buffer specified in the currently bound descriptor set -* Any sname:VkImageView being sampled with ename:VK_FILTER_LINEAR as a result of this command must: be of a format which supports linear filtering, as specified by the ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in sname:VkFormatProperties::pname:linearTilingFeatures (for a linear image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an optimally tiled image) returned by fname:vkGetPhysicalDeviceFormatProperties -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Outside|COMPUTE -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdDispatchIndirect.txt b/doc/specs/vulkan/validity/protos/vkCmdDispatchIndirect.txt deleted file mode 100644 index 964f10de..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdDispatchIndirect.txt +++ /dev/null @@ -1,63 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:buffer must: be a valid sname:VkBuffer handle -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support compute operations -* This command must: only be called outside of a render pass instance -* Both of pname:buffer, and pname:commandBuffer must: have been created, allocated, or retrieved from the same sname:VkDevice -* For each set _n_ that is statically used by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_COMPUTE, a descriptor set must: have been bound to _n_ at ename:VK_PIPELINE_BIND_POINT_COMPUTE, with a sname:VkPipelineLayout that is compatible for set _n_, with the sname:VkPipelineLayout used to create the current sname:VkPipeline, as described in <> -* Descriptors in each bound descriptor set, specified via fname:vkCmdBindDescriptorSets, must: be valid if they are statically used by the currently bound sname:VkPipeline object, specified via fname:vkCmdBindPipeline -* A valid compute pipeline must: be bound to the current command buffer with ename:VK_PIPELINE_BIND_POINT_COMPUTE -* pname:buffer must: have been created with the ename:VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set -* pname:offset must: be a multiple of `4` -* The sum of pname:offset and the size of sname:VkDispatchIndirectCommand must: be less than or equal to the size of pname:buffer -* For each push constant that is statically used by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_COMPUTE, a push constant value must: have been set for ename:VK_PIPELINE_BIND_POINT_COMPUTE, with a sname:VkPipelineLayout that is compatible for push constants with the one used to create the current sname:VkPipeline, as described in <> -* If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_COMPUTE uses unnormalized coordinates, it mustnot: be used to sample from any sname:VkImage with a sname:VkImageView of the type ename:VK_IMAGE_VIEW_TYPE_3D, ename:VK_IMAGE_VIEW_TYPE_CUBE, ename:VK_IMAGE_VIEW_TYPE_1D_ARRAY, ename:VK_IMAGE_VIEW_TYPE_2D_ARRAY or ename:VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage -* If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_COMPUTE uses unnormalized coordinates, it mustnot: be used with any of the SPIR-V `OpImageSample*` or `OpImageSparseSample*` instructions with code:ImplicitLod, code:Dref or code:Proj in their name, in any shader stage -* If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_COMPUTE uses unnormalized coordinates, it mustnot: be used with any of the SPIR-V `OpImageSample*` or `OpImageSparseSample*` instructions that includes a lod bias or any offset values, in any shader stage -* If the <> feature is not enabled, and any shader stage in the sname:VkPipeline object currently bound to ename:VK_PIPELINE_BIND_POINT_COMPUTE accesses a uniform buffer, it mustnot: access values outside of the range of that buffer specified in the currently bound descriptor set -* If the <> feature is not enabled, and any shader stage in the sname:VkPipeline object currently bound to ename:VK_PIPELINE_BIND_POINT_COMPUTE accesses a storage buffer, it mustnot: access values outside of the range of that buffer specified in the currently bound descriptor set -* Any sname:VkImageView being sampled with ename:VK_FILTER_LINEAR as a result of this command must: be of a format which supports linear filtering, as specified by the ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in sname:VkFormatProperties::pname:linearTilingFeatures (for a linear image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an optimally tiled image) returned by fname:vkGetPhysicalDeviceFormatProperties -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Outside|COMPUTE -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdDraw.txt b/doc/specs/vulkan/validity/protos/vkCmdDraw.txt deleted file mode 100644 index 4a8848b6..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdDraw.txt +++ /dev/null @@ -1,62 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* This command must: only be called inside of a render pass instance -* For each set _n_ that is statically used by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS, a descriptor set must: have been bound to _n_ at ename:VK_PIPELINE_BIND_POINT_GRAPHICS, with a sname:VkPipelineLayout that is compatible for set _n_, with the sname:VkPipelineLayout used to create the current sname:VkPipeline, as described in <> -* For each push constant that is statically used by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS, a push constant value must: have been set for ename:VK_PIPELINE_BIND_POINT_GRAPHICS, with a sname:VkPipelineLayout that is compatible for push constants, with the sname:VkPipelineLayout used to create the current sname:VkPipeline, as described in <> -* Descriptors in each bound descriptor set, specified via fname:vkCmdBindDescriptorSets, must: be valid if they are statically used by the currently bound sname:VkPipeline object, specified via fname:vkCmdBindPipeline -* All vertex input bindings accessed via vertex input variables declared in the vertex shader entry point's interface must: have valid buffers bound -* For a given vertex buffer binding, any attribute data fetched must: be entirely contained within the corresponding vertex buffer binding, as described in <> -* A valid graphics pipeline must: be bound to the current command buffer with ename:VK_PIPELINE_BIND_POINT_GRAPHICS -* If the sname:VkPipeline object currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS requires any dynamic state, that state must: have been set on the current command buffer -* Every input attachment used by the current subpass must: be bound to the pipeline via a descriptor set -* If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS uses unnormalized coordinates, it mustnot: be used to sample from any sname:VkImage with a sname:VkImageView of the type ename:VK_IMAGE_VIEW_TYPE_3D, ename:VK_IMAGE_VIEW_TYPE_CUBE, ename:VK_IMAGE_VIEW_TYPE_1D_ARRAY, ename:VK_IMAGE_VIEW_TYPE_2D_ARRAY or ename:VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage -* If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS uses unnormalized coordinates, it mustnot: be used with any of the SPIR-V `OpImageSample*` or `OpImageSparseSample*` instructions with code:ImplicitLod, code:Dref or code:Proj in their name, in any shader stage -* If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS uses unnormalized coordinates, it mustnot: be used with any of the SPIR-V `OpImageSample*` or `OpImageSparseSample*` instructions that includes a lod bias or any offset values, in any shader stage -* If the <> feature is not enabled, and any shader stage in the sname:VkPipeline object currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a uniform buffer, it mustnot: access values outside of the range of that buffer specified in the currently bound descriptor set -* If the <> feature is not enabled, and any shader stage in the sname:VkPipeline object currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage buffer, it mustnot: access values outside of the range of that buffer specified in the currently bound descriptor set -* Any sname:VkImageView being sampled with ename:VK_FILTER_LINEAR as a result of this command must: be of a format which supports linear filtering, as specified by the ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in sname:VkFormatProperties::pname:linearTilingFeatures (for a linear image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an optimally tiled image) returned by fname:vkGetPhysicalDeviceFormatProperties -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Inside|GRAPHICS -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdDrawIndexed.txt b/doc/specs/vulkan/validity/protos/vkCmdDrawIndexed.txt deleted file mode 100644 index 60071f8f..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdDrawIndexed.txt +++ /dev/null @@ -1,63 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* This command must: only be called inside of a render pass instance -* For each set _n_ that is statically used by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS, a descriptor set must: have been bound to _n_ at ename:VK_PIPELINE_BIND_POINT_GRAPHICS, with a sname:VkPipelineLayout that is compatible for set _n_, with the sname:VkPipelineLayout used to create the current sname:VkPipeline, as described in <> -* For each push constant that is statically used by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS, a push constant value must: have been set for ename:VK_PIPELINE_BIND_POINT_GRAPHICS, with a sname:VkPipelineLayout that is compatible for push constants, with the sname:VkPipelineLayout used to create the current sname:VkPipeline, as described in <> -* Descriptors in each bound descriptor set, specified via fname:vkCmdBindDescriptorSets, must: be valid if they are statically used by the currently bound sname:VkPipeline object, specified via fname:vkCmdBindPipeline -* All vertex input bindings accessed via vertex input variables declared in the vertex shader entry point's interface must: have valid buffers bound -* For a given vertex buffer binding, any attribute data fetched must: be entirely contained within the corresponding vertex buffer binding, as described in <> -* A valid graphics pipeline must: be bound to the current command buffer with ename:VK_PIPELINE_BIND_POINT_GRAPHICS -* If the sname:VkPipeline object currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS requires any dynamic state, that state must: have been set on the current command buffer -* (pname:indexSize * (pname:firstIndex + pname:indexCount) + pname:offset) must: be less than or equal to the size of the currently bound index buffer, with indexSize being based on the type specified by pname:indexType, where the index buffer, pname:indexType, and pname:offset are specified via fname:vkCmdBindIndexBuffer -* Every input attachment used by the current subpass must: be bound to the pipeline via a descriptor set -* If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS uses unnormalized coordinates, it mustnot: be used to sample from any sname:VkImage with a sname:VkImageView of the type ename:VK_IMAGE_VIEW_TYPE_3D, ename:VK_IMAGE_VIEW_TYPE_CUBE, ename:VK_IMAGE_VIEW_TYPE_1D_ARRAY, ename:VK_IMAGE_VIEW_TYPE_2D_ARRAY or ename:VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage -* If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS uses unnormalized coordinates, it mustnot: be used with any of the SPIR-V `OpImageSample*` or `OpImageSparseSample*` instructions with code:ImplicitLod, code:Dref or code:Proj in their name, in any shader stage -* If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS uses unnormalized coordinates, it mustnot: be used with any of the SPIR-V `OpImageSample*` or `OpImageSparseSample*` instructions that includes a lod bias or any offset values, in any shader stage -* If the <> feature is not enabled, and any shader stage in the sname:VkPipeline object currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a uniform buffer, it mustnot: access values outside of the range of that buffer specified in the currently bound descriptor set -* If the <> feature is not enabled, and any shader stage in the sname:VkPipeline object currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage buffer, it mustnot: access values outside of the range of that buffer specified in the currently bound descriptor set -* Any sname:VkImageView being sampled with ename:VK_FILTER_LINEAR as a result of this command must: be of a format which supports linear filtering, as specified by the ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in sname:VkFormatProperties::pname:linearTilingFeatures (for a linear image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an optimally tiled image) returned by fname:vkGetPhysicalDeviceFormatProperties -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Inside|GRAPHICS -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdDrawIndexedIndirect.txt b/doc/specs/vulkan/validity/protos/vkCmdDrawIndexedIndirect.txt deleted file mode 100644 index 8a97b15d..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdDrawIndexedIndirect.txt +++ /dev/null @@ -1,70 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:buffer must: be a valid sname:VkBuffer handle -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* This command must: only be called inside of a render pass instance -* Both of pname:buffer, and pname:commandBuffer must: have been created, allocated, or retrieved from the same sname:VkDevice -* pname:offset must: be a multiple of `4` -* If pname:drawCount is greater than `1`, pname:stride must: be a multiple of `4` and must: be greater than or equal to sizeof(sname:VkDrawIndexedIndirectCommand) -* If the <> feature is not enabled, pname:drawCount must: be `0` or `1` -* If the <> feature is not enabled, all the pname:firstInstance members of the sname:VkDrawIndexedIndirectCommand structures accessed by this command must: be code:0 -* For each set _n_ that is statically used by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS, a descriptor set must: have been bound to _n_ at ename:VK_PIPELINE_BIND_POINT_GRAPHICS, with a sname:VkPipelineLayout that is compatible for set _n_, with the sname:VkPipelineLayout used to create the current sname:VkPipeline, as described in <> -* For each push constant that is statically used by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS, a push constant value must: have been set for ename:VK_PIPELINE_BIND_POINT_GRAPHICS, with a sname:VkPipelineLayout that is compatible for push constants, with the sname:VkPipelineLayout used to create the current sname:VkPipeline, as described in <> -* Descriptors in each bound descriptor set, specified via fname:vkCmdBindDescriptorSets, must: be valid if they are statically used by the currently bound sname:VkPipeline object, specified via fname:vkCmdBindPipeline -* All vertex input bindings accessed via vertex input variables declared in the vertex shader entry point's interface must: have valid buffers bound -* A valid graphics pipeline must: be bound to the current command buffer with ename:VK_PIPELINE_BIND_POINT_GRAPHICS -* If the sname:VkPipeline object currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS requires any dynamic state, that state must: have been set on the current command buffer -* If pname:drawCount is equal to `1`, (pname:offset + sizeof(sname:VkDrawIndexedIndirectCommand)) must: be less than or equal to the size of pname:buffer -* If pname:drawCount is greater than `1`, (pname:stride x (pname:drawCount - 1) + pname:offset + sizeof(sname:VkDrawIndexedIndirectCommand)) must: be less than or equal to the size of pname:buffer -* pname:drawCount must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxDrawIndirectCount -* Every input attachment used by the current subpass must: be bound to the pipeline via a descriptor set -* If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS uses unnormalized coordinates, it mustnot: be used to sample from any sname:VkImage with a sname:VkImageView of the type ename:VK_IMAGE_VIEW_TYPE_3D, ename:VK_IMAGE_VIEW_TYPE_CUBE, ename:VK_IMAGE_VIEW_TYPE_1D_ARRAY, ename:VK_IMAGE_VIEW_TYPE_2D_ARRAY or ename:VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage -* If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS uses unnormalized coordinates, it mustnot: be used with any of the SPIR-V `OpImageSample*` or `OpImageSparseSample*` instructions with code:ImplicitLod, code:Dref or code:Proj in their name, in any shader stage -* If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS uses unnormalized coordinates, it mustnot: be used with any of the SPIR-V `OpImageSample*` or `OpImageSparseSample*` instructions that includes a lod bias or any offset values, in any shader stage -* If the <> feature is not enabled, and any shader stage in the sname:VkPipeline object currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a uniform buffer, it mustnot: access values outside of the range of that buffer specified in the currently bound descriptor set -* If the <> feature is not enabled, and any shader stage in the sname:VkPipeline object currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage buffer, it mustnot: access values outside of the range of that buffer specified in the currently bound descriptor set -* Any sname:VkImageView being sampled with ename:VK_FILTER_LINEAR as a result of this command must: be of a format which supports linear filtering, as specified by the ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in sname:VkFormatProperties::pname:linearTilingFeatures (for a linear image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an optimally tiled image) returned by fname:vkGetPhysicalDeviceFormatProperties -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Inside|GRAPHICS -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdDrawIndirect.txt b/doc/specs/vulkan/validity/protos/vkCmdDrawIndirect.txt deleted file mode 100644 index a0d6f215..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdDrawIndirect.txt +++ /dev/null @@ -1,70 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:buffer must: be a valid sname:VkBuffer handle -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* This command must: only be called inside of a render pass instance -* Both of pname:buffer, and pname:commandBuffer must: have been created, allocated, or retrieved from the same sname:VkDevice -* pname:offset must: be a multiple of `4` -* If pname:drawCount is greater than `1`, pname:stride must: be a multiple of `4` and must: be greater than or equal to sizeof(sname:VkDrawIndirectCommand) -* If the <> feature is not enabled, pname:drawCount must: be `0` or `1` -* If the <> feature is not enabled, all the pname:firstInstance members of the sname:VkDrawIndirectCommand structures accessed by this command must: be code:0 -* For each set _n_ that is statically used by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS, a descriptor set must: have been bound to _n_ at ename:VK_PIPELINE_BIND_POINT_GRAPHICS, with a sname:VkPipelineLayout that is compatible for set _n_, with the sname:VkPipelineLayout used to create the current sname:VkPipeline, as described in <> -* For each push constant that is statically used by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS, a push constant value must: have been set for ename:VK_PIPELINE_BIND_POINT_GRAPHICS, with a sname:VkPipelineLayout that is compatible for push constants, with the sname:VkPipelineLayout used to create the current sname:VkPipeline, as described in <> -* Descriptors in each bound descriptor set, specified via fname:vkCmdBindDescriptorSets, must: be valid if they are statically used by the currently bound sname:VkPipeline object, specified via fname:vkCmdBindPipeline -* All vertex input bindings accessed via vertex input variables declared in the vertex shader entry point's interface must: have valid buffers bound -* A valid graphics pipeline must: be bound to the current command buffer with ename:VK_PIPELINE_BIND_POINT_GRAPHICS -* If the sname:VkPipeline object currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS requires any dynamic state, that state must: have been set on the current command buffer -* If pname:drawCount is equal to `1`, (pname:offset + sizeof(sname:VkDrawIndirectCommand)) must: be less than or equal to the size of pname:buffer -* If pname:drawCount is greater than `1`, (pname:stride x (pname:drawCount - 1) + pname:offset + sizeof(sname:VkDrawIndirectCommand)) must: be less than or equal to the size of pname:buffer -* pname:drawCount must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxDrawIndirectCount -* Every input attachment used by the current subpass must: be bound to the pipeline via a descriptor set -* If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS uses unnormalized coordinates, it mustnot: be used to sample from any sname:VkImage with a sname:VkImageView of the type ename:VK_IMAGE_VIEW_TYPE_3D, ename:VK_IMAGE_VIEW_TYPE_CUBE, ename:VK_IMAGE_VIEW_TYPE_1D_ARRAY, ename:VK_IMAGE_VIEW_TYPE_2D_ARRAY or ename:VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage -* If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS uses unnormalized coordinates, it mustnot: be used with any of the SPIR-V `OpImageSample*` or `OpImageSparseSample*` instructions with code:ImplicitLod, code:Dref or code:Proj in their name, in any shader stage -* If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS uses unnormalized coordinates, it mustnot: be used with any of the SPIR-V `OpImageSample*` or `OpImageSparseSample*` instructions that includes a lod bias or any offset values, in any shader stage -* If the <> feature is not enabled, and any shader stage in the sname:VkPipeline object currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a uniform buffer, it mustnot: access values outside of the range of that buffer specified in the currently bound descriptor set -* If the <> feature is not enabled, and any shader stage in the sname:VkPipeline object currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage buffer, it mustnot: access values outside of the range of that buffer specified in the currently bound descriptor set -* Any sname:VkImageView being sampled with ename:VK_FILTER_LINEAR as a result of this command must: be of a format which supports linear filtering, as specified by the ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in sname:VkFormatProperties::pname:linearTilingFeatures (for a linear image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an optimally tiled image) returned by fname:vkGetPhysicalDeviceFormatProperties -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Inside|GRAPHICS -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdEndQuery.txt b/doc/specs/vulkan/validity/protos/vkCmdEndQuery.txt deleted file mode 100644 index 3bdcf1aa..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdEndQuery.txt +++ /dev/null @@ -1,52 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:queryPool must: be a valid sname:VkQueryPool handle -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics, or compute operations -* Both of pname:commandBuffer, and pname:queryPool must: have been created, allocated, or retrieved from the same sname:VkDevice -* The query identified by pname:queryPool and pname:query must: currently be <> -* pname:query must: be less than the number of queries in pname:queryPool -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Both|GRAPHICS + -COMPUTE -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdEndRenderPass.txt b/doc/specs/vulkan/validity/protos/vkCmdEndRenderPass.txt deleted file mode 100644 index 130b881e..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdEndRenderPass.txt +++ /dev/null @@ -1,49 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* This command must: only be called inside of a render pass instance -* pname:commandBuffer must: be a primary sname:VkCommandBuffer -* The current subpass index must: be equal to the number of subpasses in the render pass minus one -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary|Inside|GRAPHICS -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdExecuteCommands.txt b/doc/specs/vulkan/validity/protos/vkCmdExecuteCommands.txt deleted file mode 100644 index fa45db31..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdExecuteCommands.txt +++ /dev/null @@ -1,69 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:pCommandBuffers must: be a pointer to an array of pname:commandBufferCount valid sname:VkCommandBuffer handles -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support transfer, graphics, or compute operations -* pname:commandBuffer must: be a primary sname:VkCommandBuffer -* pname:commandBufferCount must: be greater than `0` -* Both of pname:commandBuffer, and the elements of pname:pCommandBuffers must: have been created, allocated, or retrieved from the same sname:VkDevice -* pname:commandBuffer must: have been allocated with a pname:level of ename:VK_COMMAND_BUFFER_LEVEL_PRIMARY -* Any given element of pname:pCommandBuffers must: have been allocated with a pname:level of ename:VK_COMMAND_BUFFER_LEVEL_SECONDARY -* Any given element of pname:pCommandBuffers mustnot: be already pending execution in pname:commandBuffer, or appear twice in pname:pCommandBuffers, unless it was recorded with the ename:VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT flag -* Any given element of pname:pCommandBuffers mustnot: be already pending execution in any other sname:VkCommandBuffer, unless it was recorded with the ename:VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT flag -* Any given element of pname:pCommandBuffers must: be in the executable state -* Any given element of pname:pCommandBuffers must: have been allocated from a sname:VkCommandPool that was created for the same queue family as the sname:VkCommandPool from which pname:commandBuffer was allocated -* If fname:vkCmdExecuteCommands is being called within a render pass instance, that render pass instance must: have been begun with the pname:contents parameter of fname:vkCmdBeginRenderPass set to ename:VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS -* If fname:vkCmdExecuteCommands is being called within a render pass instance, any given element of pname:pCommandBuffers must: have been recorded with the ename:VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT -* If fname:vkCmdExecuteCommands is being called within a render pass instance, any given element of pname:pCommandBuffers must: have been recorded with sname:VkCommandBufferInheritanceInfo::pname:subpass set to the index of the subpass which the given command buffer will be executed in -* If fname:vkCmdExecuteCommands is being called within a render pass instance, any given element of pname:pCommandBuffers must: have been recorded with a render pass that is compatible with the current render pass - see <> -* If fname:vkCmdExecuteCommands is being called within a render pass instance, and any given element of pname:pCommandBuffers was recorded with sname:VkCommandBufferInheritanceInfo::pname:framebuffer not equal to dlink:VK_NULL_HANDLE, that sname:VkFramebuffer must: match the sname:VkFramebuffer used in the current render pass instance -* If fname:vkCmdExecuteCommands is not being called within a render pass instance, any given element of pname:pCommandBuffers mustnot: have been recorded with the ename:VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT -* If the <> feature is not enabled, pname:commandBuffer mustnot: have any queries <> -* If pname:commandBuffer has a ename:VK_QUERY_TYPE_OCCLUSION query <>, then each element of pname:pCommandBuffers must: have been recorded with sname:VkCommandBufferInheritanceInfo::pname:occlusionQueryEnable set to ename:VK_TRUE -* If pname:commandBuffer has a ename:VK_QUERY_TYPE_OCCLUSION query <>, then each element of pname:pCommandBuffers must: have been recorded with sname:VkCommandBufferInheritanceInfo::pname:queryFlags having all bits set that are set for the query -* If pname:commandBuffer has a ename:VK_QUERY_TYPE_PIPELINE_STATISTICS query <>, then each element of pname:pCommandBuffers must: have been recorded with sname:VkCommandBufferInheritanceInfo::pname:pipelineStatistics having all bits set that are set in the sname:VkQueryPool the query uses -* Any given element of pname:pCommandBuffers mustnot: begin any query types that are <> in pname:commandBuffer -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary|Both|TRANSFER + -GRAPHICS + -COMPUTE -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdFillBuffer.txt b/doc/specs/vulkan/validity/protos/vkCmdFillBuffer.txt deleted file mode 100644 index 753bbd4f..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdFillBuffer.txt +++ /dev/null @@ -1,57 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:dstBuffer must: be a valid sname:VkBuffer handle -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics, or compute operations -* This command must: only be called outside of a render pass instance -* Both of pname:commandBuffer, and pname:dstBuffer must: have been created, allocated, or retrieved from the same sname:VkDevice -* pname:dstOffset must: be less than the size of pname:dstBuffer -* pname:dstOffset must: be a multiple of `4` -* If pname:size is not equal to ename:VK_WHOLE_SIZE, pname:size must: be greater than `0` -* If pname:size is not equal to ename:VK_WHOLE_SIZE, pname:size must: be less than or equal to the size of pname:dstBuffer minus pname:dstOffset -* If pname:size is not equal to ename:VK_WHOLE_SIZE, pname:size must: be a multiple of `4` -* pname:dstBuffer must: have been created with ename:VK_BUFFER_USAGE_TRANSFER_DST_BIT usage flag -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Outside|GRAPHICS + -COMPUTE -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdNextSubpass.txt b/doc/specs/vulkan/validity/protos/vkCmdNextSubpass.txt deleted file mode 100644 index 8be45e3f..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdNextSubpass.txt +++ /dev/null @@ -1,50 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:contents must: be a valid elink:VkSubpassContents value -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* This command must: only be called inside of a render pass instance -* pname:commandBuffer must: be a primary sname:VkCommandBuffer -* The current subpass index must: be less than the number of subpasses in the render pass minus one -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary|Inside|GRAPHICS -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdPipelineBarrier.txt b/doc/specs/vulkan/validity/protos/vkCmdPipelineBarrier.txt deleted file mode 100644 index 983adb88..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdPipelineBarrier.txt +++ /dev/null @@ -1,72 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:srcStageMask must: be a valid combination of elink:VkPipelineStageFlagBits values -* pname:srcStageMask mustnot: be `0` -* pname:dstStageMask must: be a valid combination of elink:VkPipelineStageFlagBits values -* pname:dstStageMask mustnot: be `0` -* pname:dependencyFlags must: be a valid combination of elink:VkDependencyFlagBits values -* If pname:memoryBarrierCount is not `0`, pname:pMemoryBarriers must: be a pointer to an array of pname:memoryBarrierCount valid sname:VkMemoryBarrier structures -* If pname:bufferMemoryBarrierCount is not `0`, pname:pBufferMemoryBarriers must: be a pointer to an array of pname:bufferMemoryBarrierCount valid sname:VkBufferMemoryBarrier structures -* If pname:imageMemoryBarrierCount is not `0`, pname:pImageMemoryBarriers must: be a pointer to an array of pname:imageMemoryBarrierCount valid sname:VkImageMemoryBarrier structures -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support transfer, graphics, or compute operations -* If the <> feature is not enabled, pname:srcStageMask mustnot: contain ename:VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT -* If the <> feature is not enabled, pname:dstStageMask mustnot: contain ename:VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT -* If the <> feature is not enabled, pname:srcStageMask mustnot: contain ename:VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or ename:VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT -* If the <> feature is not enabled, pname:dstStageMask mustnot: contain ename:VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or ename:VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT -* If fname:vkCmdPipelineBarrier is called within a render pass instance, the render pass must: have been created with a sname:VkSubpassDependency instance in pname:pDependencies that expresses a dependency from the current subpass to itself. Additionally: - ** pname:srcStageMask must: contain a subset of the bit values in the pname:srcStageMask member of that instance of sname:VkSubpassDependency - ** pname:dstStageMask must: contain a subset of the bit values in the pname:dstStageMask member of that instance of sname:VkSubpassDependency - ** The pname:srcAccessMask of any element of pname:pMemoryBarriers or pname:pImageMemoryBarriers must: contain a subset of the bit values the pname:srcAccessMask member of that instance of sname:VkSubpassDependency - ** The pname:dstAccessMask of any element of pname:pMemoryBarriers or pname:pImageMemoryBarriers must: contain a subset of the bit values the pname:dstAccessMask member of that instance of sname:VkSubpassDependency - ** pname:dependencyFlags must: be equal to the pname:dependencyFlags member of that instance of sname:VkSubpassDependency -* If fname:vkCmdPipelineBarrier is called within a render pass instance, pname:bufferMemoryBarrierCount must: be `0` -* If fname:vkCmdPipelineBarrier is called within a render pass instance, the pname:image member of any element of pname:pImageMemoryBarriers must: be equal to one of the elements of pname:pAttachments that the current pname:framebuffer was created with, that is also referred to by one of the elements of the pname:pColorAttachments, pname:pResolveAttachments or pname:pDepthStencilAttachment members of the sname:VkSubpassDescription instance that the current subpass was created with -* If fname:vkCmdPipelineBarrier is called within a render pass instance, the pname:oldLayout and pname:newLayout members of any element of pname:pImageMemoryBarriers must: be equal to the pname:layout member of an element of the pname:pColorAttachments, pname:pResolveAttachments or pname:pDepthStencilAttachment members of the sname:VkSubpassDescription instance that the current subpass was created with, that refers to the same pname:image -* If fname:vkCmdPipelineBarrier is called within a render pass instance, the pname:oldLayout and pname:newLayout members of an element of pname:pImageMemoryBarriers must: be equal -* If fname:vkCmdPipelineBarrier is called within a render pass instance, the pname:srcQueueFamilyIndex and pname:dstQueueFamilyIndex members of any element of pname:pImageMemoryBarriers must: be ename:VK_QUEUE_FAMILY_IGNORED -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Both|TRANSFER + -GRAPHICS + -COMPUTE -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdPushConstants.txt b/doc/specs/vulkan/validity/protos/vkCmdPushConstants.txt deleted file mode 100644 index c67f6681..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdPushConstants.txt +++ /dev/null @@ -1,59 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:layout must: be a valid sname:VkPipelineLayout handle -* pname:stageFlags must: be a valid combination of elink:VkShaderStageFlagBits values -* pname:stageFlags mustnot: be `0` -* pname:pValues must: be a pointer to an array of pname:size bytes -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics, or compute operations -* pname:size must: be greater than `0` -* Both of pname:commandBuffer, and pname:layout must: have been created, allocated, or retrieved from the same sname:VkDevice -* pname:stageFlags must: match exactly the shader stages used in pname:layout for the range specified by pname:offset and pname:size -* pname:offset must: be a multiple of `4` -* pname:size must: be a multiple of `4` -* pname:offset must: be less than sname:VkPhysicalDeviceLimits::pname:maxPushConstantsSize -* pname:size must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxPushConstantsSize minus pname:offset -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Both|GRAPHICS + -COMPUTE -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdResetEvent.txt b/doc/specs/vulkan/validity/protos/vkCmdResetEvent.txt deleted file mode 100644 index 51299be2..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdResetEvent.txt +++ /dev/null @@ -1,56 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:event must: be a valid sname:VkEvent handle -* pname:stageMask must: be a valid combination of elink:VkPipelineStageFlagBits values -* pname:stageMask mustnot: be `0` -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics, or compute operations -* This command must: only be called outside of a render pass instance -* Both of pname:commandBuffer, and pname:event must: have been created, allocated, or retrieved from the same sname:VkDevice -* If the <> feature is not enabled, pname:stageMask mustnot: contain ename:VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT -* If the <> feature is not enabled, pname:stageMask mustnot: contain ename:VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or ename:VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT -* When this command executes, pname:event mustnot: be waited on by a fname:vkCmdWaitEvents command that is currently executing -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Outside|GRAPHICS + -COMPUTE -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdResetQueryPool.txt b/doc/specs/vulkan/validity/protos/vkCmdResetQueryPool.txt deleted file mode 100644 index 42ede821..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdResetQueryPool.txt +++ /dev/null @@ -1,53 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:queryPool must: be a valid sname:VkQueryPool handle -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics, or compute operations -* This command must: only be called outside of a render pass instance -* Both of pname:commandBuffer, and pname:queryPool must: have been created, allocated, or retrieved from the same sname:VkDevice -* pname:firstQuery must: be less than the number of queries in pname:queryPool -* The sum of pname:firstQuery and pname:queryCount must: be less than or equal to the number of queries in pname:queryPool -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Outside|GRAPHICS + -COMPUTE -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdResolveImage.txt b/doc/specs/vulkan/validity/protos/vkCmdResolveImage.txt deleted file mode 100644 index a18f09f0..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdResolveImage.txt +++ /dev/null @@ -1,66 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:srcImage must: be a valid sname:VkImage handle -* pname:srcImageLayout must: be a valid elink:VkImageLayout value -* pname:dstImage must: be a valid sname:VkImage handle -* pname:dstImageLayout must: be a valid elink:VkImageLayout value -* pname:pRegions must: be a pointer to an array of pname:regionCount valid sname:VkImageResolve structures -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* This command must: only be called outside of a render pass instance -* pname:regionCount must: be greater than `0` -* Each of pname:commandBuffer, pname:dstImage, and pname:srcImage must: have been created, allocated, or retrieved from the same sname:VkDevice -* The source region specified by a given element of pname:pRegions must: be a region that is contained within pname:srcImage -* The destination region specified by a given element of pname:pRegions must: be a region that is contained within pname:dstImage -* The union of all source regions, and the union of all destination regions, specified by the elements of pname:pRegions, mustnot: overlap in memory -* pname:srcImage must: have a sample count equal to any valid sample count value other than ename:VK_SAMPLE_COUNT_1_BIT -* pname:dstImage must: have a sample count equal to ename:VK_SAMPLE_COUNT_1_BIT -* pname:srcImageLayout must: specify the layout of the image subresources of pname:srcImage specified in pname:pRegions at the time this command is executed on a sname:VkDevice -* pname:srcImageLayout must: be either of ename:VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL or ename:VK_IMAGE_LAYOUT_GENERAL -* pname:dstImageLayout must: specify the layout of the image subresources of pname:dstImage specified in pname:pRegions at the time this command is executed on a sname:VkDevice -* pname:dstImageLayout must: be either of ename:VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL or ename:VK_IMAGE_LAYOUT_GENERAL -* If pname:dstImage was created with pname:tiling equal to ename:VK_IMAGE_TILING_LINEAR, pname:dstImage must: have been created with a pname:format that supports being a color attachment, as specified by the ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT flag in sname:VkFormatProperties::pname:linearTilingFeatures returned by fname:vkGetPhysicalDeviceFormatProperties -* If pname:dstImage was created with pname:tiling equal to ename:VK_IMAGE_TILING_OPTIMAL, pname:dstImage must: have been created with a pname:format that supports being a color attachment, as specified by the ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT flag in sname:VkFormatProperties::pname:optimalTilingFeatures returned by fname:vkGetPhysicalDeviceFormatProperties -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Outside|GRAPHICS -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdSetBlendConstants.txt b/doc/specs/vulkan/validity/protos/vkCmdSetBlendConstants.txt deleted file mode 100644 index 7a044064..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdSetBlendConstants.txt +++ /dev/null @@ -1,48 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* The currently bound graphics pipeline must: have been created with the ename:VK_DYNAMIC_STATE_BLEND_CONSTANTS dynamic state enabled -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Both|GRAPHICS -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdSetDepthBias.txt b/doc/specs/vulkan/validity/protos/vkCmdSetDepthBias.txt deleted file mode 100644 index 383cc3b3..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdSetDepthBias.txt +++ /dev/null @@ -1,49 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* The currently bound graphics pipeline must: have been created with the ename:VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled -* If the <> feature is not enabled, pname:depthBiasClamp must: be code:0.0 -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Both|GRAPHICS -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdSetDepthBounds.txt b/doc/specs/vulkan/validity/protos/vkCmdSetDepthBounds.txt deleted file mode 100644 index 8da5b064..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdSetDepthBounds.txt +++ /dev/null @@ -1,50 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* The currently bound graphics pipeline must: have been created with the ename:VK_DYNAMIC_STATE_DEPTH_BOUNDS dynamic state enabled -* pname:minDepthBounds must: be between `0.0` and `1.0`, inclusive -* pname:maxDepthBounds must: be between `0.0` and `1.0`, inclusive -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Both|GRAPHICS -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdSetEvent.txt b/doc/specs/vulkan/validity/protos/vkCmdSetEvent.txt deleted file mode 100644 index 71cd4d43..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdSetEvent.txt +++ /dev/null @@ -1,55 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:event must: be a valid sname:VkEvent handle -* pname:stageMask must: be a valid combination of elink:VkPipelineStageFlagBits values -* pname:stageMask mustnot: be `0` -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics, or compute operations -* This command must: only be called outside of a render pass instance -* Both of pname:commandBuffer, and pname:event must: have been created, allocated, or retrieved from the same sname:VkDevice -* If the <> feature is not enabled, pname:stageMask mustnot: contain ename:VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT -* If the <> feature is not enabled, pname:stageMask mustnot: contain ename:VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or ename:VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Outside|GRAPHICS + -COMPUTE -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdSetLineWidth.txt b/doc/specs/vulkan/validity/protos/vkCmdSetLineWidth.txt deleted file mode 100644 index c000a677..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdSetLineWidth.txt +++ /dev/null @@ -1,49 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* The currently bound graphics pipeline must: have been created with the ename:VK_DYNAMIC_STATE_LINE_WIDTH dynamic state enabled -* If the <> feature is not enabled, pname:lineWidth must: be `1.0` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Both|GRAPHICS -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdSetScissor.txt b/doc/specs/vulkan/validity/protos/vkCmdSetScissor.txt deleted file mode 100644 index 3657a643..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdSetScissor.txt +++ /dev/null @@ -1,55 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:pScissors must: be a pointer to an array of pname:scissorCount sname:VkRect2D structures -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* pname:scissorCount must: be greater than `0` -* The currently bound graphics pipeline must: have been created with the ename:VK_DYNAMIC_STATE_SCISSOR dynamic state enabled -* pname:firstScissor must: be less than sname:VkPhysicalDeviceLimits::pname:maxViewports -* The sum of pname:firstScissor and pname:scissorCount must: be between `1` and sname:VkPhysicalDeviceLimits::pname:maxViewports, inclusive -* The pname:x and pname:y members of pname:offset must: be greater than or equal to `0` -* Evaluation of (pname:offset.x + pname:extent.width) mustnot: cause a signed integer addition overflow -* Evaluation of (pname:offset.y + pname:extent.height) mustnot: cause a signed integer addition overflow -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Both|GRAPHICS -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdSetStencilCompareMask.txt b/doc/specs/vulkan/validity/protos/vkCmdSetStencilCompareMask.txt deleted file mode 100644 index 41f1cad3..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdSetStencilCompareMask.txt +++ /dev/null @@ -1,50 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:faceMask must: be a valid combination of elink:VkStencilFaceFlagBits values -* pname:faceMask mustnot: be `0` -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* The currently bound graphics pipeline must: have been created with the ename:VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK dynamic state enabled -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Both|GRAPHICS -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdSetStencilReference.txt b/doc/specs/vulkan/validity/protos/vkCmdSetStencilReference.txt deleted file mode 100644 index a3903cbc..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdSetStencilReference.txt +++ /dev/null @@ -1,50 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:faceMask must: be a valid combination of elink:VkStencilFaceFlagBits values -* pname:faceMask mustnot: be `0` -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* The currently bound graphics pipeline must: have been created with the ename:VK_DYNAMIC_STATE_STENCIL_REFERENCE dynamic state enabled -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Both|GRAPHICS -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdSetStencilWriteMask.txt b/doc/specs/vulkan/validity/protos/vkCmdSetStencilWriteMask.txt deleted file mode 100644 index 414e5247..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdSetStencilWriteMask.txt +++ /dev/null @@ -1,50 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:faceMask must: be a valid combination of elink:VkStencilFaceFlagBits values -* pname:faceMask mustnot: be `0` -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* The currently bound graphics pipeline must: have been created with the ename:VK_DYNAMIC_STATE_STENCIL_WRITE_MASK dynamic state enabled -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Both|GRAPHICS -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdSetViewport.txt b/doc/specs/vulkan/validity/protos/vkCmdSetViewport.txt deleted file mode 100644 index 7ecca35e..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdSetViewport.txt +++ /dev/null @@ -1,52 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:pViewports must: be a pointer to an array of pname:viewportCount valid sname:VkViewport structures -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics operations -* pname:viewportCount must: be greater than `0` -* The currently bound graphics pipeline must: have been created with the ename:VK_DYNAMIC_STATE_VIEWPORT dynamic state enabled -* pname:firstViewport must: be less than sname:VkPhysicalDeviceLimits::pname:maxViewports -* The sum of pname:firstViewport and pname:viewportCount must: be between `1` and sname:VkPhysicalDeviceLimits::pname:maxViewports, inclusive -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Both|GRAPHICS -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdUpdateBuffer.txt b/doc/specs/vulkan/validity/protos/vkCmdUpdateBuffer.txt deleted file mode 100644 index 7423c79f..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdUpdateBuffer.txt +++ /dev/null @@ -1,60 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:dstBuffer must: be a valid sname:VkBuffer handle -* pname:pData must: be a pointer to an array of pname:dataSize bytes -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support transfer, graphics, or compute operations -* This command must: only be called outside of a render pass instance -* pname:dataSize must: be greater than `0` -* Both of pname:commandBuffer, and pname:dstBuffer must: have been created, allocated, or retrieved from the same sname:VkDevice -* pname:dstOffset must: be less than the size of pname:dstBuffer -* pname:dataSize must: be less than or equal to the size of pname:dstBuffer minus pname:dstOffset -* pname:dstBuffer must: have been created with ename:VK_BUFFER_USAGE_TRANSFER_DST_BIT usage flag -* pname:dstOffset must: be a multiple of `4` -* pname:dataSize must: be less than or equal to `65536` -* pname:dataSize must: be a multiple of `4` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Outside|TRANSFER + -GRAPHICS + -COMPUTE -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdWaitEvents.txt b/doc/specs/vulkan/validity/protos/vkCmdWaitEvents.txt deleted file mode 100644 index 02e90273..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdWaitEvents.txt +++ /dev/null @@ -1,64 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:pEvents must: be a pointer to an array of pname:eventCount valid sname:VkEvent handles -* pname:srcStageMask must: be a valid combination of elink:VkPipelineStageFlagBits values -* pname:srcStageMask mustnot: be `0` -* pname:dstStageMask must: be a valid combination of elink:VkPipelineStageFlagBits values -* pname:dstStageMask mustnot: be `0` -* If pname:memoryBarrierCount is not `0`, pname:pMemoryBarriers must: be a pointer to an array of pname:memoryBarrierCount valid sname:VkMemoryBarrier structures -* If pname:bufferMemoryBarrierCount is not `0`, pname:pBufferMemoryBarriers must: be a pointer to an array of pname:bufferMemoryBarrierCount valid sname:VkBufferMemoryBarrier structures -* If pname:imageMemoryBarrierCount is not `0`, pname:pImageMemoryBarriers must: be a pointer to an array of pname:imageMemoryBarrierCount valid sname:VkImageMemoryBarrier structures -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics, or compute operations -* pname:eventCount must: be greater than `0` -* Both of pname:commandBuffer, and the elements of pname:pEvents must: have been created, allocated, or retrieved from the same sname:VkDevice -* pname:srcStageMask must: be the bitwise OR of the pname:stageMask parameter used in previous calls to fname:vkCmdSetEvent with any of the members of pname:pEvents and ename:VK_PIPELINE_STAGE_HOST_BIT if any of the members of pname:pEvents was set using fname:vkSetEvent -* If the <> feature is not enabled, pname:srcStageMask mustnot: contain ename:VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT -* If the <> feature is not enabled, pname:dstStageMask mustnot: contain ename:VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT -* If the <> feature is not enabled, pname:srcStageMask mustnot: contain ename:VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or ename:VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT -* If the <> feature is not enabled, pname:dstStageMask mustnot: contain ename:VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or ename:VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT -* If pname:pEvents includes one or more events that will be signaled by fname:vkSetEvent after pname:commandBuffer has been submitted to a queue, then fname:vkCmdWaitEvents mustnot: be called inside a render pass instance -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Both|GRAPHICS + -COMPUTE -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCmdWriteTimestamp.txt b/doc/specs/vulkan/validity/protos/vkCmdWriteTimestamp.txt deleted file mode 100644 index 9cecaa15..00000000 --- a/doc/specs/vulkan/validity/protos/vkCmdWriteTimestamp.txt +++ /dev/null @@ -1,53 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:pipelineStage must: be a valid elink:VkPipelineStageFlagBits value -* pname:queryPool must: be a valid sname:VkQueryPool handle -* pname:commandBuffer must: be in the recording state -* The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics, or compute operations -* Both of pname:commandBuffer, and pname:queryPool must: have been created, allocated, or retrieved from the same sname:VkDevice -* The query identified by pname:queryPool and pname:query must: be _unavailable_ -* The command pool's queue family must: support a non-zero pname:timestampValidBits -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|Primary + -Secondary|Both|GRAPHICS + -COMPUTE -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCreateBuffer.txt b/doc/specs/vulkan/validity/protos/vkCreateBuffer.txt deleted file mode 100644 index 7ec8df9d..00000000 --- a/doc/specs/vulkan/validity/protos/vkCreateBuffer.txt +++ /dev/null @@ -1,45 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pCreateInfo must: be a pointer to a valid sname:VkBufferCreateInfo structure -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* pname:pBuffer must: be a pointer to a sname:VkBuffer handle -* If the pname:flags member of pname:pCreateInfo includes ename:VK_BUFFER_CREATE_SPARSE_BINDING_BIT, creating this sname:VkBuffer mustnot: cause the total required sparse memory for all currently valid sparse resources on the device to exceed sname:VkPhysicalDeviceLimits::pname:sparseAddressSpaceSize -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCreateBufferView.txt b/doc/specs/vulkan/validity/protos/vkCreateBufferView.txt deleted file mode 100644 index 65d9bbd8..00000000 --- a/doc/specs/vulkan/validity/protos/vkCreateBufferView.txt +++ /dev/null @@ -1,44 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pCreateInfo must: be a pointer to a valid sname:VkBufferViewCreateInfo structure -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* pname:pView must: be a pointer to a sname:VkBufferView handle -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCreateCommandPool.txt b/doc/specs/vulkan/validity/protos/vkCreateCommandPool.txt deleted file mode 100644 index eae44bcf..00000000 --- a/doc/specs/vulkan/validity/protos/vkCreateCommandPool.txt +++ /dev/null @@ -1,44 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pCreateInfo must: be a pointer to a valid sname:VkCommandPoolCreateInfo structure -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* pname:pCommandPool must: be a pointer to a sname:VkCommandPool handle -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCreateComputePipelines.txt b/doc/specs/vulkan/validity/protos/vkCreateComputePipelines.txt deleted file mode 100644 index d5d080f1..00000000 --- a/doc/specs/vulkan/validity/protos/vkCreateComputePipelines.txt +++ /dev/null @@ -1,48 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* If pname:pipelineCache is not dlink:VK_NULL_HANDLE, pname:pipelineCache must: be a valid sname:VkPipelineCache handle -* pname:pCreateInfos must: be a pointer to an array of pname:createInfoCount valid sname:VkComputePipelineCreateInfo structures -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* pname:pPipelines must: be a pointer to an array of pname:createInfoCount sname:VkPipeline handles -* pname:createInfoCount must: be greater than `0` -* If pname:pipelineCache is a valid handle, it must: have been created, allocated, or retrieved from pname:device -* If the pname:flags member of any given element of pname:pCreateInfos contains the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and the pname:basePipelineIndex member of that same element is not `-1`, pname:basePipelineIndex must: be less than the index into pname:pCreateInfos that corresponds to that element -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCreateDescriptorPool.txt b/doc/specs/vulkan/validity/protos/vkCreateDescriptorPool.txt deleted file mode 100644 index 5eb58a35..00000000 --- a/doc/specs/vulkan/validity/protos/vkCreateDescriptorPool.txt +++ /dev/null @@ -1,44 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pCreateInfo must: be a pointer to a valid sname:VkDescriptorPoolCreateInfo structure -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* pname:pDescriptorPool must: be a pointer to a sname:VkDescriptorPool handle -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCreateDescriptorSetLayout.txt b/doc/specs/vulkan/validity/protos/vkCreateDescriptorSetLayout.txt deleted file mode 100644 index 29f4060b..00000000 --- a/doc/specs/vulkan/validity/protos/vkCreateDescriptorSetLayout.txt +++ /dev/null @@ -1,44 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pCreateInfo must: be a pointer to a valid sname:VkDescriptorSetLayoutCreateInfo structure -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* pname:pSetLayout must: be a pointer to a sname:VkDescriptorSetLayout handle -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCreateDevice.txt b/doc/specs/vulkan/validity/protos/vkCreateDevice.txt deleted file mode 100644 index d8649ebc..00000000 --- a/doc/specs/vulkan/validity/protos/vkCreateDevice.txt +++ /dev/null @@ -1,49 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:physicalDevice must: be a valid sname:VkPhysicalDevice handle -* pname:pCreateInfo must: be a pointer to a valid sname:VkDeviceCreateInfo structure -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* pname:pDevice must: be a pointer to a sname:VkDevice handle -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -* ename:VK_ERROR_INITIALIZATION_FAILED -* ename:VK_ERROR_EXTENSION_NOT_PRESENT -* ename:VK_ERROR_FEATURE_NOT_PRESENT -* ename:VK_ERROR_TOO_MANY_OBJECTS -* ename:VK_ERROR_DEVICE_LOST -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCreateEvent.txt b/doc/specs/vulkan/validity/protos/vkCreateEvent.txt deleted file mode 100644 index 82df5e08..00000000 --- a/doc/specs/vulkan/validity/protos/vkCreateEvent.txt +++ /dev/null @@ -1,44 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pCreateInfo must: be a pointer to a valid sname:VkEventCreateInfo structure -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* pname:pEvent must: be a pointer to a sname:VkEvent handle -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCreateFence.txt b/doc/specs/vulkan/validity/protos/vkCreateFence.txt deleted file mode 100644 index 402675fc..00000000 --- a/doc/specs/vulkan/validity/protos/vkCreateFence.txt +++ /dev/null @@ -1,44 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pCreateInfo must: be a pointer to a valid sname:VkFenceCreateInfo structure -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* pname:pFence must: be a pointer to a sname:VkFence handle -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCreateFramebuffer.txt b/doc/specs/vulkan/validity/protos/vkCreateFramebuffer.txt deleted file mode 100644 index 91823df2..00000000 --- a/doc/specs/vulkan/validity/protos/vkCreateFramebuffer.txt +++ /dev/null @@ -1,44 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pCreateInfo must: be a pointer to a valid sname:VkFramebufferCreateInfo structure -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* pname:pFramebuffer must: be a pointer to a sname:VkFramebuffer handle -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCreateGraphicsPipelines.txt b/doc/specs/vulkan/validity/protos/vkCreateGraphicsPipelines.txt deleted file mode 100644 index 636e4efb..00000000 --- a/doc/specs/vulkan/validity/protos/vkCreateGraphicsPipelines.txt +++ /dev/null @@ -1,48 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* If pname:pipelineCache is not dlink:VK_NULL_HANDLE, pname:pipelineCache must: be a valid sname:VkPipelineCache handle -* pname:pCreateInfos must: be a pointer to an array of pname:createInfoCount valid sname:VkGraphicsPipelineCreateInfo structures -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* pname:pPipelines must: be a pointer to an array of pname:createInfoCount sname:VkPipeline handles -* pname:createInfoCount must: be greater than `0` -* If pname:pipelineCache is a valid handle, it must: have been created, allocated, or retrieved from pname:device -* If the pname:flags member of any given element of pname:pCreateInfos contains the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and the pname:basePipelineIndex member of that same element is not `-1`, pname:basePipelineIndex must: be less than the index into pname:pCreateInfos that corresponds to that element -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCreateImage.txt b/doc/specs/vulkan/validity/protos/vkCreateImage.txt deleted file mode 100644 index de619c33..00000000 --- a/doc/specs/vulkan/validity/protos/vkCreateImage.txt +++ /dev/null @@ -1,45 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pCreateInfo must: be a pointer to a valid sname:VkImageCreateInfo structure -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* pname:pImage must: be a pointer to a sname:VkImage handle -* If the pname:flags member of pname:pCreateInfo includes ename:VK_IMAGE_CREATE_SPARSE_BINDING_BIT, creating this sname:VkImage mustnot: cause the total required sparse memory for all currently valid sparse resources on the device to exceed sname:VkPhysicalDeviceLimits::pname:sparseAddressSpaceSize -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCreateImageView.txt b/doc/specs/vulkan/validity/protos/vkCreateImageView.txt deleted file mode 100644 index 06044415..00000000 --- a/doc/specs/vulkan/validity/protos/vkCreateImageView.txt +++ /dev/null @@ -1,44 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pCreateInfo must: be a pointer to a valid sname:VkImageViewCreateInfo structure -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* pname:pView must: be a pointer to a sname:VkImageView handle -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCreateInstance.txt b/doc/specs/vulkan/validity/protos/vkCreateInstance.txt deleted file mode 100644 index 0626dd2e..00000000 --- a/doc/specs/vulkan/validity/protos/vkCreateInstance.txt +++ /dev/null @@ -1,47 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:pCreateInfo must: be a pointer to a valid sname:VkInstanceCreateInfo structure -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* pname:pInstance must: be a pointer to a sname:VkInstance handle -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -* ename:VK_ERROR_INITIALIZATION_FAILED -* ename:VK_ERROR_LAYER_NOT_PRESENT -* ename:VK_ERROR_EXTENSION_NOT_PRESENT -* ename:VK_ERROR_INCOMPATIBLE_DRIVER -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCreatePipelineCache.txt b/doc/specs/vulkan/validity/protos/vkCreatePipelineCache.txt deleted file mode 100644 index 09865a3e..00000000 --- a/doc/specs/vulkan/validity/protos/vkCreatePipelineCache.txt +++ /dev/null @@ -1,44 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pCreateInfo must: be a pointer to a valid sname:VkPipelineCacheCreateInfo structure -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* pname:pPipelineCache must: be a pointer to a sname:VkPipelineCache handle -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCreatePipelineLayout.txt b/doc/specs/vulkan/validity/protos/vkCreatePipelineLayout.txt deleted file mode 100644 index 092f8bd7..00000000 --- a/doc/specs/vulkan/validity/protos/vkCreatePipelineLayout.txt +++ /dev/null @@ -1,44 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pCreateInfo must: be a pointer to a valid sname:VkPipelineLayoutCreateInfo structure -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* pname:pPipelineLayout must: be a pointer to a sname:VkPipelineLayout handle -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCreateQueryPool.txt b/doc/specs/vulkan/validity/protos/vkCreateQueryPool.txt deleted file mode 100644 index 30ce2ddd..00000000 --- a/doc/specs/vulkan/validity/protos/vkCreateQueryPool.txt +++ /dev/null @@ -1,44 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pCreateInfo must: be a pointer to a valid sname:VkQueryPoolCreateInfo structure -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* pname:pQueryPool must: be a pointer to a sname:VkQueryPool handle -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCreateRenderPass.txt b/doc/specs/vulkan/validity/protos/vkCreateRenderPass.txt deleted file mode 100644 index 7c7ad911..00000000 --- a/doc/specs/vulkan/validity/protos/vkCreateRenderPass.txt +++ /dev/null @@ -1,44 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pCreateInfo must: be a pointer to a valid sname:VkRenderPassCreateInfo structure -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* pname:pRenderPass must: be a pointer to a sname:VkRenderPass handle -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCreateSampler.txt b/doc/specs/vulkan/validity/protos/vkCreateSampler.txt deleted file mode 100644 index f5088fee..00000000 --- a/doc/specs/vulkan/validity/protos/vkCreateSampler.txt +++ /dev/null @@ -1,45 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pCreateInfo must: be a pointer to a valid sname:VkSamplerCreateInfo structure -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* pname:pSampler must: be a pointer to a sname:VkSampler handle -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -* ename:VK_ERROR_TOO_MANY_OBJECTS -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCreateSemaphore.txt b/doc/specs/vulkan/validity/protos/vkCreateSemaphore.txt deleted file mode 100644 index cd239689..00000000 --- a/doc/specs/vulkan/validity/protos/vkCreateSemaphore.txt +++ /dev/null @@ -1,44 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pCreateInfo must: be a pointer to a valid sname:VkSemaphoreCreateInfo structure -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* pname:pSemaphore must: be a pointer to a sname:VkSemaphore handle -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkCreateShaderModule.txt b/doc/specs/vulkan/validity/protos/vkCreateShaderModule.txt deleted file mode 100644 index bd81ae60..00000000 --- a/doc/specs/vulkan/validity/protos/vkCreateShaderModule.txt +++ /dev/null @@ -1,44 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pCreateInfo must: be a pointer to a valid sname:VkShaderModuleCreateInfo structure -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* pname:pShaderModule must: be a pointer to a sname:VkShaderModule handle -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkDestroyBuffer.txt b/doc/specs/vulkan/validity/protos/vkDestroyBuffer.txt deleted file mode 100644 index d76f849e..00000000 --- a/doc/specs/vulkan/validity/protos/vkDestroyBuffer.txt +++ /dev/null @@ -1,33 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* If pname:buffer is not dlink:VK_NULL_HANDLE, pname:buffer must: be a valid sname:VkBuffer handle -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* If pname:buffer is a valid handle, it must: have been created, allocated, or retrieved from pname:device -* All submitted commands that refer to pname:buffer, either directly or via a sname:VkBufferView, must: have completed execution -* If sname:VkAllocationCallbacks were provided when pname:buffer was created, a compatible set of callbacks must: be provided here -* If no sname:VkAllocationCallbacks were provided when pname:buffer was created, pname:pAllocator must: be `NULL` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:buffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkDestroyBufferView.txt b/doc/specs/vulkan/validity/protos/vkDestroyBufferView.txt deleted file mode 100644 index dde285d6..00000000 --- a/doc/specs/vulkan/validity/protos/vkDestroyBufferView.txt +++ /dev/null @@ -1,33 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* If pname:bufferView is not dlink:VK_NULL_HANDLE, pname:bufferView must: be a valid sname:VkBufferView handle -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* If pname:bufferView is a valid handle, it must: have been created, allocated, or retrieved from pname:device -* All submitted commands that refer to pname:bufferView must: have completed execution -* If sname:VkAllocationCallbacks were provided when pname:bufferView was created, a compatible set of callbacks must: be provided here -* If no sname:VkAllocationCallbacks were provided when pname:bufferView was created, pname:pAllocator must: be `NULL` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:bufferView must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkDestroyCommandPool.txt b/doc/specs/vulkan/validity/protos/vkDestroyCommandPool.txt deleted file mode 100644 index 8495ef01..00000000 --- a/doc/specs/vulkan/validity/protos/vkDestroyCommandPool.txt +++ /dev/null @@ -1,33 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* If pname:commandPool is not dlink:VK_NULL_HANDLE, pname:commandPool must: be a valid sname:VkCommandPool handle -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* If pname:commandPool is a valid handle, it must: have been created, allocated, or retrieved from pname:device -* All sname:VkCommandBuffer objects allocated from pname:commandPool mustnot: be pending execution -* If sname:VkAllocationCallbacks were provided when pname:commandPool was created, a compatible set of callbacks must: be provided here -* If no sname:VkAllocationCallbacks were provided when pname:commandPool was created, pname:pAllocator must: be `NULL` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandPool must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkDestroyDescriptorPool.txt b/doc/specs/vulkan/validity/protos/vkDestroyDescriptorPool.txt deleted file mode 100644 index cc114df8..00000000 --- a/doc/specs/vulkan/validity/protos/vkDestroyDescriptorPool.txt +++ /dev/null @@ -1,33 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* If pname:descriptorPool is not dlink:VK_NULL_HANDLE, pname:descriptorPool must: be a valid sname:VkDescriptorPool handle -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* If pname:descriptorPool is a valid handle, it must: have been created, allocated, or retrieved from pname:device -* All submitted commands that refer to pname:descriptorPool (via any allocated descriptor sets) must: have completed execution -* If sname:VkAllocationCallbacks were provided when pname:descriptorPool was created, a compatible set of callbacks must: be provided here -* If no sname:VkAllocationCallbacks were provided when pname:descriptorPool was created, pname:pAllocator must: be `NULL` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:descriptorPool must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkDestroyDescriptorSetLayout.txt b/doc/specs/vulkan/validity/protos/vkDestroyDescriptorSetLayout.txt deleted file mode 100644 index 2c3257fd..00000000 --- a/doc/specs/vulkan/validity/protos/vkDestroyDescriptorSetLayout.txt +++ /dev/null @@ -1,32 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* If pname:descriptorSetLayout is not dlink:VK_NULL_HANDLE, pname:descriptorSetLayout must: be a valid sname:VkDescriptorSetLayout handle -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* If pname:descriptorSetLayout is a valid handle, it must: have been created, allocated, or retrieved from pname:device -* If sname:VkAllocationCallbacks were provided when pname:descriptorSetLayout was created, a compatible set of callbacks must: be provided here -* If no sname:VkAllocationCallbacks were provided when pname:descriptorSetLayout was created, pname:pAllocator must: be `NULL` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:descriptorSetLayout must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkDestroyDevice.txt b/doc/specs/vulkan/validity/protos/vkDestroyDevice.txt deleted file mode 100644 index 3301bb86..00000000 --- a/doc/specs/vulkan/validity/protos/vkDestroyDevice.txt +++ /dev/null @@ -1,31 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* If pname:device is not `NULL`, pname:device must: be a valid sname:VkDevice handle -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* All child objects created on pname:device must: have been destroyed prior to destroying pname:device -* If sname:VkAllocationCallbacks were provided when pname:device was created, a compatible set of callbacks must: be provided here -* If no sname:VkAllocationCallbacks were provided when pname:device was created, pname:pAllocator must: be `NULL` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:device must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkDestroyEvent.txt b/doc/specs/vulkan/validity/protos/vkDestroyEvent.txt deleted file mode 100644 index 1bc90d9e..00000000 --- a/doc/specs/vulkan/validity/protos/vkDestroyEvent.txt +++ /dev/null @@ -1,33 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* If pname:event is not dlink:VK_NULL_HANDLE, pname:event must: be a valid sname:VkEvent handle -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* If pname:event is a valid handle, it must: have been created, allocated, or retrieved from pname:device -* All submitted commands that refer to pname:event must: have completed execution -* If sname:VkAllocationCallbacks were provided when pname:event was created, a compatible set of callbacks must: be provided here -* If no sname:VkAllocationCallbacks were provided when pname:event was created, pname:pAllocator must: be `NULL` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:event must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkDestroyFence.txt b/doc/specs/vulkan/validity/protos/vkDestroyFence.txt deleted file mode 100644 index e3fde200..00000000 --- a/doc/specs/vulkan/validity/protos/vkDestroyFence.txt +++ /dev/null @@ -1,33 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* If pname:fence is not dlink:VK_NULL_HANDLE, pname:fence must: be a valid sname:VkFence handle -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* If pname:fence is a valid handle, it must: have been created, allocated, or retrieved from pname:device -* pname:fence mustnot: be associated with any queue command that has not yet completed execution on that queue -* If sname:VkAllocationCallbacks were provided when pname:fence was created, a compatible set of callbacks must: be provided here -* If no sname:VkAllocationCallbacks were provided when pname:fence was created, pname:pAllocator must: be `NULL` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:fence must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkDestroyFramebuffer.txt b/doc/specs/vulkan/validity/protos/vkDestroyFramebuffer.txt deleted file mode 100644 index 30f492d4..00000000 --- a/doc/specs/vulkan/validity/protos/vkDestroyFramebuffer.txt +++ /dev/null @@ -1,33 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* If pname:framebuffer is not dlink:VK_NULL_HANDLE, pname:framebuffer must: be a valid sname:VkFramebuffer handle -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* If pname:framebuffer is a valid handle, it must: have been created, allocated, or retrieved from pname:device -* All submitted commands that refer to pname:framebuffer must: have completed execution -* If sname:VkAllocationCallbacks were provided when pname:framebuffer was created, a compatible set of callbacks must: be provided here -* If no sname:VkAllocationCallbacks were provided when pname:framebuffer was created, pname:pAllocator must: be `NULL` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:framebuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkDestroyImage.txt b/doc/specs/vulkan/validity/protos/vkDestroyImage.txt deleted file mode 100644 index be33ee4a..00000000 --- a/doc/specs/vulkan/validity/protos/vkDestroyImage.txt +++ /dev/null @@ -1,33 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* If pname:image is not dlink:VK_NULL_HANDLE, pname:image must: be a valid sname:VkImage handle -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* If pname:image is a valid handle, it must: have been created, allocated, or retrieved from pname:device -* All submitted commands that refer to pname:image, either directly or via a sname:VkImageView, must: have completed execution -* If sname:VkAllocationCallbacks were provided when pname:image was created, a compatible set of callbacks must: be provided here -* If no sname:VkAllocationCallbacks were provided when pname:image was created, pname:pAllocator must: be `NULL` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:image must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkDestroyImageView.txt b/doc/specs/vulkan/validity/protos/vkDestroyImageView.txt deleted file mode 100644 index 47625393..00000000 --- a/doc/specs/vulkan/validity/protos/vkDestroyImageView.txt +++ /dev/null @@ -1,33 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* If pname:imageView is not dlink:VK_NULL_HANDLE, pname:imageView must: be a valid sname:VkImageView handle -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* If pname:imageView is a valid handle, it must: have been created, allocated, or retrieved from pname:device -* All submitted commands that refer to pname:imageView must: have completed execution -* If sname:VkAllocationCallbacks were provided when pname:imageView was created, a compatible set of callbacks must: be provided here -* If no sname:VkAllocationCallbacks were provided when pname:imageView was created, pname:pAllocator must: be `NULL` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:imageView must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkDestroyInstance.txt b/doc/specs/vulkan/validity/protos/vkDestroyInstance.txt deleted file mode 100644 index 2dfb5874..00000000 --- a/doc/specs/vulkan/validity/protos/vkDestroyInstance.txt +++ /dev/null @@ -1,31 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* If pname:instance is not `NULL`, pname:instance must: be a valid sname:VkInstance handle -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* All child objects created using pname:instance must: have been destroyed prior to destroying pname:instance -* If sname:VkAllocationCallbacks were provided when pname:instance was created, a compatible set of callbacks must: be provided here -* If no sname:VkAllocationCallbacks were provided when pname:instance was created, pname:pAllocator must: be `NULL` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:instance must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkDestroyPipeline.txt b/doc/specs/vulkan/validity/protos/vkDestroyPipeline.txt deleted file mode 100644 index 88c35a7e..00000000 --- a/doc/specs/vulkan/validity/protos/vkDestroyPipeline.txt +++ /dev/null @@ -1,33 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* If pname:pipeline is not dlink:VK_NULL_HANDLE, pname:pipeline must: be a valid sname:VkPipeline handle -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* If pname:pipeline is a valid handle, it must: have been created, allocated, or retrieved from pname:device -* All submitted commands that refer to pname:pipeline must: have completed execution -* If sname:VkAllocationCallbacks were provided when pname:pipeline was created, a compatible set of callbacks must: be provided here -* If no sname:VkAllocationCallbacks were provided when pname:pipeline was created, pname:pAllocator must: be `NULL` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:pipeline must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkDestroyPipelineCache.txt b/doc/specs/vulkan/validity/protos/vkDestroyPipelineCache.txt deleted file mode 100644 index d81d54a9..00000000 --- a/doc/specs/vulkan/validity/protos/vkDestroyPipelineCache.txt +++ /dev/null @@ -1,32 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* If pname:pipelineCache is not dlink:VK_NULL_HANDLE, pname:pipelineCache must: be a valid sname:VkPipelineCache handle -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* If pname:pipelineCache is a valid handle, it must: have been created, allocated, or retrieved from pname:device -* If sname:VkAllocationCallbacks were provided when pname:pipelineCache was created, a compatible set of callbacks must: be provided here -* If no sname:VkAllocationCallbacks were provided when pname:pipelineCache was created, pname:pAllocator must: be `NULL` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:pipelineCache must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkDestroyPipelineLayout.txt b/doc/specs/vulkan/validity/protos/vkDestroyPipelineLayout.txt deleted file mode 100644 index c58c6d0d..00000000 --- a/doc/specs/vulkan/validity/protos/vkDestroyPipelineLayout.txt +++ /dev/null @@ -1,32 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* If pname:pipelineLayout is not dlink:VK_NULL_HANDLE, pname:pipelineLayout must: be a valid sname:VkPipelineLayout handle -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* If pname:pipelineLayout is a valid handle, it must: have been created, allocated, or retrieved from pname:device -* If sname:VkAllocationCallbacks were provided when pname:pipelineLayout was created, a compatible set of callbacks must: be provided here -* If no sname:VkAllocationCallbacks were provided when pname:pipelineLayout was created, pname:pAllocator must: be `NULL` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:pipelineLayout must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkDestroyQueryPool.txt b/doc/specs/vulkan/validity/protos/vkDestroyQueryPool.txt deleted file mode 100644 index 9a1fd54a..00000000 --- a/doc/specs/vulkan/validity/protos/vkDestroyQueryPool.txt +++ /dev/null @@ -1,33 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* If pname:queryPool is not dlink:VK_NULL_HANDLE, pname:queryPool must: be a valid sname:VkQueryPool handle -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* If pname:queryPool is a valid handle, it must: have been created, allocated, or retrieved from pname:device -* All submitted commands that refer to pname:queryPool must: have completed execution -* If sname:VkAllocationCallbacks were provided when pname:queryPool was created, a compatible set of callbacks must: be provided here -* If no sname:VkAllocationCallbacks were provided when pname:queryPool was created, pname:pAllocator must: be `NULL` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:queryPool must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkDestroyRenderPass.txt b/doc/specs/vulkan/validity/protos/vkDestroyRenderPass.txt deleted file mode 100644 index f4194a96..00000000 --- a/doc/specs/vulkan/validity/protos/vkDestroyRenderPass.txt +++ /dev/null @@ -1,33 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* If pname:renderPass is not dlink:VK_NULL_HANDLE, pname:renderPass must: be a valid sname:VkRenderPass handle -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* If pname:renderPass is a valid handle, it must: have been created, allocated, or retrieved from pname:device -* All submitted commands that refer to pname:renderPass must: have completed execution -* If sname:VkAllocationCallbacks were provided when pname:renderPass was created, a compatible set of callbacks must: be provided here -* If no sname:VkAllocationCallbacks were provided when pname:renderPass was created, pname:pAllocator must: be `NULL` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:renderPass must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkDestroySampler.txt b/doc/specs/vulkan/validity/protos/vkDestroySampler.txt deleted file mode 100644 index 42b0a5f0..00000000 --- a/doc/specs/vulkan/validity/protos/vkDestroySampler.txt +++ /dev/null @@ -1,33 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* If pname:sampler is not dlink:VK_NULL_HANDLE, pname:sampler must: be a valid sname:VkSampler handle -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* If pname:sampler is a valid handle, it must: have been created, allocated, or retrieved from pname:device -* All submitted commands that refer to pname:sampler must: have completed execution -* If sname:VkAllocationCallbacks were provided when pname:sampler was created, a compatible set of callbacks must: be provided here -* If no sname:VkAllocationCallbacks were provided when pname:sampler was created, pname:pAllocator must: be `NULL` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:sampler must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkDestroySemaphore.txt b/doc/specs/vulkan/validity/protos/vkDestroySemaphore.txt deleted file mode 100644 index 6d27771b..00000000 --- a/doc/specs/vulkan/validity/protos/vkDestroySemaphore.txt +++ /dev/null @@ -1,33 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* If pname:semaphore is not dlink:VK_NULL_HANDLE, pname:semaphore must: be a valid sname:VkSemaphore handle -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* If pname:semaphore is a valid handle, it must: have been created, allocated, or retrieved from pname:device -* pname:semaphore mustnot: be associated with any queue command that has not yet completed execution on that queue -* If sname:VkAllocationCallbacks were provided when pname:semaphore was created, a compatible set of callbacks must: be provided here -* If no sname:VkAllocationCallbacks were provided when pname:semaphore was created, pname:pAllocator must: be `NULL` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:semaphore must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkDestroyShaderModule.txt b/doc/specs/vulkan/validity/protos/vkDestroyShaderModule.txt deleted file mode 100644 index f03f4e00..00000000 --- a/doc/specs/vulkan/validity/protos/vkDestroyShaderModule.txt +++ /dev/null @@ -1,32 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* If pname:shaderModule is not dlink:VK_NULL_HANDLE, pname:shaderModule must: be a valid sname:VkShaderModule handle -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* If pname:shaderModule is a valid handle, it must: have been created, allocated, or retrieved from pname:device -* If sname:VkAllocationCallbacks were provided when pname:shaderModule was created, a compatible set of callbacks must: be provided here -* If no sname:VkAllocationCallbacks were provided when pname:shaderModule was created, pname:pAllocator must: be `NULL` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:shaderModule must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkDeviceWaitIdle.txt b/doc/specs/vulkan/validity/protos/vkDeviceWaitIdle.txt deleted file mode 100644 index 96d5a791..00000000 --- a/doc/specs/vulkan/validity/protos/vkDeviceWaitIdle.txt +++ /dev/null @@ -1,55 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to all sname:VkQueue objects created from pname:device must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -* ename:VK_ERROR_DEVICE_LOST -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkEndCommandBuffer.txt b/doc/specs/vulkan/validity/protos/vkEndCommandBuffer.txt deleted file mode 100644 index 6c9a4cdc..00000000 --- a/doc/specs/vulkan/validity/protos/vkEndCommandBuffer.txt +++ /dev/null @@ -1,57 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:commandBuffer must: be in the recording state -* If pname:commandBuffer is a primary command buffer, there mustnot: be an active render pass instance -* All queries made <> during the recording of pname:commandBuffer must: have been made inactive -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkEnumerateDeviceExtensionProperties.txt b/doc/specs/vulkan/validity/protos/vkEnumerateDeviceExtensionProperties.txt deleted file mode 100644 index 7b9aa29c..00000000 --- a/doc/specs/vulkan/validity/protos/vkEnumerateDeviceExtensionProperties.txt +++ /dev/null @@ -1,47 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:physicalDevice must: be a valid sname:VkPhysicalDevice handle -* If pname:pLayerName is not `NULL`, pname:pLayerName must: be a null-terminated string -* pname:pPropertyCount must: be a pointer to a basetype:uint32_t value -* If the value referenced by pname:pPropertyCount is not `0`, and pname:pProperties is not `NULL`, pname:pProperties must: be a pointer to an array of pname:pPropertyCount sname:VkExtensionProperties structures -* If pname:pLayerName is not `NULL`, it must: be the name of a layer returned by flink:vkEnumerateDeviceLayerProperties -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -* ename:VK_INCOMPLETE -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -* ename:VK_ERROR_LAYER_NOT_PRESENT -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkEnumerateDeviceLayerProperties.txt b/doc/specs/vulkan/validity/protos/vkEnumerateDeviceLayerProperties.txt deleted file mode 100644 index 01bb11b1..00000000 --- a/doc/specs/vulkan/validity/protos/vkEnumerateDeviceLayerProperties.txt +++ /dev/null @@ -1,44 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:physicalDevice must: be a valid sname:VkPhysicalDevice handle -* pname:pPropertyCount must: be a pointer to a basetype:uint32_t value -* If the value referenced by pname:pPropertyCount is not `0`, and pname:pProperties is not `NULL`, pname:pProperties must: be a pointer to an array of pname:pPropertyCount sname:VkLayerProperties structures -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -* ename:VK_INCOMPLETE -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkEnumerateInstanceExtensionProperties.txt b/doc/specs/vulkan/validity/protos/vkEnumerateInstanceExtensionProperties.txt deleted file mode 100644 index 52c9e708..00000000 --- a/doc/specs/vulkan/validity/protos/vkEnumerateInstanceExtensionProperties.txt +++ /dev/null @@ -1,46 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* If pname:pLayerName is not `NULL`, pname:pLayerName must: be a null-terminated string -* pname:pPropertyCount must: be a pointer to a basetype:uint32_t value -* If the value referenced by pname:pPropertyCount is not `0`, and pname:pProperties is not `NULL`, pname:pProperties must: be a pointer to an array of pname:pPropertyCount sname:VkExtensionProperties structures -* If pname:pLayerName is not `NULL`, it must: be the name of a layer returned by flink:vkEnumerateInstanceLayerProperties -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -* ename:VK_INCOMPLETE -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -* ename: VK_ERROR_LAYER_NOT_PRESENT -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkEnumerateInstanceLayerProperties.txt b/doc/specs/vulkan/validity/protos/vkEnumerateInstanceLayerProperties.txt deleted file mode 100644 index c2b8efc1..00000000 --- a/doc/specs/vulkan/validity/protos/vkEnumerateInstanceLayerProperties.txt +++ /dev/null @@ -1,43 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:pPropertyCount must: be a pointer to a basetype:uint32_t value -* If the value referenced by pname:pPropertyCount is not `0`, and pname:pProperties is not `NULL`, pname:pProperties must: be a pointer to an array of pname:pPropertyCount sname:VkLayerProperties structures -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -* ename:VK_INCOMPLETE -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkEnumeratePhysicalDevices.txt b/doc/specs/vulkan/validity/protos/vkEnumeratePhysicalDevices.txt deleted file mode 100644 index 09f970a7..00000000 --- a/doc/specs/vulkan/validity/protos/vkEnumeratePhysicalDevices.txt +++ /dev/null @@ -1,45 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:instance must: be a valid sname:VkInstance handle -* pname:pPhysicalDeviceCount must: be a pointer to a basetype:uint32_t value -* If the value referenced by pname:pPhysicalDeviceCount is not `0`, and pname:pPhysicalDevices is not `NULL`, pname:pPhysicalDevices must: be a pointer to an array of pname:pPhysicalDeviceCount sname:VkPhysicalDevice handles -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -* ename:VK_INCOMPLETE -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -* ename:VK_ERROR_INITIALIZATION_FAILED -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkFlushMappedMemoryRanges.txt b/doc/specs/vulkan/validity/protos/vkFlushMappedMemoryRanges.txt deleted file mode 100644 index 407b1cfc..00000000 --- a/doc/specs/vulkan/validity/protos/vkFlushMappedMemoryRanges.txt +++ /dev/null @@ -1,43 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pMemoryRanges must: be a pointer to an array of pname:memoryRangeCount valid sname:VkMappedMemoryRange structures -* pname:memoryRangeCount must: be greater than `0` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkFreeCommandBuffers.txt b/doc/specs/vulkan/validity/protos/vkFreeCommandBuffers.txt deleted file mode 100644 index 506adfc2..00000000 --- a/doc/specs/vulkan/validity/protos/vkFreeCommandBuffers.txt +++ /dev/null @@ -1,34 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:commandPool must: be a valid sname:VkCommandPool handle -* pname:commandBufferCount must: be greater than `0` -* pname:commandPool must: have been created, allocated, or retrieved from pname:device -* Each element of pname:pCommandBuffers that is a valid handle must: have been created, allocated, or retrieved from pname:commandPool -* All elements of pname:pCommandBuffers mustnot: be pending execution -* pname:pCommandBuffers must: be a pointer to an array of pname:commandBufferCount sname:VkCommandBuffer handles, each element of which must: either be a valid handle or dlink:VK_NULL_HANDLE -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandPool must: be externally synchronized -* Host access to each member of pname:pCommandBuffers must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkFreeDescriptorSets.txt b/doc/specs/vulkan/validity/protos/vkFreeDescriptorSets.txt deleted file mode 100644 index 12ac2a83..00000000 --- a/doc/specs/vulkan/validity/protos/vkFreeDescriptorSets.txt +++ /dev/null @@ -1,63 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:descriptorPool must: be a valid sname:VkDescriptorPool handle -* pname:descriptorSetCount must: be greater than `0` -* pname:descriptorPool must: have been created, allocated, or retrieved from pname:device -* Each element of pname:pDescriptorSets that is a valid handle must: have been created, allocated, or retrieved from pname:descriptorPool -* All submitted commands that refer to any element of pname:pDescriptorSets must: have completed execution -* pname:pDescriptorSets must: be a pointer to an array of pname:descriptorSetCount sname:VkDescriptorSet handles, each element of which must: either be a valid handle or dlink:VK_NULL_HANDLE -* Each valid handle in pname:pDescriptorSets must: have been allocated from pname:descriptorPool -* pname:descriptorPool must: have been created with the ename:VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT flag -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:descriptorPool must: be externally synchronized -* Host access to each member of pname:pDescriptorSets must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkFreeMemory.txt b/doc/specs/vulkan/validity/protos/vkFreeMemory.txt deleted file mode 100644 index b0449435..00000000 --- a/doc/specs/vulkan/validity/protos/vkFreeMemory.txt +++ /dev/null @@ -1,31 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* If pname:memory is not dlink:VK_NULL_HANDLE, pname:memory must: be a valid sname:VkDeviceMemory handle -* If pname:pAllocator is not `NULL`, pname:pAllocator must: be a pointer to a valid sname:VkAllocationCallbacks structure -* If pname:memory is a valid handle, it must: have been created, allocated, or retrieved from pname:device -* All submitted commands that refer to pname:memory (via images or buffers) must: have completed execution -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:memory must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkGetBufferMemoryRequirements.txt b/doc/specs/vulkan/validity/protos/vkGetBufferMemoryRequirements.txt deleted file mode 100644 index 2ba70cd2..00000000 --- a/doc/specs/vulkan/validity/protos/vkGetBufferMemoryRequirements.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:buffer must: be a valid sname:VkBuffer handle -* pname:pMemoryRequirements must: be a pointer to a sname:VkMemoryRequirements structure -* pname:buffer must: have been created, allocated, or retrieved from pname:device -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkGetDeviceMemoryCommitment.txt b/doc/specs/vulkan/validity/protos/vkGetDeviceMemoryCommitment.txt deleted file mode 100644 index a1191d48..00000000 --- a/doc/specs/vulkan/validity/protos/vkGetDeviceMemoryCommitment.txt +++ /dev/null @@ -1,18 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:memory must: be a valid sname:VkDeviceMemory handle -* pname:pCommittedMemoryInBytes must: be a pointer to a basetype:VkDeviceSize value -* pname:memory must: have been created, allocated, or retrieved from pname:device -* pname:memory must: have been created with a memory type that reports ename:VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkGetDeviceProcAddr.txt b/doc/specs/vulkan/validity/protos/vkGetDeviceProcAddr.txt deleted file mode 100644 index 5da23bc9..00000000 --- a/doc/specs/vulkan/validity/protos/vkGetDeviceProcAddr.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pName must: be a null-terminated string -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkGetDeviceQueue.txt b/doc/specs/vulkan/validity/protos/vkGetDeviceQueue.txt deleted file mode 100644 index 03b5aad3..00000000 --- a/doc/specs/vulkan/validity/protos/vkGetDeviceQueue.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pQueue must: be a pointer to a sname:VkQueue handle -* pname:queueFamilyIndex must: be one of the queue family indices specified when pname:device was created, via the sname:VkDeviceQueueCreateInfo structure -* pname:queueIndex must: be less than the number of queues created for the specified queue family index when pname:device was created, via the pname:queueCount member of the sname:VkDeviceQueueCreateInfo structure -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkGetEventStatus.txt b/doc/specs/vulkan/validity/protos/vkGetEventStatus.txt deleted file mode 100644 index f0ae3c1c..00000000 --- a/doc/specs/vulkan/validity/protos/vkGetEventStatus.txt +++ /dev/null @@ -1,45 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:event must: be a valid sname:VkEvent handle -* pname:event must: have been created, allocated, or retrieved from pname:device -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_EVENT_SET -* ename:VK_EVENT_RESET -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -* ename:VK_ERROR_DEVICE_LOST -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkGetFenceStatus.txt b/doc/specs/vulkan/validity/protos/vkGetFenceStatus.txt deleted file mode 100644 index 3028ed56..00000000 --- a/doc/specs/vulkan/validity/protos/vkGetFenceStatus.txt +++ /dev/null @@ -1,45 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:fence must: be a valid sname:VkFence handle -* pname:fence must: have been created, allocated, or retrieved from pname:device -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -* ename:VK_NOT_READY -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -* ename:VK_ERROR_DEVICE_LOST -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkGetImageMemoryRequirements.txt b/doc/specs/vulkan/validity/protos/vkGetImageMemoryRequirements.txt deleted file mode 100644 index 57a34fa6..00000000 --- a/doc/specs/vulkan/validity/protos/vkGetImageMemoryRequirements.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:image must: be a valid sname:VkImage handle -* pname:pMemoryRequirements must: be a pointer to a sname:VkMemoryRequirements structure -* pname:image must: have been created, allocated, or retrieved from pname:device -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkGetImageSparseMemoryRequirements.txt b/doc/specs/vulkan/validity/protos/vkGetImageSparseMemoryRequirements.txt deleted file mode 100644 index 8734927b..00000000 --- a/doc/specs/vulkan/validity/protos/vkGetImageSparseMemoryRequirements.txt +++ /dev/null @@ -1,18 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:image must: be a valid sname:VkImage handle -* pname:pSparseMemoryRequirementCount must: be a pointer to a basetype:uint32_t value -* If the value referenced by pname:pSparseMemoryRequirementCount is not `0`, and pname:pSparseMemoryRequirements is not `NULL`, pname:pSparseMemoryRequirements must: be a pointer to an array of pname:pSparseMemoryRequirementCount sname:VkSparseImageMemoryRequirements structures -* pname:image must: have been created, allocated, or retrieved from pname:device -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkGetImageSubresourceLayout.txt b/doc/specs/vulkan/validity/protos/vkGetImageSubresourceLayout.txt deleted file mode 100644 index adc8fe85..00000000 --- a/doc/specs/vulkan/validity/protos/vkGetImageSubresourceLayout.txt +++ /dev/null @@ -1,20 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:image must: be a valid sname:VkImage handle -* pname:pSubresource must: be a pointer to a valid sname:VkImageSubresource structure -* pname:pLayout must: be a pointer to a sname:VkSubresourceLayout structure -* pname:image must: have been created, allocated, or retrieved from pname:device -* pname:image must: have been created with pname:tiling equal to ename:VK_IMAGE_TILING_LINEAR -* The pname:aspectMask member of pname:pSubresource must: only have a single bit set -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkGetInstanceProcAddr.txt b/doc/specs/vulkan/validity/protos/vkGetInstanceProcAddr.txt deleted file mode 100644 index 5a451190..00000000 --- a/doc/specs/vulkan/validity/protos/vkGetInstanceProcAddr.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* If pname:instance is not `NULL`, pname:instance must: be a valid sname:VkInstance handle -* pname:pName must: be a null-terminated string -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceFeatures.txt b/doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceFeatures.txt deleted file mode 100644 index ef7b3612..00000000 --- a/doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceFeatures.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:physicalDevice must: be a valid sname:VkPhysicalDevice handle -* pname:pFeatures must: be a pointer to a sname:VkPhysicalDeviceFeatures structure -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceFormatProperties.txt b/doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceFormatProperties.txt deleted file mode 100644 index f6c05274..00000000 --- a/doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceFormatProperties.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:physicalDevice must: be a valid sname:VkPhysicalDevice handle -* pname:format must: be a valid elink:VkFormat value -* pname:pFormatProperties must: be a pointer to a sname:VkFormatProperties structure -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceImageFormatProperties.txt b/doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceImageFormatProperties.txt deleted file mode 100644 index 3ed21ba7..00000000 --- a/doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceImageFormatProperties.txt +++ /dev/null @@ -1,49 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:physicalDevice must: be a valid sname:VkPhysicalDevice handle -* pname:format must: be a valid elink:VkFormat value -* pname:type must: be a valid elink:VkImageType value -* pname:tiling must: be a valid elink:VkImageTiling value -* pname:usage must: be a valid combination of elink:VkImageUsageFlagBits values -* pname:usage mustnot: be `0` -* pname:flags must: be a valid combination of elink:VkImageCreateFlagBits values -* pname:pImageFormatProperties must: be a pointer to a sname:VkImageFormatProperties structure -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -* ename:VK_ERROR_FORMAT_NOT_SUPPORTED -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceMemoryProperties.txt b/doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceMemoryProperties.txt deleted file mode 100644 index 221316c7..00000000 --- a/doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceMemoryProperties.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:physicalDevice must: be a valid sname:VkPhysicalDevice handle -* pname:pMemoryProperties must: be a pointer to a sname:VkPhysicalDeviceMemoryProperties structure -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceProperties.txt b/doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceProperties.txt deleted file mode 100644 index ee6a7f86..00000000 --- a/doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceProperties.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:physicalDevice must: be a valid sname:VkPhysicalDevice handle -* pname:pProperties must: be a pointer to a sname:VkPhysicalDeviceProperties structure -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceQueueFamilyProperties.txt b/doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceQueueFamilyProperties.txt deleted file mode 100644 index f8615dda..00000000 --- a/doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceQueueFamilyProperties.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:physicalDevice must: be a valid sname:VkPhysicalDevice handle -* pname:pQueueFamilyPropertyCount must: be a pointer to a basetype:uint32_t value -* If the value referenced by pname:pQueueFamilyPropertyCount is not `0`, and pname:pQueueFamilyProperties is not `NULL`, pname:pQueueFamilyProperties must: be a pointer to an array of pname:pQueueFamilyPropertyCount sname:VkQueueFamilyProperties structures -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceSparseImageFormatProperties.txt b/doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceSparseImageFormatProperties.txt deleted file mode 100644 index c2f9598f..00000000 --- a/doc/specs/vulkan/validity/protos/vkGetPhysicalDeviceSparseImageFormatProperties.txt +++ /dev/null @@ -1,23 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:physicalDevice must: be a valid sname:VkPhysicalDevice handle -* pname:format must: be a valid elink:VkFormat value -* pname:type must: be a valid elink:VkImageType value -* pname:samples must: be a valid elink:VkSampleCountFlagBits value -* pname:usage must: be a valid combination of elink:VkImageUsageFlagBits values -* pname:usage mustnot: be `0` -* pname:tiling must: be a valid elink:VkImageTiling value -* pname:pPropertyCount must: be a pointer to a basetype:uint32_t value -* If the value referenced by pname:pPropertyCount is not `0`, and pname:pProperties is not `NULL`, pname:pProperties must: be a pointer to an array of pname:pPropertyCount sname:VkSparseImageFormatProperties structures -* pname:samples must: be a bit value that is set in sname:VkImageFormatProperties::pname:sampleCounts returned by fname:vkGetPhysicalDeviceImageFormatProperties with pname:format, pname:type, pname:tiling, and pname:usage equal to those in this command and pname:flags equal to the value that is set in sname::VkImageCreateInfo::pname::flags when the image is created -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkGetPipelineCacheData.txt b/doc/specs/vulkan/validity/protos/vkGetPipelineCacheData.txt deleted file mode 100644 index ec4d00f1..00000000 --- a/doc/specs/vulkan/validity/protos/vkGetPipelineCacheData.txt +++ /dev/null @@ -1,46 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pipelineCache must: be a valid sname:VkPipelineCache handle -* pname:pDataSize must: be a pointer to a basetype:size_t value -* If the value referenced by pname:pDataSize is not `0`, and pname:pData is not `NULL`, pname:pData must: be a pointer to an array of pname:pDataSize bytes -* pname:pipelineCache must: have been created, allocated, or retrieved from pname:device -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -* ename:VK_INCOMPLETE -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkGetQueryPoolResults.txt b/doc/specs/vulkan/validity/protos/vkGetQueryPoolResults.txt deleted file mode 100644 index 68b387ee..00000000 --- a/doc/specs/vulkan/validity/protos/vkGetQueryPoolResults.txt +++ /dev/null @@ -1,54 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:queryPool must: be a valid sname:VkQueryPool handle -* pname:pData must: be a pointer to an array of pname:dataSize bytes -* pname:flags must: be a valid combination of elink:VkQueryResultFlagBits values -* pname:dataSize must: be greater than `0` -* pname:queryPool must: have been created, allocated, or retrieved from pname:device -* pname:firstQuery must: be less than the number of queries in pname:queryPool -* If ename:VK_QUERY_RESULT_64_BIT is not set in pname:flags then pname:pData and pname:stride must: be multiples of `4` -* If ename:VK_QUERY_RESULT_64_BIT is set in pname:flags then pname:pData and pname:stride must: be multiples of `8` -* The sum of pname:firstQuery and pname:queryCount must: be less than or equal to the number of queries in pname:queryPool -* pname:dataSize must: be large enough to contain the result of each query, as described <> -* If the pname:queryType used to create pname:queryPool was ename:VK_QUERY_TYPE_TIMESTAMP, pname:flags mustnot: contain ename:VK_QUERY_RESULT_PARTIAL_BIT -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -* ename:VK_NOT_READY -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -* ename:VK_ERROR_DEVICE_LOST -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkGetRenderAreaGranularity.txt b/doc/specs/vulkan/validity/protos/vkGetRenderAreaGranularity.txt deleted file mode 100644 index 252f65cd..00000000 --- a/doc/specs/vulkan/validity/protos/vkGetRenderAreaGranularity.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:renderPass must: be a valid sname:VkRenderPass handle -* pname:pGranularity must: be a pointer to a sname:VkExtent2D structure -* pname:renderPass must: have been created, allocated, or retrieved from pname:device -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkInvalidateMappedMemoryRanges.txt b/doc/specs/vulkan/validity/protos/vkInvalidateMappedMemoryRanges.txt deleted file mode 100644 index 407b1cfc..00000000 --- a/doc/specs/vulkan/validity/protos/vkInvalidateMappedMemoryRanges.txt +++ /dev/null @@ -1,43 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pMemoryRanges must: be a pointer to an array of pname:memoryRangeCount valid sname:VkMappedMemoryRange structures -* pname:memoryRangeCount must: be greater than `0` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkMapMemory.txt b/doc/specs/vulkan/validity/protos/vkMapMemory.txt deleted file mode 100644 index cda9165c..00000000 --- a/doc/specs/vulkan/validity/protos/vkMapMemory.txt +++ /dev/null @@ -1,64 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:memory must: be a valid sname:VkDeviceMemory handle -* pname:flags must: be `0` -* pname:ppData must: be a pointer to a pointer -* pname:memory must: have been created, allocated, or retrieved from pname:device -* pname:memory mustnot: currently be mapped -* pname:offset must: be less than the size of pname:memory -* If pname:size is not equal to ename:VK_WHOLE_SIZE, pname:size must: be greater than `0` -* If pname:size is not equal to ename:VK_WHOLE_SIZE, pname:size must: be less than or equal to the size of the pname:memory minus pname:offset -* pname:memory must: have been created with a memory type that reports ename:VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:memory must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -* ename:VK_ERROR_MEMORY_MAP_FAILED -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkMergePipelineCaches.txt b/doc/specs/vulkan/validity/protos/vkMergePipelineCaches.txt deleted file mode 100644 index 0c75e92c..00000000 --- a/doc/specs/vulkan/validity/protos/vkMergePipelineCaches.txt +++ /dev/null @@ -1,60 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:dstCache must: be a valid sname:VkPipelineCache handle -* pname:pSrcCaches must: be a pointer to an array of pname:srcCacheCount valid sname:VkPipelineCache handles -* pname:srcCacheCount must: be greater than `0` -* pname:dstCache must: have been created, allocated, or retrieved from pname:device -* Each element of pname:pSrcCaches must: have been created, allocated, or retrieved from pname:device -* pname:dstCache mustnot: appear in the list of source caches -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:dstCache must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkQueueBindSparse.txt b/doc/specs/vulkan/validity/protos/vkQueueBindSparse.txt deleted file mode 100644 index 0cef43b4..00000000 --- a/doc/specs/vulkan/validity/protos/vkQueueBindSparse.txt +++ /dev/null @@ -1,84 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:queue must: be a valid sname:VkQueue handle -* If pname:bindInfoCount is not `0`, pname:pBindInfo must: be a pointer to an array of pname:bindInfoCount valid sname:VkBindSparseInfo structures -* If pname:fence is not dlink:VK_NULL_HANDLE, pname:fence must: be a valid sname:VkFence handle -* The pname:queue must: support sparse binding operations -* Both of pname:fence, and pname:queue that are valid handles must: have been created, allocated, or retrieved from the same sname:VkDevice -* pname:fence must: be unsignaled -* pname:fence mustnot: be associated with any other queue command that has not yet completed execution on that queue -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:queue must: be externally synchronized -* Host access to pname:pBindInfo[].pWaitSemaphores[] must: be externally synchronized -* Host access to pname:pBindInfo[].pSignalSemaphores[] must: be externally synchronized -* Host access to pname:pBindInfo[].pBufferBinds[].buffer must: be externally synchronized -* Host access to pname:pBindInfo[].pImageOpaqueBinds[].image must: be externally synchronized -* Host access to pname:pBindInfo[].pImageBinds[].image must: be externally synchronized -* Host access to pname:fence must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|-|-|SPARSE_BINDING -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -* ename:VK_ERROR_DEVICE_LOST -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkQueueSubmit.txt b/doc/specs/vulkan/validity/protos/vkQueueSubmit.txt deleted file mode 100644 index 38903454..00000000 --- a/doc/specs/vulkan/validity/protos/vkQueueSubmit.txt +++ /dev/null @@ -1,80 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:queue must: be a valid sname:VkQueue handle -* If pname:submitCount is not `0`, pname:pSubmits must: be a pointer to an array of pname:submitCount valid sname:VkSubmitInfo structures -* If pname:fence is not dlink:VK_NULL_HANDLE, pname:fence must: be a valid sname:VkFence handle -* Both of pname:fence, and pname:queue that are valid handles must: have been created, allocated, or retrieved from the same sname:VkDevice -* If pname:fence is not dlink:VK_NULL_HANDLE, pname:fence must: be unsignaled -* If pname:fence is not dlink:VK_NULL_HANDLE, pname:fence mustnot: be associated with any other queue command that has not yet completed execution on that queue -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:queue must: be externally synchronized -* Host access to pname:pSubmits[].pWaitSemaphores[] must: be externally synchronized -* Host access to pname:pSubmits[].pSignalSemaphores[] must: be externally synchronized -* Host access to pname:fence must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|-|-|Any -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -* ename:VK_ERROR_DEVICE_LOST -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkQueueWaitIdle.txt b/doc/specs/vulkan/validity/protos/vkQueueWaitIdle.txt deleted file mode 100644 index 5d0d5452..00000000 --- a/doc/specs/vulkan/validity/protos/vkQueueWaitIdle.txt +++ /dev/null @@ -1,59 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:queue must: be a valid sname:VkQueue handle -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Command Properties -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Command Properties ------------------- -endif::doctype-manpage[] -[options="header", width="100%"] -|===================== -|Command Buffer Levels|Render Pass Scope|Supported Queue Types -|-|-|Any -|===================== -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -* ename:VK_ERROR_DEVICE_LOST -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkResetCommandBuffer.txt b/doc/specs/vulkan/validity/protos/vkResetCommandBuffer.txt deleted file mode 100644 index b1757338..00000000 --- a/doc/specs/vulkan/validity/protos/vkResetCommandBuffer.txt +++ /dev/null @@ -1,57 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:commandBuffer must: be a valid sname:VkCommandBuffer handle -* pname:flags must: be a valid combination of elink:VkCommandBufferResetFlagBits values -* pname:commandBuffer mustnot: currently be pending execution -* pname:commandBuffer must: have been allocated from a pool that was created with the ename:VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandBuffer must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkResetCommandPool.txt b/doc/specs/vulkan/validity/protos/vkResetCommandPool.txt deleted file mode 100644 index 7cbb48be..00000000 --- a/doc/specs/vulkan/validity/protos/vkResetCommandPool.txt +++ /dev/null @@ -1,58 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:commandPool must: be a valid sname:VkCommandPool handle -* pname:flags must: be a valid combination of elink:VkCommandPoolResetFlagBits values -* pname:commandPool must: have been created, allocated, or retrieved from pname:device -* All sname:VkCommandBuffer objects allocated from pname:commandPool mustnot: currently be pending execution -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:commandPool must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkResetDescriptorPool.txt b/doc/specs/vulkan/validity/protos/vkResetDescriptorPool.txt deleted file mode 100644 index 4befddda..00000000 --- a/doc/specs/vulkan/validity/protos/vkResetDescriptorPool.txt +++ /dev/null @@ -1,59 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:descriptorPool must: be a valid sname:VkDescriptorPool handle -* pname:flags must: be `0` -* pname:descriptorPool must: have been created, allocated, or retrieved from pname:device -* All uses of pname:descriptorPool (via any allocated descriptor sets) must: have completed execution -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:descriptorPool must: be externally synchronized -* Host access to any sname:VkDescriptorSet objects allocated from pname:descriptorPool must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkResetEvent.txt b/doc/specs/vulkan/validity/protos/vkResetEvent.txt deleted file mode 100644 index 88894003..00000000 --- a/doc/specs/vulkan/validity/protos/vkResetEvent.txt +++ /dev/null @@ -1,57 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:event must: be a valid sname:VkEvent handle -* pname:event must: have been created, allocated, or retrieved from pname:device -* pname:event mustnot: be waited on by a fname:vkCmdWaitEvents command that is currently executing -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:event must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkResetFences.txt b/doc/specs/vulkan/validity/protos/vkResetFences.txt deleted file mode 100644 index 9f342b29..00000000 --- a/doc/specs/vulkan/validity/protos/vkResetFences.txt +++ /dev/null @@ -1,58 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pFences must: be a pointer to an array of pname:fenceCount valid sname:VkFence handles -* pname:fenceCount must: be greater than `0` -* Each element of pname:pFences must: have been created, allocated, or retrieved from pname:device -* Any given element of pname:pFences mustnot: currently be associated with any queue command that has not yet completed execution on that queue -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to each member of pname:pFences must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkSetEvent.txt b/doc/specs/vulkan/validity/protos/vkSetEvent.txt deleted file mode 100644 index a135078d..00000000 --- a/doc/specs/vulkan/validity/protos/vkSetEvent.txt +++ /dev/null @@ -1,56 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:event must: be a valid sname:VkEvent handle -* pname:event must: have been created, allocated, or retrieved from pname:device -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:event must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkUnmapMemory.txt b/doc/specs/vulkan/validity/protos/vkUnmapMemory.txt deleted file mode 100644 index 6276d023..00000000 --- a/doc/specs/vulkan/validity/protos/vkUnmapMemory.txt +++ /dev/null @@ -1,30 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:memory must: be a valid sname:VkDeviceMemory handle -* pname:memory must: have been created, allocated, or retrieved from pname:device -* pname:memory must: currently be mapped -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:memory must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkUpdateDescriptorSets.txt b/doc/specs/vulkan/validity/protos/vkUpdateDescriptorSets.txt deleted file mode 100644 index 59a5f3e0..00000000 --- a/doc/specs/vulkan/validity/protos/vkUpdateDescriptorSets.txt +++ /dev/null @@ -1,30 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* If pname:descriptorWriteCount is not `0`, pname:pDescriptorWrites must: be a pointer to an array of pname:descriptorWriteCount valid sname:VkWriteDescriptorSet structures -* If pname:descriptorCopyCount is not `0`, pname:pDescriptorCopies must: be a pointer to an array of pname:descriptorCopyCount valid sname:VkCopyDescriptorSet structures -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Host Synchronization -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Host Synchronization --------------------- -endif::doctype-manpage[] -* Host access to pname:pDescriptorWrites[].dstSet must: be externally synchronized -* Host access to pname:pDescriptorCopies[].dstSet must: be externally synchronized -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/protos/vkWaitForFences.txt b/doc/specs/vulkan/validity/protos/vkWaitForFences.txt deleted file mode 100644 index e919a087..00000000 --- a/doc/specs/vulkan/validity/protos/vkWaitForFences.txt +++ /dev/null @@ -1,46 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:device must: be a valid sname:VkDevice handle -* pname:pFences must: be a pointer to an array of pname:fenceCount valid sname:VkFence handles -* pname:fenceCount must: be greater than `0` -* Each element of pname:pFences must: have been created, allocated, or retrieved from pname:device -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - -ifndef::doctype-manpage[] -.Return Codes -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Return Codes ------------- -endif::doctype-manpage[] -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On success, this command returns:: -endif::doctype-manpage[] -* ename:VK_SUCCESS -* ename:VK_TIMEOUT -ifndef::doctype-manpage[] -<>:: -endif::doctype-manpage[] -ifdef::doctype-manpage[] -On failure, this command returns:: -endif::doctype-manpage[] -* ename:VK_ERROR_OUT_OF_HOST_MEMORY -* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY -* ename:VK_ERROR_DEVICE_LOST -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkAllocationCallbacks.txt b/doc/specs/vulkan/validity/structs/VkAllocationCallbacks.txt deleted file mode 100644 index 528bbcc7..00000000 --- a/doc/specs/vulkan/validity/structs/VkAllocationCallbacks.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:pfnAllocation must: be a pointer to a valid user-defined PFN_vkAllocationFunction -* pname:pfnReallocation must: be a pointer to a valid user-defined PFN_vkReallocationFunction -* pname:pfnFree must: be a pointer to a valid user-defined PFN_vkFreeFunction -* If either of pname:pfnInternalAllocation or pname:pfnInternalFree is not `NULL`, both must: be valid callbacks -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkApplicationInfo.txt b/doc/specs/vulkan/validity/structs/VkApplicationInfo.txt deleted file mode 100644 index d43b2ffb..00000000 --- a/doc/specs/vulkan/validity/structs/VkApplicationInfo.txt +++ /dev/null @@ -1,18 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_APPLICATION_INFO -* pname:pNext must: be `NULL` -* If pname:pApplicationName is not `NULL`, pname:pApplicationName must: be a null-terminated string -* If pname:pEngineName is not `NULL`, pname:pEngineName must: be a null-terminated string -* pname:apiVersion must: be zero, or otherwise it must: be a version that the implementation supports, or supports an effective substitute for -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkAttachmentDescription.txt b/doc/specs/vulkan/validity/structs/VkAttachmentDescription.txt deleted file mode 100644 index d8f016e4..00000000 --- a/doc/specs/vulkan/validity/structs/VkAttachmentDescription.txt +++ /dev/null @@ -1,23 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:flags must: be a valid combination of elink:VkAttachmentDescriptionFlagBits values -* pname:format must: be a valid elink:VkFormat value -* pname:samples must: be a valid elink:VkSampleCountFlagBits value -* pname:loadOp must: be a valid elink:VkAttachmentLoadOp value -* pname:storeOp must: be a valid elink:VkAttachmentStoreOp value -* pname:stencilLoadOp must: be a valid elink:VkAttachmentLoadOp value -* pname:stencilStoreOp must: be a valid elink:VkAttachmentStoreOp value -* pname:initialLayout must: be a valid elink:VkImageLayout value -* pname:finalLayout must: be a valid elink:VkImageLayout value -* pname:finalLayout mustnot: be ename:VK_IMAGE_LAYOUT_UNDEFINED or ename:VK_IMAGE_LAYOUT_PREINITIALIZED -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkAttachmentReference.txt b/doc/specs/vulkan/validity/structs/VkAttachmentReference.txt deleted file mode 100644 index d1621c31..00000000 --- a/doc/specs/vulkan/validity/structs/VkAttachmentReference.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:layout must: be a valid elink:VkImageLayout value -* pname:layout mustnot: be ename:VK_IMAGE_LAYOUT_UNDEFINED or ename:VK_IMAGE_LAYOUT_PREINITIALIZED -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkBindSparseInfo.txt b/doc/specs/vulkan/validity/structs/VkBindSparseInfo.txt deleted file mode 100644 index 459536c6..00000000 --- a/doc/specs/vulkan/validity/structs/VkBindSparseInfo.txt +++ /dev/null @@ -1,21 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_BIND_SPARSE_INFO -* pname:pNext must: be `NULL` -* If pname:waitSemaphoreCount is not `0`, pname:pWaitSemaphores must: be a pointer to an array of pname:waitSemaphoreCount valid sname:VkSemaphore handles -* If pname:bufferBindCount is not `0`, pname:pBufferBinds must: be a pointer to an array of pname:bufferBindCount valid sname:VkSparseBufferMemoryBindInfo structures -* If pname:imageOpaqueBindCount is not `0`, pname:pImageOpaqueBinds must: be a pointer to an array of pname:imageOpaqueBindCount valid sname:VkSparseImageOpaqueMemoryBindInfo structures -* If pname:imageBindCount is not `0`, pname:pImageBinds must: be a pointer to an array of pname:imageBindCount valid sname:VkSparseImageMemoryBindInfo structures -* If pname:signalSemaphoreCount is not `0`, pname:pSignalSemaphores must: be a pointer to an array of pname:signalSemaphoreCount valid sname:VkSemaphore handles -* Both of the elements of pname:pSignalSemaphores, and the elements of pname:pWaitSemaphores that are valid handles must: have been created, allocated, or retrieved from the same sname:VkDevice -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkBufferCopy.txt b/doc/specs/vulkan/validity/structs/VkBufferCopy.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkBufferCopy.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkBufferCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkBufferCreateInfo.txt deleted file mode 100644 index d9ddd557..00000000 --- a/doc/specs/vulkan/validity/structs/VkBufferCreateInfo.txt +++ /dev/null @@ -1,26 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be a valid combination of elink:VkBufferCreateFlagBits values -* pname:usage must: be a valid combination of elink:VkBufferUsageFlagBits values -* pname:usage mustnot: be `0` -* pname:sharingMode must: be a valid elink:VkSharingMode value -* pname:size must: be greater than `0` -* If pname:sharingMode is ename:VK_SHARING_MODE_CONCURRENT, pname:pQueueFamilyIndices must: be a pointer to an array of pname:queueFamilyIndexCount basetype:uint32_t values -* If pname:sharingMode is ename:VK_SHARING_MODE_CONCURRENT, pname:queueFamilyIndexCount must: be greater than `1` -* If the <> feature is not enabled, pname:flags mustnot: contain ename:VK_BUFFER_CREATE_SPARSE_BINDING_BIT -* If the <> feature is not enabled, pname:flags mustnot: contain ename:VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT -* If the <> feature is not enabled, pname:flags mustnot: contain ename:VK_BUFFER_CREATE_SPARSE_ALIASED_BIT -* If pname:flags contains ename:VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT or ename:VK_BUFFER_CREATE_SPARSE_ALIASED_BIT, it must: also contain ename:VK_BUFFER_CREATE_SPARSE_BINDING_BIT -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkBufferImageCopy.txt b/doc/specs/vulkan/validity/structs/VkBufferImageCopy.txt deleted file mode 100644 index bdfb59e4..00000000 --- a/doc/specs/vulkan/validity/structs/VkBufferImageCopy.txt +++ /dev/null @@ -1,33 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:imageSubresource must: be a valid sname:VkImageSubresourceLayers structure -* pname:bufferOffset must: be a multiple of the calling command's sname:VkImage parameter's texel size -* pname:bufferOffset must: be a multiple of `4` -* pname:bufferRowLength must: be `0`, or greater than or equal to the pname:width member of pname:imageExtent -* pname:bufferImageHeight must: be `0`, or greater than or equal to the pname:height member of pname:imageExtent -* pname:imageOffset.x and (pname:imageExtent.width + pname:imageOffset.x) must: both be greater than or equal to `0` and less than or equal to the image subresource width -* pname:imageOffset.y and (imageExtent.height + pname:imageOffset.y) must: both be greater than or equal to `0` and less than or equal to the image subresource height -* pname:imageOffset.z and (imageExtent.depth + pname:imageOffset.z) must: both be greater than or equal to `0` and less than or equal to the image subresource depth -* If the calling command's sname:VkImage parameter is a compressed format image: - ** pname:bufferRowLength must: be a multiple of the compressed texel block width - ** pname:bufferImageHeight must: be a multiple of the compressed texel block height - ** all members of pname:imageOffset must: be a multiple of the corresponding dimensions of the compressed texel block - ** pname:bufferOffset must: be a multiple of the compressed texel block size in bytes - ** pname:imageExtent.width must: be a multiple of the compressed texel block width or (pname:imageExtent.width + pname:imageOffset.x) must: equal the image subresource width - ** pname:imageExtent.height must: be a multiple of the compressed texel block height or (pname:imageExtent.height + pname:imageOffset.y) must: equal the image subresource height - ** pname:imageExtent.depth must: be a multiple of the compressed texel block depth or (pname:imageExtent.depth + pname:imageOffset.z) must: equal the image subresource depth -* pname:bufferOffset, pname:bufferRowLength, pname:bufferImageHeight and all members of pname:imageOffset and pname:imageExtent must: respect the image transfer granularity requirements of the queue family that it will be submitted against, as described in <> -* The pname:aspectMask member of pname:imageSubresource must: specify aspects present in the calling command's sname:VkImage parameter -* The pname:aspectMask member of pname:imageSubresource must: only have a single bit set -* If the calling command's sname:VkImage parameter is of elink:VkImageType ename:VK_IMAGE_TYPE_3D, the pname:baseArrayLayer and pname:layerCount members of pname:imageSubresource must: be `0` and `1`, respectively -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkBufferMemoryBarrier.txt b/doc/specs/vulkan/validity/structs/VkBufferMemoryBarrier.txt deleted file mode 100644 index ac60a006..00000000 --- a/doc/specs/vulkan/validity/structs/VkBufferMemoryBarrier.txt +++ /dev/null @@ -1,24 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER -* pname:pNext must: be `NULL` -* pname:srcAccessMask must: be a valid combination of elink:VkAccessFlagBits values -* pname:dstAccessMask must: be a valid combination of elink:VkAccessFlagBits values -* pname:buffer must: be a valid sname:VkBuffer handle -* pname:offset must: be less than the size of pname:buffer -* If pname:size is not equal to ename:VK_WHOLE_SIZE, pname:size must: be greater than `0` -* If pname:size is not equal to ename:VK_WHOLE_SIZE, pname:size must: be less than or equal to than the size of pname:buffer minus pname:offset -* If pname:buffer was created with a sharing mode of ename:VK_SHARING_MODE_CONCURRENT, pname:srcQueueFamilyIndex and pname:dstQueueFamilyIndex must: both be ename:VK_QUEUE_FAMILY_IGNORED -* If pname:buffer was created with a sharing mode of ename:VK_SHARING_MODE_EXCLUSIVE, pname:srcQueueFamilyIndex and pname:dstQueueFamilyIndex must: either both be ename:VK_QUEUE_FAMILY_IGNORED, or both be a valid queue family (see <>) -* If pname:buffer was created with a sharing mode of ename:VK_SHARING_MODE_EXCLUSIVE, and pname:srcQueueFamilyIndex and pname:dstQueueFamilyIndex are valid queue families, at least one of them must: be the same as the family of the queue that will execute this barrier -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkBufferViewCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkBufferViewCreateInfo.txt deleted file mode 100644 index adae18c6..00000000 --- a/doc/specs/vulkan/validity/structs/VkBufferViewCreateInfo.txt +++ /dev/null @@ -1,28 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -* pname:buffer must: be a valid sname:VkBuffer handle -* pname:format must: be a valid elink:VkFormat value -* pname:offset must: be less than the size of pname:buffer -* pname:offset must: be a multiple of sname:VkPhysicalDeviceLimits::pname:minTexelBufferOffsetAlignment -* If pname:range is not equal to ename:VK_WHOLE_SIZE: - ** pname:range must: be greater than `0` - ** pname:range must: be a multiple of the element size of pname:format - ** pname:range divided by the size of an element of pname:format, must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxTexelBufferElements - ** the sum of pname:offset and pname:range must: be less than or equal to the size of pname:buffer -* pname:buffer must: have been created with a pname:usage value containing at least one of ename:VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT or ename:VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT -* If pname:buffer was created with pname:usage containing ename:VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT, pname:format must: be supported for uniform texel buffers, as specified by the ename:VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT flag in sname:VkFormatProperties::pname:bufferFeatures returned by fname:vkGetPhysicalDeviceFormatProperties -* If pname:buffer was created with pname:usage containing ename:VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT, pname:format must: be supported for storage texel buffers, as specified by the ename:VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT flag in sname:VkFormatProperties::pname:bufferFeatures returned by fname:vkGetPhysicalDeviceFormatProperties -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkClearAttachment.txt b/doc/specs/vulkan/validity/structs/VkClearAttachment.txt deleted file mode 100644 index c9f422a3..00000000 --- a/doc/specs/vulkan/validity/structs/VkClearAttachment.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:aspectMask must: be a valid combination of elink:VkImageAspectFlagBits values -* pname:aspectMask mustnot: be `0` -* If pname:aspectMask includes ename:VK_IMAGE_ASPECT_COLOR_BIT, it mustnot: include ename:VK_IMAGE_ASPECT_DEPTH_BIT or ename:VK_IMAGE_ASPECT_STENCIL_BIT -* pname:aspectMask mustnot: include ename:VK_IMAGE_ASPECT_METADATA_BIT -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkClearColorValue.txt b/doc/specs/vulkan/validity/structs/VkClearColorValue.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkClearColorValue.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkClearDepthStencilValue.txt b/doc/specs/vulkan/validity/structs/VkClearDepthStencilValue.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkClearDepthStencilValue.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkClearRect.txt b/doc/specs/vulkan/validity/structs/VkClearRect.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkClearRect.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkClearValue.txt b/doc/specs/vulkan/validity/structs/VkClearValue.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkClearValue.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkCommandBufferAllocateInfo.txt b/doc/specs/vulkan/validity/structs/VkCommandBufferAllocateInfo.txt deleted file mode 100644 index 922e44f7..00000000 --- a/doc/specs/vulkan/validity/structs/VkCommandBufferAllocateInfo.txt +++ /dev/null @@ -1,18 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO -* pname:pNext must: be `NULL` -* pname:commandPool must: be a valid sname:VkCommandPool handle -* pname:level must: be a valid elink:VkCommandBufferLevel value -* pname:commandBufferCount must: be greater than `0` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkCommandBufferBeginInfo.txt b/doc/specs/vulkan/validity/structs/VkCommandBufferBeginInfo.txt deleted file mode 100644 index e356fc19..00000000 --- a/doc/specs/vulkan/validity/structs/VkCommandBufferBeginInfo.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be a valid combination of elink:VkCommandBufferUsageFlagBits values -* If pname:flags contains ename:VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT, the pname:renderPass member of pname:pInheritanceInfo must: be a valid sname:VkRenderPass -* If pname:flags contains ename:VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT, the pname:subpass member of pname:pInheritanceInfo must: be a valid subpass index within the pname:renderPass member of pname:pInheritanceInfo -* If pname:flags contains ename:VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT, the pname:framebuffer member of pname:pInheritanceInfo must: be either dlink:VK_NULL_HANDLE, or a valid sname:VkFramebuffer that is compatible with the pname:renderPass member of pname:pInheritanceInfo -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkCommandBufferInheritanceInfo.txt b/doc/specs/vulkan/validity/structs/VkCommandBufferInheritanceInfo.txt deleted file mode 100644 index 40729c8c..00000000 --- a/doc/specs/vulkan/validity/structs/VkCommandBufferInheritanceInfo.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO -* pname:pNext must: be `NULL` -* Both of pname:framebuffer, and pname:renderPass that are valid handles must: have been created, allocated, or retrieved from the same sname:VkDevice -* If the <> feature is not enabled, pname:occlusionQueryEnable must: be ename:VK_FALSE -* If the <> feature is enabled, pname:queryFlags must: be a valid combination of elink:VkQueryControlFlagBits values -* If the <> feature is not enabled, pname:pipelineStatistics must: be code:0 -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkCommandPoolCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkCommandPoolCreateInfo.txt deleted file mode 100644 index 597982dd..00000000 --- a/doc/specs/vulkan/validity/structs/VkCommandPoolCreateInfo.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be a valid combination of elink:VkCommandPoolCreateFlagBits values -* pname:queueFamilyIndex must: be the index of a queue family available in the calling command's pname:device parameter -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkComponentMapping.txt b/doc/specs/vulkan/validity/structs/VkComponentMapping.txt deleted file mode 100644 index be86560f..00000000 --- a/doc/specs/vulkan/validity/structs/VkComponentMapping.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:r must: be a valid elink:VkComponentSwizzle value -* pname:g must: be a valid elink:VkComponentSwizzle value -* pname:b must: be a valid elink:VkComponentSwizzle value -* pname:a must: be a valid elink:VkComponentSwizzle value -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkComputePipelineCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkComputePipelineCreateInfo.txt deleted file mode 100644 index 5c1ae476..00000000 --- a/doc/specs/vulkan/validity/structs/VkComputePipelineCreateInfo.txt +++ /dev/null @@ -1,27 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be a valid combination of elink:VkPipelineCreateFlagBits values -* pname:stage must: be a valid sname:VkPipelineShaderStageCreateInfo structure -* pname:layout must: be a valid sname:VkPipelineLayout handle -* Both of pname:basePipelineHandle, and pname:layout that are valid handles must: have been created, allocated, or retrieved from the same sname:VkDevice -* If pname:flags contains the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and pname:basePipelineIndex is not `-1`, pname:basePipelineHandle must: be dlink:VK_NULL_HANDLE -* If pname:flags contains the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and pname:basePipelineIndex is not `-1`, it must: be a valid index into the calling command's pname:pCreateInfos parameter -* If pname:flags contains the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and pname:basePipelineHandle is not dlink:VK_NULL_HANDLE, pname:basePipelineIndex must: be `-1` -* If pname:flags contains the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and pname:basePipelineHandle is not dlink:VK_NULL_HANDLE, pname:basePipelineHandle must: be a valid sname:VkPipeline handle -* If pname:flags contains the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and pname:basePipelineHandle is not dlink:VK_NULL_HANDLE, it must: be a valid handle to a compute sname:VkPipeline -* The pname:stage member of pname:stage must: be ename:VK_SHADER_STAGE_COMPUTE_BIT -* The shader code for the entry point identified by pname:stage and the rest of the state identified by this structure must: adhere to the pipeline linking rules described in the <> chapter -* pname:layout must: be <> with all shaders specified in pname:pStages -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkCopyDescriptorSet.txt b/doc/specs/vulkan/validity/structs/VkCopyDescriptorSet.txt deleted file mode 100644 index 93a92e86..00000000 --- a/doc/specs/vulkan/validity/structs/VkCopyDescriptorSet.txt +++ /dev/null @@ -1,23 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET -* pname:pNext must: be `NULL` -* pname:srcSet must: be a valid sname:VkDescriptorSet handle -* pname:dstSet must: be a valid sname:VkDescriptorSet handle -* Both of pname:dstSet, and pname:srcSet must: have been created, allocated, or retrieved from the same sname:VkDevice -* pname:srcBinding must: be a valid binding within pname:srcSet -* The sum of pname:srcArrayElement and pname:descriptorCount must: be less than or equal to the number of array elements in the descriptor set binding specified by pname:srcBinding, and all applicable consecutive bindings, as described by <> -* pname:dstBinding must: be a valid binding within pname:dstSet -* The sum of pname:dstArrayElement and pname:descriptorCount must: be less than or equal to the number of array elements in the descriptor set binding specified by pname:dstBinding, and all applicable consecutive bindings, as described by <> -* If pname:srcSet is equal to pname:dstSet, then the source and destination ranges of descriptors mustnot: overlap, where the ranges may: include array elements from consecutive bindings as described by <> -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkDescriptorBufferInfo.txt b/doc/specs/vulkan/validity/structs/VkDescriptorBufferInfo.txt deleted file mode 100644 index 358aa781..00000000 --- a/doc/specs/vulkan/validity/structs/VkDescriptorBufferInfo.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:buffer must: be a valid sname:VkBuffer handle -* pname:offset must: be less than the size of pname:buffer -* If pname:range is not equal to ename:VK_WHOLE_SIZE, pname:range must: be greater than `0` -* If pname:range is not equal to ename:VK_WHOLE_SIZE, pname:range must: be less than or equal to the size of pname:buffer minus pname:offset -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkDescriptorImageInfo.txt b/doc/specs/vulkan/validity/structs/VkDescriptorImageInfo.txt deleted file mode 100644 index 84c37f77..00000000 --- a/doc/specs/vulkan/validity/structs/VkDescriptorImageInfo.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* Both of pname:imageView, and pname:sampler that are valid handles must: have been created, allocated, or retrieved from the same sname:VkDevice -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkDescriptorPoolCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkDescriptorPoolCreateInfo.txt deleted file mode 100644 index 46c74674..00000000 --- a/doc/specs/vulkan/validity/structs/VkDescriptorPoolCreateInfo.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be a valid combination of elink:VkDescriptorPoolCreateFlagBits values -* pname:pPoolSizes must: be a pointer to an array of pname:poolSizeCount valid sname:VkDescriptorPoolSize structures -* pname:poolSizeCount must: be greater than `0` -* pname:maxSets must: be greater than `0` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkDescriptorPoolSize.txt b/doc/specs/vulkan/validity/structs/VkDescriptorPoolSize.txt deleted file mode 100644 index cc83098a..00000000 --- a/doc/specs/vulkan/validity/structs/VkDescriptorPoolSize.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:type must: be a valid elink:VkDescriptorType value -* pname:descriptorCount must: be greater than `0` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkDescriptorSetAllocateInfo.txt b/doc/specs/vulkan/validity/structs/VkDescriptorSetAllocateInfo.txt deleted file mode 100644 index f7e05b37..00000000 --- a/doc/specs/vulkan/validity/structs/VkDescriptorSetAllocateInfo.txt +++ /dev/null @@ -1,21 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO -* pname:pNext must: be `NULL` -* pname:descriptorPool must: be a valid sname:VkDescriptorPool handle -* pname:pSetLayouts must: be a pointer to an array of pname:descriptorSetCount valid sname:VkDescriptorSetLayout handles -* pname:descriptorSetCount must: be greater than `0` -* Both of pname:descriptorPool, and the elements of pname:pSetLayouts must: have been created, allocated, or retrieved from the same sname:VkDevice -* pname:descriptorSetCount mustnot: be greater than the number of sets that are currently available for allocation in pname:descriptorPool -* pname:descriptorPool must: have enough free descriptor capacity remaining to allocate the descriptor sets of the specified layouts -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkDescriptorSetLayoutBinding.txt b/doc/specs/vulkan/validity/structs/VkDescriptorSetLayoutBinding.txt deleted file mode 100644 index 0dbf46cb..00000000 --- a/doc/specs/vulkan/validity/structs/VkDescriptorSetLayoutBinding.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:descriptorType must: be a valid elink:VkDescriptorType value -* If pname:descriptorType is ename:VK_DESCRIPTOR_TYPE_SAMPLER or ename:VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, and pname:descriptorCount is not `0` and pname:pImmutableSamplers is not `NULL`, pname:pImmutableSamplers must: be a pointer to an array of pname:descriptorCount valid sname:VkSampler handles -* If pname:descriptorCount is not `0`, pname:stageFlags must: be a valid combination of elink:VkShaderStageFlagBits values -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkDescriptorSetLayoutCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkDescriptorSetLayoutCreateInfo.txt deleted file mode 100644 index 721e9fe9..00000000 --- a/doc/specs/vulkan/validity/structs/VkDescriptorSetLayoutCreateInfo.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -* If pname:bindingCount is not `0`, pname:pBindings must: be a pointer to an array of pname:bindingCount valid sname:VkDescriptorSetLayoutBinding structures -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkDeviceCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkDeviceCreateInfo.txt deleted file mode 100644 index 6a4c202c..00000000 --- a/doc/specs/vulkan/validity/structs/VkDeviceCreateInfo.txt +++ /dev/null @@ -1,22 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -* pname:pQueueCreateInfos must: be a pointer to an array of pname:queueCreateInfoCount valid sname:VkDeviceQueueCreateInfo structures -* If pname:enabledLayerCount is not `0`, pname:ppEnabledLayerNames must: be a pointer to an array of pname:enabledLayerCount null-terminated strings -* If pname:enabledExtensionCount is not `0`, pname:ppEnabledExtensionNames must: be a pointer to an array of pname:enabledExtensionCount null-terminated strings -* If pname:pEnabledFeatures is not `NULL`, pname:pEnabledFeatures must: be a pointer to a valid sname:VkPhysicalDeviceFeatures structure -* pname:queueCreateInfoCount must: be greater than `0` -* The pname:queueFamilyIndex member of any given element of pname:pQueueCreateInfos must: be unique within pname:pQueueCreateInfos -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkDeviceQueueCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkDeviceQueueCreateInfo.txt deleted file mode 100644 index 36761547..00000000 --- a/doc/specs/vulkan/validity/structs/VkDeviceQueueCreateInfo.txt +++ /dev/null @@ -1,21 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -* pname:pQueuePriorities must: be a pointer to an array of pname:queueCount basetype:float values -* pname:queueCount must: be greater than `0` -* pname:queueFamilyIndex must: be less than pname:pQueueFamilyPropertyCount returned by fname:vkGetPhysicalDeviceQueueFamilyProperties -* pname:queueCount must: be less than or equal to the pname:queueCount member of the sname:VkQueueFamilyProperties structure, as returned by fname:vkGetPhysicalDeviceQueueFamilyProperties in the pname:pQueueFamilyProperties[pname:queueFamilyIndex] -* Each element of pname:pQueuePriorities must: be between `0.0` and `1.0` inclusive -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkDispatchIndirectCommand.txt b/doc/specs/vulkan/validity/structs/VkDispatchIndirectCommand.txt deleted file mode 100644 index f9eb1522..00000000 --- a/doc/specs/vulkan/validity/structs/VkDispatchIndirectCommand.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:x must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxComputeWorkGroupCount[0] -* pname:y must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxComputeWorkGroupCount[1] -* pname:z must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxComputeWorkGroupCount[2] -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkDrawIndexedIndirectCommand.txt b/doc/specs/vulkan/validity/structs/VkDrawIndexedIndirectCommand.txt deleted file mode 100644 index b5cac0df..00000000 --- a/doc/specs/vulkan/validity/structs/VkDrawIndexedIndirectCommand.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* For a given vertex buffer binding, any attribute data fetched must: be entirely contained within the corresponding vertex buffer binding, as described in <> -* (pname:indexSize * (pname:firstIndex + pname:indexCount) + pname:offset) must: be less than or equal to the size of the currently bound index buffer, with pname:indexSize being based on the type specified by pname:indexType, where the index buffer, pname:indexType, and pname:offset are specified via fname:vkCmdBindIndexBuffer -* If the <> feature is not enabled, pname:firstInstance must: be code:0 -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkDrawIndirectCommand.txt b/doc/specs/vulkan/validity/structs/VkDrawIndirectCommand.txt deleted file mode 100644 index 39302589..00000000 --- a/doc/specs/vulkan/validity/structs/VkDrawIndirectCommand.txt +++ /dev/null @@ -1,15 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* For a given vertex buffer binding, any attribute data fetched must: be entirely contained within the corresponding vertex buffer binding, as described in <> -* If the <> feature is not enabled, pname:firstInstance must: be code:0 -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkEventCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkEventCreateInfo.txt deleted file mode 100644 index 0884aed3..00000000 --- a/doc/specs/vulkan/validity/structs/VkEventCreateInfo.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_EVENT_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkExtensionProperties.txt b/doc/specs/vulkan/validity/structs/VkExtensionProperties.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkExtensionProperties.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkExtent2D.txt b/doc/specs/vulkan/validity/structs/VkExtent2D.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkExtent2D.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkExtent3D.txt b/doc/specs/vulkan/validity/structs/VkExtent3D.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkExtent3D.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkFenceCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkFenceCreateInfo.txt deleted file mode 100644 index c5291eb8..00000000 --- a/doc/specs/vulkan/validity/structs/VkFenceCreateInfo.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_FENCE_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be a valid combination of elink:VkFenceCreateFlagBits values -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkFormatProperties.txt b/doc/specs/vulkan/validity/structs/VkFormatProperties.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkFormatProperties.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkFramebufferCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkFramebufferCreateInfo.txt deleted file mode 100644 index 3f320fe3..00000000 --- a/doc/specs/vulkan/validity/structs/VkFramebufferCreateInfo.txt +++ /dev/null @@ -1,31 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -* pname:renderPass must: be a valid sname:VkRenderPass handle -* If pname:attachmentCount is not `0`, pname:pAttachments must: be a pointer to an array of pname:attachmentCount valid sname:VkImageView handles -* Both of pname:renderPass, and the elements of pname:pAttachments that are valid handles must: have been created, allocated, or retrieved from the same sname:VkDevice -* pname:attachmentCount must: be equal to the attachment count specified in pname:renderPass -* Any given element of pname:pAttachments that is used as a color attachment or resolve attachment by pname:renderPass must: have been created with a pname:usage value including ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT -* Any given element of pname:pAttachments that is used as a depth/stencil attachment by pname:renderPass must: have been created with a pname:usage value including ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT -* Any given element of pname:pAttachments that is used as an input attachment by pname:renderPass must: have been created with a pname:usage value including ename:VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT -* Any given element of pname:pAttachments must: have been created with an elink:VkFormat value that matches the elink:VkFormat specified by the corresponding sname:VkAttachmentDescription in pname:renderPass -* Any given element of pname:pAttachments must: have been created with a pname:samples value that matches the pname:samples value specified by the corresponding sname:VkAttachmentDescription in pname:renderPass -* Any given element of pname:pAttachments must: have dimensions at least as large as the corresponding framebuffer dimension -* Any given element of pname:pAttachments must: only specify a single mip-level -* Any given element of pname:pAttachments must: have been created with the identity swizzle -* pname:width must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxFramebufferWidth -* pname:height must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxFramebufferHeight -* pname:layers must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxFramebufferLayers -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkGraphicsPipelineCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkGraphicsPipelineCreateInfo.txt deleted file mode 100644 index ded17ef4..00000000 --- a/doc/specs/vulkan/validity/structs/VkGraphicsPipelineCreateInfo.txt +++ /dev/null @@ -1,64 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be a valid combination of elink:VkPipelineCreateFlagBits values -* pname:pStages must: be a pointer to an array of pname:stageCount valid sname:VkPipelineShaderStageCreateInfo structures -* pname:pVertexInputState must: be a pointer to a valid sname:VkPipelineVertexInputStateCreateInfo structure -* pname:pInputAssemblyState must: be a pointer to a valid sname:VkPipelineInputAssemblyStateCreateInfo structure -* pname:pRasterizationState must: be a pointer to a valid sname:VkPipelineRasterizationStateCreateInfo structure -* If pname:pDynamicState is not `NULL`, pname:pDynamicState must: be a pointer to a valid sname:VkPipelineDynamicStateCreateInfo structure -* pname:layout must: be a valid sname:VkPipelineLayout handle -* pname:renderPass must: be a valid sname:VkRenderPass handle -* pname:stageCount must: be greater than `0` -* Each of pname:basePipelineHandle, pname:layout, and pname:renderPass that are valid handles must: have been created, allocated, or retrieved from the same sname:VkDevice -* If pname:flags contains the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and pname:basePipelineIndex is not `-1`, pname:basePipelineHandle must: be dlink:VK_NULL_HANDLE -* If pname:flags contains the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and pname:basePipelineIndex is not `-1`, it must: be a valid index into the calling command's pname:pCreateInfos parameter -* If pname:flags contains the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and pname:basePipelineHandle is not dlink:VK_NULL_HANDLE, pname:basePipelineIndex must: be `-1` -* If pname:flags contains the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and pname:basePipelineHandle is not dlink:VK_NULL_HANDLE, pname:basePipelineHandle must: be a valid sname:VkPipeline handle -* If pname:flags contains the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and pname:basePipelineHandle is not dlink:VK_NULL_HANDLE, it must: be a valid handle to a graphics sname:VkPipeline -* The pname:stage member of each element of pname:pStages must: be unique -* The pname:stage member of one element of pname:pStages must: be ename:VK_SHADER_STAGE_VERTEX_BIT -* The pname:stage member of any given element of pname:pStages mustnot: be ename:VK_SHADER_STAGE_COMPUTE_BIT -* If pname:pStages includes a tessellation control shader stage, it must: include a tessellation evaluation shader stage -* If pname:pStages includes a tessellation evaluation shader stage, it must: include a tessellation control shader stage -* If pname:pStages includes a tessellation control shader stage and a tessellation evaluation shader stage, pname:pTessellationState mustnot: be `NULL` -* If pname:pStages includes tessellation shader stages, the shader code of at least one stage must: contain an code:OpExecutionMode instruction that specifies the type of subdivision in the pipeline -* If pname:pStages includes tessellation shader stages, and the shader code of both stages contain an code:OpExecutionMode instruction that specifies the type of subdivision in the pipeline, they must: both specify the same subdivision mode -* If pname:pStages includes tessellation shader stages, the shader code of at least one stage must: contain an code:OpExecutionMode instruction that specifies the output patch size in the pipeline -* If pname:pStages includes tessellation shader stages, and the shader code of both contain an code:OpExecutionMode instruction that specifies the out patch size in the pipeline, they must: both specify the same patch size -* If pname:pStages includes tessellation shader stages, the pname:topology member of pname:pInputAssembly must: be ename:VK_PRIMITIVE_TOPOLOGY_PATCH_LIST -* If the pname:topology member of pname:pInputAssembly is ename:VK_PRIMITIVE_TOPOLOGY_PATCH_LIST, pname:pStages must: include tessellation shader stages -* If pname:pStages includes a geometry shader stage, and does not include any tessellation shader stages, its shader code must: contain an code:OpExecutionMode instruction that specifies an input primitive type that is <> with the primitive topology specified in pname:pInputAssembly -* If pname:pStages includes a geometry shader stage, and also includes tessellation shader stages, its shader code must: contain an code:OpExecutionMode instruction that specifies an input primitive type that is <> with the primitive topology that is output by the tessellation stages -* If pname:pStages includes a fragment shader stage and a geometry shader stage, and the fragment shader code reads from an input variable that is decorated with code:PrimitiveID, then the geometry shader code must: write to a matching output variable, decorated with code:PrimitiveID, in all execution paths -* If pname:pStages includes a fragment shader stage, its shader code mustnot: read from any input attachment that is defined as ename:VK_ATTACHMENT_UNUSED in pname:subpass -* The shader code for the entry points identified by pname:pStages, and the rest of the state identified by this structure must: adhere to the pipeline linking rules described in the <> chapter -* If pname:subpass uses a depth/stencil attachment in pname:renderpass that has a layout of ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL in the sname:VkAttachmentReference defined by pname:subpass, and pname:pDepthStencilState is not `NULL`, the pname:depthWriteEnable member of pname:pDepthStencilState must: be ename:VK_FALSE -* If pname:subpass uses a depth/stencil attachment in pname:renderpass that has a layout of ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL in the sname:VkAttachmentReference defined by pname:subpass, and pname:pDepthStencilState is not `NULL`, the pname:failOp, pname:passOp and pname:depthFailOp members of each of the pname:front and pname:back members of pname:pDepthStencilState must: be ename:VK_STENCIL_OP_KEEP -* If pname:pColorBlendState is not `NULL`, the pname:blendEnable member of each element of the pname:pAttachment member of pname:pColorBlendState must: be ename:VK_FALSE if the pname:format of the attachment referred to in pname:subpass of pname:renderPass does not support color blend operations, as specified by the ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT flag in sname:VkFormatProperties::pname:linearTilingFeatures or sname:VkFormatProperties::pname:optimalTilingFeatures returned by fname:vkGetPhysicalDeviceFormatProperties -* If pname:pColorBlendState is not `NULL`, The pname:attachmentCount member of pname:pColorBlendState must: be equal to the pname:colorAttachmentCount used to create pname:subpass -* If no element of the pname:pDynamicStates member of pname:pDynamicState is ename:VK_DYNAMIC_STATE_VIEWPORT, the pname:pViewports member of pname:pViewportState must: be a pointer to an array of pname:pViewportState->viewportCount sname:VkViewport structures -* If no element of the pname:pDynamicStates member of pname:pDynamicState is ename:VK_DYNAMIC_STATE_SCISSOR, the pname:pScissors member of pname:pViewportState must: be a pointer to an array of pname:pViewportState->scissorCount sname:VkRect2D structures -* If the wide lines feature is not enabled, and no element of the pname:pDynamicStates member of pname:pDynamicState is ename:VK_DYNAMIC_STATE_LINE_WIDTH, the pname:lineWidth member of pname:pRasterizationState must: be `1.0` -* If the pname:rasterizerDiscardEnable member of pname:pRasterizationState is ename:VK_FALSE, pname:pViewportState must: be a pointer to a valid sname:VkPipelineViewportStateCreateInfo structure -* If the pname:rasterizerDiscardEnable member of pname:pRasterizationState is ename:VK_FALSE, pname:pMultisampleState must: be a pointer to a valid sname:VkPipelineMultisampleStateCreateInfo structure -* If the pname:rasterizerDiscardEnable member of pname:pRasterizationState is ename:VK_FALSE, and pname:subpass uses a depth/stencil attachment, pname:pDepthStencilState must: be a pointer to a valid sname:VkPipelineDepthStencilStateCreateInfo structure -* If the pname:rasterizerDiscardEnable member of pname:pRasterizationState is ename:VK_FALSE, and pname:subpass uses color attachments, pname:pColorBlendState must: be a pointer to a valid sname:VkPipelineColorBlendStateCreateInfo structure -* If the depth bias clamping feature is not enabled, no element of the pname:pDynamicStates member of pname:pDynamicState is ename:VK_DYNAMIC_STATE_DEPTH_BIAS, and the pname:depthBiasEnable member of pname:pDepthStencil is ename:VK_TRUE, the pname:depthBiasClamp member of pname:pDepthStencil must: be `0.0` -* If no element of the pname:pDynamicStates member of pname:pDynamicState is ename:VK_DYNAMIC_STATE_DEPTH_BOUNDS, and the pname:depthBoundsTestEnable member of pname:pDepthStencil is ename:VK_TRUE, the pname:minDepthBounds and pname:maxDepthBounds members of pname:pDepthStencil must: be between `0.0` and `1.0`, inclusive -* pname:layout must: be <> with all shaders specified in pname:pStages -* If pname:subpass uses color and/or depth/stencil attachments, then the pname:rasterizationSamples member of pname:pMultisampleState must: be the same as the sample count for those subpass attachments -* If pname:subpass does not use any color and/or depth/stencil attachments, then the pname:rasterizationSamples member of pname:pMultisampleState must: follow the rules for a <> -* pname:subpass must: be a valid subpass within pname:renderpass -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkImageBlit.txt b/doc/specs/vulkan/validity/structs/VkImageBlit.txt deleted file mode 100644 index 3b27c0c9..00000000 --- a/doc/specs/vulkan/validity/structs/VkImageBlit.txt +++ /dev/null @@ -1,27 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:srcSubresource must: be a valid sname:VkImageSubresourceLayers structure -* pname:dstSubresource must: be a valid sname:VkImageSubresourceLayers structure -* The pname:aspectMask member of pname:srcSubresource and pname:dstSubresource must: match -* The pname:layerCount member of pname:srcSubresource and pname:dstSubresource must: match -* If either of the calling command's pname:srcImage or pname:dstImage parameters are of elink:VkImageType ename:VK_IMAGE_TYPE_3D, the pname:baseArrayLayer and pname:layerCount members of both pname:srcSubresource and pname:dstSubresource must: be `0` and `1`, respectively -* The pname:aspectMask member of pname:srcSubresource must: specify aspects present in the calling command's pname:srcImage -* The pname:aspectMask member of pname:dstSubresource must: specify aspects present in the calling command's pname:dstImage -* The pname:layerCount member of pname:dstSubresource must: be equal to the pname:layerCount member of pname:srcSubresource -* pname:srcOffset[0].x and pname:srcOffset[1].x must: both be greater than or equal to `0` and less than or equal to the source image subresource width -* pname:srcOffset[0].y and pname:srcOffset[1].y must: both be greater than or equal to `0` and less than or equal to the source image subresource height -* pname:srcOffset[0].z and pname:srcOffset[1].z must: both be greater than or equal to `0` and less than or equal to the source image subresource depth -* pname:dstOffset[0].x and pname:dstOffset[1].x must: both be greater than or equal to `0` and less than or equal to the destination image subresource width -* pname:dstOffset[0].y and pname:dstOffset[1].y must: both be greater than or equal to `0` and less than or equal to the destination image subresource height -* pname:dstOffset[0].z and pname:dstOffset[1].z must: both be greater than or equal to `0` and less than or equal to the destination image subresource depth -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkImageCopy.txt b/doc/specs/vulkan/validity/structs/VkImageCopy.txt deleted file mode 100644 index fca2cdf4..00000000 --- a/doc/specs/vulkan/validity/structs/VkImageCopy.txt +++ /dev/null @@ -1,37 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:srcSubresource must: be a valid sname:VkImageSubresourceLayers structure -* pname:dstSubresource must: be a valid sname:VkImageSubresourceLayers structure -* The pname:aspectMask member of pname:srcSubresource and pname:dstSubresource must: match -* The pname:layerCount member of pname:srcSubresource and pname:dstSubresource must: match -* If either of the calling command's pname:srcImage or pname:dstImage parameters are of elink:VkImageType ename:VK_IMAGE_TYPE_3D, the pname:baseArrayLayer and pname:layerCount members of both pname:srcSubresource and pname:dstSubresource must: be `0` and `1`, respectively -* The pname:aspectMask member of pname:srcSubresource must: specify aspects present in the calling command's pname:srcImage -* The pname:aspectMask member of pname:dstSubresource must: specify aspects present in the calling command's pname:dstImage -* pname:srcOffset.x and (pname:extent.width + pname:srcOffset.x) must: both be greater than or equal to `0` and less than or equal to the source image subresource width -* pname:srcOffset.y and (pname:extent.height + pname:srcOffset.y) must: both be greater than or equal to `0` and less than or equal to the source image subresource height -* pname:srcOffset.z and (pname:extent.depth + pname:srcOffset.z) must: both be greater than or equal to `0` and less than or equal to the source image subresource depth -* pname:dstOffset.x and (pname:extent.width + pname:dstOffset.x) must: both be greater than or equal to `0` and less than or equal to the destination image subresource width -* pname:dstOffset.y and (pname:extent.height + pname:dstOffset.y) must: both be greater than or equal to `0` and less than or equal to the destination image subresource height -* pname:dstOffset.z and (pname:extent.depth + pname:dstOffset.z) must: both be greater than or equal to `0` and less than or equal to the destination image subresource depth -* If the calling command's pname:srcImage is a compressed format image: - ** all members of pname:srcOffset must: be a multiple of the corresponding dimensions of the compressed texel block - ** pname:extent.width must: be a multiple of the compressed texel block width or (pname:extent.width + pname:srcOffset.x) must: equal the source image subresource width - ** pname:extent.height must: be a multiple of the compressed texel block height or (pname:extent.height + pname:srcOffset.y) must: equal the source image subresource height - ** pname:extent.depth must: be a multiple of the compressed texel block depth or (pname:extent.depth + pname:srcOffset.z) must: equal the source image subresource depth -* If the calling command's pname:dstImage is a compressed format image: - ** all members of pname:dstOffset must: be a multiple of the corresponding dimensions of the compressed texel block - ** pname:extent.width must: be a multiple of the compressed texel block width or (pname:extent.width + pname:dstOffset.x) must: equal the destination image subresource width - ** pname:extent.height must: be a multiple of the compressed texel block height or (pname:extent.height + pname:dstOffset.y) must: equal the destination image subresource height - ** pname:extent.depth must: be a multiple of the compressed texel block depth or (pname:extent.depth + pname:dstOffset.z) must: equal the destination image subresource depth -* pname:srcOffset, pname:dstOffset, and pname:extent must: respect the image transfer granularity requirements of the queue family that it will be submitted against, as described in <> -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkImageCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkImageCreateInfo.txt deleted file mode 100644 index fbdee935..00000000 --- a/doc/specs/vulkan/validity/structs/VkImageCreateInfo.txt +++ /dev/null @@ -1,67 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be a valid combination of elink:VkImageCreateFlagBits values -* pname:imageType must: be a valid elink:VkImageType value -* pname:format must: be a valid elink:VkFormat value -* pname:samples must: be a valid elink:VkSampleCountFlagBits value -* pname:tiling must: be a valid elink:VkImageTiling value -* pname:usage must: be a valid combination of elink:VkImageUsageFlagBits values -* pname:usage mustnot: be `0` -* pname:sharingMode must: be a valid elink:VkSharingMode value -* pname:initialLayout must: be a valid elink:VkImageLayout value -* If pname:sharingMode is ename:VK_SHARING_MODE_CONCURRENT, pname:pQueueFamilyIndices must: be a pointer to an array of pname:queueFamilyIndexCount basetype:uint32_t values -* If pname:sharingMode is ename:VK_SHARING_MODE_CONCURRENT, pname:queueFamilyIndexCount must: be greater than `1` -* pname:format mustnot: be ename:VK_FORMAT_UNDEFINED -* The pname:width, pname:height, and pname:depth members of pname:extent must: all be greater than `0` -* pname:mipLevels must: be greater than `0` -* pname:arrayLayers must: be greater than `0` -* If pname:flags contains ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT, pname:imageType must be ename:VK_IMAGE_TYPE_2D -* If pname:imageType is ename:VK_IMAGE_TYPE_1D, pname:extent.width must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxImageDimension1D, or sname:VkImageFormatProperties::pname:maxExtent.width (as returned by fname:vkGetPhysicalDeviceImageFormatProperties with pname:format, pname:type, pname:tiling, pname:usage, and pname:flags equal to those in this structure) - whichever is higher -* If pname:imageType is ename:VK_IMAGE_TYPE_2D and pname:flags does not contain ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT, pname:extent.width and pname:extent.height must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxImageDimension2D, or sname:VkImageFormatProperties::pname:maxExtent.width/height (as returned by fname:vkGetPhysicalDeviceImageFormatProperties with pname:format, pname:type, pname:tiling, pname:usage, and pname:flags equal to those in this structure) - whichever is higher -* If pname:imageType is ename:VK_IMAGE_TYPE_2D and pname:flags contains ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT, pname:extent.width and pname:extent.height must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxImageDimensionCube, or sname:VkImageFormatProperties::pname:maxExtent.width/height (as returned by fname:vkGetPhysicalDeviceImageFormatProperties with pname:format, pname:type, pname:tiling, pname:usage, and pname:flags equal to those in this structure) - whichever is higher -* If pname:imageType is ename:VK_IMAGE_TYPE_2D and pname:flags contains ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT, pname:extent.width and pname:extent.height must: be equal -* If pname:imageType is ename:VK_IMAGE_TYPE_3D, pname:extent.width, pname:extent.height and pname:extent.depth must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxImageDimension3D, or sname:VkImageFormatProperties::pname:maxExtent.width/height/depth (as returned by fname:vkGetPhysicalDeviceImageFormatProperties with pname:format, pname:type, pname:tiling, pname:usage, and pname:flags equal to those in this structure) - whichever is higher -* If pname:imageType is ename:VK_IMAGE_TYPE_1D, both pname:extent.height and pname:extent.depth must: be `1` -* If pname:imageType is ename:VK_IMAGE_TYPE_2D, pname:extent.depth must: be `1` -* pname:mipLevels must: be less than or equal to latexmath:[$\lfloor\log_2(\max(\mathit{extent.width}, \mathit{extent.height}, \mathit{extent.depth}))\rfloor + 1$] -* If any of pname:extent.width, pname:extent.height, or pname:extent.depth are greater than the equivalently named members of sname:VkPhysicalDeviceLimits::pname:maxImageDimension3D, pname:mipLevels must: be less than or equal to sname:VkImageFormatProperties::pname:maxMipLevels (as returned by fname:vkGetPhysicalDeviceImageFormatProperties with pname:format, pname:type, pname:tiling, pname:usage, and pname:flags equal to those in this structure) -* pname:arrayLayers must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxImageArrayLayers, or sname:VkImageFormatProperties::pname:maxArrayLayers (as returned by fname:vkGetPhysicalDeviceImageFormatProperties with pname:format, pname:type, pname:tiling, pname:usage, and pname:flags equal to those in this structure) - whichever is higher -* If pname:samples is not ename:VK_SAMPLE_COUNT_1_BIT, pname:imageType must: be ename:VK_IMAGE_TYPE_2D, pname:tiling must: be ename:VK_IMAGE_TILING_OPTIMAL, and pname:mipLevels must: be equal to `1` -* If pname:usage includes ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, ename:VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT, or ename:VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT, pname:extent.width must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxFramebufferWidth -* If pname:usage includes ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, ename:VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT, or ename:VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT, pname:extent.height must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxFramebufferHeight -* pname:samples must: be a bit value that is set in sname:VkImageFormatProperties::pname:sampleCounts returned by fname:vkGetPhysicalDeviceImageFormatProperties with pname:format, pname:type, pname:tiling, pname:usage, and pname:flags equal to those in this structure -* If the <> feature is not enabled, pname:format mustnot: be ename:VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK, ename:VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK, ename:VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK, ename:VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK, ename:VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK, ename:VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK, ename:VK_FORMAT_EAC_R11_UNORM_BLOCK, ename:VK_FORMAT_EAC_R11_SNORM_BLOCK, ename:VK_FORMAT_EAC_R11G11_UNORM_BLOCK, or ename:VK_FORMAT_EAC_R11G11_SNORM_BLOCK -* If the <> feature is not enabled, pname:format mustnot: be ename:VK_FORMAT_ASTC_4x4_UNORM_BLOCK, ename:VK_FORMAT_ASTC_4x4_SRGB_BLOCK, ename:VK_FORMAT_ASTC_5x4_UNORM_BLOCK, ename:VK_FORMAT_ASTC_5x4_SRGB_BLOCK, ename:VK_FORMAT_ASTC_5x5_UNORM_BLOCK, ename:VK_FORMAT_ASTC_5x5_SRGB_BLOCK, ename:VK_FORMAT_ASTC_6x5_UNORM_BLOCK, ename:VK_FORMAT_ASTC_6x5_SRGB_BLOCK, ename:VK_FORMAT_ASTC_6x6_UNORM_BLOCK, ename:VK_FORMAT_ASTC_6x6_SRGB_BLOCK, ename:VK_FORMAT_ASTC_8x5_UNORM_BLOCK, ename:VK_FORMAT_ASTC_8x5_SRGB_BLOCK, ename:VK_FORMAT_ASTC_8x6_UNORM_BLOCK, ename:VK_FORMAT_ASTC_8x6_SRGB_BLOCK, ename:VK_FORMAT_ASTC_8x8_UNORM_BLOCK, ename:VK_FORMAT_ASTC_8x8_SRGB_BLOCK, ename:VK_FORMAT_ASTC_10x5_UNORM_BLOCK, ename:VK_FORMAT_ASTC_10x5_SRGB_BLOCK, ename:VK_FORMAT_ASTC_10x6_UNORM_BLOCK, ename:VK_FORMAT_ASTC_10x6_SRGB_BLOCK, ename:VK_FORMAT_ASTC_10x8_UNORM_BLOCK, ename:VK_FORMAT_ASTC_10x8_SRGB_BLOCK, ename:VK_FORMAT_ASTC_10x10_UNORM_BLOCK, ename:VK_FORMAT_ASTC_10x10_SRGB_BLOCK, ename:VK_FORMAT_ASTC_12x10_UNORM_BLOCK, ename:VK_FORMAT_ASTC_12x10_SRGB_BLOCK, ename:VK_FORMAT_ASTC_12x12_UNORM_BLOCK, or ename:VK_FORMAT_ASTC_12x12_SRGB_BLOCK -* If the <> feature is not enabled, pname:format mustnot: be ename:VK_FORMAT_BC1_RGB_UNORM_BLOCK, ename:VK_FORMAT_BC1_RGB_SRGB_BLOCK, ename:VK_FORMAT_BC1_RGBA_UNORM_BLOCK, ename:VK_FORMAT_BC1_RGBA_SRGB_BLOCK, ename:VK_FORMAT_BC2_UNORM_BLOCK, ename:VK_FORMAT_BC2_SRGB_BLOCK, ename:VK_FORMAT_BC3_UNORM_BLOCK, ename:VK_FORMAT_BC3_SRGB_BLOCK, ename:VK_FORMAT_BC4_UNORM_BLOCK, ename:VK_FORMAT_BC4_SNORM_BLOCK, ename:VK_FORMAT_BC5_UNORM_BLOCK, ename:VK_FORMAT_BC5_SNORM_BLOCK, ename:VK_FORMAT_BC6H_UFLOAT_BLOCK, ename:VK_FORMAT_BC6H_SFLOAT_BLOCK, ename:VK_FORMAT_BC7_UNORM_BLOCK, or ename:VK_FORMAT_BC7_SRGB_BLOCK -* If the <> feature is not enabled, and pname:usage contains ename:VK_IMAGE_USAGE_STORAGE_BIT, pname:samples must: be ename:VK_SAMPLE_COUNT_1_BIT -* If the <> feature is not enabled, pname:flags mustnot: contain ename:VK_IMAGE_CREATE_SPARSE_BINDING_BIT -* If the <> feature is not enabled, and pname:imageType is ename:VK_IMAGE_TYPE_2D, pname:flags mustnot: contain ename:VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT -* If the <> feature is not enabled, and pname:imageType is ename:VK_IMAGE_TYPE_3D, pname:flags mustnot: contain ename:VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT -* If the <> feature is not enabled, pname:imageType is ename:VK_IMAGE_TYPE_2D, and pname:samples is ename:VK_SAMPLE_COUNT_2_BIT, pname:flags mustnot: contain ename:VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT -* If the <> feature is not enabled, pname:imageType is ename:VK_IMAGE_TYPE_2D, and pname:samples is ename:VK_SAMPLE_COUNT_4_BIT, pname:flags mustnot: contain ename:VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT -* If the <> feature is not enabled, pname:imageType is ename:VK_IMAGE_TYPE_2D, and pname:samples is ename:VK_SAMPLE_COUNT_8_BIT, pname:flags mustnot: contain ename:VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT -* If the <> feature is not enabled, pname:imageType is ename:VK_IMAGE_TYPE_2D, and pname:samples is ename:VK_SAMPLE_COUNT_16_BIT, pname:flags mustnot: contain ename:VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT -* If pname:tiling is ename:VK_IMAGE_TILING_LINEAR, pname:format must: be a format that has at least one supported feature bit present in the value of sname:VkFormatProperties::pname:linearTilingFeatures returned by fname:vkGetPhysicalDeviceFormatProperties with the same value of pname:format -* If pname:tiling is ename:VK_IMAGE_TILING_LINEAR, and sname:VkFormatProperties::pname:linearTilingFeatures (as returned by fname:vkGetPhysicalDeviceFormatProperties with the same value of pname:format) does not include ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT, pname:usage mustnot: contain ename:VK_IMAGE_USAGE_SAMPLED_BIT -* If pname:tiling is ename:VK_IMAGE_TILING_LINEAR, and sname:VkFormatProperties::pname:linearTilingFeatures (as returned by fname:vkGetPhysicalDeviceFormatProperties with the same value of pname:format) does not include ename:VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT, pname:usage mustnot: contain ename:VK_IMAGE_USAGE_STORAGE_BIT -* If pname:tiling is ename:VK_IMAGE_TILING_LINEAR, and sname:VkFormatProperties::pname:linearTilingFeatures (as returned by fname:vkGetPhysicalDeviceFormatProperties with the same value of pname:format) does not include ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT, pname:usage mustnot: contain ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT -* If pname:tiling is ename:VK_IMAGE_TILING_LINEAR, and sname:VkFormatProperties::pname:linearTilingFeatures (as returned by fname:vkGetPhysicalDeviceFormatProperties with the same value of pname:format) does not include ename:VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT, pname:usage mustnot: contain ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT -* If pname:tiling is ename:VK_IMAGE_TILING_OPTIMAL, pname:format must: be a format that has at least one supported feature bit present in the value of sname:VkFormatProperties::pname:optimalTilingFeatures returned by fname:vkGetPhysicalDeviceFormatProperties with the same value of pname:format -* If pname:tiling is ename:VK_IMAGE_TILING_OPTIMAL, and sname:VkFormatProperties::pname:optimalTilingFeatures (as returned by fname:vkGetPhysicalDeviceFormatProperties with the same value of pname:format) does not include ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT, pname:usage mustnot: contain ename:VK_IMAGE_USAGE_SAMPLED_BIT -* If pname:tiling is ename:VK_IMAGE_TILING_OPTIMAL, and sname:VkFormatProperties::pname:optimalTilingFeatures (as returned by fname:vkGetPhysicalDeviceFormatProperties with the same value of pname:format) does not include ename:VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT, pname:usage mustnot: contain ename:VK_IMAGE_USAGE_STORAGE_BIT -* If pname:tiling is ename:VK_IMAGE_TILING_OPTIMAL, and sname:VkFormatProperties::pname:optimalTilingFeatures (as returned by fname:vkGetPhysicalDeviceFormatProperties with the same value of pname:format) does not include ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT, pname:usage mustnot: contain ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT -* If pname:tiling is ename:VK_IMAGE_TILING_OPTIMAL, and sname:VkFormatProperties::pname:optimalTilingFeatures (as returned by fname:vkGetPhysicalDeviceFormatProperties with the same value of pname:format) does not include ename:VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT, pname:usage mustnot: contain ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT -* If pname:flags contains ename:VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT or ename:VK_IMAGE_CREATE_SPARSE_ALIASED_BIT, it must: also contain ename:VK_IMAGE_CREATE_SPARSE_BINDING_BIT -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkImageFormatProperties.txt b/doc/specs/vulkan/validity/structs/VkImageFormatProperties.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkImageFormatProperties.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkImageMemoryBarrier.txt b/doc/specs/vulkan/validity/structs/VkImageMemoryBarrier.txt deleted file mode 100644 index 311e43ed..00000000 --- a/doc/specs/vulkan/validity/structs/VkImageMemoryBarrier.txt +++ /dev/null @@ -1,34 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER -* pname:pNext must: be `NULL` -* pname:srcAccessMask must: be a valid combination of elink:VkAccessFlagBits values -* pname:dstAccessMask must: be a valid combination of elink:VkAccessFlagBits values -* pname:oldLayout must: be a valid elink:VkImageLayout value -* pname:newLayout must: be a valid elink:VkImageLayout value -* pname:image must: be a valid sname:VkImage handle -* pname:subresourceRange must: be a valid sname:VkImageSubresourceRange structure -* pname:oldLayout must: be ename:VK_IMAGE_LAYOUT_UNDEFINED or the current layout of the image subresources affected by the barrier -* pname:newLayout mustnot: be ename:VK_IMAGE_LAYOUT_UNDEFINED or ename:VK_IMAGE_LAYOUT_PREINITIALIZED -* If pname:image was created with a sharing mode of ename:VK_SHARING_MODE_CONCURRENT, pname:srcQueueFamilyIndex and pname:dstQueueFamilyIndex must: both be ename:VK_QUEUE_FAMILY_IGNORED -* If pname:image was created with a sharing mode of ename:VK_SHARING_MODE_EXCLUSIVE, pname:srcQueueFamilyIndex and pname:dstQueueFamilyIndex must: either both be ename:VK_QUEUE_FAMILY_IGNORED, or both be a valid queue family (see <>) -* If pname:image was created with a sharing mode of ename:VK_SHARING_MODE_EXCLUSIVE, and pname:srcQueueFamilyIndex and pname:dstQueueFamilyIndex are valid queue families, at least one of them must: be the same as the family of the queue that will execute this barrier -* pname:subresourceRange must: be a valid image subresource range for the image (see <>) -* If pname:image has a depth/stencil format with both depth and stencil components, then pname:aspectMask member of pname:subresourceRange must: include both ename:VK_IMAGE_ASPECT_DEPTH_BIT and ename:VK_IMAGE_ASPECT_STENCIL_BIT -* If either pname:oldLayout or pname:newLayout is ename:VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL then pname:image must: have been created with ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT set -* If either pname:oldLayout or pname:newLayout is ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL then pname:image must: have been created with ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT set -* If either pname:oldLayout or pname:newLayout is ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL then pname:image must: have been created with ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT set -* If either pname:oldLayout or pname:newLayout is ename:VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL then pname:image must: have been created with ename:VK_IMAGE_USAGE_SAMPLED_BIT or ename:VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT set -* If either pname:oldLayout or pname:newLayout is ename:VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL then pname:image must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_SRC_BIT set -* If either pname:oldLayout or pname:newLayout is ename:VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL then pname:image must: have been created with ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT set -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkImageResolve.txt b/doc/specs/vulkan/validity/structs/VkImageResolve.txt deleted file mode 100644 index 1255485a..00000000 --- a/doc/specs/vulkan/validity/structs/VkImageResolve.txt +++ /dev/null @@ -1,18 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:srcSubresource must: be a valid sname:VkImageSubresourceLayers structure -* pname:dstSubresource must: be a valid sname:VkImageSubresourceLayers structure -* The pname:aspectMask member of pname:srcSubresource and pname:dstSubresource must: only contain ename:VK_IMAGE_ASPECT_COLOR_BIT -* The pname:layerCount member of pname:srcSubresource and pname:dstSubresource must: match -* If either of the calling command's pname:srcImage or pname:dstImage parameters are of elink:VkImageType ename:VK_IMAGE_TYPE_3D, the pname:baseArrayLayer and pname:layerCount members of both pname:srcSubresource and pname:dstSubresource must: be `0` and `1`, respectively -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkImageSubresource.txt b/doc/specs/vulkan/validity/structs/VkImageSubresource.txt deleted file mode 100644 index c6b6d565..00000000 --- a/doc/specs/vulkan/validity/structs/VkImageSubresource.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:aspectMask must: be a valid combination of elink:VkImageAspectFlagBits values -* pname:aspectMask mustnot: be `0` -* pname:mipLevel must: be less than the pname:mipLevels specified in slink:VkImageCreateInfo when the image was created -* pname:arrayLayer must: be less than the pname:arrayLayers specified in slink:VkImageCreateInfo when the image was created -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkImageSubresourceLayers.txt b/doc/specs/vulkan/validity/structs/VkImageSubresourceLayers.txt deleted file mode 100644 index c70b6c48..00000000 --- a/doc/specs/vulkan/validity/structs/VkImageSubresourceLayers.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:aspectMask must: be a valid combination of elink:VkImageAspectFlagBits values -* pname:aspectMask mustnot: be `0` -* If pname:aspectMask contains ename:VK_IMAGE_ASPECT_COLOR_BIT, it mustnot: contain either of ename:VK_IMAGE_ASPECT_DEPTH_BIT or ename:VK_IMAGE_ASPECT_STENCIL_BIT -* pname:aspectMask mustnot: contain ename:VK_IMAGE_ASPECT_METADATA_BIT -* pname:mipLevel must: be less than the pname:mipLevels specified in slink:VkImageCreateInfo when the image was created -* latexmath:[$(baseArrayLayer + layerCount)$] must: be less than or equal to the pname:arrayLayers specified in slink:VkImageCreateInfo when the image was created -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkImageSubresourceRange.txt b/doc/specs/vulkan/validity/structs/VkImageSubresourceRange.txt deleted file mode 100644 index 554c3a37..00000000 --- a/doc/specs/vulkan/validity/structs/VkImageSubresourceRange.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:aspectMask must: be a valid combination of elink:VkImageAspectFlagBits values -* pname:aspectMask mustnot: be `0` -* If pname:levelCount is not ename:VK_REMAINING_MIP_LEVELS, latexmath:[$(baseMipLevel + levelCount)$] must: be less than or equal to the pname:mipLevels specified in slink:VkImageCreateInfo when the image was created -* If pname:layerCount is not ename:VK_REMAINING_ARRAY_LAYERS, latexmath:[$(baseArrayLayer + layerCount)$] must: be less than or equal to the pname:arrayLayers specified in slink:VkImageCreateInfo when the image was created -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkImageViewCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkImageViewCreateInfo.txt deleted file mode 100644 index cba998ed..00000000 --- a/doc/specs/vulkan/validity/structs/VkImageViewCreateInfo.txt +++ /dev/null @@ -1,40 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -* pname:image must: be a valid sname:VkImage handle -* pname:viewType must: be a valid elink:VkImageViewType value -* pname:format must: be a valid elink:VkFormat value -* pname:components must: be a valid sname:VkComponentMapping structure -* pname:subresourceRange must: be a valid sname:VkImageSubresourceRange structure -* If pname:image was not created with ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT then pname:viewType mustnot: be ename:VK_IMAGE_VIEW_TYPE_CUBE or ename:VK_IMAGE_VIEW_TYPE_CUBE_ARRAY -* If the <> feature is not enabled, pname:viewType mustnot: be ename:VK_IMAGE_VIEW_TYPE_CUBE_ARRAY -* If the <> feature is not enabled, pname:format mustnot: be ename:VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK, ename:VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK, ename:VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK, ename:VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK, ename:VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK, ename:VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK, ename:VK_FORMAT_EAC_R11_UNORM_BLOCK, ename:VK_FORMAT_EAC_R11_SNORM_BLOCK, ename:VK_FORMAT_EAC_R11G11_UNORM_BLOCK, or ename:VK_FORMAT_EAC_R11G11_SNORM_BLOCK -* If the <> feature is not enabled, pname:format mustnot: be ename:VK_FORMAT_ASTC_4x4_UNORM_BLOCK, ename:VK_FORMAT_ASTC_4x4_SRGB_BLOCK, ename:VK_FORMAT_ASTC_5x4_UNORM_BLOCK, ename:VK_FORMAT_ASTC_5x4_SRGB_BLOCK, ename:VK_FORMAT_ASTC_5x5_UNORM_BLOCK, ename:VK_FORMAT_ASTC_5x5_SRGB_BLOCK, ename:VK_FORMAT_ASTC_6x5_UNORM_BLOCK, ename:VK_FORMAT_ASTC_6x5_SRGB_BLOCK, ename:VK_FORMAT_ASTC_6x6_UNORM_BLOCK, ename:VK_FORMAT_ASTC_6x6_SRGB_BLOCK, ename:VK_FORMAT_ASTC_8x5_UNORM_BLOCK, ename:VK_FORMAT_ASTC_8x5_SRGB_BLOCK, ename:VK_FORMAT_ASTC_8x6_UNORM_BLOCK, ename:VK_FORMAT_ASTC_8x6_SRGB_BLOCK, ename:VK_FORMAT_ASTC_8x8_UNORM_BLOCK, ename:VK_FORMAT_ASTC_8x8_SRGB_BLOCK, ename:VK_FORMAT_ASTC_10x5_UNORM_BLOCK, ename:VK_FORMAT_ASTC_10x5_SRGB_BLOCK, ename:VK_FORMAT_ASTC_10x6_UNORM_BLOCK, ename:VK_FORMAT_ASTC_10x6_SRGB_BLOCK, ename:VK_FORMAT_ASTC_10x8_UNORM_BLOCK, ename:VK_FORMAT_ASTC_10x8_SRGB_BLOCK, ename:VK_FORMAT_ASTC_10x10_UNORM_BLOCK, ename:VK_FORMAT_ASTC_10x10_SRGB_BLOCK, ename:VK_FORMAT_ASTC_12x10_UNORM_BLOCK, ename:VK_FORMAT_ASTC_12x10_SRGB_BLOCK, ename:VK_FORMAT_ASTC_12x12_UNORM_BLOCK, or ename:VK_FORMAT_ASTC_12x12_SRGB_BLOCK -* If the <> feature is not enabled, pname:format mustnot: be ename:VK_FORMAT_BC1_RGB_UNORM_BLOCK, ename:VK_FORMAT_BC1_RGB_SRGB_BLOCK, ename:VK_FORMAT_BC1_RGBA_UNORM_BLOCK, ename:VK_FORMAT_BC1_RGBA_SRGB_BLOCK, ename:VK_FORMAT_BC2_UNORM_BLOCK, ename:VK_FORMAT_BC2_SRGB_BLOCK, ename:VK_FORMAT_BC3_UNORM_BLOCK, ename:VK_FORMAT_BC3_SRGB_BLOCK, ename:VK_FORMAT_BC4_UNORM_BLOCK, ename:VK_FORMAT_BC4_SNORM_BLOCK, ename:VK_FORMAT_BC5_UNORM_BLOCK, ename:VK_FORMAT_BC5_SNORM_BLOCK, ename:VK_FORMAT_BC6H_UFLOAT_BLOCK, ename:VK_FORMAT_BC6H_SFLOAT_BLOCK, ename:VK_FORMAT_BC7_UNORM_BLOCK, or ename:VK_FORMAT_BC7_SRGB_BLOCK -* If pname:image was created with ename:VK_IMAGE_TILING_LINEAR, pname:format must: be format that has at least one supported feature bit present in the value of sname:VkFormatProperties::pname:linearTilingFeatures returned by fname:vkGetPhysicalDeviceFormatProperties with the same value of pname:format -* If pname:image was created with ename:VK_IMAGE_TILING_LINEAR and pname:usage containing ename:VK_IMAGE_USAGE_SAMPLED_BIT, pname:format must: be supported for sampled images, as specified by the ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT flag in sname:VkFormatProperties::pname:linearTilingFeatures returned by fname:vkGetPhysicalDeviceFormatProperties with the same value of pname:format -* If pname:image was created with ename:VK_IMAGE_TILING_LINEAR and pname:usage containing ename:VK_IMAGE_USAGE_STORAGE_BIT, pname:format must: be supported for storage images, as specified by the ename:VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT flag in sname:VkFormatProperties::pname:linearTilingFeatures returned by fname:vkGetPhysicalDeviceFormatProperties with the same value of pname:format -* If pname:image was created with ename:VK_IMAGE_TILING_LINEAR and pname:usage containing ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, pname:format must: be supported for color attachments, as specified by the ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT flag in sname:VkFormatProperties::pname:linearTilingFeatures returned by fname:vkGetPhysicalDeviceFormatProperties with the same value of pname:format -* If pname:image was created with ename:VK_IMAGE_TILING_LINEAR and pname:usage containing ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, pname:format must: be supported for depth/stencil attachments, as specified by the ename:VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT flag in sname:VkFormatProperties::pname:linearTilingFeatures returned by fname:vkGetPhysicalDeviceFormatProperties with the same value of pname:format -* If pname:image was created with ename:VK_IMAGE_TILING_OPTIMAL, pname:format must: be format that has at least one supported feature bit present in the value of sname:VkFormatProperties::pname:optimalTilingFeatures returned by fname:vkGetPhysicalDeviceFormatProperties with the same value of pname:format -* If pname:image was created with ename:VK_IMAGE_TILING_OPTIMAL and pname:usage containing ename:VK_IMAGE_USAGE_SAMPLED_BIT, pname:format must: be supported for sampled images, as specified by the ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT flag in sname:VkFormatProperties::pname:optimalTilingFeatures returned by fname:vkGetPhysicalDeviceFormatProperties with the same value of pname:format -* If pname:image was created with ename:VK_IMAGE_TILING_OPTIMAL and pname:usage containing ename:VK_IMAGE_USAGE_STORAGE_BIT, pname:format must: be supported for storage images, as specified by the ename:VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT flag in sname:VkFormatProperties::pname:optimalTilingFeatures returned by fname:vkGetPhysicalDeviceFormatProperties with the same value of pname:format -* If pname:image was created with ename:VK_IMAGE_TILING_OPTIMAL and pname:usage containing ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, pname:format must: be supported for color attachments, as specified by the ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT flag in sname:VkFormatProperties::pname:optimalTilingFeatures returned by fname:vkGetPhysicalDeviceFormatProperties with the same value of pname:format -* If pname:image was created with ename:VK_IMAGE_TILING_OPTIMAL and pname:usage containing ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, pname:format must: be supported for depth/stencil attachments, as specified by the ename:VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT flag in sname:VkFormatProperties::pname:optimalTilingFeatures returned by fname:vkGetPhysicalDeviceFormatProperties with the same value of pname:format -* pname:subresourceRange must: be a valid image subresource range for pname:image (see <>) -* If pname:image was created with the ename:VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT flag, pname:format must: be compatible with the pname:format used to create pname:image, as defined in <> -* If pname:image was not created with the ename:VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT flag, pname:format must: be identical to the pname:format used to create pname:image -* pname:subResourceRange and pname:viewType must: be compatible with the image, as described in the <> -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkInstanceCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkInstanceCreateInfo.txt deleted file mode 100644 index 861660c5..00000000 --- a/doc/specs/vulkan/validity/structs/VkInstanceCreateInfo.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -* If pname:pApplicationInfo is not `NULL`, pname:pApplicationInfo must: be a pointer to a valid sname:VkApplicationInfo structure -* If pname:enabledLayerCount is not `0`, pname:ppEnabledLayerNames must: be a pointer to an array of pname:enabledLayerCount null-terminated strings -* If pname:enabledExtensionCount is not `0`, pname:ppEnabledExtensionNames must: be a pointer to an array of pname:enabledExtensionCount null-terminated strings -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkLayerProperties.txt b/doc/specs/vulkan/validity/structs/VkLayerProperties.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkLayerProperties.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkMappedMemoryRange.txt b/doc/specs/vulkan/validity/structs/VkMappedMemoryRange.txt deleted file mode 100644 index 4384fe95..00000000 --- a/doc/specs/vulkan/validity/structs/VkMappedMemoryRange.txt +++ /dev/null @@ -1,21 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE -* pname:pNext must: be `NULL` -* pname:memory must: be a valid sname:VkDeviceMemory handle -* pname:memory must: currently be mapped -* If pname:size is not equal to ename:VK_WHOLE_SIZE, pname:offset and pname:size must: specify a range contained within the currently mapped range of pname:memory -* If pname:size is equal to ename:VK_WHOLE_SIZE, pname:offset must: be within the currently mapped range of pname:memory -* pname:offset must: be a multiple of sname:VkPhysicalDeviceLimits::pname:nonCoherentAtomSize -* If pname:size is not equal to ename:VK_WHOLE_SIZE, pname:size must: be a multiple of sname:VkPhysicalDeviceLimits::pname:nonCoherentAtomSize -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkMemoryAllocateInfo.txt b/doc/specs/vulkan/validity/structs/VkMemoryAllocateInfo.txt deleted file mode 100644 index 865f77fc..00000000 --- a/doc/specs/vulkan/validity/structs/VkMemoryAllocateInfo.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO -* pname:pNext must: be `NULL` -* pname:allocationSize must: be less than or equal to the amount of memory available to the sname:VkMemoryHeap specified by pname:memoryTypeIndex and the calling command's sname:VkDevice -* pname:allocationSize must: be greater than `0` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkMemoryBarrier.txt b/doc/specs/vulkan/validity/structs/VkMemoryBarrier.txt deleted file mode 100644 index d6b42f09..00000000 --- a/doc/specs/vulkan/validity/structs/VkMemoryBarrier.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_MEMORY_BARRIER -* pname:pNext must: be `NULL` -* pname:srcAccessMask must: be a valid combination of elink:VkAccessFlagBits values -* pname:dstAccessMask must: be a valid combination of elink:VkAccessFlagBits values -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkMemoryHeap.txt b/doc/specs/vulkan/validity/structs/VkMemoryHeap.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkMemoryHeap.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkMemoryRequirements.txt b/doc/specs/vulkan/validity/structs/VkMemoryRequirements.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkMemoryRequirements.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkMemoryType.txt b/doc/specs/vulkan/validity/structs/VkMemoryType.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkMemoryType.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkOffset2D.txt b/doc/specs/vulkan/validity/structs/VkOffset2D.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkOffset2D.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkOffset3D.txt b/doc/specs/vulkan/validity/structs/VkOffset3D.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkOffset3D.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkPhysicalDeviceFeatures.txt b/doc/specs/vulkan/validity/structs/VkPhysicalDeviceFeatures.txt deleted file mode 100644 index 15eeba4e..00000000 --- a/doc/specs/vulkan/validity/structs/VkPhysicalDeviceFeatures.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* If any member of this structure is ename:VK_FALSE, as returned by flink:vkGetPhysicalDeviceFeatures, then it must: be ename:VK_FALSE when passed as part of the sname:VkDeviceCreateInfo struct when creating a device -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkPhysicalDeviceLimits.txt b/doc/specs/vulkan/validity/structs/VkPhysicalDeviceLimits.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkPhysicalDeviceLimits.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkPhysicalDeviceMemoryProperties.txt b/doc/specs/vulkan/validity/structs/VkPhysicalDeviceMemoryProperties.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkPhysicalDeviceMemoryProperties.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkPhysicalDeviceProperties.txt b/doc/specs/vulkan/validity/structs/VkPhysicalDeviceProperties.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkPhysicalDeviceProperties.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkPhysicalDeviceSparseProperties.txt b/doc/specs/vulkan/validity/structs/VkPhysicalDeviceSparseProperties.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkPhysicalDeviceSparseProperties.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkPipelineCacheCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkPipelineCacheCreateInfo.txt deleted file mode 100644 index 114a83b5..00000000 --- a/doc/specs/vulkan/validity/structs/VkPipelineCacheCreateInfo.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -* If pname:initialDataSize is not `0`, pname:pInitialData must: be a pointer to an array of pname:initialDataSize bytes -* If pname:initialDataSize is not `0`, it must: be equal to the size of pname:pInitialData, as returned by fname:vkGetPipelineCacheData when pname:pInitialData was originally retrieved -* If pname:initialDataSize is not `0`, pname:pInitialData must: have been retrieved from a previous call to fname:vkGetPipelineCacheData -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkPipelineColorBlendAttachmentState.txt b/doc/specs/vulkan/validity/structs/VkPipelineColorBlendAttachmentState.txt deleted file mode 100644 index ac66cd9d..00000000 --- a/doc/specs/vulkan/validity/structs/VkPipelineColorBlendAttachmentState.txt +++ /dev/null @@ -1,24 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:srcColorBlendFactor must: be a valid elink:VkBlendFactor value -* pname:dstColorBlendFactor must: be a valid elink:VkBlendFactor value -* pname:colorBlendOp must: be a valid elink:VkBlendOp value -* pname:srcAlphaBlendFactor must: be a valid elink:VkBlendFactor value -* pname:dstAlphaBlendFactor must: be a valid elink:VkBlendFactor value -* pname:alphaBlendOp must: be a valid elink:VkBlendOp value -* pname:colorWriteMask must: be a valid combination of elink:VkColorComponentFlagBits values -* If the <> feature is not enabled, pname:srcColorBlendFactor mustnot: be ename:VK_BLEND_FACTOR_SRC1_COLOR, ename:VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR, ename:VK_BLEND_FACTOR_SRC1_ALPHA, or ename:VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA -* If the <> feature is not enabled, pname:dstColorBlendFactor mustnot: be ename:VK_BLEND_FACTOR_SRC1_COLOR, ename:VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR, ename:VK_BLEND_FACTOR_SRC1_ALPHA, or ename:VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA -* If the <> feature is not enabled, pname:srcAlphaBlendFactor mustnot: be ename:VK_BLEND_FACTOR_SRC1_COLOR, ename:VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR, ename:VK_BLEND_FACTOR_SRC1_ALPHA, or ename:VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA -* If the <> feature is not enabled, pname:dstAlphaBlendFactor mustnot: be ename:VK_BLEND_FACTOR_SRC1_COLOR, ename:VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR, ename:VK_BLEND_FACTOR_SRC1_ALPHA, or ename:VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkPipelineColorBlendStateCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkPipelineColorBlendStateCreateInfo.txt deleted file mode 100644 index 0671356f..00000000 --- a/doc/specs/vulkan/validity/structs/VkPipelineColorBlendStateCreateInfo.txt +++ /dev/null @@ -1,20 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -* If pname:attachmentCount is not `0`, pname:pAttachments must: be a pointer to an array of pname:attachmentCount valid sname:VkPipelineColorBlendAttachmentState structures -* If the <> feature is not enabled, all elements of pname:pAttachments must: be identical -* If the <> feature is not enabled, pname:logicOpEnable must: be ename:VK_FALSE -* If pname:logicOpEnable is ename:VK_TRUE, pname:logicOp must: be a valid elink:VkLogicOp value -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkPipelineDepthStencilStateCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkPipelineDepthStencilStateCreateInfo.txt deleted file mode 100644 index 71b9fdec..00000000 --- a/doc/specs/vulkan/validity/structs/VkPipelineDepthStencilStateCreateInfo.txt +++ /dev/null @@ -1,20 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -* pname:depthCompareOp must: be a valid elink:VkCompareOp value -* pname:front must: be a valid sname:VkStencilOpState structure -* pname:back must: be a valid sname:VkStencilOpState structure -* If the <> feature is not enabled, pname:depthBoundsTestEnable must: be ename:VK_FALSE -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkPipelineDynamicStateCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkPipelineDynamicStateCreateInfo.txt deleted file mode 100644 index 0d65c32b..00000000 --- a/doc/specs/vulkan/validity/structs/VkPipelineDynamicStateCreateInfo.txt +++ /dev/null @@ -1,18 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -* pname:pDynamicStates must: be a pointer to an array of pname:dynamicStateCount valid elink:VkDynamicState values -* pname:dynamicStateCount must: be greater than `0` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkPipelineInputAssemblyStateCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkPipelineInputAssemblyStateCreateInfo.txt deleted file mode 100644 index c14fcd6a..00000000 --- a/doc/specs/vulkan/validity/structs/VkPipelineInputAssemblyStateCreateInfo.txt +++ /dev/null @@ -1,20 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -* pname:topology must: be a valid elink:VkPrimitiveTopology value -* If pname:topology is ename:VK_PRIMITIVE_TOPOLOGY_POINT_LIST, ename:VK_PRIMITIVE_TOPOLOGY_LINE_LIST, ename:VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST, ename:VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY, ename:VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY or ename:VK_PRIMITIVE_TOPOLOGY_PATCH_LIST, pname:primitiveRestartEnable must: be ename:VK_FALSE -* If the <> feature is not enabled, pname:topology mustnot: be any of ename:VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY, ename:VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY, ename:VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY or ename:VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY -* If the <> feature is not enabled, pname:topology mustnot: be ename:VK_PRIMITIVE_TOPOLOGY_PATCH_LIST -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkPipelineLayoutCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkPipelineLayoutCreateInfo.txt deleted file mode 100644 index d45862a6..00000000 --- a/doc/specs/vulkan/validity/structs/VkPipelineLayoutCreateInfo.txt +++ /dev/null @@ -1,24 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -* If pname:setLayoutCount is not `0`, pname:pSetLayouts must: be a pointer to an array of pname:setLayoutCount valid sname:VkDescriptorSetLayout handles -* If pname:pushConstantRangeCount is not `0`, pname:pPushConstantRanges must: be a pointer to an array of pname:pushConstantRangeCount valid sname:VkPushConstantRange structures -* pname:setLayoutCount must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxBoundDescriptorSets -* The total number of descriptors of the type ename:VK_DESCRIPTOR_TYPE_SAMPLER and ename:VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER accessible to any given shader stage across all elements of pname:pSetLayouts must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxPerStageDescriptorSamplers -* The total number of descriptors of the type ename:VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER and ename:VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC accessible to any given shader stage across all elements of pname:pSetLayouts must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxPerStageDescriptorUniformBuffers -* The total number of descriptors of the type ename:VK_DESCRIPTOR_TYPE_STORAGE_BUFFER and ename:VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC accessible to any given shader stage across all elements of pname:pSetLayouts must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxPerStageDescriptorStorageBuffers -* The total number of descriptors of the type ename:VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, ename:VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, and ename:VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER accessible to any given shader stage across all elements of pname:pSetLayouts must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxPerStageDescriptorSampledImages -* The total number of descriptors of the type ename:VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, and ename:VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER accessible to any given shader stage across all elements of pname:pSetLayouts must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxPerStageDescriptorStorageImages -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkPipelineMultisampleStateCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkPipelineMultisampleStateCreateInfo.txt deleted file mode 100644 index f56a27a1..00000000 --- a/doc/specs/vulkan/validity/structs/VkPipelineMultisampleStateCreateInfo.txt +++ /dev/null @@ -1,21 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -* pname:rasterizationSamples must: be a valid elink:VkSampleCountFlagBits value -* If pname:pSampleMask is not `NULL`, pname:pSampleMask must: be a pointer to an array of latexmath:[$\lceil{\mathit{rasterizationSamples} \over 32}\rceil$] basetype:VkSampleMask values -* If the <> feature is not enabled, pname:sampleShadingEnable must: be ename:VK_FALSE -* If the <> feature is not enabled, pname:alphaToOneEnable must: be ename:VK_FALSE -* pname:minSampleShading must: be in the range latexmath:[$[0,1\]$] -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkPipelineRasterizationStateCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkPipelineRasterizationStateCreateInfo.txt deleted file mode 100644 index ae46cfdc..00000000 --- a/doc/specs/vulkan/validity/structs/VkPipelineRasterizationStateCreateInfo.txt +++ /dev/null @@ -1,21 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -* pname:polygonMode must: be a valid elink:VkPolygonMode value -* pname:cullMode must: be a valid combination of elink:VkCullModeFlagBits values -* pname:frontFace must: be a valid elink:VkFrontFace value -* If the <> feature is not enabled, pname:depthClampEnable must: be ename:VK_FALSE -* If the <> feature is not enabled, pname:polygonMode must: be ename:VK_POLYGON_MODE_FILL -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkPipelineShaderStageCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkPipelineShaderStageCreateInfo.txt deleted file mode 100644 index dd836b5f..00000000 --- a/doc/specs/vulkan/validity/structs/VkPipelineShaderStageCreateInfo.txt +++ /dev/null @@ -1,36 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -* pname:stage must: be a valid elink:VkShaderStageFlagBits value -* pname:module must: be a valid sname:VkShaderModule handle -* pname:pName must: be a null-terminated string -* If pname:pSpecializationInfo is not `NULL`, pname:pSpecializationInfo must: be a pointer to a valid sname:VkSpecializationInfo structure -* If the <> feature is not enabled, pname:stage mustnot: be ename:VK_SHADER_STAGE_GEOMETRY_BIT -* If the <> feature is not enabled, pname:stage mustnot: be ename:VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT or ename:VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT -* pname:stage mustnot: be ename:VK_SHADER_STAGE_ALL_GRAPHICS, or ename:VK_SHADER_STAGE_ALL -* pname:pName must: be the name of an code:OpEntryPoint in pname:module with an execution model that matches pname:stage -* If the identified entry point includes any variable in its interface that is declared with the code:ClipDistance code:BuiltIn decoration, that variable mustnot: have an array size greater than sname:VkPhysicalDeviceLimits::pname:maxClipDistances -* If the identified entry point includes any variable in its interface that is declared with the code:CullDistance code:BuiltIn decoration, that variable mustnot: have an array size greater than sname:VkPhysicalDeviceLimits::pname:maxCullDistances -* If the identified entry point includes any variables in its interface that are declared with the code:ClipDistance or code:CullDistance code:BuiltIn decoration, those variables mustnot: have array sizes which sum to more than sname:VkPhysicalDeviceLimits::pname:maxCombinedClipAndCullDistances -* If the identified entry point includes any variable in its interface that is declared with the code:SampleMask code:BuiltIn decoration, that variable mustnot: have an array size greater than sname:VkPhysicalDeviceLimits::pname:maxSampleMaskWords -* If pname:stage is ename:VK_SHADER_STAGE_VERTEX_BIT, the identified entry point mustnot: include any input variable in its interface that is decorated with code:CullDistance -* If pname:stage is ename:VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT or ename:VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT, and the identified entry point has an code:OpExecutionMode instruction that specifies a patch size with code:OutputVertices, the patch size must: be greater than `0` and less than or equal to sname:VkPhysicalDeviceLimits::pname:maxTessellationPatchSize -* If pname:stage is ename:VK_SHADER_STAGE_GEOMETRY_BIT, the identified entry point must: have an code:OpExecutionMode instruction that specifies a maximum output vertex count that is greater than `0` and less than or equal to sname:VkPhysicalDeviceLimits::pname:maxGeometryOutputVertices -* If pname:stage is ename:VK_SHADER_STAGE_GEOMETRY_BIT, the identified entry point must: have an code:OpExecutionMode instruction that specifies an invocation count that is greater than `0` and less than or equal to sname:VkPhysicalDeviceLimits::pname:maxGeometryShaderInvocations -* If pname:stage is ename:VK_SHADER_STAGE_GEOMETRY_BIT, and the identified entry point writes to code:Layer for any primitive, it must: write the same value to code:Layer for all vertices of a given primitive -* If pname:stage is ename:VK_SHADER_STAGE_GEOMETRY_BIT, and the identified entry point writes to code:ViewportIndex for any primitive, it must: write the same value to code:ViewportIndex for all vertices of a given primitive -* If pname:stage is ename:VK_SHADER_STAGE_FRAGMENT_BIT, the identified entry point mustnot: include any output variables in its interface decorated with code:CullDistance -* If pname:stage is ename:VK_SHADER_STAGE_FRAGMENT_BIT, and the identified entry point writes to code:FragDepth in any execution path, it must: write to code:FragDepth in all execution paths -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkPipelineTessellationStateCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkPipelineTessellationStateCreateInfo.txt deleted file mode 100644 index f0f7eb54..00000000 --- a/doc/specs/vulkan/validity/structs/VkPipelineTessellationStateCreateInfo.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -* pname:patchControlPoints must: be greater than zero and less than or equal to sname:VkPhysicalDeviceLimits::pname:maxTessellationPatchSize -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkPipelineVertexInputStateCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkPipelineVertexInputStateCreateInfo.txt deleted file mode 100644 index 05c4058f..00000000 --- a/doc/specs/vulkan/validity/structs/VkPipelineVertexInputStateCreateInfo.txt +++ /dev/null @@ -1,23 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -* If pname:vertexBindingDescriptionCount is not `0`, pname:pVertexBindingDescriptions must: be a pointer to an array of pname:vertexBindingDescriptionCount valid sname:VkVertexInputBindingDescription structures -* If pname:vertexAttributeDescriptionCount is not `0`, pname:pVertexAttributeDescriptions must: be a pointer to an array of pname:vertexAttributeDescriptionCount valid sname:VkVertexInputAttributeDescription structures -* pname:vertexBindingDescriptionCount must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxVertexInputBindings -* pname:vertexAttributeDescriptionCount must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxVertexInputAttributes -* For every pname:binding specified by any given element of pname:pVertexAttributeDescriptions, a sname:VkVertexInputBindingDescription must: exist in pname:pVertexBindingDescriptions with the same value of pname:binding -* All elements of pname:pVertexBindingDescriptions must: describe distinct binding numbers -* All elements of pname:pVertexAttributeDescriptions must: describe distinct attribute locations -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkPipelineViewportStateCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkPipelineViewportStateCreateInfo.txt deleted file mode 100644 index 11e0c776..00000000 --- a/doc/specs/vulkan/validity/structs/VkPipelineViewportStateCreateInfo.txt +++ /dev/null @@ -1,23 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -* pname:viewportCount must: be greater than `0` -* pname:scissorCount must: be greater than `0` -* If the <> feature is not enabled, pname:viewportCount must: be `1` -* If the <> feature is not enabled, pname:scissorCount must: be `1` -* pname:viewportCount must: be between `1` and sname:VkPhysicalDeviceLimits::pname:maxViewports, inclusive -* pname:scissorCount must: be between `1` and sname:VkPhysicalDeviceLimits::pname:maxViewports, inclusive -* pname:scissorCount and pname:viewportCount must: be identical -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkPushConstantRange.txt b/doc/specs/vulkan/validity/structs/VkPushConstantRange.txt deleted file mode 100644 index 3fe1bd1c..00000000 --- a/doc/specs/vulkan/validity/structs/VkPushConstantRange.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:stageFlags must: be a valid combination of elink:VkShaderStageFlagBits values -* pname:stageFlags mustnot: be `0` -* pname:offset must: be less than sname:VkPhysicalDeviceLimits::pname:maxPushConstantsSize -* pname:size must: be greater than `0` -* pname:size must: be a multiple of `4` -* pname:size must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxPushConstantsSize minus pname:offset -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkQueryPoolCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkQueryPoolCreateInfo.txt deleted file mode 100644 index 4910df3a..00000000 --- a/doc/specs/vulkan/validity/structs/VkQueryPoolCreateInfo.txt +++ /dev/null @@ -1,19 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -* pname:queryType must: be a valid elink:VkQueryType value -* If the <> feature is not enabled, pname:queryType mustnot: be ename:VK_QUERY_TYPE_PIPELINE_STATISTICS -* If pname:queryType is ename:VK_QUERY_TYPE_PIPELINE_STATISTICS, pname:pipelineStatistics must: be a valid combination of elink:VkQueryPipelineStatisticFlagBits values -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkQueueFamilyProperties.txt b/doc/specs/vulkan/validity/structs/VkQueueFamilyProperties.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkQueueFamilyProperties.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkRect2D.txt b/doc/specs/vulkan/validity/structs/VkRect2D.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkRect2D.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkRenderPassBeginInfo.txt b/doc/specs/vulkan/validity/structs/VkRenderPassBeginInfo.txt deleted file mode 100644 index 7dffd9d9..00000000 --- a/doc/specs/vulkan/validity/structs/VkRenderPassBeginInfo.txt +++ /dev/null @@ -1,20 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO -* pname:pNext must: be `NULL` -* pname:renderPass must: be a valid sname:VkRenderPass handle -* pname:framebuffer must: be a valid sname:VkFramebuffer handle -* If pname:clearValueCount is not `0`, pname:pClearValues must: be a pointer to an array of pname:clearValueCount sname:VkClearValue unions -* Both of pname:framebuffer, and pname:renderPass must: have been created, allocated, or retrieved from the same sname:VkDevice -* pname:clearValueCount must: be greater than the largest attachment index in pname:renderPass that specifies a pname:loadOp (or pname:stencilLoadOp, if the attachment has a depth/stencil format) of ename:VK_ATTACHMENT_LOAD_OP_CLEAR -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkRenderPassCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkRenderPassCreateInfo.txt deleted file mode 100644 index ac7cf156..00000000 --- a/doc/specs/vulkan/validity/structs/VkRenderPassCreateInfo.txt +++ /dev/null @@ -1,24 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -* If pname:attachmentCount is not `0`, pname:pAttachments must: be a pointer to an array of pname:attachmentCount valid sname:VkAttachmentDescription structures -* pname:pSubpasses must: be a pointer to an array of pname:subpassCount valid sname:VkSubpassDescription structures -* If pname:dependencyCount is not `0`, pname:pDependencies must: be a pointer to an array of pname:dependencyCount valid sname:VkSubpassDependency structures -* pname:subpassCount must: be greater than `0` -* If any two subpasses operate on attachments with overlapping ranges of the same sname:VkDeviceMemory object, and at least one subpass writes to that area of sname:VkDeviceMemory, a subpass dependency must: be included (either directly or via some intermediate subpasses) between them -* If the pname:attachment member of any element of pname:pInputAttachments, pname:pColorAttachments, pname:pResolveAttachments or pname:pDepthStencilAttachment, or the attachment indexed by any element of pname:pPreserveAttachments in any given element of pname:pSubpasses is bound to a range of a sname:VkDeviceMemory object that overlaps with any other attachment in any subpass (including the same subpass), the sname:VkAttachmentDescription structures describing them must: include ename:VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT in pname:flags -* If the pname:attachment member of any element of pname:pInputAttachments, pname:pColorAttachments, pname:pResolveAttachments or pname:pDepthStencilAttachment, or any element of pname:pPreserveAttachments in any given element of pname:pSubpasses is not ename:VK_ATTACHMENT_UNUSED, it must: be less than pname:attachmentCount -* The value of any element of the pname:pPreserveAttachments member in any given element of pname:pSubpasses mustnot: be ename:VK_ATTACHMENT_UNUSED -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkSamplerCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkSamplerCreateInfo.txt deleted file mode 100644 index be98eb85..00000000 --- a/doc/specs/vulkan/validity/structs/VkSamplerCreateInfo.txt +++ /dev/null @@ -1,34 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -* pname:magFilter must: be a valid elink:VkFilter value -* pname:minFilter must: be a valid elink:VkFilter value -* pname:mipmapMode must: be a valid elink:VkSamplerMipmapMode value -* pname:addressModeU must: be a valid elink:VkSamplerAddressMode value -* pname:addressModeV must: be a valid elink:VkSamplerAddressMode value -* pname:addressModeW must: be a valid elink:VkSamplerAddressMode value -* The absolute value of pname:mipLodBias must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxSamplerLodBias -* If the <> feature is not enabled, pname:anisotropyEnable must: be ename:VK_FALSE -* If pname:anisotropyEnable is ename:VK_TRUE, pname:maxAnisotropy must: be between `1.0` and sname:VkPhysicalDeviceLimits::pname:maxSamplerAnisotropy, inclusive -* If pname:unnormalizedCoordinates is ename:VK_TRUE, pname:minFilter and pname:magFilter must: be equal -* If pname:unnormalizedCoordinates is ename:VK_TRUE, pname:mipmapMode must: be ename:VK_SAMPLER_MIPMAP_MODE_NEAREST -* If pname:unnormalizedCoordinates is ename:VK_TRUE, pname:minLod and pname:maxLod must: be zero -* If pname:unnormalizedCoordinates is ename:VK_TRUE, pname:addressModeU and pname:addressModeV must: each be either ename:VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE or ename:VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER -* If pname:unnormalizedCoordinates is ename:VK_TRUE, pname:anisotropyEnable must: be ename:VK_FALSE -* If pname:unnormalizedCoordinates is ename:VK_TRUE, pname:compareEnable must: be ename:VK_FALSE -* If any of pname:addressModeU, pname:addressModeV or pname:addressModeW are ename:VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER, pname:borderColor must: be a valid elink:VkBorderColor value -* If the VK_KHR_mirror_clamp_to_edge extension is not enabled, pname:addressModeU, pname:addressModeV and pname:addressModeW mustnot: be ename:VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE -* If pname:compareEnable is ename:VK_TRUE, pname:compareOp must: be a valid elink:VkCompareOp value -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkSemaphoreCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkSemaphoreCreateInfo.txt deleted file mode 100644 index ce95e64d..00000000 --- a/doc/specs/vulkan/validity/structs/VkSemaphoreCreateInfo.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkShaderModuleCreateInfo.txt b/doc/specs/vulkan/validity/structs/VkShaderModuleCreateInfo.txt deleted file mode 100644 index c6c39c4b..00000000 --- a/doc/specs/vulkan/validity/structs/VkShaderModuleCreateInfo.txt +++ /dev/null @@ -1,24 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO -* pname:pNext must: be `NULL` -* pname:flags must: be `0` -* pname:pCode must: be a pointer to an array of latexmath:[$codeSize \over 4$] basetype:uint32_t values -* pname:codeSize must: be greater than 0 -* pname:codeSize must: be a multiple of 4 -* pname:pCode must: point to valid SPIR-V code, formatted and packed as described by https://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html[the SPIR-V Specification v1.0] -* pname:pCode must: adhere to the validation rules described by the <> section of the <> appendix -* pname:pCode must: declare the code:Shader capability -* pname:pCode mustnot: declare any capability that is not supported by the API, as described by the <> section of the <> appendix -* If pname:pCode declares any of the capabilities that are listed as not required by the implementation, the relevant feature must: be enabled, as listed in the <> appendix -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkSparseBufferMemoryBindInfo.txt b/doc/specs/vulkan/validity/structs/VkSparseBufferMemoryBindInfo.txt deleted file mode 100644 index 777ada47..00000000 --- a/doc/specs/vulkan/validity/structs/VkSparseBufferMemoryBindInfo.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:buffer must: be a valid sname:VkBuffer handle -* pname:pBinds must: be a pointer to an array of pname:bindCount valid sname:VkSparseMemoryBind structures -* pname:bindCount must: be greater than `0` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkSparseImageFormatProperties.txt b/doc/specs/vulkan/validity/structs/VkSparseImageFormatProperties.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkSparseImageFormatProperties.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkSparseImageMemoryBind.txt b/doc/specs/vulkan/validity/structs/VkSparseImageMemoryBind.txt deleted file mode 100644 index 69cc3840..00000000 --- a/doc/specs/vulkan/validity/structs/VkSparseImageMemoryBind.txt +++ /dev/null @@ -1,25 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:subresource must: be a valid sname:VkImageSubresource structure -* If pname:memory is not dlink:VK_NULL_HANDLE, pname:memory must: be a valid sname:VkDeviceMemory handle -* pname:flags must: be a valid combination of elink:VkSparseMemoryBindFlagBits values -* If the <> feature is not enabled, and if any other resources are bound to ranges of pname:memory, the range of pname:memory being bound mustnot: overlap with those bound ranges -* pname:memory and pname:memoryOffset must: match the memory requirements of the calling command's pname:image, as described in section <> -* pname:subresource must: be a valid image subresource for pname:image (see <>) -* pname:offset.x must: be a multiple of the sparse image block width (sname:VkSparseImageFormatProperties::pname:imageGranularity.width) of the image -* pname:extent.width must: either be a multiple of the sparse image block width of the image, or else pname:extent.width + pname:offset.x must: equal the width of the image subresource -* pname:offset.y must: be a multiple of the sparse image block height (sname:VkSparseImageFormatProperties::pname:imageGranularity.height) of the image -* pname:extent.height must: either be a multiple of the sparse image block height of the image, or else pname:extent.height + pname:offset.y must: equal the height of the image subresource -* pname:offset.z must: be a multiple of the sparse image block depth (sname:VkSparseImageFormatProperties::pname:imageGranularity.depth) of the image -* pname:extent.depth must: either be a multiple of the sparse image block depth of the image, or else pname:extent.depth + pname:offset.z must: equal the depth of the image subresource -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkSparseImageMemoryBindInfo.txt b/doc/specs/vulkan/validity/structs/VkSparseImageMemoryBindInfo.txt deleted file mode 100644 index b47f97ba..00000000 --- a/doc/specs/vulkan/validity/structs/VkSparseImageMemoryBindInfo.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:image must: be a valid sname:VkImage handle -* pname:pBinds must: be a pointer to an array of pname:bindCount valid sname:VkSparseImageMemoryBind structures -* pname:bindCount must: be greater than `0` -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkSparseImageMemoryRequirements.txt b/doc/specs/vulkan/validity/structs/VkSparseImageMemoryRequirements.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkSparseImageMemoryRequirements.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkSparseImageOpaqueMemoryBindInfo.txt b/doc/specs/vulkan/validity/structs/VkSparseImageOpaqueMemoryBindInfo.txt deleted file mode 100644 index bee6f5b4..00000000 --- a/doc/specs/vulkan/validity/structs/VkSparseImageOpaqueMemoryBindInfo.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:image must: be a valid sname:VkImage handle -* pname:pBinds must: be a pointer to an array of pname:bindCount valid sname:VkSparseMemoryBind structures -* pname:bindCount must: be greater than `0` -* For any given element of pname:pBinds, if the pname:flags member of that element contains ename:VK_SPARSE_MEMORY_BIND_METADATA_BIT, the binding range defined must: be within the mip tail region of the metadata aspect of pname:image -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkSparseMemoryBind.txt b/doc/specs/vulkan/validity/structs/VkSparseMemoryBind.txt deleted file mode 100644 index 244f977a..00000000 --- a/doc/specs/vulkan/validity/structs/VkSparseMemoryBind.txt +++ /dev/null @@ -1,22 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* If pname:memory is not dlink:VK_NULL_HANDLE, pname:memory must: be a valid sname:VkDeviceMemory handle -* pname:flags must: be a valid combination of elink:VkSparseMemoryBindFlagBits values -* If pname:memory is not dlink:VK_NULL_HANDLE, pname:memory and pname:memoryOffset must: match the memory requirements of the resource, as described in section <> -* If pname:memory is not dlink:VK_NULL_HANDLE, pname:memory mustnot: have been created with a memory type that reports ename:VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT bit set -* pname:size must: be greater than `0` -* pname:resourceOffset must: be less than the size of the resource -* pname:size must: be less than or equal to the size of the resource minus pname:resourceOffset -* pname:memoryOffset must: be less than the size of pname:memory -* pname:size must: be less than or equal to the size of pname:memory minus pname:memoryOffset -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkSpecializationInfo.txt b/doc/specs/vulkan/validity/structs/VkSpecializationInfo.txt deleted file mode 100644 index 62384138..00000000 --- a/doc/specs/vulkan/validity/structs/VkSpecializationInfo.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* If pname:mapEntryCount is not `0`, pname:pMapEntries must: be a pointer to an array of pname:mapEntryCount valid sname:VkSpecializationMapEntry structures -* If pname:dataSize is not `0`, pname:pData must: be a pointer to an array of pname:dataSize bytes -* The pname:offset member of any given element of pname:pMapEntries must: be less than pname:dataSize -* For any given element of pname:pMapEntries, pname:size must: be less than or equal to pname:dataSize minus pname:offset -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkSpecializationMapEntry.txt b/doc/specs/vulkan/validity/structs/VkSpecializationMapEntry.txt deleted file mode 100644 index 00d9c7b9..00000000 --- a/doc/specs/vulkan/validity/structs/VkSpecializationMapEntry.txt +++ /dev/null @@ -1,14 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* For a pname:constantID specialization constant declared in a shader, pname:size must: match the byte size of the pname:constantID. If the specialization constant is of type boolean, pname:size must: be the byte size of VkBool32 -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkStencilOpState.txt b/doc/specs/vulkan/validity/structs/VkStencilOpState.txt deleted file mode 100644 index f96c52e4..00000000 --- a/doc/specs/vulkan/validity/structs/VkStencilOpState.txt +++ /dev/null @@ -1,17 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:failOp must: be a valid elink:VkStencilOp value -* pname:passOp must: be a valid elink:VkStencilOp value -* pname:depthFailOp must: be a valid elink:VkStencilOp value -* pname:compareOp must: be a valid elink:VkCompareOp value -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkSubmitInfo.txt b/doc/specs/vulkan/validity/structs/VkSubmitInfo.txt deleted file mode 100644 index cf88e5ad..00000000 --- a/doc/specs/vulkan/validity/structs/VkSubmitInfo.txt +++ /dev/null @@ -1,33 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_SUBMIT_INFO -* pname:pNext must: be `NULL` -* If pname:waitSemaphoreCount is not `0`, pname:pWaitSemaphores must: be a pointer to an array of pname:waitSemaphoreCount valid sname:VkSemaphore handles -* If pname:waitSemaphoreCount is not `0`, pname:pWaitDstStageMask must: be a pointer to an array of pname:waitSemaphoreCount valid combinations of elink:VkPipelineStageFlagBits values -* Each element of pname:pWaitDstStageMask mustnot: be `0` -* If pname:commandBufferCount is not `0`, pname:pCommandBuffers must: be a pointer to an array of pname:commandBufferCount valid sname:VkCommandBuffer handles -* If pname:signalSemaphoreCount is not `0`, pname:pSignalSemaphores must: be a pointer to an array of pname:signalSemaphoreCount valid sname:VkSemaphore handles -* Each of the elements of pname:pCommandBuffers, the elements of pname:pSignalSemaphores, and the elements of pname:pWaitSemaphores that are valid handles must: have been created, allocated, or retrieved from the same sname:VkDevice -* Any given element of pname:pSignalSemaphores must: currently be unsignaled -* Any given element of pname:pCommandBuffers must: either have been recorded with the ename:VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT, or not currently be executing on the device -* Any given element of pname:pCommandBuffers must: be in the executable state -* If any given element of pname:pCommandBuffers contains commands that execute secondary command buffers, those secondary command buffers must: have been recorded with the ename:VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT, or not currently be executing on the device -* If any given element of pname:pCommandBuffers was recorded with ename:VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT, it mustnot: have been previously submitted without re-recording that command buffer -* If any given element of pname:pCommandBuffers contains commands that execute secondary command buffers recorded with ename:VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT, each such secondary command buffer mustnot: have been previously submitted without re-recording that command buffer -* Any given element of pname:pCommandBuffers mustnot: contain commands that execute a secondary command buffer, if that secondary command buffer has been recorded in another primary command buffer after it was recorded into this sname:VkCommandBuffer -* Any given element of pname:pCommandBuffers must: have been allocated from a sname:VkCommandPool that was created for the same queue family that the calling command's pname:queue belongs to -* Any given element of pname:pCommandBuffers mustnot: have been allocated with ename:VK_COMMAND_BUFFER_LEVEL_SECONDARY -* Any given element of sname:VkSemaphore in pname:pWaitSemaphores must: refer to a prior signal of that sname:VkSemaphore that will not be consumed by any other wait on that semaphore -* If the <> feature is not enabled, any given element of pname:pWaitDstStageMask mustnot: contain ename:VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT -* If the <> feature is not enabled, any given element of pname:pWaitDstStageMask mustnot: contain ename:VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or ename:VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkSubpassDependency.txt b/doc/specs/vulkan/validity/structs/VkSubpassDependency.txt deleted file mode 100644 index 0851ba04..00000000 --- a/doc/specs/vulkan/validity/structs/VkSubpassDependency.txt +++ /dev/null @@ -1,28 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:srcStageMask must: be a valid combination of elink:VkPipelineStageFlagBits values -* pname:srcStageMask mustnot: be `0` -* pname:dstStageMask must: be a valid combination of elink:VkPipelineStageFlagBits values -* pname:dstStageMask mustnot: be `0` -* pname:srcAccessMask must: be a valid combination of elink:VkAccessFlagBits values -* pname:dstAccessMask must: be a valid combination of elink:VkAccessFlagBits values -* pname:dependencyFlags must: be a valid combination of elink:VkDependencyFlagBits values -* If the <> feature is not enabled, pname:srcStageMask mustnot: contain ename:VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT -* If the <> feature is not enabled, pname:dstStageMask mustnot: contain ename:VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT -* If the <> feature is not enabled, pname:srcStageMask mustnot: contain ename:VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or ename:VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT -* If the <> feature is not enabled, pname:dstStageMask mustnot: contain ename:VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or ename:VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT -* pname:srcSubpass must: be less than or equal to pname:dstSubpass, unless one of them is ename:VK_SUBPASS_EXTERNAL, to avoid cyclic dependencies and ensure a valid execution order -* pname:srcSubpass and pname:dstSubpass mustnot: both be equal to ename:VK_SUBPASS_EXTERNAL -* If pname:srcSubpass is equal to pname:dstSubpass, pname:srcStageMask and pname:dstStageMask must: only contain one of ename:VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, ename:VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT, ename:VK_PIPELINE_STAGE_VERTEX_INPUT_BIT, ename:VK_PIPELINE_STAGE_VERTEX_SHADER_BIT, ename:VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT, ename:VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT, ename:VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT, ename:VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, ename:VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT, ename:VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT, ename:VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, ename:VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, or ename:VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT -* If pname:srcSubpass is equal to pname:dstSubpass, the highest bit value included in pname:srcStageMask must: be less than or equal to the lowest bit value in pname:dstStageMask -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkSubpassDescription.txt b/doc/specs/vulkan/validity/structs/VkSubpassDescription.txt deleted file mode 100644 index 4f39e801..00000000 --- a/doc/specs/vulkan/validity/structs/VkSubpassDescription.txt +++ /dev/null @@ -1,32 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:flags must: be `0` -* pname:pipelineBindPoint must: be a valid elink:VkPipelineBindPoint value -* If pname:inputAttachmentCount is not `0`, pname:pInputAttachments must: be a pointer to an array of pname:inputAttachmentCount valid sname:VkAttachmentReference structures -* If pname:colorAttachmentCount is not `0`, pname:pColorAttachments must: be a pointer to an array of pname:colorAttachmentCount valid sname:VkAttachmentReference structures -* If pname:colorAttachmentCount is not `0`, and pname:pResolveAttachments is not `NULL`, pname:pResolveAttachments must: be a pointer to an array of pname:colorAttachmentCount valid sname:VkAttachmentReference structures -* If pname:pDepthStencilAttachment is not `NULL`, pname:pDepthStencilAttachment must: be a pointer to a valid sname:VkAttachmentReference structure -* If pname:preserveAttachmentCount is not `0`, pname:pPreserveAttachments must: be a pointer to an array of pname:preserveAttachmentCount basetype:uint32_t values -* pname:pipelineBindPoint must: be ename:VK_PIPELINE_BIND_POINT_GRAPHICS -* pname:colorCount must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxColorAttachments -* If the first use of an attachment in this render pass is as an input attachment, and the attachment is not also used as a color or depth/stencil attachment in the same subpass, then pname:loadOp mustnot: be ename:VK_ATTACHMENT_LOAD_OP_CLEAR -* If pname:pResolveAttachments is not `NULL`, for each resolve attachment that does not have the value ename:VK_ATTACHMENT_UNUSED, the corresponding color attachment mustnot: have the value ename:VK_ATTACHMENT_UNUSED -* If pname:pResolveAttachments is not `NULL`, the sample count of each element of pname:pColorAttachments must: be anything other than ename:VK_SAMPLE_COUNT_1_BIT -* Any given element of pname:pResolveAttachments must: have a sample count of ename:VK_SAMPLE_COUNT_1_BIT -* Any given element of pname:pResolveAttachments must: have the same elink:VkFormat as its corresponding color attachment -* All attachments in pname:pColorAttachments and pname:pDepthStencilAttachment that are not ename:VK_ATTACHMENT_UNUSED must: have the same sample count -* If any input attachments are ename:VK_ATTACHMENT_UNUSED, then any pipelines bound during the subpass mustnot: accesss those input attachments from the fragment shader -* The pname:attachment member of any element of pname:pPreserveAttachments mustnot: be ename:VK_ATTACHMENT_UNUSED -* Any given element of pname:pPreserveAttachments mustnot: also be an element of any other member of the subpass description -* If any attachment is used as both an input attachment and a color or depth/stencil attachment, then each use must: use the same pname:layout -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkSubresourceLayout.txt b/doc/specs/vulkan/validity/structs/VkSubresourceLayout.txt deleted file mode 100644 index 8dd799f4..00000000 --- a/doc/specs/vulkan/validity/structs/VkSubresourceLayout.txt +++ /dev/null @@ -1 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry diff --git a/doc/specs/vulkan/validity/structs/VkVertexInputAttributeDescription.txt b/doc/specs/vulkan/validity/structs/VkVertexInputAttributeDescription.txt deleted file mode 100644 index df255704..00000000 --- a/doc/specs/vulkan/validity/structs/VkVertexInputAttributeDescription.txt +++ /dev/null @@ -1,18 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:format must: be a valid elink:VkFormat value -* pname:location must: be less than sname:VkPhysicalDeviceLimits::pname:maxVertexInputAttributes -* pname:binding must: be less than sname:VkPhysicalDeviceLimits::pname:maxVertexInputBindings -* pname:offset must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxVertexInputAttributeOffset -* pname:format must: be allowed as a vertex buffer format, as specified by the ename:VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT flag in sname:VkFormatProperties::pname:bufferFeatures returned by fname:vkGetPhysicalDeviceFormatProperties -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkVertexInputBindingDescription.txt b/doc/specs/vulkan/validity/structs/VkVertexInputBindingDescription.txt deleted file mode 100644 index 8d778af3..00000000 --- a/doc/specs/vulkan/validity/structs/VkVertexInputBindingDescription.txt +++ /dev/null @@ -1,16 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:inputRate must: be a valid elink:VkVertexInputRate value -* pname:binding must: be less than sname:VkPhysicalDeviceLimits::pname:maxVertexInputBindings -* pname:stride must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxVertexInputBindingStride -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkViewport.txt b/doc/specs/vulkan/validity/structs/VkViewport.txt deleted file mode 100644 index 0225626f..00000000 --- a/doc/specs/vulkan/validity/structs/VkViewport.txt +++ /dev/null @@ -1,20 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:width must: be greater than `0.0` and less than or equal to sname:VkPhysicalDeviceLimits::pname:maxViewportDimensions[0] -* pname:height must: be greater than `0.0` and less than or equal to sname:VkPhysicalDeviceLimits::pname:maxViewportDimensions[1] -* pname:x and pname:y must: each be between pname:viewportBoundsRange[0] and pname:viewportBoundsRange[1], inclusive -* pname:x + pname:width must: be less than or equal to pname:viewportBoundsRange[1] -* pname:y + pname:height must: be less than or equal to pname:viewportBoundsRange[1] -* pname:minDepth must: be between `0.0` and `1.0`, inclusive -* pname:maxDepth must: be between `0.0` and `1.0`, inclusive -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/structs/VkWriteDescriptorSet.txt b/doc/specs/vulkan/validity/structs/VkWriteDescriptorSet.txt deleted file mode 100644 index 9e521559..00000000 --- a/doc/specs/vulkan/validity/structs/VkWriteDescriptorSet.txt +++ /dev/null @@ -1,36 +0,0 @@ -// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry -ifndef::doctype-manpage[] -.Valid Usage -******************************************************************************** -endif::doctype-manpage[] -ifdef::doctype-manpage[] -Valid Usage ------------ -endif::doctype-manpage[] -* pname:sType must: be ename:VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET -* pname:pNext must: be `NULL` -* pname:dstSet must: be a valid sname:VkDescriptorSet handle -* pname:descriptorType must: be a valid elink:VkDescriptorType value -* pname:descriptorCount must: be greater than `0` -* Both of pname:dstSet, and the elements of pname:pTexelBufferView that are valid handles must: have been created, allocated, or retrieved from the same sname:VkDevice -* pname:dstBinding must: be a valid binding point within pname:dstSet -* pname:descriptorType must: match the type of pname:dstBinding within pname:dstSet -* The sum of pname:dstArrayElement and pname:descriptorCount must: be less than or equal to the number of array elements in the descriptor set binding specified by pname:dstBinding, and all applicable consecutive bindings, as described by <> -* If pname:descriptorType is ename:VK_DESCRIPTOR_TYPE_SAMPLER, ename:VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, ename:VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, ename:VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or ename:VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, pname:pImageInfo must: be a pointer to an array of pname:descriptorCount valid sname:VkDescriptorImageInfo structures -* If pname:descriptorType is ename:VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER or ename:VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, pname:pTexelBufferView must: be a pointer to an array of pname:descriptorCount valid sname:VkBufferView handles -* If pname:descriptorType is ename:VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, ename:VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, ename:VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, or ename:VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, pname:pBufferInfo must: be a pointer to an array of pname:descriptorCount valid sname:VkDescriptorBufferInfo structures -* If pname:descriptorType is ename:VK_DESCRIPTOR_TYPE_SAMPLER or ename:VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, and pname:dstSet was not allocated with a layout that included immutable samplers for pname:dstBinding with pname:descriptorType, the pname:sampler member of any given element of pname:pImageInfo must: be a valid sname:VkSampler object -* If pname:descriptorType is ename:VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, ename:VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, ename:VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or ename:VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, the pname:imageView and pname:imageLayout members of any given element of pname:pImageInfo must: be a valid sname:VkImageView and elink:VkImageLayout, respectively -* If pname:descriptorType is ename:VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER or ename:VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, the pname:offset member of any given element of pname:pBufferInfo must: be a multiple of sname:VkPhysicalDeviceLimits::pname:minUniformBufferOffsetAlignment -* If pname:descriptorType is ename:VK_DESCRIPTOR_TYPE_STORAGE_BUFFER or ename:VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, the pname:offset member of any given element of pname:pBufferInfo must: be a multiple of sname:VkPhysicalDeviceLimits::pname:minStorageBufferOffsetAlignment -* If pname:descriptorType is ename:VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER or ename:VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, the pname:buffer member of any given element of pname:pBufferInfo must: have been created with ename:VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT set -* If pname:descriptorType is ename:VK_DESCRIPTOR_TYPE_STORAGE_BUFFER or ename:VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, the pname:buffer member of any given element of pname:pBufferInfo must: have been created with ename:VK_BUFFER_USAGE_STORAGE_BUFFER_BIT set -* If pname:descriptorType is ename:VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER or ename:VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, the pname:range member of any given element of pname:pBufferInfo, or the effective range if pname:range is ename:VK_WHOLE_SIZE, must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxUniformBufferRange -* If pname:descriptorType is ename:VK_DESCRIPTOR_TYPE_STORAGE_BUFFER or ename:VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, the pname:range member of any given element of pname:pBufferInfo, or the effective range if pname:range is ename:VK_WHOLE_SIZE, must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxStorageBufferRange -* If pname:descriptorType is ename:VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER, the sname:VkBuffer that any given element of pname:pTexelBufferView was created from must: have been created with ename:VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT set -* If pname:descriptorType is ename:VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, the sname:VkBuffer that any given element of pname:pTexelBufferView was created from must: have been created with ename:VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT set -* If pname:descriptorType is ename:VK_DESCRIPTOR_TYPE_STORAGE_IMAGE or ename:VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, the pname:imageView member of any given element of pname:pImageInfo must: have been created with the identity swizzle -ifndef::doctype-manpage[] -******************************************************************************** -endif::doctype-manpage[] - diff --git a/doc/specs/vulkan/validity/timeMarker b/doc/specs/vulkan/validity/timeMarker deleted file mode 100644 index e69de29b..00000000 diff --git a/doc/specs/vulkan/vkspec.txt b/doc/specs/vulkan/vkspec.txt index 54e59d26..121a2eda 100644 --- a/doc/specs/vulkan/vkspec.txt +++ b/doc/specs/vulkan/vkspec.txt @@ -3,7 +3,7 @@ include::specversion.txt[] -= Vulkan {apirevision} - A Specification += Vulkan {apirevision} - A Specification {apititle} The Khronos Vulkan Working Group :icons: :toc2: @@ -91,11 +91,19 @@ include::chapters/dispatch.txt[] // Sparse include::chapters/sparsemem.txt[] +ifdef::VK_KHR_surface[] +include::chapters/VK_KHR_surface/wsi.txt[] +endif::VK_KHR_surface[] + // Sort of an appendix include::chapters/extensions.txt[] include::chapters/features.txt[] +ifdef::VK_EXT_debug_marker[] +include::chapters/VK_EXT_debug_marker.txt[] +endif::VK_EXT_debug_marker[] + // Appendices :numbered!: @@ -107,6 +115,66 @@ include::appendices/extensions.txt[] include::appendices/VK_KHR_sampler_mirror_clamp_to_edge.txt[] +ifdef::VK_KHR_surface[] +include::appendices/VK_KHR_surface/wsi.txt[] +endif::VK_KHR_surface[] + +ifdef::VK_EXT_debug_marker[] +include::appendices/VK_EXT_debug_marker.txt[] +endif::VK_EXT_debug_marker[] + +ifdef::VK_EXT_debug_report[] +include::appendices/VK_EXT_debug_report.txt[] +endif::VK_EXT_debug_report[] + +ifdef::VK_AMD_draw_indirect_count[] +include::appendices/VK_AMD_draw_indirect_count.txt[] +endif::VK_AMD_draw_indirect_count[] + +ifdef::VK_AMD_gcn_shader[] +include::appendices/VK_AMD_gcn_shader.txt[] +endif::VK_AMD_gcn_shader[] + +ifdef::VK_AMD_rasterization_order[] +include::appendices/VK_AMD_rasterization_order.txt[] +endif::VK_AMD_rasterization_order[] + +ifdef::VK_AMD_shader_explicit_vertex_parameter[] +include::appendices/VK_AMD_shader_explicit_vertex_parameter.txt[] +endif::VK_AMD_shader_explicit_vertex_parameter[] + +ifdef::VK_AMD_shader_trinary_minmax[] +include::appendices/VK_AMD_shader_trinary_minmax.txt[] +endif::VK_AMD_shader_trinary_minmax[] + +ifdef::VK_IMG_filter_cubic[] +include::appendices/VK_IMG_filter_cubic.txt[] +endif::VK_IMG_filter_cubic[] + +ifdef::VK_NV_dedicated_allocation[] +include::appendices/VK_NV_dedicated_allocation.txt[] +endif::VK_NV_dedicated_allocation[] + +ifdef::VK_NV_glsl_shader[] +include::appendices/VK_NV_glsl_shader.txt[] +endif::VK_NV_glsl_shader[] + +ifdef::VK_NV_external_memory_capabilities[] +include::appendices/VK_NV_external_memory_capabilities.txt[] +endif::VK_NV_external_memory_capabilities[] + +ifdef::VK_NV_external_memory[] +include::appendices/VK_NV_external_memory.txt[] +endif::VK_NV_external_memory[] + +ifdef::VK_NV_external_memory_win32[] +include::appendices/VK_NV_external_memory_win32.txt[] +endif::VK_NV_external_memory_win32[] + +ifdef::VK_NV_external_memory_keyed_mutex[] +include::appendices/VK_NV_win32_keyed_mutex.txt[] +endif::VK_NV_external_memory_keyed_mutex[] + include::appendices/boilerplate.txt[] include::appendices/invariance.txt[] diff --git a/src/spec/Makefile b/src/spec/Makefile index 4ec87599..fbaed685 100644 --- a/src/spec/Makefile +++ b/src/spec/Makefile @@ -27,10 +27,14 @@ OUTDIR = ../../out/1.0 # # Targets: # -# default / install - regenerate ../vulkan/vulkan.h -# validate - run XML validator on vk.xml against the schema -# test - check if vulkan.h compiles -# doc_install - generate schema / HOWTO readme documentation in $(OUTDIR)/registry.html +# default / install - regenerate ../vulkan/vulkan.h . +# validate - run XML validator on vk.xml against the schema. +# test - check if vulkan.h compiles. +# doc_install - generate schema / HOWTO readme documentation in +# $(OUTDIR)/registry.html . Usually done only by the registry +# maintainer when updating these docs. +# clean_dirt - remove intermediate files. +# clean - remove installed and intermediate files. HEADERS = ../vulkan/vulkan.h @@ -61,8 +65,11 @@ test: ../vulkan/vulkan.h ../vulkan/vk_platform.h ################################################ # Documentation targets +ASCIIDOC = asciidoc + $(OUTDIR)/registry.html: registry.txt registry.conf Makefile - asciidoc -b html5 -f registry.conf -o $@ registry.txt + mkdir -p $(OUTDIR) + $(ASCIIDOC) -b html5 -f registry.conf -o $@ registry.txt ################################################ @@ -80,10 +87,10 @@ addProps: PYDIRT = diag.txt dumpReg.txt errwarn.txt *.pyc regdump.txt DIRT = $(PYDIRT) ERRS \#* -clean: +# Clean intermediate files +clean_dirt: -rm -f $(DIRT) -# Remove not just intermediate and junk files, but generated targets -# (the installed vulkan.h) -clobber: clean +# Clean generated targets as well as intermediates. +clean clobber: clean_dirt -rm -f $(HEADERS) $(OUTDIR)/registry.html diff --git a/src/spec/README b/src/spec/README deleted file mode 100644 index b6966ba8..00000000 --- a/src/spec/README +++ /dev/null @@ -1,176 +0,0 @@ -Table of contents: - INTRODUCTION - FILES - MAKEFILE TARGETS - SOFTWARE DEPENDENCIES - RUNNING ON WINDOWS - CHANGE LOG - -INTRODUCTION ------------- - -This is the Vulkan XML API Registry. It is used to generate the canonical -vulkan.h and the API Asciidoc include files used by the ref pages and -Specification. - -When patches to the header or the includes are needed, follow this workflow: - - - Create a git branch to work in locally - - Edit vk.xml - - make ; make test - (this just generates ../vulkan/vulkan.h) - - make install doc_install - (this generates header and registry documentation) - - (cd ../../doc/specs/vulkan && make generated) - (this generates asciidoc includes) - - Repeat until the header and/or includes are correct - - Commit your changes to your local git branch - - Push the branch to the git server and create a merge request against the - specification branch ("1.0") or other appropriate target. - -See 'readme.txt' for a detailed description of the schema, and some examples -of how to make simple changes in the API via the XML. - -The generator scripts are written in Python 3, using the etree package for -processing XML. - - Jon Leech - -FILES ------ - - Makefile - generates header and JSON from XML (see below) - vk.xml - XML API description - genvk.py - Python script to generate vulkan.h and other targets. - readme.txt - Source for detailed description of the XML schema - registry.rnc - RelaxNG compact schema for validating XML against the - schema - reg.py - Python tools to read XML file and convert it into C headers - generator.py - output generator base class. - cgenerator.py - C output generator for vulkan.h - docgenerator.py - Asciidoc interface language include generator - hostsyncgenerator.py - Asciidoc host sync table generator - pygenerator.py - Generates python encoding of the API description - validitygenerator.py - Asciidoc validity language generator - ../vulkan/vulkan.h - Generated header - -MAKEFILE TARGETS ----------------- - - install or ../vulkan/vulkan.h (default target) - regenerate vulkan.h in - ../vulkan . - doc_install - generates detailed description of the XML schema from - registry.txt in $(OUTDIR)/registry.html . In general this should be - left until a branch is merged to 1.0. - test - make sure ../vulkan/vulkan.h compiles. Important! - validate - validate vk.xml against the schema. Requires 'jing' tool - installed. - clobber - remove generated files. Usually done when to merging to 1.0 - via 'make clobber ; make install doc_install'. - - If you have trouble running the Makefile on your platorm, try using - the command line: - - # Regenerate header from XML - python3 genvk.py ../vulkan/vulkan.h - # Test the resulting header compiles - gcc -Wall -c -I.. test.c - g++ -Wall -c -std=c++98 -I.. test.c - g++ -Wall -c -std=c++11 -I.. test.c - # Then commit/push changes to git - -SOFTWARE DEPENDENCIES ---------------------- - -RUNNING ON LINUX ----------------- - -These are the versions of required tools in a Debian 8 development -environment. Earlier versions *may* work but unless they are verified by -someone else, there's no way to know that: - - - Python 3 (python3, version: 3.4.2) - - libxml2 - - g++/gcc 4.9 (g++-4.9 / gcc-4.9, version: 4.9.2-10 - gcc 4.8 also - reported to work, just needs to support the -std=c++11 target) - - GNU make (make version: 4.0.8-1; older versions probably OK) - - Jing (jing version: 20131210+dfsg+1-1; needed only for optional XML - validation) - -RUNNING ON WINDOWS ------------------- - -(Instructions from Daniel Johnston, daniel.johnston@intel.com) - -1) Install python (32-bit works great): https://www.python.org/downloads/ - a) Ensure the pip module is installed (should be by default) -2) Install libxml2 (instructions TBD...) -4) Run the genvk.py script in C:\PathToVulkan\src\specfile : - a) C:\PathToPython\python.exe genvk.py vulkan.h - -CHANGE LOG ----------- - -2015/06/01 - - The header that is generated has been improved relative to the first - version. Function arguments are indented like the hand-generated header, - enumerant BEGIN/END_RANGE enums are named the same, etc. The ordering of - declarations is unlike the hand-generated header, and probably always - will because it results from a type/enum/function dependency analysis. - Some of this can be forced by being more explicit about it, if that is a - big deal. - -2015/06/02 - - Per WG signoff, converted hex constant values to decimal (for - non-bitmasks) and VK_BIT macros to 'bitpos' attributes in the XML and - hex constants in the header. Updated schema to match. - - Changed tag to . - -2015/06/03 - - Moved into new 'vulkan' tree (did not bother preserving history in - previous repo). Added semantic knowledge about structs and unions to - tags instead of just imbedding C struct definitions. Improved - registry.rnc schema a bit. - -2015/06/07 - - Incorporate feedback from F2F including Python 3 and Windows fixes to - the scripts. Add documentation to readme.pdf. Fold in multiple merge - requests resulting from action items agreed at the F2F, to prepare - for everyone moving to XML instead of directly editing the header. - -2015/06/20 - - Add vulkan-docs target and instructions for installing python3 and - python-lxml for Windows. - -2015/08/13 - - Bring documentation up to date with Makefile targets (default is now - ../include/vulkan.h). - -2015/09/02 - - Update README with required (or known working) versions of toolchain - components. - -2015/09/02 - - Move include/vulkan.h to vulkan/vulkan.h so #include "vulkan/vulkan.h" - is the normal usage (Bug 14576). - -2016/02/12 - - Update README and remove old files to stage for public release. - -2016/05/31 - - Remove dependency on lxml. - -2016/07/27 - - Update documentation for changes to schema and generator scripts. diff --git a/src/spec/README.adoc b/src/spec/README.adoc new file mode 100644 index 00000000..c872a990 --- /dev/null +++ b/src/spec/README.adoc @@ -0,0 +1,166 @@ += Vulkan API Registry Build Instructions and Notes = + +Jon Leech + +* <> +* <> +* <> +* <> +* <> +* <> + + +[[intro]] +== Introduction == + +This is the Vulkan XML API Registry. It is used to generate the canonical +vulkan.h and the API Asciidoc include files used by the Vulkan Specification +and Reference Pages. + +When changes to the header or the includes are needed, follow this workflow. +Normally changes are done only when defining a new extension, or when adding +missing validity language to existing APIs. + +* Create a git branch to work in locally +* Edit vk.xml +* make ; make test +** This generates ../vulkan/vulkan.h +* make install doc_install +** This generates header and registry documentation. +* (cd ../../doc/specs/vulkan && make generated) +** This generates asciidoc includes for the spec. There are many ways to + invoke the Makefile in the spec directory; this simple recipe only + generates includes for the core Vulkan API without any extensions. +* Repeat until the header and/or includes are correct. +* Commit your changes to your local git branch, push to the Khronos git + server, and create a merge request against the specification branch + ("1.0") or other appropriate target. + +See 'registry.txt' for a detailed description of the schema, and some +examples of how to make simple changes in the API via the XML. + +The generator scripts are written in Python 3, using the etree package for +processing XML. + + +[[files]] +== Files == + +* Makefile - generates header and asciidoc includes from XML (see + <> below). +* vk.xml - XML API description. +* genvk.py - Python script to generate vulkan.h and other targets. +* readme.txt - Source for detailed description of the XML schema. +* registry.rnc - RelaxNG compact schema for validating XML against the + schema. +* reg.py - Python tools to read XML file and convert it into C headers. +* generator.py - output generator base class. +** cgenerator.py - C header output generator. +** docgenerator.py - Asciidoc interface language include generator. +** hostsyncgenerator.py - Asciidoc host sync table generator. +** pygenerator.py - Generates python encoding of the API description. +** validitygenerator.py - Asciidoc validity language generator. +* ../vulkan/vulkan.h - Generated Vulkan header. + + +[[targets]] +== Makefile Targets == + +* install or ../vulkan/vulkan.h (default target) - regenerate + ../vulkan/vulkan.h . +* doc_install - generates detailed description of the XML schema from + registry.txt in $(OUTDIR)/registry.html . In general this should be left + until a branch is merged to 1.0. +* test - make sure ../vulkan/vulkan.h compiles. Important! +* validate - validate vk.xml against the schema. Requires installing 'jing' + (see <> below). +* clean_dirt - remove intermediate files. +* clean - remove generated files. Usually done when preparing to merge to + 1.0 via 'make clean ; make install doc_install'. + +If you have trouble running the Makefile on your platform, the following +steps will build vulkan.h and test that it compiles: + +* # Regenerate header from XML +** python3 genvk.py ../vulkan/vulkan.h +* # Test the resulting header compiles +** gcc -Wall -c -I.. test.c +** g++ -Wall -c -std=c++98 -I.. test.c +** g++ -Wall -c -std=c++11 -I.. test.c + + +[[linux]] +== Linux Software Depencies == + +These are the versions of required tools in a Debian 8 development +environment. Earlier versions *may* work but unless they are verified by +someone else, there's no way to know that: + +* Python 3 (python3, version: 3.4.2) +* g++/gcc 4.9 (g++-4.9 / gcc-4.9, version: 4.9.2-10 - gcc 4.8 also reported + to work, just needs to support the -std=c++11 target) +* GNU make (make version: 4.0.8-1; older versions probably OK) +* Jing (jing version: 20131210+dfsg+1-1; needed only for optional XML + validation) + + +[[windows]] +== Windows Software Dependencies == + +Instructions from Daniel Johnston, daniel.johnston 'at' intel.com. There are +a variety of ways to run on Windows, this is just one. + +* Install python (32-bit works great): https://www.python.org/downloads/ +* Ensure the pip module is installed (should be by default) +* Run the genvk.py script in C:\PathToVulkan\src\specfile +** C:\PathToPython\python.exe genvk.py vulkan.h + + +[[history]] +== Revision History == + +* 2015/06/01 - + The header that is generated has been improved relative to the first + version. Function arguments are indented like the hand-generated header, + enumerant BEGIN/END_RANGE enums are named the same, etc. The ordering of + declarations is unlike the hand-generated header, and probably always + will because it results from a type/enum/function dependency analysis. + Some of this can be forced by being more explicit about it, if that is a + big deal. +* 2015/06/02 - + Per WG signoff, converted hex constant values to decimal (for + non-bitmasks) and VK_BIT macros to 'bitpos' attributes in the XML and + hex constants in the header. Updated schema to match. Changed tag + to . +* 2015/06/03 - + Moved into new 'vulkan' tree (did not bother preserving history in + previous repo). Added semantic knowledge about structs and unions to + tags instead of just imbedding C struct definitions. Improved + registry.rnc schema a bit. +* 2015/06/07 - + Incorporate feedback from F2F including Python 3 and Windows fixes to + the scripts. Add documentation to readme.pdf. Fold in multiple merge + requests resulting from action items agreed at the F2F, to prepare + for everyone moving to XML instead of directly editing the header. +* 2015/06/20 - + Add vulkan-docs target and instructions for installing python3 and + python-lxml for Windows. +* 2015/08/13 - + Bring documentation up to date with Makefile targets (default is now + ../include/vulkan.h). +* 2015/09/02 - + Update README with required (or known working) versions of toolchain + components. +* 2015/09/02 - + Move include/vulkan.h to vulkan/vulkan.h so #include "vulkan/vulkan.h" + is the normal usage (Bug 14576). +* 2016/02/12 - + Update README and remove old files to stage for public release. +* 2016/05/31 - + Remove dependency on lxml. +* 2016/07/27 - + Update documentation for changes to schema and generator scripts. +* 2016/08/26 - + Move README to an asciidoc file and update for the single-branch model. + Use 'clean' target to remove generated files in both spec source and + registry Makefiles. diff --git a/src/spec/cgenerator.py b/src/spec/cgenerator.py index 50d50c3e..c0fca59c 100644 --- a/src/spec/cgenerator.py +++ b/src/spec/cgenerator.py @@ -281,6 +281,7 @@ class COutputGenerator(OutputGenerator): # Prefix body = "\ntypedef enum " + groupName + " {\n" + # @@ Should use the type="bitmask" attribute instead isEnum = ('FLAG_BITS' not in expandPrefix) # Loop over the nested 'enum' tags. Keep track of the minimum and @@ -295,14 +296,11 @@ class COutputGenerator(OutputGenerator): (numVal,strVal) = self.enumToValue(elem, True) name = elem.get('name') - # Extension enumerants are only included if they are requested - # in addExtensions or match defaultExtensions. - if (elem.get('extname') is None or - re.match(self.genOpts.addExtensions,elem.get('extname')) is not None or - self.genOpts.defaultExtensions == elem.get('supported')): + # Extension enumerants are only included if they are required + if (self.isEnumRequired(elem)): body += " " + name + " = " + strVal + ",\n" - if (isEnum and elem.get('extends') is None): + if (isEnum and elem.get('extends') is None): if (minName == None): minName = maxName = name minValue = maxValue = numVal diff --git a/src/spec/docgenerator.py b/src/spec/docgenerator.py index f4f2e365..9043eb83 100644 --- a/src/spec/docgenerator.py +++ b/src/spec/docgenerator.py @@ -226,11 +226,8 @@ class DocOutputGenerator(OutputGenerator): (numVal,strVal) = self.enumToValue(elem, True) name = elem.get('name') - # Extension enumerants are only included if they are requested - # in addExtensions or match defaultExtensions. - if (elem.get('extname') is None or - re.match(self.genOpts.addExtensions,elem.get('extname')) is not None or - self.genOpts.defaultExtensions == elem.get('supported')): + # Extension enumerants are only included if they are required + if (self.isEnumRequired(elem)): s += " " + name + " = " + strVal + ",\n" if (expand and isEnum and elem.get('extends') is None): diff --git a/src/spec/generator.py b/src/spec/generator.py index f5d84f86..52fed0ce 100644 --- a/src/spec/generator.py +++ b/src/spec/generator.py @@ -180,6 +180,8 @@ class GeneratorOptions: # name - enum name # genCmd(cmdinfo) - generate interface for a command # cmdinfo - CmdInfo for a command +# isEnumRequired(enumElem) - return True if this element is required +# elem - element to test # makeCDecls(cmd) - return C prototype and function pointer typedef for a # Element, as a list of two strings # cmd - Element for the @@ -411,6 +413,14 @@ class OutputGenerator: paramdecl += text + tail return newLen # + # isEnumRequired(elem) - return True if this element is + # required, False otherwise + # elem - element to test + def isEnumRequired(self, elem): + return (elem.get('extname') is None or + re.match(self.genOpts.addExtensions, elem.get('extname')) is not None or + self.genOpts.defaultExtensions == elem.get('supported')) + # # makeCDecls - return C prototype and function pointer typedef for a # command, as a two-element list of strings. # cmd - Element containing a tag diff --git a/src/spec/genvk.py b/src/spec/genvk.py index bdca986a..93e6fdfe 100755 --- a/src/spec/genvk.py +++ b/src/spec/genvk.py @@ -45,9 +45,9 @@ def makeREstring(list): # by specified short names. The generator options incorporate the following # parameters: # -# extensions - list of extension names to include -# protect - True if re-inclusion protection should be added to headers -# directory - path to directory in which to generate the target(s) +# extensions - list of extension names to include. +# protect - True if re-inclusion protection should be added to headers +# directory - path to directory in which to generate the target(s) def makeGenOpts(extensions = [], protect = True, directory = '.'): global genOpts genOpts = {} @@ -201,7 +201,7 @@ def makeGenOpts(extensions = [], protect = True, directory = '.'): # directory - directory to generate it in # protect - True if re-inclusion wrappers should be created # extensions - list of additional extensions to include in generated -# interfaces +# interfaces def genTarget(args): global genOpts @@ -228,6 +228,8 @@ def genTarget(args): write('No generator options for unknown target:', args.target, file=sys.stderr) +# -extension name - may be a single extension name, a a space-separated list +# of names, or a regular expression. if __name__ == '__main__': parser = argparse.ArgumentParser() @@ -263,7 +265,8 @@ if __name__ == '__main__': args = parser.parse_args() - print('extensions =', args.extension) + # This splits arguments which are space-separated lists + args.extension = [name for arg in args.extension for name in arg.split()] # Load & parse registry reg = Registry() diff --git a/src/spec/reg.py b/src/spec/reg.py index 0a63783a..98436a33 100755 --- a/src/spec/reg.py +++ b/src/spec/reg.py @@ -562,7 +562,7 @@ class Registry: # within the element. # For commands, there may be many in tags within the element. # For enums, no dependencies are allowed (though perhaps if you - # have a uint64 enum, it should require GLuint64). + # have a uint64 enum, it should require that type). genProc = None if (ftype == 'type'): genProc = self.gen.genType diff --git a/src/spec/registry.rnc b/src/spec/registry.rnc index 7419a953..9146668e 100644 --- a/src/spec/registry.rnc +++ b/src/spec/registry.rnc @@ -75,17 +75,17 @@ Types = element types { # name - name of this type, if not present in the tag # api - matches a api attribute, if present # requires - name of another type definition required by this one -# category - if present, "enum" indicates a matching -# block to generate an enumerated type for, and "struct" +# category - if present, 'enum' indicates a matching +# block to generate an enumerated type for, and 'struct' # causes special interpretation of the contents of the type # tag including ... TBD ... -# Other allowed values are "include", "define", "handle" and "bitmask", +# Other allowed values are 'include', 'define', 'handle' and 'bitmask', # which don't change syntactic interpretation but allow organization in # the generated header. # comment - unused -# parent - only applicable if category is "handle". Notes another type with -# the "handle" category that acts as a parent object for this type. -# returnedonly - only applicable if category is "struct". Notes that this +# parent - only applicable if category is 'handle'. Notes another type with +# the 'handle' category that acts as a parent object for this type. +# returnedonly - only applicable if category is 'struct'. Notes that this # struct is going to be filled in by the API, rather than an application # filling it out and passing it to the API. # For types without a category, contents include @@ -93,8 +93,8 @@ Types = element types { # - contains name of the type being defined # - contains name of types used to define this type. There # may be multiple imbedded tags -# For types with category "enum", contents should be empty -# For types with category "struct", contents should be one or more +# For types with category 'enum', contents should be empty +# For types with category 'struct', contents should be one or more # - like for a struct or union member # len - if the member is an array, len may be one or more of the following # things, separated by commas (one for each array indirection): another @@ -161,7 +161,7 @@ Type = element type { # match a name to trigger generation of the type. # start, end - beginning and end of a numeric range # vendor - owner of the numeric range -# type - "enum" or "bitmask", if present +# type - 'enum' or 'bitmask', if present # comment - unused Enums = element enums { attribute name { text } ? , @@ -184,7 +184,7 @@ Enums = element enums { # Ways to specify the enumerant value: # value - integer (including hex) value of the enumerant # bitpos - integer bit position of the enumerant in a bitmask -# offset, [dir] - integer offset and direction ("-" for negative, +# offset, [dir] - integer offset and direction ('-' for negative, # or positive if not specified) from a base value # # value and bitpos allow, and offset/dir require, the attribute: @@ -192,7 +192,7 @@ Enums = element enums { # # Other attributes: # api - matches a api attribute, if present -# type - "u" (unsigned), "ull" (uint64), or integer if not present +# type - 'u' (unsigned), 'ull' (uint64), or integer if not present # name - enumerant name # alias - another enumerant this is semantically identical to # comment - unused @@ -350,10 +350,13 @@ Extensions = element extensions { # name - extension name string # number - extension number (positive integer, should be unique) # protect - C preprocessor symbol to conditionally define the interface -# supported - profile name(s) supporting this extension, e.g. "vulkan" -# or "disabled" to never generate output. # author - name of the author (usually a company or project name) # contact - contact responsible for the tag (name and contact information) +# type - 'device' or 'instance', if present +# requires - commas-separated list of extension names required by this +# extension +# supported - profile name(s) supporting this extension, e.g. 'vulkan' +# or 'disabled' to never generate output. # In addition, / tags also support an api attribute: # api - only require/remove these features for the matching API. # Not a regular expression. @@ -361,9 +364,11 @@ Extension = element extension { Name , attribute number { Integer } ?, attribute protect { text } ?, - attribute supported { StringGroup } ? , attribute author { text } ? , attribute contact { text } ? , + attribute type { text } ?, + attribute requires { text } ?, + attribute supported { StringGroup } ? , Comment ? , ( element require { diff --git a/src/spec/registry.txt b/src/spec/registry.txt index eabe7d38..b1435891 100644 --- a/src/spec/registry.txt +++ b/src/spec/registry.txt @@ -93,21 +93,24 @@ You will need some tools installed. For Linux systems, you will need the following packages installed (Debian package names are noted, Ubuntu package names are probably the same). - * Python 3.x (+python3+) - * Libxml (+libxml2+) - * A make tool, such as GNU make + * Python 3 (python3, version: 3.4.2) + * g++/gcc 4.9 (g++-4.9 / gcc-4.9, version: 4.9.2-10 - gcc 4.8 also + reported to work, just needs to support the -std=c++11 target) + * GNU make (make version: 4.0.8-1; older versions probably OK) + * Jing (jing version: 20131210+dfsg+1-1; needed only for optional XML + validation) The toolchain has also been run successfully on Microsoft Windows in the Cygwin environment, and the individual Python-based components of the toolchain can be run directly from the Windows command line. More details on -this are under +src/spec/README+ in Github. +this are under +src/spec/README.adoc+ in Github. Once you have the right tools installed, perform the following steps: * Check out the +Vulkan-Docs+ repository linked above from Khronos Github (there are instructions at the link) * Go to +vulkan/src/spec+ in your checked-out repo - * Invoke +make clobber ; make install+ + * Invoke +make clean ; make install+ This should regenerate +vulkan.h+ and install it in +../vulkan/vulkan.h+. The result should be identical to the version you @@ -117,45 +120,31 @@ just pulled from Github. They can be compared by, for example: Other Makefile targets include: - * +vulkan-docs+ - regenerate the API specification and reference page - asciidoc include files in +vulkan/doc/specs/vulkan/+ under the - subdirectories +enums+, +flags+, +protos+, and +structs+. These - files are pulled in by the ref pages and API spec to put function - prototypes and struct and enum declarations in documentation. -+ --- -You should probably _not_ update these files if you are -proposing an API change - just the +vulkan.h+ header. When a git -merge is accepted including your change, the docs will be updated at -that time. Including the dozens of include files in your merge makes -it hard to read and adds no information beyond the header updates. -Sometimes it is useful to include just one or two of the include -files for context of a global change, however. - -However, you are strongly encouraged to update the -*non*-autogenerated docs under +vulkan/doc/specs/vulkan/man/*.txt+ to -reflect API changes. --- - * +full_install+ - equivalent to +install+ followed by +vulkan-docs+. * +validate+ - validate +vk.xml+ against the XML schema. Recommended if you are making nontrivial changes. * +doc_install+ - regenerate this document from the asciidoc source and install it. Most people will never need to do this. If you do, you must have the asciidoc toolchain (also used to build the Vulkan API Specification) installed. + * The asciidoc includes used by the Specification and Reference Pages are + generated by the 'make generated' target in +../../doc/specs/vulkan/+, + although they use the scripts and XML in this directory. These files are + no longer checked into the git tree, but generated dynamically when + building the specs. -If you just want to modify the API, changing +vk.xml+ and running -+make+ should be all that is needed. See <> for some -examples of modifying the XML. +If you just want to modify the API, changing +vk.xml+ and running +make+ +should be all that is needed. See <> for some examples of +modifying the XML. If you want to repurpose the registry for reasons other than header file and ref page include generation, or to generate headers for languages other than C, start with the Makefile rules and inspect the files +vk.xml+, +genvk.py+, +reg.py+, and +generator.py+. -If you are using other platforms, merge requests with additional +If you are using other platforms, issues or merge requests with additional documentation on using the tools on those platforms would be very helpful. + == Header Generation Script - +genvk.py+ When generating header files using the +genvk.py+ script, an API name @@ -170,6 +159,7 @@ The generator script is intended to be generalizable to other languages by writing new generator classes. Such generators would have to rewrite the C types and definitions in the XML to something appropriate to their language. + == Registry Processing Script - +reg.py+ XML processing is done in +reg.py+, which contains several objects and @@ -177,12 +167,21 @@ methods for loading registries and extracting interfaces and extensions for use in header generation. There is some internal documentation in the form of comments, although nothing more extensive exists yet. + == Output Generator Script - +generator.py+ Once the registry is loaded, the +COutputGenerator+ class defined in +generator.py+ is used to create a header file. The +DocOutputGenerator+ class is used to create the asciidoc include files. Output generators for other purposes can be added as needed. +There are a variety of output generators included: + +* +cgenerator.py+ - generate C header file +* +docgenerator.py+ - generate asciidoc includes for APIs +* +hostsyncgenerator.py+ - generate host sync table includes for APIs +* +validitygenerator.py+ - generate validity language includes +* +pygenerator.py+ - generate a Python dictionary-based encoding of portions + of the registry, used during spec generation. [[schema]] @@ -902,14 +901,6 @@ be implemented against. the Vulkan Specification. Example: +name="VK_VERSION_1_0"+. * attr:number - required. A decimal number which is the registered, unique extension number for attr:name. - * attr:supported - required. A regular expression with an implicit +^+ and - +$+ bracketing it, which should match the attr:api tag of a set of - tag:feature tags. - * attr:protect - optional. An additional preprocessor token used to - protect an extension definition. Usually another feature or - extension attr:name. Rarely used, for odd circumstances where the - definition of an extension requires another extension or a header - file to be defined first. * attr:author - optional. The author name, such as a full company name. If not present, this can be taken from the corresponding tag:tag attribute. However, +EXT+ and other multi-vendor extensions @@ -920,6 +911,18 @@ be implemented against. individual name together with email address, Github username, or other contact information. If not present, this can be taken from the corresponding tag:tag attribute just like attr:author. + * attr:type - optional. Must be either +'device'+ or +'instance'+, if + present. + * attr:requires - optional. Comma-separated list of extension names this + extension requires to be supported. + * attr:protect - optional. An additional preprocessor token used to + protect an extension definition. Usually another feature or + extension attr:name. Rarely used, for odd circumstances where the + definition of an extension requires another extension or a header + file to be defined first. + * attr:supported - required. A regular expression with an implicit +^+ and + +$+ bracketing it, which should match the attr:api tag of a set of + tag:feature tags. * attr:comment - optional. Arbitrary string (unused). == Contents of tag:extension tags @@ -1337,8 +1340,8 @@ required tag:type is: -------------------------------------- In this case, the type +VkInstance+ is defined by a special compile-time -macro which defines it as a derived class of +VkObject+ (for C++) or a -less typesafe definition for (for C). This macro is not part of the type +macro which defines it as a derived class of +VkObject+ (for `C++`) or a +less typesafe definition (for C). This macro is not part of the type dependency analysis, just the boilerplate used in the header. If these are the only tag:feature dependencies in +vk.xml+, the @@ -1753,6 +1756,9 @@ files and Python scripts are logged in Github history. [[changelog]] = Change Log + * 2016/08/26 - Update for the single-branch model. + * 2016/07/28 - Add attr:type and attr:requires attributes to tag:extension + tags. * 2016/02/22 - Change math markup in attr:len attributes to use asciidoc `latexmath:[$` and `$]` delimiters. * 2016/02/19 - Add attr:successcodes and attr:errorcodes attributes of diff --git a/src/spec/validitygenerator.py b/src/spec/validitygenerator.py index ceef6b2d..60cf4cca 100644 --- a/src/spec/validitygenerator.py +++ b/src/spec/validitygenerator.py @@ -972,26 +972,37 @@ class ValidityOutputGenerator(OutputGenerator): return None - def makeSuccessCodes(self, cmd, name): + # Check each enumerant name in the enums list and remove it if not + # required by the generator. This allows specifying success and error + # codes for extensions that are only included in validity when needed + # for the spec being targeted. + def findRequiredEnums(self, enums): + out = [] + for enum in enums: + # Unpleasantly breaks encapsulation. Should be a method in the registry class + ei = self.registry.lookupElementInfo(enum, self.registry.enumdict) + if (ei == None): + self.logMsg('warn', 'findRequiredEnums: enum', enum, 'is in an attribute list but is not in the registry') + elif (ei.required): + out.append(enum) + else: + self.logMsg('diag', 'findRequiredEnums: enum', enum, 'IS NOT required, skipping') + return out + def makeSuccessCodes(self, cmd, name): successcodes = cmd.attrib.get('successcodes') if successcodes is not None: - - successcodeentry = '' - successcodes = successcodes.split(',') - return '* ename:' + '\n* ename:'.join(successcodes) - + successcodes = self.findRequiredEnums(successcodes.split(',')) + if len(successcodes) > 0: + return '* ename:' + '\n* ename:'.join(successcodes) return None def makeErrorCodes(self, cmd, name): - errorcodes = cmd.attrib.get('errorcodes') if errorcodes is not None: - - errorcodeentry = '' - errorcodes = errorcodes.split(',') - return '* ename:' + '\n* ename:'.join(errorcodes) - + errorcodes = self.findRequiredEnums(errorcodes.split(',')) + if len(errorcodes) > 0: + return '* ename:' + '\n* ename:'.join(errorcodes) return None # @@ -1047,6 +1058,25 @@ class ValidityOutputGenerator(OutputGenerator): self.writeInclude('structs', typename, None, None, None, None, None) # + # Group (e.g. C "enum" type) generation. + # For the validity generator, this just tags individual enumerants + # as required or not. + def genGroup(self, groupinfo, groupName): + OutputGenerator.genGroup(self, groupinfo, groupName) + + groupElem = groupinfo.elem + + # Loop over the nested 'enum' tags. Keep track of the minimum and + # maximum numeric values, if they can be determined; but only for + # core API enumerants, not extension enumerants. This is inferred + # by looking for 'extends' attributes. + for elem in groupElem.findall('enum'): + name = elem.get('name') + ei = self.registry.lookupElementInfo(name, self.registry.enumdict) + + # Tag enumerant as required or not + ei.required = self.isEnumRequired(elem) + # # Type Generation def genType(self, typeinfo, typename): OutputGenerator.genType(self, typeinfo, typename) diff --git a/src/spec/vk.xml b/src/spec/vk.xml index 2bc9fd09..93a01c0f 100644 --- a/src/spec/vk.xml +++ b/src/spec/vk.xml @@ -86,6 +86,9 @@ maintained in the master branch of the Khronos Vulkan Github project. + + + @@ -101,16 +104,18 @@ maintained in the master branch of the Khronos Vulkan Github project. // Vulkan 1.0 version number #define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0) // Version of this file -#define VK_HEADER_VERSION 24 +#define VK_HEADER_VERSION 25 #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 @@ -205,6 +210,8 @@ maintained in the master branch of the Khronos Vulkan Github project. typedef VkFlags VkXcbSurfaceCreateFlagsKHR; typedef VkFlags VkDebugReportFlagsEXT; + typedef VkFlags VkExternalMemoryHandleTypeFlagsNV; + typedef VkFlags VkExternalMemoryFeatureFlagsNV; VK_DEFINE_HANDLE(VkInstance) @@ -337,6 +344,8 @@ maintained in the master branch of the Khronos Vulkan Github project. + + typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( @@ -1053,10 +1062,10 @@ maintained in the master branch of the Khronos Vulkan Github project. const uint32_t* pCode pname:codeSize must: be greater than 0 - pname:codeSize must: be a multiple of 4 - pname:pCode must: point to valid SPIR-V code, formatted and packed as described by https://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html[the SPIR-V Specification v1.0] - pname:pCode must: adhere to the validation rules described by the <<spirvenv-module-validation, Validation Rules within a Module>> section of the <<spirvenv-capabilities,SPIR-V Environment>> appendix - pname:pCode must: declare the code:Shader capability + pname:codeSize must: be a multiple of 4. If the +VK_NV_glsl_shader extension+ is enabled and pname:pCode references GLSL code pname:codeSize can be a multiple of 1 + pname:pCode must: point to valid SPIR-V code, formatted and packed as described by the <<Khronos SPIR-V Specification>>. If the +VK_NV_glsl_shader+ extension is enabled pname:pCode can instead reference valid GLSL code and must: be written to the +GL_KHR_vulkan_glsl+ extension specification + pname:pCode must: adhere to the validation rules described by the <<spirvenv-module-validation, Validation Rules within a Module>> section of the <<spirvenv-capabilities,SPIR-V Environment>> appendix. If the +VK_NV_glsl_shader+ extension is enabled pname:pCode can be valid GLSL code with respect to the +GL_KHR_vulkan_glsl+ GLSL extension specification + pname:pCode must: declare the code:Shader capability for SPIR-V code pname:pCode mustnot: declare any capability that is not supported by the API, as described by the <<spirvenv-module-validation, Capabilities>> section of the <<spirvenv-capabilities,SPIR-V Environment>> appendix If pname:pCode declares any of the capabilities that are listed as not required by the implementation, the relevant feature must: be enabled, as listed in the <<spirvenv-capabilities-table,SPIR-V Environment>> appendix @@ -1477,7 +1486,7 @@ maintained in the master branch of the Khronos Vulkan Github project. If pname:unnormalizedCoordinates is ename:VK_TRUE, pname:anisotropyEnable must: be ename:VK_FALSE If pname:unnormalizedCoordinates is ename:VK_TRUE, pname:compareEnable must: be ename:VK_FALSE If any of pname:addressModeU, pname:addressModeV or pname:addressModeW are ename:VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER, pname:borderColor must: be a valid elink:VkBorderColor value - If the VK_KHR_mirror_clamp_to_edge extension is not enabled, pname:addressModeU, pname:addressModeV and pname:addressModeW mustnot: be ename:VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE + If the +VK_KHR_sampler_mirror_clamp_to_edge+ extension is not enabled, pname:addressModeU, pname:addressModeV and pname:addressModeW mustnot: be ename:VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE If pname:compareEnable is ename:VK_TRUE, pname:compareOp must: be a valid elink:VkCompareOp value @@ -2139,6 +2148,11 @@ maintained in the master branch of the Khronos Vulkan Github project. PFN_vkDebugReportCallbackEXT pfnCallback void* pUserData + + VkStructureType sType + const void* pNext + uint64_t enabledValidationFlags + VkStructureType sType const void* pNext @@ -2195,6 +2209,45 @@ maintained in the master branch of the Khronos Vulkan Github project. If pname:buffer is not sname:VK_NULL_HANDLE, sname:VkMemoryAllocateInfo::pname:allocationSize must: equal the sname:VkMemoryRequirements::pname:size of the buffer + + VkImageFormatProperties imageFormatProperties + VkExternalMemoryFeatureFlagsNV externalMemoryFeatures + VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes + VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes + + + VkStructureType sType + const void* pNext + VkExternalMemoryHandleTypeFlagsNV handleTypes + + + VkStructureType sType + const void* pNext + VkExternalMemoryHandleTypeFlagsNV handleTypes + + + VkStructureType sType + const void* pNext + VkExternalMemoryHandleTypeFlagsNV handleType + HANDLE handle + + + VkStructureType sType + const void* pNext + const SECURITY_ATTRIBUTES* pAttributes + DWORD dwAccess + + + 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 + @@ -3004,6 +3057,17 @@ maintained in the master branch of the Khronos Vulkan Github project. + + + + + + + + + + + @@ -3098,7 +3162,7 @@ maintained in the master branch of the Khronos Vulkan Github project. uint32_t* pPropertyCount VkLayerProperties* pProperties - + VkResult vkEnumerateInstanceExtensionProperties const char* pLayerName uint32_t* pPropertyCount @@ -3517,7 +3581,7 @@ maintained in the master branch of the Khronos Vulkan Github project. If no sname:VkAllocationCallbacks were provided when pname:imageView was created, pname:pAllocator must: be `NULL` - + VkResult vkCreateShaderModule VkDevice device const VkShaderModuleCreateInfo* pCreateInfo @@ -3568,7 +3632,7 @@ maintained in the master branch of the Khronos Vulkan Github project. pname:dstCache mustnot: appear in the list of source caches - + VkResult vkCreateGraphicsPipelines VkDevice device VkPipelineCache pipelineCache @@ -3580,7 +3644,7 @@ maintained in the master branch of the Khronos Vulkan Github project. If the pname:flags member of any given element of pname:pCreateInfos contains the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and the pname:basePipelineIndex member of that same element is not `-1`, pname:basePipelineIndex must: be less than the index into pname:pCreateInfos that corresponds to that element - + VkResult vkCreateComputePipelines VkDevice device VkPipelineCache pipelineCache @@ -4791,7 +4855,7 @@ maintained in the master branch of the Khronos Vulkan Github project. pname:queueFamilyIndex must: be less than pname:pQueueFamilyPropertyCount returned by fname:vkGetPhysicalDeviceQueueFamilyProperties for the given pname:physicalDevice - + VkResult vkCreateDebugReportCallbackEXT VkInstance instance const VkDebugReportCallbackCreateInfoEXT* pCreateInfo @@ -4862,6 +4926,90 @@ maintained in the master branch of the Khronos Vulkan Github project. VkCommandBuffer commandBuffer VkDebugMarkerMarkerInfoEXT* pMarkerInfo + + VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV + VkPhysicalDevice physicalDevice + VkFormat format + VkImageType type + VkImageTiling tiling + VkImageUsageFlags usage + VkImageCreateFlags flags + VkExternalMemoryHandleTypeFlagsNV externalHandleType + VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties + + + VkResult vkGetMemoryWin32HandleNV + VkDevice device + VkDeviceMemory memory + VkExternalMemoryHandleTypeFlagsNV handleType + HANDLE* pHandle + + + void vkCmdDrawIndirectCountAMD + VkCommandBuffer commandBuffer + VkBuffer buffer + VkDeviceSize offset + VkBuffer countBuffer + VkDeviceSize countBufferOffset + uint32_t maxDrawCount + uint32_t stride + + pname:offset must: be a multiple of `4` + pname:countBufferOffset must: be a multiple of `4` + pname:stride must: be a multiple of `4` and must: be greater than or equal to sizeof(sname:VkDrawIndirectCommand) + If pname:maxDrawCount is greater than or equal to `1`, (pname:stride x (pname:maxDrawCount - 1) + pname:offset + sizeof(sname:VkDrawIndirectCommand)) must: be less than or equal to the size of pname:buffer + If the <<features-features-drawIndirectFirstInstance,drawIndirectFirstInstance>> feature is not enabled, all the pname:firstInstance members of the sname:VkDrawIndirectCommand structures accessed by this command must: be code:0 + For each set _n_ that is statically used by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS, a descriptor set must: have been bound to _n_ at ename:VK_PIPELINE_BIND_POINT_GRAPHICS, with a sname:VkPipelineLayout that is compatible for set _n_, with the sname:VkPipelineLayout used to create the current sname:VkPipeline, as described in <<descriptorsets-compatibility>> + For each push constant that is statically used by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS, a push constant value must: have been set for ename:VK_PIPELINE_BIND_POINT_GRAPHICS, with a sname:VkPipelineLayout that is compatible for push constants, with the sname:VkPipelineLayout used to create the current sname:VkPipeline, as described in <<descriptorsets-compatibility>> + Descriptors in each bound descriptor set, specified via fname:vkCmdBindDescriptorSets, must: be valid if they are statically used by the currently bound sname:VkPipeline object, specified via fname:vkCmdBindPipeline + All vertex input bindings accessed via vertex input variables declared in the vertex shader entry point's interface must: have valid buffers bound + A valid graphics pipeline must: be bound to the current command buffer with ename:VK_PIPELINE_BIND_POINT_GRAPHICS + If the sname:VkPipeline object currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS requires any dynamic state, that state must: have been set on the current command buffer + If the count stored in pname:countBuffer is equal to `1`, (pname:offset + sizeof(sname:VkDrawIndirectCommand)) must: be less than or equal to the size of pname:buffer + If the count stored in pname:countBuffer is greater than `1`, (pname:stride x (pname:drawCount - 1) + pname:offset + sizeof(sname:VkDrawIndirectCommand)) must: be less than or equal to the size of pname:buffer + The count stored in pname:countBuffer must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxDrawIndirectCount + Every input attachment used by the current subpass must: be bound to the pipeline via a descriptor set + If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS uses unnormalized coordinates, it mustnot: be used to sample from any sname:VkImage with a sname:VkImageView of the type ename:VK_IMAGE_VIEW_TYPE_3D, ename:VK_IMAGE_VIEW_TYPE_CUBE, ename:VK_IMAGE_VIEW_TYPE_1D_ARRAY, ename:VK_IMAGE_VIEW_TYPE_2D_ARRAY or ename:VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage + If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS uses unnormalized coordinates, it mustnot: be used with any of the SPIR-V `OpImageSample*` or `OpImageSparseSample*` instructions with code:ImplicitLod, code:Dref or code:Proj in their name, in any shader stage + If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS uses unnormalized coordinates, it mustnot: be used with any of the SPIR-V `OpImageSample*` or `OpImageSparseSample*` instructions that includes a lod bias or any offset values, in any shader stage + If the <<features-features-robustBufferAccess,robust buffer access>> feature is not enabled, and any shader stage in the sname:VkPipeline object currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a uniform buffer, it mustnot: access values outside of the range of that buffer specified in the currently bound descriptor set + If the <<features-features-robustBufferAccess,robust buffer access>> feature is not enabled, and any shader stage in the sname:VkPipeline object currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage buffer, it mustnot: access values outside of the range of that buffer specified in the currently bound descriptor set + Any sname:VkImageView being sampled with ename:VK_FILTER_LINEAR as a result of this command must: be of a format which supports linear filtering, as specified by the ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in sname:VkFormatProperties::pname:linearTilingFeatures (for a linear image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an optimally tiled image) returned by fname:vkGetPhysicalDeviceFormatProperties + + + + void vkCmdDrawIndexedIndirectCountAMD + VkCommandBuffer commandBuffer + VkBuffer buffer + VkDeviceSize offset + VkBuffer countBuffer + VkDeviceSize countBufferOffset + uint32_t maxDrawCount + uint32_t stride + + pname:offset must: be a multiple of `4` + pname:countBufferOffset must: be a multiple of `4` + pname:stride must: be a multiple of `4` and must: be greater than or equal to sizeof(sname:VkDrawIndirectCommand) + If pname:maxDrawCount is greater than or equal to `1`, (pname:stride x (pname:maxDrawCount - 1) + pname:offset + sizeof(sname:VkDrawIndirectCommand)) must: be less than or equal to the size of pname:buffer + If the <<features-features-drawIndirectFirstInstance,drawIndirectFirstInstance>> feature is not enabled, all the pname:firstInstance members of the sname:VkDrawIndexedIndirectCommand structures accessed by this command must: be code:0 + For each set _n_ that is statically used by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS, a descriptor set must: have been bound to _n_ at ename:VK_PIPELINE_BIND_POINT_GRAPHICS, with a sname:VkPipelineLayout that is compatible for set _n_, with the sname:VkPipelineLayout used to create the current sname:VkPipeline, as described in <<descriptorsets-compatibility>> + For each push constant that is statically used by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS, a push constant value must: have been set for ename:VK_PIPELINE_BIND_POINT_GRAPHICS, with a sname:VkPipelineLayout that is compatible for push constants, with the sname:VkPipelineLayout used to create the current sname:VkPipeline, as described in <<descriptorsets-compatibility>> + Descriptors in each bound descriptor set, specified via fname:vkCmdBindDescriptorSets, must: be valid if they are statically used by the currently bound sname:VkPipeline object, specified via fname:vkCmdBindPipeline + All vertex input bindings accessed via vertex input variables declared in the vertex shader entry point's interface must: have valid buffers bound + A valid graphics pipeline must: be bound to the current command buffer with ename:VK_PIPELINE_BIND_POINT_GRAPHICS + If the sname:VkPipeline object currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS requires any dynamic state, that state must: have been set on the current command buffer + If count stored in pname:countBuffer is equal to `1`, (pname:offset + sizeof(sname:VkDrawIndexedIndirectCommand)) must: be less than or equal to the size of pname:buffer + If count stored in pname:countBuffer is greater than `1`, (pname:stride x (pname:drawCount - 1) + pname:offset + sizeof(sname:VkDrawIndexedIndirectCommand)) must: be less than or equal to the size of pname:buffer + pname:drawCount must: be less than or equal to sname:VkPhysicalDeviceLimits::pname:maxDrawIndirectCount + Every input attachment used by the current subpass must: be bound to the pipeline via a descriptor set + If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS uses unnormalized coordinates, it mustnot: be used to sample from any sname:VkImage with a sname:VkImageView of the type ename:VK_IMAGE_VIEW_TYPE_3D, ename:VK_IMAGE_VIEW_TYPE_CUBE, ename:VK_IMAGE_VIEW_TYPE_1D_ARRAY, ename:VK_IMAGE_VIEW_TYPE_2D_ARRAY or ename:VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage + If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS uses unnormalized coordinates, it mustnot: be used with any of the SPIR-V `OpImageSample*` or `OpImageSparseSample*` instructions with code:ImplicitLod, code:Dref or code:Proj in their name, in any shader stage + If any sname:VkSampler object that is accessed from a shader by the sname:VkPipeline currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS uses unnormalized coordinates, it mustnot: be used with any of the SPIR-V `OpImageSample*` or `OpImageSparseSample*` instructions that includes a lod bias or any offset values, in any shader stage + If the <<features-features-robustBufferAccess,robust buffer access>> feature is not enabled, and any shader stage in the sname:VkPipeline object currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a uniform buffer, it mustnot: access values outside of the range of that buffer specified in the currently bound descriptor set + If the <<features-features-robustBufferAccess,robust buffer access>> feature is not enabled, and any shader stage in the sname:VkPipeline object currently bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS accesses a storage buffer, it mustnot: access values outside of the range of that buffer specified in the currently bound descriptor set + Any sname:VkImageView being sampled with ename:VK_FILTER_LINEAR as a result of this command must: be of a format which supports linear filtering, as specified by the ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag in sname:VkFormatProperties::pname:linearTilingFeatures (for a linear image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an optimally tiled image) returned by fname:vkGetPhysicalDeviceFormatProperties + + @@ -5097,7 +5245,7 @@ maintained in the master branch of the Khronos Vulkan Github project. - + @@ -5111,7 +5259,7 @@ maintained in the master branch of the Khronos Vulkan Github project. - + @@ -5127,7 +5275,7 @@ maintained in the master branch of the Khronos Vulkan Github project. - + @@ -5151,7 +5299,7 @@ maintained in the master branch of the Khronos Vulkan Github project. - + @@ -5162,7 +5310,7 @@ maintained in the master branch of the Khronos Vulkan Github project. If more than one member of 'pSwapchains' was created from a display surface, all display surfaces referenced that refer to the same display must: use the same display mode. - + @@ -5173,7 +5321,7 @@ maintained in the master branch of the Khronos Vulkan Github project. - + @@ -5184,7 +5332,7 @@ maintained in the master branch of the Khronos Vulkan Github project. - + @@ -5195,7 +5343,7 @@ maintained in the master branch of the Khronos Vulkan Github project. - + @@ -5206,7 +5354,7 @@ maintained in the master branch of the Khronos Vulkan Github project. - + @@ -5216,7 +5364,7 @@ maintained in the master branch of the Khronos Vulkan Github project. - + @@ -5236,19 +5384,21 @@ maintained in the master branch of the Khronos Vulkan Github project. - + + + - + @@ -5276,18 +5426,19 @@ maintained in the master branch of the Khronos Vulkan Github project. Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a result of this command must: be of a format which supports cubic filtering, as specified by the ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in sname:VkFormatProperties::pname:linearTilingFeatures (for a linear image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an optimally tiled image) returned by fname:vkGetPhysicalDeviceFormatProperties - Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a result of this command mustnot: have an elink:VkImageViewType of ename:VK_IMAGE_VIEW_TYPE_3D, ename:VK_IMAGE_VIEW_TYPE_CUBE, or ename:VK_IMAGE_VIEW_TYPE_CUBE_ARRAY + Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a result of this command mustnot: have a elink:VkImageViewType of ename:VK_IMAGE_VIEW_TYPE_3D, ename:VK_IMAGE_VIEW_TYPE_CUBE, or ename:VK_IMAGE_VIEW_TYPE_CUBE_ARRAY Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a result of this command must: be of a format which supports cubic filtering, as specified by the ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in sname:VkFormatProperties::pname:linearTilingFeatures (for a linear image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an optimally tiled image) returned by fname:vkGetPhysicalDeviceFormatProperties - Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a result of this command mustnot: have an elink:VkImageViewType of ename:VK_IMAGE_VIEW_TYPE_3D, ename:VK_IMAGE_VIEW_TYPE_CUBE, or ename:VK_IMAGE_VIEW_TYPE_CUBE_ARRAY + Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a result of this command mustnot: have a elink:VkImageViewType of ename:VK_IMAGE_VIEW_TYPE_3D, ename:VK_IMAGE_VIEW_TYPE_CUBE, or ename:VK_IMAGE_VIEW_TYPE_CUBE_ARRAY Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a result of this command must: be of a format which supports cubic filtering, as specified by the ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in sname:VkFormatProperties::pname:linearTilingFeatures (for a linear image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an optimally tiled image) returned by fname:vkGetPhysicalDeviceFormatProperties - Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a result of this command mustnot: have an elink:VkImageViewType of ename:VK_IMAGE_VIEW_TYPE_3D, ename:VK_IMAGE_VIEW_TYPE_CUBE, or ename:VK_IMAGE_VIEW_TYPE_CUBE_ARRAY + Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a result of this command mustnot: have a elink:VkImageViewType of ename:VK_IMAGE_VIEW_TYPE_3D, ename:VK_IMAGE_VIEW_TYPE_CUBE, or ename:VK_IMAGE_VIEW_TYPE_CUBE_ARRAY Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a result of this command must: be of a format which supports cubic filtering, as specified by the ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in sname:VkFormatProperties::pname:linearTilingFeatures (for a linear image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an optimally tiled image) returned by fname:vkGetPhysicalDeviceFormatProperties - Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a result of this command mustnot: have an elink:VkImageViewType of ename:VK_IMAGE_VIEW_TYPE_3D, ename:VK_IMAGE_VIEW_TYPE_CUBE, or ename:VK_IMAGE_VIEW_TYPE_CUBE_ARRAY + Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a result of this command mustnot: have a elink:VkImageViewType of ename:VK_IMAGE_VIEW_TYPE_3D, ename:VK_IMAGE_VIEW_TYPE_CUBE, or ename:VK_IMAGE_VIEW_TYPE_CUBE_ARRAY Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a result of this command must: be of a format which supports cubic filtering, as specified by the ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in sname:VkFormatProperties::pname:linearTilingFeatures (for a linear image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an optimally tiled image) returned by fname:vkGetPhysicalDeviceFormatProperties - Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a result of this command mustnot: have an elink:VkImageViewType of ename:VK_IMAGE_VIEW_TYPE_3D, ename:VK_IMAGE_VIEW_TYPE_CUBE, or ename:VK_IMAGE_VIEW_TYPE_CUBE_ARRAY + Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a result of this command mustnot: have a elink:VkImageViewType of ename:VK_IMAGE_VIEW_TYPE_3D, ename:VK_IMAGE_VIEW_TYPE_CUBE, or ename:VK_IMAGE_VIEW_TYPE_CUBE_ARRAY Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a result of this command must: be of a format which supports cubic filtering, as specified by the ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in sname:VkFormatProperties::pname:linearTilingFeatures (for a linear image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an optimally tiled image) returned by fname:vkGetPhysicalDeviceFormatProperties - Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a result of this command mustnot: have an elink:VkImageViewType of ename:VK_IMAGE_VIEW_TYPE_3D, ename:VK_IMAGE_VIEW_TYPE_CUBE, or ename:VK_IMAGE_VIEW_TYPE_CUBE_ARRAY + Any slink:VkImageView being sampled with ename:VK_FILTER_CUBIC_IMG as a result of this command mustnot: have a elink:VkImageViewType of ename:VK_IMAGE_VIEW_TYPE_3D, ename:VK_IMAGE_VIEW_TYPE_CUBE, or ename:VK_IMAGE_VIEW_TYPE_CUBE_ARRAY If pname:filter is ename:VK_FILTER_CUBIC_IMG, pname:srcImage must: be of a format which supports cubic filtering, as specified by the ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG flag in sname:VkFormatProperties::pname:linearTilingFeatures (for a linear image) or sname:VkFormatProperties::pname:optimalTilingFeatures(for an optimally tiled image) returned by fname:vkGetPhysicalDeviceFormatProperties + If pname:filter is ename:VK_FILTER_CUBIC_IMG, pname:srcImage must: have a elink:VkImageType of ename:VK_IMAGE_TYPE_3D If either pname:magFilter or pname:minFilter is ename:VK_FILTER_CUBIC_IMG, pname:anisotropyEnable must: be ename:VK_FALSE @@ -5303,7 +5454,7 @@ maintained in the master branch of the Khronos Vulkan Github project. - + @@ -5324,13 +5475,13 @@ maintained in the master branch of the Khronos Vulkan Github project. - + - + @@ -5365,7 +5516,7 @@ maintained in the master branch of the Khronos Vulkan Github project. - + @@ -5379,7 +5530,6 @@ maintained in the master branch of the Khronos Vulkan Github project. If pname:buffer was not created with sname:VkDedicatedAllocationBufferCreateInfoNV::pname:dedicatedAllocation equal to ename:VK_TRUE, pname:memory must: not have been allocated dedicated for a specific buffer or image If pname:image was created with sname:VkDedicatedAllocationImageCreateInfoNV::pname:dedicatedAllocation equal to ename:VK_TRUE, pname:memory must: have been created with sname:VkDedicatedAllocationMemoryAllocateInfoNV::pname:image equal to pname:image and pname:memoryOffset must: be zero. If pname:image was not created with sname:VkDedicatedAllocationImageCreateInfoNV::pname:dedicatedAllocation equal to ename:VK_TRUE, pname:memory must: not have been allocated dedicated for a specific buffer or image - @@ -5418,10 +5568,12 @@ maintained in the master branch of the Khronos Vulkan Github project. - + - - + + + + @@ -5558,5 +5710,52 @@ maintained in the master branch of the Khronos Vulkan Github project. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/vulkan/vk_platform.h b/src/vulkan/vk_platform.h index c2232ec8..e51851a4 100644 --- a/src/vulkan/vk_platform.h +++ b/src/vulkan/vk_platform.h @@ -53,7 +53,7 @@ extern "C" #define VKAPI_PTR VKAPI_CALL #elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH < 7 #error "Vulkan isn't supported for the 'armeabi' NDK ABI" -#elif defined(__ANDROID__) && __ARM_ARCH >= 7 && __ARM_32BIT_STATE +#elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH >= 7 && __ARM_32BIT_STATE // On Android 32-bit ARM targets, Vulkan functions use the "hardfloat" // calling convention, i.e. float parameters are passed in registers. This // is true even if the rest of the application passes floats on the stack, diff --git a/src/vulkan/vulkan.h b/src/vulkan/vulkan.h index 4c047110..ca140b66 100644 --- a/src/vulkan/vulkan.h +++ b/src/vulkan/vulkan.h @@ -43,7 +43,7 @@ extern "C" { #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 24 +#define VK_HEADER_VERSION 25 #define VK_NULL_HANDLE 0 @@ -53,11 +53,13 @@ extern "C" { #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 @@ -211,6 +213,7 @@ typedef enum VkStructureType { 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_DEBUG_REPORT_VALIDATION_FLAGS_EXT = 1000011002, 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, @@ -218,6 +221,11 @@ typedef enum VkStructureType { 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_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_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), @@ -3727,7 +3735,7 @@ VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR( #define VK_EXT_debug_report 1 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) -#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 3 +#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 4 #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 @@ -3799,6 +3807,12 @@ typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)( void* pUserData); +typedef struct VkDebugReportLayerFlagsEXT { + VkStructureType sType; + const void* pNext; + uint64_t enabledValidationFlags; +} VkDebugReportLayerFlagsEXT; + typedef struct VkDebugReportCallbackCreateInfoEXT { VkStructureType sType; const void* pNext; @@ -3964,11 +3978,152 @@ typedef struct VkDedicatedAllocationMemoryAllocateInfoNV { +#define VK_AMD_draw_indirect_count 1 +#define VK_AMD_EXTENSION_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 +#define VK_AMD_EXTENSION_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_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 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 VkExternalMemoryHandleTypeFlagsNV; +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 */ + #ifdef __cplusplus } #endif