summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Hergert <chergert@redhat.com>2020-11-18 17:02:27 -0800
committerChristian Hergert <chergert@redhat.com>2020-11-18 20:16:40 -0800
commit82b4c34ecaef5be71d17981601adcc67ab121509 (patch)
treed16ad806978610268360b4f7e4f1b3c0b93ed441
parentee47ddf5fdd9fb77a8a721ebe12d352d85c3bc9e (diff)
downloadgtk+-82b4c34ecaef5be71d17981601adcc67ab121509.tar.gz
gl: add some debugging information to DEBUG_OPS
-rw-r--r--gsk/gl/gskglrenderer.c18
-rw-r--r--gsk/gl/gskglrenderopsprivate.h2
2 files changed, 16 insertions, 4 deletions
diff --git a/gsk/gl/gskglrenderer.c b/gsk/gl/gskglrenderer.c
index 4f16034cd8..1d644da24c 100644
--- a/gsk/gl/gskglrenderer.c
+++ b/gsk/gl/gskglrenderer.c
@@ -2793,8 +2793,12 @@ apply_modelview_op (const Program *program,
{
float mat[16];
- OP_PRINT (" -> Modelview");
graphene_matrix_to_float (&op->matrix, mat);
+ OP_PRINT (" -> Modelview { { %f,%f,%f,%f }, { %f,%f,%f,%f }, { %f,%f,%f,%f }, { %f,%f,%f,%f }",
+ mat[0], mat[1], mat[2], mat[3],
+ mat[4], mat[5], mat[6], mat[7],
+ mat[8], mat[9], mat[10], mat[11],
+ mat[12], mat[13], mat[14], mat[15]);
glUniformMatrix4fv (program->modelview_location, 1, GL_FALSE, mat);
}
@@ -2804,8 +2808,12 @@ apply_projection_op (const Program *program,
{
float mat[16];
- OP_PRINT (" -> Projection");
graphene_matrix_to_float (&op->matrix, mat);
+ OP_PRINT (" -> Projection { { %f,%f,%f,%f }, { %f,%f,%f,%f }, { %f,%f,%f,%f }, { %f,%f,%f,%f }",
+ mat[0], mat[1], mat[2], mat[3],
+ mat[4], mat[5], mat[6], mat[7],
+ mat[8], mat[9], mat[10], mat[11],
+ mat[12], mat[13], mat[14], mat[15]);
glUniformMatrix4fv (program->projection_location, 1, GL_FALSE, mat);
}
@@ -3260,6 +3268,7 @@ gsk_gl_renderer_create_programs (GskGLRenderer *self,
{
Program *prog = &programs->programs[i];
+ prog->name = program_definitions[i].name;
prog->index = i;
prog->id = gsk_gl_shader_builder_create_program (&shader_builder,
program_definitions[i].resource_path,
@@ -4052,8 +4061,9 @@ gsk_gl_renderer_render_ops (GskGLRenderer *self)
{
const OpDraw *op = ptr;
- OP_PRINT (" -> draw %ld, size %ld and program %d\n",
- op->vao_offset, op->vao_size, program->index);
+ OP_PRINT (" -> draw %ld, size %ld and program %d: %s",
+ op->vao_offset, op->vao_size, program->index,
+ program->name ?: "");
glDrawArrays (GL_TRIANGLES, op->vao_offset, op->vao_size);
break;
}
diff --git a/gsk/gl/gskglrenderopsprivate.h b/gsk/gl/gskglrenderopsprivate.h
index 6f90a0c212..7119ae0680 100644
--- a/gsk/gl/gskglrenderopsprivate.h
+++ b/gsk/gl/gskglrenderopsprivate.h
@@ -90,6 +90,8 @@ typedef struct
struct _Program
{
+ const char *name;
+
int index; /* Into the renderer's program array -1 for custom */
int id;