Apply FlipY to co-ordinates used for debug or pixel history. Refs #839

This commit is contained in:
baldurk
2018-01-17 14:19:10 +00:00
parent 7c53d7c6e0
commit a13b45b0ef
+12
View File
@@ -3413,6 +3413,13 @@ void TextureViewer::on_debugPixelContext_clicked()
int x = m_PickedPoint.x() >> (int)m_TexDisplay.mip;
int y = m_PickedPoint.y() >> (int)m_TexDisplay.mip;
TextureDescription *texptr = GetCurrentTexture();
uint32_t mipHeight = qMax(1U, texptr->height >> (int)m_TexDisplay.mip);
if(m_TexDisplay.flipY)
y = (int)(mipHeight - 1) - y;
m_Ctx.Replay().AsyncInvoke([this, x, y](IReplayController *r) {
ShaderDebugTrace *trace = r->DebugPixel((uint32_t)x, (uint32_t)y, m_TexDisplay.sampleIdx, ~0U);
@@ -3455,6 +3462,11 @@ void TextureViewer::on_pixelHistory_clicked()
int x = m_PickedPoint.x() >> (int)m_TexDisplay.mip;
int y = m_PickedPoint.y() >> (int)m_TexDisplay.mip;
uint32_t mipHeight = qMax(1U, texptr->height >> (int)m_TexDisplay.mip);
if(m_TexDisplay.flipY)
y = (int)(mipHeight - 1) - y;
IPixelHistoryView *hist = m_Ctx.ViewPixelHistory(texptr->resourceId, x, y, m_TexDisplay);
m_Ctx.AddDockWindow(hist->Widget(), DockReference::RightOf, this, 0.3f);