From b0de8588f2f4a5204e9bc22218eed884fa741153 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Thu, 13 Mar 2025 22:34:29 +0100 Subject: Take screenshot with XGetImage on x11 to workaround nvidia driver (nvfbc) limitation that only allows one nvfbc session at a time --- include/image_writer.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'include/image_writer.h') diff --git a/include/image_writer.h b/include/image_writer.h index 79f549e..400edd0 100644 --- a/include/image_writer.h +++ b/include/image_writer.h @@ -11,7 +11,8 @@ typedef enum { } gsr_image_format; typedef enum { - GSR_IMAGE_WRITER_SOURCE_OPENGL + GSR_IMAGE_WRITER_SOURCE_OPENGL, + GSR_IMAGE_WRITER_SOURCE_MEMORY } gsr_image_writer_source; typedef struct { @@ -20,9 +21,12 @@ typedef struct { int width; int height; unsigned int texture; + const void *memory; /* Reference */ } gsr_image_writer; -bool gsr_image_writer_init(gsr_image_writer *self, gsr_image_writer_source source, gsr_egl *egl, int width, int height); +bool gsr_image_writer_init_opengl(gsr_image_writer *self, gsr_egl *egl, int width, int height); +/* |memory| is taken as a reference */ +bool gsr_image_writer_init_memory(gsr_image_writer *self, const void *memory, int width, int height); void gsr_image_writer_deinit(gsr_image_writer *self); /* Quality is between 1 and 100 where 100 is the max quality. Quality doesn't apply to lossless formats */ -- cgit v1.2.3-70-g09d2