diff options
author | Matthias Clasen <mclasen@redhat.com> | 2023-05-05 06:57:08 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2023-05-05 12:05:09 -0400 |
commit | d7c3235cd06ce561ec7a023afbb8c994bf90df74 (patch) | |
tree | ec80c79febe525cfeac62eed090207c61bf82717 /gsk | |
parent | ea94bac79ea2cce81cde0689214b7797b77adc28 (diff) | |
download | gtk+-d7c3235cd06ce561ec7a023afbb8c994bf90df74.tar.gz |
gsk: Add some debug helpers
Diffstat (limited to 'gsk')
-rw-r--r-- | gsk/gl/gskgldriver.c | 18 | ||||
-rw-r--r-- | gsk/gl/gskgldriverprivate.h | 7 |
2 files changed, 16 insertions, 9 deletions
diff --git a/gsk/gl/gskgldriver.c b/gsk/gl/gskgldriver.c index d0af5e76da..1530056fcf 100644 --- a/gsk/gl/gskgldriver.c +++ b/gsk/gl/gskgldriver.c @@ -1121,19 +1121,21 @@ gsk_gl_driver_lookup_shader (GskGLDriver *self, } #ifdef G_ENABLE_DEBUG -static void -write_atlas_to_png (GskGLDriver *driver, - GskGLTextureAtlas *atlas, - const char *filename) +void +gsk_gl_driver_save_texture_to_png (GskGLDriver *driver, + int texture_id, + int width, + int height, + const char *filename) { GdkGLTextureBuilder *builder; GdkTexture *texture; builder = gdk_gl_texture_builder_new (); gdk_gl_texture_builder_set_context (builder, gsk_gl_driver_get_context (driver)); - gdk_gl_texture_builder_set_id (builder, atlas->texture_id); - gdk_gl_texture_builder_set_width (builder, atlas->width); - gdk_gl_texture_builder_set_height (builder, atlas->height); + gdk_gl_texture_builder_set_id (builder, texture_id); + gdk_gl_texture_builder_set_width (builder, width); + gdk_gl_texture_builder_set_height (builder, height); texture = gdk_gl_texture_builder_build (builder, NULL, NULL); gdk_texture_save_to_png (texture, filename); @@ -1168,7 +1170,7 @@ gsk_gl_driver_save_atlases_to_png (GskGLDriver *self, G_DIR_SEPARATOR_S, (int)self->current_frame_id, atlas->texture_id); - write_atlas_to_png (self, atlas, filename); + gsk_gl_driver_save_texture_to_png (self, atlas->texture_id, atlas->width, atlas->height, filename); g_free (filename); } diff --git a/gsk/gl/gskgldriverprivate.h b/gsk/gl/gskgldriverprivate.h index 15340b0a1b..666d20090b 100644 --- a/gsk/gl/gskgldriverprivate.h +++ b/gsk/gl/gskgldriverprivate.h @@ -176,8 +176,13 @@ GskGLProgram * gsk_gl_driver_lookup_shader (GskGLDriver *s GError **error); #ifdef G_ENABLE_DEBUG +void gsk_gl_driver_save_texture_to_png (GskGLDriver *self, + int texture_id, + int width, + int height, + const char *filename); void gsk_gl_driver_save_atlases_to_png (GskGLDriver *self, - const char *directory); + const char *filename); #endif static inline GskGLTexture * |