diff --git a/renderdoc/driver/vulkan/vk_shaderdebug.cpp b/renderdoc/driver/vulkan/vk_shaderdebug.cpp index 2dbe455af..e62a1808f 100644 --- a/renderdoc/driver/vulkan/vk_shaderdebug.cpp +++ b/renderdoc/driver/vulkan/vk_shaderdebug.cpp @@ -3788,6 +3788,8 @@ ShaderDebugTrace *VulkanReplay::DebugVertex(uint32_t eventId, uint32_t vertid, u { VkDeviceSize vertexOffset = 0; + found = true; + if(bind.perInstance) { if(bind.instanceDivisor == 0) @@ -3837,6 +3839,11 @@ ShaderDebugTrace *VulkanReplay::DebugVertex(uint32_t eventId, uint32_t vertid, u "(index %u) in instance %u.", attr.location, attr.binding, vertid, idx, instid)); + if(IsUIntFormat(attr.format) || IsSIntFormat(attr.format)) + var.type = VarType::UInt; + else + var.type = VarType::Float; + set0001(var); } else @@ -3851,6 +3858,8 @@ ShaderDebugTrace *VulkanReplay::DebugVertex(uint32_t eventId, uint32_t vertid, u // this is the only packed UINT format Vec4u decoded = ConvertFromR10G10B10A2UInt(*(uint32_t *)data.data()); + var.type = VarType::UInt; + setUintComp(var, 0, decoded.x); setUintComp(var, 1, decoded.y); setUintComp(var, 2, decoded.z); @@ -3866,6 +3875,8 @@ ShaderDebugTrace *VulkanReplay::DebugVertex(uint32_t eventId, uint32_t vertid, u { FloatVector decoded = DecodeFormattedComponents(fmt, data.data()); + var.type = VarType::Float; + setFloatComp(var, 0, decoded.x); setFloatComp(var, 1, decoded.y); setFloatComp(var, 2, decoded.z);