X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=include%2Fvulkan%2Fvulkan.h;h=1af41e4bebaa3a5536f4d8249ff2498cfee4664a;hb=672590710b6ddbc5fd15323f4a04eb1c555fcd34;hp=d03fb9928a0b15ab715d995560fe375272881689;hpb=f78d68477290d05fd67042cdb31c8f9330645290;p=mesa.git diff --git a/include/vulkan/vulkan.h b/include/vulkan/vulkan.h index d03fb9928a0..1af41e4beba 100644 --- a/include/vulkan/vulkan.h +++ b/include/vulkan/vulkan.h @@ -194,7 +194,7 @@ typedef enum { VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 23, VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 24, VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 25, - VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_CREATE_INFO = 26, + VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 26, VK_STRUCTURE_TYPE_PIPELINE_IA_STATE_CREATE_INFO = 27, VK_STRUCTURE_TYPE_PIPELINE_TESS_STATE_CREATE_INFO = 28, VK_STRUCTURE_TYPE_PIPELINE_VP_STATE_CREATE_INFO = 29, @@ -1034,6 +1034,13 @@ typedef enum { } VkCmdBufferOptimizeFlagBits; typedef VkFlags VkCmdBufferOptimizeFlags; +typedef enum { + VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001, + VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002, + VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004, +} VkImageAspectFlagBits; +typedef VkFlags VkImageAspectFlags; + typedef enum { VK_PIPE_EVENT_TOP_OF_PIPE_BIT = 0x00000001, VK_PIPE_EVENT_VERTEX_PROCESSING_COMPLETE_BIT = 0x00000002, @@ -1270,7 +1277,6 @@ typedef struct { typedef struct { VkStructureType sType; const void* pNext; - uint32_t initialCount; VkSemaphoreCreateFlags flags; } VkSemaphoreCreateInfo; @@ -1436,7 +1442,7 @@ typedef struct { const VkVertexInputBindingDescription* pVertexBindingDescriptions; uint32_t attributeCount; const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; -} VkPipelineVertexInputCreateInfo; +} VkPipelineVertexInputStateCreateInfo; typedef struct { VkStructureType sType; @@ -1462,7 +1468,6 @@ typedef struct { const void* pNext; bool32_t depthClipEnable; bool32_t rasterizerDiscardEnable; - bool32_t programPointSize; VkFillMode fillMode; VkCullMode cullMode; VkFrontFace frontFace; @@ -1665,17 +1670,12 @@ typedef struct { uint32_t layers; } VkFramebufferCreateInfo; -typedef union VkClearColorValue_ -{ - float floatColor[4]; - uint32_t rawColor[4]; +typedef union { + float f32[4]; + int32_t s32[4]; + uint32_t u32[4]; } VkClearColorValue; -typedef struct { - VkClearColorValue color; - bool32_t useRawValue; -} VkClearColor; - typedef struct { VkStructureType sType; const void* pNext; @@ -1688,7 +1688,7 @@ typedef struct { const VkImageLayout* pColorLayouts; const VkAttachmentLoadOp* pColorLoadOps; const VkAttachmentStoreOp* pColorStoreOps; - const VkClearColor* pColorLoadClearValues; + const VkClearColorValue* pColorLoadClearValues; VkFormat depthStencilFormat; VkImageLayout depthStencilLayout; VkAttachmentLoadOp depthLoadOp; @@ -1742,6 +1742,11 @@ typedef struct { VkExtent3D imageExtent; } VkBufferImageCopy; +typedef struct { + VkOffset3D offset; + VkExtent3D extent; +} VkRect3D; + typedef struct { VkImageSubresource srcSubresource; VkOffset3D srcOffset; @@ -1981,12 +1986,14 @@ typedef void (VKAPI *PFN_vkCmdCopyBufferToImage)(VkCmdBuffer cmdBuffer, VkBuffer typedef void (VKAPI *PFN_vkCmdCopyImageToBuffer)(VkCmdBuffer cmdBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer destBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions); typedef void (VKAPI *PFN_vkCmdUpdateBuffer)(VkCmdBuffer cmdBuffer, VkBuffer destBuffer, VkDeviceSize destOffset, VkDeviceSize dataSize, const uint32_t* pData); typedef void (VKAPI *PFN_vkCmdFillBuffer)(VkCmdBuffer cmdBuffer, VkBuffer destBuffer, VkDeviceSize destOffset, VkDeviceSize fillSize, uint32_t data); -typedef void (VKAPI *PFN_vkCmdClearColorImage)(VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, VkClearColor color, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); -typedef void (VKAPI *PFN_vkCmdClearDepthStencil)(VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, float depth, uint32_t stencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); +typedef void (VKAPI *PFN_vkCmdClearColorImage)(VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); +typedef void (VKAPI *PFN_vkCmdClearDepthStencilImage)(VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, float depth, uint32_t stencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); +typedef void (VKAPI *PFN_vkCmdClearColorAttachment)(VkCmdBuffer cmdBuffer, uint32_t colorAttachment, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rectCount, const VkRect3D* pRects); +typedef void (VKAPI *PFN_vkCmdClearDepthStencilAttachment)(VkCmdBuffer cmdBuffer, VkImageAspectFlags imageAspectMask, VkImageLayout imageLayout, float depth, uint32_t stencil, uint32_t rectCount, const VkRect3D* pRects); typedef void (VKAPI *PFN_vkCmdResolveImage)(VkCmdBuffer cmdBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage destImage, VkImageLayout destImageLayout, uint32_t regionCount, const VkImageResolve* pRegions); typedef void (VKAPI *PFN_vkCmdSetEvent)(VkCmdBuffer cmdBuffer, VkEvent event, VkPipeEvent pipeEvent); typedef void (VKAPI *PFN_vkCmdResetEvent)(VkCmdBuffer cmdBuffer, VkEvent event, VkPipeEvent pipeEvent); -typedef void (VKAPI *PFN_vkCmdWaitEvents)(VkCmdBuffer cmdBuffer, VkWaitEvent waitEvent, uint32_t eventCount, const VkEvent* pEvents, uint32_t memBarrierCount, const void** ppMemBarriers); +typedef void (VKAPI *PFN_vkCmdWaitEvents)(VkCmdBuffer cmdBuffer, VkWaitEvent waitEvent, uint32_t eventCount, const VkEvent* pEvents, VkPipeEventFlags pipeEventMask, uint32_t memBarrierCount, const void* const* ppMemBarriers); typedef void (VKAPI *PFN_vkCmdPipelineBarrier)(VkCmdBuffer cmdBuffer, VkWaitEvent waitEvent, VkPipeEventFlags pipeEventMask, uint32_t memBarrierCount, const void* const* ppMemBarriers); typedef void (VKAPI *PFN_vkCmdBeginQuery)(VkCmdBuffer cmdBuffer, VkQueryPool queryPool, uint32_t slot, VkQueryControlFlags flags); typedef void (VKAPI *PFN_vkCmdEndQuery)(VkCmdBuffer cmdBuffer, VkQueryPool queryPool, uint32_t slot); @@ -1997,7 +2004,8 @@ typedef void (VKAPI *PFN_vkCmdPushConstants)(VkCmdBuffer cmdBuffer, VkPipelineLa typedef VkResult (VKAPI *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, VkFramebuffer* pFramebuffer); typedef VkResult (VKAPI *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, VkRenderPass* pRenderPass); typedef void (VKAPI *PFN_vkCmdBeginRenderPass)(VkCmdBuffer cmdBuffer, const VkRenderPassBegin* pRenderPassBegin); -typedef void (VKAPI *PFN_vkCmdEndRenderPass)(VkCmdBuffer cmdBuffer, VkRenderPass renderPass); +typedef void (VKAPI *PFN_vkCmdEndRenderPass)(VkCmdBuffer cmdBuffer); +typedef void (VKAPI *PFN_vkCmdExecuteCommands)(VkCmdBuffer cmdBuffer, uint32_t cmdBuffersCount, const VkCmdBuffer* pCmdBuffers); #ifdef VK_PROTOTYPES VkResult VKAPI vkCreateInstance( @@ -2507,11 +2515,11 @@ void VKAPI vkCmdClearColorImage( VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, - VkClearColor color, + const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); -void VKAPI vkCmdClearDepthStencil( +void VKAPI vkCmdClearDepthStencilImage( VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, @@ -2520,6 +2528,23 @@ void VKAPI vkCmdClearDepthStencil( uint32_t rangeCount, const VkImageSubresourceRange* pRanges); +void VKAPI vkCmdClearColorAttachment( + VkCmdBuffer cmdBuffer, + uint32_t colorAttachment, + VkImageLayout imageLayout, + const VkClearColorValue* pColor, + uint32_t rectCount, + const VkRect3D* pRects); + +void VKAPI vkCmdClearDepthStencilAttachment( + VkCmdBuffer cmdBuffer, + VkImageAspectFlags imageAspectMask, + VkImageLayout imageLayout, + float depth, + uint32_t stencil, + uint32_t rectCount, + const VkRect3D* pRects); + void VKAPI vkCmdResolveImage( VkCmdBuffer cmdBuffer, VkImage srcImage, @@ -2544,8 +2569,9 @@ void VKAPI vkCmdWaitEvents( VkWaitEvent waitEvent, uint32_t eventCount, const VkEvent* pEvents, + VkPipeEventFlags pipeEventMask, uint32_t memBarrierCount, - const void** ppMemBarriers); + const void* const* ppMemBarriers); void VKAPI vkCmdPipelineBarrier( VkCmdBuffer cmdBuffer, @@ -2600,9 +2626,12 @@ void VKAPI vkCmdBeginRenderPass( const VkRenderPassBegin* pRenderPassBegin); void VKAPI vkCmdEndRenderPass( - VkCmdBuffer cmdBuffer, - VkRenderPass renderPass); + VkCmdBuffer cmdBuffer); +void VKAPI vkCmdExecuteCommands( + VkCmdBuffer cmdBuffer, + uint32_t cmdBuffersCount, + const VkCmdBuffer* pCmdBuffers); #endif #ifdef __cplusplus