aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMark Lobodzinski <mark@lunarg.com>2015-04-17 14:11:39 -0500
committerMark Lobodzinski <mark@lunarg.com>2015-04-17 14:14:58 -0500
commit1cfc77227fd92392bf16e5aa359edbc18ef3547b (patch)
tree25fd6835939af7a21d7d06923f9df5f4645990c9 /include
parent410cf39ab1d94729e7a4261ce18d32c5c8dcedeb (diff)
downloadusermoji-1cfc77227fd92392bf16e5aa359edbc18ef3547b.tar.xz
vulkan: Update vulkan.h for revision 89 -- Bug #13743
Generalizing the VkDescriptorSetLayoutChain object.
Diffstat (limited to 'include')
-rw-r--r--include/vkDbg.h2
-rw-r--r--include/vkLayer.h2
-rw-r--r--include/vulkan.h32
3 files changed, 23 insertions, 13 deletions
diff --git a/include/vkDbg.h b/include/vkDbg.h
index bf27d52f..43a55993 100644
--- a/include/vkDbg.h
+++ b/include/vkDbg.h
@@ -106,7 +106,7 @@ typedef enum _VK_DBG_OBJECT_TYPE
VK_DBG_OBJECT_BUFFER,
VK_DBG_OBJECT_BUFFER_VIEW,
VK_DBG_OBJECT_DESCRIPTOR_SET_LAYOUT,
- VK_DBG_OBJECT_DESCRIPTOR_SET_LAYOUT_CHAIN,
+ VK_DBG_OBJECT_PIPELINE_LAYOUT,
VK_DBG_OBJECT_DESCRIPTOR_POOL,
VK_DBG_OBJECT_TYPE_BEGIN_RANGE = VK_DBG_OBJECT_UNKNOWN,
diff --git a/include/vkLayer.h b/include/vkLayer.h
index 39602e2d..70c36a98 100644
--- a/include/vkLayer.h
+++ b/include/vkLayer.h
@@ -88,9 +88,9 @@ typedef struct VkLayerDispatchTable_
PFN_vkStorePipeline StorePipeline;
PFN_vkLoadPipeline LoadPipeline;
PFN_vkLoadPipelineDerivative LoadPipelineDerivative;
+ PFN_vkCreatePipelineLayout CreatePipelineLayout;
PFN_vkCreateSampler CreateSampler;
PFN_vkCreateDescriptorSetLayout CreateDescriptorSetLayout;
- PFN_vkCreateDescriptorSetLayoutChain CreateDescriptorSetLayoutChain;
PFN_vkBeginDescriptorPoolUpdate BeginDescriptorPoolUpdate;
PFN_vkEndDescriptorPoolUpdate EndDescriptorPoolUpdate;
PFN_vkCreateDescriptorPool CreateDescriptorPool;
diff --git a/include/vulkan.h b/include/vulkan.h
index b9fce560..98c32852 100644
--- a/include/vulkan.h
+++ b/include/vulkan.h
@@ -69,10 +69,10 @@ VK_DEFINE_SUBCLASS_HANDLE(VkColorAttachmentView, VkObject)
VK_DEFINE_SUBCLASS_HANDLE(VkDepthStencilView, VkObject)
VK_DEFINE_SUBCLASS_HANDLE(VkShader, VkObject)
VK_DEFINE_SUBCLASS_HANDLE(VkPipeline, VkObject)
+VK_DEFINE_SUBCLASS_HANDLE(VkPipelineLayout, VkObject)
VK_DEFINE_SUBCLASS_HANDLE(VkSampler, VkObject)
VK_DEFINE_SUBCLASS_HANDLE(VkDescriptorSet, VkObject)
VK_DEFINE_SUBCLASS_HANDLE(VkDescriptorSetLayout, VkObject)
-VK_DEFINE_SUBCLASS_HANDLE(VkDescriptorSetLayoutChain, VkObject)
VK_DEFINE_SUBCLASS_HANDLE(VkDescriptorPool, VkObject)
VK_DEFINE_SUBCLASS_HANDLE(VkDynamicStateObject, VkObject)
VK_DEFINE_SUBCLASS_HANDLE(VkDynamicVpState, VkDynamicStateObject)
@@ -844,8 +844,9 @@ typedef enum VkStructureType_
VK_STRUCTURE_TYPE_UPDATE_BUFFERS = 49,
VK_STRUCTURE_TYPE_UPDATE_AS_COPY = 50,
VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 51,
+ VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 52,
- VK_ENUM_RANGE(STRUCTURE_TYPE, APPLICATION_INFO, INSTANCE_CREATE_INFO)
+ VK_ENUM_RANGE(STRUCTURE_TYPE, APPLICATION_INFO, PIPELINE_LAYOUT_CREATE_INFO)
} VkStructureType;
// ------------------------------------------------------------------------------------------------
@@ -1713,7 +1714,7 @@ typedef struct VkComputePipelineCreateInfo_
const void* pNext; // Pointer to next structure
VkPipelineShader cs;
VkPipelineCreateFlags flags; // Pipeline creation flags
- VkDescriptorSetLayoutChain setLayoutChain;
+ VkPipelineLayout layout; // Interface layout of the pipeline
uint32_t localSizeX;
uint32_t localSizeY;
uint32_t localSizeZ;
@@ -1858,9 +1859,17 @@ typedef struct VkGraphicsPipelineCreateInfo_
VkStructureType sType; // Must be VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO
const void* pNext; // Pointer to next structure
VkPipelineCreateFlags flags; // Pipeline creation flags
- VkDescriptorSetLayoutChain pSetLayoutChain;
+ VkPipelineLayout layout; // Interface layout of the pipeline
} VkGraphicsPipelineCreateInfo;
+typedef struct VkPipelineLayoutCreateInfo_
+{
+ VkStructureType sType; // Must be VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO
+ const void* pNext; // Pointer to next structure
+ uint32_t descriptorSetCount; // Number of descriptor sets interfaced by the pipeline
+ const VkDescriptorSetLayout* pSetLayouts; // Array of <setCount> number of descriptor set layout objects defining the layout of the
+} VkPipelineLayoutCreateInfo;
+
typedef struct VkSamplerCreateInfo_
{
VkStructureType sType; // Must be VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO
@@ -2128,9 +2137,9 @@ typedef VkResult (VKAPI *PFN_vkCreateComputePipeline)(VkDevice device, const VkC
typedef VkResult (VKAPI *PFN_vkStorePipeline)(VkPipeline pipeline, size_t* pDataSize, void* pData);
typedef VkResult (VKAPI *PFN_vkLoadPipeline)(VkDevice device, size_t dataSize, const void* pData, VkPipeline* pPipeline);
typedef VkResult (VKAPI *PFN_vkLoadPipelineDerivative)(VkDevice device, size_t dataSize, const void* pData, VkPipeline basePipeline, VkPipeline* pPipeline);
+typedef VkResult (VKAPI *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, VkPipelineLayout* pPipelineLayout);
typedef VkResult (VKAPI *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, VkSampler* pSampler);
typedef VkResult (VKAPI *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayout* pSetLayout);
-typedef VkResult (VKAPI *PFN_vkCreateDescriptorSetLayoutChain)(VkDevice device, uint32_t setLayoutArrayCount, const VkDescriptorSetLayout* pSetLayoutArray, VkDescriptorSetLayoutChain* pLayoutChain);
typedef VkResult (VKAPI *PFN_vkBeginDescriptorPoolUpdate)(VkDevice device, VkDescriptorUpdateMode updateMode);
typedef VkResult (VKAPI *PFN_vkEndDescriptorPoolUpdate)(VkDevice device, VkCmdBuffer cmd);
typedef VkResult (VKAPI *PFN_vkCreateDescriptorPool)(VkDevice device, VkDescriptorPoolUsage poolUsage, uint32_t maxSets, const VkDescriptorPoolCreateInfo* pCreateInfo, VkDescriptorPool* pDescriptorPool);
@@ -2540,6 +2549,13 @@ VkResult VKAPI vkLoadPipelineDerivative(
VkPipeline basePipeline,
VkPipeline* pPipeline);
+// Pipeline layout functions
+
+VkResult VKAPI vkCreatePipelineLayout(
+ VkDevice device,
+ const VkPipelineLayoutCreateInfo* pCreateInfo,
+ VkPipelineLayout* pPipelineLayout);
+
// Sampler functions
VkResult VKAPI vkCreateSampler(
@@ -2554,12 +2570,6 @@ VkResult VKAPI vkCreateDescriptorSetLayout(
const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
VkDescriptorSetLayout* pSetLayout);
-VkResult VKAPI vkCreateDescriptorSetLayoutChain(
- VkDevice device,
- uint32_t setLayoutArrayCount,
- const VkDescriptorSetLayout* pSetLayoutArray,
- VkDescriptorSetLayoutChain* pLayoutChain);
-
VkResult VKAPI vkBeginDescriptorPoolUpdate(
VkDevice device,
VkDescriptorUpdateMode updateMode);