aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2022-12-01 00:47:30 +0100
committerdec05eba <dec05eba@protonmail.com>2022-12-20 15:32:42 +0100
commit4e6fc174fe02d3ddb0d3dfe5894a31502df9b1ed (patch)
tree033dca81f26edf5f662406b902ca6fe6e2fd4f5e /include
parent6a6bb703bce2d844175950ede4bda5d06dc5a8ae (diff)
follow focused
Diffstat (limited to 'include')
-rw-r--r--include/capture/xcomposite_cuda.h2
-rw-r--r--include/capture/xcomposite_drm.h2
-rw-r--r--include/egl.h6
-rw-r--r--include/library_loader.h3
-rw-r--r--include/window_texture.h3
5 files changed, 11 insertions, 5 deletions
diff --git a/include/capture/xcomposite_cuda.h b/include/capture/xcomposite_cuda.h
index 36b1780..d9b4b10 100644
--- a/include/capture/xcomposite_cuda.h
+++ b/include/capture/xcomposite_cuda.h
@@ -9,6 +9,8 @@ typedef struct _XDisplay Display;
typedef struct {
Window window;
+ bool follow_focused; /* If this is set then |window| is ignored */
+ vec2i region_size; /* This is currently only used with |follow_focused| */
} gsr_capture_xcomposite_cuda_params;
gsr_capture* gsr_capture_xcomposite_cuda_create(const gsr_capture_xcomposite_cuda_params *params);
diff --git a/include/capture/xcomposite_drm.h b/include/capture/xcomposite_drm.h
index f814f7a..40a8971 100644
--- a/include/capture/xcomposite_drm.h
+++ b/include/capture/xcomposite_drm.h
@@ -9,6 +9,8 @@ typedef struct _XDisplay Display;
typedef struct {
Window window;
+ bool follow_focused; /* If this is set then |window| is ignored */
+ vec2i region_size; /* This is currently only used with |follow_focused| */
} gsr_capture_xcomposite_drm_params;
gsr_capture* gsr_capture_xcomposite_drm_create(const gsr_capture_xcomposite_drm_params *params);
diff --git a/include/egl.h b/include/egl.h
index 9016a87..6e8f763 100644
--- a/include/egl.h
+++ b/include/egl.h
@@ -99,12 +99,16 @@ typedef struct {
EGLDisplay (*eglGetDisplay)(EGLNativeDisplayType display_id);
unsigned int (*eglInitialize)(EGLDisplay dpy, int32_t *major, int32_t *minor);
+ unsigned int (*eglTerminate)(EGLDisplay dpy);
unsigned int (*eglChooseConfig)(EGLDisplay dpy, const int32_t *attrib_list, EGLConfig *configs, int32_t config_size, int32_t *num_config);
EGLSurface (*eglCreateWindowSurface)(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const int32_t *attrib_list);
EGLContext (*eglCreateContext)(EGLDisplay dpy, EGLConfig config, EGLContext share_context, const int32_t *attrib_list);
unsigned int (*eglMakeCurrent)(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
EGLSurface (*eglCreatePixmapSurface)(EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const int32_t *attrib_list);
EGLImage (*eglCreateImage)(EGLDisplay dpy, EGLContext ctx, unsigned int target, EGLClientBuffer buffer, const intptr_t *attrib_list);
+ unsigned int (*eglDestroyContext)(EGLDisplay dpy, EGLContext ctx);
+ unsigned int (*eglDestroySurface)(EGLDisplay dpy, EGLSurface surface);
+ unsigned int (*eglDestroyImage)(EGLDisplay dpy, EGLImage image);
unsigned int (*eglBindTexImage)(EGLDisplay dpy, EGLSurface surface, int32_t buffer);
unsigned int (*eglSwapInterval)(EGLDisplay dpy, int32_t interval);
unsigned int (*eglSwapBuffers)(EGLDisplay dpy, EGLSurface surface);
@@ -125,6 +129,7 @@ typedef struct {
void (*glGetTexLevelParameteriv)(unsigned int target, int level, unsigned int pname, int *params);
void (*glTexImage2D)(unsigned int target, int level, int internalFormat, int width, int height, int border, unsigned int format, unsigned int type, const void *pixels);
void (*glCopyImageSubData)(unsigned int srcName, unsigned int srcTarget, int srcLevel, int srcX, int srcY, int srcZ, unsigned int dstName, unsigned int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int srcWidth, int srcHeight, int srcDepth);
+ void (*glClearTexImage)(unsigned int texture, unsigned int level, unsigned int format, unsigned int type, const void *data);
void (*glGenFramebuffers)(int n, unsigned int *framebuffers);
void (*glBindFramebuffer)(unsigned int target, unsigned int framebuffer);
void (*glViewport)(int x, int y, int width, int height);
@@ -164,7 +169,6 @@ typedef struct {
} gsr_egl;
bool gsr_egl_load(gsr_egl *self, Display *dpy);
-bool gsr_egl_make_context_current(gsr_egl *self);
void gsr_egl_unload(gsr_egl *self);
#endif /* GSR_EGL_H */
diff --git a/include/library_loader.h b/include/library_loader.h
index d359c5b..1622521 100644
--- a/include/library_loader.h
+++ b/include/library_loader.h
@@ -2,6 +2,7 @@
#define GSR_LIBRARY_LOADER_H
#include <dlfcn.h>
+#include <stdbool.h>
#include <stdio.h>
typedef struct {
@@ -38,4 +39,4 @@ static void dlsym_load_list_optional(void *handle, const dlsym_assign *dlsyms) {
}
}
-#endif /* GSR_LIBRARY_LOADER_H */ \ No newline at end of file
+#endif /* GSR_LIBRARY_LOADER_H */
diff --git a/include/window_texture.h b/include/window_texture.h
index 3e7bb63..75bb2a7 100644
--- a/include/window_texture.h
+++ b/include/window_texture.h
@@ -8,9 +8,6 @@ typedef struct {
Window window;
Pixmap pixmap;
unsigned int texture_id;
- unsigned int target_texture_id;
- int texture_width;
- int texture_height;
int redirected;
gsr_egl *egl;
} WindowTexture;