From 4f3ea6d12bd6f6f7f94e6c5378e24ae2a5029a16 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 5 Dec 2019 11:42:29 +0000 Subject: [PATCH] Special-case VK_LOD_CLAMP_NONE for samplers in pipeline state view --- .../VulkanPipelineStateViewer.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp b/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp index 68d076e76..ea5a4bc16 100644 --- a/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp +++ b/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp @@ -807,10 +807,20 @@ QVariantList VulkanPipelineStateViewer::makeSampler(const QString &bindset, cons else if(descriptor.filter.filter != FilterFunction::Normal) filter += QFormatStr(" (%1)").arg(ToQStr(descriptor.filter.filter)); - QString lod = - lit("LODs: %1 - %2") - .arg((descriptor.minLOD == -FLT_MAX ? lit("0") : QString::number(descriptor.minLOD))) - .arg((descriptor.maxLOD == FLT_MAX ? lit("FLT_MAX") : QString::number(descriptor.maxLOD))); + QString minLOD = QString::number(descriptor.minLOD); + QString maxLOD = QString::number(descriptor.maxLOD); + + if(descriptor.minLOD == -FLT_MAX) + minLOD = lit("0"); + if(descriptor.minLOD == -1000.0) + minLOD = lit("VK_LOD_CLAMP_NONE"); + + if(descriptor.maxLOD == FLT_MAX) + minLOD = lit("FLT_MAX"); + if(descriptor.maxLOD == 1000.0) + minLOD = lit("VK_LOD_CLAMP_NONE"); + + QString lod = lit("LODs: %1 - %2").arg(minLOD).arg(maxLOD); // omit lod clamp if this is an immutable sampler and the attached resource is entirely within the // range