mirror of
https://github.com/godotengine/godot-angle-static.git
synced 2026-01-04 22:09:59 +03:00
Vulkan: disable pipline cache serialization
In old NV drivers, Vulkan pipeline cache will only generate one single huge cache for one process shared by all graphics piplines in the same process, which can be huge. This is temp solution for nvidia driver cache issue. after driver version 520. nvidia fix the cache issue. this might affect second running performance. Bug: b/258207403 Change-Id: I3ea3e9196ad18fb1cec16c931eb744300d6cfdb9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4713207 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
This commit is contained in:
committed by
Angle LUCI CQ
parent
05707391dc
commit
4cae3b09ab
@@ -4615,7 +4615,12 @@ void RendererVk::initFeatures(DisplayVk *displayVk,
|
||||
|
||||
// On SwiftShader, no data is retrieved from the pipeline cache, so there is no reason to
|
||||
// serialize it or put it in the blob cache.
|
||||
ANGLE_FEATURE_CONDITION(&mFeatures, hasEffectivePipelineCacheSerialization, !isSwiftShader);
|
||||
// For Windows Nvidia Vulkan driver older than 520, Vulkan pipeline cache will only generate one
|
||||
// single huge cache for one process shared by all graphics piplines in the same process, which
|
||||
// can be huge.
|
||||
const bool nvVersionLessThan520 = isNvidia && (nvidiaVersion.major < 520u);
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user