From 1d051771417a66daaf0f927d4668d8104113e4c7 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 28 Nov 2017 13:37:22 +0000 Subject: [PATCH] Add Qt helper for constructin rdcstr directly from QString --- qrenderdoc/Windows/PipelineState/GLPipelineStateViewer.cpp | 7 ++++--- qrenderdoc/Windows/PipelineState/PipelineStateViewer.cpp | 4 ++-- qrenderdoc/Windows/ShaderViewer.cpp | 4 ++-- renderdoc/api/replay/basic_types.h | 5 +++++ 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/qrenderdoc/Windows/PipelineState/GLPipelineStateViewer.cpp b/qrenderdoc/Windows/PipelineState/GLPipelineStateViewer.cpp index ecc59989e..c75af8cb5 100644 --- a/qrenderdoc/Windows/PipelineState/GLPipelineStateViewer.cpp +++ b/qrenderdoc/Windows/PipelineState/GLPipelineStateViewer.cpp @@ -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; diff --git a/qrenderdoc/Windows/PipelineState/PipelineStateViewer.cpp b/qrenderdoc/Windows/PipelineState/PipelineStateViewer.cpp index 875644527..4a71ef6da 100644 --- a/qrenderdoc/Windows/PipelineState/PipelineStateViewer.cpp +++ b/qrenderdoc/Windows/PipelineState/PipelineStateViewer.cpp @@ -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"); diff --git a/qrenderdoc/Windows/ShaderViewer.cpp b/qrenderdoc/Windows/ShaderViewer.cpp index 42b0a6a0b..e65d8a333 100644 --- a/qrenderdoc/Windows/ShaderViewer.cpp +++ b/qrenderdoc/Windows/ShaderViewer.cpp @@ -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; diff --git a/renderdoc/api/replay/basic_types.h b/renderdoc/api/replay/basic_types.h index ce00247e1..83977beee 100644 --- a/renderdoc/api/replay/basic_types.h +++ b/renderdoc/api/replay/basic_types.h @@ -590,6 +590,11 @@ struct rdcstr : public rdcarray // cast operators operator std::string() const { return std::string(elems, elems + usedCount); } #if defined(RENDERDOC_QT_COMPAT) + rdcstr(const QString &in) : rdcarray() + { + 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