diff --git a/gfx/drivers/d3d11.c b/gfx/drivers/d3d11.c index 92a0eb1767..81b4eb1999 100644 --- a/gfx/drivers/d3d11.c +++ b/gfx/drivers/d3d11.c @@ -3696,9 +3696,9 @@ static bool d3d11_gfx_read_viewport(void* data, uint8_t* buffer, bool is_idle) for (x = 0; x < d3d11->vp.width; x++) { - bufferRow[3 * x + 2] = BackBufferData[4 * (x + (int)d3d11->frame.viewport.TopLeftX) + 0]; - bufferRow[3 * x + 1] = BackBufferData[4 * (x + (int)d3d11->frame.viewport.TopLeftX) + 1]; - bufferRow[3 * x + 0] = BackBufferData[4 * (x + (int)d3d11->frame.viewport.TopLeftX) + 2]; + bufferRow[3 * x + 2] = BackBufferData[4 * (x + (int)d3d11->vp.x) + 0]; + bufferRow[3 * x + 1] = BackBufferData[4 * (x + (int)d3d11->vp.x) + 1]; + bufferRow[3 * x + 0] = BackBufferData[4 * (x + (int)d3d11->vp.x) + 2]; } } ret = true; @@ -3713,7 +3713,9 @@ static bool d3d11_gfx_read_viewport(void* data, uint8_t* buffer, bool is_idle) /* Release the backbuffer staging. */ BackBufferStaging->lpVtbl->Release(BackBufferStaging); + BackBufferResource->lpVtbl->Release(BackBufferResource); BackBufferStagingTexture->lpVtbl->Release(BackBufferStagingTexture); + BackBuffer->lpVtbl->Release(BackBuffer); return ret; }