[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

@@ -24,6 +24,8 @@
#include "texture_util.h"
#include "common/locking.h"
#define EGL_TEX_BUFFER_MAX 2
typedef struct TextureBuffer
{
EGL_Texture base;
@@ -31,9 +33,9 @@ typedef struct TextureBuffer
EGL_TexFormat format;
int texCount;
GLuint tex[2];
GLuint tex[EGL_TEX_BUFFER_MAX];
GLuint sampler;
EGL_TexBuffer buf[2];
EGL_TexBuffer buf[EGL_TEX_BUFFER_MAX];
int bufFree;
GLsync sync;
LG_Lock copyLock;