MCPcopy Create free account
hub / github.com/baldurk/renderdoc / updateVariableTooltip

Method updateVariableTooltip

qrenderdoc/Windows/ShaderViewer.cpp:6151–6241  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6149}
6150
6151void ShaderViewer::updateVariableTooltip()
6152{
6153 if(!m_Trace || m_States.empty())
6154 return;
6155
6156 ShaderVariable var;
6157 SourceVariableMapping mapping;
6158
6159 if(!getVarFromPath(m_TooltipVarPath, &var, NULL, &mapping))
6160 return;
6161
6162 if(var.type != VarType::Unknown)
6163 {
6164 QString tooltip;
6165
6166 if(var.type == VarType::Sampler || var.type == VarType::ReadOnlyResource ||
6167 var.type == VarType::ReadWriteResource || var.type == VarType::GPUPointer)
6168 {
6169 tooltip = QFormatStr("%1: ").arg(var.name) + RichResourceTextFormat(m_Ctx, stringRep(var, 0));
6170 }
6171 else if(var.type == VarType::ConstantBlock)
6172 {
6173 tooltip = QFormatStr("<pre>%1: { ... }</pre>").arg(var.name);
6174 }
6175 else
6176 {
6177 tooltip = QFormatStr("<pre>%1: %2\n").arg(var.name).arg(RowString(var, 0));
6178 QString spacing = QString(var.name.count(), QLatin1Char(' '));
6179 for(int i = 1; i < var.rows; i++)
6180 tooltip += QFormatStr("%1 %2\n").arg(spacing).arg(RowString(var, i));
6181 tooltip += lit("</pre>");
6182 }
6183
6184 if(mapping.type != VarType::Unknown && mapping.undefinedValue)
6185 tooltip = tr("%1: <undefined value>").arg(var.name);
6186
6187 QToolTip::showText(m_TooltipPos, tooltip);
6188 return;
6189 }
6190 else if(var.members.size() == 2 && var.members[0].type == VarType::ReadOnlyResource &&
6191 var.members[1].type == VarType::Sampler)
6192 {
6193 // combined image/sampler structs
6194 QToolTip::showText(m_TooltipPos,
6195 QFormatStr("%1: %2 & %3")
6196 .arg(var.name)
6197 .arg(RichResourceTextFormat(m_Ctx, stringRep(var.members[0], 0)))
6198 .arg(RichResourceTextFormat(m_Ctx, stringRep(var.members[1], 0))));
6199 return;
6200 }
6201 else if(!var.members.empty())
6202 {
6203 QString tooltip = tr("%1: { ... }").arg(var.name);
6204
6205 if(mapping.type != VarType::Unknown && mapping.undefinedValue)
6206 tooltip = tr("%1: <undefined value>").arg(var.name);
6207
6208 // other structs

Callers

nothing calls this directly

Calls 10

RichResourceTextFormatFunction · 0.85
RowStringFunction · 0.85
QLatin1CharClass · 0.85
QStringFunction · 0.50
trFunction · 0.50
FormatEnum · 0.50
emptyMethod · 0.45
argMethod · 0.45
countMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected