From 96408c30d3eb3cba545ff590517f143b453c28f2 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 10 Aug 2021 12:20:14 +0100 Subject: [PATCH] Fix backwards compatibility issue loading vulkan captures * This is a regression _since_ v1.15. In 2bfc3c2 to be precise --- renderdoc/driver/vulkan/vk_serialise.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/renderdoc/driver/vulkan/vk_serialise.cpp b/renderdoc/driver/vulkan/vk_serialise.cpp index cce09813f..25a6c45ad 100644 --- a/renderdoc/driver/vulkan/vk_serialise.cpp +++ b/renderdoc/driver/vulkan/vk_serialise.cpp @@ -4321,8 +4321,18 @@ template void DoSerialise(SerialiserType &ser, ImageInfo &el) { SERIALISE_MEMBER(layerCount); - SERIALISE_MEMBER(levelCount); - SERIALISE_MEMBER(sampleCount); + // serialise these as full 32-bit integers for backwards compatibility + { + uint32_t levelCount = el.levelCount; + uint32_t sampleCount = el.sampleCount; + SERIALISE_ELEMENT(levelCount); + SERIALISE_ELEMENT(sampleCount); + if(ser.IsReading()) + { + el.levelCount = (uint16_t)levelCount; + el.sampleCount = (uint16_t)sampleCount; + } + } SERIALISE_MEMBER(extent); SERIALISE_MEMBER(format); if(ser.VersionAtLeast(0x11))