mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-09-24 14:45:53 +00:00
Pass IReplayRenderer to INVOKE_MEMFN calls
This commit is contained in:
@@ -37,7 +37,7 @@ class LambdaThread;
|
||||
|
||||
// simple helper for the common case of 'we just need to run this on the render thread
|
||||
#define INVOKE_MEMFN(function) \
|
||||
m_Ctx->Renderer()->AsyncInvoke([this](IReplayRenderer *) { function(); });
|
||||
m_Ctx->Renderer()->AsyncInvoke([this](IReplayRenderer *r) { function(r); });
|
||||
|
||||
class RenderManager
|
||||
{
|
||||
|
||||
@@ -513,7 +513,7 @@ void TextureViewer::RT_FetchCurrentPixel(uint32_t x, uint32_t y, PixelValue &pic
|
||||
m_TexDisplay.sampleIdx, &realValue);
|
||||
}
|
||||
|
||||
void TextureViewer::RT_PickPixelsAndUpdate()
|
||||
void TextureViewer::RT_PickPixelsAndUpdate(IReplayRenderer *)
|
||||
{
|
||||
PixelValue pickValue, realValue;
|
||||
|
||||
@@ -532,7 +532,7 @@ void TextureViewer::RT_PickPixelsAndUpdate()
|
||||
GUIInvoke::call([this]() { UI_UpdateStatusText(); });
|
||||
}
|
||||
|
||||
void TextureViewer::RT_PickHoverAndUpdate()
|
||||
void TextureViewer::RT_PickHoverAndUpdate(IReplayRenderer *)
|
||||
{
|
||||
PixelValue pickValue, realValue;
|
||||
|
||||
@@ -546,7 +546,7 @@ void TextureViewer::RT_PickHoverAndUpdate()
|
||||
GUIInvoke::call([this]() { UI_UpdateStatusText(); });
|
||||
}
|
||||
|
||||
void TextureViewer::RT_UpdateAndDisplay()
|
||||
void TextureViewer::RT_UpdateAndDisplay(IReplayRenderer *)
|
||||
{
|
||||
if(m_Output != NULL)
|
||||
m_Output->SetTextureDisplay(m_TexDisplay);
|
||||
@@ -1104,13 +1104,13 @@ void TextureViewer::UI_OnTextureSelectionChanged(bool newdraw)
|
||||
// if (ui->autoFit->isChecked())
|
||||
// AutoFitRange();
|
||||
|
||||
m_Ctx->Renderer()->AsyncInvoke([this](IReplayRenderer *) {
|
||||
m_Ctx->Renderer()->AsyncInvoke([this](IReplayRenderer *r) {
|
||||
// RT_UpdateVisualRange(r);
|
||||
|
||||
RT_UpdateAndDisplay();
|
||||
RT_UpdateAndDisplay(r);
|
||||
|
||||
if(m_Output != NULL)
|
||||
RT_PickPixelsAndUpdate();
|
||||
RT_PickPixelsAndUpdate(r);
|
||||
|
||||
// TODO - GetUsage and update TimelineBar
|
||||
});
|
||||
@@ -1915,6 +1915,9 @@ void TextureViewer::OnEventSelected(uint32_t eventID)
|
||||
ui->inputThumbs->RefreshLayout();
|
||||
|
||||
INVOKE_MEMFN(RT_UpdateAndDisplay);
|
||||
|
||||
// if(autoFit.Checked)
|
||||
// AutoFitRange();
|
||||
}
|
||||
|
||||
QVariant TextureViewer::persistData()
|
||||
@@ -2186,10 +2189,7 @@ void TextureViewer::on_mipLevel_currentIndexChanged(int index)
|
||||
|
||||
if(m_Output != NULL && m_PickedPoint.x() >= 0 && m_PickedPoint.y() >= 0)
|
||||
{
|
||||
m_Ctx->Renderer()->AsyncInvoke([this](IReplayRenderer *) {
|
||||
if(m_Output != NULL)
|
||||
RT_PickPixelsAndUpdate();
|
||||
});
|
||||
INVOKE_MEMFN(RT_PickPixelsAndUpdate);
|
||||
}
|
||||
|
||||
INVOKE_MEMFN(RT_UpdateAndDisplay);
|
||||
@@ -2211,10 +2211,7 @@ void TextureViewer::on_sliceFace_currentIndexChanged(int index)
|
||||
|
||||
if(m_Output != NULL && m_PickedPoint.x() >= 0 && m_PickedPoint.y() >= 0)
|
||||
{
|
||||
m_Ctx->Renderer()->AsyncInvoke([this](IReplayRenderer *) {
|
||||
if(m_Output != NULL)
|
||||
RT_PickPixelsAndUpdate();
|
||||
});
|
||||
INVOKE_MEMFN(RT_PickPixelsAndUpdate);
|
||||
}
|
||||
|
||||
INVOKE_MEMFN(RT_UpdateAndDisplay);
|
||||
|
||||
@@ -156,6 +156,7 @@ private slots:
|
||||
void render_mouseMove(QMouseEvent *e);
|
||||
void render_mouseWheel(QWheelEvent *e);
|
||||
void render_resize(QResizeEvent *e);
|
||||
void render_keyPress(QKeyEvent *e);
|
||||
|
||||
void thumb_clicked(QMouseEvent *);
|
||||
|
||||
@@ -165,9 +166,9 @@ private slots:
|
||||
void channelsWidget_selected(int index) { UI_UpdateChannels(); }
|
||||
private:
|
||||
void RT_FetchCurrentPixel(uint32_t x, uint32_t y, PixelValue &pickValue, PixelValue &realValue);
|
||||
void RT_PickPixelsAndUpdate();
|
||||
void RT_PickHoverAndUpdate();
|
||||
void RT_UpdateAndDisplay();
|
||||
void RT_PickPixelsAndUpdate(IReplayRenderer *);
|
||||
void RT_PickHoverAndUpdate(IReplayRenderer *);
|
||||
void RT_UpdateAndDisplay(IReplayRenderer *);
|
||||
|
||||
void UI_UpdateStatusText();
|
||||
void UI_UpdateTextureDetails();
|
||||
|
||||
Reference in New Issue
Block a user