From 197f485757f9786fc7f5f644586c71b555598947 Mon Sep 17 00:00:00 2001 From: Lina Versace Date: Fri, 9 Jun 2023 16:45:03 -0700 Subject: [PATCH] venus: Add enum vn_pipeline_type No change in behavior. Prepares for storing more state in graphics libraries for VK_EXT_graphics_pipeline_library. Signed-off-by: Lina Versace Reviewed-by: Yiwei Zhang Part-of: --- src/virtio/vulkan/vn_pipeline.c | 8 ++++++-- src/virtio/vulkan/vn_pipeline.h | 6 ++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/virtio/vulkan/vn_pipeline.c b/src/virtio/vulkan/vn_pipeline.c index 2ed1c18..03a74d33 100644 --- a/src/virtio/vulkan/vn_pipeline.c +++ b/src/virtio/vulkan/vn_pipeline.c @@ -300,6 +300,7 @@ vn_MergePipelineCaches(VkDevice device, static bool vn_create_pipeline_handles(struct vn_device *dev, + enum vn_pipeline_type type, uint32_t pipeline_count, VkPipeline *pipeline_handles, const VkAllocationCallbacks *alloc) @@ -323,6 +324,7 @@ vn_create_pipeline_handles(struct vn_device *dev, vn_object_base_init(&pipeline->base, VK_OBJECT_TYPE_PIPELINE, &dev->base); + pipeline->type = type; pipeline_handles[i] = vn_pipeline_to_handle(pipeline); } @@ -758,7 +760,8 @@ vn_CreateGraphicsPipelines(VkDevice device, if (!pCreateInfos) return vn_error(dev->instance, VK_ERROR_OUT_OF_HOST_MEMORY); - if (!vn_create_pipeline_handles(dev, createInfoCount, pPipelines, alloc)) { + if (!vn_create_pipeline_handles(dev, VN_PIPELINE_TYPE_GRAPHICS, + createInfoCount, pPipelines, alloc)) { vk_free(alloc, fixes); return vn_error(dev->instance, VK_ERROR_OUT_OF_HOST_MEMORY); } @@ -818,7 +821,8 @@ vn_CreateComputePipelines(VkDevice device, memset(pPipelines, 0, sizeof(*pPipelines) * createInfoCount); - if (!vn_create_pipeline_handles(dev, createInfoCount, pPipelines, alloc)) + if (!vn_create_pipeline_handles(dev, VN_PIPELINE_TYPE_COMPUTE, + createInfoCount, pPipelines, alloc)) return vn_error(dev->instance, VK_ERROR_OUT_OF_HOST_MEMORY); for (uint32_t i = 0; i < createInfoCount; i++) { diff --git a/src/virtio/vulkan/vn_pipeline.h b/src/virtio/vulkan/vn_pipeline.h index 624eff9..0e6d918 100644 --- a/src/virtio/vulkan/vn_pipeline.h +++ b/src/virtio/vulkan/vn_pipeline.h @@ -41,8 +41,14 @@ VK_DEFINE_NONDISP_HANDLE_CASTS(vn_pipeline_cache, VkPipelineCache, VK_OBJECT_TYPE_PIPELINE_CACHE) +enum vn_pipeline_type { + VN_PIPELINE_TYPE_GRAPHICS, + VN_PIPELINE_TYPE_COMPUTE, +}; + struct vn_pipeline { struct vn_object_base base; + enum vn_pipeline_type type; /** * The VkPipelineLayout provided directly (without linking) at pipeline -- 2.7.4