Tidy up handling of windowing data, make it a bit more type safe

This commit is contained in:
baldurk
2018-01-01 17:31:19 +00:00
parent b8bd99a24a
commit 6572cd97f5
40 changed files with 268 additions and 235 deletions
+1 -2
View File
@@ -1362,8 +1362,7 @@ void BufferViewer::OnCaptureLoaded()
WId renderID = ui->render->winId();
m_Ctx.Replay().BlockInvoke([renderID, this](IReplayController *r) {
m_Output = r->CreateOutput(m_Ctx.CurWindowingSystem(), m_Ctx.FillWindowingData(renderID),
ReplayOutputType::Mesh);
m_Output = r->CreateOutput(m_Ctx.CreateWindowingData(renderID), ReplayOutputType::Mesh);
ui->render->setOutput(m_Output);
+2 -4
View File
@@ -2087,11 +2087,9 @@ void MainWindow::on_action_Start_Replay_Loop_triggered()
.arg(tr("nothing")));
}
WindowingSystem winSys = m_Ctx.CurWindowingSystem();
void *winData = m_Ctx.FillWindowingData(popup.winId());
WindowingData winData = m_Ctx.CreateWindowingData(popup.winId());
m_Ctx.Replay().AsyncInvoke(
[winSys, winData, id](IReplayController *r) { r->ReplayLoop(winSys, winData, id); });
m_Ctx.Replay().AsyncInvoke([winData, id](IReplayController *r) { r->ReplayLoop(winData, id); });
RDDialog::show(&popup);
+2 -2
View File
@@ -101,9 +101,9 @@ struct CaptureContextInvoker : ICaptureContext
}
virtual const SDFile &GetStructuredFile() override { return m_Ctx.GetStructuredFile(); }
virtual WindowingSystem CurWindowingSystem() override { return m_Ctx.CurWindowingSystem(); }
virtual void *FillWindowingData(uintptr_t winId) override
virtual WindowingData CreateWindowingData(uintptr_t winId) override
{
return m_Ctx.FillWindowingData(winId);
return m_Ctx.CreateWindowingData(winId);
}
virtual const rdcarray<DebugMessage> &DebugMessages() override { return m_Ctx.DebugMessages(); }
virtual int UnreadMessageCount() override { return m_Ctx.UnreadMessageCount(); }
+5 -9
View File
@@ -1875,15 +1875,13 @@ void TextureViewer::InitResourcePreview(ResourcePreview *prev, ResourceId id, Co
if(m_Ctx.GetTexture(id))
{
m_Ctx.Replay().AsyncInvoke([this, handle, id, typeHint](IReplayController *) {
m_Output->AddThumbnail(m_Ctx.CurWindowingSystem(), m_Ctx.FillWindowingData(handle), id,
typeHint);
m_Output->AddThumbnail(m_Ctx.CreateWindowingData(handle), id, typeHint);
});
}
else
{
m_Ctx.Replay().AsyncInvoke([this, handle](IReplayController *) {
m_Output->AddThumbnail(m_Ctx.CurWindowingSystem(), m_Ctx.FillWindowingData(handle),
ResourceId(), CompType::Typeless);
m_Output->AddThumbnail(m_Ctx.CreateWindowingData(handle), ResourceId(), CompType::Typeless);
});
}
@@ -1900,8 +1898,7 @@ void TextureViewer::InitResourcePreview(ResourcePreview *prev, ResourceId id, Co
WId handle = prev->thumbWinId();
m_Ctx.Replay().AsyncInvoke([this, handle](IReplayController *) {
m_Output->AddThumbnail(m_Ctx.CurWindowingSystem(), m_Ctx.FillWindowingData(handle),
ResourceId(), CompType::Typeless);
m_Output->AddThumbnail(m_Ctx.CreateWindowingData(handle), ResourceId(), CompType::Typeless);
});
}
else
@@ -2445,10 +2442,9 @@ void TextureViewer::OnCaptureLoaded()
: FloatVector();
m_Ctx.Replay().BlockInvoke([renderID, contextID, this](IReplayController *r) {
m_Output = r->CreateOutput(m_Ctx.CurWindowingSystem(), m_Ctx.FillWindowingData(renderID),
ReplayOutputType::Texture);
m_Output = r->CreateOutput(m_Ctx.CreateWindowingData(renderID), ReplayOutputType::Texture);
m_Output->SetPixelContext(m_Ctx.CurWindowingSystem(), m_Ctx.FillWindowingData(contextID));
m_Output->SetPixelContext(m_Ctx.CreateWindowingData(contextID));
ui->render->setOutput(m_Output);
ui->pixelContext->setOutput(m_Output);