diff options
author | Christian Hergert <chergert@redhat.com> | 2020-11-18 17:02:27 -0800 |
---|---|---|
committer | Christian Hergert <chergert@redhat.com> | 2020-11-18 20:16:40 -0800 |
commit | 82b4c34ecaef5be71d17981601adcc67ab121509 (patch) | |
tree | d16ad806978610268360b4f7e4f1b3c0b93ed441 | |
parent | ee47ddf5fdd9fb77a8a721ebe12d352d85c3bc9e (diff) | |
download | gtk+-82b4c34ecaef5be71d17981601adcc67ab121509.tar.gz |
gl: add some debugging information to DEBUG_OPS
-rw-r--r-- | gsk/gl/gskglrenderer.c | 18 | ||||
-rw-r--r-- | gsk/gl/gskglrenderopsprivate.h | 2 |
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; |