From 9741bacc7be4ffd99752adac0dcf38fcf75db3ca Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 7 Jun 2024 10:40:41 +0100 Subject: [PATCH] Fix wrong number of shader stages in fixed array --- qrenderdoc/Windows/ShaderMessageViewer.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/qrenderdoc/Windows/ShaderMessageViewer.cpp b/qrenderdoc/Windows/ShaderMessageViewer.cpp index ab8413954..fcee090e7 100644 --- a/qrenderdoc/Windows/ShaderMessageViewer.cpp +++ b/qrenderdoc/Windows/ShaderMessageViewer.cpp @@ -159,7 +159,7 @@ ShaderMessageViewer::ShaderMessageViewer(ICaptureContext &ctx, ShaderStageMask s ui->messages->setItemDelegateForColumn(0, m_debugDelegate); ui->messages->setItemDelegateForColumn(1, m_gotoDelegate); - QCheckBox *boxes[] = { + QCheckBox *boxes[NumShaderStages] = { ui->vertex, ui->hull, ui->domain, @@ -169,15 +169,22 @@ ShaderMessageViewer::ShaderMessageViewer(ICaptureContext &ctx, ShaderStageMask s NULL, ui->task, ui->mesh, + // raytracing stages + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, }; for(ShaderStage s : values()) { - if(s == ShaderStage::Compute) - continue; - uint32_t idx = (uint32_t)s; + if(!boxes[idx]) + continue; + m_OrigShaders[idx] = pipe.GetShader(s); boxes[idx]->setChecked(bool(stages & MaskForStage(s)));