From c5689827a9b434406ec7e9d6b7158efd121d4623 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 8 Jun 2018 20:33:41 +0100 Subject: [PATCH] Allow clicking anywhere in rX.xyzw to highlight register --- qrenderdoc/Windows/ShaderViewer.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/qrenderdoc/Windows/ShaderViewer.cpp b/qrenderdoc/Windows/ShaderViewer.cpp index 6839ad2b3..d11915337 100644 --- a/qrenderdoc/Windows/ShaderViewer.cpp +++ b/qrenderdoc/Windows/ShaderViewer.cpp @@ -928,6 +928,24 @@ void ShaderViewer::disassembly_buttonReleased(QMouseEvent *event) QString text = QString::fromUtf8(m_DisassemblyView->textRange(start, end)); + QRegularExpression regexp(lit("^[xyzwrgba]+$")); + + // if we match a swizzle look before that for the register + if(regexp.match(text).hasMatch()) + { + start--; + while(isspace(m_DisassemblyView->charAt(start))) + start--; + + if(m_DisassemblyView->charAt(start) == '.') + { + end = m_DisassemblyView->wordEndPosition(start - 1, true); + start = m_DisassemblyView->wordStartPosition(start - 1, true); + + text = QString::fromUtf8(m_DisassemblyView->textRange(start, end)); + } + } + if(!text.isEmpty()) { VariableTag tag;