[host] capture: add damage rectangles to capture interface

This commit is contained in:
Quantum 2021-07-10 18:39:40 -04:00 committed by Geoffrey McRae
parent 69b20aee05
commit 80ab4b5393
2 changed files with 6 additions and 0 deletions

View File

@ -23,6 +23,7 @@
#include <stdbool.h>
#include <stdint.h>
#include "common/framebuffer.h"
#include "common/KVMFR.h"
typedef enum CaptureResult
{
@ -69,6 +70,8 @@ typedef struct CaptureFrame
unsigned int stride;
CaptureFormat format;
CaptureRotation rotation;
uint32_t damageRectsCount;
FrameDamageRect damageRects[KVMFR_MAX_DAMAGE_RECTS];
}
CaptureFrame;

View File

@ -239,6 +239,9 @@ static bool sendFrame(void)
fi->blockScreensaver = os_blockScreensaver();
app.frameValid = true;
fi->damageRectsCount = frame.damageRectsCount;
memcpy(fi->damageRects, frame.damageRects, frame.damageRectsCount * sizeof(FrameDamageRect));
// put the framebuffer on the border of the next page
// this is to allow for aligned DMA transfers by the receiver
FrameBuffer * fb = (FrameBuffer *)(((uint8_t*)fi) + fi->offset);