diff options
| author | Mark Lobodzinski <mark@lunarg.com> | 2015-06-23 15:11:57 -0600 |
|---|---|---|
| committer | Mark Lobodzinski <mark@lunarg.com> | 2015-06-23 15:11:57 -0600 |
| commit | 521d7763bbe74f69d6dfa69dc3e40c5db6c7369c (patch) | |
| tree | 1c65b02bfe53a94370b3655d6ebe4eec089bee12 /include | |
| parent | 85bc15acd850ec9dc9d21df0a9910129dd852f8e (diff) | |
| download | usermoji-521d7763bbe74f69d6dfa69dc3e40c5db6c7369c.tar.xz | |
vulkan.h: V104 -- Unify compute/graphics pipeline shader passing semantics, Bug# 13800
Diffstat (limited to 'include')
| -rw-r--r-- | include/vulkan.h | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/include/vulkan.h b/include/vulkan.h index 417ca940..cdea6f33 100644 --- a/include/vulkan.h +++ b/include/vulkan.h @@ -33,7 +33,7 @@ #include "vk_platform.h" // Vulkan API version supported by this file -#define VK_API_VERSION VK_MAKE_VERSION(0, 103, 0) +#define VK_API_VERSION VK_MAKE_VERSION(0, 104, 0) #ifdef __cplusplus extern "C" @@ -810,7 +810,7 @@ typedef enum VkStructureType_ 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, @@ -1688,20 +1688,22 @@ typedef struct VkSpecializationInfo_ const void* pData; } VkSpecializationInfo; -typedef struct VkPipelineShader_ +typedef struct VkPipelineShaderStageCreateInfo_ { + VkStructureType sType; // Must be VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO + const void* pNext; // Pointer to next structure VkShaderStage stage; VkShader shader; uint32_t linkConstBufferCount; const VkLinkConstBuffer* pLinkConstBufferInfo; const VkSpecializationInfo* pSpecializationInfo; -} VkPipelineShader; +} VkPipelineShaderStageCreateInfo; typedef struct VkComputePipelineCreateInfo_ { VkStructureType sType; // Must be VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO const void* pNext; // Pointer to next structure - VkPipelineShader cs; + VkPipelineShaderStageCreateInfo cs; VkPipelineCreateFlags flags; // Pipeline creation flags VkPipelineLayout layout; // Interface layout of the pipeline } VkComputePipelineCreateInfo; @@ -1724,9 +1726,9 @@ typedef struct VkVertexInputAttributeDescription_ uint32_t offsetInBytes; // Offset of first element in bytes from base of vertex } VkVertexInputAttributeDescription; -typedef struct VkPipelineVertexInputCreateInfo_ +typedef struct VkPipelineVertexInputStateCreateInfo_ { - VkStructureType sType; // Should be VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_CREATE_INFO + VkStructureType sType; // Should be VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO const void* pNext; // Pointer to next structure uint32_t bindingCount; // number of bindings @@ -1734,7 +1736,7 @@ typedef struct VkPipelineVertexInputCreateInfo_ uint32_t attributeCount; // number of attributes const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; -} VkPipelineVertexInputCreateInfo; +} VkPipelineVertexInputStateCreateInfo; typedef struct VkPipelineIaStateCreateInfo_ { @@ -1832,17 +1834,20 @@ typedef struct VkPipelineDsStateCreateInfo_ VkStencilOpState back; } VkPipelineDsStateCreateInfo; -typedef struct VkPipelineShaderStageCreateInfo_ -{ - VkStructureType sType; // Must be VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO - const void* pNext; // Pointer to next structure - VkPipelineShader shader; -} VkPipelineShaderStageCreateInfo; - typedef struct VkGraphicsPipelineCreateInfo_ { VkStructureType sType; // Must be VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO const void* pNext; // Pointer to next structure + uint32_t stageCount; + const VkPipelineShaderStageCreateInfo* pStages; // One entry for each active shader stage + const VkPipelineVertexInputStateCreateInfo* pVertexInputState; + const VkPipelineIaStateCreateInfo* pIaState; + const VkPipelineTessStateCreateInfo* pTessState; + const VkPipelineVpStateCreateInfo* pVpState; + const VkPipelineRsStateCreateInfo* pRsState; + const VkPipelineMsStateCreateInfo* pMsState; + const VkPipelineDsStateCreateInfo* pDsState; + const VkPipelineCbStateCreateInfo* pCbState; VkPipelineCreateFlags flags; // Pipeline creation flags VkPipelineLayout layout; // Interface layout of the pipeline } VkGraphicsPipelineCreateInfo; |
