[host] capture: pass frameIndex to capture backends

This allows capture backends to track damage made to each frame.
This commit is contained in:
Quantum 2021-07-11 19:18:59 -04:00 committed by Geoffrey McRae
parent f274bec8fc
commit 9ce4990793
5 changed files with 6 additions and 5 deletions

View file

@ -112,6 +112,6 @@ typedef struct CaptureInterface
CaptureResult (*capture )();
CaptureResult (*waitFrame )(CaptureFrame * frame, const size_t maxFrameSize);
CaptureResult (*getFrame )(FrameBuffer * frame, const unsigned int height);
CaptureResult (*getFrame )(FrameBuffer * frame, const unsigned int height, int frameIndex);
}
CaptureInterface;

View file

@ -213,7 +213,8 @@ static CaptureResult xcb_waitFrame(CaptureFrame * frame,
return CAPTURE_RESULT_OK;
}
static CaptureResult xcb_getFrame(FrameBuffer * frame, const unsigned int height)
static CaptureResult xcb_getFrame(FrameBuffer * frame,
const unsigned int height, int frameIndex)
{
assert(this);
assert(this->initialized);

View file

@ -1027,7 +1027,7 @@ static CaptureResult dxgi_waitFrame(CaptureFrame * frame, const size_t maxFrameS
}
static CaptureResult dxgi_getFrame(FrameBuffer * frame,
const unsigned int height)
const unsigned int height, int frameIndex)
{
assert(this);
assert(this->initialized);

View file

@ -428,7 +428,7 @@ static CaptureResult nvfbc_waitFrame(CaptureFrame * frame,
}
static CaptureResult nvfbc_getFrame(FrameBuffer * frame,
const unsigned int height)
const unsigned int height, int frameIndex)
{
framebuffer_write(
frame,

View file

@ -254,7 +254,7 @@ static bool sendFrame(void)
return true;
}
app.iface->getFrame(fb, frame.height);
app.iface->getFrame(fb, frame.height, app.frameIndex);
return true;
}