diff options
author | Matthias Clasen <mclasen@redhat.com> | 2023-01-28 15:20:26 -0500 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2023-04-27 06:57:02 +0200 |
commit | 8292b846d58a09295e4e30c25c4e19c3ea4be8e1 (patch) | |
tree | f88bf88215d5eedcafb49180f0802c7319a2b0ce /gsk/gl/gskglprogramprivate.h | |
parent | 6efaa79e3c1b9b17a99f93de2e8a76705f3409ff (diff) | |
download | gtk+-8292b846d58a09295e4e30c25c4e19c3ea4be8e1.tar.gz |
gsk: Synchronize when using textures
Pass the GLsync object from texture into our
command queue, and when executing the queue,
wait on the sync object the first time we
use its associated texture.
Diffstat (limited to 'gsk/gl/gskglprogramprivate.h')
-rw-r--r-- | gsk/gl/gskglprogramprivate.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gsk/gl/gskglprogramprivate.h b/gsk/gl/gskglprogramprivate.h index 50c191eb4b..6bfbe48f02 100644 --- a/gsk/gl/gskglprogramprivate.h +++ b/gsk/gl/gskglprogramprivate.h @@ -286,6 +286,22 @@ gsk_gl_program_set_uniform_texture (GskGLProgram *self, } static inline void +gsk_gl_program_set_uniform_texture_with_sync (GskGLProgram *self, + guint key, + guint stamp, + GLenum texture_target, + GLenum texture_slot, + guint texture_id, + GLint min_filter, + GLint max_filter, + gpointer sync) +{ + gsk_gl_program_set_uniform_texture_with_filter (self, key, stamp, texture_target, texture_slot, texture_id, + min_filter, max_filter); + gsk_gl_syncs_add_sync (&self->driver->command_queue->syncs, texture_id, sync); +} + +static inline void gsk_gl_program_set_uniform_matrix (GskGLProgram *self, guint key, guint stamp, |