From 1ca0ea1ef0ed61ee2e2e818f9616a30e9fc70483 Mon Sep 17 00:00:00 2001 From: Jon Leech Date: Sat, 23 Jul 2016 03:15:48 -0700 Subject: [PATCH] Change log for July 22, 2016 Vulkan 1.0.22 spec update: * Bump API patch number and header version number to 22 for this update. Github Issues: * Translate the subpass self-dependency language into concrete validity statements, and added a validity statement about the restrictions on layout parameters (public issue 267). * Add validity requirement that slink:VkAttachmentDescription::pname:finalLayout and slink:VkAttachmentReference::pname:layout must not be ename:VK_IMAGE_LAYOUT_UNDEFINED or ename:VK_IMAGE_LAYOUT_PREINITIALIZED (public issue 268). * Clarify that slink:VkSubpassDescription::pname:pResolveAttachments layouts are used. Make language consistent with other attachment arrays (public issue 270). * Changed 64-bit definition for dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE to work for x32 platform in +vk.xml+ and the resulting +vulkan.h+ (public issue 282). * Add missing error return code for flink:vkEnumerateInstanceExtensionProperties and flink:vkEnumerateDeviceExtensionProperties (public issue 285) * Fix several cases of stext::VkStructName.memberName markup to stext::VkStructName::pname:memberName, to match other usage in the spec, and describe this markup in the style guide (public issue 286). * Modified validity language generation script to avoid redundant common ancestor language if covered by generic parent language, and used `Both' instead of `Each' when appropriate (public issue 288). Internal Issues: * Add language about behavior of flink:vkAllocateDescriptorSets when allocation fails due to fragmentation, a new error ename:VK_ERROR_FRAGMENTED_POOL, and a Note explaining the situation (internal issue 309). * For the features of code:PointSize, code:ClipDistance, and code:CullDistance, the SPIR-V capability is required to be declared on use (read or write) rather than on decoration (internal issue 359). * Have desktop versions of GLSL respect precision qualification (code:mediump and code:lowp) when compiling for Vulkan. These will get translated to SPIR-V's code:RelaxedPrecision decoration as they do with OpenGL ES versions of GLSL (ESSL). The default precision of all types is code:highp when using a desktop version (internal issue 360). * Add validity statement for slink:VkImageCreateInfo specifying that multisampled images must be two-dimensional, optimally tiled, and with a single mipmap level (internal issue 369). * Add validity statements to slink:VkImageViewCreateInfo disallowing creation of images or image views with no supported features. Made some slink:VkImageViewCreateInfo validity statements more precise and consistent. Added a Note to the <> chapter about formats with no features (internal issue 371). * Remove +manpages+ from default build targets. Nroff outputs containing imbedded latexmath will not render properly. Fixing this is a lot of work for limited use cases (internal issue 401). Other Commits: * Fix flink:vkRenderPassBeginInfo::pname:clearValueCount validity statement to be based on attachment indices rather than the number of cleared attachments (Vulkan-LoaderAndValidationLayers/issues/601). * Convert registry documentation from LaTeX to asciidoc source and rename from +src/spec/readme.tex+ to +src/spec/registry.txt+. * Fix lack of Oxford commas in validity language. * Lots of cleanup of generator scripts and Makefiles to move extension list for generator into the script arguments instead of the body of genvk.py, and express better dependencies between XML, scripts, and generated files. --- .gitignore | 4 +- ChangeLog.txt | 75 + doc/specs/misc/GL_KHR_vulkan_glsl.txt | 148 +- doc/specs/vulkan/Makefile | 289 ++- doc/specs/vulkan/{README.txt => README.adoc} | 9 +- doc/specs/vulkan/README.html | 48 +- doc/specs/vulkan/README.md | 2 +- .../vulkan/{ => api}/basetypes/VkBool32.txt | 0 .../{ => api}/basetypes/VkDeviceSize.txt | 0 .../vulkan/{ => api}/basetypes/VkFlags.txt | 0 .../{ => api}/basetypes/VkSampleMask.txt | 0 .../{ => api}/defines/VK_API_VERSION.txt | 0 .../{ => api}/defines/VK_API_VERSION_1_0.txt | 0 .../{ => api}/defines/VK_DEFINE_HANDLE.txt | 0 .../VK_DEFINE_NON_DISPATCHABLE_HANDLE.txt | 2 +- .../{ => api}/defines/VK_HEADER_VERSION.txt | 2 +- .../{ => api}/defines/VK_MAKE_VERSION.txt | 0 .../{ => api}/defines/VK_NULL_HANDLE.txt | 0 .../{ => api}/defines/VK_VERSION_MAJOR.txt | 0 .../{ => api}/defines/VK_VERSION_MINOR.txt | 0 .../{ => api}/defines/VK_VERSION_PATCH.txt | 0 .../{ => api}/enums/VkAccessFlagBits.txt | 0 .../enums/VkAttachmentDescriptionFlagBits.txt | 0 .../{ => api}/enums/VkAttachmentLoadOp.txt | 0 .../{ => api}/enums/VkAttachmentStoreOp.txt | 0 .../vulkan/{ => api}/enums/VkBlendFactor.txt | 0 .../vulkan/{ => api}/enums/VkBlendOp.txt | 0 .../vulkan/{ => api}/enums/VkBorderColor.txt | 0 .../enums/VkBufferCreateFlagBits.txt | 0 .../{ => api}/enums/VkBufferUsageFlagBits.txt | 0 .../enums/VkColorComponentFlagBits.txt | 0 .../{ => api}/enums/VkCommandBufferLevel.txt | 0 .../enums/VkCommandBufferResetFlagBits.txt | 0 .../enums/VkCommandBufferUsageFlagBits.txt | 0 .../enums/VkCommandPoolCreateFlagBits.txt | 0 .../enums/VkCommandPoolResetFlagBits.txt | 0 .../vulkan/{ => api}/enums/VkCompareOp.txt | 0 .../{ => api}/enums/VkComponentSwizzle.txt | 0 .../{ => api}/enums/VkCullModeFlagBits.txt | 0 .../{ => api}/enums/VkDependencyFlagBits.txt | 0 .../enums/VkDescriptorPoolCreateFlagBits.txt | 0 .../{ => api}/enums/VkDescriptorType.txt | 0 .../vulkan/{ => api}/enums/VkDynamicState.txt | 0 .../{ => api}/enums/VkFenceCreateFlagBits.txt | 0 doc/specs/vulkan/{ => api}/enums/VkFilter.txt | 0 doc/specs/vulkan/{ => api}/enums/VkFormat.txt | 0 .../enums/VkFormatFeatureFlagBits.txt | 0 .../vulkan/{ => api}/enums/VkFrontFace.txt | 0 .../{ => api}/enums/VkImageAspectFlagBits.txt | 0 .../{ => api}/enums/VkImageCreateFlagBits.txt | 0 .../vulkan/{ => api}/enums/VkImageLayout.txt | 0 .../vulkan/{ => api}/enums/VkImageTiling.txt | 0 .../vulkan/{ => api}/enums/VkImageType.txt | 0 .../{ => api}/enums/VkImageUsageFlagBits.txt | 0 .../{ => api}/enums/VkImageViewType.txt | 0 .../vulkan/{ => api}/enums/VkIndexType.txt | 0 .../enums/VkInternalAllocationType.txt | 0 .../vulkan/{ => api}/enums/VkLogicOp.txt | 0 .../{ => api}/enums/VkMemoryHeapFlagBits.txt | 0 .../enums/VkMemoryPropertyFlagBits.txt | 0 .../{ => api}/enums/VkPhysicalDeviceType.txt | 0 .../{ => api}/enums/VkPipelineBindPoint.txt | 0 .../enums/VkPipelineCacheHeaderVersion.txt | 0 .../enums/VkPipelineCreateFlagBits.txt | 0 .../enums/VkPipelineStageFlagBits.txt | 0 .../vulkan/{ => api}/enums/VkPolygonMode.txt | 0 .../{ => api}/enums/VkPrimitiveTopology.txt | 0 .../enums/VkQueryControlFlagBits.txt | 0 .../VkQueryPipelineStatisticFlagBits.txt | 0 .../{ => api}/enums/VkQueryResultFlagBits.txt | 0 .../vulkan/{ => api}/enums/VkQueryType.txt | 0 .../{ => api}/enums/VkQueueFlagBits.txt | 0 doc/specs/vulkan/{ => api}/enums/VkResult.txt | 1 + .../{ => api}/enums/VkSampleCountFlagBits.txt | 0 .../{ => api}/enums/VkSamplerAddressMode.txt | 0 .../{ => api}/enums/VkSamplerMipmapMode.txt | 0 .../{ => api}/enums/VkShaderStageFlagBits.txt | 0 .../vulkan/{ => api}/enums/VkSharingMode.txt | 0 .../enums/VkSparseImageFormatFlagBits.txt | 0 .../enums/VkSparseMemoryBindFlagBits.txt | 0 .../{ => api}/enums/VkStencilFaceFlagBits.txt | 0 .../vulkan/{ => api}/enums/VkStencilOp.txt | 0 .../{ => api}/enums/VkStructureType.txt | 0 .../{ => api}/enums/VkSubpassContents.txt | 0 .../enums/VkSystemAllocationScope.txt | 0 .../{ => api}/enums/VkVertexInputRate.txt | 0 .../vulkan/{ => api}/flags/VkAccessFlags.txt | 0 .../flags/VkAttachmentDescriptionFlags.txt | 0 .../{ => api}/flags/VkBufferCreateFlags.txt | 0 .../{ => api}/flags/VkBufferUsageFlags.txt | 0 .../flags/VkBufferViewCreateFlags.txt | 0 .../{ => api}/flags/VkColorComponentFlags.txt | 0 .../flags/VkCommandBufferResetFlags.txt | 0 .../flags/VkCommandBufferUsageFlags.txt | 0 .../flags/VkCommandPoolCreateFlags.txt | 0 .../flags/VkCommandPoolResetFlags.txt | 0 .../{ => api}/flags/VkCullModeFlags.txt | 0 .../{ => api}/flags/VkDependencyFlags.txt | 0 .../flags/VkDescriptorPoolCreateFlags.txt | 0 .../flags/VkDescriptorPoolResetFlags.txt | 0 .../VkDescriptorSetLayoutCreateFlags.txt | 0 .../{ => api}/flags/VkDeviceCreateFlags.txt | 0 .../flags/VkDeviceQueueCreateFlags.txt | 0 .../{ => api}/flags/VkEventCreateFlags.txt | 0 .../{ => api}/flags/VkFenceCreateFlags.txt | 0 .../{ => api}/flags/VkFormatFeatureFlags.txt | 0 .../flags/VkFramebufferCreateFlags.txt | 0 .../{ => api}/flags/VkImageAspectFlags.txt | 0 .../{ => api}/flags/VkImageCreateFlags.txt | 0 .../{ => api}/flags/VkImageUsageFlags.txt | 0 .../flags/VkImageViewCreateFlags.txt | 0 .../{ => api}/flags/VkInstanceCreateFlags.txt | 0 .../{ => api}/flags/VkMemoryHeapFlags.txt | 0 .../{ => api}/flags/VkMemoryMapFlags.txt | 0 .../{ => api}/flags/VkMemoryPropertyFlags.txt | 0 .../flags/VkPipelineCacheCreateFlags.txt | 0 .../VkPipelineColorBlendStateCreateFlags.txt | 0 .../{ => api}/flags/VkPipelineCreateFlags.txt | 0 ...VkPipelineDepthStencilStateCreateFlags.txt | 0 .../VkPipelineDynamicStateCreateFlags.txt | 0 ...kPipelineInputAssemblyStateCreateFlags.txt | 0 .../flags/VkPipelineLayoutCreateFlags.txt | 0 .../VkPipelineMultisampleStateCreateFlags.txt | 0 ...kPipelineRasterizationStateCreateFlags.txt | 0 .../VkPipelineShaderStageCreateFlags.txt | 0 .../{ => api}/flags/VkPipelineStageFlags.txt | 0 ...VkPipelineTessellationStateCreateFlags.txt | 0 .../VkPipelineVertexInputStateCreateFlags.txt | 0 .../VkPipelineViewportStateCreateFlags.txt | 0 .../{ => api}/flags/VkQueryControlFlags.txt | 0 .../flags/VkQueryPipelineStatisticFlags.txt | 0 .../flags/VkQueryPoolCreateFlags.txt | 0 .../{ => api}/flags/VkQueryResultFlags.txt | 0 .../vulkan/{ => api}/flags/VkQueueFlags.txt | 0 .../flags/VkRenderPassCreateFlags.txt | 0 .../{ => api}/flags/VkSampleCountFlags.txt | 0 .../{ => api}/flags/VkSamplerCreateFlags.txt | 0 .../flags/VkSemaphoreCreateFlags.txt | 0 .../flags/VkShaderModuleCreateFlags.txt | 0 .../{ => api}/flags/VkShaderStageFlags.txt | 0 .../flags/VkSparseImageFormatFlags.txt | 0 .../flags/VkSparseMemoryBindFlags.txt | 0 .../{ => api}/flags/VkStencilFaceFlags.txt | 0 .../flags/VkSubpassDescriptionFlags.txt | 0 .../funcpointers/PFN_vkAllocationFunction.txt | 0 .../funcpointers/PFN_vkFreeFunction.txt | 0 .../PFN_vkInternalAllocationNotification.txt | 0 .../PFN_vkInternalFreeNotification.txt | 0 .../PFN_vkReallocationFunction.txt | 0 .../funcpointers/PFN_vkVoidFunction.txt | 0 .../vulkan/{ => api}/handles/VkBuffer.txt | 0 .../vulkan/{ => api}/handles/VkBufferView.txt | 0 .../{ => api}/handles/VkCommandBuffer.txt | 0 .../{ => api}/handles/VkCommandPool.txt | 0 .../{ => api}/handles/VkDescriptorPool.txt | 0 .../{ => api}/handles/VkDescriptorSet.txt | 0 .../handles/VkDescriptorSetLayout.txt | 0 .../vulkan/{ => api}/handles/VkDevice.txt | 0 .../{ => api}/handles/VkDeviceMemory.txt | 0 .../vulkan/{ => api}/handles/VkEvent.txt | 0 .../vulkan/{ => api}/handles/VkFence.txt | 0 .../{ => api}/handles/VkFramebuffer.txt | 0 .../vulkan/{ => api}/handles/VkImage.txt | 0 .../vulkan/{ => api}/handles/VkImageView.txt | 0 .../vulkan/{ => api}/handles/VkInstance.txt | 0 .../{ => api}/handles/VkPhysicalDevice.txt | 0 .../vulkan/{ => api}/handles/VkPipeline.txt | 0 .../{ => api}/handles/VkPipelineCache.txt | 0 .../{ => api}/handles/VkPipelineLayout.txt | 0 .../vulkan/{ => api}/handles/VkQueryPool.txt | 0 .../vulkan/{ => api}/handles/VkQueue.txt | 0 .../vulkan/{ => api}/handles/VkRenderPass.txt | 0 .../vulkan/{ => api}/handles/VkSampler.txt | 0 .../vulkan/{ => api}/handles/VkSemaphore.txt | 0 .../{ => api}/handles/VkShaderModule.txt | 0 .../protos/vkAllocateCommandBuffers.txt | 0 .../protos/vkAllocateDescriptorSets.txt | 0 .../{ => api}/protos/vkAllocateMemory.txt | 0 .../{ => api}/protos/vkBeginCommandBuffer.txt | 0 .../{ => api}/protos/vkBindBufferMemory.txt | 0 .../{ => api}/protos/vkBindImageMemory.txt | 0 .../{ => api}/protos/vkCmdBeginQuery.txt | 0 .../{ => api}/protos/vkCmdBeginRenderPass.txt | 0 .../protos/vkCmdBindDescriptorSets.txt | 0 .../{ => api}/protos/vkCmdBindIndexBuffer.txt | 0 .../{ => api}/protos/vkCmdBindPipeline.txt | 0 .../protos/vkCmdBindVertexBuffers.txt | 0 .../{ => api}/protos/vkCmdBlitImage.txt | 0 .../protos/vkCmdClearAttachments.txt | 0 .../{ => api}/protos/vkCmdClearColorImage.txt | 0 .../protos/vkCmdClearDepthStencilImage.txt | 0 .../{ => api}/protos/vkCmdCopyBuffer.txt | 0 .../protos/vkCmdCopyBufferToImage.txt | 0 .../{ => api}/protos/vkCmdCopyImage.txt | 0 .../protos/vkCmdCopyImageToBuffer.txt | 0 .../protos/vkCmdCopyQueryPoolResults.txt | 0 .../vulkan/{ => api}/protos/vkCmdDispatch.txt | 0 .../protos/vkCmdDispatchIndirect.txt | 0 .../vulkan/{ => api}/protos/vkCmdDraw.txt | 0 .../{ => api}/protos/vkCmdDrawIndexed.txt | 0 .../protos/vkCmdDrawIndexedIndirect.txt | 0 .../{ => api}/protos/vkCmdDrawIndirect.txt | 0 .../vulkan/{ => api}/protos/vkCmdEndQuery.txt | 0 .../{ => api}/protos/vkCmdEndRenderPass.txt | 0 .../{ => api}/protos/vkCmdExecuteCommands.txt | 0 .../{ => api}/protos/vkCmdFillBuffer.txt | 0 .../{ => api}/protos/vkCmdNextSubpass.txt | 0 .../{ => api}/protos/vkCmdPipelineBarrier.txt | 0 .../{ => api}/protos/vkCmdPushConstants.txt | 0 .../{ => api}/protos/vkCmdResetEvent.txt | 0 .../{ => api}/protos/vkCmdResetQueryPool.txt | 0 .../{ => api}/protos/vkCmdResolveImage.txt | 0 .../protos/vkCmdSetBlendConstants.txt | 0 .../{ => api}/protos/vkCmdSetDepthBias.txt | 0 .../{ => api}/protos/vkCmdSetDepthBounds.txt | 0 .../vulkan/{ => api}/protos/vkCmdSetEvent.txt | 0 .../{ => api}/protos/vkCmdSetLineWidth.txt | 0 .../{ => api}/protos/vkCmdSetScissor.txt | 0 .../protos/vkCmdSetStencilCompareMask.txt | 0 .../protos/vkCmdSetStencilReference.txt | 0 .../protos/vkCmdSetStencilWriteMask.txt | 0 .../{ => api}/protos/vkCmdSetViewport.txt | 0 .../{ => api}/protos/vkCmdUpdateBuffer.txt | 0 .../{ => api}/protos/vkCmdWaitEvents.txt | 0 .../{ => api}/protos/vkCmdWriteTimestamp.txt | 0 .../{ => api}/protos/vkCreateBuffer.txt | 0 .../{ => api}/protos/vkCreateBufferView.txt | 0 .../{ => api}/protos/vkCreateCommandPool.txt | 0 .../protos/vkCreateComputePipelines.txt | 0 .../protos/vkCreateDescriptorPool.txt | 0 .../protos/vkCreateDescriptorSetLayout.txt | 0 .../{ => api}/protos/vkCreateDevice.txt | 0 .../vulkan/{ => api}/protos/vkCreateEvent.txt | 0 .../vulkan/{ => api}/protos/vkCreateFence.txt | 0 .../{ => api}/protos/vkCreateFramebuffer.txt | 0 .../protos/vkCreateGraphicsPipelines.txt | 0 .../vulkan/{ => api}/protos/vkCreateImage.txt | 0 .../{ => api}/protos/vkCreateImageView.txt | 0 .../{ => api}/protos/vkCreateInstance.txt | 0 .../protos/vkCreatePipelineCache.txt | 0 .../protos/vkCreatePipelineLayout.txt | 0 .../{ => api}/protos/vkCreateQueryPool.txt | 0 .../{ => api}/protos/vkCreateRenderPass.txt | 0 .../{ => api}/protos/vkCreateSampler.txt | 0 .../{ => api}/protos/vkCreateSemaphore.txt | 0 .../{ => api}/protos/vkCreateShaderModule.txt | 0 .../{ => api}/protos/vkDestroyBuffer.txt | 0 .../{ => api}/protos/vkDestroyBufferView.txt | 0 .../{ => api}/protos/vkDestroyCommandPool.txt | 0 .../protos/vkDestroyDescriptorPool.txt | 0 .../protos/vkDestroyDescriptorSetLayout.txt | 0 .../{ => api}/protos/vkDestroyDevice.txt | 0 .../{ => api}/protos/vkDestroyEvent.txt | 0 .../{ => api}/protos/vkDestroyFence.txt | 0 .../{ => api}/protos/vkDestroyFramebuffer.txt | 0 .../{ => api}/protos/vkDestroyImage.txt | 0 .../{ => api}/protos/vkDestroyImageView.txt | 0 .../{ => api}/protos/vkDestroyInstance.txt | 0 .../{ => api}/protos/vkDestroyPipeline.txt | 0 .../protos/vkDestroyPipelineCache.txt | 0 .../protos/vkDestroyPipelineLayout.txt | 0 .../{ => api}/protos/vkDestroyQueryPool.txt | 0 .../{ => api}/protos/vkDestroyRenderPass.txt | 0 .../{ => api}/protos/vkDestroySampler.txt | 0 .../{ => api}/protos/vkDestroySemaphore.txt | 0 .../protos/vkDestroyShaderModule.txt | 0 .../{ => api}/protos/vkDeviceWaitIdle.txt | 0 .../{ => api}/protos/vkEndCommandBuffer.txt | 0 .../vkEnumerateDeviceExtensionProperties.txt | 0 .../vkEnumerateDeviceLayerProperties.txt | 0 ...vkEnumerateInstanceExtensionProperties.txt | 0 .../vkEnumerateInstanceLayerProperties.txt | 0 .../protos/vkEnumeratePhysicalDevices.txt | 0 .../protos/vkFlushMappedMemoryRanges.txt | 0 .../{ => api}/protos/vkFreeCommandBuffers.txt | 0 .../{ => api}/protos/vkFreeDescriptorSets.txt | 0 .../vulkan/{ => api}/protos/vkFreeMemory.txt | 0 .../protos/vkGetBufferMemoryRequirements.txt | 0 .../protos/vkGetDeviceMemoryCommitment.txt | 0 .../{ => api}/protos/vkGetDeviceProcAddr.txt | 0 .../{ => api}/protos/vkGetDeviceQueue.txt | 0 .../{ => api}/protos/vkGetEventStatus.txt | 0 .../{ => api}/protos/vkGetFenceStatus.txt | 0 .../protos/vkGetImageMemoryRequirements.txt | 0 .../vkGetImageSparseMemoryRequirements.txt | 0 .../protos/vkGetImageSubresourceLayout.txt | 0 .../protos/vkGetInstanceProcAddr.txt | 0 .../protos/vkGetPhysicalDeviceFeatures.txt | 0 .../vkGetPhysicalDeviceFormatProperties.txt | 0 ...GetPhysicalDeviceImageFormatProperties.txt | 0 .../vkGetPhysicalDeviceMemoryProperties.txt | 0 .../protos/vkGetPhysicalDeviceProperties.txt | 0 ...GetPhysicalDeviceQueueFamilyProperties.txt | 0 ...sicalDeviceSparseImageFormatProperties.txt | 0 .../protos/vkGetPipelineCacheData.txt | 0 .../protos/vkGetQueryPoolResults.txt | 0 .../protos/vkGetRenderAreaGranularity.txt | 0 .../protos/vkInvalidateMappedMemoryRanges.txt | 0 .../vulkan/{ => api}/protos/vkMapMemory.txt | 0 .../protos/vkMergePipelineCaches.txt | 0 .../{ => api}/protos/vkQueueBindSparse.txt | 0 .../vulkan/{ => api}/protos/vkQueueSubmit.txt | 0 .../{ => api}/protos/vkQueueWaitIdle.txt | 0 .../{ => api}/protos/vkResetCommandBuffer.txt | 0 .../{ => api}/protos/vkResetCommandPool.txt | 0 .../protos/vkResetDescriptorPool.txt | 0 .../vulkan/{ => api}/protos/vkResetEvent.txt | 0 .../vulkan/{ => api}/protos/vkResetFences.txt | 0 .../vulkan/{ => api}/protos/vkSetEvent.txt | 0 .../vulkan/{ => api}/protos/vkUnmapMemory.txt | 0 .../protos/vkUpdateDescriptorSets.txt | 0 .../{ => api}/protos/vkWaitForFences.txt | 0 .../structs/VkAllocationCallbacks.txt | 0 .../{ => api}/structs/VkApplicationInfo.txt | 0 .../structs/VkAttachmentDescription.txt | 0 .../structs/VkAttachmentReference.txt | 0 .../{ => api}/structs/VkBindSparseInfo.txt | 0 .../vulkan/{ => api}/structs/VkBufferCopy.txt | 0 .../{ => api}/structs/VkBufferCreateInfo.txt | 0 .../{ => api}/structs/VkBufferImageCopy.txt | 0 .../structs/VkBufferMemoryBarrier.txt | 0 .../structs/VkBufferViewCreateInfo.txt | 0 .../{ => api}/structs/VkClearAttachment.txt | 0 .../{ => api}/structs/VkClearColorValue.txt | 0 .../structs/VkClearDepthStencilValue.txt | 0 .../vulkan/{ => api}/structs/VkClearRect.txt | 0 .../vulkan/{ => api}/structs/VkClearValue.txt | 0 .../structs/VkCommandBufferAllocateInfo.txt | 0 .../structs/VkCommandBufferBeginInfo.txt | 0 .../VkCommandBufferInheritanceInfo.txt | 0 .../structs/VkCommandPoolCreateInfo.txt | 0 .../{ => api}/structs/VkComponentMapping.txt | 0 .../structs/VkComputePipelineCreateInfo.txt | 0 .../{ => api}/structs/VkCopyDescriptorSet.txt | 0 .../structs/VkDescriptorBufferInfo.txt | 0 .../structs/VkDescriptorImageInfo.txt | 0 .../structs/VkDescriptorPoolCreateInfo.txt | 0 .../structs/VkDescriptorPoolSize.txt | 0 .../structs/VkDescriptorSetAllocateInfo.txt | 0 .../structs/VkDescriptorSetLayoutBinding.txt | 0 .../VkDescriptorSetLayoutCreateInfo.txt | 0 .../{ => api}/structs/VkDeviceCreateInfo.txt | 0 .../structs/VkDeviceQueueCreateInfo.txt | 0 .../structs/VkDispatchIndirectCommand.txt | 0 .../structs/VkDrawIndexedIndirectCommand.txt | 0 .../structs/VkDrawIndirectCommand.txt | 0 .../{ => api}/structs/VkEventCreateInfo.txt | 0 .../structs/VkExtensionProperties.txt | 0 .../vulkan/{ => api}/structs/VkExtent2D.txt | 0 .../vulkan/{ => api}/structs/VkExtent3D.txt | 0 .../{ => api}/structs/VkFenceCreateInfo.txt | 0 .../{ => api}/structs/VkFormatProperties.txt | 0 .../structs/VkFramebufferCreateInfo.txt | 0 .../structs/VkGraphicsPipelineCreateInfo.txt | 0 .../vulkan/{ => api}/structs/VkImageBlit.txt | 0 .../vulkan/{ => api}/structs/VkImageCopy.txt | 0 .../{ => api}/structs/VkImageCreateInfo.txt | 0 .../structs/VkImageFormatProperties.txt | 0 .../structs/VkImageMemoryBarrier.txt | 0 .../{ => api}/structs/VkImageResolve.txt | 0 .../{ => api}/structs/VkImageSubresource.txt | 0 .../structs/VkImageSubresourceLayers.txt | 0 .../structs/VkImageSubresourceRange.txt | 0 .../structs/VkImageViewCreateInfo.txt | 0 .../structs/VkInstanceCreateInfo.txt | 0 .../{ => api}/structs/VkLayerProperties.txt | 0 .../{ => api}/structs/VkMappedMemoryRange.txt | 0 .../structs/VkMemoryAllocateInfo.txt | 0 .../{ => api}/structs/VkMemoryBarrier.txt | 0 .../vulkan/{ => api}/structs/VkMemoryHeap.txt | 0 .../structs/VkMemoryRequirements.txt | 0 .../vulkan/{ => api}/structs/VkMemoryType.txt | 0 .../vulkan/{ => api}/structs/VkOffset2D.txt | 0 .../vulkan/{ => api}/structs/VkOffset3D.txt | 0 .../structs/VkPhysicalDeviceFeatures.txt | 0 .../structs/VkPhysicalDeviceLimits.txt | 0 .../VkPhysicalDeviceMemoryProperties.txt | 0 .../structs/VkPhysicalDeviceProperties.txt | 0 .../VkPhysicalDeviceSparseProperties.txt | 0 .../structs/VkPipelineCacheCreateInfo.txt | 0 .../VkPipelineColorBlendAttachmentState.txt | 0 .../VkPipelineColorBlendStateCreateInfo.txt | 0 .../VkPipelineDepthStencilStateCreateInfo.txt | 0 .../VkPipelineDynamicStateCreateInfo.txt | 0 ...VkPipelineInputAssemblyStateCreateInfo.txt | 0 .../structs/VkPipelineLayoutCreateInfo.txt | 0 .../VkPipelineMultisampleStateCreateInfo.txt | 0 ...VkPipelineRasterizationStateCreateInfo.txt | 0 .../VkPipelineShaderStageCreateInfo.txt | 0 .../VkPipelineTessellationStateCreateInfo.txt | 0 .../VkPipelineVertexInputStateCreateInfo.txt | 0 .../VkPipelineViewportStateCreateInfo.txt | 0 .../{ => api}/structs/VkPushConstantRange.txt | 0 .../structs/VkQueryPoolCreateInfo.txt | 0 .../structs/VkQueueFamilyProperties.txt | 0 .../vulkan/{ => api}/structs/VkRect2D.txt | 0 .../structs/VkRenderPassBeginInfo.txt | 0 .../structs/VkRenderPassCreateInfo.txt | 0 .../{ => api}/structs/VkSamplerCreateInfo.txt | 0 .../structs/VkSemaphoreCreateInfo.txt | 0 .../structs/VkShaderModuleCreateInfo.txt | 0 .../structs/VkSparseBufferMemoryBindInfo.txt | 0 .../structs/VkSparseImageFormatProperties.txt | 0 .../structs/VkSparseImageMemoryBind.txt | 0 .../structs/VkSparseImageMemoryBindInfo.txt | 0 .../VkSparseImageMemoryRequirements.txt | 0 .../VkSparseImageOpaqueMemoryBindInfo.txt | 0 .../{ => api}/structs/VkSparseMemoryBind.txt | 0 .../structs/VkSpecializationInfo.txt | 0 .../structs/VkSpecializationMapEntry.txt | 0 .../{ => api}/structs/VkStencilOpState.txt | 0 .../vulkan/{ => api}/structs/VkSubmitInfo.txt | 0 .../{ => api}/structs/VkSubpassDependency.txt | 0 .../structs/VkSubpassDescription.txt | 0 .../{ => api}/structs/VkSubresourceLayout.txt | 0 .../VkVertexInputAttributeDescription.txt | 0 .../VkVertexInputBindingDescription.txt | 0 .../vulkan/{ => api}/structs/VkViewport.txt | 0 .../structs/VkWriteDescriptorSet.txt | 0 doc/specs/vulkan/api/timeMarker | 0 doc/specs/vulkan/appendices/boilerplate.txt | 140 +- doc/specs/vulkan/chapters/clears.txt | 20 +- doc/specs/vulkan/chapters/cmdbuffers.txt | 44 +- doc/specs/vulkan/chapters/copies.txt | 24 +- doc/specs/vulkan/chapters/descriptorsets.txt | 80 +- doc/specs/vulkan/chapters/devsandqueues.txt | 30 +- doc/specs/vulkan/chapters/dispatch.txt | 6 +- doc/specs/vulkan/chapters/drawing.txt | 20 +- doc/specs/vulkan/chapters/extensions.txt | 12 +- doc/specs/vulkan/chapters/features.txt | 56 +- doc/specs/vulkan/chapters/fragops.txt | 22 +- doc/specs/vulkan/chapters/framebuffer.txt | 14 +- doc/specs/vulkan/chapters/fundamentals.txt | 25 +- doc/specs/vulkan/chapters/fxvertex.txt | 10 +- doc/specs/vulkan/chapters/initialization.txt | 16 +- doc/specs/vulkan/chapters/memory.txt | 58 +- doc/specs/vulkan/chapters/pipelines.txt | 44 +- doc/specs/vulkan/chapters/primsrast.txt | 14 +- doc/specs/vulkan/chapters/queries.txt | 28 +- doc/specs/vulkan/chapters/renderpass.txt | 58 +- doc/specs/vulkan/chapters/resources.txt | 80 +- doc/specs/vulkan/chapters/samplers.txt | 16 +- doc/specs/vulkan/chapters/shaders.txt | 8 +- doc/specs/vulkan/chapters/sparsemem.txt | 28 +- doc/specs/vulkan/chapters/synchronization.txt | 60 +- doc/specs/vulkan/chapters/tessellation.txt | 2 +- doc/specs/vulkan/chapters/vertexpostproc.txt | 6 +- doc/specs/vulkan/config/README | 93 +- .../vulkan/config/docbook-xsl/manpage.xsl | 31 + doc/specs/vulkan/config/manpages.conf | 9 +- doc/specs/vulkan/genRef.py | 10 +- doc/specs/vulkan/genRelease | 17 +- doc/specs/vulkan/genspec.py | 33 +- doc/specs/vulkan/hostsynctable/timeMarker | 0 .../vulkan/man/PFN_vkAllocationFunction.txt | 4 +- doc/specs/vulkan/man/PFN_vkFreeFunction.txt | 4 +- .../PFN_vkInternalAllocationNotification.txt | 4 +- .../man/PFN_vkInternalFreeNotification.txt | 4 +- .../vulkan/man/PFN_vkReallocationFunction.txt | 4 +- doc/specs/vulkan/man/PFN_vkVoidFunction.txt | 2 +- doc/specs/vulkan/man/VK_API_VERSION.txt | 2 +- doc/specs/vulkan/man/VK_API_VERSION_1_0.txt | 2 +- doc/specs/vulkan/man/VK_DEFINE_HANDLE.txt | 2 +- .../man/VK_DEFINE_NON_DISPATCHABLE_HANDLE.txt | 2 +- doc/specs/vulkan/man/VK_HEADER_VERSION.txt | 2 +- doc/specs/vulkan/man/VK_MAKE_VERSION.txt | 2 +- doc/specs/vulkan/man/VK_NULL_HANDLE.txt | 2 +- doc/specs/vulkan/man/VK_VERSION_MAJOR.txt | 2 +- doc/specs/vulkan/man/VK_VERSION_MINOR.txt | 2 +- doc/specs/vulkan/man/VK_VERSION_PATCH.txt | 2 +- doc/specs/vulkan/man/VkAccessFlagBits.txt | 2 +- doc/specs/vulkan/man/VkAccessFlags.txt | 2 +- .../vulkan/man/VkAllocationCallbacks.txt | 2 +- doc/specs/vulkan/man/VkApplicationInfo.txt | 2 +- .../vulkan/man/VkAttachmentDescription.txt | 8 +- .../man/VkAttachmentDescriptionFlagBits.txt | 2 +- .../man/VkAttachmentDescriptionFlags.txt | 2 +- doc/specs/vulkan/man/VkAttachmentLoadOp.txt | 2 +- .../vulkan/man/VkAttachmentReference.txt | 2 +- doc/specs/vulkan/man/VkAttachmentStoreOp.txt | 2 +- doc/specs/vulkan/man/VkBindSparseInfo.txt | 2 +- doc/specs/vulkan/man/VkBlendFactor.txt | 2 +- doc/specs/vulkan/man/VkBlendOp.txt | 2 +- doc/specs/vulkan/man/VkBool32.txt | 2 +- doc/specs/vulkan/man/VkBorderColor.txt | 2 +- doc/specs/vulkan/man/VkBuffer.txt | 2 +- doc/specs/vulkan/man/VkBufferCopy.txt | 2 +- .../vulkan/man/VkBufferCreateFlagBits.txt | 2 +- doc/specs/vulkan/man/VkBufferCreateFlags.txt | 2 +- doc/specs/vulkan/man/VkBufferCreateInfo.txt | 6 +- doc/specs/vulkan/man/VkBufferImageCopy.txt | 2 +- .../vulkan/man/VkBufferMemoryBarrier.txt | 2 +- .../vulkan/man/VkBufferUsageFlagBits.txt | 2 +- doc/specs/vulkan/man/VkBufferUsageFlags.txt | 2 +- doc/specs/vulkan/man/VkBufferView.txt | 2 +- .../vulkan/man/VkBufferViewCreateFlags.txt | 2 +- .../vulkan/man/VkBufferViewCreateInfo.txt | 2 +- doc/specs/vulkan/man/VkClearAttachment.txt | 2 +- doc/specs/vulkan/man/VkClearColorValue.txt | 2 +- .../vulkan/man/VkClearDepthStencilValue.txt | 2 +- doc/specs/vulkan/man/VkClearRect.txt | 2 +- doc/specs/vulkan/man/VkClearValue.txt | 2 +- .../vulkan/man/VkColorComponentFlagBits.txt | 2 +- .../vulkan/man/VkColorComponentFlags.txt | 2 +- doc/specs/vulkan/man/VkCommandBuffer.txt | 2 +- .../man/VkCommandBufferAllocateInfo.txt | 4 +- .../vulkan/man/VkCommandBufferBeginInfo.txt | 4 +- .../man/VkCommandBufferInheritanceInfo.txt | 2 +- doc/specs/vulkan/man/VkCommandBufferLevel.txt | 2 +- .../man/VkCommandBufferResetFlagBits.txt | 2 +- .../vulkan/man/VkCommandBufferResetFlags.txt | 2 +- .../man/VkCommandBufferUsageFlagBits.txt | 2 +- .../vulkan/man/VkCommandBufferUsageFlags.txt | 2 +- doc/specs/vulkan/man/VkCommandPool.txt | 2 +- .../man/VkCommandPoolCreateFlagBits.txt | 2 +- .../vulkan/man/VkCommandPoolCreateFlags.txt | 2 +- .../vulkan/man/VkCommandPoolCreateInfo.txt | 4 +- .../vulkan/man/VkCommandPoolResetFlagBits.txt | 2 +- .../vulkan/man/VkCommandPoolResetFlags.txt | 2 +- doc/specs/vulkan/man/VkCompareOp.txt | 2 +- doc/specs/vulkan/man/VkComponentMapping.txt | 4 +- doc/specs/vulkan/man/VkComponentSwizzle.txt | 2 +- .../man/VkComputePipelineCreateInfo.txt | 2 +- doc/specs/vulkan/man/VkCopyDescriptorSet.txt | 2 +- doc/specs/vulkan/man/VkCullModeFlagBits.txt | 2 +- doc/specs/vulkan/man/VkCullModeFlags.txt | 2 +- doc/specs/vulkan/man/VkDependencyFlagBits.txt | 2 +- doc/specs/vulkan/man/VkDependencyFlags.txt | 2 +- .../vulkan/man/VkDescriptorBufferInfo.txt | 2 +- .../vulkan/man/VkDescriptorImageInfo.txt | 2 +- doc/specs/vulkan/man/VkDescriptorPool.txt | 2 +- .../man/VkDescriptorPoolCreateFlagBits.txt | 2 +- .../man/VkDescriptorPoolCreateFlags.txt | 2 +- .../vulkan/man/VkDescriptorPoolCreateInfo.txt | 4 +- .../vulkan/man/VkDescriptorPoolResetFlags.txt | 2 +- doc/specs/vulkan/man/VkDescriptorPoolSize.txt | 2 +- doc/specs/vulkan/man/VkDescriptorSet.txt | 2 +- .../man/VkDescriptorSetAllocateInfo.txt | 2 +- .../vulkan/man/VkDescriptorSetLayout.txt | 2 +- .../man/VkDescriptorSetLayoutBinding.txt | 2 +- .../man/VkDescriptorSetLayoutCreateFlags.txt | 2 +- .../man/VkDescriptorSetLayoutCreateInfo.txt | 2 +- doc/specs/vulkan/man/VkDescriptorType.txt | 2 +- doc/specs/vulkan/man/VkDevice.txt | 2 +- doc/specs/vulkan/man/VkDeviceCreateFlags.txt | 2 +- doc/specs/vulkan/man/VkDeviceCreateInfo.txt | 2 +- doc/specs/vulkan/man/VkDeviceMemory.txt | 2 +- .../vulkan/man/VkDeviceQueueCreateFlags.txt | 2 +- .../vulkan/man/VkDeviceQueueCreateInfo.txt | 2 +- doc/specs/vulkan/man/VkDeviceSize.txt | 2 +- .../vulkan/man/VkDispatchIndirectCommand.txt | 2 +- .../man/VkDrawIndexedIndirectCommand.txt | 2 +- .../vulkan/man/VkDrawIndirectCommand.txt | 2 +- doc/specs/vulkan/man/VkDynamicState.txt | 2 +- doc/specs/vulkan/man/VkEvent.txt | 2 +- doc/specs/vulkan/man/VkEventCreateFlags.txt | 2 +- doc/specs/vulkan/man/VkEventCreateInfo.txt | 2 +- .../vulkan/man/VkExtensionProperties.txt | 2 +- doc/specs/vulkan/man/VkExtent2D.txt | 2 +- doc/specs/vulkan/man/VkExtent3D.txt | 2 +- doc/specs/vulkan/man/VkFence.txt | 2 +- .../vulkan/man/VkFenceCreateFlagBits.txt | 2 +- doc/specs/vulkan/man/VkFenceCreateFlags.txt | 2 +- doc/specs/vulkan/man/VkFenceCreateInfo.txt | 4 +- doc/specs/vulkan/man/VkFilter.txt | 2 +- doc/specs/vulkan/man/VkFlags.txt | 2 +- doc/specs/vulkan/man/VkFormat.txt | 2 +- .../vulkan/man/VkFormatFeatureFlagBits.txt | 2 +- doc/specs/vulkan/man/VkFormatFeatureFlags.txt | 2 +- doc/specs/vulkan/man/VkFormatProperties.txt | 15 +- doc/specs/vulkan/man/VkFramebuffer.txt | 2 +- .../vulkan/man/VkFramebufferCreateFlags.txt | 2 +- .../vulkan/man/VkFramebufferCreateInfo.txt | 2 +- doc/specs/vulkan/man/VkFrontFace.txt | 2 +- .../man/VkGraphicsPipelineCreateInfo.txt | 4 +- doc/specs/vulkan/man/VkImage.txt | 2 +- .../vulkan/man/VkImageAspectFlagBits.txt | 2 +- doc/specs/vulkan/man/VkImageAspectFlags.txt | 2 +- doc/specs/vulkan/man/VkImageBlit.txt | 2 +- doc/specs/vulkan/man/VkImageCopy.txt | 2 +- .../vulkan/man/VkImageCreateFlagBits.txt | 2 +- doc/specs/vulkan/man/VkImageCreateFlags.txt | 2 +- doc/specs/vulkan/man/VkImageCreateInfo.txt | 2 +- .../vulkan/man/VkImageFormatProperties.txt | 2 +- doc/specs/vulkan/man/VkImageLayout.txt | 8 +- doc/specs/vulkan/man/VkImageMemoryBarrier.txt | 2 +- doc/specs/vulkan/man/VkImageResolve.txt | 2 +- doc/specs/vulkan/man/VkImageSubresource.txt | 2 +- .../vulkan/man/VkImageSubresourceLayers.txt | 2 +- .../vulkan/man/VkImageSubresourceRange.txt | 4 +- doc/specs/vulkan/man/VkImageTiling.txt | 2 +- doc/specs/vulkan/man/VkImageType.txt | 2 +- doc/specs/vulkan/man/VkImageUsageFlagBits.txt | 2 +- doc/specs/vulkan/man/VkImageUsageFlags.txt | 2 +- doc/specs/vulkan/man/VkImageView.txt | 2 +- .../vulkan/man/VkImageViewCreateFlags.txt | 2 +- .../vulkan/man/VkImageViewCreateInfo.txt | 2 +- doc/specs/vulkan/man/VkImageViewType.txt | 2 +- doc/specs/vulkan/man/VkIndexType.txt | 2 +- doc/specs/vulkan/man/VkInstance.txt | 2 +- .../vulkan/man/VkInstanceCreateFlags.txt | 2 +- doc/specs/vulkan/man/VkInstanceCreateInfo.txt | 2 +- .../vulkan/man/VkInternalAllocationType.txt | 2 +- doc/specs/vulkan/man/VkLayerProperties.txt | 2 +- doc/specs/vulkan/man/VkLogicOp.txt | 2 +- doc/specs/vulkan/man/VkMappedMemoryRange.txt | 2 +- doc/specs/vulkan/man/VkMemoryAllocateInfo.txt | 2 +- doc/specs/vulkan/man/VkMemoryBarrier.txt | 4 +- doc/specs/vulkan/man/VkMemoryHeap.txt | 4 +- doc/specs/vulkan/man/VkMemoryHeapFlagBits.txt | 2 +- doc/specs/vulkan/man/VkMemoryHeapFlags.txt | 2 +- doc/specs/vulkan/man/VkMemoryMapFlags.txt | 2 +- .../vulkan/man/VkMemoryPropertyFlagBits.txt | 2 +- .../vulkan/man/VkMemoryPropertyFlags.txt | 2 +- doc/specs/vulkan/man/VkMemoryRequirements.txt | 2 +- doc/specs/vulkan/man/VkMemoryType.txt | 4 +- doc/specs/vulkan/man/VkOffset2D.txt | 2 +- doc/specs/vulkan/man/VkOffset3D.txt | 2 +- doc/specs/vulkan/man/VkPhysicalDevice.txt | 2 +- .../vulkan/man/VkPhysicalDeviceFeatures.txt | 17 +- .../vulkan/man/VkPhysicalDeviceLimits.txt | 4 +- .../man/VkPhysicalDeviceMemoryProperties.txt | 2 +- .../vulkan/man/VkPhysicalDeviceProperties.txt | 2 +- .../man/VkPhysicalDeviceSparseProperties.txt | 2 +- doc/specs/vulkan/man/VkPhysicalDeviceType.txt | 2 +- doc/specs/vulkan/man/VkPipeline.txt | 2 +- doc/specs/vulkan/man/VkPipelineBindPoint.txt | 2 +- doc/specs/vulkan/man/VkPipelineCache.txt | 2 +- .../vulkan/man/VkPipelineCacheCreateFlags.txt | 2 +- .../vulkan/man/VkPipelineCacheCreateInfo.txt | 2 +- .../man/VkPipelineCacheHeaderVersion.txt | 2 +- .../VkPipelineColorBlendAttachmentState.txt | 2 +- .../VkPipelineColorBlendStateCreateFlags.txt | 2 +- .../VkPipelineColorBlendStateCreateInfo.txt | 2 +- .../vulkan/man/VkPipelineCreateFlagBits.txt | 2 +- .../vulkan/man/VkPipelineCreateFlags.txt | 2 +- ...VkPipelineDepthStencilStateCreateFlags.txt | 2 +- .../VkPipelineDepthStencilStateCreateInfo.txt | 2 +- .../man/VkPipelineDynamicStateCreateFlags.txt | 2 +- .../man/VkPipelineDynamicStateCreateInfo.txt | 2 +- ...kPipelineInputAssemblyStateCreateFlags.txt | 2 +- ...VkPipelineInputAssemblyStateCreateInfo.txt | 2 +- doc/specs/vulkan/man/VkPipelineLayout.txt | 2 +- .../man/VkPipelineLayoutCreateFlags.txt | 2 +- .../vulkan/man/VkPipelineLayoutCreateInfo.txt | 2 +- .../VkPipelineMultisampleStateCreateFlags.txt | 2 +- .../VkPipelineMultisampleStateCreateInfo.txt | 2 +- ...kPipelineRasterizationStateCreateFlags.txt | 2 +- ...VkPipelineRasterizationStateCreateInfo.txt | 2 +- .../man/VkPipelineShaderStageCreateFlags.txt | 2 +- .../man/VkPipelineShaderStageCreateInfo.txt | 4 +- .../vulkan/man/VkPipelineStageFlagBits.txt | 2 +- doc/specs/vulkan/man/VkPipelineStageFlags.txt | 2 +- ...VkPipelineTessellationStateCreateFlags.txt | 2 +- .../VkPipelineTessellationStateCreateInfo.txt | 2 +- .../VkPipelineVertexInputStateCreateFlags.txt | 2 +- .../VkPipelineVertexInputStateCreateInfo.txt | 2 +- .../VkPipelineViewportStateCreateFlags.txt | 2 +- .../man/VkPipelineViewportStateCreateInfo.txt | 2 +- doc/specs/vulkan/man/VkPolygonMode.txt | 2 +- doc/specs/vulkan/man/VkPrimitiveTopology.txt | 2 +- doc/specs/vulkan/man/VkPushConstantRange.txt | 2 +- .../vulkan/man/VkQueryControlFlagBits.txt | 2 +- doc/specs/vulkan/man/VkQueryControlFlags.txt | 2 +- .../man/VkQueryPipelineStatisticFlagBits.txt | 2 +- .../man/VkQueryPipelineStatisticFlags.txt | 2 +- doc/specs/vulkan/man/VkQueryPool.txt | 2 +- .../vulkan/man/VkQueryPoolCreateFlags.txt | 2 +- .../vulkan/man/VkQueryPoolCreateInfo.txt | 4 +- .../vulkan/man/VkQueryResultFlagBits.txt | 2 +- doc/specs/vulkan/man/VkQueryResultFlags.txt | 2 +- doc/specs/vulkan/man/VkQueryType.txt | 2 +- doc/specs/vulkan/man/VkQueue.txt | 2 +- .../vulkan/man/VkQueueFamilyProperties.txt | 4 +- doc/specs/vulkan/man/VkQueueFlagBits.txt | 2 +- doc/specs/vulkan/man/VkQueueFlags.txt | 2 +- doc/specs/vulkan/man/VkRect2D.txt | 2 +- doc/specs/vulkan/man/VkRenderPass.txt | 2 +- .../vulkan/man/VkRenderPassBeginInfo.txt | 6 +- .../vulkan/man/VkRenderPassCreateFlags.txt | 2 +- .../vulkan/man/VkRenderPassCreateInfo.txt | 2 +- doc/specs/vulkan/man/VkResult.txt | 5 +- .../vulkan/man/VkSampleCountFlagBits.txt | 2 +- doc/specs/vulkan/man/VkSampleCountFlags.txt | 2 +- doc/specs/vulkan/man/VkSampleMask.txt | 2 +- doc/specs/vulkan/man/VkSampler.txt | 2 +- doc/specs/vulkan/man/VkSamplerAddressMode.txt | 2 +- doc/specs/vulkan/man/VkSamplerCreateFlags.txt | 2 +- doc/specs/vulkan/man/VkSamplerCreateInfo.txt | 10 +- doc/specs/vulkan/man/VkSamplerMipmapMode.txt | 2 +- doc/specs/vulkan/man/VkSemaphore.txt | 2 +- .../vulkan/man/VkSemaphoreCreateFlags.txt | 2 +- .../vulkan/man/VkSemaphoreCreateInfo.txt | 2 +- doc/specs/vulkan/man/VkShaderModule.txt | 2 +- .../vulkan/man/VkShaderModuleCreateFlags.txt | 2 +- .../vulkan/man/VkShaderModuleCreateInfo.txt | 2 +- .../vulkan/man/VkShaderStageFlagBits.txt | 2 +- doc/specs/vulkan/man/VkShaderStageFlags.txt | 2 +- doc/specs/vulkan/man/VkSharingMode.txt | 2 +- .../man/VkSparseBufferMemoryBindInfo.txt | 2 +- .../man/VkSparseImageFormatFlagBits.txt | 2 +- .../vulkan/man/VkSparseImageFormatFlags.txt | 2 +- .../man/VkSparseImageFormatProperties.txt | 4 +- .../vulkan/man/VkSparseImageMemoryBind.txt | 2 +- .../man/VkSparseImageMemoryBindInfo.txt | 2 +- .../man/VkSparseImageMemoryRequirements.txt | 2 +- .../man/VkSparseImageOpaqueMemoryBindInfo.txt | 2 +- doc/specs/vulkan/man/VkSparseMemoryBind.txt | 4 +- .../vulkan/man/VkSparseMemoryBindFlagBits.txt | 2 +- .../vulkan/man/VkSparseMemoryBindFlags.txt | 2 +- doc/specs/vulkan/man/VkSpecializationInfo.txt | 2 +- .../vulkan/man/VkSpecializationMapEntry.txt | 2 +- .../vulkan/man/VkStencilFaceFlagBits.txt | 2 +- doc/specs/vulkan/man/VkStencilFaceFlags.txt | 2 +- doc/specs/vulkan/man/VkStencilOp.txt | 2 +- doc/specs/vulkan/man/VkStencilOpState.txt | 2 +- doc/specs/vulkan/man/VkStructureType.txt | 4 +- doc/specs/vulkan/man/VkSubmitInfo.txt | 2 +- doc/specs/vulkan/man/VkSubpassContents.txt | 2 +- doc/specs/vulkan/man/VkSubpassDependency.txt | 4 +- doc/specs/vulkan/man/VkSubpassDescription.txt | 12 +- .../vulkan/man/VkSubpassDescriptionFlags.txt | 2 +- doc/specs/vulkan/man/VkSubresourceLayout.txt | 2 +- .../vulkan/man/VkSystemAllocationScope.txt | 2 +- .../man/VkVertexInputAttributeDescription.txt | 2 +- .../man/VkVertexInputBindingDescription.txt | 4 +- doc/specs/vulkan/man/VkVertexInputRate.txt | 2 +- doc/specs/vulkan/man/VkViewport.txt | 2 +- doc/specs/vulkan/man/VkWriteDescriptorSet.txt | 2 +- doc/specs/vulkan/man/apispec.txt | 8 + .../vulkan/man/vkAllocateCommandBuffers.txt | 2 +- .../vulkan/man/vkAllocateDescriptorSets.txt | 24 +- doc/specs/vulkan/man/vkAllocateMemory.txt | 2 +- doc/specs/vulkan/man/vkBeginCommandBuffer.txt | 2 +- doc/specs/vulkan/man/vkBindBufferMemory.txt | 2 +- doc/specs/vulkan/man/vkBindImageMemory.txt | 2 +- doc/specs/vulkan/man/vkCmdBeginQuery.txt | 4 +- doc/specs/vulkan/man/vkCmdBeginRenderPass.txt | 4 +- .../vulkan/man/vkCmdBindDescriptorSets.txt | 2 +- doc/specs/vulkan/man/vkCmdBindIndexBuffer.txt | 4 +- doc/specs/vulkan/man/vkCmdBindPipeline.txt | 4 +- .../vulkan/man/vkCmdBindVertexBuffers.txt | 2 +- doc/specs/vulkan/man/vkCmdBlitImage.txt | 2 +- .../vulkan/man/vkCmdClearAttachments.txt | 2 +- doc/specs/vulkan/man/vkCmdClearColorImage.txt | 2 +- .../man/vkCmdClearDepthStencilImage.txt | 2 +- doc/specs/vulkan/man/vkCmdCopyBuffer.txt | 2 +- .../vulkan/man/vkCmdCopyBufferToImage.txt | 2 +- doc/specs/vulkan/man/vkCmdCopyImage.txt | 2 +- .../vulkan/man/vkCmdCopyImageToBuffer.txt | 2 +- .../vulkan/man/vkCmdCopyQueryPoolResults.txt | 2 +- doc/specs/vulkan/man/vkCmdDispatch.txt | 2 +- .../vulkan/man/vkCmdDispatchIndirect.txt | 2 +- doc/specs/vulkan/man/vkCmdDraw.txt | 2 +- doc/specs/vulkan/man/vkCmdDrawIndexed.txt | 2 +- .../vulkan/man/vkCmdDrawIndexedIndirect.txt | 2 +- doc/specs/vulkan/man/vkCmdDrawIndirect.txt | 2 +- doc/specs/vulkan/man/vkCmdEndQuery.txt | 2 +- doc/specs/vulkan/man/vkCmdEndRenderPass.txt | 2 +- doc/specs/vulkan/man/vkCmdExecuteCommands.txt | 2 +- doc/specs/vulkan/man/vkCmdFillBuffer.txt | 2 +- doc/specs/vulkan/man/vkCmdNextSubpass.txt | 2 +- doc/specs/vulkan/man/vkCmdPipelineBarrier.txt | 2 +- doc/specs/vulkan/man/vkCmdPushConstants.txt | 2 +- doc/specs/vulkan/man/vkCmdResetEvent.txt | 2 +- doc/specs/vulkan/man/vkCmdResetQueryPool.txt | 2 +- doc/specs/vulkan/man/vkCmdResolveImage.txt | 2 +- .../vulkan/man/vkCmdSetBlendConstants.txt | 2 +- doc/specs/vulkan/man/vkCmdSetDepthBias.txt | 2 +- doc/specs/vulkan/man/vkCmdSetDepthBounds.txt | 2 +- doc/specs/vulkan/man/vkCmdSetEvent.txt | 2 +- doc/specs/vulkan/man/vkCmdSetLineWidth.txt | 2 +- doc/specs/vulkan/man/vkCmdSetScissor.txt | 2 +- .../vulkan/man/vkCmdSetStencilCompareMask.txt | 4 +- .../vulkan/man/vkCmdSetStencilReference.txt | 2 +- .../vulkan/man/vkCmdSetStencilWriteMask.txt | 2 +- doc/specs/vulkan/man/vkCmdSetViewport.txt | 2 +- doc/specs/vulkan/man/vkCmdUpdateBuffer.txt | 2 +- doc/specs/vulkan/man/vkCmdWaitEvents.txt | 2 +- doc/specs/vulkan/man/vkCmdWriteTimestamp.txt | 2 +- doc/specs/vulkan/man/vkCreateBuffer.txt | 2 +- doc/specs/vulkan/man/vkCreateBufferView.txt | 2 +- doc/specs/vulkan/man/vkCreateCommandPool.txt | 2 +- .../vulkan/man/vkCreateComputePipelines.txt | 2 +- .../vulkan/man/vkCreateDescriptorPool.txt | 2 +- .../man/vkCreateDescriptorSetLayout.txt | 2 +- doc/specs/vulkan/man/vkCreateDevice.txt | 2 +- doc/specs/vulkan/man/vkCreateEvent.txt | 2 +- doc/specs/vulkan/man/vkCreateFence.txt | 2 +- doc/specs/vulkan/man/vkCreateFramebuffer.txt | 2 +- .../vulkan/man/vkCreateGraphicsPipelines.txt | 2 +- doc/specs/vulkan/man/vkCreateImage.txt | 2 +- doc/specs/vulkan/man/vkCreateImageView.txt | 2 +- doc/specs/vulkan/man/vkCreateInstance.txt | 2 +- .../vulkan/man/vkCreatePipelineCache.txt | 2 +- .../vulkan/man/vkCreatePipelineLayout.txt | 2 +- doc/specs/vulkan/man/vkCreateQueryPool.txt | 2 +- doc/specs/vulkan/man/vkCreateRenderPass.txt | 2 +- doc/specs/vulkan/man/vkCreateSampler.txt | 2 +- doc/specs/vulkan/man/vkCreateSemaphore.txt | 2 +- doc/specs/vulkan/man/vkCreateShaderModule.txt | 2 +- doc/specs/vulkan/man/vkDestroyBuffer.txt | 2 +- doc/specs/vulkan/man/vkDestroyBufferView.txt | 2 +- doc/specs/vulkan/man/vkDestroyCommandPool.txt | 2 +- .../vulkan/man/vkDestroyDescriptorPool.txt | 2 +- .../man/vkDestroyDescriptorSetLayout.txt | 2 +- doc/specs/vulkan/man/vkDestroyDevice.txt | 2 +- doc/specs/vulkan/man/vkDestroyEvent.txt | 2 +- doc/specs/vulkan/man/vkDestroyFence.txt | 2 +- doc/specs/vulkan/man/vkDestroyFramebuffer.txt | 2 +- doc/specs/vulkan/man/vkDestroyImage.txt | 2 +- doc/specs/vulkan/man/vkDestroyImageView.txt | 2 +- doc/specs/vulkan/man/vkDestroyInstance.txt | 2 +- doc/specs/vulkan/man/vkDestroyPipeline.txt | 2 +- .../vulkan/man/vkDestroyPipelineCache.txt | 2 +- .../vulkan/man/vkDestroyPipelineLayout.txt | 2 +- doc/specs/vulkan/man/vkDestroyQueryPool.txt | 2 +- doc/specs/vulkan/man/vkDestroyRenderPass.txt | 2 +- doc/specs/vulkan/man/vkDestroySampler.txt | 2 +- doc/specs/vulkan/man/vkDestroySemaphore.txt | 2 +- .../vulkan/man/vkDestroyShaderModule.txt | 2 +- doc/specs/vulkan/man/vkDeviceWaitIdle.txt | 2 +- doc/specs/vulkan/man/vkEndCommandBuffer.txt | 2 +- .../vkEnumerateDeviceExtensionProperties.txt | 2 +- .../man/vkEnumerateDeviceLayerProperties.txt | 2 +- ...vkEnumerateInstanceExtensionProperties.txt | 2 +- .../vkEnumerateInstanceLayerProperties.txt | 2 +- .../vulkan/man/vkEnumeratePhysicalDevices.txt | 2 +- .../vulkan/man/vkFlushMappedMemoryRanges.txt | 2 +- doc/specs/vulkan/man/vkFreeCommandBuffers.txt | 2 +- doc/specs/vulkan/man/vkFreeDescriptorSets.txt | 2 +- doc/specs/vulkan/man/vkFreeMemory.txt | 2 +- .../man/vkGetBufferMemoryRequirements.txt | 2 +- .../man/vkGetDeviceMemoryCommitment.txt | 2 +- doc/specs/vulkan/man/vkGetDeviceProcAddr.txt | 2 +- doc/specs/vulkan/man/vkGetDeviceQueue.txt | 2 +- doc/specs/vulkan/man/vkGetEventStatus.txt | 2 +- doc/specs/vulkan/man/vkGetFenceStatus.txt | 2 +- .../man/vkGetImageMemoryRequirements.txt | 2 +- .../vkGetImageSparseMemoryRequirements.txt | 2 +- .../man/vkGetImageSubresourceLayout.txt | 2 +- .../vulkan/man/vkGetInstanceProcAddr.txt | 2 +- .../man/vkGetPhysicalDeviceFeatures.txt | 2 +- .../vkGetPhysicalDeviceFormatProperties.txt | 2 +- ...GetPhysicalDeviceImageFormatProperties.txt | 12 +- .../vkGetPhysicalDeviceMemoryProperties.txt | 2 +- .../man/vkGetPhysicalDeviceProperties.txt | 2 +- ...GetPhysicalDeviceQueueFamilyProperties.txt | 2 +- ...sicalDeviceSparseImageFormatProperties.txt | 2 +- .../vulkan/man/vkGetPipelineCacheData.txt | 4 +- .../vulkan/man/vkGetQueryPoolResults.txt | 4 +- .../vulkan/man/vkGetRenderAreaGranularity.txt | 2 +- .../man/vkInvalidateMappedMemoryRanges.txt | 2 +- doc/specs/vulkan/man/vkMapMemory.txt | 2 +- .../vulkan/man/vkMergePipelineCaches.txt | 2 +- doc/specs/vulkan/man/vkQueueBindSparse.txt | 2 +- doc/specs/vulkan/man/vkQueueSubmit.txt | 2 +- doc/specs/vulkan/man/vkQueueWaitIdle.txt | 2 +- doc/specs/vulkan/man/vkResetCommandBuffer.txt | 4 +- doc/specs/vulkan/man/vkResetCommandPool.txt | 4 +- .../vulkan/man/vkResetDescriptorPool.txt | 2 +- doc/specs/vulkan/man/vkResetEvent.txt | 2 +- doc/specs/vulkan/man/vkResetFences.txt | 2 +- doc/specs/vulkan/man/vkSetEvent.txt | 2 +- doc/specs/vulkan/man/vkUnmapMemory.txt | 2 +- .../vulkan/man/vkUpdateDescriptorSets.txt | 2 +- doc/specs/vulkan/man/vkWaitForFences.txt | 2 +- doc/specs/vulkan/reflib.py | 6 +- doc/specs/vulkan/style/markup.txt | 17 +- doc/specs/vulkan/style/writing.txt | 12 +- doc/specs/vulkan/styleguide.txt | 2 + .../protos/vkAllocateDescriptorSets.txt | 1 + .../validity/protos/vkBindBufferMemory.txt | 5 +- .../validity/protos/vkBindImageMemory.txt | 5 +- .../validity/protos/vkCmdBeginQuery.txt | 4 +- .../protos/vkCmdBindDescriptorSets.txt | 4 +- .../validity/protos/vkCmdBindIndexBuffer.txt | 2 +- .../validity/protos/vkCmdBindPipeline.txt | 4 +- .../protos/vkCmdBindVertexBuffers.txt | 2 +- .../vulkan/validity/protos/vkCmdBlitImage.txt | 2 +- .../validity/protos/vkCmdClearColorImage.txt | 4 +- .../protos/vkCmdClearDepthStencilImage.txt | 2 +- .../validity/protos/vkCmdCopyBuffer.txt | 4 +- .../protos/vkCmdCopyBufferToImage.txt | 4 +- .../vulkan/validity/protos/vkCmdCopyImage.txt | 4 +- .../protos/vkCmdCopyImageToBuffer.txt | 4 +- .../protos/vkCmdCopyQueryPoolResults.txt | 4 +- .../validity/protos/vkCmdDispatchIndirect.txt | 2 +- .../protos/vkCmdDrawIndexedIndirect.txt | 2 +- .../validity/protos/vkCmdDrawIndirect.txt | 2 +- .../vulkan/validity/protos/vkCmdEndQuery.txt | 4 +- .../validity/protos/vkCmdExecuteCommands.txt | 4 +- .../validity/protos/vkCmdFillBuffer.txt | 4 +- .../validity/protos/vkCmdPipelineBarrier.txt | 14 +- .../validity/protos/vkCmdPushConstants.txt | 4 +- .../validity/protos/vkCmdResetEvent.txt | 4 +- .../validity/protos/vkCmdResetQueryPool.txt | 4 +- .../validity/protos/vkCmdResolveImage.txt | 2 +- .../vulkan/validity/protos/vkCmdSetEvent.txt | 4 +- .../validity/protos/vkCmdUpdateBuffer.txt | 4 +- .../validity/protos/vkCmdWaitEvents.txt | 4 +- .../validity/protos/vkCmdWriteTimestamp.txt | 4 +- .../protos/vkCreateComputePipelines.txt | 3 +- .../protos/vkCreateGraphicsPipelines.txt | 3 +- .../validity/protos/vkDestroyBuffer.txt | 3 +- .../validity/protos/vkDestroyBufferView.txt | 3 +- .../validity/protos/vkDestroyCommandPool.txt | 3 +- .../protos/vkDestroyDescriptorPool.txt | 3 +- .../protos/vkDestroyDescriptorSetLayout.txt | 3 +- .../vulkan/validity/protos/vkDestroyEvent.txt | 3 +- .../vulkan/validity/protos/vkDestroyFence.txt | 3 +- .../validity/protos/vkDestroyFramebuffer.txt | 3 +- .../vulkan/validity/protos/vkDestroyImage.txt | 3 +- .../validity/protos/vkDestroyImageView.txt | 3 +- .../validity/protos/vkDestroyPipeline.txt | 3 +- .../protos/vkDestroyPipelineCache.txt | 3 +- .../protos/vkDestroyPipelineLayout.txt | 3 +- .../validity/protos/vkDestroyQueryPool.txt | 3 +- .../validity/protos/vkDestroyRenderPass.txt | 3 +- .../validity/protos/vkDestroySampler.txt | 3 +- .../validity/protos/vkDestroySemaphore.txt | 3 +- .../validity/protos/vkDestroyShaderModule.txt | 3 +- .../vkEnumerateDeviceExtensionProperties.txt | 1 + ...vkEnumerateInstanceExtensionProperties.txt | 1 + .../validity/protos/vkFreeCommandBuffers.txt | 5 +- .../validity/protos/vkFreeDescriptorSets.txt | 5 +- .../vulkan/validity/protos/vkFreeMemory.txt | 3 +- .../protos/vkGetBufferMemoryRequirements.txt | 3 +- .../protos/vkGetDeviceMemoryCommitment.txt | 3 +- .../validity/protos/vkGetEventStatus.txt | 3 +- .../validity/protos/vkGetFenceStatus.txt | 3 +- .../protos/vkGetImageMemoryRequirements.txt | 3 +- .../vkGetImageSparseMemoryRequirements.txt | 3 +- .../protos/vkGetImageSubresourceLayout.txt | 3 +- .../protos/vkGetPipelineCacheData.txt | 3 +- .../validity/protos/vkGetQueryPoolResults.txt | 3 +- .../protos/vkGetRenderAreaGranularity.txt | 3 +- .../vulkan/validity/protos/vkMapMemory.txt | 3 +- .../validity/protos/vkMergePipelineCaches.txt | 5 +- .../validity/protos/vkQueueBindSparse.txt | 2 +- .../vulkan/validity/protos/vkQueueSubmit.txt | 2 +- .../validity/protos/vkResetCommandPool.txt | 3 +- .../validity/protos/vkResetDescriptorPool.txt | 3 +- .../vulkan/validity/protos/vkResetEvent.txt | 3 +- .../vulkan/validity/protos/vkResetFences.txt | 3 +- .../vulkan/validity/protos/vkSetEvent.txt | 3 +- .../vulkan/validity/protos/vkUnmapMemory.txt | 3 +- .../validity/protos/vkWaitForFences.txt | 3 +- .../structs/VkAttachmentDescription.txt | 1 + .../structs/VkAttachmentReference.txt | 1 + .../validity/structs/VkBindSparseInfo.txt | 2 +- .../VkCommandBufferInheritanceInfo.txt | 2 +- .../structs/VkComputePipelineCreateInfo.txt | 2 +- .../validity/structs/VkCopyDescriptorSet.txt | 2 +- .../structs/VkDescriptorImageInfo.txt | 2 +- .../structs/VkDescriptorSetAllocateInfo.txt | 2 +- .../structs/VkFramebufferCreateInfo.txt | 2 +- .../structs/VkGraphicsPipelineCreateInfo.txt | 2 +- .../validity/structs/VkImageCreateInfo.txt | 21 +- .../structs/VkImageViewCreateInfo.txt | 18 +- .../structs/VkRenderPassBeginInfo.txt | 4 +- .../vulkan/validity/structs/VkSubmitInfo.txt | 2 +- .../validity/structs/VkSubpassDependency.txt | 2 + .../validity/structs/VkWriteDescriptorSet.txt | 8 +- doc/specs/vulkan/validity/timeMarker | 0 doc/specs/vulkan/vkapi.py | 1800 ---------------- doc/specs/vulkan/vkspec.txt | 6 +- out/index.html | 7 +- src/spec/Makefile | 91 +- src/spec/cgenerator.py | 3 +- src/spec/docgenerator.py | 14 +- src/spec/generator.py | 19 +- src/spec/genvk.py | 490 +++-- src/spec/hostsyncgenerator.py | 6 +- src/spec/pygenerator.py | 4 +- src/spec/readme.tex | 1869 ----------------- src/spec/registry.conf | 23 + src/spec/registry.txt | 1794 ++++++++++++++++ src/spec/validitygenerator.py | 202 +- src/spec/vk.xml | 78 +- src/vulkan/vulkan.h | 9 +- 981 files changed, 4009 insertions(+), 5466 deletions(-) rename doc/specs/vulkan/{README.txt => README.adoc} (97%) rename doc/specs/vulkan/{ => api}/basetypes/VkBool32.txt (100%) rename doc/specs/vulkan/{ => api}/basetypes/VkDeviceSize.txt (100%) rename doc/specs/vulkan/{ => api}/basetypes/VkFlags.txt (100%) rename doc/specs/vulkan/{ => api}/basetypes/VkSampleMask.txt (100%) rename doc/specs/vulkan/{ => api}/defines/VK_API_VERSION.txt (100%) rename doc/specs/vulkan/{ => api}/defines/VK_API_VERSION_1_0.txt (100%) rename doc/specs/vulkan/{ => api}/defines/VK_DEFINE_HANDLE.txt (100%) rename doc/specs/vulkan/{ => api}/defines/VK_DEFINE_NON_DISPATCHABLE_HANDLE.txt (78%) rename doc/specs/vulkan/{ => api}/defines/VK_HEADER_VERSION.txt (94%) rename doc/specs/vulkan/{ => api}/defines/VK_MAKE_VERSION.txt (100%) rename doc/specs/vulkan/{ => api}/defines/VK_NULL_HANDLE.txt (100%) rename doc/specs/vulkan/{ => api}/defines/VK_VERSION_MAJOR.txt (100%) rename doc/specs/vulkan/{ => api}/defines/VK_VERSION_MINOR.txt (100%) rename doc/specs/vulkan/{ => api}/defines/VK_VERSION_PATCH.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkAccessFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkAttachmentDescriptionFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkAttachmentLoadOp.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkAttachmentStoreOp.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkBlendFactor.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkBlendOp.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkBorderColor.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkBufferCreateFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkBufferUsageFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkColorComponentFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkCommandBufferLevel.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkCommandBufferResetFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkCommandBufferUsageFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkCommandPoolCreateFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkCommandPoolResetFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkCompareOp.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkComponentSwizzle.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkCullModeFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkDependencyFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkDescriptorPoolCreateFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkDescriptorType.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkDynamicState.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkFenceCreateFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkFilter.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkFormat.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkFormatFeatureFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkFrontFace.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkImageAspectFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkImageCreateFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkImageLayout.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkImageTiling.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkImageType.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkImageUsageFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkImageViewType.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkIndexType.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkInternalAllocationType.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkLogicOp.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkMemoryHeapFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkMemoryPropertyFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkPhysicalDeviceType.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkPipelineBindPoint.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkPipelineCacheHeaderVersion.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkPipelineCreateFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkPipelineStageFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkPolygonMode.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkPrimitiveTopology.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkQueryControlFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkQueryPipelineStatisticFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkQueryResultFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkQueryType.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkQueueFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkResult.txt (96%) rename doc/specs/vulkan/{ => api}/enums/VkSampleCountFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkSamplerAddressMode.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkSamplerMipmapMode.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkShaderStageFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkSharingMode.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkSparseImageFormatFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkSparseMemoryBindFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkStencilFaceFlagBits.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkStencilOp.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkStructureType.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkSubpassContents.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkSystemAllocationScope.txt (100%) rename doc/specs/vulkan/{ => api}/enums/VkVertexInputRate.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkAccessFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkAttachmentDescriptionFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkBufferCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkBufferUsageFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkBufferViewCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkColorComponentFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkCommandBufferResetFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkCommandBufferUsageFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkCommandPoolCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkCommandPoolResetFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkCullModeFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkDependencyFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkDescriptorPoolCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkDescriptorPoolResetFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkDescriptorSetLayoutCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkDeviceCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkDeviceQueueCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkEventCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkFenceCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkFormatFeatureFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkFramebufferCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkImageAspectFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkImageCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkImageUsageFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkImageViewCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkInstanceCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkMemoryHeapFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkMemoryMapFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkMemoryPropertyFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkPipelineCacheCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkPipelineColorBlendStateCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkPipelineCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkPipelineDepthStencilStateCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkPipelineDynamicStateCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkPipelineInputAssemblyStateCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkPipelineLayoutCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkPipelineMultisampleStateCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkPipelineRasterizationStateCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkPipelineShaderStageCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkPipelineStageFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkPipelineTessellationStateCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkPipelineVertexInputStateCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkPipelineViewportStateCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkQueryControlFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkQueryPipelineStatisticFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkQueryPoolCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkQueryResultFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkQueueFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkRenderPassCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkSampleCountFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkSamplerCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkSemaphoreCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkShaderModuleCreateFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkShaderStageFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkSparseImageFormatFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkSparseMemoryBindFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkStencilFaceFlags.txt (100%) rename doc/specs/vulkan/{ => api}/flags/VkSubpassDescriptionFlags.txt (100%) rename doc/specs/vulkan/{ => api}/funcpointers/PFN_vkAllocationFunction.txt (100%) rename doc/specs/vulkan/{ => api}/funcpointers/PFN_vkFreeFunction.txt (100%) rename doc/specs/vulkan/{ => api}/funcpointers/PFN_vkInternalAllocationNotification.txt (100%) rename doc/specs/vulkan/{ => api}/funcpointers/PFN_vkInternalFreeNotification.txt (100%) rename doc/specs/vulkan/{ => api}/funcpointers/PFN_vkReallocationFunction.txt (100%) rename doc/specs/vulkan/{ => api}/funcpointers/PFN_vkVoidFunction.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkBuffer.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkBufferView.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkCommandBuffer.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkCommandPool.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkDescriptorPool.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkDescriptorSet.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkDescriptorSetLayout.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkDevice.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkDeviceMemory.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkEvent.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkFence.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkFramebuffer.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkImage.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkImageView.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkInstance.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkPhysicalDevice.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkPipeline.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkPipelineCache.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkPipelineLayout.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkQueryPool.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkQueue.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkRenderPass.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkSampler.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkSemaphore.txt (100%) rename doc/specs/vulkan/{ => api}/handles/VkShaderModule.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkAllocateCommandBuffers.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkAllocateDescriptorSets.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkAllocateMemory.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkBeginCommandBuffer.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkBindBufferMemory.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkBindImageMemory.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdBeginQuery.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdBeginRenderPass.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdBindDescriptorSets.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdBindIndexBuffer.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdBindPipeline.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdBindVertexBuffers.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdBlitImage.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdClearAttachments.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdClearColorImage.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdClearDepthStencilImage.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdCopyBuffer.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdCopyBufferToImage.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdCopyImage.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdCopyImageToBuffer.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdCopyQueryPoolResults.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdDispatch.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdDispatchIndirect.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdDraw.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdDrawIndexed.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdDrawIndexedIndirect.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdDrawIndirect.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdEndQuery.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdEndRenderPass.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdExecuteCommands.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdFillBuffer.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdNextSubpass.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdPipelineBarrier.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdPushConstants.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdResetEvent.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdResetQueryPool.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdResolveImage.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdSetBlendConstants.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdSetDepthBias.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdSetDepthBounds.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdSetEvent.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdSetLineWidth.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdSetScissor.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdSetStencilCompareMask.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdSetStencilReference.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdSetStencilWriteMask.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdSetViewport.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdUpdateBuffer.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdWaitEvents.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCmdWriteTimestamp.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCreateBuffer.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCreateBufferView.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCreateCommandPool.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCreateComputePipelines.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCreateDescriptorPool.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCreateDescriptorSetLayout.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCreateDevice.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCreateEvent.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCreateFence.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCreateFramebuffer.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCreateGraphicsPipelines.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCreateImage.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCreateImageView.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCreateInstance.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCreatePipelineCache.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCreatePipelineLayout.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCreateQueryPool.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCreateRenderPass.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCreateSampler.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCreateSemaphore.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkCreateShaderModule.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkDestroyBuffer.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkDestroyBufferView.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkDestroyCommandPool.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkDestroyDescriptorPool.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkDestroyDescriptorSetLayout.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkDestroyDevice.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkDestroyEvent.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkDestroyFence.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkDestroyFramebuffer.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkDestroyImage.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkDestroyImageView.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkDestroyInstance.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkDestroyPipeline.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkDestroyPipelineCache.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkDestroyPipelineLayout.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkDestroyQueryPool.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkDestroyRenderPass.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkDestroySampler.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkDestroySemaphore.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkDestroyShaderModule.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkDeviceWaitIdle.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkEndCommandBuffer.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkEnumerateDeviceExtensionProperties.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkEnumerateDeviceLayerProperties.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkEnumerateInstanceExtensionProperties.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkEnumerateInstanceLayerProperties.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkEnumeratePhysicalDevices.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkFlushMappedMemoryRanges.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkFreeCommandBuffers.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkFreeDescriptorSets.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkFreeMemory.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkGetBufferMemoryRequirements.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkGetDeviceMemoryCommitment.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkGetDeviceProcAddr.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkGetDeviceQueue.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkGetEventStatus.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkGetFenceStatus.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkGetImageMemoryRequirements.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkGetImageSparseMemoryRequirements.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkGetImageSubresourceLayout.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkGetInstanceProcAddr.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkGetPhysicalDeviceFeatures.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkGetPhysicalDeviceFormatProperties.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkGetPhysicalDeviceImageFormatProperties.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkGetPhysicalDeviceMemoryProperties.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkGetPhysicalDeviceProperties.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkGetPhysicalDeviceQueueFamilyProperties.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkGetPhysicalDeviceSparseImageFormatProperties.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkGetPipelineCacheData.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkGetQueryPoolResults.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkGetRenderAreaGranularity.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkInvalidateMappedMemoryRanges.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkMapMemory.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkMergePipelineCaches.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkQueueBindSparse.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkQueueSubmit.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkQueueWaitIdle.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkResetCommandBuffer.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkResetCommandPool.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkResetDescriptorPool.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkResetEvent.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkResetFences.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkSetEvent.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkUnmapMemory.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkUpdateDescriptorSets.txt (100%) rename doc/specs/vulkan/{ => api}/protos/vkWaitForFences.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkAllocationCallbacks.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkApplicationInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkAttachmentDescription.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkAttachmentReference.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkBindSparseInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkBufferCopy.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkBufferCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkBufferImageCopy.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkBufferMemoryBarrier.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkBufferViewCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkClearAttachment.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkClearColorValue.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkClearDepthStencilValue.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkClearRect.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkClearValue.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkCommandBufferAllocateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkCommandBufferBeginInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkCommandBufferInheritanceInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkCommandPoolCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkComponentMapping.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkComputePipelineCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkCopyDescriptorSet.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkDescriptorBufferInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkDescriptorImageInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkDescriptorPoolCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkDescriptorPoolSize.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkDescriptorSetAllocateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkDescriptorSetLayoutBinding.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkDescriptorSetLayoutCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkDeviceCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkDeviceQueueCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkDispatchIndirectCommand.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkDrawIndexedIndirectCommand.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkDrawIndirectCommand.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkEventCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkExtensionProperties.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkExtent2D.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkExtent3D.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkFenceCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkFormatProperties.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkFramebufferCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkGraphicsPipelineCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkImageBlit.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkImageCopy.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkImageCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkImageFormatProperties.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkImageMemoryBarrier.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkImageResolve.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkImageSubresource.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkImageSubresourceLayers.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkImageSubresourceRange.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkImageViewCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkInstanceCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkLayerProperties.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkMappedMemoryRange.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkMemoryAllocateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkMemoryBarrier.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkMemoryHeap.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkMemoryRequirements.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkMemoryType.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkOffset2D.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkOffset3D.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkPhysicalDeviceFeatures.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkPhysicalDeviceLimits.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkPhysicalDeviceMemoryProperties.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkPhysicalDeviceProperties.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkPhysicalDeviceSparseProperties.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkPipelineCacheCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkPipelineColorBlendAttachmentState.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkPipelineColorBlendStateCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkPipelineDepthStencilStateCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkPipelineDynamicStateCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkPipelineInputAssemblyStateCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkPipelineLayoutCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkPipelineMultisampleStateCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkPipelineRasterizationStateCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkPipelineShaderStageCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkPipelineTessellationStateCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkPipelineVertexInputStateCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkPipelineViewportStateCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkPushConstantRange.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkQueryPoolCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkQueueFamilyProperties.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkRect2D.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkRenderPassBeginInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkRenderPassCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkSamplerCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkSemaphoreCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkShaderModuleCreateInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkSparseBufferMemoryBindInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkSparseImageFormatProperties.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkSparseImageMemoryBind.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkSparseImageMemoryBindInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkSparseImageMemoryRequirements.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkSparseImageOpaqueMemoryBindInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkSparseMemoryBind.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkSpecializationInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkSpecializationMapEntry.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkStencilOpState.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkSubmitInfo.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkSubpassDependency.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkSubpassDescription.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkSubresourceLayout.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkVertexInputAttributeDescription.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkVertexInputBindingDescription.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkViewport.txt (100%) rename doc/specs/vulkan/{ => api}/structs/VkWriteDescriptorSet.txt (100%) create mode 100644 doc/specs/vulkan/api/timeMarker create mode 100644 doc/specs/vulkan/config/docbook-xsl/manpage.xsl create mode 100644 doc/specs/vulkan/hostsynctable/timeMarker create mode 100644 doc/specs/vulkan/validity/timeMarker delete mode 100644 doc/specs/vulkan/vkapi.py delete mode 100644 src/spec/readme.tex create mode 100644 src/spec/registry.conf create mode 100644 src/spec/registry.txt diff --git a/.gitignore b/.gitignore index af2fdc3f..92db94e0 100644 --- a/.gitignore +++ b/.gitignore @@ -46,6 +46,4 @@ src/spec/diag.txt .DS_Store # Auto-generated files -src/spec/hostsynctable -src/spec/validity -src/spec/vulkan-docs +# doc/specs/vulkan/*/timeMarker diff --git a/ChangeLog.txt b/ChangeLog.txt index 27e32914..d2dee715 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1006,3 +1006,78 @@ Other Commits: APIs. * Update vk_platform.h to handle 32-bit ARMv8 binaries. * Various minor cleanups to the Makefile and build process. + +----------------------------------------------------- + +Change log for July 22, 2016 Vulkan 1.0.22 spec update: + + * Bump API patch number and header version number to 22 for this update. + +Github Issues: + + * Translate the subpass self-dependency language into concrete + validity statements, and added a validity statement about the + restrictions on layout parameters (public issue 267). + * Add validity requirement that + slink:VkAttachmentDescription::pname:finalLayout and + slink:VkAttachmentReference::pname:layout must not be + ename:VK_IMAGE_LAYOUT_UNDEFINED or + ename:VK_IMAGE_LAYOUT_PREINITIALIZED (public issue 268). + * Clarify that slink:VkSubpassDescription::pname:pResolveAttachments + layouts are used. Make language consistent with other attachment + arrays (public issue 270). + * Changed 64-bit definition for + dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE to work for x32 platform in + +vk.xml+ and the resulting +vulkan.h+ (public issue 282). + * Add missing error return code for + flink:vkEnumerateInstanceExtensionProperties and + flink:vkEnumerateDeviceExtensionProperties (public issue 285) + * Fix several cases of stext::VkStructName.memberName markup to + stext::VkStructName::pname:memberName, to match other usage in the + spec, and describe this markup in the style guide (public issue + 286). + * Modified validity language generation script to avoid redundant + common ancestor language if covered by generic parent language, and + used `Both' instead of `Each' when appropriate (public issue 288). + +Internal Issues: + + * Add language about behavior of flink:vkAllocateDescriptorSets when + allocation fails due to fragmentation, a new error + ename:VK_ERROR_FRAGMENTED_POOL, and a Note explaining the situation + (internal issue 309). + * For the features of code:PointSize, code:ClipDistance, and + code:CullDistance, the SPIR-V capability is required to be declared + on use (read or write) rather than on decoration (internal issue + 359). + * Have desktop versions of GLSL respect precision qualification + (code:mediump and code:lowp) when compiling for Vulkan. These will + get translated to SPIR-V's code:RelaxedPrecision decoration as they + do with OpenGL ES versions of GLSL (ESSL). The default precision of + all types is code:highp when using a desktop version (internal issue + 360). + * Add validity statement for slink:VkImageCreateInfo specifying that + multisampled images must be two-dimensional, optimally tiled, and + with a single mipmap level (internal issue 369). + * Add validity statements to slink:VkImageViewCreateInfo disallowing + creation of images or image views with no supported features. Made + some slink:VkImageViewCreateInfo validity statements more precise + and consistent. Added a Note to the <> chapter + about formats with no features (internal issue 371). + * Remove +manpages+ from default build targets. Nroff outputs + containing imbedded latexmath will not render properly. Fixing this + is a lot of work for limited use cases (internal issue 401). + +Other Commits: + + * Fix flink:vkRenderPassBeginInfo::pname:clearValueCount validity + statement to be based on attachment indices rather than the number + of cleared attachments + (Vulkan-LoaderAndValidationLayers/issues/601). + * Convert registry documentation from LaTeX to asciidoc source and + rename from +src/spec/readme.tex+ to +src/spec/registry.txt+. + * Fix lack of Oxford commas in validity language. + * Lots of cleanup of generator scripts and Makefiles to move extension + list for generator into the script arguments instead of the body of + genvk.py, and express better dependencies between XML, scripts, and + generated files. diff --git a/doc/specs/misc/GL_KHR_vulkan_glsl.txt b/doc/specs/misc/GL_KHR_vulkan_glsl.txt index 811244e8..d6b5ef0c 100644 --- a/doc/specs/misc/GL_KHR_vulkan_glsl.txt +++ b/doc/specs/misc/GL_KHR_vulkan_glsl.txt @@ -33,8 +33,8 @@ Status Version - Last Modified Date: 12-Apr-2016 - Revision: 30 + Last Modified Date: 20-Jul-2016 + Revision: 31 Number @@ -79,6 +79,9 @@ Overview * subpass inputs The following features are changed: + * precision qualifiers (mediump and lowp) will be respected for all + versions, not dropped for desktop versions (default precision for + desktop versions is highp for all types) * gl_FragColor will no longer indicate an implicit broadcast * arrays of opaque uniforms take only one binding number for the entire object, not one per array element @@ -374,19 +377,21 @@ Overview Non-fragment stage: - in/out gl_PerVertex { + in/out gl_PerVertex { // some subset of these members will be used gl_Position gl_PointSize gl_ClipDistance gl_CullDistance - } (name of block is for debug only) + } // name of block is for debug only There is at most one input and one output block per stage in SPIR-V. + The subset and order of members will match between stages sharing an + interface. Mapping of precision qualifiers: - lowp -> RelaxedPrecision, on variable and operation - mediump -> RelaxedPrecision, on variable and operation + lowp -> RelaxedPrecision, on storage variable and operation + mediump -> RelaxedPrecision, on storage variable and operation highp -> 32-bit, same as int or float portability tool/mode -> OpQuantizeToF16 @@ -560,11 +565,16 @@ Changes to Chapter 4 of the OpenGL Shading Language Specification samplerShadow | a handle for accessing state describing how to | sample a depth texture with comparison" - - Remove "structure member selection" from 4.1.7 and instead add a sentence "Opaque types cannot be declared or nested in a structure (struct)." + Modify subsection 4.1.3 Integers, for desktop versions of GLSL, to say: + + "Highp unsigned integers have exactly 32 bits of precision. Highp + signed integers use 32 bits, including a sign bit, in two's complement + form. Mediump and lowp integers are as defined by the RelaxedPrecision + decoration in SPIR-V." + Add a subsection to 4.1.7 Opaque Types: "4.1.7.x Texture, *sampler*, and *samplerShadow* Types @@ -598,6 +608,12 @@ Changes to Chapter 4 of the OpenGL Shading Language Specification "Subpass input types are only available in fragment shaders. It is a compile-time error to use them in any other stage." + Add to section 4.1.7.3 Atomic Counters: + + "It is an error to declare an atomic type with a different precision or + to specify the default precision for an atomic type to be lowp or + mediump." + Change section 4.3.3 Constant Expressions: Add a new very first sentence to this section: @@ -870,6 +886,50 @@ Changes to Chapter 4 of the OpenGL Shading Language Specification "However, when push_constant is declared, the default layout of the buffer will be std430. There is no method to globally set this default." + Remove the following preamble from section 4.7, which exists for desktop + versions, but not ES versions. Removal: + + "Precision qualifiers are added for code portability with OpenGL ES, not + for functionality. They have the same syntax as in OpenGL ES, as + described below, but they have no semantic meaning, which includes no + effect on the precision used to store or operate on variables. + + "If an extension adds in the same semantics and functionality in the + OpenGL ES 2.0 specification for precision qualifiers, then the extension + is allowed to reuse the keywords below for that purpose. + + "For the purposes of determining if an output from one shader stage + matches an input of the next stage, the precision qualifier need not + match." + + Add: + + "For interface matching, uniform variables and uniform and buffer block + members must have the same precision qualification. For matching *out* + variables or block members to *in* variables and block members, the + precision qualification does not have to match. + + "Global variables declared in different compilation units linked into the + same shader stage must be declared with the same precision qualification." + + More generally, all versions will follow OpenGL ES semantic rules for + precision qualifiers. + + Section 4.7.2 Precision Qualifiers (desktop only) + + Replace the table saying "none" for all precisions with this statement: + + "Mediump and lowp floating-point values have the precision defined by + the RelaxedPrecision decoration in SPIR-V." + + Section 4.7.4 Default Precision Qualifiers: + + For desktop versions, replace the last three paragraphs that state the + default precisions with the following instead: + + "All stages have default precision qualification of highp for all types + that accept precision qualifiers." + Changes to Chapter 5 of the OpenGL Shading Language Specification Add a new subsection at the end of section 5.4 "Constructors": @@ -1003,6 +1063,77 @@ Changes to Chapter 7 of the OpenGL Shading Language Specification Changes to Chapter 8 of the OpenGL Shading Language Specification + Add the following ES language to desktop versions of the specification: + + "The operation of a built-in function can have a different precision + qualification than the precision qualification of the resulting value. + These two precision qualifications are established as follows. + + "The precision qualification of the operation of a built-in function is + based on the precision qualification of its input arguments and formal + parameters: When a formal parameter specifies a precision qualifier, + that is used, otherwise, the precision qualification of the calling + argument is used. The highest precision of these will be the precision + qualification of the operation of the built-in function. Generally, + this is applied across all arguments to a built-in function, with the + exceptions being: + - bitfieldExtract and bitfieldInsert ignore the 'offset' and 'bits' + arguments. + - interpolateAt* functions only look at the 'interpolant' argument. + + "The precision qualification of the result of a built-in function is + determined in one of the following ways: + + - For the texture sampling, image load, and image store functions, + the precision of the return type matches the precision of the + sampler type: + uniform lowp sampler2D sampler; + highp vec2 coord; + ... + lowp vec4 col = texture (sampler, coord); // texture() returns lowp + + Otherwise: + + - For prototypes that do not specify a resulting precision qualifier, + the precision will be the same as the precision of the operation. + (As defined earlier.) + + - For prototypes that do specify a resulting precision qualifier, + the specified precision qualifier is the precision qualification of + the result." + + Add precision qualifiers to the following in desktop versions: + + + genIType floatBitsToInt (highp genFType value) + genUType floatBitsToUint(highp genFType value) + genFType intBitsToFloat (highp genIType value) + genFType uintBitsToFloat(highp genUType value) + + genFType frexp(highp genFType x, out highp genIType exp) + genFType ldexp(highp genFType x, in highp genIType exp) + + highp uint packSnorm2x16(vec2 v) + vec2 unpackSnorm2x16(highp uint p) + highp uint packUnorm2x16(vec2 v) + vec2 unpackUnorm2x16(highp uint p) + vec2 unpackHalf2x16(highp uint v) + vec4 unpackUnorm4x8(highp uint v) + vec4 unpackSnorm4x8(highp uint v) + + genIType bitfieldReverse(highp genIType value) + genUType bitfieldReverse(highp genUType value) + genIType findMSB(highp genIType value) + genIType findMSB(highp genUType value) + genUType uaddCarry(highp genUType x, highp genUType y, + out lowp genUType carry) + genUType usubBorrow(highp genUType x, highp genUType y, + out lowp genUType borrow) + void umulExtended(highp genUType x, highp genUType y, + out highp genUType msb, out highp genUType lsb) + void imulExtended(highp genIType x, highp genIType y, + out highp genIType msb, out highp genIType lsb) + Add a section "8.X Subpass Functions @@ -1155,6 +1286,7 @@ Revision History Rev. Date Author Changes ---- ----------- ------- -------------------------------------------- + 31 20-Jul-2016 JohnK Have desktop versions respect mediump/lowp 30 12-Apr-2016 JohnK Restrict spec-const operations to non-float 29 5-Apr-2016 JohnK Clarify disallowance of spec-const arrays in initializers diff --git a/doc/specs/vulkan/Makefile b/doc/specs/vulkan/Makefile index d2f7aa00..f042b8ba 100644 --- a/doc/specs/vulkan/Makefile +++ b/doc/specs/vulkan/Makefile @@ -6,12 +6,15 @@ # Default targets: # - XHTML, XHTML chunked, and PDF specs ('allspecs') # - HTML single-document reference pages ('manhtml' and 'manpdf') -# - HTML and nroff separate reference pages ('manpages' and 'manhtmlpages') +# - HTML separate reference pages ('manpages' and 'manhtmlpages') # - Validator scripts ('allchecks') # # 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'). all: alldocs allchecks @@ -19,42 +22,46 @@ alldocs: allspecs allman allspecs: xhtml chunked pdf styleguide -allman: manhtml manpdf manpages manhtmlpages +allman: manhtml manpdf manhtmlpages allchecks: checkinc checklinks # Note that the := assignments below are immediate, not deferred, and # are therefore order-dependent in the Makefile -QUIET?=@ +QUIET ?= @ +PYTHON ?= python3 ASCIIDOC ?= asciidoc.py -A2X ?= a2x.py -DBLATEX ?= dblatex +A2X ?= a2x.py +DBLATEX ?= dblatex +XSLTPROC ?= xsltproc # DBLATEXPREFIX can be overriden by setting it as an environment variable, # if not installed in the standard location on your distribution DBLATEXPREFIX ?= /etc/asciidoc/dblatex -RM=rm -f -RMRF=rm -rf -MKDIR=mkdir -p -CP=cp -ECHO:=echo +RM = rm -f +RMRF = rm -rf +MKDIR = mkdir -p +CP = cp +ECHO = echo + # Target directories for output files # HTMLDIR - 'html' target # XHTMLDIR - 'xhtml' target +# CHUNKDIR - 'chunked' target # PDFDIR - 'pdf' target # CHECKDIR - 'allchecks' target -OUTDIR := ../../../out/1.0 -HTMLDIR := $(OUTDIR)/html -XHTMLDIR := $(OUTDIR)/xhtml -PDFDIR := $(OUTDIR)/pdf -CHECKDIR := $(OUTDIR)/checks -STYLEXHTMLDIR := $(OUTDIR)/style +# STYLEXHTMLDIR - 'styleguide' target +OUTDIR := ../../../out/1.0 +HTMLDIR := $(OUTDIR)/html +XHTMLDIR := $(OUTDIR)/xhtml +CHUNKDIR := $(OUTDIR)/chunked +PDFDIR := $(OUTDIR)/pdf +CHECKDIR := $(OUTDIR)/checks # Images used in the API spec IMAGEPATH :=images -ICONPATH :=$(IMAGEPATH)/icons -PDFXSL :=config/vkspec-dblatex.xsl -PDFSTY :=config/vkspec-dblatex.sty -PYTHON ?= python3 +ICONPATH :=$(IMAGEPATH)/icons +PDFXSL :=config/vkspec-dblatex.xsl +PDFSTY :=config/vkspec-dblatex.sty # Set VERBOSE to -v to see what asciidoc is doing. # Set KEEP to -d to retain intermediate dblatex files @@ -67,7 +74,7 @@ KEEP = # ATTRIBOPTS sets the api revision and enables MathJax generation # CONFIG Vulkan-specific Asciidoc macros. File used depends on target. # ADOCOPTS options for asciidoc->HTML output -# ADOCPDFOPTS options for asciidoc->PDF output via dblatex (not using a2x) +# ADOCDBOPTS options for asciidoc->XHTML or PDF output via docbook (not using a2x) # A2XOPTS options for a2x->{HTML,PDF} output XMLLINT = --no-xmllint NOTEOPTS = -a editing-notes -a implementation-guide @@ -75,17 +82,26 @@ ATTRIBOPTS = -a apirevision="$(SPECREVISION)" -a mathjax CONFIG = config/vkspec.conf ADOCOPTS = $(ATTRIBOPTS) $(NOTEOPTS) -f config/mathjax-asciidoc.conf \ -f $(CONFIG) $(VERBOSE) -ADOCPDFOPTS= $(ATTRIBOPTS) $(NOTEOPTS) -f config/mathjax-docbook.conf \ +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 +XSLTOPTS = \ + --param generate.consistent.ids 1 \ + --stringparam callout.graphics 1 \ + --stringparam navig.graphics 1 \ + --stringparam admon.textlabel 0 \ + --stringparam admon.graphics 1 + # XSL customizing Asciibook XSL to pass through equations and add # MathJax. This varies depending on target type. -XHTMLXSL = config/docbook-xsl/xhtml.xsl -CHUNKEDXSL = config/docbook-xsl/chunked.xsl +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. DBLATEXOPTS := $(KEEP) -V -T db2latex -I. -I images -I images/icons -s $(DBLATEXPREFIX)/asciidoc-dblatex.sty @@ -94,15 +110,16 @@ A2XDBLATEXOPTS := --dblatex-opts='$(DBLATEXOPTS)' # Misc. files to clean up (see 'checkinc' target below) DIRT = $(SPECVERSION) -.PHONY: directories $(MANHTMLDIR) $(MANPAGEDIR) +.PHONY: directories +# Images and icons that are used in or referenced by targets. +# For some targets they must be copied to output directories. ICONFILES := $(wildcard $(ICONPATH)/*.png) PNGFILES := $(ICONFILES) $(wildcard $(IMAGEPATH)/*.png) # Don't use vulkantexture0.svg as a source SVG file, PNG is available SVGFILES := $(filter-out $(IMAGEPATH)/vulkantexture0.svg,$(wildcard $(IMAGEPATH)/*.svg)) PDFFILES := $(SVGFILES:.svg=.pdf) -# Misc. directories and files that need to be copied into output directory -WEBIMAGES := $(SVGFILES:%=$(HTMLDIR)/%) $(PNGFILES:%=$(HTMLDIR)/%) + # File suffix for image targets for HTML and PDF Builds - Asciidoc {svgtype} attribute SVGTYPEHTML := svg SVGTYPEPDF := pdf @@ -111,58 +128,72 @@ 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) -INCLUDES := $(wildcard protos/*.txt structs/*.txt flags/*.txt enums/*.txt funcpointers/*.txt validity/structs/*.txt validity/protos/*.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) $(INCLUDES) +COMMONDOCS = $(CHAPTERS) $(GENINCLUDE) $(GENDEPENDS) # A generated included file with the spec version, date, and git commit SPECVERSION = specversion.txt -SPECREVISION = 1.0.21 +SPECREVISION = 1.0.22 SPECREMARK = # Spec targets # There is some complexity to try and avoid short virtual targets like 'html' # causing specs to *always* be regenerated. -html: $(HTMLDIR)/vkspec.html $(TOPDOC) $(COMMONDOCS) $(WEBIMAGES) +html: $(HTMLDIR)/vkspec.html $(TOPDOC) $(COMMONDOCS) -$(HTMLDIR)/vkspec.html: $(CONFIG) $(SPECVERSION) $(TOPDOC) $(COMMONDOCS) $(WEBIMAGES) - $(QUIET)if test ! -d $(HTMLDIR) ; then $(MKDIR) $(HTMLDIR) ; fi +$(HTMLDIR)/vkspec.html: $(CONFIG) $(SPECVERSION) $(TOPDOC) $(COMMONDOCS) + $(QUIET)$(MKDIR) $(HTMLDIR)/images/icons $(QUIET)$(ASCIIDOC) -b html5 $(ADOCOPTS) \ -o $(HTMLDIR)/vkspec.html -a svgpdf=$(SVGTYPEHTML) $(TOPDOC) + # Copy resource files in explicitly + $(QUIET)$(CP) $(SVGFILES) $(PNGFILES) $(HTMLDIR)/images + $(QUIET)$(CP) $(ICONFILES) $(HTMLDIR)/images/icons xhtml: $(XHTMLDIR)/vkspec.html $(TOPDOC) $(COMMONDOCS) $(XHTMLDIR)/vkspec.html: $(CONFIG) $(SPECVERSION) $(TOPDOC) $(COMMONDOCS) - $(QUIET)if test ! -d $(XHTMLDIR) ; then $(MKDIR) $(XHTMLDIR) ; fi - $(QUIET)$(A2X) $(A2XOPTS) -f xhtml $(TOPDOC) \ - --xsl-file=$(XHTMLXSL) \ - -a toc2 -a toclevels=2 --destination-dir=$(XHTMLDIR) \ - -a svgpdf=$(SVGTYPEHTML) + $(QUIET)$(MKDIR) $(XHTMLDIR)/images/icons $(XHTMLDIR)/config + $(QUIET)$(ASCIIDOC) --backend docbook $(ADOCDBOPTS) \ + -a a2x-format=xhtml -a svgpdf=$(SVGTYPEHTML) \ + -o $(XHTMLDIR)/vkspec.xml $(TOPDOC) + $(QUIET)$(XSLTPROC) $(XSLTOPTS) -o $@ $(XHTMLXSL) \ + $(XHTMLDIR)/vkspec.xml + # Copy resource files in explicitly + $(QUIET)$(CP) config/vkspec-xhtml.css $(XHTMLDIR)/config/ + $(QUIET)$(CP) $(SVGFILES) $(PNGFILES) $(XHTMLDIR)/images + $(QUIET)$(CP) $(ICONFILES) $(XHTMLDIR)/images/icons + $(QUIET)$(RM) $(XHTMLDIR)/vkspec.xml -chunked: $(OUTDIR)/vkspec.chunked/index.html $(TOPDOC) $(COMMONDOCS) +chunked: $(CHUNKDIR)/index.html $(TOPDOC) $(COMMONDOCS) -$(OUTDIR)/vkspec.chunked/index.html: $(CONFIG) $(SPECVERSION) $(TOPDOC) $(COMMONDOCS) - $(QUIET)if test ! -d $(OUTDIR)/chunked ; then $(MKDIR) $(OUTDIR) ; fi - $(QUIET)$(A2X) $(A2XOPTS) -f chunked $(TOPDOC) \ - --xsl-file=$(CHUNKEDXSL) \ - -a toc2 -a toclevels=2 --destination-dir=$(OUTDIR) \ - -a svgpdf=$(SVGTYPEHTML) +$(CHUNKDIR)/index.html: $(CONFIG) $(SPECVERSION) $(TOPDOC) $(COMMONDOCS) + $(QUIET)$(MKDIR) $(CHUNKDIR)/images/icons $(CHUNKDIR)/config + $(QUIET)$(ASCIIDOC) --backend docbook $(ADOCDBOPTS) \ + -a a2x-format=chunked -a svgpdf=$(SVGTYPEHTML) \ + -o $(CHUNKDIR)/vkspec.xml $(TOPDOC) + $(QUIET)$(XSLTPROC) $(XSLTOPTS) \ + --stringparam base.dir $(CHUNKDIR)/ \ + -o $@ $(CHUNKXSL) $(CHUNKDIR)/vkspec.xml + # Copy resource files in explicitly + $(QUIET)$(CP) config/vkspec-xhtml.css $(CHUNKDIR)/config/ + $(QUIET)$(CP) $(SVGFILES) $(PNGFILES) $(CHUNKDIR)/images + $(QUIET)$(CP) $(ICONFILES) $(CHUNKDIR)/images/icons + $(QUIET)$(RM) $(CHUNKDIR)/vkspec.xml pdf: $(PDFDIR)/vkspec.pdf -$(PDFDIR)/vkspec.pdf: $(PDFXSL) $(PDFSTY) $(PDFDIR)/vkspec.xml +$(PDFDIR)/vkspec.pdf: $(CONFIG) $(SPECVERSION) $(TOPDOC) $(COMMONDOCS) $(PDFFILES) + $(QUIET)$(MKDIR) $(PDFDIR) + $(QUIET)$(ASCIIDOC) --backend docbook $(ADOCDBOPTS) \ + -a a2x-format=pdf -a svgpdf=pdf \ + -o $(PDFDIR)/vkspec.xml $(TOPDOC) $(QUIET)$(DBLATEX) -b pdftex $(DBLATEXOPTS) \ -p "$(DBLATEXPREFIX)/asciidoc-dblatex.xsl" \ -p $(PDFXSL) -s $(PDFSTY) \ - $(PDFDIR)/vkspec.xml -O $(PDFDIR) - -$(PDFDIR)/vkspec.xml: $(CONFIG) $(SPECVERSION) $(TOPDOC) $(COMMONDOCS) $(PDFDIR) $(PDFFILES) - $(QUIET)$(ASCIIDOC) --backend docbook $(ADOCPDFOPTS) \ - -a a2x-format=pdf -a svgpdf=pdf \ - --out-file $(PDFDIR)/vkspec.xml $(TOPDOC) - -$(PDFDIR): - $(QUIET)if test ! -d $(PDFDIR) ; then $(MKDIR) $(PDFDIR) ; fi + -o $@ $(PDFDIR)/vkspec.xml + $(QUIET)$(RM) $(PDFDIR)/vkspec.xml # Generate Asciidoc attributes for spec version / date GITHEAD := ../../../.git/logs/HEAD @@ -192,36 +223,30 @@ STYLEFILES = $(wildcard style/[A-Za-z]*.txt) styleguide: $(OUTDIR)/styleguide.html -$(OUTDIR)/styleguide.html: $(CONFIG) $(SPECVERSION) $(STYLESRC) $(STYLEFILES) +$(OUTDIR)/styleguide.html: $(CONFIG) $(SPECVERSION) $(STYLESRC) $(STYLEFILES) $(GENINCLUDE) $(GENDEPENDS) $(QUIET)$(ASCIIDOC) -b html5 $(ADOCOPTS) \ -o $@ -a svgpdf=$(SVGTYPEHTML) \ $(STYLESRC) -clean: clean_html clean_pdf clean_chunked clean_checks clean_dirt clean_man - -clean_man: - $(RM) $(MANHTML) - $(RMRF) $(MANHTMLDIR) - $(RM) $(MANPAGES) - $(RMRF) $(MANPAGEDIR) +clean: clean_html clean_pdf clean_man clean_checks clean_generated clean_dirt clean_html: - $(QUIET)$(RMRF) $(HTMLDIR) $(XHTMLDIR) $(STYLEXHTMLDIR) + $(QUIET)$(RMRF) $(HTMLDIR) $(XHTMLDIR) $(CHUNKDIR) $(QUIET)$(RM) $(OUTDIR)/apispec.html $(OUTDIR)/styleguide.html clean_pdf: - $(QUIET)$(RM) \ - $(PDFDIR)/vkspec.pdf \ - $(PDFDIR)/vkspec.xml \ - $(OUTDIR)/apispec.pdf \ - $(OUTDIR)/apispec.xml + $(QUIET)$(RM) $(PDFDIR)/vkspec.pdf $(OUTDIR)/apispec.pdf -clean_chunked: - $(QUIET)$(RMRF) $(OUTDIR)/vkspec.chunked +clean_man: + $(QUIET)$(RMRF) $(MANHTMLDIR) + $(QUIET)$(RMRF) $(MANPAGEDIR) clean_checks: $(QUIET)$(RMRF) $(CHECKDIR) +clean_generated: + $(QUIET)$(RMRF) api/* hostsynctable/* validity/* vkapi.py + clean_dirt: $(QUIET)$(RM) $(DIRT) @@ -238,18 +263,7 @@ WSISOURCES := $(wildcard $(MANDIR)/*KHR.txt) EXTSOURCES := $(wildcard $(MANDIR)/*EXT.txt) CORESOURCES := $(filter-out $(WSISOURCES) $(EXTSOURCES) $(MANDIR)/vkman.css,$(wildcard $(MANDIR)/[Vv][Kk]* $(MANDIR)/PFN*txt)) MANSOURCES := $(CORESOURCES) $(WSISOURCES) $(EXTSOURCES) - MANCOPYRIGHT:= $(MANDIR)/khronoscopyright.txt $(MANDIR)/footer.txt -MANPAGEDIR := $(OUTDIR)/man/$(MANSECTION) -MANPAGES := $(MANSOURCES:$(MANDIR)/%.txt=$(MANPAGEDIR)/%.$(MANSECTION)) -MANHTMLDIR := $(OUTDIR)/man/html -MANHTML := $(MANSOURCES:$(MANDIR)/%.txt=$(MANHTMLDIR)/%.html) - -manpagesall: manpages manhtmlpages - -manpages: $(MANPAGEDIR) $(MANPAGES) - -manhtmlpages: $(MANHTMLDIR) $(MANHTML) # Automatic generation of ref pages. Needs to have a proper dependency # causing the man page sources to be generated by running genRef (once), @@ -260,56 +274,62 @@ man/apispec.txt: $(CHAPTERS) genRef.py reflib.py vkapi.py # These dependencies don't take into account include directives -$(MANPAGEDIR)/%.$(MANSECTION): $(MANDIR)/%.$(MANSECTION) - $(QUIET)mv $< $@ +# These targets are Unix 'man' nroff source, and are essentially useless +# since the ref pages contain both LaTeX math equations and images. -$(MANDIR)/%.$(MANSECTION): CONFIG=config/manpages.conf +MANPAGEDIR := $(OUTDIR)/man/$(MANSECTION) +MANPAGES := $(MANSOURCES:$(MANDIR)/%.txt=$(MANPAGEDIR)/%.$(MANSECTION)) -$(MANDIR)/%.$(MANSECTION): $(MANDIR)/%.txt $(MANCOPYRIGHT) config/manpages.conf - $(QUIET)$(ECHO) Building $@ - $(QUIET)$(A2X) -d manpage -f manpage --asciidoc-opts "-f config/manpages.conf" $(A2XOPTS) $< +manpages: $(MANPAGES) + +$(MANPAGEDIR)/%.$(MANSECTION): CONFIG=config/manpages.conf + +$(MANPAGEDIR)/%.$(MANSECTION): $(MANDIR)/%.txt $(MANCOPYRIGHT) config/manpages.conf $(GENINCLUDE) $(GENDEPENDS) + $(QUIET)$(MKDIR) $(MANPAGEDIR) + $(QUIET)$(ASCIIDOC) --backend docbook $(ADOCDBOPTS) --doctype manpage \ + -a a2x-format=manpage -a svgpdf=$(SVGTYPEHTML) \ + -o $@.xml $< + $(QUIET)$(XSLTPROC) $(XSLTOPTS) -o $@ $(MANPAGEXSL) $@.xml + $(QUIET)$(RM) $@.xml + +# These targets are HTML ref pages + +MANHTMLDIR := $(OUTDIR)/man/html +MANHTML := $(MANSOURCES:$(MANDIR)/%.txt=$(MANHTMLDIR)/%.html) + +manhtmlpages: $(MANHTML) $(MANHTMLDIR)/%.html: CONFIG=config/manpages.conf -$(MANHTMLDIR)/%.html: $(MANDIR)/%.txt $(MANCOPYRIGHT) config/manpages.conf - $(QUIET)$(ECHO) Building $@ +$(MANHTMLDIR)/%.html: $(MANDIR)/%.txt $(MANCOPYRIGHT) config/manpages.conf $(GENINCLUDE) $(GENDEPENDS) + $(QUIET)$(MKDIR) $(MANHTMLDIR) $(QUIET)$(ASCIIDOC) -b html5 -d manpage $(ADOCOPTS) \ -a themedir=$(CURDIR)/config -a theme=vkman \ -o $@ -a svgpdf=$(SVGTYPEHTML) $< -$(MANHTMLDIR): - $(QUIET)$(MKDIR) $@ - -$(MANPAGEDIR): - $(QUIET)$(MKDIR) $@ - -# Man page targets for HTML and PDF single-file documents +# These targets are HTML and PDF single-file versions of the ref pages manpdf: $(OUTDIR)/apispec.pdf manhtml: $(OUTDIR)/apispec.html -$(OUTDIR)/apispec.pdf: $(PDFXSL) $(PDFSTY) $(OUTDIR)/apispec.xml +$(OUTDIR)/apispec.pdf: $(CONFIG) $(SPECVERSION) man/apispec.txt $(MANSOURCES) $(MANCOPYRIGHT) $(PDFXSL) $(PDFSTY) $(GENINCLUDE) $(GENDEPENDS) + $(QUIET)$(MKDIR) $(OUTDIR) + $(QUIET)$(ASCIIDOC) --backend docbook $(ADOCDBOPTS) \ + -a a2x-format=pdf -a svgpdf=pdf \ + -o $(OUTDIR)/apispec.xml man/apispec.txt $(QUIET)$(DBLATEX) -b pdftex $(DBLATEXOPTS) \ -p "$(DBLATEXPREFIX)/asciidoc-dblatex.xsl" \ -p $(PDFXSL) -s $(PDFSTY) \ - $(OUTDIR)/apispec.xml -O $(OUTDIR) + -o $(OUTDIR) $(OUTDIR)/apispec.xml + $(QUIET)$(RM) $(OUTDIR)/apispec.xml -$(OUTDIR)/apispec.xml: $(CONFIG) $(SPECVERSION) man/apispec.txt $(MANSOURCES) $(MANCOPYRIGHT) $(PDFXSL) $(PDFSTY) - $(QUIET)$(ASCIIDOC) --backend docbook $(ADOCPDFOPTS) \ - -a a2x-format=pdf -a svgpdf=pdf \ - -o $@ man/apispec.txt - -$(OUTDIR)/apispec.html: $(CONFIG) $(SPECVERSION) man/apispec.txt $(MANSOURCES) $(MANCOPYRIGHT) $(SVGFILES) - $(QUIET)if test ! -d $(OUTDIR) ; then $(MKDIR) $(OUTDIR) ; fi +$(OUTDIR)/apispec.html: $(CONFIG) $(SPECVERSION) man/apispec.txt $(MANSOURCES) $(MANCOPYRIGHT) $(SVGFILES) $(GENINCLUDE) $(GENDEPENDS) + $(QUIET)$(MKDIR) $(OUTDIR) $(QUIET)$(ASCIIDOC) -b html5 -d book $(ADOCOPTS) \ -a themedir=$(CURDIR)/config -a theme=vkspec-xhtml \ -o $@ -a svgpdf=$(SVGTYPEHTML) man/apispec.txt -$(HTMLDIR)/images/%: images/% - $(QUIET)$(MKDIR) $(@D) - $(QUIET)$(CP) $< $@ - # Automated (though heuristic) checks of consistency in the spec and # ref page sources @@ -328,7 +348,7 @@ INSPEC = $(CHECKDIR)/inspec NOTINSPEC = $(CHECKDIR)/notInSpec.txt checkinc: $(QUIET)if test ! -d $(CHECKDIR) ; then $(MKDIR) $(CHECKDIR) ; fi - $(QUIET)ls $(INCLUDES) | sort > $(ACTUAL) + $(QUIET)ls $(GENINCLUDE) | sort > $(ACTUAL) $(QUIET)cat $(CHAPTERS) | \ egrep '^include::\.\./' | tr -d '[]' | \ sed -e 's#^include::\.\./##g' | sort > $(INCFILES) @@ -347,13 +367,54 @@ checkinc: # Generates files in $(CHECKDIR): # specErrs.txt - errors & warnings in API spec # manErrs.txt - errors & warnings in man pages -checklinks: +checklinks: vkapi.py $(QUIET)if test ! -d $(CHECKDIR) ; then $(MKDIR) $(CHECKDIR) ; fi $(QUIET)echo "Generating link checks for spec (specErrs.txt) and man pages (manErrs.txt)" $(QUIET)$(PYTHON) checkLinks.py -follow man/[Vv][Kk]*.txt > $(CHECKDIR)/manErrs.txt $(QUIET)$(PYTHON) checkLinks.py -follow $(CHAPTERS) > $(CHECKDIR)/specErrs.txt +# Targets generated from the XML and registry processing scripts +# vkapi.py - Python encoding of the registry +# api/timeMarker - proxy for 'apiincludes' - API include files under api/*/*.txt +# 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. + +EXTLIST = -extension VK_KHR_sampler_mirror_clamp_to_edge +REGISTRY = ../../../src/spec +VKXML = $(REGISTRY)/vk.xml +GENVK = $(REGISTRY)/genvk.py +GENVKOPTS= $(EXTLIST) -registry $(VKXML) + +vkapi.py: $(VKXML) $(GENVK) + $(PYTHON) $(GENVK) $(GENVKOPTS) -o . vkapi.py + +apiinc: api/timeMarker + +api/timeMarker: $(VKXML) $(GENVK) + $(QUIET)$(MKDIR) api + $(QUIET)$(PYTHON) $(GENVK) $(GENVKOPTS) -o api apiinc + +hostsyncinc: hostsynctable/timeMarker + +hostsynctable/timeMarker: $(VKXML) $(GENVK) + $(QUIET)$(MKDIR) hostsynctable + $(QUIET)$(PYTHON) $(GENVK) $(GENVKOPTS) -o hostsynctable hostsyncinc + +validinc: validity/timeMarker + +validity/timeMarker: $(VKXML) $(GENVK) + $(QUIET)$(MKDIR) validity + $(QUIET)$(PYTHON) $(GENVK) $(GENVKOPTS) -o validity validinc + +# Debugging aid - generate all files from registry XML +generated: vkapi.py api/timeMarker hostsynctable/timeMarker validity/timeMarker + # README file with build instructions -README.html: $(CONFIG) $(SPECVERSION) README.txt +README.html: $(CONFIG) $(SPECVERSION) README.adoc $(QUIET)$(ASCIIDOC) -b html5 $(ADOCOPTS) \ - -o $@ README.txt + -o $@ README.adoc diff --git a/doc/specs/vulkan/README.txt b/doc/specs/vulkan/README.adoc similarity index 97% rename from doc/specs/vulkan/README.txt rename to doc/specs/vulkan/README.adoc index 97062b66..77b999a5 100644 --- a/doc/specs/vulkan/README.txt +++ b/doc/specs/vulkan/README.adoc @@ -36,7 +36,7 @@ non-Windows environments. or equivalently: - $ make xhtml chunked pdf manhtml manpdf manpages manhtmlpages checkinc checklinks + $ make xhtml chunked pdf 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 @@ -50,7 +50,6 @@ them all, or they can individually be found as follows: ** +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/*+ -** +manpages+ - File-per-entry-point nroff source in +$(OUTDIR)/man/3/*+ * Validator output: ** +checkinc+ - List of commands, structs, etc. missing from the API spec in +$(OUTDIR)/checks/notInSpec.txt+ @@ -71,6 +70,12 @@ the standard +/etc/asciidoc/dblatex+ directory, set the environment variable +asciidoc-dblatex.xsl+ and +asciidoc-dblatex.sty+ files installed with asciidoc). +The +manpages+ target is deprecated, as the resulting Unix man pages have +issues with content like embedded latexmath: constructs, but is still +available for third parties wishing to generate them: + +* +manpages+ - File-per-entry-point nroff source in +$(OUTDIR)/man/3/*+ + [[building-test]] === Alternate and Test Builds === diff --git a/doc/specs/vulkan/README.html b/doc/specs/vulkan/README.html index bcf28232..04ab2c2e 100644 --- a/doc/specs/vulkan/README.html +++ b/doc/specs/vulkan/README.html @@ -797,35 +797,6 @@ asciidoc.install();

Introduction

- - - -
    -
  • -

    -link\:{path}/apispec.html#vkWaitForFences -

    -
      -
    • -

      -link:../vulkan/out/apispec.html#vkWaitForFences -

      -
    • -
    -
  • -
  • -

    -link\:{path}/apispec.html#vkWaitForFences\[Relpath\] -

    - -
  • -

This README describes important stuff for getting the Vulkan API specification and reference pages building properly.

@@ -848,7 +819,7 @@ non-Windows environments.

or equivalently:

-
$ make xhtml chunked pdf manhtml manpdf manpages manhtmlpages checkinc checklinks
+
$ make xhtml chunked pdf 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 @@ -896,11 +867,6 @@ Reference pages: manhtmlpages - File-per-entry-point HTML in $(OUTDIR)/man/html/*

-
  • -

    -manpages - File-per-entry-point nroff source in $(OUTDIR)/man/3/* -

    -
  • @@ -936,6 +902,16 @@ the standard /etc/asciidoc/dblatex directory, se DBLATEXPREFIX to the path to that directory (the one containing the asciidoc-dblatex.xsl and asciidoc-dblatex.sty files installed with asciidoc).

    +

    The manpages target is deprecated, as the resulting Unix man pages have +issues with content like embedded latexmath: constructs, but is still +available for third parties wishing to generate them:

    +
      +
    • +

      +manpages - File-per-entry-point nroff source in $(OUTDIR)/man/3/* +

      +
    • +

    Alternate and Test Builds

    If you are just testing asciidoc formatting, macros, stylesheets, etc., @@ -1310,7 +1286,7 @@ Devel/git (2.5.1-1) - Needed for updating specversion.txt

    diff --git a/doc/specs/vulkan/README.md b/doc/specs/vulkan/README.md index db55133f..f2e9f28d 100644 --- a/doc/specs/vulkan/README.md +++ b/doc/specs/vulkan/README.md @@ -1,3 +1,3 @@ -See README.html (asciidoc source in README.txt) for instructions and +See README.html (asciidoc source in README.adoc) for instructions and notes about building the spec. Unfortunately gitlab won't render HTML or Asciidoc in its web view page, so this README.md is of limited utility. diff --git a/doc/specs/vulkan/basetypes/VkBool32.txt b/doc/specs/vulkan/api/basetypes/VkBool32.txt similarity index 100% rename from doc/specs/vulkan/basetypes/VkBool32.txt rename to doc/specs/vulkan/api/basetypes/VkBool32.txt diff --git a/doc/specs/vulkan/basetypes/VkDeviceSize.txt b/doc/specs/vulkan/api/basetypes/VkDeviceSize.txt similarity index 100% rename from doc/specs/vulkan/basetypes/VkDeviceSize.txt rename to doc/specs/vulkan/api/basetypes/VkDeviceSize.txt diff --git a/doc/specs/vulkan/basetypes/VkFlags.txt b/doc/specs/vulkan/api/basetypes/VkFlags.txt similarity index 100% rename from doc/specs/vulkan/basetypes/VkFlags.txt rename to doc/specs/vulkan/api/basetypes/VkFlags.txt diff --git a/doc/specs/vulkan/basetypes/VkSampleMask.txt b/doc/specs/vulkan/api/basetypes/VkSampleMask.txt similarity index 100% rename from doc/specs/vulkan/basetypes/VkSampleMask.txt rename to doc/specs/vulkan/api/basetypes/VkSampleMask.txt diff --git a/doc/specs/vulkan/defines/VK_API_VERSION.txt b/doc/specs/vulkan/api/defines/VK_API_VERSION.txt similarity index 100% rename from doc/specs/vulkan/defines/VK_API_VERSION.txt rename to doc/specs/vulkan/api/defines/VK_API_VERSION.txt diff --git a/doc/specs/vulkan/defines/VK_API_VERSION_1_0.txt b/doc/specs/vulkan/api/defines/VK_API_VERSION_1_0.txt similarity index 100% rename from doc/specs/vulkan/defines/VK_API_VERSION_1_0.txt rename to doc/specs/vulkan/api/defines/VK_API_VERSION_1_0.txt diff --git a/doc/specs/vulkan/defines/VK_DEFINE_HANDLE.txt b/doc/specs/vulkan/api/defines/VK_DEFINE_HANDLE.txt similarity index 100% rename from doc/specs/vulkan/defines/VK_DEFINE_HANDLE.txt rename to doc/specs/vulkan/api/defines/VK_DEFINE_HANDLE.txt diff --git a/doc/specs/vulkan/defines/VK_DEFINE_NON_DISPATCHABLE_HANDLE.txt b/doc/specs/vulkan/api/defines/VK_DEFINE_NON_DISPATCHABLE_HANDLE.txt similarity index 78% rename from doc/specs/vulkan/defines/VK_DEFINE_NON_DISPATCHABLE_HANDLE.txt rename to doc/specs/vulkan/api/defines/VK_DEFINE_NON_DISPATCHABLE_HANDLE.txt index 0ee5ce77..d870c346 100644 --- a/doc/specs/vulkan/defines/VK_DEFINE_NON_DISPATCHABLE_HANDLE.txt +++ b/doc/specs/vulkan/api/defines/VK_DEFINE_NON_DISPATCHABLE_HANDLE.txt @@ -8,7 +8,7 @@ ifdef::doctype-manpage[] endif::doctype-manpage[] ------------------------------------------------------------------------------ -#if defined(__LP64__) || defined(_WIN64) || defined(__x86_64__) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) +#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; diff --git a/doc/specs/vulkan/defines/VK_HEADER_VERSION.txt b/doc/specs/vulkan/api/defines/VK_HEADER_VERSION.txt similarity index 94% rename from doc/specs/vulkan/defines/VK_HEADER_VERSION.txt rename to doc/specs/vulkan/api/defines/VK_HEADER_VERSION.txt index 18ed76d4..37a8f59f 100644 --- a/doc/specs/vulkan/defines/VK_HEADER_VERSION.txt +++ b/doc/specs/vulkan/api/defines/VK_HEADER_VERSION.txt @@ -8,6 +8,6 @@ ifdef::doctype-manpage[] endif::doctype-manpage[] ------------------------------------------------------------------------------ // Version of this file -#define VK_HEADER_VERSION 21 +#define VK_HEADER_VERSION 22 ------------------------------------------------------------------------------ diff --git a/doc/specs/vulkan/defines/VK_MAKE_VERSION.txt b/doc/specs/vulkan/api/defines/VK_MAKE_VERSION.txt similarity index 100% rename from doc/specs/vulkan/defines/VK_MAKE_VERSION.txt rename to doc/specs/vulkan/api/defines/VK_MAKE_VERSION.txt diff --git a/doc/specs/vulkan/defines/VK_NULL_HANDLE.txt b/doc/specs/vulkan/api/defines/VK_NULL_HANDLE.txt similarity index 100% rename from doc/specs/vulkan/defines/VK_NULL_HANDLE.txt rename to doc/specs/vulkan/api/defines/VK_NULL_HANDLE.txt diff --git a/doc/specs/vulkan/defines/VK_VERSION_MAJOR.txt b/doc/specs/vulkan/api/defines/VK_VERSION_MAJOR.txt similarity index 100% rename from doc/specs/vulkan/defines/VK_VERSION_MAJOR.txt rename to doc/specs/vulkan/api/defines/VK_VERSION_MAJOR.txt diff --git a/doc/specs/vulkan/defines/VK_VERSION_MINOR.txt b/doc/specs/vulkan/api/defines/VK_VERSION_MINOR.txt similarity index 100% rename from doc/specs/vulkan/defines/VK_VERSION_MINOR.txt rename to doc/specs/vulkan/api/defines/VK_VERSION_MINOR.txt diff --git a/doc/specs/vulkan/defines/VK_VERSION_PATCH.txt b/doc/specs/vulkan/api/defines/VK_VERSION_PATCH.txt similarity index 100% rename from doc/specs/vulkan/defines/VK_VERSION_PATCH.txt rename to doc/specs/vulkan/api/defines/VK_VERSION_PATCH.txt diff --git a/doc/specs/vulkan/enums/VkAccessFlagBits.txt b/doc/specs/vulkan/api/enums/VkAccessFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkAccessFlagBits.txt rename to doc/specs/vulkan/api/enums/VkAccessFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkAttachmentDescriptionFlagBits.txt b/doc/specs/vulkan/api/enums/VkAttachmentDescriptionFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkAttachmentDescriptionFlagBits.txt rename to doc/specs/vulkan/api/enums/VkAttachmentDescriptionFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkAttachmentLoadOp.txt b/doc/specs/vulkan/api/enums/VkAttachmentLoadOp.txt similarity index 100% rename from doc/specs/vulkan/enums/VkAttachmentLoadOp.txt rename to doc/specs/vulkan/api/enums/VkAttachmentLoadOp.txt diff --git a/doc/specs/vulkan/enums/VkAttachmentStoreOp.txt b/doc/specs/vulkan/api/enums/VkAttachmentStoreOp.txt similarity index 100% rename from doc/specs/vulkan/enums/VkAttachmentStoreOp.txt rename to doc/specs/vulkan/api/enums/VkAttachmentStoreOp.txt diff --git a/doc/specs/vulkan/enums/VkBlendFactor.txt b/doc/specs/vulkan/api/enums/VkBlendFactor.txt similarity index 100% rename from doc/specs/vulkan/enums/VkBlendFactor.txt rename to doc/specs/vulkan/api/enums/VkBlendFactor.txt diff --git a/doc/specs/vulkan/enums/VkBlendOp.txt b/doc/specs/vulkan/api/enums/VkBlendOp.txt similarity index 100% rename from doc/specs/vulkan/enums/VkBlendOp.txt rename to doc/specs/vulkan/api/enums/VkBlendOp.txt diff --git a/doc/specs/vulkan/enums/VkBorderColor.txt b/doc/specs/vulkan/api/enums/VkBorderColor.txt similarity index 100% rename from doc/specs/vulkan/enums/VkBorderColor.txt rename to doc/specs/vulkan/api/enums/VkBorderColor.txt diff --git a/doc/specs/vulkan/enums/VkBufferCreateFlagBits.txt b/doc/specs/vulkan/api/enums/VkBufferCreateFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkBufferCreateFlagBits.txt rename to doc/specs/vulkan/api/enums/VkBufferCreateFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkBufferUsageFlagBits.txt b/doc/specs/vulkan/api/enums/VkBufferUsageFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkBufferUsageFlagBits.txt rename to doc/specs/vulkan/api/enums/VkBufferUsageFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkColorComponentFlagBits.txt b/doc/specs/vulkan/api/enums/VkColorComponentFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkColorComponentFlagBits.txt rename to doc/specs/vulkan/api/enums/VkColorComponentFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkCommandBufferLevel.txt b/doc/specs/vulkan/api/enums/VkCommandBufferLevel.txt similarity index 100% rename from doc/specs/vulkan/enums/VkCommandBufferLevel.txt rename to doc/specs/vulkan/api/enums/VkCommandBufferLevel.txt diff --git a/doc/specs/vulkan/enums/VkCommandBufferResetFlagBits.txt b/doc/specs/vulkan/api/enums/VkCommandBufferResetFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkCommandBufferResetFlagBits.txt rename to doc/specs/vulkan/api/enums/VkCommandBufferResetFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkCommandBufferUsageFlagBits.txt b/doc/specs/vulkan/api/enums/VkCommandBufferUsageFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkCommandBufferUsageFlagBits.txt rename to doc/specs/vulkan/api/enums/VkCommandBufferUsageFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkCommandPoolCreateFlagBits.txt b/doc/specs/vulkan/api/enums/VkCommandPoolCreateFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkCommandPoolCreateFlagBits.txt rename to doc/specs/vulkan/api/enums/VkCommandPoolCreateFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkCommandPoolResetFlagBits.txt b/doc/specs/vulkan/api/enums/VkCommandPoolResetFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkCommandPoolResetFlagBits.txt rename to doc/specs/vulkan/api/enums/VkCommandPoolResetFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkCompareOp.txt b/doc/specs/vulkan/api/enums/VkCompareOp.txt similarity index 100% rename from doc/specs/vulkan/enums/VkCompareOp.txt rename to doc/specs/vulkan/api/enums/VkCompareOp.txt diff --git a/doc/specs/vulkan/enums/VkComponentSwizzle.txt b/doc/specs/vulkan/api/enums/VkComponentSwizzle.txt similarity index 100% rename from doc/specs/vulkan/enums/VkComponentSwizzle.txt rename to doc/specs/vulkan/api/enums/VkComponentSwizzle.txt diff --git a/doc/specs/vulkan/enums/VkCullModeFlagBits.txt b/doc/specs/vulkan/api/enums/VkCullModeFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkCullModeFlagBits.txt rename to doc/specs/vulkan/api/enums/VkCullModeFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkDependencyFlagBits.txt b/doc/specs/vulkan/api/enums/VkDependencyFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkDependencyFlagBits.txt rename to doc/specs/vulkan/api/enums/VkDependencyFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkDescriptorPoolCreateFlagBits.txt b/doc/specs/vulkan/api/enums/VkDescriptorPoolCreateFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkDescriptorPoolCreateFlagBits.txt rename to doc/specs/vulkan/api/enums/VkDescriptorPoolCreateFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkDescriptorType.txt b/doc/specs/vulkan/api/enums/VkDescriptorType.txt similarity index 100% rename from doc/specs/vulkan/enums/VkDescriptorType.txt rename to doc/specs/vulkan/api/enums/VkDescriptorType.txt diff --git a/doc/specs/vulkan/enums/VkDynamicState.txt b/doc/specs/vulkan/api/enums/VkDynamicState.txt similarity index 100% rename from doc/specs/vulkan/enums/VkDynamicState.txt rename to doc/specs/vulkan/api/enums/VkDynamicState.txt diff --git a/doc/specs/vulkan/enums/VkFenceCreateFlagBits.txt b/doc/specs/vulkan/api/enums/VkFenceCreateFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkFenceCreateFlagBits.txt rename to doc/specs/vulkan/api/enums/VkFenceCreateFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkFilter.txt b/doc/specs/vulkan/api/enums/VkFilter.txt similarity index 100% rename from doc/specs/vulkan/enums/VkFilter.txt rename to doc/specs/vulkan/api/enums/VkFilter.txt diff --git a/doc/specs/vulkan/enums/VkFormat.txt b/doc/specs/vulkan/api/enums/VkFormat.txt similarity index 100% rename from doc/specs/vulkan/enums/VkFormat.txt rename to doc/specs/vulkan/api/enums/VkFormat.txt diff --git a/doc/specs/vulkan/enums/VkFormatFeatureFlagBits.txt b/doc/specs/vulkan/api/enums/VkFormatFeatureFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkFormatFeatureFlagBits.txt rename to doc/specs/vulkan/api/enums/VkFormatFeatureFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkFrontFace.txt b/doc/specs/vulkan/api/enums/VkFrontFace.txt similarity index 100% rename from doc/specs/vulkan/enums/VkFrontFace.txt rename to doc/specs/vulkan/api/enums/VkFrontFace.txt diff --git a/doc/specs/vulkan/enums/VkImageAspectFlagBits.txt b/doc/specs/vulkan/api/enums/VkImageAspectFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkImageAspectFlagBits.txt rename to doc/specs/vulkan/api/enums/VkImageAspectFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkImageCreateFlagBits.txt b/doc/specs/vulkan/api/enums/VkImageCreateFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkImageCreateFlagBits.txt rename to doc/specs/vulkan/api/enums/VkImageCreateFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkImageLayout.txt b/doc/specs/vulkan/api/enums/VkImageLayout.txt similarity index 100% rename from doc/specs/vulkan/enums/VkImageLayout.txt rename to doc/specs/vulkan/api/enums/VkImageLayout.txt diff --git a/doc/specs/vulkan/enums/VkImageTiling.txt b/doc/specs/vulkan/api/enums/VkImageTiling.txt similarity index 100% rename from doc/specs/vulkan/enums/VkImageTiling.txt rename to doc/specs/vulkan/api/enums/VkImageTiling.txt diff --git a/doc/specs/vulkan/enums/VkImageType.txt b/doc/specs/vulkan/api/enums/VkImageType.txt similarity index 100% rename from doc/specs/vulkan/enums/VkImageType.txt rename to doc/specs/vulkan/api/enums/VkImageType.txt diff --git a/doc/specs/vulkan/enums/VkImageUsageFlagBits.txt b/doc/specs/vulkan/api/enums/VkImageUsageFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkImageUsageFlagBits.txt rename to doc/specs/vulkan/api/enums/VkImageUsageFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkImageViewType.txt b/doc/specs/vulkan/api/enums/VkImageViewType.txt similarity index 100% rename from doc/specs/vulkan/enums/VkImageViewType.txt rename to doc/specs/vulkan/api/enums/VkImageViewType.txt diff --git a/doc/specs/vulkan/enums/VkIndexType.txt b/doc/specs/vulkan/api/enums/VkIndexType.txt similarity index 100% rename from doc/specs/vulkan/enums/VkIndexType.txt rename to doc/specs/vulkan/api/enums/VkIndexType.txt diff --git a/doc/specs/vulkan/enums/VkInternalAllocationType.txt b/doc/specs/vulkan/api/enums/VkInternalAllocationType.txt similarity index 100% rename from doc/specs/vulkan/enums/VkInternalAllocationType.txt rename to doc/specs/vulkan/api/enums/VkInternalAllocationType.txt diff --git a/doc/specs/vulkan/enums/VkLogicOp.txt b/doc/specs/vulkan/api/enums/VkLogicOp.txt similarity index 100% rename from doc/specs/vulkan/enums/VkLogicOp.txt rename to doc/specs/vulkan/api/enums/VkLogicOp.txt diff --git a/doc/specs/vulkan/enums/VkMemoryHeapFlagBits.txt b/doc/specs/vulkan/api/enums/VkMemoryHeapFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkMemoryHeapFlagBits.txt rename to doc/specs/vulkan/api/enums/VkMemoryHeapFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkMemoryPropertyFlagBits.txt b/doc/specs/vulkan/api/enums/VkMemoryPropertyFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkMemoryPropertyFlagBits.txt rename to doc/specs/vulkan/api/enums/VkMemoryPropertyFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkPhysicalDeviceType.txt b/doc/specs/vulkan/api/enums/VkPhysicalDeviceType.txt similarity index 100% rename from doc/specs/vulkan/enums/VkPhysicalDeviceType.txt rename to doc/specs/vulkan/api/enums/VkPhysicalDeviceType.txt diff --git a/doc/specs/vulkan/enums/VkPipelineBindPoint.txt b/doc/specs/vulkan/api/enums/VkPipelineBindPoint.txt similarity index 100% rename from doc/specs/vulkan/enums/VkPipelineBindPoint.txt rename to doc/specs/vulkan/api/enums/VkPipelineBindPoint.txt diff --git a/doc/specs/vulkan/enums/VkPipelineCacheHeaderVersion.txt b/doc/specs/vulkan/api/enums/VkPipelineCacheHeaderVersion.txt similarity index 100% rename from doc/specs/vulkan/enums/VkPipelineCacheHeaderVersion.txt rename to doc/specs/vulkan/api/enums/VkPipelineCacheHeaderVersion.txt diff --git a/doc/specs/vulkan/enums/VkPipelineCreateFlagBits.txt b/doc/specs/vulkan/api/enums/VkPipelineCreateFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkPipelineCreateFlagBits.txt rename to doc/specs/vulkan/api/enums/VkPipelineCreateFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkPipelineStageFlagBits.txt b/doc/specs/vulkan/api/enums/VkPipelineStageFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkPipelineStageFlagBits.txt rename to doc/specs/vulkan/api/enums/VkPipelineStageFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkPolygonMode.txt b/doc/specs/vulkan/api/enums/VkPolygonMode.txt similarity index 100% rename from doc/specs/vulkan/enums/VkPolygonMode.txt rename to doc/specs/vulkan/api/enums/VkPolygonMode.txt diff --git a/doc/specs/vulkan/enums/VkPrimitiveTopology.txt b/doc/specs/vulkan/api/enums/VkPrimitiveTopology.txt similarity index 100% rename from doc/specs/vulkan/enums/VkPrimitiveTopology.txt rename to doc/specs/vulkan/api/enums/VkPrimitiveTopology.txt diff --git a/doc/specs/vulkan/enums/VkQueryControlFlagBits.txt b/doc/specs/vulkan/api/enums/VkQueryControlFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkQueryControlFlagBits.txt rename to doc/specs/vulkan/api/enums/VkQueryControlFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkQueryPipelineStatisticFlagBits.txt b/doc/specs/vulkan/api/enums/VkQueryPipelineStatisticFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkQueryPipelineStatisticFlagBits.txt rename to doc/specs/vulkan/api/enums/VkQueryPipelineStatisticFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkQueryResultFlagBits.txt b/doc/specs/vulkan/api/enums/VkQueryResultFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkQueryResultFlagBits.txt rename to doc/specs/vulkan/api/enums/VkQueryResultFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkQueryType.txt b/doc/specs/vulkan/api/enums/VkQueryType.txt similarity index 100% rename from doc/specs/vulkan/enums/VkQueryType.txt rename to doc/specs/vulkan/api/enums/VkQueryType.txt diff --git a/doc/specs/vulkan/enums/VkQueueFlagBits.txt b/doc/specs/vulkan/api/enums/VkQueueFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkQueueFlagBits.txt rename to doc/specs/vulkan/api/enums/VkQueueFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkResult.txt b/doc/specs/vulkan/api/enums/VkResult.txt similarity index 96% rename from doc/specs/vulkan/enums/VkResult.txt rename to doc/specs/vulkan/api/enums/VkResult.txt index abada18b..83f7d38e 100644 --- a/doc/specs/vulkan/enums/VkResult.txt +++ b/doc/specs/vulkan/api/enums/VkResult.txt @@ -25,5 +25,6 @@ typedef enum VkResult { 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/enums/VkSampleCountFlagBits.txt b/doc/specs/vulkan/api/enums/VkSampleCountFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkSampleCountFlagBits.txt rename to doc/specs/vulkan/api/enums/VkSampleCountFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkSamplerAddressMode.txt b/doc/specs/vulkan/api/enums/VkSamplerAddressMode.txt similarity index 100% rename from doc/specs/vulkan/enums/VkSamplerAddressMode.txt rename to doc/specs/vulkan/api/enums/VkSamplerAddressMode.txt diff --git a/doc/specs/vulkan/enums/VkSamplerMipmapMode.txt b/doc/specs/vulkan/api/enums/VkSamplerMipmapMode.txt similarity index 100% rename from doc/specs/vulkan/enums/VkSamplerMipmapMode.txt rename to doc/specs/vulkan/api/enums/VkSamplerMipmapMode.txt diff --git a/doc/specs/vulkan/enums/VkShaderStageFlagBits.txt b/doc/specs/vulkan/api/enums/VkShaderStageFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkShaderStageFlagBits.txt rename to doc/specs/vulkan/api/enums/VkShaderStageFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkSharingMode.txt b/doc/specs/vulkan/api/enums/VkSharingMode.txt similarity index 100% rename from doc/specs/vulkan/enums/VkSharingMode.txt rename to doc/specs/vulkan/api/enums/VkSharingMode.txt diff --git a/doc/specs/vulkan/enums/VkSparseImageFormatFlagBits.txt b/doc/specs/vulkan/api/enums/VkSparseImageFormatFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkSparseImageFormatFlagBits.txt rename to doc/specs/vulkan/api/enums/VkSparseImageFormatFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkSparseMemoryBindFlagBits.txt b/doc/specs/vulkan/api/enums/VkSparseMemoryBindFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkSparseMemoryBindFlagBits.txt rename to doc/specs/vulkan/api/enums/VkSparseMemoryBindFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkStencilFaceFlagBits.txt b/doc/specs/vulkan/api/enums/VkStencilFaceFlagBits.txt similarity index 100% rename from doc/specs/vulkan/enums/VkStencilFaceFlagBits.txt rename to doc/specs/vulkan/api/enums/VkStencilFaceFlagBits.txt diff --git a/doc/specs/vulkan/enums/VkStencilOp.txt b/doc/specs/vulkan/api/enums/VkStencilOp.txt similarity index 100% rename from doc/specs/vulkan/enums/VkStencilOp.txt rename to doc/specs/vulkan/api/enums/VkStencilOp.txt diff --git a/doc/specs/vulkan/enums/VkStructureType.txt b/doc/specs/vulkan/api/enums/VkStructureType.txt similarity index 100% rename from doc/specs/vulkan/enums/VkStructureType.txt rename to doc/specs/vulkan/api/enums/VkStructureType.txt diff --git a/doc/specs/vulkan/enums/VkSubpassContents.txt b/doc/specs/vulkan/api/enums/VkSubpassContents.txt similarity index 100% rename from doc/specs/vulkan/enums/VkSubpassContents.txt rename to doc/specs/vulkan/api/enums/VkSubpassContents.txt diff --git a/doc/specs/vulkan/enums/VkSystemAllocationScope.txt b/doc/specs/vulkan/api/enums/VkSystemAllocationScope.txt similarity index 100% rename from doc/specs/vulkan/enums/VkSystemAllocationScope.txt rename to doc/specs/vulkan/api/enums/VkSystemAllocationScope.txt diff --git a/doc/specs/vulkan/enums/VkVertexInputRate.txt b/doc/specs/vulkan/api/enums/VkVertexInputRate.txt similarity index 100% rename from doc/specs/vulkan/enums/VkVertexInputRate.txt rename to doc/specs/vulkan/api/enums/VkVertexInputRate.txt diff --git a/doc/specs/vulkan/flags/VkAccessFlags.txt b/doc/specs/vulkan/api/flags/VkAccessFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkAccessFlags.txt rename to doc/specs/vulkan/api/flags/VkAccessFlags.txt diff --git a/doc/specs/vulkan/flags/VkAttachmentDescriptionFlags.txt b/doc/specs/vulkan/api/flags/VkAttachmentDescriptionFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkAttachmentDescriptionFlags.txt rename to doc/specs/vulkan/api/flags/VkAttachmentDescriptionFlags.txt diff --git a/doc/specs/vulkan/flags/VkBufferCreateFlags.txt b/doc/specs/vulkan/api/flags/VkBufferCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkBufferCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkBufferCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkBufferUsageFlags.txt b/doc/specs/vulkan/api/flags/VkBufferUsageFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkBufferUsageFlags.txt rename to doc/specs/vulkan/api/flags/VkBufferUsageFlags.txt diff --git a/doc/specs/vulkan/flags/VkBufferViewCreateFlags.txt b/doc/specs/vulkan/api/flags/VkBufferViewCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkBufferViewCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkBufferViewCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkColorComponentFlags.txt b/doc/specs/vulkan/api/flags/VkColorComponentFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkColorComponentFlags.txt rename to doc/specs/vulkan/api/flags/VkColorComponentFlags.txt diff --git a/doc/specs/vulkan/flags/VkCommandBufferResetFlags.txt b/doc/specs/vulkan/api/flags/VkCommandBufferResetFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkCommandBufferResetFlags.txt rename to doc/specs/vulkan/api/flags/VkCommandBufferResetFlags.txt diff --git a/doc/specs/vulkan/flags/VkCommandBufferUsageFlags.txt b/doc/specs/vulkan/api/flags/VkCommandBufferUsageFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkCommandBufferUsageFlags.txt rename to doc/specs/vulkan/api/flags/VkCommandBufferUsageFlags.txt diff --git a/doc/specs/vulkan/flags/VkCommandPoolCreateFlags.txt b/doc/specs/vulkan/api/flags/VkCommandPoolCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkCommandPoolCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkCommandPoolCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkCommandPoolResetFlags.txt b/doc/specs/vulkan/api/flags/VkCommandPoolResetFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkCommandPoolResetFlags.txt rename to doc/specs/vulkan/api/flags/VkCommandPoolResetFlags.txt diff --git a/doc/specs/vulkan/flags/VkCullModeFlags.txt b/doc/specs/vulkan/api/flags/VkCullModeFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkCullModeFlags.txt rename to doc/specs/vulkan/api/flags/VkCullModeFlags.txt diff --git a/doc/specs/vulkan/flags/VkDependencyFlags.txt b/doc/specs/vulkan/api/flags/VkDependencyFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkDependencyFlags.txt rename to doc/specs/vulkan/api/flags/VkDependencyFlags.txt diff --git a/doc/specs/vulkan/flags/VkDescriptorPoolCreateFlags.txt b/doc/specs/vulkan/api/flags/VkDescriptorPoolCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkDescriptorPoolCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkDescriptorPoolCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkDescriptorPoolResetFlags.txt b/doc/specs/vulkan/api/flags/VkDescriptorPoolResetFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkDescriptorPoolResetFlags.txt rename to doc/specs/vulkan/api/flags/VkDescriptorPoolResetFlags.txt diff --git a/doc/specs/vulkan/flags/VkDescriptorSetLayoutCreateFlags.txt b/doc/specs/vulkan/api/flags/VkDescriptorSetLayoutCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkDescriptorSetLayoutCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkDescriptorSetLayoutCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkDeviceCreateFlags.txt b/doc/specs/vulkan/api/flags/VkDeviceCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkDeviceCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkDeviceCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkDeviceQueueCreateFlags.txt b/doc/specs/vulkan/api/flags/VkDeviceQueueCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkDeviceQueueCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkDeviceQueueCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkEventCreateFlags.txt b/doc/specs/vulkan/api/flags/VkEventCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkEventCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkEventCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkFenceCreateFlags.txt b/doc/specs/vulkan/api/flags/VkFenceCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkFenceCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkFenceCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkFormatFeatureFlags.txt b/doc/specs/vulkan/api/flags/VkFormatFeatureFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkFormatFeatureFlags.txt rename to doc/specs/vulkan/api/flags/VkFormatFeatureFlags.txt diff --git a/doc/specs/vulkan/flags/VkFramebufferCreateFlags.txt b/doc/specs/vulkan/api/flags/VkFramebufferCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkFramebufferCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkFramebufferCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkImageAspectFlags.txt b/doc/specs/vulkan/api/flags/VkImageAspectFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkImageAspectFlags.txt rename to doc/specs/vulkan/api/flags/VkImageAspectFlags.txt diff --git a/doc/specs/vulkan/flags/VkImageCreateFlags.txt b/doc/specs/vulkan/api/flags/VkImageCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkImageCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkImageCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkImageUsageFlags.txt b/doc/specs/vulkan/api/flags/VkImageUsageFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkImageUsageFlags.txt rename to doc/specs/vulkan/api/flags/VkImageUsageFlags.txt diff --git a/doc/specs/vulkan/flags/VkImageViewCreateFlags.txt b/doc/specs/vulkan/api/flags/VkImageViewCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkImageViewCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkImageViewCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkInstanceCreateFlags.txt b/doc/specs/vulkan/api/flags/VkInstanceCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkInstanceCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkInstanceCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkMemoryHeapFlags.txt b/doc/specs/vulkan/api/flags/VkMemoryHeapFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkMemoryHeapFlags.txt rename to doc/specs/vulkan/api/flags/VkMemoryHeapFlags.txt diff --git a/doc/specs/vulkan/flags/VkMemoryMapFlags.txt b/doc/specs/vulkan/api/flags/VkMemoryMapFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkMemoryMapFlags.txt rename to doc/specs/vulkan/api/flags/VkMemoryMapFlags.txt diff --git a/doc/specs/vulkan/flags/VkMemoryPropertyFlags.txt b/doc/specs/vulkan/api/flags/VkMemoryPropertyFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkMemoryPropertyFlags.txt rename to doc/specs/vulkan/api/flags/VkMemoryPropertyFlags.txt diff --git a/doc/specs/vulkan/flags/VkPipelineCacheCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineCacheCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkPipelineCacheCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkPipelineCacheCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkPipelineColorBlendStateCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineColorBlendStateCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkPipelineColorBlendStateCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkPipelineColorBlendStateCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkPipelineCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkPipelineCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkPipelineCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkPipelineDepthStencilStateCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineDepthStencilStateCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkPipelineDepthStencilStateCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkPipelineDepthStencilStateCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkPipelineDynamicStateCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineDynamicStateCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkPipelineDynamicStateCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkPipelineDynamicStateCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkPipelineInputAssemblyStateCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineInputAssemblyStateCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkPipelineInputAssemblyStateCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkPipelineInputAssemblyStateCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkPipelineLayoutCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineLayoutCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkPipelineLayoutCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkPipelineLayoutCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkPipelineMultisampleStateCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineMultisampleStateCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkPipelineMultisampleStateCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkPipelineMultisampleStateCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkPipelineRasterizationStateCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineRasterizationStateCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkPipelineRasterizationStateCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkPipelineRasterizationStateCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkPipelineShaderStageCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineShaderStageCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkPipelineShaderStageCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkPipelineShaderStageCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkPipelineStageFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineStageFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkPipelineStageFlags.txt rename to doc/specs/vulkan/api/flags/VkPipelineStageFlags.txt diff --git a/doc/specs/vulkan/flags/VkPipelineTessellationStateCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineTessellationStateCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkPipelineTessellationStateCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkPipelineTessellationStateCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkPipelineVertexInputStateCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineVertexInputStateCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkPipelineVertexInputStateCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkPipelineVertexInputStateCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkPipelineViewportStateCreateFlags.txt b/doc/specs/vulkan/api/flags/VkPipelineViewportStateCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkPipelineViewportStateCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkPipelineViewportStateCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkQueryControlFlags.txt b/doc/specs/vulkan/api/flags/VkQueryControlFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkQueryControlFlags.txt rename to doc/specs/vulkan/api/flags/VkQueryControlFlags.txt diff --git a/doc/specs/vulkan/flags/VkQueryPipelineStatisticFlags.txt b/doc/specs/vulkan/api/flags/VkQueryPipelineStatisticFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkQueryPipelineStatisticFlags.txt rename to doc/specs/vulkan/api/flags/VkQueryPipelineStatisticFlags.txt diff --git a/doc/specs/vulkan/flags/VkQueryPoolCreateFlags.txt b/doc/specs/vulkan/api/flags/VkQueryPoolCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkQueryPoolCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkQueryPoolCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkQueryResultFlags.txt b/doc/specs/vulkan/api/flags/VkQueryResultFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkQueryResultFlags.txt rename to doc/specs/vulkan/api/flags/VkQueryResultFlags.txt diff --git a/doc/specs/vulkan/flags/VkQueueFlags.txt b/doc/specs/vulkan/api/flags/VkQueueFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkQueueFlags.txt rename to doc/specs/vulkan/api/flags/VkQueueFlags.txt diff --git a/doc/specs/vulkan/flags/VkRenderPassCreateFlags.txt b/doc/specs/vulkan/api/flags/VkRenderPassCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkRenderPassCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkRenderPassCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkSampleCountFlags.txt b/doc/specs/vulkan/api/flags/VkSampleCountFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkSampleCountFlags.txt rename to doc/specs/vulkan/api/flags/VkSampleCountFlags.txt diff --git a/doc/specs/vulkan/flags/VkSamplerCreateFlags.txt b/doc/specs/vulkan/api/flags/VkSamplerCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkSamplerCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkSamplerCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkSemaphoreCreateFlags.txt b/doc/specs/vulkan/api/flags/VkSemaphoreCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkSemaphoreCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkSemaphoreCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkShaderModuleCreateFlags.txt b/doc/specs/vulkan/api/flags/VkShaderModuleCreateFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkShaderModuleCreateFlags.txt rename to doc/specs/vulkan/api/flags/VkShaderModuleCreateFlags.txt diff --git a/doc/specs/vulkan/flags/VkShaderStageFlags.txt b/doc/specs/vulkan/api/flags/VkShaderStageFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkShaderStageFlags.txt rename to doc/specs/vulkan/api/flags/VkShaderStageFlags.txt diff --git a/doc/specs/vulkan/flags/VkSparseImageFormatFlags.txt b/doc/specs/vulkan/api/flags/VkSparseImageFormatFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkSparseImageFormatFlags.txt rename to doc/specs/vulkan/api/flags/VkSparseImageFormatFlags.txt diff --git a/doc/specs/vulkan/flags/VkSparseMemoryBindFlags.txt b/doc/specs/vulkan/api/flags/VkSparseMemoryBindFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkSparseMemoryBindFlags.txt rename to doc/specs/vulkan/api/flags/VkSparseMemoryBindFlags.txt diff --git a/doc/specs/vulkan/flags/VkStencilFaceFlags.txt b/doc/specs/vulkan/api/flags/VkStencilFaceFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkStencilFaceFlags.txt rename to doc/specs/vulkan/api/flags/VkStencilFaceFlags.txt diff --git a/doc/specs/vulkan/flags/VkSubpassDescriptionFlags.txt b/doc/specs/vulkan/api/flags/VkSubpassDescriptionFlags.txt similarity index 100% rename from doc/specs/vulkan/flags/VkSubpassDescriptionFlags.txt rename to doc/specs/vulkan/api/flags/VkSubpassDescriptionFlags.txt diff --git a/doc/specs/vulkan/funcpointers/PFN_vkAllocationFunction.txt b/doc/specs/vulkan/api/funcpointers/PFN_vkAllocationFunction.txt similarity index 100% rename from doc/specs/vulkan/funcpointers/PFN_vkAllocationFunction.txt rename to doc/specs/vulkan/api/funcpointers/PFN_vkAllocationFunction.txt diff --git a/doc/specs/vulkan/funcpointers/PFN_vkFreeFunction.txt b/doc/specs/vulkan/api/funcpointers/PFN_vkFreeFunction.txt similarity index 100% rename from doc/specs/vulkan/funcpointers/PFN_vkFreeFunction.txt rename to doc/specs/vulkan/api/funcpointers/PFN_vkFreeFunction.txt diff --git a/doc/specs/vulkan/funcpointers/PFN_vkInternalAllocationNotification.txt b/doc/specs/vulkan/api/funcpointers/PFN_vkInternalAllocationNotification.txt similarity index 100% rename from doc/specs/vulkan/funcpointers/PFN_vkInternalAllocationNotification.txt rename to doc/specs/vulkan/api/funcpointers/PFN_vkInternalAllocationNotification.txt diff --git a/doc/specs/vulkan/funcpointers/PFN_vkInternalFreeNotification.txt b/doc/specs/vulkan/api/funcpointers/PFN_vkInternalFreeNotification.txt similarity index 100% rename from doc/specs/vulkan/funcpointers/PFN_vkInternalFreeNotification.txt rename to doc/specs/vulkan/api/funcpointers/PFN_vkInternalFreeNotification.txt diff --git a/doc/specs/vulkan/funcpointers/PFN_vkReallocationFunction.txt b/doc/specs/vulkan/api/funcpointers/PFN_vkReallocationFunction.txt similarity index 100% rename from doc/specs/vulkan/funcpointers/PFN_vkReallocationFunction.txt rename to doc/specs/vulkan/api/funcpointers/PFN_vkReallocationFunction.txt diff --git a/doc/specs/vulkan/funcpointers/PFN_vkVoidFunction.txt b/doc/specs/vulkan/api/funcpointers/PFN_vkVoidFunction.txt similarity index 100% rename from doc/specs/vulkan/funcpointers/PFN_vkVoidFunction.txt rename to doc/specs/vulkan/api/funcpointers/PFN_vkVoidFunction.txt diff --git a/doc/specs/vulkan/handles/VkBuffer.txt b/doc/specs/vulkan/api/handles/VkBuffer.txt similarity index 100% rename from doc/specs/vulkan/handles/VkBuffer.txt rename to doc/specs/vulkan/api/handles/VkBuffer.txt diff --git a/doc/specs/vulkan/handles/VkBufferView.txt b/doc/specs/vulkan/api/handles/VkBufferView.txt similarity index 100% rename from doc/specs/vulkan/handles/VkBufferView.txt rename to doc/specs/vulkan/api/handles/VkBufferView.txt diff --git a/doc/specs/vulkan/handles/VkCommandBuffer.txt b/doc/specs/vulkan/api/handles/VkCommandBuffer.txt similarity index 100% rename from doc/specs/vulkan/handles/VkCommandBuffer.txt rename to doc/specs/vulkan/api/handles/VkCommandBuffer.txt diff --git a/doc/specs/vulkan/handles/VkCommandPool.txt b/doc/specs/vulkan/api/handles/VkCommandPool.txt similarity index 100% rename from doc/specs/vulkan/handles/VkCommandPool.txt rename to doc/specs/vulkan/api/handles/VkCommandPool.txt diff --git a/doc/specs/vulkan/handles/VkDescriptorPool.txt b/doc/specs/vulkan/api/handles/VkDescriptorPool.txt similarity index 100% rename from doc/specs/vulkan/handles/VkDescriptorPool.txt rename to doc/specs/vulkan/api/handles/VkDescriptorPool.txt diff --git a/doc/specs/vulkan/handles/VkDescriptorSet.txt b/doc/specs/vulkan/api/handles/VkDescriptorSet.txt similarity index 100% rename from doc/specs/vulkan/handles/VkDescriptorSet.txt rename to doc/specs/vulkan/api/handles/VkDescriptorSet.txt diff --git a/doc/specs/vulkan/handles/VkDescriptorSetLayout.txt b/doc/specs/vulkan/api/handles/VkDescriptorSetLayout.txt similarity index 100% rename from doc/specs/vulkan/handles/VkDescriptorSetLayout.txt rename to doc/specs/vulkan/api/handles/VkDescriptorSetLayout.txt diff --git a/doc/specs/vulkan/handles/VkDevice.txt b/doc/specs/vulkan/api/handles/VkDevice.txt similarity index 100% rename from doc/specs/vulkan/handles/VkDevice.txt rename to doc/specs/vulkan/api/handles/VkDevice.txt diff --git a/doc/specs/vulkan/handles/VkDeviceMemory.txt b/doc/specs/vulkan/api/handles/VkDeviceMemory.txt similarity index 100% rename from doc/specs/vulkan/handles/VkDeviceMemory.txt rename to doc/specs/vulkan/api/handles/VkDeviceMemory.txt diff --git a/doc/specs/vulkan/handles/VkEvent.txt b/doc/specs/vulkan/api/handles/VkEvent.txt similarity index 100% rename from doc/specs/vulkan/handles/VkEvent.txt rename to doc/specs/vulkan/api/handles/VkEvent.txt diff --git a/doc/specs/vulkan/handles/VkFence.txt b/doc/specs/vulkan/api/handles/VkFence.txt similarity index 100% rename from doc/specs/vulkan/handles/VkFence.txt rename to doc/specs/vulkan/api/handles/VkFence.txt diff --git a/doc/specs/vulkan/handles/VkFramebuffer.txt b/doc/specs/vulkan/api/handles/VkFramebuffer.txt similarity index 100% rename from doc/specs/vulkan/handles/VkFramebuffer.txt rename to doc/specs/vulkan/api/handles/VkFramebuffer.txt diff --git a/doc/specs/vulkan/handles/VkImage.txt b/doc/specs/vulkan/api/handles/VkImage.txt similarity index 100% rename from doc/specs/vulkan/handles/VkImage.txt rename to doc/specs/vulkan/api/handles/VkImage.txt diff --git a/doc/specs/vulkan/handles/VkImageView.txt b/doc/specs/vulkan/api/handles/VkImageView.txt similarity index 100% rename from doc/specs/vulkan/handles/VkImageView.txt rename to doc/specs/vulkan/api/handles/VkImageView.txt diff --git a/doc/specs/vulkan/handles/VkInstance.txt b/doc/specs/vulkan/api/handles/VkInstance.txt similarity index 100% rename from doc/specs/vulkan/handles/VkInstance.txt rename to doc/specs/vulkan/api/handles/VkInstance.txt diff --git a/doc/specs/vulkan/handles/VkPhysicalDevice.txt b/doc/specs/vulkan/api/handles/VkPhysicalDevice.txt similarity index 100% rename from doc/specs/vulkan/handles/VkPhysicalDevice.txt rename to doc/specs/vulkan/api/handles/VkPhysicalDevice.txt diff --git a/doc/specs/vulkan/handles/VkPipeline.txt b/doc/specs/vulkan/api/handles/VkPipeline.txt similarity index 100% rename from doc/specs/vulkan/handles/VkPipeline.txt rename to doc/specs/vulkan/api/handles/VkPipeline.txt diff --git a/doc/specs/vulkan/handles/VkPipelineCache.txt b/doc/specs/vulkan/api/handles/VkPipelineCache.txt similarity index 100% rename from doc/specs/vulkan/handles/VkPipelineCache.txt rename to doc/specs/vulkan/api/handles/VkPipelineCache.txt diff --git a/doc/specs/vulkan/handles/VkPipelineLayout.txt b/doc/specs/vulkan/api/handles/VkPipelineLayout.txt similarity index 100% rename from doc/specs/vulkan/handles/VkPipelineLayout.txt rename to doc/specs/vulkan/api/handles/VkPipelineLayout.txt diff --git a/doc/specs/vulkan/handles/VkQueryPool.txt b/doc/specs/vulkan/api/handles/VkQueryPool.txt similarity index 100% rename from doc/specs/vulkan/handles/VkQueryPool.txt rename to doc/specs/vulkan/api/handles/VkQueryPool.txt diff --git a/doc/specs/vulkan/handles/VkQueue.txt b/doc/specs/vulkan/api/handles/VkQueue.txt similarity index 100% rename from doc/specs/vulkan/handles/VkQueue.txt rename to doc/specs/vulkan/api/handles/VkQueue.txt diff --git a/doc/specs/vulkan/handles/VkRenderPass.txt b/doc/specs/vulkan/api/handles/VkRenderPass.txt similarity index 100% rename from doc/specs/vulkan/handles/VkRenderPass.txt rename to doc/specs/vulkan/api/handles/VkRenderPass.txt diff --git a/doc/specs/vulkan/handles/VkSampler.txt b/doc/specs/vulkan/api/handles/VkSampler.txt similarity index 100% rename from doc/specs/vulkan/handles/VkSampler.txt rename to doc/specs/vulkan/api/handles/VkSampler.txt diff --git a/doc/specs/vulkan/handles/VkSemaphore.txt b/doc/specs/vulkan/api/handles/VkSemaphore.txt similarity index 100% rename from doc/specs/vulkan/handles/VkSemaphore.txt rename to doc/specs/vulkan/api/handles/VkSemaphore.txt diff --git a/doc/specs/vulkan/handles/VkShaderModule.txt b/doc/specs/vulkan/api/handles/VkShaderModule.txt similarity index 100% rename from doc/specs/vulkan/handles/VkShaderModule.txt rename to doc/specs/vulkan/api/handles/VkShaderModule.txt diff --git a/doc/specs/vulkan/protos/vkAllocateCommandBuffers.txt b/doc/specs/vulkan/api/protos/vkAllocateCommandBuffers.txt similarity index 100% rename from doc/specs/vulkan/protos/vkAllocateCommandBuffers.txt rename to doc/specs/vulkan/api/protos/vkAllocateCommandBuffers.txt diff --git a/doc/specs/vulkan/protos/vkAllocateDescriptorSets.txt b/doc/specs/vulkan/api/protos/vkAllocateDescriptorSets.txt similarity index 100% rename from doc/specs/vulkan/protos/vkAllocateDescriptorSets.txt rename to doc/specs/vulkan/api/protos/vkAllocateDescriptorSets.txt diff --git a/doc/specs/vulkan/protos/vkAllocateMemory.txt b/doc/specs/vulkan/api/protos/vkAllocateMemory.txt similarity index 100% rename from doc/specs/vulkan/protos/vkAllocateMemory.txt rename to doc/specs/vulkan/api/protos/vkAllocateMemory.txt diff --git a/doc/specs/vulkan/protos/vkBeginCommandBuffer.txt b/doc/specs/vulkan/api/protos/vkBeginCommandBuffer.txt similarity index 100% rename from doc/specs/vulkan/protos/vkBeginCommandBuffer.txt rename to doc/specs/vulkan/api/protos/vkBeginCommandBuffer.txt diff --git a/doc/specs/vulkan/protos/vkBindBufferMemory.txt b/doc/specs/vulkan/api/protos/vkBindBufferMemory.txt similarity index 100% rename from doc/specs/vulkan/protos/vkBindBufferMemory.txt rename to doc/specs/vulkan/api/protos/vkBindBufferMemory.txt diff --git a/doc/specs/vulkan/protos/vkBindImageMemory.txt b/doc/specs/vulkan/api/protos/vkBindImageMemory.txt similarity index 100% rename from doc/specs/vulkan/protos/vkBindImageMemory.txt rename to doc/specs/vulkan/api/protos/vkBindImageMemory.txt diff --git a/doc/specs/vulkan/protos/vkCmdBeginQuery.txt b/doc/specs/vulkan/api/protos/vkCmdBeginQuery.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdBeginQuery.txt rename to doc/specs/vulkan/api/protos/vkCmdBeginQuery.txt diff --git a/doc/specs/vulkan/protos/vkCmdBeginRenderPass.txt b/doc/specs/vulkan/api/protos/vkCmdBeginRenderPass.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdBeginRenderPass.txt rename to doc/specs/vulkan/api/protos/vkCmdBeginRenderPass.txt diff --git a/doc/specs/vulkan/protos/vkCmdBindDescriptorSets.txt b/doc/specs/vulkan/api/protos/vkCmdBindDescriptorSets.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdBindDescriptorSets.txt rename to doc/specs/vulkan/api/protos/vkCmdBindDescriptorSets.txt diff --git a/doc/specs/vulkan/protos/vkCmdBindIndexBuffer.txt b/doc/specs/vulkan/api/protos/vkCmdBindIndexBuffer.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdBindIndexBuffer.txt rename to doc/specs/vulkan/api/protos/vkCmdBindIndexBuffer.txt diff --git a/doc/specs/vulkan/protos/vkCmdBindPipeline.txt b/doc/specs/vulkan/api/protos/vkCmdBindPipeline.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdBindPipeline.txt rename to doc/specs/vulkan/api/protos/vkCmdBindPipeline.txt diff --git a/doc/specs/vulkan/protos/vkCmdBindVertexBuffers.txt b/doc/specs/vulkan/api/protos/vkCmdBindVertexBuffers.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdBindVertexBuffers.txt rename to doc/specs/vulkan/api/protos/vkCmdBindVertexBuffers.txt diff --git a/doc/specs/vulkan/protos/vkCmdBlitImage.txt b/doc/specs/vulkan/api/protos/vkCmdBlitImage.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdBlitImage.txt rename to doc/specs/vulkan/api/protos/vkCmdBlitImage.txt diff --git a/doc/specs/vulkan/protos/vkCmdClearAttachments.txt b/doc/specs/vulkan/api/protos/vkCmdClearAttachments.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdClearAttachments.txt rename to doc/specs/vulkan/api/protos/vkCmdClearAttachments.txt diff --git a/doc/specs/vulkan/protos/vkCmdClearColorImage.txt b/doc/specs/vulkan/api/protos/vkCmdClearColorImage.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdClearColorImage.txt rename to doc/specs/vulkan/api/protos/vkCmdClearColorImage.txt diff --git a/doc/specs/vulkan/protos/vkCmdClearDepthStencilImage.txt b/doc/specs/vulkan/api/protos/vkCmdClearDepthStencilImage.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdClearDepthStencilImage.txt rename to doc/specs/vulkan/api/protos/vkCmdClearDepthStencilImage.txt diff --git a/doc/specs/vulkan/protos/vkCmdCopyBuffer.txt b/doc/specs/vulkan/api/protos/vkCmdCopyBuffer.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdCopyBuffer.txt rename to doc/specs/vulkan/api/protos/vkCmdCopyBuffer.txt diff --git a/doc/specs/vulkan/protos/vkCmdCopyBufferToImage.txt b/doc/specs/vulkan/api/protos/vkCmdCopyBufferToImage.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdCopyBufferToImage.txt rename to doc/specs/vulkan/api/protos/vkCmdCopyBufferToImage.txt diff --git a/doc/specs/vulkan/protos/vkCmdCopyImage.txt b/doc/specs/vulkan/api/protos/vkCmdCopyImage.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdCopyImage.txt rename to doc/specs/vulkan/api/protos/vkCmdCopyImage.txt diff --git a/doc/specs/vulkan/protos/vkCmdCopyImageToBuffer.txt b/doc/specs/vulkan/api/protos/vkCmdCopyImageToBuffer.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdCopyImageToBuffer.txt rename to doc/specs/vulkan/api/protos/vkCmdCopyImageToBuffer.txt diff --git a/doc/specs/vulkan/protos/vkCmdCopyQueryPoolResults.txt b/doc/specs/vulkan/api/protos/vkCmdCopyQueryPoolResults.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdCopyQueryPoolResults.txt rename to doc/specs/vulkan/api/protos/vkCmdCopyQueryPoolResults.txt diff --git a/doc/specs/vulkan/protos/vkCmdDispatch.txt b/doc/specs/vulkan/api/protos/vkCmdDispatch.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdDispatch.txt rename to doc/specs/vulkan/api/protos/vkCmdDispatch.txt diff --git a/doc/specs/vulkan/protos/vkCmdDispatchIndirect.txt b/doc/specs/vulkan/api/protos/vkCmdDispatchIndirect.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdDispatchIndirect.txt rename to doc/specs/vulkan/api/protos/vkCmdDispatchIndirect.txt diff --git a/doc/specs/vulkan/protos/vkCmdDraw.txt b/doc/specs/vulkan/api/protos/vkCmdDraw.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdDraw.txt rename to doc/specs/vulkan/api/protos/vkCmdDraw.txt diff --git a/doc/specs/vulkan/protos/vkCmdDrawIndexed.txt b/doc/specs/vulkan/api/protos/vkCmdDrawIndexed.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdDrawIndexed.txt rename to doc/specs/vulkan/api/protos/vkCmdDrawIndexed.txt diff --git a/doc/specs/vulkan/protos/vkCmdDrawIndexedIndirect.txt b/doc/specs/vulkan/api/protos/vkCmdDrawIndexedIndirect.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdDrawIndexedIndirect.txt rename to doc/specs/vulkan/api/protos/vkCmdDrawIndexedIndirect.txt diff --git a/doc/specs/vulkan/protos/vkCmdDrawIndirect.txt b/doc/specs/vulkan/api/protos/vkCmdDrawIndirect.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdDrawIndirect.txt rename to doc/specs/vulkan/api/protos/vkCmdDrawIndirect.txt diff --git a/doc/specs/vulkan/protos/vkCmdEndQuery.txt b/doc/specs/vulkan/api/protos/vkCmdEndQuery.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdEndQuery.txt rename to doc/specs/vulkan/api/protos/vkCmdEndQuery.txt diff --git a/doc/specs/vulkan/protos/vkCmdEndRenderPass.txt b/doc/specs/vulkan/api/protos/vkCmdEndRenderPass.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdEndRenderPass.txt rename to doc/specs/vulkan/api/protos/vkCmdEndRenderPass.txt diff --git a/doc/specs/vulkan/protos/vkCmdExecuteCommands.txt b/doc/specs/vulkan/api/protos/vkCmdExecuteCommands.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdExecuteCommands.txt rename to doc/specs/vulkan/api/protos/vkCmdExecuteCommands.txt diff --git a/doc/specs/vulkan/protos/vkCmdFillBuffer.txt b/doc/specs/vulkan/api/protos/vkCmdFillBuffer.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdFillBuffer.txt rename to doc/specs/vulkan/api/protos/vkCmdFillBuffer.txt diff --git a/doc/specs/vulkan/protos/vkCmdNextSubpass.txt b/doc/specs/vulkan/api/protos/vkCmdNextSubpass.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdNextSubpass.txt rename to doc/specs/vulkan/api/protos/vkCmdNextSubpass.txt diff --git a/doc/specs/vulkan/protos/vkCmdPipelineBarrier.txt b/doc/specs/vulkan/api/protos/vkCmdPipelineBarrier.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdPipelineBarrier.txt rename to doc/specs/vulkan/api/protos/vkCmdPipelineBarrier.txt diff --git a/doc/specs/vulkan/protos/vkCmdPushConstants.txt b/doc/specs/vulkan/api/protos/vkCmdPushConstants.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdPushConstants.txt rename to doc/specs/vulkan/api/protos/vkCmdPushConstants.txt diff --git a/doc/specs/vulkan/protos/vkCmdResetEvent.txt b/doc/specs/vulkan/api/protos/vkCmdResetEvent.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdResetEvent.txt rename to doc/specs/vulkan/api/protos/vkCmdResetEvent.txt diff --git a/doc/specs/vulkan/protos/vkCmdResetQueryPool.txt b/doc/specs/vulkan/api/protos/vkCmdResetQueryPool.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdResetQueryPool.txt rename to doc/specs/vulkan/api/protos/vkCmdResetQueryPool.txt diff --git a/doc/specs/vulkan/protos/vkCmdResolveImage.txt b/doc/specs/vulkan/api/protos/vkCmdResolveImage.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdResolveImage.txt rename to doc/specs/vulkan/api/protos/vkCmdResolveImage.txt diff --git a/doc/specs/vulkan/protos/vkCmdSetBlendConstants.txt b/doc/specs/vulkan/api/protos/vkCmdSetBlendConstants.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdSetBlendConstants.txt rename to doc/specs/vulkan/api/protos/vkCmdSetBlendConstants.txt diff --git a/doc/specs/vulkan/protos/vkCmdSetDepthBias.txt b/doc/specs/vulkan/api/protos/vkCmdSetDepthBias.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdSetDepthBias.txt rename to doc/specs/vulkan/api/protos/vkCmdSetDepthBias.txt diff --git a/doc/specs/vulkan/protos/vkCmdSetDepthBounds.txt b/doc/specs/vulkan/api/protos/vkCmdSetDepthBounds.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdSetDepthBounds.txt rename to doc/specs/vulkan/api/protos/vkCmdSetDepthBounds.txt diff --git a/doc/specs/vulkan/protos/vkCmdSetEvent.txt b/doc/specs/vulkan/api/protos/vkCmdSetEvent.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdSetEvent.txt rename to doc/specs/vulkan/api/protos/vkCmdSetEvent.txt diff --git a/doc/specs/vulkan/protos/vkCmdSetLineWidth.txt b/doc/specs/vulkan/api/protos/vkCmdSetLineWidth.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdSetLineWidth.txt rename to doc/specs/vulkan/api/protos/vkCmdSetLineWidth.txt diff --git a/doc/specs/vulkan/protos/vkCmdSetScissor.txt b/doc/specs/vulkan/api/protos/vkCmdSetScissor.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdSetScissor.txt rename to doc/specs/vulkan/api/protos/vkCmdSetScissor.txt diff --git a/doc/specs/vulkan/protos/vkCmdSetStencilCompareMask.txt b/doc/specs/vulkan/api/protos/vkCmdSetStencilCompareMask.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdSetStencilCompareMask.txt rename to doc/specs/vulkan/api/protos/vkCmdSetStencilCompareMask.txt diff --git a/doc/specs/vulkan/protos/vkCmdSetStencilReference.txt b/doc/specs/vulkan/api/protos/vkCmdSetStencilReference.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdSetStencilReference.txt rename to doc/specs/vulkan/api/protos/vkCmdSetStencilReference.txt diff --git a/doc/specs/vulkan/protos/vkCmdSetStencilWriteMask.txt b/doc/specs/vulkan/api/protos/vkCmdSetStencilWriteMask.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdSetStencilWriteMask.txt rename to doc/specs/vulkan/api/protos/vkCmdSetStencilWriteMask.txt diff --git a/doc/specs/vulkan/protos/vkCmdSetViewport.txt b/doc/specs/vulkan/api/protos/vkCmdSetViewport.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdSetViewport.txt rename to doc/specs/vulkan/api/protos/vkCmdSetViewport.txt diff --git a/doc/specs/vulkan/protos/vkCmdUpdateBuffer.txt b/doc/specs/vulkan/api/protos/vkCmdUpdateBuffer.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdUpdateBuffer.txt rename to doc/specs/vulkan/api/protos/vkCmdUpdateBuffer.txt diff --git a/doc/specs/vulkan/protos/vkCmdWaitEvents.txt b/doc/specs/vulkan/api/protos/vkCmdWaitEvents.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdWaitEvents.txt rename to doc/specs/vulkan/api/protos/vkCmdWaitEvents.txt diff --git a/doc/specs/vulkan/protos/vkCmdWriteTimestamp.txt b/doc/specs/vulkan/api/protos/vkCmdWriteTimestamp.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCmdWriteTimestamp.txt rename to doc/specs/vulkan/api/protos/vkCmdWriteTimestamp.txt diff --git a/doc/specs/vulkan/protos/vkCreateBuffer.txt b/doc/specs/vulkan/api/protos/vkCreateBuffer.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCreateBuffer.txt rename to doc/specs/vulkan/api/protos/vkCreateBuffer.txt diff --git a/doc/specs/vulkan/protos/vkCreateBufferView.txt b/doc/specs/vulkan/api/protos/vkCreateBufferView.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCreateBufferView.txt rename to doc/specs/vulkan/api/protos/vkCreateBufferView.txt diff --git a/doc/specs/vulkan/protos/vkCreateCommandPool.txt b/doc/specs/vulkan/api/protos/vkCreateCommandPool.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCreateCommandPool.txt rename to doc/specs/vulkan/api/protos/vkCreateCommandPool.txt diff --git a/doc/specs/vulkan/protos/vkCreateComputePipelines.txt b/doc/specs/vulkan/api/protos/vkCreateComputePipelines.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCreateComputePipelines.txt rename to doc/specs/vulkan/api/protos/vkCreateComputePipelines.txt diff --git a/doc/specs/vulkan/protos/vkCreateDescriptorPool.txt b/doc/specs/vulkan/api/protos/vkCreateDescriptorPool.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCreateDescriptorPool.txt rename to doc/specs/vulkan/api/protos/vkCreateDescriptorPool.txt diff --git a/doc/specs/vulkan/protos/vkCreateDescriptorSetLayout.txt b/doc/specs/vulkan/api/protos/vkCreateDescriptorSetLayout.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCreateDescriptorSetLayout.txt rename to doc/specs/vulkan/api/protos/vkCreateDescriptorSetLayout.txt diff --git a/doc/specs/vulkan/protos/vkCreateDevice.txt b/doc/specs/vulkan/api/protos/vkCreateDevice.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCreateDevice.txt rename to doc/specs/vulkan/api/protos/vkCreateDevice.txt diff --git a/doc/specs/vulkan/protos/vkCreateEvent.txt b/doc/specs/vulkan/api/protos/vkCreateEvent.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCreateEvent.txt rename to doc/specs/vulkan/api/protos/vkCreateEvent.txt diff --git a/doc/specs/vulkan/protos/vkCreateFence.txt b/doc/specs/vulkan/api/protos/vkCreateFence.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCreateFence.txt rename to doc/specs/vulkan/api/protos/vkCreateFence.txt diff --git a/doc/specs/vulkan/protos/vkCreateFramebuffer.txt b/doc/specs/vulkan/api/protos/vkCreateFramebuffer.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCreateFramebuffer.txt rename to doc/specs/vulkan/api/protos/vkCreateFramebuffer.txt diff --git a/doc/specs/vulkan/protos/vkCreateGraphicsPipelines.txt b/doc/specs/vulkan/api/protos/vkCreateGraphicsPipelines.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCreateGraphicsPipelines.txt rename to doc/specs/vulkan/api/protos/vkCreateGraphicsPipelines.txt diff --git a/doc/specs/vulkan/protos/vkCreateImage.txt b/doc/specs/vulkan/api/protos/vkCreateImage.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCreateImage.txt rename to doc/specs/vulkan/api/protos/vkCreateImage.txt diff --git a/doc/specs/vulkan/protos/vkCreateImageView.txt b/doc/specs/vulkan/api/protos/vkCreateImageView.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCreateImageView.txt rename to doc/specs/vulkan/api/protos/vkCreateImageView.txt diff --git a/doc/specs/vulkan/protos/vkCreateInstance.txt b/doc/specs/vulkan/api/protos/vkCreateInstance.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCreateInstance.txt rename to doc/specs/vulkan/api/protos/vkCreateInstance.txt diff --git a/doc/specs/vulkan/protos/vkCreatePipelineCache.txt b/doc/specs/vulkan/api/protos/vkCreatePipelineCache.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCreatePipelineCache.txt rename to doc/specs/vulkan/api/protos/vkCreatePipelineCache.txt diff --git a/doc/specs/vulkan/protos/vkCreatePipelineLayout.txt b/doc/specs/vulkan/api/protos/vkCreatePipelineLayout.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCreatePipelineLayout.txt rename to doc/specs/vulkan/api/protos/vkCreatePipelineLayout.txt diff --git a/doc/specs/vulkan/protos/vkCreateQueryPool.txt b/doc/specs/vulkan/api/protos/vkCreateQueryPool.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCreateQueryPool.txt rename to doc/specs/vulkan/api/protos/vkCreateQueryPool.txt diff --git a/doc/specs/vulkan/protos/vkCreateRenderPass.txt b/doc/specs/vulkan/api/protos/vkCreateRenderPass.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCreateRenderPass.txt rename to doc/specs/vulkan/api/protos/vkCreateRenderPass.txt diff --git a/doc/specs/vulkan/protos/vkCreateSampler.txt b/doc/specs/vulkan/api/protos/vkCreateSampler.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCreateSampler.txt rename to doc/specs/vulkan/api/protos/vkCreateSampler.txt diff --git a/doc/specs/vulkan/protos/vkCreateSemaphore.txt b/doc/specs/vulkan/api/protos/vkCreateSemaphore.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCreateSemaphore.txt rename to doc/specs/vulkan/api/protos/vkCreateSemaphore.txt diff --git a/doc/specs/vulkan/protos/vkCreateShaderModule.txt b/doc/specs/vulkan/api/protos/vkCreateShaderModule.txt similarity index 100% rename from doc/specs/vulkan/protos/vkCreateShaderModule.txt rename to doc/specs/vulkan/api/protos/vkCreateShaderModule.txt diff --git a/doc/specs/vulkan/protos/vkDestroyBuffer.txt b/doc/specs/vulkan/api/protos/vkDestroyBuffer.txt similarity index 100% rename from doc/specs/vulkan/protos/vkDestroyBuffer.txt rename to doc/specs/vulkan/api/protos/vkDestroyBuffer.txt diff --git a/doc/specs/vulkan/protos/vkDestroyBufferView.txt b/doc/specs/vulkan/api/protos/vkDestroyBufferView.txt similarity index 100% rename from doc/specs/vulkan/protos/vkDestroyBufferView.txt rename to doc/specs/vulkan/api/protos/vkDestroyBufferView.txt diff --git a/doc/specs/vulkan/protos/vkDestroyCommandPool.txt b/doc/specs/vulkan/api/protos/vkDestroyCommandPool.txt similarity index 100% rename from doc/specs/vulkan/protos/vkDestroyCommandPool.txt rename to doc/specs/vulkan/api/protos/vkDestroyCommandPool.txt diff --git a/doc/specs/vulkan/protos/vkDestroyDescriptorPool.txt b/doc/specs/vulkan/api/protos/vkDestroyDescriptorPool.txt similarity index 100% rename from doc/specs/vulkan/protos/vkDestroyDescriptorPool.txt rename to doc/specs/vulkan/api/protos/vkDestroyDescriptorPool.txt diff --git a/doc/specs/vulkan/protos/vkDestroyDescriptorSetLayout.txt b/doc/specs/vulkan/api/protos/vkDestroyDescriptorSetLayout.txt similarity index 100% rename from doc/specs/vulkan/protos/vkDestroyDescriptorSetLayout.txt rename to doc/specs/vulkan/api/protos/vkDestroyDescriptorSetLayout.txt diff --git a/doc/specs/vulkan/protos/vkDestroyDevice.txt b/doc/specs/vulkan/api/protos/vkDestroyDevice.txt similarity index 100% rename from doc/specs/vulkan/protos/vkDestroyDevice.txt rename to doc/specs/vulkan/api/protos/vkDestroyDevice.txt diff --git a/doc/specs/vulkan/protos/vkDestroyEvent.txt b/doc/specs/vulkan/api/protos/vkDestroyEvent.txt similarity index 100% rename from doc/specs/vulkan/protos/vkDestroyEvent.txt rename to doc/specs/vulkan/api/protos/vkDestroyEvent.txt diff --git a/doc/specs/vulkan/protos/vkDestroyFence.txt b/doc/specs/vulkan/api/protos/vkDestroyFence.txt similarity index 100% rename from doc/specs/vulkan/protos/vkDestroyFence.txt rename to doc/specs/vulkan/api/protos/vkDestroyFence.txt diff --git a/doc/specs/vulkan/protos/vkDestroyFramebuffer.txt b/doc/specs/vulkan/api/protos/vkDestroyFramebuffer.txt similarity index 100% rename from doc/specs/vulkan/protos/vkDestroyFramebuffer.txt rename to doc/specs/vulkan/api/protos/vkDestroyFramebuffer.txt diff --git a/doc/specs/vulkan/protos/vkDestroyImage.txt b/doc/specs/vulkan/api/protos/vkDestroyImage.txt similarity index 100% rename from doc/specs/vulkan/protos/vkDestroyImage.txt rename to doc/specs/vulkan/api/protos/vkDestroyImage.txt diff --git a/doc/specs/vulkan/protos/vkDestroyImageView.txt b/doc/specs/vulkan/api/protos/vkDestroyImageView.txt similarity index 100% rename from doc/specs/vulkan/protos/vkDestroyImageView.txt rename to doc/specs/vulkan/api/protos/vkDestroyImageView.txt diff --git a/doc/specs/vulkan/protos/vkDestroyInstance.txt b/doc/specs/vulkan/api/protos/vkDestroyInstance.txt similarity index 100% rename from doc/specs/vulkan/protos/vkDestroyInstance.txt rename to doc/specs/vulkan/api/protos/vkDestroyInstance.txt diff --git a/doc/specs/vulkan/protos/vkDestroyPipeline.txt b/doc/specs/vulkan/api/protos/vkDestroyPipeline.txt similarity index 100% rename from doc/specs/vulkan/protos/vkDestroyPipeline.txt rename to doc/specs/vulkan/api/protos/vkDestroyPipeline.txt diff --git a/doc/specs/vulkan/protos/vkDestroyPipelineCache.txt b/doc/specs/vulkan/api/protos/vkDestroyPipelineCache.txt similarity index 100% rename from doc/specs/vulkan/protos/vkDestroyPipelineCache.txt rename to doc/specs/vulkan/api/protos/vkDestroyPipelineCache.txt diff --git a/doc/specs/vulkan/protos/vkDestroyPipelineLayout.txt b/doc/specs/vulkan/api/protos/vkDestroyPipelineLayout.txt similarity index 100% rename from doc/specs/vulkan/protos/vkDestroyPipelineLayout.txt rename to doc/specs/vulkan/api/protos/vkDestroyPipelineLayout.txt diff --git a/doc/specs/vulkan/protos/vkDestroyQueryPool.txt b/doc/specs/vulkan/api/protos/vkDestroyQueryPool.txt similarity index 100% rename from doc/specs/vulkan/protos/vkDestroyQueryPool.txt rename to doc/specs/vulkan/api/protos/vkDestroyQueryPool.txt diff --git a/doc/specs/vulkan/protos/vkDestroyRenderPass.txt b/doc/specs/vulkan/api/protos/vkDestroyRenderPass.txt similarity index 100% rename from doc/specs/vulkan/protos/vkDestroyRenderPass.txt rename to doc/specs/vulkan/api/protos/vkDestroyRenderPass.txt diff --git a/doc/specs/vulkan/protos/vkDestroySampler.txt b/doc/specs/vulkan/api/protos/vkDestroySampler.txt similarity index 100% rename from doc/specs/vulkan/protos/vkDestroySampler.txt rename to doc/specs/vulkan/api/protos/vkDestroySampler.txt diff --git a/doc/specs/vulkan/protos/vkDestroySemaphore.txt b/doc/specs/vulkan/api/protos/vkDestroySemaphore.txt similarity index 100% rename from doc/specs/vulkan/protos/vkDestroySemaphore.txt rename to doc/specs/vulkan/api/protos/vkDestroySemaphore.txt diff --git a/doc/specs/vulkan/protos/vkDestroyShaderModule.txt b/doc/specs/vulkan/api/protos/vkDestroyShaderModule.txt similarity index 100% rename from doc/specs/vulkan/protos/vkDestroyShaderModule.txt rename to doc/specs/vulkan/api/protos/vkDestroyShaderModule.txt diff --git a/doc/specs/vulkan/protos/vkDeviceWaitIdle.txt b/doc/specs/vulkan/api/protos/vkDeviceWaitIdle.txt similarity index 100% rename from doc/specs/vulkan/protos/vkDeviceWaitIdle.txt rename to doc/specs/vulkan/api/protos/vkDeviceWaitIdle.txt diff --git a/doc/specs/vulkan/protos/vkEndCommandBuffer.txt b/doc/specs/vulkan/api/protos/vkEndCommandBuffer.txt similarity index 100% rename from doc/specs/vulkan/protos/vkEndCommandBuffer.txt rename to doc/specs/vulkan/api/protos/vkEndCommandBuffer.txt diff --git a/doc/specs/vulkan/protos/vkEnumerateDeviceExtensionProperties.txt b/doc/specs/vulkan/api/protos/vkEnumerateDeviceExtensionProperties.txt similarity index 100% rename from doc/specs/vulkan/protos/vkEnumerateDeviceExtensionProperties.txt rename to doc/specs/vulkan/api/protos/vkEnumerateDeviceExtensionProperties.txt diff --git a/doc/specs/vulkan/protos/vkEnumerateDeviceLayerProperties.txt b/doc/specs/vulkan/api/protos/vkEnumerateDeviceLayerProperties.txt similarity index 100% rename from doc/specs/vulkan/protos/vkEnumerateDeviceLayerProperties.txt rename to doc/specs/vulkan/api/protos/vkEnumerateDeviceLayerProperties.txt diff --git a/doc/specs/vulkan/protos/vkEnumerateInstanceExtensionProperties.txt b/doc/specs/vulkan/api/protos/vkEnumerateInstanceExtensionProperties.txt similarity index 100% rename from doc/specs/vulkan/protos/vkEnumerateInstanceExtensionProperties.txt rename to doc/specs/vulkan/api/protos/vkEnumerateInstanceExtensionProperties.txt diff --git a/doc/specs/vulkan/protos/vkEnumerateInstanceLayerProperties.txt b/doc/specs/vulkan/api/protos/vkEnumerateInstanceLayerProperties.txt similarity index 100% rename from doc/specs/vulkan/protos/vkEnumerateInstanceLayerProperties.txt rename to doc/specs/vulkan/api/protos/vkEnumerateInstanceLayerProperties.txt diff --git a/doc/specs/vulkan/protos/vkEnumeratePhysicalDevices.txt b/doc/specs/vulkan/api/protos/vkEnumeratePhysicalDevices.txt similarity index 100% rename from doc/specs/vulkan/protos/vkEnumeratePhysicalDevices.txt rename to doc/specs/vulkan/api/protos/vkEnumeratePhysicalDevices.txt diff --git a/doc/specs/vulkan/protos/vkFlushMappedMemoryRanges.txt b/doc/specs/vulkan/api/protos/vkFlushMappedMemoryRanges.txt similarity index 100% rename from doc/specs/vulkan/protos/vkFlushMappedMemoryRanges.txt rename to doc/specs/vulkan/api/protos/vkFlushMappedMemoryRanges.txt diff --git a/doc/specs/vulkan/protos/vkFreeCommandBuffers.txt b/doc/specs/vulkan/api/protos/vkFreeCommandBuffers.txt similarity index 100% rename from doc/specs/vulkan/protos/vkFreeCommandBuffers.txt rename to doc/specs/vulkan/api/protos/vkFreeCommandBuffers.txt diff --git a/doc/specs/vulkan/protos/vkFreeDescriptorSets.txt b/doc/specs/vulkan/api/protos/vkFreeDescriptorSets.txt similarity index 100% rename from doc/specs/vulkan/protos/vkFreeDescriptorSets.txt rename to doc/specs/vulkan/api/protos/vkFreeDescriptorSets.txt diff --git a/doc/specs/vulkan/protos/vkFreeMemory.txt b/doc/specs/vulkan/api/protos/vkFreeMemory.txt similarity index 100% rename from doc/specs/vulkan/protos/vkFreeMemory.txt rename to doc/specs/vulkan/api/protos/vkFreeMemory.txt diff --git a/doc/specs/vulkan/protos/vkGetBufferMemoryRequirements.txt b/doc/specs/vulkan/api/protos/vkGetBufferMemoryRequirements.txt similarity index 100% rename from doc/specs/vulkan/protos/vkGetBufferMemoryRequirements.txt rename to doc/specs/vulkan/api/protos/vkGetBufferMemoryRequirements.txt diff --git a/doc/specs/vulkan/protos/vkGetDeviceMemoryCommitment.txt b/doc/specs/vulkan/api/protos/vkGetDeviceMemoryCommitment.txt similarity index 100% rename from doc/specs/vulkan/protos/vkGetDeviceMemoryCommitment.txt rename to doc/specs/vulkan/api/protos/vkGetDeviceMemoryCommitment.txt diff --git a/doc/specs/vulkan/protos/vkGetDeviceProcAddr.txt b/doc/specs/vulkan/api/protos/vkGetDeviceProcAddr.txt similarity index 100% rename from doc/specs/vulkan/protos/vkGetDeviceProcAddr.txt rename to doc/specs/vulkan/api/protos/vkGetDeviceProcAddr.txt diff --git a/doc/specs/vulkan/protos/vkGetDeviceQueue.txt b/doc/specs/vulkan/api/protos/vkGetDeviceQueue.txt similarity index 100% rename from doc/specs/vulkan/protos/vkGetDeviceQueue.txt rename to doc/specs/vulkan/api/protos/vkGetDeviceQueue.txt diff --git a/doc/specs/vulkan/protos/vkGetEventStatus.txt b/doc/specs/vulkan/api/protos/vkGetEventStatus.txt similarity index 100% rename from doc/specs/vulkan/protos/vkGetEventStatus.txt rename to doc/specs/vulkan/api/protos/vkGetEventStatus.txt diff --git a/doc/specs/vulkan/protos/vkGetFenceStatus.txt b/doc/specs/vulkan/api/protos/vkGetFenceStatus.txt similarity index 100% rename from doc/specs/vulkan/protos/vkGetFenceStatus.txt rename to doc/specs/vulkan/api/protos/vkGetFenceStatus.txt diff --git a/doc/specs/vulkan/protos/vkGetImageMemoryRequirements.txt b/doc/specs/vulkan/api/protos/vkGetImageMemoryRequirements.txt similarity index 100% rename from doc/specs/vulkan/protos/vkGetImageMemoryRequirements.txt rename to doc/specs/vulkan/api/protos/vkGetImageMemoryRequirements.txt diff --git a/doc/specs/vulkan/protos/vkGetImageSparseMemoryRequirements.txt b/doc/specs/vulkan/api/protos/vkGetImageSparseMemoryRequirements.txt similarity index 100% rename from doc/specs/vulkan/protos/vkGetImageSparseMemoryRequirements.txt rename to doc/specs/vulkan/api/protos/vkGetImageSparseMemoryRequirements.txt diff --git a/doc/specs/vulkan/protos/vkGetImageSubresourceLayout.txt b/doc/specs/vulkan/api/protos/vkGetImageSubresourceLayout.txt similarity index 100% rename from doc/specs/vulkan/protos/vkGetImageSubresourceLayout.txt rename to doc/specs/vulkan/api/protos/vkGetImageSubresourceLayout.txt diff --git a/doc/specs/vulkan/protos/vkGetInstanceProcAddr.txt b/doc/specs/vulkan/api/protos/vkGetInstanceProcAddr.txt similarity index 100% rename from doc/specs/vulkan/protos/vkGetInstanceProcAddr.txt rename to doc/specs/vulkan/api/protos/vkGetInstanceProcAddr.txt diff --git a/doc/specs/vulkan/protos/vkGetPhysicalDeviceFeatures.txt b/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceFeatures.txt similarity index 100% rename from doc/specs/vulkan/protos/vkGetPhysicalDeviceFeatures.txt rename to doc/specs/vulkan/api/protos/vkGetPhysicalDeviceFeatures.txt diff --git a/doc/specs/vulkan/protos/vkGetPhysicalDeviceFormatProperties.txt b/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceFormatProperties.txt similarity index 100% rename from doc/specs/vulkan/protos/vkGetPhysicalDeviceFormatProperties.txt rename to doc/specs/vulkan/api/protos/vkGetPhysicalDeviceFormatProperties.txt diff --git a/doc/specs/vulkan/protos/vkGetPhysicalDeviceImageFormatProperties.txt b/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceImageFormatProperties.txt similarity index 100% rename from doc/specs/vulkan/protos/vkGetPhysicalDeviceImageFormatProperties.txt rename to doc/specs/vulkan/api/protos/vkGetPhysicalDeviceImageFormatProperties.txt diff --git a/doc/specs/vulkan/protos/vkGetPhysicalDeviceMemoryProperties.txt b/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceMemoryProperties.txt similarity index 100% rename from doc/specs/vulkan/protos/vkGetPhysicalDeviceMemoryProperties.txt rename to doc/specs/vulkan/api/protos/vkGetPhysicalDeviceMemoryProperties.txt diff --git a/doc/specs/vulkan/protos/vkGetPhysicalDeviceProperties.txt b/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceProperties.txt similarity index 100% rename from doc/specs/vulkan/protos/vkGetPhysicalDeviceProperties.txt rename to doc/specs/vulkan/api/protos/vkGetPhysicalDeviceProperties.txt diff --git a/doc/specs/vulkan/protos/vkGetPhysicalDeviceQueueFamilyProperties.txt b/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceQueueFamilyProperties.txt similarity index 100% rename from doc/specs/vulkan/protos/vkGetPhysicalDeviceQueueFamilyProperties.txt rename to doc/specs/vulkan/api/protos/vkGetPhysicalDeviceQueueFamilyProperties.txt diff --git a/doc/specs/vulkan/protos/vkGetPhysicalDeviceSparseImageFormatProperties.txt b/doc/specs/vulkan/api/protos/vkGetPhysicalDeviceSparseImageFormatProperties.txt similarity index 100% rename from doc/specs/vulkan/protos/vkGetPhysicalDeviceSparseImageFormatProperties.txt rename to doc/specs/vulkan/api/protos/vkGetPhysicalDeviceSparseImageFormatProperties.txt diff --git a/doc/specs/vulkan/protos/vkGetPipelineCacheData.txt b/doc/specs/vulkan/api/protos/vkGetPipelineCacheData.txt similarity index 100% rename from doc/specs/vulkan/protos/vkGetPipelineCacheData.txt rename to doc/specs/vulkan/api/protos/vkGetPipelineCacheData.txt diff --git a/doc/specs/vulkan/protos/vkGetQueryPoolResults.txt b/doc/specs/vulkan/api/protos/vkGetQueryPoolResults.txt similarity index 100% rename from doc/specs/vulkan/protos/vkGetQueryPoolResults.txt rename to doc/specs/vulkan/api/protos/vkGetQueryPoolResults.txt diff --git a/doc/specs/vulkan/protos/vkGetRenderAreaGranularity.txt b/doc/specs/vulkan/api/protos/vkGetRenderAreaGranularity.txt similarity index 100% rename from doc/specs/vulkan/protos/vkGetRenderAreaGranularity.txt rename to doc/specs/vulkan/api/protos/vkGetRenderAreaGranularity.txt diff --git a/doc/specs/vulkan/protos/vkInvalidateMappedMemoryRanges.txt b/doc/specs/vulkan/api/protos/vkInvalidateMappedMemoryRanges.txt similarity index 100% rename from doc/specs/vulkan/protos/vkInvalidateMappedMemoryRanges.txt rename to doc/specs/vulkan/api/protos/vkInvalidateMappedMemoryRanges.txt diff --git a/doc/specs/vulkan/protos/vkMapMemory.txt b/doc/specs/vulkan/api/protos/vkMapMemory.txt similarity index 100% rename from doc/specs/vulkan/protos/vkMapMemory.txt rename to doc/specs/vulkan/api/protos/vkMapMemory.txt diff --git a/doc/specs/vulkan/protos/vkMergePipelineCaches.txt b/doc/specs/vulkan/api/protos/vkMergePipelineCaches.txt similarity index 100% rename from doc/specs/vulkan/protos/vkMergePipelineCaches.txt rename to doc/specs/vulkan/api/protos/vkMergePipelineCaches.txt diff --git a/doc/specs/vulkan/protos/vkQueueBindSparse.txt b/doc/specs/vulkan/api/protos/vkQueueBindSparse.txt similarity index 100% rename from doc/specs/vulkan/protos/vkQueueBindSparse.txt rename to doc/specs/vulkan/api/protos/vkQueueBindSparse.txt diff --git a/doc/specs/vulkan/protos/vkQueueSubmit.txt b/doc/specs/vulkan/api/protos/vkQueueSubmit.txt similarity index 100% rename from doc/specs/vulkan/protos/vkQueueSubmit.txt rename to doc/specs/vulkan/api/protos/vkQueueSubmit.txt diff --git a/doc/specs/vulkan/protos/vkQueueWaitIdle.txt b/doc/specs/vulkan/api/protos/vkQueueWaitIdle.txt similarity index 100% rename from doc/specs/vulkan/protos/vkQueueWaitIdle.txt rename to doc/specs/vulkan/api/protos/vkQueueWaitIdle.txt diff --git a/doc/specs/vulkan/protos/vkResetCommandBuffer.txt b/doc/specs/vulkan/api/protos/vkResetCommandBuffer.txt similarity index 100% rename from doc/specs/vulkan/protos/vkResetCommandBuffer.txt rename to doc/specs/vulkan/api/protos/vkResetCommandBuffer.txt diff --git a/doc/specs/vulkan/protos/vkResetCommandPool.txt b/doc/specs/vulkan/api/protos/vkResetCommandPool.txt similarity index 100% rename from doc/specs/vulkan/protos/vkResetCommandPool.txt rename to doc/specs/vulkan/api/protos/vkResetCommandPool.txt diff --git a/doc/specs/vulkan/protos/vkResetDescriptorPool.txt b/doc/specs/vulkan/api/protos/vkResetDescriptorPool.txt similarity index 100% rename from doc/specs/vulkan/protos/vkResetDescriptorPool.txt rename to doc/specs/vulkan/api/protos/vkResetDescriptorPool.txt diff --git a/doc/specs/vulkan/protos/vkResetEvent.txt b/doc/specs/vulkan/api/protos/vkResetEvent.txt similarity index 100% rename from doc/specs/vulkan/protos/vkResetEvent.txt rename to doc/specs/vulkan/api/protos/vkResetEvent.txt diff --git a/doc/specs/vulkan/protos/vkResetFences.txt b/doc/specs/vulkan/api/protos/vkResetFences.txt similarity index 100% rename from doc/specs/vulkan/protos/vkResetFences.txt rename to doc/specs/vulkan/api/protos/vkResetFences.txt diff --git a/doc/specs/vulkan/protos/vkSetEvent.txt b/doc/specs/vulkan/api/protos/vkSetEvent.txt similarity index 100% rename from doc/specs/vulkan/protos/vkSetEvent.txt rename to doc/specs/vulkan/api/protos/vkSetEvent.txt diff --git a/doc/specs/vulkan/protos/vkUnmapMemory.txt b/doc/specs/vulkan/api/protos/vkUnmapMemory.txt similarity index 100% rename from doc/specs/vulkan/protos/vkUnmapMemory.txt rename to doc/specs/vulkan/api/protos/vkUnmapMemory.txt diff --git a/doc/specs/vulkan/protos/vkUpdateDescriptorSets.txt b/doc/specs/vulkan/api/protos/vkUpdateDescriptorSets.txt similarity index 100% rename from doc/specs/vulkan/protos/vkUpdateDescriptorSets.txt rename to doc/specs/vulkan/api/protos/vkUpdateDescriptorSets.txt diff --git a/doc/specs/vulkan/protos/vkWaitForFences.txt b/doc/specs/vulkan/api/protos/vkWaitForFences.txt similarity index 100% rename from doc/specs/vulkan/protos/vkWaitForFences.txt rename to doc/specs/vulkan/api/protos/vkWaitForFences.txt diff --git a/doc/specs/vulkan/structs/VkAllocationCallbacks.txt b/doc/specs/vulkan/api/structs/VkAllocationCallbacks.txt similarity index 100% rename from doc/specs/vulkan/structs/VkAllocationCallbacks.txt rename to doc/specs/vulkan/api/structs/VkAllocationCallbacks.txt diff --git a/doc/specs/vulkan/structs/VkApplicationInfo.txt b/doc/specs/vulkan/api/structs/VkApplicationInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkApplicationInfo.txt rename to doc/specs/vulkan/api/structs/VkApplicationInfo.txt diff --git a/doc/specs/vulkan/structs/VkAttachmentDescription.txt b/doc/specs/vulkan/api/structs/VkAttachmentDescription.txt similarity index 100% rename from doc/specs/vulkan/structs/VkAttachmentDescription.txt rename to doc/specs/vulkan/api/structs/VkAttachmentDescription.txt diff --git a/doc/specs/vulkan/structs/VkAttachmentReference.txt b/doc/specs/vulkan/api/structs/VkAttachmentReference.txt similarity index 100% rename from doc/specs/vulkan/structs/VkAttachmentReference.txt rename to doc/specs/vulkan/api/structs/VkAttachmentReference.txt diff --git a/doc/specs/vulkan/structs/VkBindSparseInfo.txt b/doc/specs/vulkan/api/structs/VkBindSparseInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkBindSparseInfo.txt rename to doc/specs/vulkan/api/structs/VkBindSparseInfo.txt diff --git a/doc/specs/vulkan/structs/VkBufferCopy.txt b/doc/specs/vulkan/api/structs/VkBufferCopy.txt similarity index 100% rename from doc/specs/vulkan/structs/VkBufferCopy.txt rename to doc/specs/vulkan/api/structs/VkBufferCopy.txt diff --git a/doc/specs/vulkan/structs/VkBufferCreateInfo.txt b/doc/specs/vulkan/api/structs/VkBufferCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkBufferCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkBufferCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkBufferImageCopy.txt b/doc/specs/vulkan/api/structs/VkBufferImageCopy.txt similarity index 100% rename from doc/specs/vulkan/structs/VkBufferImageCopy.txt rename to doc/specs/vulkan/api/structs/VkBufferImageCopy.txt diff --git a/doc/specs/vulkan/structs/VkBufferMemoryBarrier.txt b/doc/specs/vulkan/api/structs/VkBufferMemoryBarrier.txt similarity index 100% rename from doc/specs/vulkan/structs/VkBufferMemoryBarrier.txt rename to doc/specs/vulkan/api/structs/VkBufferMemoryBarrier.txt diff --git a/doc/specs/vulkan/structs/VkBufferViewCreateInfo.txt b/doc/specs/vulkan/api/structs/VkBufferViewCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkBufferViewCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkBufferViewCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkClearAttachment.txt b/doc/specs/vulkan/api/structs/VkClearAttachment.txt similarity index 100% rename from doc/specs/vulkan/structs/VkClearAttachment.txt rename to doc/specs/vulkan/api/structs/VkClearAttachment.txt diff --git a/doc/specs/vulkan/structs/VkClearColorValue.txt b/doc/specs/vulkan/api/structs/VkClearColorValue.txt similarity index 100% rename from doc/specs/vulkan/structs/VkClearColorValue.txt rename to doc/specs/vulkan/api/structs/VkClearColorValue.txt diff --git a/doc/specs/vulkan/structs/VkClearDepthStencilValue.txt b/doc/specs/vulkan/api/structs/VkClearDepthStencilValue.txt similarity index 100% rename from doc/specs/vulkan/structs/VkClearDepthStencilValue.txt rename to doc/specs/vulkan/api/structs/VkClearDepthStencilValue.txt diff --git a/doc/specs/vulkan/structs/VkClearRect.txt b/doc/specs/vulkan/api/structs/VkClearRect.txt similarity index 100% rename from doc/specs/vulkan/structs/VkClearRect.txt rename to doc/specs/vulkan/api/structs/VkClearRect.txt diff --git a/doc/specs/vulkan/structs/VkClearValue.txt b/doc/specs/vulkan/api/structs/VkClearValue.txt similarity index 100% rename from doc/specs/vulkan/structs/VkClearValue.txt rename to doc/specs/vulkan/api/structs/VkClearValue.txt diff --git a/doc/specs/vulkan/structs/VkCommandBufferAllocateInfo.txt b/doc/specs/vulkan/api/structs/VkCommandBufferAllocateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkCommandBufferAllocateInfo.txt rename to doc/specs/vulkan/api/structs/VkCommandBufferAllocateInfo.txt diff --git a/doc/specs/vulkan/structs/VkCommandBufferBeginInfo.txt b/doc/specs/vulkan/api/structs/VkCommandBufferBeginInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkCommandBufferBeginInfo.txt rename to doc/specs/vulkan/api/structs/VkCommandBufferBeginInfo.txt diff --git a/doc/specs/vulkan/structs/VkCommandBufferInheritanceInfo.txt b/doc/specs/vulkan/api/structs/VkCommandBufferInheritanceInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkCommandBufferInheritanceInfo.txt rename to doc/specs/vulkan/api/structs/VkCommandBufferInheritanceInfo.txt diff --git a/doc/specs/vulkan/structs/VkCommandPoolCreateInfo.txt b/doc/specs/vulkan/api/structs/VkCommandPoolCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkCommandPoolCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkCommandPoolCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkComponentMapping.txt b/doc/specs/vulkan/api/structs/VkComponentMapping.txt similarity index 100% rename from doc/specs/vulkan/structs/VkComponentMapping.txt rename to doc/specs/vulkan/api/structs/VkComponentMapping.txt diff --git a/doc/specs/vulkan/structs/VkComputePipelineCreateInfo.txt b/doc/specs/vulkan/api/structs/VkComputePipelineCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkComputePipelineCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkComputePipelineCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkCopyDescriptorSet.txt b/doc/specs/vulkan/api/structs/VkCopyDescriptorSet.txt similarity index 100% rename from doc/specs/vulkan/structs/VkCopyDescriptorSet.txt rename to doc/specs/vulkan/api/structs/VkCopyDescriptorSet.txt diff --git a/doc/specs/vulkan/structs/VkDescriptorBufferInfo.txt b/doc/specs/vulkan/api/structs/VkDescriptorBufferInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkDescriptorBufferInfo.txt rename to doc/specs/vulkan/api/structs/VkDescriptorBufferInfo.txt diff --git a/doc/specs/vulkan/structs/VkDescriptorImageInfo.txt b/doc/specs/vulkan/api/structs/VkDescriptorImageInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkDescriptorImageInfo.txt rename to doc/specs/vulkan/api/structs/VkDescriptorImageInfo.txt diff --git a/doc/specs/vulkan/structs/VkDescriptorPoolCreateInfo.txt b/doc/specs/vulkan/api/structs/VkDescriptorPoolCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkDescriptorPoolCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkDescriptorPoolCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkDescriptorPoolSize.txt b/doc/specs/vulkan/api/structs/VkDescriptorPoolSize.txt similarity index 100% rename from doc/specs/vulkan/structs/VkDescriptorPoolSize.txt rename to doc/specs/vulkan/api/structs/VkDescriptorPoolSize.txt diff --git a/doc/specs/vulkan/structs/VkDescriptorSetAllocateInfo.txt b/doc/specs/vulkan/api/structs/VkDescriptorSetAllocateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkDescriptorSetAllocateInfo.txt rename to doc/specs/vulkan/api/structs/VkDescriptorSetAllocateInfo.txt diff --git a/doc/specs/vulkan/structs/VkDescriptorSetLayoutBinding.txt b/doc/specs/vulkan/api/structs/VkDescriptorSetLayoutBinding.txt similarity index 100% rename from doc/specs/vulkan/structs/VkDescriptorSetLayoutBinding.txt rename to doc/specs/vulkan/api/structs/VkDescriptorSetLayoutBinding.txt diff --git a/doc/specs/vulkan/structs/VkDescriptorSetLayoutCreateInfo.txt b/doc/specs/vulkan/api/structs/VkDescriptorSetLayoutCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkDescriptorSetLayoutCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkDescriptorSetLayoutCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkDeviceCreateInfo.txt b/doc/specs/vulkan/api/structs/VkDeviceCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkDeviceCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkDeviceCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkDeviceQueueCreateInfo.txt b/doc/specs/vulkan/api/structs/VkDeviceQueueCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkDeviceQueueCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkDeviceQueueCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkDispatchIndirectCommand.txt b/doc/specs/vulkan/api/structs/VkDispatchIndirectCommand.txt similarity index 100% rename from doc/specs/vulkan/structs/VkDispatchIndirectCommand.txt rename to doc/specs/vulkan/api/structs/VkDispatchIndirectCommand.txt diff --git a/doc/specs/vulkan/structs/VkDrawIndexedIndirectCommand.txt b/doc/specs/vulkan/api/structs/VkDrawIndexedIndirectCommand.txt similarity index 100% rename from doc/specs/vulkan/structs/VkDrawIndexedIndirectCommand.txt rename to doc/specs/vulkan/api/structs/VkDrawIndexedIndirectCommand.txt diff --git a/doc/specs/vulkan/structs/VkDrawIndirectCommand.txt b/doc/specs/vulkan/api/structs/VkDrawIndirectCommand.txt similarity index 100% rename from doc/specs/vulkan/structs/VkDrawIndirectCommand.txt rename to doc/specs/vulkan/api/structs/VkDrawIndirectCommand.txt diff --git a/doc/specs/vulkan/structs/VkEventCreateInfo.txt b/doc/specs/vulkan/api/structs/VkEventCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkEventCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkEventCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkExtensionProperties.txt b/doc/specs/vulkan/api/structs/VkExtensionProperties.txt similarity index 100% rename from doc/specs/vulkan/structs/VkExtensionProperties.txt rename to doc/specs/vulkan/api/structs/VkExtensionProperties.txt diff --git a/doc/specs/vulkan/structs/VkExtent2D.txt b/doc/specs/vulkan/api/structs/VkExtent2D.txt similarity index 100% rename from doc/specs/vulkan/structs/VkExtent2D.txt rename to doc/specs/vulkan/api/structs/VkExtent2D.txt diff --git a/doc/specs/vulkan/structs/VkExtent3D.txt b/doc/specs/vulkan/api/structs/VkExtent3D.txt similarity index 100% rename from doc/specs/vulkan/structs/VkExtent3D.txt rename to doc/specs/vulkan/api/structs/VkExtent3D.txt diff --git a/doc/specs/vulkan/structs/VkFenceCreateInfo.txt b/doc/specs/vulkan/api/structs/VkFenceCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkFenceCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkFenceCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkFormatProperties.txt b/doc/specs/vulkan/api/structs/VkFormatProperties.txt similarity index 100% rename from doc/specs/vulkan/structs/VkFormatProperties.txt rename to doc/specs/vulkan/api/structs/VkFormatProperties.txt diff --git a/doc/specs/vulkan/structs/VkFramebufferCreateInfo.txt b/doc/specs/vulkan/api/structs/VkFramebufferCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkFramebufferCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkFramebufferCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkGraphicsPipelineCreateInfo.txt b/doc/specs/vulkan/api/structs/VkGraphicsPipelineCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkGraphicsPipelineCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkGraphicsPipelineCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkImageBlit.txt b/doc/specs/vulkan/api/structs/VkImageBlit.txt similarity index 100% rename from doc/specs/vulkan/structs/VkImageBlit.txt rename to doc/specs/vulkan/api/structs/VkImageBlit.txt diff --git a/doc/specs/vulkan/structs/VkImageCopy.txt b/doc/specs/vulkan/api/structs/VkImageCopy.txt similarity index 100% rename from doc/specs/vulkan/structs/VkImageCopy.txt rename to doc/specs/vulkan/api/structs/VkImageCopy.txt diff --git a/doc/specs/vulkan/structs/VkImageCreateInfo.txt b/doc/specs/vulkan/api/structs/VkImageCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkImageCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkImageCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkImageFormatProperties.txt b/doc/specs/vulkan/api/structs/VkImageFormatProperties.txt similarity index 100% rename from doc/specs/vulkan/structs/VkImageFormatProperties.txt rename to doc/specs/vulkan/api/structs/VkImageFormatProperties.txt diff --git a/doc/specs/vulkan/structs/VkImageMemoryBarrier.txt b/doc/specs/vulkan/api/structs/VkImageMemoryBarrier.txt similarity index 100% rename from doc/specs/vulkan/structs/VkImageMemoryBarrier.txt rename to doc/specs/vulkan/api/structs/VkImageMemoryBarrier.txt diff --git a/doc/specs/vulkan/structs/VkImageResolve.txt b/doc/specs/vulkan/api/structs/VkImageResolve.txt similarity index 100% rename from doc/specs/vulkan/structs/VkImageResolve.txt rename to doc/specs/vulkan/api/structs/VkImageResolve.txt diff --git a/doc/specs/vulkan/structs/VkImageSubresource.txt b/doc/specs/vulkan/api/structs/VkImageSubresource.txt similarity index 100% rename from doc/specs/vulkan/structs/VkImageSubresource.txt rename to doc/specs/vulkan/api/structs/VkImageSubresource.txt diff --git a/doc/specs/vulkan/structs/VkImageSubresourceLayers.txt b/doc/specs/vulkan/api/structs/VkImageSubresourceLayers.txt similarity index 100% rename from doc/specs/vulkan/structs/VkImageSubresourceLayers.txt rename to doc/specs/vulkan/api/structs/VkImageSubresourceLayers.txt diff --git a/doc/specs/vulkan/structs/VkImageSubresourceRange.txt b/doc/specs/vulkan/api/structs/VkImageSubresourceRange.txt similarity index 100% rename from doc/specs/vulkan/structs/VkImageSubresourceRange.txt rename to doc/specs/vulkan/api/structs/VkImageSubresourceRange.txt diff --git a/doc/specs/vulkan/structs/VkImageViewCreateInfo.txt b/doc/specs/vulkan/api/structs/VkImageViewCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkImageViewCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkImageViewCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkInstanceCreateInfo.txt b/doc/specs/vulkan/api/structs/VkInstanceCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkInstanceCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkInstanceCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkLayerProperties.txt b/doc/specs/vulkan/api/structs/VkLayerProperties.txt similarity index 100% rename from doc/specs/vulkan/structs/VkLayerProperties.txt rename to doc/specs/vulkan/api/structs/VkLayerProperties.txt diff --git a/doc/specs/vulkan/structs/VkMappedMemoryRange.txt b/doc/specs/vulkan/api/structs/VkMappedMemoryRange.txt similarity index 100% rename from doc/specs/vulkan/structs/VkMappedMemoryRange.txt rename to doc/specs/vulkan/api/structs/VkMappedMemoryRange.txt diff --git a/doc/specs/vulkan/structs/VkMemoryAllocateInfo.txt b/doc/specs/vulkan/api/structs/VkMemoryAllocateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkMemoryAllocateInfo.txt rename to doc/specs/vulkan/api/structs/VkMemoryAllocateInfo.txt diff --git a/doc/specs/vulkan/structs/VkMemoryBarrier.txt b/doc/specs/vulkan/api/structs/VkMemoryBarrier.txt similarity index 100% rename from doc/specs/vulkan/structs/VkMemoryBarrier.txt rename to doc/specs/vulkan/api/structs/VkMemoryBarrier.txt diff --git a/doc/specs/vulkan/structs/VkMemoryHeap.txt b/doc/specs/vulkan/api/structs/VkMemoryHeap.txt similarity index 100% rename from doc/specs/vulkan/structs/VkMemoryHeap.txt rename to doc/specs/vulkan/api/structs/VkMemoryHeap.txt diff --git a/doc/specs/vulkan/structs/VkMemoryRequirements.txt b/doc/specs/vulkan/api/structs/VkMemoryRequirements.txt similarity index 100% rename from doc/specs/vulkan/structs/VkMemoryRequirements.txt rename to doc/specs/vulkan/api/structs/VkMemoryRequirements.txt diff --git a/doc/specs/vulkan/structs/VkMemoryType.txt b/doc/specs/vulkan/api/structs/VkMemoryType.txt similarity index 100% rename from doc/specs/vulkan/structs/VkMemoryType.txt rename to doc/specs/vulkan/api/structs/VkMemoryType.txt diff --git a/doc/specs/vulkan/structs/VkOffset2D.txt b/doc/specs/vulkan/api/structs/VkOffset2D.txt similarity index 100% rename from doc/specs/vulkan/structs/VkOffset2D.txt rename to doc/specs/vulkan/api/structs/VkOffset2D.txt diff --git a/doc/specs/vulkan/structs/VkOffset3D.txt b/doc/specs/vulkan/api/structs/VkOffset3D.txt similarity index 100% rename from doc/specs/vulkan/structs/VkOffset3D.txt rename to doc/specs/vulkan/api/structs/VkOffset3D.txt diff --git a/doc/specs/vulkan/structs/VkPhysicalDeviceFeatures.txt b/doc/specs/vulkan/api/structs/VkPhysicalDeviceFeatures.txt similarity index 100% rename from doc/specs/vulkan/structs/VkPhysicalDeviceFeatures.txt rename to doc/specs/vulkan/api/structs/VkPhysicalDeviceFeatures.txt diff --git a/doc/specs/vulkan/structs/VkPhysicalDeviceLimits.txt b/doc/specs/vulkan/api/structs/VkPhysicalDeviceLimits.txt similarity index 100% rename from doc/specs/vulkan/structs/VkPhysicalDeviceLimits.txt rename to doc/specs/vulkan/api/structs/VkPhysicalDeviceLimits.txt diff --git a/doc/specs/vulkan/structs/VkPhysicalDeviceMemoryProperties.txt b/doc/specs/vulkan/api/structs/VkPhysicalDeviceMemoryProperties.txt similarity index 100% rename from doc/specs/vulkan/structs/VkPhysicalDeviceMemoryProperties.txt rename to doc/specs/vulkan/api/structs/VkPhysicalDeviceMemoryProperties.txt diff --git a/doc/specs/vulkan/structs/VkPhysicalDeviceProperties.txt b/doc/specs/vulkan/api/structs/VkPhysicalDeviceProperties.txt similarity index 100% rename from doc/specs/vulkan/structs/VkPhysicalDeviceProperties.txt rename to doc/specs/vulkan/api/structs/VkPhysicalDeviceProperties.txt diff --git a/doc/specs/vulkan/structs/VkPhysicalDeviceSparseProperties.txt b/doc/specs/vulkan/api/structs/VkPhysicalDeviceSparseProperties.txt similarity index 100% rename from doc/specs/vulkan/structs/VkPhysicalDeviceSparseProperties.txt rename to doc/specs/vulkan/api/structs/VkPhysicalDeviceSparseProperties.txt diff --git a/doc/specs/vulkan/structs/VkPipelineCacheCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineCacheCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkPipelineCacheCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkPipelineCacheCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkPipelineColorBlendAttachmentState.txt b/doc/specs/vulkan/api/structs/VkPipelineColorBlendAttachmentState.txt similarity index 100% rename from doc/specs/vulkan/structs/VkPipelineColorBlendAttachmentState.txt rename to doc/specs/vulkan/api/structs/VkPipelineColorBlendAttachmentState.txt diff --git a/doc/specs/vulkan/structs/VkPipelineColorBlendStateCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineColorBlendStateCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkPipelineColorBlendStateCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkPipelineColorBlendStateCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkPipelineDepthStencilStateCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineDepthStencilStateCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkPipelineDepthStencilStateCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkPipelineDepthStencilStateCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkPipelineDynamicStateCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineDynamicStateCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkPipelineDynamicStateCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkPipelineDynamicStateCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkPipelineInputAssemblyStateCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineInputAssemblyStateCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkPipelineInputAssemblyStateCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkPipelineInputAssemblyStateCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkPipelineLayoutCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineLayoutCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkPipelineLayoutCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkPipelineLayoutCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkPipelineMultisampleStateCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineMultisampleStateCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkPipelineMultisampleStateCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkPipelineMultisampleStateCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkPipelineRasterizationStateCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineRasterizationStateCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkPipelineRasterizationStateCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkPipelineRasterizationStateCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkPipelineShaderStageCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineShaderStageCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkPipelineShaderStageCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkPipelineShaderStageCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkPipelineTessellationStateCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineTessellationStateCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkPipelineTessellationStateCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkPipelineTessellationStateCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkPipelineVertexInputStateCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineVertexInputStateCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkPipelineVertexInputStateCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkPipelineVertexInputStateCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkPipelineViewportStateCreateInfo.txt b/doc/specs/vulkan/api/structs/VkPipelineViewportStateCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkPipelineViewportStateCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkPipelineViewportStateCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkPushConstantRange.txt b/doc/specs/vulkan/api/structs/VkPushConstantRange.txt similarity index 100% rename from doc/specs/vulkan/structs/VkPushConstantRange.txt rename to doc/specs/vulkan/api/structs/VkPushConstantRange.txt diff --git a/doc/specs/vulkan/structs/VkQueryPoolCreateInfo.txt b/doc/specs/vulkan/api/structs/VkQueryPoolCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkQueryPoolCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkQueryPoolCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkQueueFamilyProperties.txt b/doc/specs/vulkan/api/structs/VkQueueFamilyProperties.txt similarity index 100% rename from doc/specs/vulkan/structs/VkQueueFamilyProperties.txt rename to doc/specs/vulkan/api/structs/VkQueueFamilyProperties.txt diff --git a/doc/specs/vulkan/structs/VkRect2D.txt b/doc/specs/vulkan/api/structs/VkRect2D.txt similarity index 100% rename from doc/specs/vulkan/structs/VkRect2D.txt rename to doc/specs/vulkan/api/structs/VkRect2D.txt diff --git a/doc/specs/vulkan/structs/VkRenderPassBeginInfo.txt b/doc/specs/vulkan/api/structs/VkRenderPassBeginInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkRenderPassBeginInfo.txt rename to doc/specs/vulkan/api/structs/VkRenderPassBeginInfo.txt diff --git a/doc/specs/vulkan/structs/VkRenderPassCreateInfo.txt b/doc/specs/vulkan/api/structs/VkRenderPassCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkRenderPassCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkRenderPassCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkSamplerCreateInfo.txt b/doc/specs/vulkan/api/structs/VkSamplerCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkSamplerCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkSamplerCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkSemaphoreCreateInfo.txt b/doc/specs/vulkan/api/structs/VkSemaphoreCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkSemaphoreCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkSemaphoreCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkShaderModuleCreateInfo.txt b/doc/specs/vulkan/api/structs/VkShaderModuleCreateInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkShaderModuleCreateInfo.txt rename to doc/specs/vulkan/api/structs/VkShaderModuleCreateInfo.txt diff --git a/doc/specs/vulkan/structs/VkSparseBufferMemoryBindInfo.txt b/doc/specs/vulkan/api/structs/VkSparseBufferMemoryBindInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkSparseBufferMemoryBindInfo.txt rename to doc/specs/vulkan/api/structs/VkSparseBufferMemoryBindInfo.txt diff --git a/doc/specs/vulkan/structs/VkSparseImageFormatProperties.txt b/doc/specs/vulkan/api/structs/VkSparseImageFormatProperties.txt similarity index 100% rename from doc/specs/vulkan/structs/VkSparseImageFormatProperties.txt rename to doc/specs/vulkan/api/structs/VkSparseImageFormatProperties.txt diff --git a/doc/specs/vulkan/structs/VkSparseImageMemoryBind.txt b/doc/specs/vulkan/api/structs/VkSparseImageMemoryBind.txt similarity index 100% rename from doc/specs/vulkan/structs/VkSparseImageMemoryBind.txt rename to doc/specs/vulkan/api/structs/VkSparseImageMemoryBind.txt diff --git a/doc/specs/vulkan/structs/VkSparseImageMemoryBindInfo.txt b/doc/specs/vulkan/api/structs/VkSparseImageMemoryBindInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkSparseImageMemoryBindInfo.txt rename to doc/specs/vulkan/api/structs/VkSparseImageMemoryBindInfo.txt diff --git a/doc/specs/vulkan/structs/VkSparseImageMemoryRequirements.txt b/doc/specs/vulkan/api/structs/VkSparseImageMemoryRequirements.txt similarity index 100% rename from doc/specs/vulkan/structs/VkSparseImageMemoryRequirements.txt rename to doc/specs/vulkan/api/structs/VkSparseImageMemoryRequirements.txt diff --git a/doc/specs/vulkan/structs/VkSparseImageOpaqueMemoryBindInfo.txt b/doc/specs/vulkan/api/structs/VkSparseImageOpaqueMemoryBindInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkSparseImageOpaqueMemoryBindInfo.txt rename to doc/specs/vulkan/api/structs/VkSparseImageOpaqueMemoryBindInfo.txt diff --git a/doc/specs/vulkan/structs/VkSparseMemoryBind.txt b/doc/specs/vulkan/api/structs/VkSparseMemoryBind.txt similarity index 100% rename from doc/specs/vulkan/structs/VkSparseMemoryBind.txt rename to doc/specs/vulkan/api/structs/VkSparseMemoryBind.txt diff --git a/doc/specs/vulkan/structs/VkSpecializationInfo.txt b/doc/specs/vulkan/api/structs/VkSpecializationInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkSpecializationInfo.txt rename to doc/specs/vulkan/api/structs/VkSpecializationInfo.txt diff --git a/doc/specs/vulkan/structs/VkSpecializationMapEntry.txt b/doc/specs/vulkan/api/structs/VkSpecializationMapEntry.txt similarity index 100% rename from doc/specs/vulkan/structs/VkSpecializationMapEntry.txt rename to doc/specs/vulkan/api/structs/VkSpecializationMapEntry.txt diff --git a/doc/specs/vulkan/structs/VkStencilOpState.txt b/doc/specs/vulkan/api/structs/VkStencilOpState.txt similarity index 100% rename from doc/specs/vulkan/structs/VkStencilOpState.txt rename to doc/specs/vulkan/api/structs/VkStencilOpState.txt diff --git a/doc/specs/vulkan/structs/VkSubmitInfo.txt b/doc/specs/vulkan/api/structs/VkSubmitInfo.txt similarity index 100% rename from doc/specs/vulkan/structs/VkSubmitInfo.txt rename to doc/specs/vulkan/api/structs/VkSubmitInfo.txt diff --git a/doc/specs/vulkan/structs/VkSubpassDependency.txt b/doc/specs/vulkan/api/structs/VkSubpassDependency.txt similarity index 100% rename from doc/specs/vulkan/structs/VkSubpassDependency.txt rename to doc/specs/vulkan/api/structs/VkSubpassDependency.txt diff --git a/doc/specs/vulkan/structs/VkSubpassDescription.txt b/doc/specs/vulkan/api/structs/VkSubpassDescription.txt similarity index 100% rename from doc/specs/vulkan/structs/VkSubpassDescription.txt rename to doc/specs/vulkan/api/structs/VkSubpassDescription.txt diff --git a/doc/specs/vulkan/structs/VkSubresourceLayout.txt b/doc/specs/vulkan/api/structs/VkSubresourceLayout.txt similarity index 100% rename from doc/specs/vulkan/structs/VkSubresourceLayout.txt rename to doc/specs/vulkan/api/structs/VkSubresourceLayout.txt diff --git a/doc/specs/vulkan/structs/VkVertexInputAttributeDescription.txt b/doc/specs/vulkan/api/structs/VkVertexInputAttributeDescription.txt similarity index 100% rename from doc/specs/vulkan/structs/VkVertexInputAttributeDescription.txt rename to doc/specs/vulkan/api/structs/VkVertexInputAttributeDescription.txt diff --git a/doc/specs/vulkan/structs/VkVertexInputBindingDescription.txt b/doc/specs/vulkan/api/structs/VkVertexInputBindingDescription.txt similarity index 100% rename from doc/specs/vulkan/structs/VkVertexInputBindingDescription.txt rename to doc/specs/vulkan/api/structs/VkVertexInputBindingDescription.txt diff --git a/doc/specs/vulkan/structs/VkViewport.txt b/doc/specs/vulkan/api/structs/VkViewport.txt similarity index 100% rename from doc/specs/vulkan/structs/VkViewport.txt rename to doc/specs/vulkan/api/structs/VkViewport.txt diff --git a/doc/specs/vulkan/structs/VkWriteDescriptorSet.txt b/doc/specs/vulkan/api/structs/VkWriteDescriptorSet.txt similarity index 100% rename from doc/specs/vulkan/structs/VkWriteDescriptorSet.txt rename to doc/specs/vulkan/api/structs/VkWriteDescriptorSet.txt diff --git a/doc/specs/vulkan/api/timeMarker b/doc/specs/vulkan/api/timeMarker new file mode 100644 index 00000000..e69de29b diff --git a/doc/specs/vulkan/appendices/boilerplate.txt b/doc/specs/vulkan/appendices/boilerplate.txt index f0e977b5..87e837a5 100644 --- a/doc/specs/vulkan/appendices/boilerplate.txt +++ b/doc/specs/vulkan/appendices/boilerplate.txt @@ -15,12 +15,12 @@ elsewhere in the Specification. // refBegin VkStructureType Vulkan structure types (pname:stype) -Vulkan structures containing elink:VkStructureType::pname:sType members +Vulkan structures containing pname:sType members must: have a value of pname:sType matching the type of the structure, as described more fully in <>. Structure types supported by the Vulkan API include: -include::../enums/VkStructureType.txt[] +include::../api/enums/VkStructureType.txt[] // refEnd VkStructureType @@ -37,64 +37,64 @@ types supported by the Vulkan API include: // bringing that content into the spec (by adding // refBegin and // refEnd // comments and explanatory text for the ref pages) would be more complete. -include::../flags/VkAccessFlags.txt[] -include::../flags/VkAttachmentDescriptionFlags.txt[] -include::../flags/VkBufferCreateFlags.txt[] -include::../flags/VkBufferUsageFlags.txt[] -include::../flags/VkBufferViewCreateFlags.txt[] -include::../flags/VkColorComponentFlags.txt[] -include::../flags/VkCommandBufferResetFlags.txt[] -include::../flags/VkCommandBufferUsageFlags.txt[] -include::../flags/VkCommandPoolCreateFlags.txt[] -include::../flags/VkCommandPoolResetFlags.txt[] -include::../flags/VkCullModeFlags.txt[] -include::../flags/VkDependencyFlags.txt[] -include::../flags/VkDescriptorPoolCreateFlags.txt[] -include::../flags/VkDescriptorPoolResetFlags.txt[] -include::../flags/VkDescriptorSetLayoutCreateFlags.txt[] -include::../flags/VkDeviceCreateFlags.txt[] -include::../flags/VkDeviceQueueCreateFlags.txt[] -include::../flags/VkEventCreateFlags.txt[] -include::../flags/VkFenceCreateFlags.txt[] -include::../flags/VkFormatFeatureFlags.txt[] -include::../flags/VkFramebufferCreateFlags.txt[] -include::../flags/VkImageAspectFlags.txt[] -include::../flags/VkImageCreateFlags.txt[] -include::../flags/VkImageUsageFlags.txt[] -include::../flags/VkImageViewCreateFlags.txt[] -include::../flags/VkInstanceCreateFlags.txt[] -include::../flags/VkMemoryHeapFlags.txt[] -include::../flags/VkMemoryMapFlags.txt[] -include::../flags/VkMemoryPropertyFlags.txt[] -include::../flags/VkPipelineCacheCreateFlags.txt[] -include::../flags/VkPipelineColorBlendStateCreateFlags.txt[] -include::../flags/VkPipelineCreateFlags.txt[] -include::../flags/VkPipelineDepthStencilStateCreateFlags.txt[] -include::../flags/VkPipelineDynamicStateCreateFlags.txt[] -include::../flags/VkPipelineInputAssemblyStateCreateFlags.txt[] -include::../flags/VkPipelineLayoutCreateFlags.txt[] -include::../flags/VkPipelineMultisampleStateCreateFlags.txt[] -include::../flags/VkPipelineRasterizationStateCreateFlags.txt[] -include::../flags/VkPipelineShaderStageCreateFlags.txt[] -include::../flags/VkPipelineStageFlags.txt[] -include::../flags/VkPipelineTessellationStateCreateFlags.txt[] -include::../flags/VkPipelineVertexInputStateCreateFlags.txt[] -include::../flags/VkPipelineViewportStateCreateFlags.txt[] -include::../flags/VkQueryControlFlags.txt[] -include::../flags/VkQueryPipelineStatisticFlags.txt[] -include::../flags/VkQueryPoolCreateFlags.txt[] -include::../flags/VkQueryResultFlags.txt[] -include::../flags/VkQueueFlags.txt[] -include::../flags/VkRenderPassCreateFlags.txt[] -include::../flags/VkSampleCountFlags.txt[] -include::../flags/VkSamplerCreateFlags.txt[] -include::../flags/VkSemaphoreCreateFlags.txt[] -include::../flags/VkShaderModuleCreateFlags.txt[] -include::../flags/VkShaderStageFlags.txt[] -include::../flags/VkSparseImageFormatFlags.txt[] -include::../flags/VkSparseMemoryBindFlags.txt[] -include::../flags/VkStencilFaceFlags.txt[] -include::../flags/VkSubpassDescriptionFlags.txt[] +include::../api/flags/VkAccessFlags.txt[] +include::../api/flags/VkAttachmentDescriptionFlags.txt[] +include::../api/flags/VkBufferCreateFlags.txt[] +include::../api/flags/VkBufferUsageFlags.txt[] +include::../api/flags/VkBufferViewCreateFlags.txt[] +include::../api/flags/VkColorComponentFlags.txt[] +include::../api/flags/VkCommandBufferResetFlags.txt[] +include::../api/flags/VkCommandBufferUsageFlags.txt[] +include::../api/flags/VkCommandPoolCreateFlags.txt[] +include::../api/flags/VkCommandPoolResetFlags.txt[] +include::../api/flags/VkCullModeFlags.txt[] +include::../api/flags/VkDependencyFlags.txt[] +include::../api/flags/VkDescriptorPoolCreateFlags.txt[] +include::../api/flags/VkDescriptorPoolResetFlags.txt[] +include::../api/flags/VkDescriptorSetLayoutCreateFlags.txt[] +include::../api/flags/VkDeviceCreateFlags.txt[] +include::../api/flags/VkDeviceQueueCreateFlags.txt[] +include::../api/flags/VkEventCreateFlags.txt[] +include::../api/flags/VkFenceCreateFlags.txt[] +include::../api/flags/VkFormatFeatureFlags.txt[] +include::../api/flags/VkFramebufferCreateFlags.txt[] +include::../api/flags/VkImageAspectFlags.txt[] +include::../api/flags/VkImageCreateFlags.txt[] +include::../api/flags/VkImageUsageFlags.txt[] +include::../api/flags/VkImageViewCreateFlags.txt[] +include::../api/flags/VkInstanceCreateFlags.txt[] +include::../api/flags/VkMemoryHeapFlags.txt[] +include::../api/flags/VkMemoryMapFlags.txt[] +include::../api/flags/VkMemoryPropertyFlags.txt[] +include::../api/flags/VkPipelineCacheCreateFlags.txt[] +include::../api/flags/VkPipelineColorBlendStateCreateFlags.txt[] +include::../api/flags/VkPipelineCreateFlags.txt[] +include::../api/flags/VkPipelineDepthStencilStateCreateFlags.txt[] +include::../api/flags/VkPipelineDynamicStateCreateFlags.txt[] +include::../api/flags/VkPipelineInputAssemblyStateCreateFlags.txt[] +include::../api/flags/VkPipelineLayoutCreateFlags.txt[] +include::../api/flags/VkPipelineMultisampleStateCreateFlags.txt[] +include::../api/flags/VkPipelineRasterizationStateCreateFlags.txt[] +include::../api/flags/VkPipelineShaderStageCreateFlags.txt[] +include::../api/flags/VkPipelineStageFlags.txt[] +include::../api/flags/VkPipelineTessellationStateCreateFlags.txt[] +include::../api/flags/VkPipelineVertexInputStateCreateFlags.txt[] +include::../api/flags/VkPipelineViewportStateCreateFlags.txt[] +include::../api/flags/VkQueryControlFlags.txt[] +include::../api/flags/VkQueryPipelineStatisticFlags.txt[] +include::../api/flags/VkQueryPoolCreateFlags.txt[] +include::../api/flags/VkQueryResultFlags.txt[] +include::../api/flags/VkQueueFlags.txt[] +include::../api/flags/VkRenderPassCreateFlags.txt[] +include::../api/flags/VkSampleCountFlags.txt[] +include::../api/flags/VkSamplerCreateFlags.txt[] +include::../api/flags/VkSemaphoreCreateFlags.txt[] +include::../api/flags/VkShaderModuleCreateFlags.txt[] +include::../api/flags/VkShaderStageFlags.txt[] +include::../api/flags/VkSparseImageFormatFlags.txt[] +include::../api/flags/VkSparseMemoryBindFlags.txt[] +include::../api/flags/VkStencilFaceFlags.txt[] +include::../api/flags/VkSubpassDescriptionFlags.txt[] [[boilerplate-macros]] @@ -115,7 +115,7 @@ These macros manipulate version numbers in useful ways. dname:VK_VERSION_MAJOR extracts the API major version number from a packed version number: -include::../defines/VK_VERSION_MAJOR.txt[] +include::../api/defines/VK_VERSION_MAJOR.txt[] // refEnd VK_VERSION_MAJOR @@ -124,7 +124,7 @@ include::../defines/VK_VERSION_MAJOR.txt[] dname:VK_VERSION_MINOR extracts the API minor version number from a packed version number: -include::../defines/VK_VERSION_MINOR.txt[] +include::../api/defines/VK_VERSION_MINOR.txt[] // refEnd VK_VERSION_MINOR @@ -133,7 +133,7 @@ include::../defines/VK_VERSION_MINOR.txt[] dname:VK_VERSION_PATCH extracts the API patch version number from a packed version number: -include::../defines/VK_VERSION_PATCH.txt[] +include::../api/defines/VK_VERSION_PATCH.txt[] // refEnd VK_VERSION_PATCH @@ -144,7 +144,7 @@ patch version number in this macro will always be zero. The supported patch version for a physical device can: be queried with flink:vkGetPhysicalDeviceProperties. -include::../defines/VK_API_VERSION_1_0.txt[] +include::../api/defines/VK_API_VERSION_1_0.txt[] // refEnd VK_API_VERSION_1_0 vkCreateInstance vkGetPhysicalDeviceProperties @@ -152,7 +152,7 @@ include::../defines/VK_API_VERSION_1_0.txt[] dname:VK_API_VERSION is now commented out of +vulkan.h+ and cannot: be used. -include::../defines/VK_API_VERSION.txt[] +include::../api/defines/VK_API_VERSION.txt[] // refEnd VK_API_VERSION @@ -160,7 +160,7 @@ include::../defines/VK_API_VERSION.txt[] dname:VK_MAKE_VERSION constructs an API version number. -include::../defines/VK_MAKE_VERSION.txt[] +include::../api/defines/VK_MAKE_VERSION.txt[] * pname:major is the major version number. * pname:minor is the minor version number. @@ -182,7 +182,7 @@ value is currently kept synchronized with the release number of the Specification. However, it is not guaranteed to remain synchronized, since most Specification updates have no effect on +vulkan.h+. -include::../defines/VK_HEADER_VERSION.txt[] +include::../api/defines/VK_HEADER_VERSION.txt[] // refEnd VK_HEADER_VERSION @@ -194,7 +194,7 @@ include::../defines/VK_HEADER_VERSION.txt[] dname:VK_DEFINE_HANDLE defines a <> type. -include::../defines/VK_DEFINE_HANDLE.txt[] +include::../api/defines/VK_DEFINE_HANDLE.txt[] * pname:object is the name of the resulting C type. @@ -208,7 +208,7 @@ management, such as slink:VkDevice. dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE defines a <> type. -include::../defines/VK_DEFINE_NON_DISPATCHABLE_HANDLE.txt[] +include::../api/defines/VK_DEFINE_NON_DISPATCHABLE_HANDLE.txt[] * pname:object is the name of the resulting C type. @@ -222,6 +222,6 @@ dname:VK_NULL_HANDLE is a reserved value representing a non-valid object handle. It may be passed to and returned from Vulkan commands only when <>. -include::../defines/VK_NULL_HANDLE.txt[] +include::../api/defines/VK_NULL_HANDLE.txt[] // refEnd VK_NULL_HANDLE diff --git a/doc/specs/vulkan/chapters/clears.txt b/doc/specs/vulkan/chapters/clears.txt index 03c2eef4..a0a76c84 100644 --- a/doc/specs/vulkan/chapters/clears.txt +++ b/doc/specs/vulkan/chapters/clears.txt @@ -17,7 +17,7 @@ allowed outside of a render pass instance. To clear one or more subranges of a color image, call: -include::../protos/vkCmdClearColorImage.txt[] +include::../api/protos/vkCmdClearColorImage.txt[] * pname:commandBuffer is the command buffer into which the command will be recorded. @@ -45,7 +45,7 @@ include::../validity/protos/vkCmdClearColorImage.txt[] To clear one or more subranges of a depth/stencil image, call: -include::../protos/vkCmdClearDepthStencilImage.txt[] +include::../api/protos/vkCmdClearDepthStencilImage.txt[] * pname:commandBuffer is the command buffer into which the command will be recorded. @@ -83,7 +83,7 @@ the purposes of memory barriers. To clear one or more regions of color and depth/stencil attachments inside a render pass instance, call: -include::../protos/vkCmdClearAttachments.txt[] +include::../api/protos/vkCmdClearAttachments.txt[] * pname:commandBuffer is the command buffer into which the command will be recorded. @@ -108,7 +108,7 @@ include::../validity/protos/vkCmdClearAttachments.txt[] The sname:VkClearRect structure is defined as: -include::../structs/VkClearRect.txt[] +include::../api/structs/VkClearRect.txt[] * pname:rect is the two-dimensional region to be cleared. * pname:baseArrayLayer is the first layer to be cleared. @@ -123,7 +123,7 @@ include::../validity/structs/VkClearRect.txt[] The sname:VkClearAttachment structure is defined as: -include::../structs/VkClearAttachment.txt[] +include::../api/structs/VkClearAttachment.txt[] * pname:aspectMask is a mask selecting the color, depth and/or stencil aspects of the attachment to be cleared. pname:aspectMask can: include @@ -165,7 +165,7 @@ include::../validity/structs/VkClearAttachment.txt[] The sname:VkClearColorValue structure is defined as: -include::../structs/VkClearColorValue.txt[] +include::../api/structs/VkClearColorValue.txt[] * pname:float32 are the color clear values when the format of the image or attachment is floating point, unorm, snorm, uscaled, packed float, or @@ -194,7 +194,7 @@ include::../validity/structs/VkClearColorValue.txt[] The sname:VkClearDepthStencilValue structure is defined as: -include::../structs/VkClearDepthStencilValue.txt[] +include::../api/structs/VkClearDepthStencilValue.txt[] * pname:depth is the clear value for the depth aspect of the depth/stencil attachment. It is a floating-point value which is automatically @@ -210,7 +210,7 @@ include::../validity/structs/VkClearDepthStencilValue.txt[] The sname:VkClearValue union is defined as: -include::../structs/VkClearValue.txt[] +include::../api/structs/VkClearValue.txt[] * pname:color specifies the color image clear values to use when clearing a color image or attachment. @@ -231,7 +231,7 @@ include::../validity/structs/VkClearValue.txt[] To clear buffer data, call: -include::../protos/vkCmdFillBuffer.txt[] +include::../api/protos/vkCmdFillBuffer.txt[] * pname:commandBuffer is the command buffer into which the command will be recorded. @@ -262,7 +262,7 @@ include::../validity/protos/vkCmdFillBuffer.txt[] To update buffer data inline in a command buffer, call: -include::../protos/vkCmdUpdateBuffer.txt[] +include::../api/protos/vkCmdUpdateBuffer.txt[] * pname:commandBuffer is the command buffer into which the command will be recorded. diff --git a/doc/specs/vulkan/chapters/cmdbuffers.txt b/doc/specs/vulkan/chapters/cmdbuffers.txt index 110e4cc9..96e8533e 100644 --- a/doc/specs/vulkan/chapters/cmdbuffers.txt +++ b/doc/specs/vulkan/chapters/cmdbuffers.txt @@ -15,7 +15,7 @@ not directly submitted to queues. Command buffers are represented by sname:VkCommandBuffer handles: -include::../handles/VkCommandBuffer.txt[] +include::../api/handles/VkCommandBuffer.txt[] // refEnd VkCommandBuffer @@ -86,7 +86,7 @@ allocate, free, and reset command buffers or the pool itself. Command pools are represented by sname:VkCommandPool handles: -include::../handles/VkCommandPool.txt[] +include::../api/handles/VkCommandPool.txt[] // refEnd VkCommandPool @@ -94,7 +94,7 @@ include::../handles/VkCommandPool.txt[] To create a command pool, call: -include::../protos/vkCreateCommandPool.txt[] +include::../api/protos/vkCreateCommandPool.txt[] * pname:device is the logical device that creates the command pool. * pname:pCreateInfo contains information used to create the command pool. @@ -109,7 +109,7 @@ include::../validity/protos/vkCreateCommandPool.txt[] The sname:VkCommandPoolCreateInfo structure is defined as: -include::../structs/VkCommandPoolCreateInfo.txt[] +include::../api/structs/VkCommandPoolCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -118,7 +118,7 @@ include::../structs/VkCommandPoolCreateInfo.txt[] + -- // refBegin VkCommandPoolCreateFlagBits - Bitmask specifying usage behavior for a command pool -include::../enums/VkCommandPoolCreateFlagBits.txt[] +include::../api/enums/VkCommandPoolCreateFlagBits.txt[] -- + ** ename:VK_COMMAND_POOL_CREATE_TRANSIENT_BIT indicates that command buffers @@ -145,7 +145,7 @@ include::../validity/structs/VkCommandPoolCreateInfo.txt[] To reset a command pool, call: -include::../protos/vkResetCommandPool.txt[] +include::../api/protos/vkResetCommandPool.txt[] * pname:device is the logical device that owns the command pool. * pname:commandPool is the command pool to reset. @@ -154,7 +154,7 @@ include::../protos/vkResetCommandPool.txt[] + -- // refBegin VkCommandPoolResetFlagBits - Bitmask controlling behavior of a command pool reset -include::../enums/VkCommandPoolResetFlagBits.txt[] +include::../api/enums/VkCommandPoolResetFlagBits.txt[] -- + If pname:flags includes ename:VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT, @@ -172,7 +172,7 @@ include::../validity/protos/vkResetCommandPool.txt[] To destroy a command pool, call: -include::../protos/vkDestroyCommandPool.txt[] +include::../api/protos/vkDestroyCommandPool.txt[] * pname:device is the logical device that destroys the command pool. * pname:commandPool is the handle of the command pool to destroy. @@ -193,7 +193,7 @@ include::../validity/protos/vkDestroyCommandPool.txt[] To allocate command buffers, call: -include::../protos/vkAllocateCommandBuffers.txt[] +include::../api/protos/vkAllocateCommandBuffers.txt[] * pname:device is the logical device that owns the command pool. * pname:pAllocateInfo is a pointer to an instance of the @@ -211,7 +211,7 @@ include::../validity/protos/vkAllocateCommandBuffers.txt[] The sname:VkCommandBufferAllocateInfo structure is defined as: -include::../structs/VkCommandBufferAllocateInfo.txt[] +include::../api/structs/VkCommandBufferAllocateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -222,7 +222,7 @@ include::../structs/VkCommandBufferAllocateInfo.txt[] + -- // refBegin VkCommandBufferLevel - Structure specifying a command buffer level -include::../enums/VkCommandBufferLevel.txt[] +include::../api/enums/VkCommandBufferLevel.txt[] -- + * pname:commandBufferCount is the number of command buffers to allocate @@ -234,7 +234,7 @@ include::../validity/structs/VkCommandBufferAllocateInfo.txt[] To reset command buffers, call: -include::../protos/vkResetCommandBuffer.txt[] +include::../api/protos/vkResetCommandBuffer.txt[] * pname:commandBuffer is the command buffer to reset. The command buffer can: be in any state, and is put in the initial state. @@ -243,7 +243,7 @@ include::../protos/vkResetCommandBuffer.txt[] + -- // refBegin VkCommandBufferResetFlagBits - Bitmask controlling behavior of a command buffer reset -include::../enums/VkCommandBufferResetFlagBits.txt[] +include::../api/enums/VkCommandBufferResetFlagBits.txt[] -- + If pname:flags includes ename:VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT, @@ -258,7 +258,7 @@ include::../validity/protos/vkResetCommandBuffer.txt[] To free command buffers, call: -include::../protos/vkFreeCommandBuffers.txt[] +include::../api/protos/vkFreeCommandBuffers.txt[] * pname:device is the logical device that owns the command pool. * pname:commandPool is the handle of the command pool that the command @@ -277,7 +277,7 @@ include::../validity/protos/vkFreeCommandBuffers.txt[] To begin recording a command buffer, call: -include::../protos/vkBeginCommandBuffer.txt[] +include::../api/protos/vkBeginCommandBuffer.txt[] * pname:commandBuffer is the handle of the command buffer which is to be put in the recording state. @@ -291,7 +291,7 @@ include::../validity/protos/vkBeginCommandBuffer.txt[] The sname:VkCommandBufferBeginInfo structure is defined as: -include::../structs/VkCommandBufferBeginInfo.txt[] +include::../api/structs/VkCommandBufferBeginInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -300,7 +300,7 @@ include::../structs/VkCommandBufferBeginInfo.txt[] + -- // refBegin VkCommandBufferUsageFlagBits - Bitmask specifying usage behavior for command buffer -include::../enums/VkCommandBufferUsageFlagBits.txt[] +include::../api/enums/VkCommandBufferUsageFlagBits.txt[] -- + ** ename:VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT indicates that each @@ -325,7 +325,7 @@ If the command buffer is a secondary command buffer, then the sname:VkCommandBufferInheritanceInfo structure defines any state that will be inherited from the primary command buffer: -include::../structs/VkCommandBufferInheritanceInfo.txt[] +include::../api/structs/VkCommandBufferInheritanceInfo.txt[] * pname:renderPass is a sname:VkRenderPass object that must: be <> with the one that is bound when @@ -417,7 +417,7 @@ commands. To complete recording of a command buffer, call: -include::../protos/vkEndCommandBuffer.txt[] +include::../api/protos/vkEndCommandBuffer.txt[] * pname:commandBuffer is the command buffer to complete recording. The command buffer must: have been in the recording state, and is moved to @@ -441,7 +441,7 @@ queue for execution. To submit command buffers to a queue, call: -include::../protos/vkQueueSubmit.txt[] +include::../api/protos/vkQueueSubmit.txt[] * pname:queue is the queue that the command buffers will be submitted to. * pname:submitCount is the number of elements in the pname:pSubmits array. @@ -483,7 +483,7 @@ include::../validity/protos/vkQueueSubmit.txt[] The sname:VkSubmitInfo structure is defined as: -include::../structs/VkSubmitInfo.txt[] +include::../api/structs/VkSubmitInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -540,7 +540,7 @@ A secondary command buffer mustnot: be directly submitted to a queue. Instead, secondary command buffers are recorded to execute as part of a primary command buffer with the command: -include::../protos/vkCmdExecuteCommands.txt[] +include::../api/protos/vkCmdExecuteCommands.txt[] * pname:commandBuffer is a handle to a primary command buffer that the secondary command buffers are submitted to, and must: be in the diff --git a/doc/specs/vulkan/chapters/copies.txt b/doc/specs/vulkan/chapters/copies.txt index 97aa4f07..c2d9fcac 100644 --- a/doc/specs/vulkan/chapters/copies.txt +++ b/doc/specs/vulkan/chapters/copies.txt @@ -57,7 +57,7 @@ synchronization barriers. To copy data between buffer objects, call: -include::../protos/vkCmdCopyBuffer.txt[] +include::../api/protos/vkCmdCopyBuffer.txt[] * pname:commandBuffer is the command buffer into which the command will be recorded. @@ -78,7 +78,7 @@ include::../validity/protos/vkCmdCopyBuffer.txt[] The sname:VkBufferCopy structure is defined as: -include::../structs/VkBufferCopy.txt[] +include::../api/structs/VkBufferCopy.txt[] * pname:srcOffset is the starting offset in bytes from the start of pname:srcBuffer. @@ -103,7 +103,7 @@ as defined below. To copy data between image objects, call: -include::../protos/vkCmdCopyImage.txt[] +include::../api/protos/vkCmdCopyImage.txt[] * pname:commandBuffer is the command buffer into which the command will be recorded. @@ -190,7 +190,7 @@ include::../validity/protos/vkCmdCopyImage.txt[] The sname:VkImageCopy structure is defined as: -include::../structs/VkImageCopy.txt[] +include::../api/structs/VkImageCopy.txt[] * pname:srcSubresource and pname:dstSubresource are slink:VkImageSubresourceLayers structures specifying the image @@ -211,7 +211,7 @@ include::../validity/structs/VkImageCopy.txt[] The sname:VkImageSubresourceLayers structure is defined as: -include::../structs/VkImageSubresourceLayers.txt[] +include::../api/structs/VkImageSubresourceLayers.txt[] * pname:aspectMask is a combination of elink:VkImageAspectFlagBits, selecting the color, depth and/or stencil aspects to be copied. @@ -229,7 +229,7 @@ include::../validity/structs/VkImageSubresourceLayers.txt[] To copy data from a buffer object to an image object, call: -include::../protos/vkCmdCopyBufferToImage.txt[] +include::../api/protos/vkCmdCopyBufferToImage.txt[] * pname:commandBuffer is the command buffer into which the command will be recorded. @@ -250,7 +250,7 @@ include::../validity/protos/vkCmdCopyBufferToImage.txt[] To copy data from an image object to a buffer object, call: -include::../protos/vkCmdCopyImageToBuffer.txt[] +include::../api/protos/vkCmdCopyImageToBuffer.txt[] * pname:commandBuffer is the command buffer into which the command will be recorded. @@ -272,7 +272,7 @@ include::../validity/protos/vkCmdCopyImageToBuffer.txt[] For both flink:vkCmdCopyBufferToImage and flink:vkCmdCopyImageToBuffer, each element of pname:pRegions is a structure defined as: -include::../structs/VkBufferImageCopy.txt[] +include::../api/structs/VkBufferImageCopy.txt[] * pname:bufferOffset is the offset in bytes from the start of the buffer object where the image data is copied from or to. @@ -401,7 +401,7 @@ destination of the copy. To copy regions of a source image into a destination image, potentially performing format conversion, arbitrary scaling, and filtering, call: -include::../protos/vkCmdBlitImage.txt[] +include::../api/protos/vkCmdBlitImage.txt[] * pname:commandBuffer is the command buffer into which the command will be recorded. @@ -536,7 +536,7 @@ include::../validity/protos/vkCmdBlitImage.txt[] The sname:VkImageBlit structure is defined as: -include::../structs/VkImageBlit.txt[] +include::../api/structs/VkImageBlit.txt[] * pname:srcSubresource is the subresource to blit from. * pname:srcOffsets is an array of two slink:VkOffset3D structures @@ -559,7 +559,7 @@ include::../validity/structs/VkImageBlit.txt[] To resolve a multisample image to a non-multisample image, call: -include::../protos/vkCmdResolveImage.txt[] +include::../api/protos/vkCmdResolveImage.txt[] * pname:commandBuffer is the command buffer into which the command will be recorded. @@ -598,7 +598,7 @@ include::../validity/protos/vkCmdResolveImage.txt[] The sname:VkImageResolve structure is defined as: -include::../structs/VkImageResolve.txt[] +include::../api/structs/VkImageResolve.txt[] * pname:srcSubresource and pname:dstSubresource are slink:VkImageSubresourceLayers structures specifying the image diff --git a/doc/specs/vulkan/chapters/descriptorsets.txt b/doc/specs/vulkan/chapters/descriptorsets.txt index f8b73c87..1ef8c0d4 100644 --- a/doc/specs/vulkan/chapters/descriptorsets.txt +++ b/doc/specs/vulkan/chapters/descriptorsets.txt @@ -552,7 +552,7 @@ immutable samplers) an array of sampler descriptors. Descriptor set layout objects are represented by sname:VkDescriptorSetLayout handles: -include::../handles/VkDescriptorSetLayout.txt[] +include::../api/handles/VkDescriptorSetLayout.txt[] // refEnd VkDescriptorSetLayout @@ -560,7 +560,7 @@ include::../handles/VkDescriptorSetLayout.txt[] To create descriptor set layout objects, call: -include::../protos/vkCreateDescriptorSetLayout.txt[] +include::../api/protos/vkCreateDescriptorSetLayout.txt[] * pname:device is the logical device that creates the descriptor set layout. @@ -579,7 +579,7 @@ include::../validity/protos/vkCreateDescriptorSetLayout.txt[] Information about the descriptor set layout is passed in an instance of the sname:VkDescriptorSetLayoutCreateInfo structure: -include::../structs/VkDescriptorSetLayoutCreateInfo.txt[] +include::../api/structs/VkDescriptorSetLayoutCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -594,7 +594,7 @@ include::../validity/structs/VkDescriptorSetLayoutCreateInfo.txt[] The sname:VkDescriptorSetLayoutBinding structure is defined as: -include::../structs/VkDescriptorSetLayoutBinding.txt[] +include::../api/structs/VkDescriptorSetLayoutBinding.txt[] * pname:binding is the binding number of this entry and corresponds to a resource of the same binding number in the shader stages. @@ -794,7 +794,7 @@ myResult = vkCreateDescriptorSetLayout( To destroy a descriptor set layout, call: -include::../protos/vkDestroyDescriptorSetLayout.txt[] +include::../api/protos/vkDestroyDescriptorSetLayout.txt[] * pname:device is the logical device that destroys the descriptor set layout. @@ -821,7 +821,7 @@ resources. Each pipeline is created using a pipeline layout. Pipeline layout objects are represented by sname:VkPipelineLayout handles: -include::../handles/VkPipelineLayout.txt[] +include::../api/handles/VkPipelineLayout.txt[] // refEnd VkPipelineLayout @@ -829,7 +829,7 @@ include::../handles/VkPipelineLayout.txt[] To create a pipeline layout, call: -include::../protos/vkCreatePipelineLayout.txt[] +include::../api/protos/vkCreatePipelineLayout.txt[] * pname:device is the logical device that creates the pipeline layout. * pname:pCreateInfo is a pointer to an instance of the @@ -846,7 +846,7 @@ include::../validity/protos/vkCreatePipelineLayout.txt[] The slink:VkPipelineLayoutCreateInfo structure is defined as: -include::../structs/VkPipelineLayoutCreateInfo.txt[] +include::../api/structs/VkPipelineLayoutCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -876,7 +876,7 @@ include::../validity/structs/VkPipelineLayoutCreateInfo.txt[] The sname:VkPushConstantRange structure is defined as: -include::../structs/VkPushConstantRange.txt[] +include::../api/structs/VkPushConstantRange.txt[] * pname:stageFlags is a set of stage flags describing the shader stages that will access a range of push constants. If a particular stage @@ -957,7 +957,7 @@ type of resource that can: be used in any pipeline stage as described in To destroy a pipeline layout, call: -include::../protos/vkDestroyPipelineLayout.txt[] +include::../api/protos/vkDestroyPipelineLayout.txt[] * pname:device is the logical device that destroys the pipeline layout. * pname:pipelineLayout is the pipeline layout to destroy. @@ -1074,7 +1074,7 @@ threads simultaneously. Descriptor pools are represented by sname:VkDescriptorPool handles: -include::../handles/VkDescriptorPool.txt[] +include::../api/handles/VkDescriptorPool.txt[] // refEnd VkDescriptorPool @@ -1082,7 +1082,7 @@ include::../handles/VkDescriptorPool.txt[] To create a descriptor pool object, call: -include::../protos/vkCreateDescriptorPool.txt[] +include::../api/protos/vkCreateDescriptorPool.txt[] * pname:device is the logical device that creates the descriptor pool. * pname:pCreateInfo is a pointer to an instance of the @@ -1105,7 +1105,7 @@ include::../validity/protos/vkCreateDescriptorPool.txt[] Additional information about the pool is passed in an instance of the sname:VkDescriptorPoolCreateInfo structure: -include::../structs/VkDescriptorPoolCreateInfo.txt[] +include::../api/structs/VkDescriptorPoolCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -1114,7 +1114,7 @@ include::../structs/VkDescriptorPoolCreateInfo.txt[] + -- // refBegin VkDescriptorPoolCreateFlagBits - Bitmask specifying certain supported operations on a descriptor pool -include::../enums/VkDescriptorPoolCreateFlagBits.txt[] +include::../api/enums/VkDescriptorPoolCreateFlagBits.txt[] -- + If pname:flags includes @@ -1164,7 +1164,7 @@ include::../validity/structs/VkDescriptorPoolCreateInfo.txt[] The sname:VkDescriptorPoolSize structure is defined as: -include::../structs/VkDescriptorPoolSize.txt[] +include::../api/structs/VkDescriptorPoolSize.txt[] * pname:type is the type of descriptor. * pname:descriptorCount is the number of descriptors of that type @@ -1176,7 +1176,7 @@ include::../validity/structs/VkDescriptorPoolSize.txt[] To destroy a descriptor pool, call: -include::../protos/vkDestroyDescriptorPool.txt[] +include::../api/protos/vkDestroyDescriptorPool.txt[] * pname:device is the logical device that destroys the descriptor pool. * pname:descriptorPool is the descriptor pool to destroy. @@ -1194,7 +1194,7 @@ include::../validity/protos/vkDestroyDescriptorPool.txt[] Descriptor sets are allocated from descriptor pool objects, and are represented by sname:VkDescriptorSet handles: -include::../handles/VkDescriptorSet.txt[] +include::../api/handles/VkDescriptorSet.txt[] // refEnd VkDescriptorSet @@ -1202,7 +1202,7 @@ include::../handles/VkDescriptorSet.txt[] To allocate descriptor sets from a descriptor pool, call: -include::../protos/vkAllocateDescriptorSets.txt[] +include::../api/protos/vkAllocateDescriptorSets.txt[] * pname:device is the logical device that owns the descriptor pool. * pname:pAllocateInfo is a pointer to an instance of the @@ -1227,13 +1227,35 @@ a draw or dispatch with such a descriptor set bound does not cause undefined behavior. This means applications need not populate unused entries with dummy descriptors. +If an allocation fails due to fragmentation, an indeterminate error is +returned with an unspecified error code. Any returned error other than +ename:VK_ERROR_FRAGMENTED_POOL does not imply its usual meaning: +applications should: assume that the allocation failed due to fragmentation, +and create a new descriptor pool. + +[NOTE] +.Note +==== +Applications should check for a negative return value when allocating new +descriptor sets, assume that any error effectively means +ename:VK_ERROR_FRAGMENTED_POOL, and try to create a new descriptor pool. +If ename:VK_ERROR_FRAGMENTED_POOL is the actual return value, it adds +certainty to that decision. + +The reason for this is that ename:VK_ERROR_FRAGMENTED_POOL was only added in +a later revision of the 1.0 specification, and so drivers may: return other +errors if they were written against earlier revisions. +To ensure full compatibility with earlier patch revisions, these other +errors are allowed. +==== + include::../validity/protos/vkAllocateDescriptorSets.txt[] // refBegin VkDescriptorSetAllocateInfo Structure specifying the allocation parameters for descriptor sets. The sname:VkDescriptorSetAllocateInfo structure is defined as: -include::../structs/VkDescriptorSetAllocateInfo.txt[] +include::../api/structs/VkDescriptorSetAllocateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -1249,7 +1271,7 @@ include::../validity/structs/VkDescriptorSetAllocateInfo.txt[] To free allocated descriptor sets, call: -include::../protos/vkFreeDescriptorSets.txt[] +include::../api/protos/vkFreeDescriptorSets.txt[] * pname:device is the logical device that owns the descriptor pool. * pname:descriptorPool is the descriptor pool from which the descriptor @@ -1269,7 +1291,7 @@ include::../validity/protos/vkFreeDescriptorSets.txt[] To return all descriptor sets allocated from a given pool to the pool, rather than freeing individual descriptor sets, call: -include::../protos/vkResetDescriptorPool.txt[] +include::../api/protos/vkResetDescriptorPool.txt[] * pname:device is the logical device that owns the descriptor pool. * pname:descriptorPool is the descriptor pool to be reset. @@ -1290,7 +1312,7 @@ include::../validity/protos/vkResetDescriptorPool.txt[] Once allocated, descriptor sets can: be updated with a combination of write and copy operations. To update descriptor sets, call: -include::../protos/vkUpdateDescriptorSets.txt[] +include::../api/protos/vkUpdateDescriptorSets.txt[] * pname:device is the logical device that updates the descriptor sets. * pname:descriptorWriteCount is the number of elements in the @@ -1323,7 +1345,7 @@ include::../validity/protos/vkUpdateDescriptorSets.txt[] The sname:VkWriteDescriptorSet structure is defined as: -include::../structs/VkWriteDescriptorSet.txt[] +include::../api/structs/VkWriteDescriptorSet.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -1372,7 +1394,7 @@ The type of descriptors in a descriptor set is specified by slink:VkWriteDescriptorSet::pname:descriptorType, which must: be one of the values: -include::../enums/VkDescriptorType.txt[] +include::../api/enums/VkDescriptorType.txt[] If pname:descriptorType is ename:VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, ename:VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, @@ -1402,7 +1424,7 @@ descriptors, and other arrays will be ignored. The sname:VkDescriptorBufferInfo structure is defined as: -include::../structs/VkDescriptorBufferInfo.txt[] +include::../api/structs/VkDescriptorBufferInfo.txt[] * pname:buffer is the buffer resource. * pname:offset is the offset in bytes from the start of pname:buffer. @@ -1423,7 +1445,7 @@ include::../validity/structs/VkDescriptorBufferInfo.txt[] The sname:VkDescriptorImageInfo structure is defined as: -include::../structs/VkDescriptorImageInfo.txt[] +include::../api/structs/VkDescriptorImageInfo.txt[] * pname:sampler is a sampler handle, and is used in descriptor updates for types ename:VK_DESCRIPTOR_TYPE_SAMPLER and @@ -1450,7 +1472,7 @@ include::../validity/structs/VkDescriptorImageInfo.txt[] The sname:VkCopyDescriptorSet structure is defined as: -include::../structs/VkCopyDescriptorSet.txt[] +include::../api/structs/VkCopyDescriptorSet.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -1474,7 +1496,7 @@ include::../validity/structs/VkCopyDescriptorSet.txt[] To bind one or more descriptor sets to a command buffer, call: -include::../protos/vkCmdBindDescriptorSets.txt[] +include::../api/protos/vkCmdBindDescriptorSets.txt[] * pname:commandBuffer is the command buffer that the descriptor sets will be bound to. @@ -1570,7 +1592,7 @@ The values of push constants are undefined at the start of a command buffer. To update push constants, call: -include::../protos/vkCmdPushConstants.txt[] +include::../api/protos/vkCmdPushConstants.txt[] * pname:commandBuffer is the command buffer in which the push constant update will be recorded. diff --git a/doc/specs/vulkan/chapters/devsandqueues.txt b/doc/specs/vulkan/chapters/devsandqueues.txt index 03b651df..4d776ef8 100644 --- a/doc/specs/vulkan/chapters/devsandqueues.txt +++ b/doc/specs/vulkan/chapters/devsandqueues.txt @@ -17,7 +17,7 @@ the device. Physical devices are represented by sname:VkPhysicalDevice handles: -include::../handles/VkPhysicalDevice.txt[] +include::../api/handles/VkPhysicalDevice.txt[] // refEnd VkPhysicalDevice @@ -30,7 +30,7 @@ include::../handles/VkPhysicalDevice.txt[] To retrieve a list of physical device objects representing the physical devices installed in the system, call: -include::../protos/vkEnumeratePhysicalDevices.txt[] +include::../api/protos/vkEnumeratePhysicalDevices.txt[] * pname:instance is a handle to a Vulkan instance previously created with fname:vkCreateInstance. @@ -58,7 +58,7 @@ include::../validity/protos/vkEnumeratePhysicalDevices.txt[] To query general properties of physical devices once enumerated, call: -include::../protos/vkGetPhysicalDeviceProperties.txt[] +include::../api/protos/vkGetPhysicalDeviceProperties.txt[] * pname:physicalDevice is the handle to the physical device whose properties will be queried. @@ -72,7 +72,7 @@ include::../validity/protos/vkGetPhysicalDeviceProperties.txt[] The sname:VkPhysicalDeviceProperties structure is defined as: -include::../structs/VkPhysicalDeviceProperties.txt[] +include::../api/structs/VkPhysicalDeviceProperties.txt[] * pname:apiVersion is the version of Vulkan supported by the device, encoded as described in the <> section below for diff --git a/doc/specs/vulkan/chapters/fragops.txt b/doc/specs/vulkan/chapters/fragops.txt index c432007d..0f57ba66 100644 --- a/doc/specs/vulkan/chapters/fragops.txt +++ b/doc/specs/vulkan/chapters/fragops.txt @@ -43,7 +43,7 @@ enabled then the scissor rectangles are set by the slink:VkPipelineViewportStateCreateInfo state of the pipeline state object. Otherwise, to dynamically set the scissor rectangles call: -include::../protos/vkCmdSetScissor.txt[] +include::../api/protos/vkCmdSetScissor.txt[] * pname:commandBuffer is the command buffer into which the command will be recorded. @@ -108,7 +108,7 @@ mask has all bits enabled, i.e. no coverage is removed from fragments. The elements of the sample mask array are of type basetype:VkSampleMask, each representing 32 bits of coverage information: -include::../basetypes/VkSampleMask.txt[] +include::../api/basetypes/VkSampleMask.txt[] // refEnd VkSampleMask VkPipelineMultisampleStateCreateInfo @@ -247,7 +247,7 @@ sname:VkPipelineDepthStencilStateCreateInfo structure. The sname:VkPipelineDepthStencilStateCreateInfo structure is defined as: -include::../structs/VkPipelineDepthStencilStateCreateInfo.txt[] +include::../api/structs/VkPipelineDepthStencilStateCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -286,7 +286,7 @@ by the pname:minDepthBounds and pname:maxDepthBounds members of the slink:VkPipelineDepthStencilStateCreateInfo structure. Otherwise, to dynamically set the depth bounds range values call: -include::../protos/vkCmdSetDepthBounds.txt[] +include::../api/protos/vkCmdSetDepthBounds.txt[] * pname:commandBuffer is the command buffer into which the command will be recorded. @@ -326,7 +326,7 @@ sname:VkStencilOpState. The sname:VkStencilOpState structure is defined as: -include::../structs/VkStencilOpState.txt[] +include::../api/structs/VkStencilOpState.txt[] * pname:failOp is the action performed on samples that fail the stencil test. @@ -371,7 +371,7 @@ If the pipeline state object is created with the ename:VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK dynamic state enabled, then to dynamically set the stencil compare mask call: -include::../protos/vkCmdSetStencilCompareMask.txt[] +include::../api/protos/vkCmdSetStencilCompareMask.txt[] * pname:commandBuffer is the command buffer into which the command will be recorded. @@ -380,7 +380,7 @@ include::../protos/vkCmdSetStencilCompareMask.txt[] + -- // refBegin VkStencilFaceFlagBits - Bitmask specifying sets of stencil state for which to update the compare mask -include::../enums/VkStencilFaceFlagBits.txt[] +include::../api/enums/VkStencilFaceFlagBits.txt[] -- ** ename:VK_STENCIL_FACE_FRONT_BIT indicates that only the front set of stencil state is updated. @@ -399,7 +399,7 @@ If the pipeline state object is created with the ename:VK_DYNAMIC_STATE_STENCIL_WRITE_MASK dynamic state enabled, then to dynamically set the stencil write mask call: -include::../protos/vkCmdSetStencilWriteMask.txt[] +include::../api/protos/vkCmdSetStencilWriteMask.txt[] * pname:commandBuffer is the command buffer into which the command will be recorded. @@ -416,7 +416,7 @@ If the pipeline state object is created with the ename:VK_DYNAMIC_STATE_STENCIL_REFERENCE dynamic state enabled, then to dynamically set the stencil reference value call: -include::../protos/vkCmdSetStencilReference.txt[] +include::../api/protos/vkCmdSetStencilReference.txt[] * pname:commandBuffer is the command buffer into which the command will be recorded. @@ -442,7 +442,7 @@ and latexmath:[$S$] be the masked stored stencil value. pname:compareOp is a symbolic constant that determines the stencil comparison function: -include::../enums/VkCompareOp.txt[] +include::../api/enums/VkCompareOp.txt[] * ename:VK_COMPARE_OP_NEVER: the test never passes. * ename:VK_COMPARE_OP_LESS: the test passes when latexmath:[$R \lt S$]. @@ -465,7 +465,7 @@ members of slink:VkStencilOpState indicate what happens to the stored stencil value if this or certain subsequent tests fail or pass. Each enum is of type elink:VkStencilOp, which is defined as: -include::../enums/VkStencilOp.txt[] +include::../api/enums/VkStencilOp.txt[] The possible values are: diff --git a/doc/specs/vulkan/chapters/framebuffer.txt b/doc/specs/vulkan/chapters/framebuffer.txt index ae9e272d..28f6ba3b 100644 --- a/doc/specs/vulkan/chapters/framebuffer.txt +++ b/doc/specs/vulkan/chapters/framebuffer.txt @@ -41,7 +41,7 @@ creation: The sname:VkPipelineColorBlendStateCreateInfo structure is defined as: -include::../structs/VkPipelineColorBlendStateCreateInfo.txt[] +include::../api/structs/VkPipelineColorBlendStateCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -72,7 +72,7 @@ include::../validity/structs/VkPipelineColorBlendStateCreateInfo.txt[] The sname:VkPipelineColorBlendAttachmentState structure is defined as: -include::../structs/VkPipelineColorBlendAttachmentState.txt[] +include::../api/structs/VkPipelineColorBlendAttachmentState.txt[] * pname:blendEnable controls whether blending is enabled for the corresponding color attachment. If blending is not enabled, the source @@ -104,7 +104,7 @@ include::../validity/structs/VkPipelineColorBlendAttachmentState.txt[] The source and destination color and alpha blending factors are selected from the enum: -include::../enums/VkBlendFactor.txt[] +include::../api/enums/VkBlendFactor.txt[] The semantics of each enum value is described in the table below: @@ -161,7 +161,7 @@ pname:blendConstants member of slink:VkPipelineColorBlendStateCreateInfo. Otherwise, to dynamically set and change the blend constant, call: -include::../protos/vkCmdSetBlendConstants.txt[] +include::../api/protos/vkCmdSetBlendConstants.txt[] * pname:commandBuffer is the command buffer into which the command will be recorded. @@ -211,7 +211,7 @@ with the source and destination components are passed to the blending operation. The blending operations are selected from the following enum, with RGB and alpha components potentially using different blend operations: -include::../enums/VkBlendOp.txt[] +include::../api/enums/VkBlendOp.txt[] <<< @@ -287,7 +287,7 @@ determines whether the final color values latexmath:[$R, G, B$] and latexmath:[$A$] are written to the framebuffer attachment. pname:colorWriteMask is any combination of the following bits: -include::../enums/VkColorComponentFlagBits.txt[] +include::../api/enums/VkColorComponentFlagBits.txt[] If ename:VK_COLOR_COMPONENT_R_BIT is set, then the latexmath:[$R$] value is written to color attachment for the appropriate sample, otherwise the value @@ -347,7 +347,7 @@ unmodified. The logical operation is applied independently for each of the red, green, blue, and alpha components. The pname:logicOp is selected from the following operations: -include::../enums/VkLogicOp.txt[] +include::../api/enums/VkLogicOp.txt[] <<< diff --git a/doc/specs/vulkan/chapters/fundamentals.txt b/doc/specs/vulkan/chapters/fundamentals.txt index 02e3aea8..7fcc48a2 100644 --- a/doc/specs/vulkan/chapters/fundamentals.txt +++ b/doc/specs/vulkan/chapters/fundamentals.txt @@ -419,7 +419,7 @@ in the text when appropriate: basetype:VkBool32 represents boolean code:True and code:False values, since C does not have a sufficiently portable built-in boolean type: -include::../basetypes/VkBool32.txt[] +include::../api/basetypes/VkBool32.txt[] // refEnd VkBool32 @@ -427,7 +427,7 @@ include::../basetypes/VkBool32.txt[] basetype:VkDeviceSize represents device memory size and offset values: -include::../basetypes/VkDeviceSize.txt[] +include::../api/basetypes/VkDeviceSize.txt[] // refEnd VkDeviceSize @@ -652,7 +652,7 @@ type. A enumerant is valid if: A collection of flags is represented by a bitmask using the type basetype:VkFlags: -include::../basetypes/VkFlags.txt[] +include::../api/basetypes/VkFlags.txt[] Bitmasks are passed to many commands and structures to compactly represent options, but basetype:VkFlags is not used directly in the API. Instead, a @@ -681,8 +681,8 @@ flags. A bit flag is valid if: ==== Valid Usage for Structure Types Any parameter that is a structure containing a -elink:VkStructureType::pname:sType member must: have a value of ptext:sType -matching the type of the structure. +pname:sType member must: have a value of ptext:sType which is a +valid elink:VkStructureType value matching the type of the structure. As a general rule, the name of this value is obtained by taking the structure name, stripping the leading etext:Vk, prefixing each capital letter with etext:_, converting the entire resulting string to upper case, @@ -749,7 +749,7 @@ their status via return codes that are in one of two categories: All return codes in Vulkan are reported via basetype:VkResult return values. The possible codes are: -include::../enums/VkResult.txt[] +include::../api/enums/VkResult.txt[] [[fundamentals-successcodes]] .Success codes @@ -793,6 +793,9 @@ include::../enums/VkResult.txt[] Too many objects of the type have already been created. * ename:VK_ERROR_FORMAT_NOT_SUPPORTED A requested format is not supported on this device. +* ename:VK_ERROR_FRAGMENTED_POOL + A requested pool allocation has failed due to fragmentation of the + pool's memory. If a command returns a run time error, it will leave any result pointers unmodified, unless other behavior is explicitly defined in the specification. @@ -1125,7 +1128,7 @@ location for three-dimensional images. A two-dimensional offsets is defined by the structure: -include::../structs/VkOffset2D.txt[] +include::../api/structs/VkOffset2D.txt[] include::../validity/structs/VkOffset2D.txt[] @@ -1133,7 +1136,7 @@ include::../validity/structs/VkOffset2D.txt[] A three-dimensional offset is defined by the structure: -include::../structs/VkOffset3D.txt[] +include::../api/structs/VkOffset3D.txt[] include::../validity/structs/VkOffset3D.txt[] @@ -1148,7 +1151,7 @@ an image or framebuffer, as (width,height) for two-dimensional images, or as A two-dimensional extent is defined by the structure: -include::../structs/VkExtent2D.txt[] +include::../api/structs/VkExtent2D.txt[] include::../validity/structs/VkExtent2D.txt[] @@ -1156,7 +1159,7 @@ include::../validity/structs/VkExtent2D.txt[] A three-dimensional extent is defined by the structure: -include::../structs/VkExtent3D.txt[] +include::../api/structs/VkExtent3D.txt[] include::../validity/structs/VkExtent3D.txt[] @@ -1170,6 +1173,6 @@ within an image or framebuffer. Rectangles include both an offset and an extent of the same dimensionality, as described above. Two-dimensional rectangles are defined by the structure -include::../structs/VkRect2D.txt[] +include::../api/structs/VkRect2D.txt[] include::../validity/structs/VkRect2D.txt[] diff --git a/doc/specs/vulkan/chapters/fxvertex.txt b/doc/specs/vulkan/chapters/fxvertex.txt index fc9c67cb..11944069 100644 --- a/doc/specs/vulkan/chapters/fxvertex.txt +++ b/doc/specs/vulkan/chapters/fxvertex.txt @@ -264,7 +264,7 @@ structure of type sname:VkPipelineVertexInputStateCreateInfo. The sname:VkPipelineVertexInputStateCreateInfo structure is defined as: -include::../structs/VkPipelineVertexInputStateCreateInfo.txt[] +include::../api/structs/VkPipelineVertexInputStateCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -287,7 +287,7 @@ sname:VkVertexInputBindingDescription structure. The sname:VkVertexInputBindingDescription structure is defined as: -include::../structs/VkVertexInputBindingDescription.txt[] +include::../api/structs/VkVertexInputBindingDescription.txt[] * pname:binding is the binding number that this structure describes. @@ -299,7 +299,7 @@ include::../structs/VkVertexInputBindingDescription.txt[] + -- // refBegin VkVertexInputRate - specify rate at which vertex attributes are pulled from buffers -include::../enums/VkVertexInputRate.txt[] +include::../api/enums/VkVertexInputRate.txt[] -- ** ename:VK_VERTEX_INPUT_RATE_VERTEX indicates that vertex attribute addressing is a function of the vertex index. @@ -315,7 +315,7 @@ sname:VkVertexInputAttributeDescription structure. The sname:VkVertexInputAttributeDescription structure is defined as: -include::../structs/VkVertexInputAttributeDescription.txt[] +include::../api/structs/VkVertexInputAttributeDescription.txt[] * pname:location is the shader binding location number for this attribute. @@ -332,7 +332,7 @@ include::../validity/structs/VkVertexInputAttributeDescription.txt[] To bind vertex buffers to a command buffer for use in subsequent draw commands, call: -include::../protos/vkCmdBindVertexBuffers.txt[] +include::../api/protos/vkCmdBindVertexBuffers.txt[] * pname:commandBuffer is the command buffer into which the command is recorded. diff --git a/doc/specs/vulkan/chapters/initialization.txt b/doc/specs/vulkan/chapters/initialization.txt index 186e4870..84a5e72c 100644 --- a/doc/specs/vulkan/chapters/initialization.txt +++ b/doc/specs/vulkan/chapters/initialization.txt @@ -16,7 +16,7 @@ Vulkan commands are not necessarily exposed statically on a platform. Function pointers for all Vulkan commands can: be obtained with the command: -include::../protos/vkGetInstanceProcAddr.txt[] +include::../api/protos/vkGetInstanceProcAddr.txt[] * pname:instance is the instance that the function pointer will be compatible with. @@ -85,7 +85,7 @@ pointers for any commands that use a device or device-child object as their dispatchable object. Such function pointers can: be obtained with the command: -include::../protos/vkGetDeviceProcAddr.txt[] +include::../api/protos/vkGetDeviceProcAddr.txt[] * pname:device is the logical device that provides the function pointer. * pname:pName is the name of any Vulkan command whose first parameter @@ -111,7 +111,7 @@ The function pointer type returned from the flink:vkGetInstanceProcAddr and flink:vkGetDeviceProcAddr is a dummy type not corresponding to any actual Vulkan function: -include::../funcpointers/PFN_vkVoidFunction.txt[] +include::../api/funcpointers/PFN_vkVoidFunction.txt[] // refEnd PFN_vkVoidFunction vkGetDeviceProcAddr vkGetInstanceProcAddr @@ -128,7 +128,7 @@ information about itself to the implementation. Instances are represented by sname:VkInstance handles: -include::../handles/VkInstance.txt[] +include::../api/handles/VkInstance.txt[] // refEnd VkInstance @@ -136,7 +136,7 @@ include::../handles/VkInstance.txt[] To create an instance object, call: -include::../protos/vkCreateInstance.txt[] +include::../api/protos/vkCreateInstance.txt[] * pname:pCreateInfo points to an instance of slink:VkInstanceCreateInfo controlling creation of the instance. @@ -159,7 +159,7 @@ include::../validity/protos/vkCreateInstance.txt[] The sname:VkInstanceCreateInfo structure is defined as: -include::../structs/VkInstanceCreateInfo.txt[] +include::../api/structs/VkInstanceCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -188,7 +188,7 @@ to an instance of sname:VkApplicationInfo. The sname:VkApplicationInfo structure is defined as: -include::../structs/VkApplicationInfo.txt[] +include::../api/structs/VkApplicationInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -218,7 +218,7 @@ include::../validity/structs/VkApplicationInfo.txt[] To destroy an instance, call: -include::../protos/vkDestroyInstance.txt[] +include::../api/protos/vkDestroyInstance.txt[] * pname:instance is the handle of the instance to destroy. * pname:pAllocator controls host memory allocation as described in the diff --git a/doc/specs/vulkan/chapters/memory.txt b/doc/specs/vulkan/chapters/memory.txt index 26643e63..bc34e021 100644 --- a/doc/specs/vulkan/chapters/memory.txt +++ b/doc/specs/vulkan/chapters/memory.txt @@ -29,7 +29,7 @@ allocations), or for memory allocation logging. Allocators are provided by the application as a pointer to a sname:VkAllocationCallbacks structure: -include::../structs/VkAllocationCallbacks.txt[] +include::../api/structs/VkAllocationCallbacks.txt[] * pname:pUserData is a value to be interpreted by the implementation of the callbacks. When any of the callbacks in sname:VkAllocationCallbacks @@ -58,10 +58,10 @@ include::../validity/structs/VkAllocationCallbacks.txt[] The type of pname:pfnAllocation is: -include::../funcpointers/PFN_vkAllocationFunction.txt[] +include::../api/funcpointers/PFN_vkAllocationFunction.txt[] * pname:pUserData is the value specified for - slink:VkAllocationCallbacks.pUserData in the allocator specified by the + slink:VkAllocationCallbacks::pname:pUserData in the allocator specified by the application. * pname:size is the size in bytes of the requested allocation. * pname:alignment is the requested alignment of the allocation in bytes @@ -109,10 +109,10 @@ allocation. The type of pname:pfnReallocation is: -include::../funcpointers/PFN_vkReallocationFunction.txt[] +include::../api/funcpointers/PFN_vkReallocationFunction.txt[] * pname:pUserData is the value specified for - slink:VkAllocationCallbacks.pUserData in the allocator specified by the + slink:VkAllocationCallbacks::pname:pUserData in the allocator specified by the application. * pname:pOriginal must: be either `NULL` or a pointer previously returned by pname:pfnReallocation or pname:pfnAllocation of the same allocator. @@ -155,10 +155,10 @@ rules for return values as tname:PFN_vkAllocationFunction>>. The type of pname:pfnFree is: -include::../funcpointers/PFN_vkFreeFunction.txt[] +include::../api/funcpointers/PFN_vkFreeFunction.txt[] * pname:pUserData is the value specified for - slink:VkAllocationCallbacks.pUserData in the allocator specified by the + slink:VkAllocationCallbacks::pname:pUserData in the allocator specified by the application. * pname:pMemory is the allocation to be freed. @@ -173,10 +173,10 @@ this memory. The type of pname:pfnInternalAllocation is: -include::../funcpointers/PFN_vkInternalAllocationNotification.txt[] +include::../api/funcpointers/PFN_vkInternalAllocationNotification.txt[] * pname:pUserData is the value specified for - slink:VkAllocationCallbacks.pUserData in the allocator specified by the + slink:VkAllocationCallbacks::pname:pUserData in the allocator specified by the application. * pname:size is the requested size of an allocation. * pname:allocationType is the requested type of an allocation. @@ -192,10 +192,10 @@ This is a purely informational callback. The type of pname:pfnInternalFree is: -include::../funcpointers/PFN_vkInternalFreeNotification.txt[] +include::../api/funcpointers/PFN_vkInternalFreeNotification.txt[] * pname:pUserData is the value specified for - slink:VkAllocationCallbacks.pUserData in the allocator specified by the + slink:VkAllocationCallbacks::pname:pUserData in the allocator specified by the application. * pname:size is the requested size of an allocation. * pname:allocationType is the requested type of an allocation. @@ -214,7 +214,7 @@ parameter passed to callbacks defined in slink:VkAllocationCallbacks. Possible values for this parameter are defined by elink:VkSystemAllocationScope: -include::../enums/VkSystemAllocationScope.txt[] +include::../api/enums/VkSystemAllocationScope.txt[] * ename:VK_SYSTEM_ALLOCATION_SCOPE_COMMAND - The allocation is scoped to the duration of the Vulkan command. @@ -282,7 +282,7 @@ memory allocations and frees. The pname:allocationType parameter to the pname:pfnInternalAllocation and pname:pfnInternalFree functions may: be one of the following values: -include::../enums/VkInternalAllocationType.txt[] +include::../api/enums/VkInternalAllocationType.txt[] * ename:VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE - The allocation is intended for execution by the host. @@ -396,7 +396,7 @@ types available. To query memory properties, call: -include::../protos/vkGetPhysicalDeviceMemoryProperties.txt[] +include::../api/protos/vkGetPhysicalDeviceMemoryProperties.txt[] * pname:physicalDevice is the handle to the device to query. * pname:pMemoryProperties points to an instance of @@ -409,7 +409,7 @@ include::../validity/protos/vkGetPhysicalDeviceMemoryProperties.txt[] The sname:VkPhysicalDeviceMemoryProperties structure is defined as: -include::../structs/VkPhysicalDeviceMemoryProperties.txt[] +include::../api/structs/VkPhysicalDeviceMemoryProperties.txt[] * pname:memoryTypeCount is the number of valid elements in the pname:pMemoryRanges array. @@ -524,7 +524,7 @@ include::../validity/structs/VkPhysicalDeviceMemoryProperties.txt[] The sname:VkMemoryHeap structure is defined as: -include::../structs/VkMemoryHeap.txt[] +include::../api/structs/VkMemoryHeap.txt[] * pname:size is the total memory size in bytes in the heap. * pname:flags is a bitmask of attribute flags for the heap. The bits @@ -532,7 +532,7 @@ include::../structs/VkMemoryHeap.txt[] + -- // refBegin VkMemoryHeapFlagBits - Bitmask specifying attribute flags for a heap -include::../enums/VkMemoryHeapFlagBits.txt[] +include::../api/enums/VkMemoryHeapFlagBits.txt[] -- ** if pname:flags contains ename:VK_MEMORY_HEAP_DEVICE_LOCAL_BIT, it means the heap corresponds to device local memory. Device local memory may: @@ -545,7 +545,7 @@ include::../validity/structs/VkMemoryHeap.txt[] The sname:VkMemoryType structure is defined as: -include::../structs/VkMemoryType.txt[] +include::../api/structs/VkMemoryType.txt[] * pname:heapIndex describes which memory heap this memory type corresponds to, and must: be less than pname:memoryHeapCount from the @@ -555,7 +555,7 @@ include::../structs/VkMemoryType.txt[] + -- // refBegin VkMemoryPropertyFlagBits - Bitmask specifying properties for a memory type -include::../enums/VkMemoryPropertyFlagBits.txt[] +include::../api/enums/VkMemoryPropertyFlagBits.txt[] -- ** if pname:propertyFlags has the ename:VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT bit set, memory allocated @@ -595,7 +595,7 @@ are represented in the API by a sname:VkDeviceMemory handle. Memory objects are represented by sname:VkDeviceMemory handles: -include::../handles/VkDeviceMemory.txt[] +include::../api/handles/VkDeviceMemory.txt[] // refEnd VkDeviceMemory @@ -603,7 +603,7 @@ include::../handles/VkDeviceMemory.txt[] To allocate memory objects, call: -include::../protos/vkAllocateMemory.txt[] +include::../api/protos/vkAllocateMemory.txt[] * pname:device is the logical device that owns the memory. * pname:pAllocateInfo is a pointer to an instance of the @@ -648,7 +648,7 @@ include::../validity/protos/vkAllocateMemory.txt[] The sname:VkMemoryAllocateInfo structure is defined as: -include::../structs/VkMemoryAllocateInfo.txt[] +include::../api/structs/VkMemoryAllocateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -663,7 +663,7 @@ include::../validity/structs/VkMemoryAllocateInfo.txt[] To free a memory object, call: -include::../protos/vkFreeMemory.txt[] +include::../api/protos/vkFreeMemory.txt[] * pname:device is the logical device that owns the memory. * pname:memory is the sname:VkDeviceMemory object to be freed. @@ -705,7 +705,7 @@ objects must: be mappable in order to be successfully mapped on the host. To retrieve a host virtual address pointer to a region of a mappable memory object, call: -include::../protos/vkMapMemory.txt[] +include::../api/protos/vkMapMemory.txt[] * pname:device is the logical device that owns the memory. * pname:memory is the sname:VkDeviceMemory object to be mapped. @@ -771,7 +771,7 @@ unnecessary and may: have performance cost. To flush ranges of non-coherent memory from the host caches, call: -include::../protos/vkFlushMappedMemoryRanges.txt[] +include::../api/protos/vkFlushMappedMemoryRanges.txt[] * pname:device is the logical device that owns the memory ranges. * pname:memoryRangeCount is the length of the pname:pMemoryRanges array. @@ -790,7 +790,7 @@ include::../validity/protos/vkFlushMappedMemoryRanges.txt[] To invalidate ranges of non-coherent memory from the host caches, call: -include::../protos/vkInvalidateMappedMemoryRanges.txt[] +include::../api/protos/vkInvalidateMappedMemoryRanges.txt[] * pname:device is the logical device that owns the memory ranges. * pname:memoryRangeCount is the length of the pname:pMemoryRanges array. @@ -811,7 +811,7 @@ include::../validity/protos/vkInvalidateMappedMemoryRanges.txt[] The sname:VkMappedMemoryRange structure is defined as: -include::../structs/VkMappedMemoryRange.txt[] +include::../api/structs/VkMappedMemoryRange.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -856,7 +856,7 @@ subsequent host reads, a pipeline barrier is required: to To unmap a memory object once host access to it is no longer needed by the application, call: -include::../protos/vkUnmapMemory.txt[] +include::../api/protos/vkUnmapMemory.txt[] * pname:device is the logical device that owns the memory. * pname:memory is the memory object to be unmapped. @@ -891,7 +891,7 @@ implementations to never allocate memory for such attachments. To determine the amount of lazily-allocated memory that is currently committed for a memory object, call: -include::../protos/vkGetDeviceMemoryCommitment.txt[] +include::../api/protos/vkGetDeviceMemoryCommitment.txt[] * pname:device is the logical device that owns the memory. * pname:memory is the memory object being queried. diff --git a/doc/specs/vulkan/chapters/pipelines.txt b/doc/specs/vulkan/chapters/pipelines.txt index ed06ef2d..5057741f 100644 --- a/doc/specs/vulkan/chapters/pipelines.txt +++ b/doc/specs/vulkan/chapters/pipelines.txt @@ -80,7 +80,7 @@ dynamic by the pipeline state object will lead to undefined results. Compute and graphics pipelines are each represented by sname:VkPipeline handles: -include::../handles/VkPipeline.txt[] +include::../api/handles/VkPipeline.txt[] // refEnd VkPipeline @@ -101,7 +101,7 @@ contained within the sname:VkComputePipelineCreateInfo structure. To create compute pipelines, call: -include::../protos/vkCreateComputePipelines.txt[] +include::../api/protos/vkCreateComputePipelines.txt[] * pname:device is the logical device that creates the compute pipelines. * pname:pipelineCache is either dlink:VK_NULL_HANDLE, indicating that @@ -135,7 +135,7 @@ include::../validity/protos/vkCreateComputePipelines.txt[] The sname:VkComputePipelineCreateInfo structure is defined as: -include::../structs/VkComputePipelineCreateInfo.txt[] +include::../api/structs/VkComputePipelineCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -162,7 +162,7 @@ include::../validity/structs/VkComputePipelineCreateInfo.txt[] The sname:VkPipelineShaderStageCreateInfo structure is defined as: -include::../structs/VkPipelineShaderStageCreateInfo.txt[] +include::../api/structs/VkPipelineShaderStageCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -172,7 +172,7 @@ include::../structs/VkPipelineShaderStageCreateInfo.txt[] + -- // refBegin VkShaderStageFlagBits - Bitmask specifying a pipeline stage -include::../enums/VkShaderStageFlagBits.txt[] +include::../api/enums/VkShaderStageFlagBits.txt[] -- * pname:module is a sname:VkShaderModule object that contains the shader for this stage. @@ -195,7 +195,7 @@ fixed-function pipeline stages, and a pipeline layout. To create graphics pipelines, call: -include::../protos/vkCreateGraphicsPipelines.txt[] +include::../api/protos/vkCreateGraphicsPipelines.txt[] * pname:device is the logical device that creates the graphics pipelines. * pname:pipelineCache is either dlink:VK_NULL_HANDLE, indicating that @@ -222,7 +222,7 @@ include::../validity/protos/vkCreateGraphicsPipelines.txt[] The sname:VkGraphicsPipelineCreateInfo structure is defined as: -include::../structs/VkGraphicsPipelineCreateInfo.txt[] +include::../api/structs/VkGraphicsPipelineCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -286,7 +286,7 @@ structures, which were previously described in Bits which can: be set in pname:flags are: // refBegin VkPipelineCreateFlagBits - Bitmask controlling how a pipeline is generated -include::../enums/VkPipelineCreateFlagBits.txt[] +include::../api/enums/VkPipelineCreateFlagBits.txt[] * ename:VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT specifies that the created pipeline will not be optimized. Using this flag may: reduce @@ -312,7 +312,7 @@ include::../validity/structs/VkGraphicsPipelineCreateInfo.txt[] The sname:VkPipelineDynamicStateCreateInfo structure is defined as: -include::../structs/VkPipelineDynamicStateCreateInfo.txt[] +include::../api/structs/VkPipelineDynamicStateCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -331,7 +331,7 @@ The source of difference pieces of dynamic state is determined by the slink:VkPipelineDynamicStateCreateInfo::pname:pDynamicStates property of the currently active pipeline, which takes the following values: -include::../enums/VkDynamicState.txt[] +include::../api/enums/VkDynamicState.txt[] * ename:VK_DYNAMIC_STATE_VIEWPORT indicates that the pname:pViewports state in sname:VkPipelineViewportStateCreateInfo will be ignored and @@ -465,7 +465,7 @@ Tessellation Control and Tessellation Evaluation shaders. To destroy a graphics or compute pipeline, call: -include::../protos/vkDestroyPipeline.txt[] +include::../api/protos/vkDestroyPipeline.txt[] * pname:device is the logical device that destroys the pipeline. * pname:pipeline is the handle of the pipeline to destroy. @@ -538,7 +538,7 @@ retrieved from a pipeline cache object. Pipeline cache objects are represented by sname:VkPipelineCache handles: -include::../handles/VkPipelineCache.txt[] +include::../api/handles/VkPipelineCache.txt[] // refEnd VkPipelineCache @@ -546,7 +546,7 @@ include::../handles/VkPipelineCache.txt[] To create pipeline cache objects, call: -include::../protos/vkCreatePipelineCache.txt[] +include::../api/protos/vkCreatePipelineCache.txt[] * pname:device is the logical device that creates the pipeline cache object. @@ -591,7 +591,7 @@ include::../validity/protos/vkCreatePipelineCache.txt[] The sname:VkPipelineCacheCreateInfo structure is defined as: -include::../structs/VkPipelineCacheCreateInfo.txt[] +include::../api/structs/VkPipelineCacheCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -610,7 +610,7 @@ include::../validity/structs/VkPipelineCacheCreateInfo.txt[] Pipeline cache objects can: be merged using the command: -include::../protos/vkMergePipelineCaches.txt[] +include::../api/protos/vkMergePipelineCaches.txt[] * pname:device is the logical device that owns the pipeline cache objects. * pname:dstCache is the handle of the pipeline cache to merge results @@ -634,7 +634,7 @@ include::../validity/protos/vkMergePipelineCaches.txt[] Data can: be retrieved from a pipeline cache object using the command: -include::../protos/vkGetPipelineCacheData.txt[] +include::../api/protos/vkGetPipelineCacheData.txt[] * pname:device is the logical device that owns the pipeline cache. * pname:pipelineCache is the pipeline cache to retrieve data from. @@ -698,7 +698,7 @@ The next four bytes encode the pipeline cache version. This field is interpreted as a elink:VkPipelineCacheHeaderVersion value, and must: have one of the following values: -include::../enums/VkPipelineCacheHeaderVersion.txt[] +include::../api/enums/VkPipelineCacheHeaderVersion.txt[] A consumer of the pipeline cache should use the cache version to interpret the remainder of the cache header. @@ -715,7 +715,7 @@ include::../validity/protos/vkGetPipelineCacheData.txt[] To destroy a pipeline cache, call: -include::../protos/vkDestroyPipelineCache.txt[] +include::../api/protos/vkDestroyPipelineCache.txt[] * pname:device is the logical device that destroys the pipeline cache object. @@ -751,7 +751,7 @@ sname:VkSpecializationInfo structure. The sname:VkSpecializationInfo structure is defined as: -include::../structs/VkSpecializationInfo.txt[] +include::../api/structs/VkSpecializationInfo.txt[] * pname:mapEntryCount is the number of entries in the pname:pMapEntries array. @@ -770,7 +770,7 @@ include::../validity/structs/VkSpecializationInfo.txt[] The sname:VkSpecializationMapEntry structure is defined as: -include::../structs/VkSpecializationMapEntry.txt[] +include::../api/structs/VkSpecializationMapEntry.txt[] * pname:constantID is the ID of the specialization constant in SPIR-V. * pname:offset is the byte offset of the specialization constant value within the @@ -913,7 +913,7 @@ default values encoded within the OpSpecConstant declarations. Once a pipeline has been created, it can: be bound to the command buffer using the command: -include::../protos/vkCmdBindPipeline.txt[] +include::../api/protos/vkCmdBindPipeline.txt[] * pname:commandBuffer is the command buffer that the pipeline will be bound to. @@ -922,7 +922,7 @@ include::../protos/vkCmdBindPipeline.txt[] + -- // refBegin VkPipelineBindPoint - specify the bind point of a pipeline object to a command buffer -include::../enums/VkPipelineBindPoint.txt[] +include::../api/enums/VkPipelineBindPoint.txt[] -- + specifying whether pname:pipeline will be bound as a compute diff --git a/doc/specs/vulkan/chapters/primsrast.txt b/doc/specs/vulkan/chapters/primsrast.txt index f5cf99ee..06a9be16 100644 --- a/doc/specs/vulkan/chapters/primsrast.txt +++ b/doc/specs/vulkan/chapters/primsrast.txt @@ -38,7 +38,7 @@ sname:VkPipelineMultisampleStateCreateInfo. The sname:VkPipelineRasterizationStateCreateInfo structure is defined as: -include::../structs/VkPipelineRasterizationStateCreateInfo.txt[] +include::../api/structs/VkPipelineRasterizationStateCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -69,7 +69,7 @@ include::../validity/structs/VkPipelineRasterizationStateCreateInfo.txt[] The sname:VkPipelineMultisampleStateCreateInfo structure is defined as: -include::../structs/VkPipelineMultisampleStateCreateInfo.txt[] +include::../api/structs/VkPipelineMultisampleStateCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -323,7 +323,7 @@ pipeline if the pipeline was not created with ename:VK_DYNAMIC_STATE_LINE_WIDTH enabled. Otherwise, the line width is set by calling fname:vkCmdSetLineWidth: -include::../protos/vkCmdSetLineWidth.txt[] +include::../api/protos/vkCmdSetLineWidth.txt[] * pname:commandBuffer is the command buffer into which the command will be recorded. @@ -482,7 +482,7 @@ is determined by the slink:VkPipelineRasterizationStateCreateInfo::pname:frontFace property of the currently active pipeline, which takes the following values: -include::../enums/VkFrontFace.txt[] +include::../api/enums/VkFrontFace.txt[] If pname:frontFace is set to ename:VK_FRONT_FACE_COUNTER_CLOCKWISE, a triangle with positive area is considered front-facing. If it is set to @@ -499,7 +499,7 @@ to the setting of the slink:VkPipelineRasterizationStateCreateInfo::pname:cullMode property of the currently active pipeline, which takes the following values: -include::../enums/VkCullModeFlagBits.txt[] +include::../api/enums/VkCullModeFlagBits.txt[] If the pname:cullMode is set to ename:VK_CULL_MODE_NONE no triangles are discarded, if it is set to ename:VK_CULL_MODE_FRONT_BIT front-facing @@ -640,7 +640,7 @@ The method of rasterization for polygons is determined by the slink:VkPipelineRasterizationStateCreateInfo::pname:polygonMode property of the currently active pipeline, which takes the following values: -include::../enums/VkPolygonMode.txt[] +include::../api/enums/VkPolygonMode.txt[] The pname:polygonMode selects which method of rasterization is used for polygons. If pname:polygonMode is ename:VK_POLYGON_MODE_POINT, then the @@ -670,7 +670,7 @@ slink:VkPipelineRasterizationStateCreateInfo, or by the corresponding parameters to the fname:vkCmdSetDepthBias command if depth bias state is dynamic. -include::../protos/vkCmdSetDepthBias.txt[] +include::../api/protos/vkCmdSetDepthBias.txt[] * pname:commandBuffer is the command buffer into which the command will be recorded. diff --git a/doc/specs/vulkan/chapters/queries.txt b/doc/specs/vulkan/chapters/queries.txt index 84f0aa81..4ec45830 100644 --- a/doc/specs/vulkan/chapters/queries.txt +++ b/doc/specs/vulkan/chapters/queries.txt @@ -26,7 +26,7 @@ collection of a specific number of queries of a particular type. Query pools are represented by sname:VkQueryPool handles: -include::../handles/VkQueryPool.txt[] +include::../api/handles/VkQueryPool.txt[] // refEnd VkQueryPool @@ -34,7 +34,7 @@ include::../handles/VkQueryPool.txt[] To create a query pool, call: -include::../protos/vkCreateQueryPool.txt[] +include::../api/protos/vkCreateQueryPool.txt[] * pname:device is the logical device that creates the query pool. * pname:pCreateInfo is a pointer to an instance of the @@ -51,7 +51,7 @@ include::../validity/protos/vkCreateQueryPool.txt[] The sname:VkQueryPoolCreateInfo structure is defined as: -include::../structs/VkQueryPoolCreateInfo.txt[] +include::../api/structs/VkQueryPoolCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -61,7 +61,7 @@ include::../structs/VkQueryPoolCreateInfo.txt[] + -- // refBegin VkQueryType - specify the type of queries managed by a query pool -include::../enums/VkQueryType.txt[] +include::../api/enums/VkQueryType.txt[] -- * pname:queryCount is the number of queries managed by the pool. * pname:pipelineStatistics is a bitmask indicating which counters will @@ -75,7 +75,7 @@ include::../validity/structs/VkQueryPoolCreateInfo.txt[] To destroy a query pool, call: -include::../protos/vkDestroyQueryPool.txt[] +include::../api/protos/vkDestroyQueryPool.txt[] * pname:device is the logical device that destroys the query pool. * pname:queryPool is the query pool to destroy. @@ -126,7 +126,7 @@ query that has not been reset will result in undefined behavior. To reset a range of queries in a query pool, call: -include::../protos/vkCmdResetQueryPool.txt[] +include::../api/protos/vkCmdResetQueryPool.txt[] * pname:commandBuffer is the command buffer into which this command will be recorded. @@ -165,7 +165,7 @@ instance, or must: both begin and end outside of a render pass instance To begin a query, call: -include::../protos/vkCmdBeginQuery.txt[] +include::../api/protos/vkCmdBeginQuery.txt[] * pname:commandBuffer is the command buffer into which this command will be recorded. @@ -177,7 +177,7 @@ include::../protos/vkCmdBeginQuery.txt[] that can: be performed. Bits which can: be set include: + // refBegin VkQueryControlFlagBits - Bitmask specifying constraints on a query -include::../enums/VkQueryControlFlagBits.txt[] +include::../api/enums/VkQueryControlFlagBits.txt[] If the pname:queryType of the pool is ename:VK_QUERY_TYPE_OCCLUSION and pname:flags contains ename:VK_QUERY_CONTROL_PRECISE_BIT, an implementation @@ -197,7 +197,7 @@ include::../validity/protos/vkCmdBeginQuery.txt[] To end a query after the set of desired draw or dispatch commands is executed, call: -include::../protos/vkCmdEndQuery.txt[] +include::../api/protos/vkCmdEndQuery.txt[] * pname:commandBuffer is the command buffer into which this command will be recorded. @@ -247,7 +247,7 @@ sname:VkBuffer. In either case, the layout in memory is defined as follows: To retrieve status and results for a set of queries, call: -include::../protos/vkGetQueryPoolResults.txt[] +include::../api/protos/vkGetQueryPoolResults.txt[] * pname:device is the logical device that owns the query pool. * pname:queryPool is the query pool managing the queries containing the @@ -266,7 +266,7 @@ include::../protos/vkGetQueryPoolResults.txt[] + -- // refBegin VkQueryResultFlagBits - Bitmask specifying how and when query results are returned -include::../enums/VkQueryResultFlagBits.txt[] +include::../api/enums/VkQueryResultFlagBits.txt[] -- + ** ename:VK_QUERY_RESULT_64_BIT indicates the results will be written as an @@ -365,7 +365,7 @@ include::../validity/protos/vkGetQueryPoolResults.txt[] To copy query statuses and numerical results directly to buffer memory, call: -include::../protos/vkCmdCopyQueryPoolResults.txt[] +include::../api/protos/vkCmdCopyQueryPoolResults.txt[] * pname:commandBuffer is the command buffer into which this command will be recorded. @@ -514,7 +514,7 @@ buffers with sname:VkCommandBufferInheritanceInfo::pname:pipelineStatistics. Bits which can: be set in pname:pipelineStatistics include: -include::../enums/VkQueryPipelineStatisticFlagBits.txt[] +include::../api/enums/VkQueryPipelineStatisticFlagBits.txt[] These bits have the following meanings: @@ -642,7 +642,7 @@ fname:vkGetPhysicalDeviceProperties. To request a timestamp, call: -include::../protos/vkCmdWriteTimestamp.txt[] +include::../api/protos/vkCmdWriteTimestamp.txt[] * pname:commandBuffer is the command buffer into which the command will be recorded. diff --git a/doc/specs/vulkan/chapters/renderpass.txt b/doc/specs/vulkan/chapters/renderpass.txt index c471a86c..8564481b 100644 --- a/doc/specs/vulkan/chapters/renderpass.txt +++ b/doc/specs/vulkan/chapters/renderpass.txt @@ -13,7 +13,7 @@ in a command buffer is a _render pass instance_. Render passes are represented by sname:VkRenderPass handles: -include::../handles/VkRenderPass.txt[] +include::../api/handles/VkRenderPass.txt[] // refEnd VkRenderPass @@ -97,7 +97,7 @@ per-sample operations are performed in To create a render pass, call: -include::../protos/vkCreateRenderPass.txt[] +include::../api/protos/vkCreateRenderPass.txt[] * pname:device is the logical device that creates the render pass. * pname:pCreateInfo is a pointer to an instance of the @@ -114,7 +114,7 @@ include::../validity/protos/vkCreateRenderPass.txt[] The sname:VkRenderPassCreateInfo structure is defined as: -include::../structs/VkRenderPassCreateInfo.txt[] +include::../api/structs/VkRenderPassCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -143,7 +143,7 @@ include::../validity/structs/VkRenderPassCreateInfo.txt[] The sname:VkAttachmentDescription structure is defined as: -include::../structs/VkAttachmentDescription.txt[] +include::../api/structs/VkAttachmentDescription.txt[] * pname:format is a elink:VkFormat value specifying the format of the image that will be used for the attachment. @@ -155,7 +155,7 @@ include::../structs/VkAttachmentDescription.txt[] + -- // refBegin VkAttachmentLoadOp - specify how contents of an attachment are treated at the beginning of a subpass -include::../enums/VkAttachmentLoadOp.txt[] +include::../api/enums/VkAttachmentLoadOp.txt[] -- ** ename:VK_ATTACHMENT_LOAD_OP_LOAD means the contents within the render area will be preserved. @@ -171,7 +171,7 @@ include::../enums/VkAttachmentLoadOp.txt[] + -- // refBegin VkAttachmentStoreOp - specify how contents of an attachment are treated at the end of a subpass -include::../enums/VkAttachmentStoreOp.txt[] +include::../api/enums/VkAttachmentStoreOp.txt[] -- ** ename:VK_ATTACHMENT_STORE_OP_STORE means the contents within the render area are written to memory and will be available for reading after the @@ -201,7 +201,7 @@ include::../enums/VkAttachmentStoreOp.txt[] + -- // refBegin VkAttachmentDescriptionFlagBits - Bitmask specifying additional properties of an attachment -include::../enums/VkAttachmentDescriptionFlagBits.txt[] +include::../api/enums/VkAttachmentDescriptionFlagBits.txt[] -- If the attachment uses a color format, then pname:loadOp and pname:storeOp @@ -301,7 +301,7 @@ conditions cannot: be validated at render pass creation time. The sname:VkSubpassDescription structure is defined as: -include::../structs/VkSubpassDescription.txt[] +include::../api/structs/VkSubpassDescription.txt[] * pname:flags is reserved for future use. * pname:pipelineBindPoint is a elink:VkPipelineBindPoint value specifying @@ -311,7 +311,7 @@ include::../structs/VkSubpassDescription.txt[] * pname:pInputAttachments is an array of slink:VkAttachmentReference structures (defined below) that lists which of the render pass's attachments can: be read in the shader during the subpass, and what - layout the attachment images will be in during the subpass. Each element + layout each attachment will be in during the subpass. Each element of the array corresponds to an input attachment unit number in the shader, i.e. if the shader declares an input variable `layout(input_attachment_index=X, set=Y, binding=Z)` then it uses the @@ -322,12 +322,14 @@ include::../structs/VkSubpassDescription.txt[] * pname:pColorAttachments is an array of pname:colorAttachmentCount slink:VkAttachmentReference structures that lists which of the render pass's attachments will be used as color attachments in the subpass, and - what layout the attachment images will be in during the subpass. Each + what layout each attachment will be in during the subpass. Each element of the array corresponds to a fragment shader output location, i.e. if the shader declared an output variable `layout(location=X)` then it uses the attachment provided in pname:pColorAttachments[X]. - * pname:pResolveAttachments is `NULL` or a pointer to an array of - slink:VkAttachmentReference structures. If pname:pResolveAttachments is + * pname:pResolveAttachments is `NULL` or an array of pname:colorAttachmentCount + slink:VkAttachmentReference structures that lists which of the render pass's + attachments are resolved to at the end of the subpass, and what layout + each attachment will be in during the resolve. If pname:pResolveAttachments is not `NULL`, each of its elements corresponds to a color attachment (the element in pname:pColorAttachments at the same index). At the end of each subpass, the subpass's color attachments are resolved to @@ -369,7 +371,7 @@ include::../validity/structs/VkSubpassDescription.txt[] The sname:VkAttachmentReference structure is defined as: -include::../structs/VkAttachmentReference.txt[] +include::../api/structs/VkAttachmentReference.txt[] * pname:attachment is the index of the attachment of the render pass, and corresponds to the index of the corresponding element in the @@ -387,7 +389,7 @@ include::../validity/structs/VkAttachmentReference.txt[] The sname:VkSubpassDependency structure is defined as: -include::../structs/VkSubpassDependency.txt[] +include::../api/structs/VkSubpassDependency.txt[] * pname:srcSubpass and pname:dstSubpass are the subpass indices of the producer and consumer subpasses, respectively. pname:srcSubpass and @@ -406,7 +408,7 @@ include::../structs/VkSubpassDependency.txt[] + -- // refBegin VkDependencyFlagBits - Bitmask specifying dependencies between subpasses -include::../enums/VkDependencyFlagBits.txt[] +include::../api/enums/VkDependencyFlagBits.txt[] -- ** If pname:dependencyFlags contains ename:VK_DEPENDENCY_BY_REGION_BIT, then the dependency is by-region as defined in @@ -626,7 +628,7 @@ layout is read-only, this situation is not a feedback loop. To destroy a render pass, call: -include::../protos/vkDestroyRenderPass.txt[] +include::../api/protos/vkDestroyRenderPass.txt[] * pname:device is the logical device that destroys the render pass. * pname:renderPass is the handle of the render pass to destroy. @@ -676,7 +678,7 @@ collection of specific memory attachments that a render pass instance uses. Framebuffers are represented by sname:VkFramebuffer handles: -include::../handles/VkFramebuffer.txt[] +include::../api/handles/VkFramebuffer.txt[] // refEnd VkFramebuffer @@ -684,7 +686,7 @@ include::../handles/VkFramebuffer.txt[] To create a framebuffer, call: -include::../protos/vkCreateFramebuffer.txt[] +include::../api/protos/vkCreateFramebuffer.txt[] * pname:device is the logical device that creates the framebuffer. * pname:pCreateInfo points to a slink:VkFramebufferCreateInfo structure @@ -700,7 +702,7 @@ include::../validity/protos/vkCreateFramebuffer.txt[] The sname:VkFramebufferCreateInfo structure is defined as: -include::../structs/VkFramebufferCreateInfo.txt[] +include::../api/structs/VkFramebufferCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -746,7 +748,7 @@ include::../validity/structs/VkFramebufferCreateInfo.txt[] To destroy a framebuffer, call: -include::../protos/vkDestroyFramebuffer.txt[] +include::../api/protos/vkDestroyFramebuffer.txt[] * pname:device is the logical device that destroys the framebuffer. * pname:framebuffer is the handle of the framebuffer to destroy. @@ -768,7 +770,7 @@ instance. To begin a render pass instance, call: -include::../protos/vkCmdBeginRenderPass.txt[] +include::../api/protos/vkCmdBeginRenderPass.txt[] * pname:commandBuffer is the command buffer in which to record the command. @@ -780,7 +782,7 @@ include::../protos/vkCmdBeginRenderPass.txt[] + -- // refBegin VkSubpassContents - specify how commands in the first subpass of a render pass are provided -include::../enums/VkSubpassContents.txt[] +include::../api/enums/VkSubpassContents.txt[] -- + If pname:contents is ename:VK_SUBPASS_CONTENTS_INLINE, the contents of the @@ -800,7 +802,7 @@ include::../validity/protos/vkCmdBeginRenderPass.txt[] The sname:VkRenderPassBeginInfo structure is defined as: -include::../structs/VkRenderPassBeginInfo.txt[] +include::../api/structs/VkRenderPassBeginInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -812,7 +814,9 @@ include::../structs/VkRenderPassBeginInfo.txt[] * pname:clearValueCount is the number of elements in pname:pClearValues. * pname:pClearValues is an array of slink:VkClearValue structures that contains clear values for each attachment, if the attachment uses a - pname:loadOp value of ename:VK_ATTACHMENT_LOAD_OP_CLEAR. The array is + pname:loadOp value of ename:VK_ATTACHMENT_LOAD_OP_CLEAR or if the + attachment has a depth/stencil format and uses a pname:stencilLoadOp + value of ename:VK_ATTACHMENT_LOAD_OP_CLEAR. The array is indexed by attachment number. Only elements corresponding to cleared attachments are used. Other elements of pname:pClearValues are ignored. @@ -840,7 +844,7 @@ include::../validity/structs/VkRenderPassBeginInfo.txt[] To query the render area granularity, call: -include::../protos/vkGetRenderAreaGranularity.txt[] +include::../api/protos/vkGetRenderAreaGranularity.txt[] * pname:device is the logical device that owns the render pass. * pname:renderPass is a handle to a render pass. @@ -875,7 +879,7 @@ include::../validity/protos/vkGetRenderAreaGranularity.txt[] To transition to the next subpass in the render pass instance after recording the commands for a subpass, call: -include::../protos/vkCmdNextSubpass.txt[] +include::../api/protos/vkCmdNextSubpass.txt[] * pname:commandBuffer is the command buffer in which to record the command. @@ -909,7 +913,7 @@ include::../validity/protos/vkCmdNextSubpass.txt[] To record a command to end a render pass instance after recording the commands for the last subpass, call: -include::../protos/vkCmdEndRenderPass.txt[] +include::../api/protos/vkCmdEndRenderPass.txt[] * pname:commandBuffer is the command buffer in which to end the current render pass instance. diff --git a/doc/specs/vulkan/chapters/resources.txt b/doc/specs/vulkan/chapters/resources.txt index ae288f9d..d3710400 100644 --- a/doc/specs/vulkan/chapters/resources.txt +++ b/doc/specs/vulkan/chapters/resources.txt @@ -23,7 +23,7 @@ to certain commands. Buffers are represented by sname:VkBuffer handles: -include::../handles/VkBuffer.txt[] +include::../api/handles/VkBuffer.txt[] // refEnd VkBuffer @@ -31,7 +31,7 @@ include::../handles/VkBuffer.txt[] To create buffers, call: -include::../protos/vkCreateBuffer.txt[] +include::../api/protos/vkCreateBuffer.txt[] * pname:device is the logical device that creates the buffer object. * pname:pCreateInfo is a pointer to an instance of the @@ -48,7 +48,7 @@ include::../validity/protos/vkCreateBuffer.txt[] The sname:VkBufferCreateInfo structure is defined as: -include::../structs/VkBufferCreateInfo.txt[] +include::../api/structs/VkBufferCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -72,7 +72,7 @@ include::../structs/VkBufferCreateInfo.txt[] Bits which can: be set in pname:usage are: // refBegin VkBufferUsageFlagBits - Bitmask specifying allowed usage of a buffer -include::../enums/VkBufferUsageFlagBits.txt[] +include::../api/enums/VkBufferUsageFlagBits.txt[] * ename:VK_BUFFER_USAGE_TRANSFER_SRC_BIT indicates that the buffer can: be used as the source of a _transfer command_ (see the definition of @@ -114,7 +114,7 @@ of the bits must: be set in order to create a valid buffer. Bits which can: be set in pname:flags are: // refBegin VkBufferCreateFlagBits - Bitmask specifying additional parameters of a buffer -include::../enums/VkBufferCreateFlagBits.txt[] +include::../api/enums/VkBufferCreateFlagBits.txt[] These bits have the following meanings: @@ -140,7 +140,7 @@ include::../validity/structs/VkBufferCreateInfo.txt[] To destroy a buffer, call: -include::../protos/vkDestroyBuffer.txt[] +include::../api/protos/vkDestroyBuffer.txt[] * pname:device is the logical device that destroys the buffer. * pname:buffer is the buffer to destroy. @@ -166,7 +166,7 @@ one of the following usage flags: Buffer views are represented by sname:VkBufferView handles: -include::../handles/VkBufferView.txt[] +include::../api/handles/VkBufferView.txt[] // refEnd VkBufferView @@ -174,7 +174,7 @@ include::../handles/VkBufferView.txt[] To create a buffer view, call: -include::../protos/vkCreateBufferView.txt[] +include::../api/protos/vkCreateBufferView.txt[] * pname:device is the logical device that creates the buffer view. * pname:pCreateInfo is a pointer to an instance of the @@ -191,7 +191,7 @@ include::../validity/protos/vkCreateBufferView.txt[] The sname:VkBufferViewCreateInfo structure is defined as: -include::../structs/VkBufferViewCreateInfo.txt[] +include::../api/structs/VkBufferViewCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -214,7 +214,7 @@ include::../validity/structs/VkBufferViewCreateInfo.txt[] To destroy a buffer view, call: -include::../protos/vkDestroyBufferView.txt[] +include::../api/protos/vkDestroyBufferView.txt[] * pname:device is the logical device that destroys the buffer view. * pname:bufferView is the buffer view to destroy. @@ -236,7 +236,7 @@ them as parameters to certain commands. Images are represented by sname:VkImage handles: -include::../handles/VkImage.txt[] +include::../api/handles/VkImage.txt[] // refEnd VkImage @@ -244,7 +244,7 @@ include::../handles/VkImage.txt[] To create images, call: -include::../protos/vkCreateImage.txt[] +include::../api/protos/vkCreateImage.txt[] * pname:device is the logical device that creates the image. * pname:pCreateInfo is a pointer to an instance of the @@ -261,7 +261,7 @@ include::../validity/protos/vkCreateImage.txt[] The sname:VkImageCreateInfo structure is defined as: -include::../structs/VkImageCreateInfo.txt[] +include::../api/structs/VkImageCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -332,7 +332,7 @@ include::../validity/structs/VkImageCreateInfo.txt[] The intended usage of an image is specified by the bitmask slink:VkImageCreateInfo::pname:usage. Bits which can: be set include: -include::../enums/VkImageUsageFlagBits.txt[] +include::../api/enums/VkImageUsageFlagBits.txt[] These bits have the following meanings: @@ -376,7 +376,7 @@ These bits have the following meanings: Additional parameters of an image are specified by slink:VkImageCreateInfo::pname:flags. Bits which can: be set include: -include::../enums/VkImageCreateFlagBits.txt[] +include::../api/enums/VkImageCreateFlagBits.txt[] These bits have the following meanings: @@ -414,7 +414,7 @@ more details. The basic dimensionality of an image is specified by slink:VkImageCreateInfo::pname:imageType, which must: be one of the values -include::../enums/VkImageType.txt[] +include::../api/enums/VkImageType.txt[] These values specify one-, two-, or three-dimensional images, respectively. @@ -425,7 +425,7 @@ These values specify one-, two-, or three-dimensional images, respectively. The tiling arrangement of data elements in an image is specified by slink:VkImageCreateInfo::pname:tiling, which must: be one of the values -include::../enums/VkImageTiling.txt[] +include::../api/enums/VkImageTiling.txt[] ename:VK_IMAGE_TILING_OPTIMAL specifies optimal tiling (texels are laid out in an implementation-dependent arrangement, for more optimal memory access), @@ -439,7 +439,7 @@ out in memory in row-major order, possibly with some padding on each row). To query the host access layout of an image subresource, for an image created with linear tiling, call: -include::../protos/vkGetImageSubresourceLayout.txt[] +include::../api/protos/vkGetImageSubresourceLayout.txt[] * pname:device is the logical device that owns the image. * pname:image is the image whose layout is being queried. @@ -457,7 +457,7 @@ include::../validity/protos/vkGetImageSubresourceLayout.txt[] The sname:VkImageSubresource structure is defined as: -include::../structs/VkImageSubresource.txt[] +include::../api/structs/VkImageSubresource.txt[] * pname:aspectMask is a elink:VkImageAspectFlags selecting the image _aspect_. @@ -471,7 +471,7 @@ include::../validity/structs/VkImageSubresource.txt[] Information about the layout of the image subresource is returned in a sname:VkSubresourceLayout structure: -include::../structs/VkSubresourceLayout.txt[] +include::../api/structs/VkSubresourceLayout.txt[] * pname:offset is the byte offset from the start of the image where the image subresource begins. @@ -532,7 +532,7 @@ include::../validity/structs/VkSubresourceLayout.txt[] To destroy an image, call: -include::../protos/vkDestroyImage.txt[] +include::../api/protos/vkDestroyImage.txt[] * pname:device is the logical device that destroys the image. * pname:image is the image to destroy. @@ -601,16 +601,18 @@ layouts. The set of image layouts consists of: -include::../enums/VkImageLayout.txt[] +include::../api/enums/VkImageLayout.txt[] The type(s) of device access supported by each layout are: * ename:VK_IMAGE_LAYOUT_UNDEFINED: Supports no device access. This layout - must: only be used as an pname:initialLayout or as the pname:oldLayout + must: only be used as the pname:initialLayout member of + sname:VkImageCreateInfo or sname:VkAttachmentDescription, or as the pname:oldLayout in an image transition. When transitioning out of this layout, the contents of the memory are not guaranteed to be preserved. * ename:VK_IMAGE_LAYOUT_PREINITIALIZED: Supports no device access. This - layout must: only be used as an pname:initialLayout or as the + layout must: only be used as the pname:initialLayout member of + sname:VkImageCreateInfo or sname:VkAttachmentDescription, or as the pname:oldLayout in an image transition. When transitioning out of this layout, the contents of the memory are preserved. This layout is intended to be used as the initial layout for an image whose @@ -687,7 +689,7 @@ represent a valid subset of image subresources. Image views are represented by sname:VkImageView handles: -include::../handles/VkImageView.txt[] +include::../api/handles/VkImageView.txt[] // refEnd VkImageView @@ -695,7 +697,7 @@ include::../handles/VkImageView.txt[] The types of image views that can: be created are: -include::../enums/VkImageViewType.txt[] +include::../api/enums/VkImageViewType.txt[] The exact image view type is partially implicit, based on the image's type and sample count, as well as the view creation parameters as described in @@ -709,7 +711,7 @@ image view type. To create an image view, call: -include::../protos/vkCreateImageView.txt[] +include::../api/protos/vkCreateImageView.txt[] * pname:device is the logical device that creates the image view. * pname:pCreateInfo is a pointer to an instance of the @@ -729,7 +731,7 @@ include::../validity/protos/vkCreateImageView.txt[] The sname:VkImageViewCreateInfo structure is defined as: -include::../structs/VkImageViewCreateInfo.txt[] +include::../api/structs/VkImageViewCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -857,7 +859,7 @@ include::../validity/structs/VkImageViewCreateInfo.txt[] The sname:VkImageSubresourceRange structure is defined as: -include::../structs/VkImageSubresourceRange.txt[] +include::../api/structs/VkImageSubresourceRange.txt[] * pname:aspectMask is a bitmask indicating which aspect(s) of the image are included in the view. See elink:VkImageAspectFlagBits. @@ -889,7 +891,7 @@ pname:aspectMask is a bitmask indicating the format being used. Bits which may: be set include: // refBegin VkImageAspectFlagBits - Bitmask specifying which aspects of an image are included in a view -include::../enums/VkImageAspectFlagBits.txt[] +include::../api/enums/VkImageAspectFlagBits.txt[] The mask must: be only ename:VK_IMAGE_ASPECT_COLOR_BIT, ename:VK_IMAGE_ASPECT_DEPTH_BIT or ename:VK_IMAGE_ASPECT_STENCIL_BIT if @@ -921,7 +923,7 @@ include::../validity/structs/VkImageSubresourceRange.txt[] The sname:VkComponentMapping structure is defined as: -include::../structs/VkComponentMapping.txt[] +include::../api/structs/VkComponentMapping.txt[] * pname:r determines the component value placed in the R component of the output vector. @@ -935,7 +937,7 @@ include::../structs/VkComponentMapping.txt[] Each of pname:r, pname:g, pname:b, and pname:a is one of the values: // refBegin VkComponentSwizzle - specify how a component is swizzled -include::../enums/VkComponentSwizzle.txt[] +include::../api/enums/VkComponentSwizzle.txt[] * ename:VK_COMPONENT_SWIZZLE_IDENTITY: the component is set to the identity swizzle. @@ -974,7 +976,7 @@ include::../validity/structs/VkComponentMapping.txt[] To destroy an image view, call: -include::../protos/vkDestroyImageView.txt[] +include::../api/protos/vkDestroyImageView.txt[] * pname:device is the logical device that destroys the image view. * pname:imageView is the image view to destroy. @@ -1012,7 +1014,7 @@ resource. To determine the memory requirements for a buffer resource, call: -include::../protos/vkGetBufferMemoryRequirements.txt[] +include::../api/protos/vkGetBufferMemoryRequirements.txt[] * pname:device is the logical device that owns the buffer. * pname:buffer is the buffer to query. @@ -1026,7 +1028,7 @@ include::../validity/protos/vkGetBufferMemoryRequirements.txt[] To determine the memory requirements for an image resource, call: -include::../protos/vkGetImageMemoryRequirements.txt[] +include::../api/protos/vkGetImageMemoryRequirements.txt[] * pname:device is the logical device that owns the image. * pname:image is the image to query. @@ -1040,7 +1042,7 @@ include::../validity/protos/vkGetImageMemoryRequirements.txt[] The sname:VkMemoryRequirements structure is defined as: -include::../structs/VkMemoryRequirements.txt[] +include::../api/structs/VkMemoryRequirements.txt[] * pname:size is the size, in bytes, of the memory allocation required: for the resource. @@ -1115,7 +1117,7 @@ disallowed for buffers in all cases. To attach memory to a buffer object, call: -include::../protos/vkBindBufferMemory.txt[] +include::../api/protos/vkBindBufferMemory.txt[] * pname:device is the logical device that owns the buffer and memory. * pname:buffer is the buffer. @@ -1132,7 +1134,7 @@ include::../validity/protos/vkBindBufferMemory.txt[] To attach memory to an image object, call: -include::../protos/vkBindImageMemory.txt[] +include::../api/protos/vkBindImageMemory.txt[] * pname:device is the logical device that owns the image and memory. * pname:image is the image. @@ -1210,7 +1212,7 @@ pname:bufferImageGranularity. Buffer and image objects are created with a _sharing mode_ controlling how they can: be accessed from queues. The supported sharing modes are: -include::../enums/VkSharingMode.txt[] +include::../api/enums/VkSharingMode.txt[] * ename:VK_SHARING_MODE_EXCLUSIVE specifies that access to any range or image subresource of the object will be exclusive to a single queue diff --git a/doc/specs/vulkan/chapters/samplers.txt b/doc/specs/vulkan/chapters/samplers.txt index 5b2ac486..0c6eb2c1 100644 --- a/doc/specs/vulkan/chapters/samplers.txt +++ b/doc/specs/vulkan/chapters/samplers.txt @@ -12,7 +12,7 @@ transformations for the shader. Samplers are represented by sname:VkSampler handles: -include::../handles/VkSampler.txt[] +include::../api/handles/VkSampler.txt[] // refEnd VkSampler @@ -20,7 +20,7 @@ include::../handles/VkSampler.txt[] To create a sampler object, call: -include::../protos/vkCreateSampler.txt[] +include::../api/protos/vkCreateSampler.txt[] * pname:device is the logical device that creates the sampler. * pname:pCreateInfo is a pointer to an instance of the @@ -37,7 +37,7 @@ include::../validity/protos/vkCreateSampler.txt[] The sname:VkSamplerCreateInfo structure is defined as: -include::../structs/VkSamplerCreateInfo.txt[] +include::../api/structs/VkSamplerCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -47,7 +47,7 @@ include::../structs/VkSamplerCreateInfo.txt[] + -- // refBegin VkFilter - specify filters used for texture lookups -include::../enums/VkFilter.txt[] +include::../api/enums/VkFilter.txt[] -- + * pname:minFilter is the minification filter to apply to lookups, and is @@ -58,7 +58,7 @@ include::../enums/VkFilter.txt[] + -- // refBegin VkSamplerMipmapMode - specify mipmap mode used for texture lookups -include::../enums/VkSamplerMipmapMode.txt[] +include::../api/enums/VkSamplerMipmapMode.txt[] -- + * pname:addressModeU is the addressing mode for outside [0..1] range for U @@ -93,7 +93,7 @@ include::../enums/VkSamplerMipmapMode.txt[] + -- // refBegin VkBorderColor - specify border color used for texture lookups -include::../enums/VkBorderColor.txt[] +include::../api/enums/VkBorderColor.txt[] -- + * [[samplers-unnormalizedCoordinates]] pname:unnormalizedCoordinates @@ -154,7 +154,7 @@ pname:addressModeU, pname:addressModeV, and pname:addressModeW must: each have one of the following values: // refBegin VkSamplerAddressMode - specify behavior of sampling with texture coordinates outside an image -include::../enums/VkSamplerAddressMode.txt[] +include::../api/enums/VkSamplerAddressMode.txt[] These values control the behavior of sampling with coordinates outside the range latexmath:[$[0,1\]$] for the respective u, v, or w coordinate as defined in the @@ -190,7 +190,7 @@ include::../validity/structs/VkSamplerCreateInfo.txt[] To destroy a sampler, call: -include::../protos/vkDestroySampler.txt[] +include::../api/protos/vkDestroySampler.txt[] * pname:device is the logical device that destroys the sampler. * pname:sampler is the sampler to destroy. diff --git a/doc/specs/vulkan/chapters/shaders.txt b/doc/specs/vulkan/chapters/shaders.txt index b371cb5d..30c6e61e 100644 --- a/doc/specs/vulkan/chapters/shaders.txt +++ b/doc/specs/vulkan/chapters/shaders.txt @@ -47,7 +47,7 @@ Environment for SPIR-V>> appendix. Shader modules are represented by sname:VkShaderModule handles: -include::../handles/VkShaderModule.txt[] +include::../api/handles/VkShaderModule.txt[] // refEnd VkShaderModule @@ -55,7 +55,7 @@ include::../handles/VkShaderModule.txt[] To create a shader module, call: -include::../protos/vkCreateShaderModule.txt[] +include::../api/protos/vkCreateShaderModule.txt[] * pname:device is the logical device that creates the shader module. * pname:pCreateInfo parameter is a pointer to an instance of the @@ -75,7 +75,7 @@ include::../validity/protos/vkCreateShaderModule.txt[] The sname:VkShaderModuleCreateInfo structure is defined as: -include::../structs/VkShaderModuleCreateInfo.txt[] +include::../api/structs/VkShaderModuleCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -92,7 +92,7 @@ include::../validity/structs/VkShaderModuleCreateInfo.txt[] To destroy a shader module, call: -include::../protos/vkDestroyShaderModule.txt[] +include::../api/protos/vkDestroyShaderModule.txt[] * pname:device is the logical device that destroys the shader module. * pname:shaderModule is the handle of the shader module to destroy. diff --git a/doc/specs/vulkan/chapters/sparsemem.txt b/doc/specs/vulkan/chapters/sparsemem.txt index 54d83c83..4170c911 100644 --- a/doc/specs/vulkan/chapters/sparsemem.txt +++ b/doc/specs/vulkan/chapters/sparsemem.txt @@ -677,7 +677,7 @@ structure of type sname:VkPhysicalDeviceSparseProperties. The sname:VkPhysicalDeviceSparseProperties structure is defined as: -include::../structs/VkPhysicalDeviceSparseProperties.txt[] +include::../api/structs/VkPhysicalDeviceSparseProperties.txt[] * pname:residencyStandard2DBlockShape is ename:VK_TRUE if the physical device will access all single-sample 2D sparse resources using the @@ -743,7 +743,7 @@ supported and what the sparse image block shape will be. The sname:VkSparseImageFormatProperties structure is defined as: -include::../structs/VkSparseImageFormatProperties.txt[] +include::../api/structs/VkSparseImageFormatProperties.txt[] * pname:aspectMask is a bitmask of elink:VkImageAspectFlagBits specifying which aspects of the image the properties apply to. @@ -754,7 +754,7 @@ include::../structs/VkSparseImageFormatProperties.txt[] + -- // refBegin VkSparseImageFormatFlagBits - Bitmask specifying additional information about a sparse image resource -include::../enums/VkSparseImageFormatFlagBits.txt[] +include::../api/enums/VkSparseImageFormatFlagBits.txt[] -- ** If ename:VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT is set, the image uses a single mip tail region for all array layers. @@ -777,7 +777,7 @@ image. This is usually one element for each aspect in the image, but for interleaved depth/stencil images there is only one element describing the combined aspects. -include::../protos/vkGetPhysicalDeviceSparseImageFormatProperties.txt[] +include::../api/protos/vkGetPhysicalDeviceSparseImageFormatProperties.txt[] * pname:physicalDevice is the physical device from which to query the sparse image capabilities. @@ -882,7 +882,7 @@ image memory requirements. The sname:VkSparseImageMemoryRequirements structure is defined as: -include::../structs/VkSparseImageMemoryRequirements.txt[] +include::../api/structs/VkSparseImageMemoryRequirements.txt[] * pname:formatProperties.aspectMask is the set of aspects of the image that this sparse memory requirement applies to. This will usually have a @@ -928,7 +928,7 @@ include::../validity/structs/VkSparseImageMemoryRequirements.txt[] To query sparse memory requirements for an image, call: -include::../protos/vkGetImageSparseMemoryRequirements.txt[] +include::../api/protos/vkGetImageSparseMemoryRequirements.txt[] * pname:device is the logical device that owns the image. * pname:image is the sname:VkImage object to get the memory requirements @@ -1057,7 +1057,7 @@ structures. The sname:VkSparseMemoryBind structure is defined as: -include::../structs/VkSparseMemoryBind.txt[] +include::../api/structs/VkSparseMemoryBind.txt[] * pname:resourceOffset is the offset into the resource. * pname:size is the size of the memory region to be bound. @@ -1072,7 +1072,7 @@ include::../structs/VkSparseMemoryBind.txt[] + -- // refBegin VkSparseMemoryBindFlagBits - Bitmask specifying usage of a sparse memory binding operation -include::../enums/VkSparseMemoryBindFlagBits.txt[] +include::../api/enums/VkSparseMemoryBindFlagBits.txt[] -- + ** ename:VK_SPARSE_MEMORY_BIND_METADATA_BIT indicates that the memory @@ -1117,7 +1117,7 @@ Memory is bound to sname:VkBuffer objects created with the ename:VK_BUFFER_CREATE_SPARSE_BINDING_BIT flag using the following structure: -include::../structs/VkSparseBufferMemoryBindInfo.txt[] +include::../api/structs/VkSparseBufferMemoryBindInfo.txt[] * pname:buffer is the sname:VkBuffer object to be bound. * pname:bindCount is the number of sname:VkSparseMemoryBind structures in @@ -1133,7 +1133,7 @@ Memory is bound to opaque regions of sname:VkImage objects created with the ename:VK_IMAGE_CREATE_SPARSE_BINDING_BIT flag using the following structure: -include::../structs/VkSparseImageOpaqueMemoryBindInfo.txt[] +include::../api/structs/VkSparseImageOpaqueMemoryBindInfo.txt[] * pname:image is the sname:VkImage object to be bound. * pname:bindCount is the number of sname:VkSparseMemoryBind structures in @@ -1187,7 +1187,7 @@ Memory can: be bound to sparse image blocks of sname:VkImage objects created with the ename:VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag using the following structure: -include::../structs/VkSparseImageMemoryBindInfo.txt[] +include::../api/structs/VkSparseImageMemoryBindInfo.txt[] * pname:image is the sname:VkImage object to be bound * pname:bindCount is the number of sname:VkSparseImageMemoryBind @@ -1201,7 +1201,7 @@ include::../validity/structs/VkSparseImageMemoryBindInfo.txt[] The sname:VkSparseImageMemoryBind structure is defined as: -include::../structs/VkSparseImageMemoryBind.txt[] +include::../api/structs/VkSparseImageMemoryBind.txt[] * pname:subresource is the aspectMask and region of interest in the image. * pname:offset are the coordinates of the first texel within the image @@ -1225,7 +1225,7 @@ include::../validity/structs/VkSparseImageMemoryBind.txt[] To submit sparse binding operations to a queue, call: -include::../protos/vkQueueBindSparse.txt[] +include::../api/protos/vkQueueBindSparse.txt[] * pname:queue is the queue that the sparse binding operations will be submitted to. * pname:bindInfoCount is the number of elements in the pname:pBindInfo array. @@ -1260,7 +1260,7 @@ include::../validity/protos/vkQueueBindSparse.txt[] The sname:VkBindSparseInfo structure is defined as: -include::../structs/VkBindSparseInfo.txt[] +include::../api/structs/VkBindSparseInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. diff --git a/doc/specs/vulkan/chapters/synchronization.txt b/doc/specs/vulkan/chapters/synchronization.txt index 7b086189..1bbaa78d 100644 --- a/doc/specs/vulkan/chapters/synchronization.txt +++ b/doc/specs/vulkan/chapters/synchronization.txt @@ -48,7 +48,7 @@ fences to become signaled. Fences are represented by sname:VkFence handles: -include::../handles/VkFence.txt[] +include::../api/handles/VkFence.txt[] // refEnd VkFence @@ -56,7 +56,7 @@ include::../handles/VkFence.txt[] To create a new fence object, use the command -include::../protos/vkCreateFence.txt[] +include::../api/protos/vkCreateFence.txt[] * pname:device is the logical device that creates the fence. * pname:pCreateInfo points to a slink:VkFenceCreateInfo structure @@ -72,14 +72,14 @@ include::../validity/protos/vkCreateFence.txt[] The sname:VkFenceCreateInfo structure is defined as: -include::../structs/VkFenceCreateInfo.txt[] +include::../api/structs/VkFenceCreateInfo.txt[] * pname:flags defines the initial state and behavior of the fence. Bits which can: be set include: + -- // refBegin VkFenceCreateFlagBits - Bitmask specifying initial state and behavior of a fence -include::../enums/VkFenceCreateFlagBits.txt[] +include::../api/enums/VkFenceCreateFlagBits.txt[] -- + If pname:flags contains ename:VK_FENCE_CREATE_SIGNALED_BIT then the fence @@ -92,7 +92,7 @@ include::../validity/structs/VkFenceCreateInfo.txt[] To destroy a fence, call: -include::../protos/vkDestroyFence.txt[] +include::../api/protos/vkDestroyFence.txt[] * pname:device is the logical device that destroys the fence. * pname:fence is the handle of the fence to destroy. @@ -105,7 +105,7 @@ include::../validity/protos/vkDestroyFence.txt[] To query the status of a fence from the host, use the command -include::../protos/vkGetFenceStatus.txt[] +include::../api/protos/vkGetFenceStatus.txt[] * pname:device is the logical device that owns the fence. * pname:fence is the handle of the fence to query. @@ -123,7 +123,7 @@ include::../validity/protos/vkGetFenceStatus.txt[] To reset the status of one or more fences to the unsignaled state, use the command: -include::../protos/vkResetFences.txt[] +include::../api/protos/vkResetFences.txt[] * pname:device is the logical device that owns the fences. * pname:fenceCount is the number of fences to reset. @@ -156,7 +156,7 @@ of a memory dependency. To cause the host to wait until any one or all of a group of fences is signaled, use the command: -include::../protos/vkWaitForFences.txt[] +include::../api/protos/vkWaitForFences.txt[] * pname:device is the logical device that owns the fences. * pname:fenceCount is the number of fences to wait on. @@ -219,7 +219,7 @@ or _unsignaled_. Semaphores are represented by sname:VkSemaphore handles: -include::../handles/VkSemaphore.txt[] +include::../api/handles/VkSemaphore.txt[] // refEnd VkSemaphore @@ -227,7 +227,7 @@ include::../handles/VkSemaphore.txt[] To create a new semaphore object, use the command -include::../protos/vkCreateSemaphore.txt[] +include::../api/protos/vkCreateSemaphore.txt[] * pname:device is the logical device that creates the semaphore. * pname:pCreateInfo points to a slink:VkSemaphoreCreateInfo structure @@ -244,7 +244,7 @@ include::../validity/protos/vkCreateSemaphore.txt[] The sname:VkSemaphoreCreateInfo structure is defined as: -include::../structs/VkSemaphoreCreateInfo.txt[] +include::../api/structs/VkSemaphoreCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -256,7 +256,7 @@ include::../validity/structs/VkSemaphoreCreateInfo.txt[] To destroy a semaphore, call: -include::../protos/vkDestroySemaphore.txt[] +include::../api/protos/vkDestroySemaphore.txt[] * pname:device is the logical device that destroys the semaphore. * pname:semaphore is the handle of the semaphore to destroy. @@ -368,7 +368,7 @@ or more events to become signaled. Events are represented by sname:VkEvent handles: -include::../handles/VkEvent.txt[] +include::../api/handles/VkEvent.txt[] // refEnd VkEvent @@ -376,7 +376,7 @@ include::../handles/VkEvent.txt[] To create an event, call: -include::../protos/vkCreateEvent.txt[] +include::../api/protos/vkCreateEvent.txt[] * pname:device is the logical device that creates the event. * pname:pCreateInfo is a pointer to an instance of the @@ -395,7 +395,7 @@ include::../validity/protos/vkCreateEvent.txt[] The sname:VkEventCreateInfo structure is defined as: -include::../structs/VkEventCreateInfo.txt[] +include::../api/structs/VkEventCreateInfo.txt[] * pname:flags is reserved for future use. @@ -405,7 +405,7 @@ include::../validity/structs/VkEventCreateInfo.txt[] To destroy an event, call: -include::../protos/vkDestroyEvent.txt[] +include::../api/protos/vkDestroyEvent.txt[] * pname:device is the logical device that destroys the event. * pname:event is the handle of the event to destroy. @@ -418,7 +418,7 @@ include::../validity/protos/vkDestroyEvent.txt[] To query the state of an event from the host, call: -include::../protos/vkGetEventStatus.txt[] +include::../api/protos/vkGetEventStatus.txt[] * pname:device is the logical device that owns the event. * pname:event is the handle of the event to query. @@ -444,7 +444,7 @@ include::../validity/protos/vkGetEventStatus.txt[] To set the state of an event to signaled from the host, call: -include::../protos/vkSetEvent.txt[] +include::../api/protos/vkSetEvent.txt[] * pname:device is the logical device that owns the event. * pname:event is the event to set. @@ -455,7 +455,7 @@ include::../validity/protos/vkSetEvent.txt[] To set the state of an event to unsignaled from the host, call: -include::../protos/vkResetEvent.txt[] +include::../api/protos/vkResetEvent.txt[] * pname:device is the logical device that owns the event. * pname:event is the event to reset. @@ -468,7 +468,7 @@ The state of an event can: also be updated on the device by commands inserted in command buffers. To set the state of an event to signaled from a device, call: -include::../protos/vkCmdSetEvent.txt[] +include::../api/protos/vkCmdSetEvent.txt[] * pname:commandBuffer is the command buffer into which the command is recorded. @@ -482,7 +482,7 @@ include::../validity/protos/vkCmdSetEvent.txt[] To set the state of an event to unsignaled from a device, call: -include::../protos/vkCmdResetEvent.txt[] +include::../api/protos/vkCmdResetEvent.txt[] * pname:commandBuffer is the command buffer into which the command is recorded. @@ -503,7 +503,7 @@ pipeline bound to the command buffer at time of execution. To wait for one or more events to enter the signaled state on a device, call: -include::../protos/vkCmdWaitEvents.txt[] +include::../api/protos/vkCmdWaitEvents.txt[] * pname:commandBuffer is the command buffer into which the command is recorded. @@ -781,7 +781,7 @@ set of commands later in the command buffer. To record a pipeline barrier, call: -include::../protos/vkCmdPipelineBarrier.txt[] +include::../api/protos/vkCmdPipelineBarrier.txt[] * pname:commandBuffer is the command buffer into which the command is recorded. @@ -874,7 +874,7 @@ sname:VkSubpassDependency depend on being able to specify where in the logical pipeline events can: be signaled, or the source and destination of an execution dependency. These pipeline stages are specified using a bitmask: -include::../enums/VkPipelineStageFlagBits.txt[] +include::../api/enums/VkPipelineStageFlagBits.txt[] The meaning of each bit is: @@ -1029,7 +1029,7 @@ execution. The sname:VkMemoryBarrier structure is defined as: -include::../structs/VkMemoryBarrier.txt[] +include::../api/structs/VkMemoryBarrier.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -1069,7 +1069,7 @@ Bits which can: be set in slink:VkMemoryBarrier::pname:srcAccessMask and slink:VkMemoryBarrier::pname:dstAccessMask include: [[synchronization-access-flags]] -include::../enums/VkAccessFlagBits.txt[] +include::../api/enums/VkAccessFlagBits.txt[] * ename:VK_ACCESS_INDIRECT_COMMAND_READ_BIT indicates that the access is an indirect command structure read as part of an indirect drawing @@ -1189,7 +1189,7 @@ buffer range from one queue family to another, as described in the The sname:VkBufferMemoryBarrier structure is defined as: -include::../structs/VkBufferMemoryBarrier.txt[] +include::../api/structs/VkBufferMemoryBarrier.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -1235,7 +1235,7 @@ in the <> section. The sname:VkImageMemoryBarrier structure is defined as: -include::../structs/VkImageMemoryBarrier.txt[] +include::../api/structs/VkImageMemoryBarrier.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -1295,7 +1295,7 @@ include::../validity/structs/VkImageMemoryBarrier.txt[] To wait on the host for the completion of outstanding queue operations for a given queue, call: -include::../protos/vkQueueWaitIdle.txt[] +include::../api/protos/vkQueueWaitIdle.txt[] * pname:queue is the queue on which to wait. @@ -1308,7 +1308,7 @@ include::../validity/protos/vkQueueWaitIdle.txt[] To wait on the host for the completion of outstanding queue operations for all queues on a given logical device, call: -include::../protos/vkDeviceWaitIdle.txt[] +include::../api/protos/vkDeviceWaitIdle.txt[] * pname:device is the logical device to idle. diff --git a/doc/specs/vulkan/chapters/tessellation.txt b/doc/specs/vulkan/chapters/tessellation.txt index 1cfe2475..d8325f44 100644 --- a/doc/specs/vulkan/chapters/tessellation.txt +++ b/doc/specs/vulkan/chapters/tessellation.txt @@ -430,7 +430,7 @@ points to a structure of type sname:VkPipelineTessellationStateCreateInfo. The sname:VkPipelineTessellationStateCreateInfo structure is defined as: -include::../structs/VkPipelineTessellationStateCreateInfo.txt[] +include::../api/structs/VkPipelineTessellationStateCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. diff --git a/doc/specs/vulkan/chapters/vertexpostproc.txt b/doc/specs/vulkan/chapters/vertexpostproc.txt index c66d913f..b2c62082 100644 --- a/doc/specs/vulkan/chapters/vertexpostproc.txt +++ b/doc/specs/vulkan/chapters/vertexpostproc.txt @@ -294,7 +294,7 @@ creation. The sname:VkPipelineViewportStateCreateInfo structure is defined as: -include::../structs/VkPipelineViewportStateCreateInfo.txt[] +include::../api/structs/VkPipelineViewportStateCreateInfo.txt[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure. @@ -337,7 +337,7 @@ object. If the pipeline state object was created with the ename:VK_DYNAMIC_STATE_VIEWPORT dynamic state enabled, the viewport transformation parameters are dynamically set and changed with the command: -include::../protos/vkCmdSetViewport.txt[] +include::../api/protos/vkCmdSetViewport.txt[] * pname:commandBuffer is the command buffer into which the command will be recorded. @@ -362,7 +362,7 @@ sname:VkViewport to set the viewport transformation parameters. The sname:VkViewport structure is defined as: -include::../structs/VkViewport.txt[] +include::../api/structs/VkViewport.txt[] * pname:x and pname:y are the viewport's upper left corner latexmath:[$(x,y)$]. diff --git a/doc/specs/vulkan/config/README b/doc/specs/vulkan/config/README index 43a46395..2f07c79e 100644 --- a/doc/specs/vulkan/config/README +++ b/doc/specs/vulkan/config/README @@ -1,76 +1,61 @@ -There's apparently some sort of parsing issue with comments in vkspec.conf, + This gives an overview of the configuration files in this directory +(doc/specs/vulkan/config/). + +--------------- Config File Macros ---------------- + +The macros in vkspec.conf and manpages.conf are described in the Vulkan +Documentation and Extensions: Procedures and Conventions document (see +../styleguide.txt). There's a parsing issue with comments in vkspec.conf, so they are pulled out here for now. -// The [efs]link macros insert named xrefs to the specified target -// enumerated type, function, or structure name, and are also used -// for validation. -// Could also use +----------------- PDF Generation ------------------ -// The [efsp]text macros insert the specified target enumerant, function, -// structure or parameter name, and are NOT used for validation. They are -// otherwise identical to the [efsp]name macros above, and are intended -// to get the proper formatting for terms that are *not* actually API -// features, e.g. wildcards or partial names. +vkspec-dblatex.xsl -// The [efsp]name macros insert the specified target enumerant, function, -// structure or parameter name, and are also used for validation. - -// The basetype macro inserts text for the specified base (scalar) type. It -// is not currently used for validation, but will be eventually - -// The code macro inserts text for the specified shader code function or -// variable. - -// I have no idea what the old 'vkkeyword' macro does, but it appears -// to be unused, so removed it and archived here for the moment. -// -// (?u)^(?P):(?P\S*?)(\[(?P.*?)\])$=vkkeyword -// -// [vkkeyword-inlinemacro] -// {passtext} - ---------------- PDF Generation ---------------- - -vkspec-dblatex.xsl is XSL specific to a2x->dblatex->PDF spec generation. -It is a very slightly modified version of -/etc/asciidoc/dblatex/asciidoc-dblatex.xsl, as follows: + is XSL specific to a2x->dblatex->PDF spec generation. It is a very + slightly modified version of /etc/asciidoc/dblatex/asciidoc-dblatex.xsl, + as follows: > colorlinks,linkcolor=black,pdfstartview=FitH > 0 > 0 -and has been simplified to just those parameters. Additional templates -replacing those under - /usr/share/xml/docbook/stylesheet/dblatex/xsl/* can be added here. + and has been simplified to just those parameters. Additional templates + replacing those under /usr/share/xml/docbook/stylesheet/dblatex/xsl/* + can be added here. ---------------- XHTML Generation ---------------- +---------------- XHTML Generation ----------------- -vkspec-xhtml.css is CSS for the xhtml and chunked targets. It is pulled -in from docbook-xsl/common.xsl. This gives us direct control over the -CSS for the document, including support for markup styles. +vkspec-xhtml.css ---------------- Asciibook Stylesheets ---------------- + is CSS for the xhtml and chunked targets. It is pulled in from + docbook-xsl/common.xsl. This gives us direct control over the CSS for + the document, including support for markup styles. + +-------------- Asciibook Stylesheets -------------- docbook-xsl/chunked.xsl docbook-xsl/common.xsl docbook-xsl/xhtml.xsl - replace parts of the asciibook stylesheets normally found under -/etc/asciidoc/docbook-xsl - in order to generate consistent IDs on sections and to insert -MathJax