summaryrefslogtreecommitdiff
path: root/gsk
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2023-05-05 06:57:08 -0400
committerMatthias Clasen <mclasen@redhat.com>2023-05-05 12:05:09 -0400
commitd7c3235cd06ce561ec7a023afbb8c994bf90df74 (patch)
treeec80c79febe525cfeac62eed090207c61bf82717 /gsk
parentea94bac79ea2cce81cde0689214b7797b77adc28 (diff)
downloadgtk+-d7c3235cd06ce561ec7a023afbb8c994bf90df74.tar.gz
gsk: Add some debug helpers
Diffstat (limited to 'gsk')
-rw-r--r--gsk/gl/gskgldriver.c18
-rw-r--r--gsk/gl/gskgldriverprivate.h7
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 *