diff --git a/qrenderdoc/Windows/BufferViewer.cpp b/qrenderdoc/Windows/BufferViewer.cpp index b8de72e7e..45877ccba 100644 --- a/qrenderdoc/Windows/BufferViewer.cpp +++ b/qrenderdoc/Windows/BufferViewer.cpp @@ -2290,6 +2290,10 @@ void BufferViewer::stageRowMenu(MeshDataStage stage, QMenu *menu, const QPoint & { m_DebugVert->setToolTip(tr("This API does not support shader debugging")); } + else if(!m_Ctx.CurDrawcall() || !(m_Ctx.CurDrawcall()->flags & DrawFlags::Drawcall)) + { + m_DebugVert->setToolTip(tr("No draw call selected")); + } else if(!shaderDetails) { m_DebugVert->setToolTip(tr("No vertex shader bound")); diff --git a/qrenderdoc/Windows/TextureViewer.cpp b/qrenderdoc/Windows/TextureViewer.cpp index 050dd3a41..ff616a269 100644 --- a/qrenderdoc/Windows/TextureViewer.cpp +++ b/qrenderdoc/Windows/TextureViewer.cpp @@ -507,7 +507,12 @@ void TextureViewer::UI_UpdateCachedTexture() const ShaderReflection *shaderDetails = m_Ctx.CurPipelineState().GetShaderReflection(ShaderStage::Pixel); - if(!shaderDetails) + if(!m_Ctx.CurDrawcall() || !(m_Ctx.CurDrawcall()->flags & DrawFlags::Drawcall)) + { + ui->debugPixelContext->setEnabled(false); + ui->debugPixelContext->setToolTip(tr("No draw call selected")); + } + else if(!shaderDetails) { ui->debugPixelContext->setEnabled(false); ui->debugPixelContext->setToolTip(tr("No pixel shader bound"));