lavapipe: support KHR_pipeline_library
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Wed, 19 Jan 2022 14:02:23 +0000 (09:02 -0500)
committerMarge Bot <emma+marge@anholt.net>
Tue, 29 Mar 2022 12:41:51 +0000 (12:41 +0000)
this is basically a no-op since raytracing isn't supported

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15636>

src/gallium/frontends/lavapipe/lvp_device.c
src/gallium/frontends/lavapipe/lvp_pipeline.c
src/gallium/frontends/lavapipe/lvp_private.h

index 757b3512999890d8cf2d388ac76e41946a7a9b05..93d85617ae336e5ba43710764f8bbf88ddbf9f79 100644 (file)
@@ -115,6 +115,7 @@ static const struct vk_device_extension_table lvp_device_extensions_supported =
    .KHR_maintenance4                      = true,
    .KHR_multiview                         = true,
    .KHR_push_descriptor                   = true,
+   .KHR_pipeline_library                  = true,
    .KHR_relaxed_block_layout              = true,
    .KHR_sampler_mirror_clamp_to_edge      = true,
    .KHR_separate_depth_stencil_layouts    = true,
index 4043a8654523860c889c714a60e88430555bb00f..db3c489dc56146e07c3647f0df2291ba421cdcbf 100644 (file)
@@ -995,6 +995,8 @@ lvp_graphics_pipeline_init(struct lvp_pipeline *pipeline,
    /* recreate createinfo */
    deep_copy_graphics_create_info(pipeline->mem_ctx, &pipeline->graphics_create_info, pCreateInfo);
    pipeline->is_compute_pipeline = false;
+   if (pCreateInfo->flags & VK_PIPELINE_CREATE_LIBRARY_BIT_KHR)
+      pipeline->library = true;
 
    if (pipeline->graphics_create_info.pViewportState) {
       /* if pViewportState is null, it means rasterization is discarded,
index c1a7947b5894382afd2b2143a401bfe18a5976e9..46aa9703d6a8c1bd2ac60cf9d4ad7f58d6b446e6 100644 (file)
@@ -456,6 +456,7 @@ struct lvp_pipeline {
    bool gs_output_lines;
    bool provoking_vertex_last;
    bool negative_one_to_one;
+   bool library;
 };
 
 struct lvp_event {