Refactor qrenderdoc to provide stable, clean and deliberate API

* Note, this API is still in-flux and beta, so there may still be some
  more changes before it's 'stable', and even then it will still be
  subject to some amount of change.
* This API is then exposed to python via SWIG bindings and hides
  internals that don't need to be visible, and means the actual API is
  easier to work with.
* We also use this API to reduce inter-dependencies between different
  windows that need to interact with each other at a high level.
* The naming is python/standard RenderDoc TitleCase method names, not
  Qt style camelCase methods.

# Conflicts:
#	qrenderdoc/Windows/PipelineState/D3D11PipelineStateViewer.cpp
#	qrenderdoc/Windows/TextureViewer.cpp
This commit is contained in:
baldurk
2017-04-18 14:57:43 +01:00
parent 6969b5b677
commit 094c4164dc
61 changed files with 1973 additions and 1562 deletions
@@ -28,7 +28,7 @@
QList<ConstantBufferPreviewer *> ConstantBufferPreviewer::m_Previews;
ConstantBufferPreviewer::ConstantBufferPreviewer(CaptureContext &ctx, const ShaderStage stage,
ConstantBufferPreviewer::ConstantBufferPreviewer(ICaptureContext &ctx, const ShaderStage stage,
uint32_t slot, uint32_t idx, QWidget *parent)
: QFrame(parent), ui(new Ui::ConstantBufferPreviewer), m_Ctx(ctx)
{
@@ -94,11 +94,11 @@ void ConstantBufferPreviewer::OnEventChanged(uint32_t eventID)
{
uint64_t offs = 0;
uint64_t size = 0;
m_Ctx.CurPipelineState.GetConstantBuffer(m_stage, m_slot, m_arrayIdx, m_cbuffer, offs, size);
m_Ctx.CurPipelineState().GetConstantBuffer(m_stage, m_slot, m_arrayIdx, m_cbuffer, offs, size);
m_shader = m_Ctx.CurPipelineState.GetShader(m_stage);
QString entryPoint = m_Ctx.CurPipelineState.GetShaderEntryPoint(m_stage);
const ShaderReflection *reflection = m_Ctx.CurPipelineState.GetShaderReflection(m_stage);
m_shader = m_Ctx.CurPipelineState().GetShader(m_stage);
QString entryPoint = m_Ctx.CurPipelineState().GetShaderEntryPoint(m_stage);
const ShaderReflection *reflection = m_Ctx.CurPipelineState().GetShaderReflection(m_stage);
updateLabels();
@@ -218,7 +218,7 @@ void ConstantBufferPreviewer::updateLabels()
needName = false;
}
const ShaderReflection *reflection = m_Ctx.CurPipelineState.GetShaderReflection(m_stage);
const ShaderReflection *reflection = m_Ctx.CurPipelineState().GetShaderReflection(m_stage);
if(reflection != NULL)
{
@@ -234,7 +234,7 @@ void ConstantBufferPreviewer::updateLabels()
QString title =
QString("%1 %2 %3").arg(ToQStr(m_stage, pipeType)).arg(IsD3D(pipeType) ? "CB" : "UBO").arg(m_slot);
if(m_Ctx.CurPipelineState.SupportsResourceArrays())
if(m_Ctx.CurPipelineState().SupportsResourceArrays())
title += QString(" [%1]").arg(m_arrayIdx);
ui->slotLabel->setText(title);