vk,lvp,tu,radv,anv: Add common vk_*_pipeline_create_flags() helper
And replace the various homegrown or copy-pasted helpers in drivers. Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25436>
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
#define VK_PIPELINE_H
|
||||
|
||||
#include "vulkan/vulkan_core.h"
|
||||
#include "vk_util.h"
|
||||
|
||||
#include <stdbool.h>
|
||||
|
||||
@@ -88,6 +89,56 @@ vk_pipeline_robustness_state_fill(const struct vk_device *device,
|
||||
const void *pipeline_pNext,
|
||||
const void *shader_stage_pNext);
|
||||
|
||||
static inline VkPipelineCreateFlags2KHR
|
||||
vk_compute_pipeline_create_flags(const VkComputePipelineCreateInfo *info)
|
||||
{
|
||||
const VkPipelineCreateFlags2CreateInfoKHR *flags2 =
|
||||
vk_find_struct_const(info->pNext,
|
||||
PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR);
|
||||
if (flags2)
|
||||
return flags2->flags;
|
||||
else
|
||||
return info->flags;
|
||||
}
|
||||
|
||||
static inline VkPipelineCreateFlags2KHR
|
||||
vk_graphics_pipeline_create_flags(const VkGraphicsPipelineCreateInfo *info)
|
||||
{
|
||||
const VkPipelineCreateFlags2CreateInfoKHR *flags2 =
|
||||
vk_find_struct_const(info->pNext,
|
||||
PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR);
|
||||
if (flags2)
|
||||
return flags2->flags;
|
||||
else
|
||||
return info->flags;
|
||||
}
|
||||
|
||||
static inline VkPipelineCreateFlags2KHR
|
||||
vk_rt_pipeline_create_flags(const VkRayTracingPipelineCreateInfoKHR *info)
|
||||
{
|
||||
const VkPipelineCreateFlags2CreateInfoKHR *flags2 =
|
||||
vk_find_struct_const(info->pNext,
|
||||
PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR);
|
||||
if (flags2)
|
||||
return flags2->flags;
|
||||
else
|
||||
return info->flags;
|
||||
}
|
||||
|
||||
#ifdef VK_ENABLE_BETA_EXTENSIONS
|
||||
static inline VkPipelineCreateFlags2KHR
|
||||
vk_graph_pipeline_create_flags(const VkExecutionGraphPipelineCreateInfoAMDX *info)
|
||||
{
|
||||
const VkPipelineCreateFlags2CreateInfoKHR *flags2 =
|
||||
vk_find_struct_const(info->pNext,
|
||||
PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR);
|
||||
if (flags2)
|
||||
return flags2->flags;
|
||||
else
|
||||
return info->flags;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user