aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meson.build2
-rw-r--r--project.conf2
-rw-r--r--src/color_conversion.c3
-rw-r--r--src/egl.c12
4 files changed, 5 insertions, 14 deletions
diff --git a/meson.build b/meson.build
index 9a1dd48..953c8b6 100644
--- a/meson.build
+++ b/meson.build
@@ -1,4 +1,4 @@
-project('gpu-screen-recorder', ['c', 'cpp'], version : '5.5.6', default_options : ['warning_level=2'])
+project('gpu-screen-recorder', ['c', 'cpp'], version : '5.5.7', default_options : ['warning_level=2'])
add_project_arguments('-Wshadow', language : ['c', 'cpp'])
if get_option('buildtype') == 'debug'
diff --git a/project.conf b/project.conf
index a631a69..0b1181f 100644
--- a/project.conf
+++ b/project.conf
@@ -1,7 +1,7 @@
[package]
name = "gpu-screen-recorder"
type = "executable"
-version = "5.5.6"
+version = "5.5.7"
platforms = ["posix"]
[config]
diff --git a/src/color_conversion.c b/src/color_conversion.c
index 858990c..caae0b0 100644
--- a/src/color_conversion.c
+++ b/src/color_conversion.c
@@ -920,7 +920,6 @@ void gsr_color_conversion_draw(gsr_color_conversion *self, unsigned int texture_
source_position.x += source_pos.x;
source_position.y += source_pos.y;
gsr_color_conversion_draw_graphics(self, texture_id, external_texture, rotation_matrix, source_position, source_size, destination_pos, texture_size, scale, source_color);
- // TODO: Is glFlush and glFinish needed here for graphics garbage?
} else {
switch(rotation) {
case GSR_ROT_0:
@@ -955,13 +954,13 @@ void gsr_color_conversion_draw(gsr_color_conversion *self, unsigned int texture_
}
}
+ self->params.egl->glFlush();
// TODO: Use the minimal barrier required
self->params.egl->glMemoryBarrier(GL_ALL_BARRIER_BITS); // GL_SHADER_IMAGE_ACCESS_BARRIER_BIT
self->params.egl->glUseProgram(0);
gsr_color_conversion_swizzle_reset(self, source_color);
self->params.egl->glBindTexture(texture_target, 0);
- self->params.egl->glFlush();
}
void gsr_color_conversion_clear(gsr_color_conversion *self) {
diff --git a/src/egl.c b/src/egl.c
index 8d37986..6661580 100644
--- a/src/egl.c
+++ b/src/egl.c
@@ -517,15 +517,7 @@ void gsr_egl_unload(gsr_egl *self) {
}
void gsr_egl_swap_buffers(gsr_egl *self) {
- /* This uses less cpu than swap buffer on nvidia */
- // TODO: Do these and remove swap
self->glFlush();
-// self->glFinish();
- // if(self->egl_display) {
- // self->eglSwapBuffers(self->egl_display, self->egl_surface);
- // } else if(gsr_window_get_display_server(self->window) == GSR_DISPLAY_SERVER_X11) {
- // Display *display = gsr_window_get_display(self->window);
- // const Window window = (Window)gsr_window_get_window(self->window);
- // self->glXSwapBuffers(display, window);
- // }
+ // TODO: Use the minimal barrier required
+ self->glMemoryBarrier(GL_ALL_BARRIER_BITS); // GL_SHADER_IMAGE_ACCESS_BARRIER_BIT
}