diff --git a/src/gallium/frontends/lavapipe/ci/lvp-skips.txt b/src/gallium/frontends/lavapipe/ci/lvp-skips.txt index 05b0804f0f1..1e15e3d9728 100644 --- a/src/gallium/frontends/lavapipe/ci/lvp-skips.txt +++ b/src/gallium/frontends/lavapipe/ci/lvp-skips.txt @@ -2,6 +2,11 @@ # non-zero-length and not starting with '#', will regex match to # delete lines from the test list. Be careful. +# these take 5+ hours in llvm jit compile +dEQP-VK.pipeline.pipeline_library.blend.dual_source.format.r16_unorm.states.color_1ms1a_cc_max_alpha_1msa_1mca_sub-color_o_1mdc_max_alpha_1mda_1ms1c_rsub-color_sas_da_max_alpha_1msa_1msc_add-color_sc_1msc_add_alpha_sas_1ms1a_rsub +dEQP-VK.pipeline.pipeline_library.blend.dual_source.format.r16_unorm.states.color_z_s1c_min_alpha_1mcc_s1c_rsub-color_ca_1mca_add_alpha_cc_1ms1a_min-color_ca_1ms1c_rsub_alpha_sa_sas_min-color_1ms1c_s1a_add_alpha_1mda_1ms1a_min +dEQP-VK.pipeline.pipeline_library.blend.format.r16_unorm.states.color_sas_sa_min_alpha_ca_1mda_max-color_1mdc_dc_add_alpha_1mda_sas_rsub-color_sas_1mca_max_alpha_1mca_1mcc_min-color_o_1msa_rsub_alpha_dc_da_min + # TODO: fix me dEQP-VK.texture.filtering.3d.sizes.3x7x5.linear_mipmap_linear diff --git a/src/gallium/frontends/lavapipe/lvp_device.c b/src/gallium/frontends/lavapipe/lvp_device.c index 93d85617ae3..2b6ffdbef30 100644 --- a/src/gallium/frontends/lavapipe/lvp_device.c +++ b/src/gallium/frontends/lavapipe/lvp_device.c @@ -145,6 +145,7 @@ static const struct vk_device_extension_table lvp_device_extensions_supported = .EXT_extended_dynamic_state = true, .EXT_extended_dynamic_state2 = true, .EXT_external_memory_host = true, + .EXT_graphics_pipeline_library = true, .EXT_host_query_reset = true, .EXT_image_robustness = true, .EXT_index_type_uint8 = true, @@ -933,6 +934,11 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetPhysicalDeviceFeatures2( features->dynamicRendering = VK_TRUE; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: { + VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT *features = (VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT *)ext; + features->graphicsPipelineLibrary = VK_TRUE; + break; + } default: break; } @@ -1234,6 +1240,12 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetPhysicalDeviceProperties2( properties->uniformTexelBufferOffsetSingleTexelAlignment = true; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: { + VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT *props = (VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT *)ext; + props->graphicsPipelineLibraryFastLinking = VK_TRUE; + props->graphicsPipelineLibraryIndependentInterpolationDecoration = VK_TRUE; + break; + } default: break; }