aboutsummaryrefslogtreecommitdiff
path: root/src/image_writer.c
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2025-06-09 22:11:16 +0200
committerdec05eba <dec05eba@protonmail.com>2025-06-09 22:11:16 +0200
commit7f00ce22e7e86904e09f900422dfa591d045f447 (patch)
tree7ba28db730298c462b3a028348b4960977e751c2 /src/image_writer.c
parent3ba1dbda98fcf221eb92d241b753ccdef9eb2a08 (diff)
Revert "Fix screen and portal capture not working on some intel gpus"
This reverts commit 3ba1dbda98fcf221eb92d241b753ccdef9eb2a08.
Diffstat (limited to 'src/image_writer.c')
-rw-r--r--src/image_writer.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/image_writer.c b/src/image_writer.c
index 3d731a0..e153a34 100644
--- a/src/image_writer.c
+++ b/src/image_writer.c
@@ -71,15 +71,11 @@ static bool gsr_image_writer_write_opengl_texture_to_file(gsr_image_writer *self
return false;
}
- unsigned int fbo = 0;
- self->egl->glGenFramebuffers(1, &fbo);
- self->egl->glBindFramebuffer(GL_FRAMEBUFFER, fbo);
- self->egl->glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, self->texture, 0);
-
- self->egl->glReadPixels(0, 0, self->width, self->height, GL_RGBA, GL_UNSIGNED_BYTE, frame_data);
-
- self->egl->glBindFramebuffer(GL_FRAMEBUFFER, 0);
- self->egl->glDeleteFramebuffers(1, &fbo);
+ // TODO: hdr support
+ self->egl->glBindTexture(GL_TEXTURE_2D, self->texture);
+ // We could use glGetTexSubImage, but it's only available starting from opengl 4.5
+ self->egl->glGetTexImage(GL_TEXTURE_2D, 0, GL_RGBA, GL_UNSIGNED_BYTE, frame_data);
+ self->egl->glBindTexture(GL_TEXTURE_2D, 0);
self->egl->glFlush();
self->egl->glFinish();