Add Qt helper for constructin rdcstr directly from QString

This commit is contained in:
baldurk committed 2017-11-29 19:01:21 +00:00
1 parent dde3a21e67
commit 1d05177141
4 files changed
+13 -7

No files matched your search

@@ -1126,9 +1126,10 @@ void GLPipelineStateViewer::setState()
{
QString genericVal = tr("Generic=") + MakeGenericValueString(compCount, compType, a);
RDTreeWidgetItem *node = new RDTreeWidgetItem(
{i, a.Enabled ? tr("Enabled") : tr("Disabled"), name,
a.Enabled ? a.Format.Name() : genericVal, a.BufferSlot, a.RelativeOffset, QString()});
RDTreeWidgetItem *node =
new RDTreeWidgetItem({i, a.Enabled ? tr("Enabled") : tr("Disabled"), name,
a.Enabled ? QString(a.Format.Name()) : genericVal, a.BufferSlot,
a.RelativeOffset, QString()});
if(a.Enabled)
usedBindings[a.BufferSlot] = true;
@@ -689,7 +689,7 @@ QString PipelineStateViewer::GenerateHLSLStub(const ShaderReflection *shaderDeta
for(const SigParameter &sig : shaderDetails->InputSig)
hlsl += lit("\t%1 %2 : %3;\n")
.arg(TypeString(sig))
.arg(!sig.varName.isEmpty() ? sig.varName : lit("param%1").arg(sig.regIndex))
.arg(!sig.varName.isEmpty() ? QString(sig.varName) : lit("param%1").arg(sig.regIndex))
.arg(D3DSemanticString(sig));
hlsl += lit("};\n\n");
@@ -697,7 +697,7 @@ QString PipelineStateViewer::GenerateHLSLStub(const ShaderReflection *shaderDeta
for(const SigParameter &sig : shaderDetails->OutputSig)
hlsl += lit("\t%1 %2 : %3;\n")
.arg(TypeString(sig))
.arg(!sig.varName.isEmpty() ? sig.varName : lit("param%1").arg(sig.regIndex))
.arg(!sig.varName.isEmpty() ? QString(sig.varName) : lit("param%1").arg(sig.regIndex))
.arg(D3DSemanticString(sig));
hlsl += lit("};\n\n");
+2 -2
View File
@@ -506,7 +506,7 @@ void ShaderViewer::debugShader(const ShaderBindpointMapping *bind, const ShaderR
for(const SigParameter &s : shader->InputSig)
{
QString name = s.varName.isEmpty()
? s.semanticName
? QString(s.semanticName)
: QFormatStr("%1 (%2)").arg(s.varName).arg(s.semanticName);
if(s.semanticName.isEmpty())
name = s.varName;
@@ -534,7 +534,7 @@ void ShaderViewer::debugShader(const ShaderBindpointMapping *bind, const ShaderR
for(const SigParameter &s : shader->OutputSig)
{
QString name = s.varName.isEmpty()
? s.semanticName
? QString(s.semanticName)
: QFormatStr("%1 (%2)").arg(s.varName).arg(s.semanticName);
if(s.semanticName.isEmpty())
name = s.varName;
+5
View File
@@ -590,6 +590,11 @@ struct rdcstr : public rdcarray<char>
// cast operators
operator std::string() const { return std::string(elems, elems + usedCount); }
#if defined(RENDERDOC_QT_COMPAT)
rdcstr(const QString &in) : rdcarray<char>()
{
QByteArray arr = in.toUtf8();
assign(arr.data(), arr.size());
}
operator QString() const { return QString::fromUtf8(elems, usedCount); }
operator QVariant() const { return QVariant(QString::fromUtf8(elems, usedCount)); }
#endif