return vk::makePipelineLayout(vk, device, static_cast<deUint32>(descriptorSetLayoutsUnWrapped.size()), descriptorSetLayoutsUnWrapped.data());
}
-Move<VkPipelineLayout> makePipelineLayout (const DeviceInterface& vk,
- const VkDevice device,
- const deUint32 setLayoutCount,
- const VkDescriptorSetLayout* descriptorSetLayout)
+Move<VkPipelineLayout> makePipelineLayout (const DeviceInterface& vk,
+ const VkDevice device,
+ const deUint32 setLayoutCount,
+ const VkDescriptorSetLayout* descriptorSetLayout,
+ const VkPipelineLayoutCreateFlags flags)
{
const VkPipelineLayoutCreateInfo pipelineLayoutParams =
{
VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO, // VkStructureType sType;
DE_NULL, // const void* pNext;
- VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT, // VkPipelineLayoutCreateFlags flags;
+ flags, // VkPipelineLayoutCreateFlags flags;
setLayoutCount, // deUint32 setLayoutCount;
descriptorSetLayout, // const VkDescriptorSetLayout* pSetLayouts;
0u, // deUint32 pushConstantRangeCount;
return createPipelineLayout(vk, device, &pipelineLayoutParams);
}
-Move<VkPipelineLayout> makePipelineLayout (const DeviceInterface& vk,
- const VkDevice device,
- const deUint32 setLayoutCount,
- const VkDescriptorSetLayout* descriptorSetLayout,
- const deUint32 pushConstantRangeCount,
- const VkPushConstantRange* pPushConstantRanges)
+Move<VkPipelineLayout> makePipelineLayout (const DeviceInterface& vk,
+ const VkDevice device,
+ const deUint32 setLayoutCount,
+ const VkDescriptorSetLayout* descriptorSetLayout,
+ const deUint32 pushConstantRangeCount,
+ const VkPushConstantRange* pPushConstantRanges,
+ const VkPipelineLayoutCreateFlags flags)
{
const VkPipelineLayoutCreateInfo pipelineLayoutParams =
{
VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO, // VkStructureType sType;
DE_NULL, // const void* pNext;
- VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT, // VkPipelineLayoutCreateFlags flags;
+ flags, // VkPipelineLayoutCreateFlags flags;
setLayoutCount, // deUint32 setLayoutCount;
descriptorSetLayout, // const VkDescriptorSetLayout* pSetLayouts;
pushConstantRangeCount, // deUint32 pushConstantRangeCount;
const VkDevice device,
const std::vector<vk::Move<VkDescriptorSetLayout>> &descriptorSetLayouts);
-Move<VkPipelineLayout> makePipelineLayout (const DeviceInterface& vk,
- const VkDevice device,
- const deUint32 setLayoutCount,
- const VkDescriptorSetLayout* descriptorSetLayout);
-
-Move<VkPipelineLayout> makePipelineLayout (const DeviceInterface& vk,
- const VkDevice device,
- const deUint32 setLayoutCount,
- const VkDescriptorSetLayout* descriptorSetLayout,
- const deUint32 pushConstantRangeCount,
- const VkPushConstantRange* pPushConstantRanges);
+Move<VkPipelineLayout> makePipelineLayout (const DeviceInterface& vk,
+ const VkDevice device,
+ const deUint32 setLayoutCount,
+ const VkDescriptorSetLayout* descriptorSetLayout,
+ const VkPipelineLayoutCreateFlags flags = 0u);
+
+Move<VkPipelineLayout> makePipelineLayout (const DeviceInterface& vk,
+ const VkDevice device,
+ const deUint32 setLayoutCount,
+ const VkDescriptorSetLayout* descriptorSetLayout,
+ const deUint32 pushConstantRangeCount,
+ const VkPushConstantRange* pPushConstantRanges,
+ const VkPipelineLayoutCreateFlags flags = 0u);
Move<VkFramebuffer> makeFramebuffer (const DeviceInterface& vk,
const VkDevice device,
VkDescriptorSetLayout vecLayoutFrag[2] = { *descriptorSetLayoutBlank, *descriptorSetLayoutFrag };
VkDescriptorSetLayout vecLayoutBoth[2] = { *descriptorSetLayoutVert, *descriptorSetLayoutFrag };
- const Move<VkPipelineLayout> pipelineLayoutVert = makePipelineLayout(vk, device, 2, vecLayoutVert);
- const Move<VkPipelineLayout> pipelineLayoutFrag = makePipelineLayout(vk, device, 2, vecLayoutFrag);
- const Move<VkPipelineLayout> pipelineLayoutSame = makePipelineLayout(vk, device, 2, vecLayoutBoth);
+ const Move<VkPipelineLayout> pipelineLayoutVert = makePipelineLayout(vk, device, 2, vecLayoutVert, VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT);
+ const Move<VkPipelineLayout> pipelineLayoutFrag = makePipelineLayout(vk, device, 2, vecLayoutFrag, VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT);
+ const Move<VkPipelineLayout> pipelineLayoutSame = makePipelineLayout(vk, device, 2, vecLayoutBoth, VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT);
const Move<VkCommandPool> cmdPool = createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex);
const Move<VkCommandBuffer> cmdBuffer = allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
Move<VkPipeline> rootPipeline;