Skip to content

Commit

Permalink
Vulkan: Prefer monolithic pipelines everywhere
Browse files Browse the repository at this point in the history
Apparently, every vendor prefers this, and
graphicsPipelineLibraryFastLinking has no bearing on the driver's
preference.

Bug: angleproject:42265839
Change-Id: Ied8d82e0a9e08fe5efe3f625e2612764f67f9768
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5861024
Commit-Queue: Yuxin Hu <[email protected]>
Reviewed-by: Yuxin Hu <[email protected]>
Auto-Submit: Shahbaz Youssefi <[email protected]>
  • Loading branch information
ShabbyX authored and Angle LUCI CQ committed Sep 16, 2024
1 parent 6d58359 commit e9ab557
Showing 1 changed file with 4 additions and 10 deletions.
14 changes: 4 additions & 10 deletions src/libANGLE/renderer/vulkan/vk_renderer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5168,16 +5168,10 @@ void Renderer::initFeatures(const vk::ExtensionNameList &deviceExtensionNames,
ANGLE_FEATURE_CONDITION(&mFeatures, hasEffectivePipelineCacheSerialization,
!isSwiftShader && !nvVersionLessThan520);

// When the driver sets graphicsPipelineLibraryFastLinking, it means that monolithic pipelines
// are just a bundle of the libraries, and that there is no benefit in creating monolithic
// pipelines.
//
// Note: for testing purposes, this is enabled on SwiftShader despite the fact that it doesn't
// need it. This should be undone once there is at least one bot that supports
// VK_EXT_graphics_pipeline_library without graphicsPipelineLibraryFastLinking
ANGLE_FEATURE_CONDITION(
&mFeatures, preferMonolithicPipelinesOverLibraries,
!mGraphicsPipelineLibraryProperties.graphicsPipelineLibraryFastLinking || isSwiftShader);
// Practically all drivers still prefer to do cross-stage linking.
// graphicsPipelineLibraryFastLinking allows them to quickly produce working pipelines, but it
// is typically not as efficient as complete pipelines.
ANGLE_FEATURE_CONDITION(&mFeatures, preferMonolithicPipelinesOverLibraries, true);

// Whether the pipeline caches should merge into the global pipeline cache. This should only be
// enabled on platforms if:
Expand Down

0 comments on commit e9ab557

Please sign in to comment.