[client] egl: implement partial copies for framebuffer textures

This uses the same line sweep algorithm originally created to copy DXGI
textures to IVSHMEM to implement the copy from IVSHMEM to memory-mapped
pixel buffer objects.
This commit is contained in:
Quantum
2021-08-07 02:10:30 -04:00
committed by Geoffrey McRae
parent 0462cee9db
commit ac3677d9ae
7 changed files with 106 additions and 21 deletions

View File

@@ -99,12 +99,15 @@ bool egl_texture_update(EGL_Texture * texture, const uint8_t * buffer)
}
bool egl_texture_update_from_frame(EGL_Texture * texture,
const FrameBuffer * frame)
const FrameBuffer * frame, const FrameDamageRect * damageRects,
int damageRectsCount)
{
const struct EGL_TexUpdate update =
{
.type = EGL_TEXTYPE_FRAMEBUFFER,
.frame = frame
.type = EGL_TEXTYPE_FRAMEBUFFER,
.frame = frame,
.rects = damageRects,
.rectCount = damageRectsCount,
};
return texture->ops->update(texture, &update);
}