summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHugo Locurcio <hugo.locurcio@hugo.pro>2023-08-04 02:17:27 +0200
committerHugo Locurcio <hugo.locurcio@hugo.pro>2024-03-26 22:42:27 +0100
commit4a615924f817506c86070099b9c57bb53624d5bb (patch)
tree70df9a0f1e81bcc49228c4ac14a00b0f667c505d
parent7d151c83811f8ac8873439826c16d88c83aba12f (diff)
downloadredot-engine-4a615924f817506c86070099b9c57bb53624d5bb.tar.gz
Improve warning messages related to Vulkan pipeline cache
This gives better explanations on why the cache may have been invalidated, along with usual consequences. These messages have also been moved to verbose prints, as users cannot do anything to resolve them specifically (so they are mostly relevant to developers).
-rw-r--r--drivers/vulkan/rendering_device_driver_vulkan.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/vulkan/rendering_device_driver_vulkan.cpp b/drivers/vulkan/rendering_device_driver_vulkan.cpp
index 1906d168fe..f7d3782d75 100644
--- a/drivers/vulkan/rendering_device_driver_vulkan.cpp
+++ b/drivers/vulkan/rendering_device_driver_vulkan.cpp
@@ -3814,11 +3814,11 @@ bool RenderingDeviceDriverVulkan::pipeline_cache_create(const Vector<uint8_t> &p
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.");
+ print_verbose("Invalid/corrupt Vulkan pipelines cache. Existing shader pipeline cache will be ignored, which may result in stuttering during gameplay.");
} else {
const PipelineCacheHeader *loaded_header = reinterpret_cast<const PipelineCacheHeader *>(p_data.ptr());
if (loaded_header->magic != 868 + VK_PIPELINE_CACHE_HEADER_VERSION_ONE) {
- WARN_PRINT("Invalid pipelines cache magic number.");
+ print_verbose("Invalid Vulkan pipelines cache magic number. Existing shader pipeline cache will be ignored, which may result in stuttering during gameplay.");
} else {
const uint8_t *loaded_buffer_start = p_data.ptr() + sizeof(PipelineCacheHeader);
uint32_t loaded_buffer_size = p_data.size() - sizeof(PipelineCacheHeader);
@@ -3830,7 +3830,7 @@ bool RenderingDeviceDriverVulkan::pipeline_cache_create(const Vector<uint8_t> &p
loaded_header->driver_version != current_header->driver_version ||
memcmp(loaded_header->uuid, current_header->uuid, VK_UUID_SIZE) != 0 ||
loaded_header->driver_abi != current_header->driver_abi) {
- WARN_PRINT("Invalid pipelines cache header.");
+ print_verbose("Invalid Vulkan pipelines cache header. This may be due to an engine change, GPU change or graphics driver version change. Existing shader pipeline cache will be ignored, which may result in stuttering during gameplay.");
} else {
pipelines_cache.current_size = loaded_buffer_size;
pipelines_cache.buffer = p_data;