Skip to content

Commit

Permalink
Vulkan: Don't warn about pipelines cache if missing
Browse files Browse the repository at this point in the history
It used to warn when opening a new project because no cache pre-exists,
which isn't particularly helpful.

Also include the rendering method in the cache filename, as it differs
between Forward+ and Mobile for a same GPU.
  • Loading branch information
akien-mga committed Mar 5, 2024
1 parent f9ebd84 commit e74f4ea
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 4 deletions.
4 changes: 3 additions & 1 deletion drivers/vulkan/rendering_device_driver_vulkan.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3828,7 +3828,9 @@ bool RenderingDeviceDriverVulkan::pipeline_cache_create(const Vector<uint8_t> &p

// Parse.
{
if (p_data.size() <= (int)sizeof(PipelineCacheHeader)) {
if (p_data.is_empty()) {
// No pre-existing cache, just create it.
} else if (p_data.size() <= (int)sizeof(PipelineCacheHeader)) {
WARN_PRINT("Invalid/corrupt pipelines cache.");
} else {
const PipelineCacheHeader *loaded_header = reinterpret_cast<const PipelineCacheHeader *>(p_data.ptr());
Expand Down
6 changes: 3 additions & 3 deletions servers/rendering/rendering_device.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5091,12 +5091,12 @@ Error RenderingDevice::initialize(RenderingContextDriver *p_context, DisplayServ

if (main_instance) {
// Only the instance that is not a local device and is also the singleton is allowed to manage a pipeline cache.
pipeline_cache_file_path = "user://vulkan/pipelines";
pipeline_cache_file_path += "." + device.name.validate_filename().replace(" ", "_").to_lower();
pipeline_cache_file_path = vformat("user://vulkan/pipelines.%s.%s",
OS::get_singleton()->get_current_rendering_method(),
device.name.validate_filename().replace(" ", "_").to_lower());
if (Engine::get_singleton()->is_editor_hint()) {
pipeline_cache_file_path += ".editor";
}

pipeline_cache_file_path += ".cache";

Vector<uint8_t> cache_data = _load_pipeline_cache();
Expand Down

0 comments on commit e74f4ea

Please sign in to comment.