}
static void
-gsk_gl_renderer_render_ops (GskGLRenderer *self,
- gsize vertex_data_size)
+gsk_gl_renderer_render_ops (GskGLRenderer *self)
{
const Program *program = NULL;
+ gsize vertex_data_size = self->op_builder.vertices->len * sizeof (GskQuadVertex);
float *vertex_data = (float*)self->op_builder.vertices->data;
OpBufferIter iter;
OpKind kind;
{
GskGLRenderer *self = GSK_GL_RENDERER (renderer);
graphene_matrix_t projection;
- gsize buffer_size;
#ifdef G_ENABLE_DEBUG
GskProfiler *profiler;
gint64 gpu_time, cpu_time, start_time;
g_assert_cmpint (self->op_builder.current_render_target, ==, fbo_id);
ops_pop_modelview (&self->op_builder);
ops_pop_clip (&self->op_builder);
- buffer_size = self->op_builder.buffer_size;
ops_finish (&self->op_builder);
/*g_message ("Ops: %u", self->render_ops->len);*/
glBlendEquation (GL_FUNC_ADD);
gdk_gl_context_push_debug_group (self->gl_context, "Rendering ops");
- gsk_gl_renderer_render_ops (self, buffer_size);
+ gsk_gl_renderer_render_ops (self);
gdk_gl_context_pop_debug_group (self->gl_context);
#ifdef G_ENABLE_DEBUG
g_array_free (builder->clip_stack, TRUE);
builder->clip_stack = NULL;
- builder->buffer_size = 0;
builder->dx = 0;
builder->dy = 0;
builder->current_modelview = NULL;
}
else
{
- gsize offset = builder->buffer_size / sizeof (GskQuadVertex);
-
op = op_buffer_add (&builder->render_ops, OP_DRAW);
- op->vao_offset = offset;
+ op->vao_offset = builder->vertices->len;
op->vao_size = GL_N_VERTICES;
}
g_array_append_vals (builder->vertices, vertex_data, GL_N_VERTICES);
- builder->buffer_size += sizeof (GskQuadVertex) * GL_N_VERTICES;
}
/* The offset is only valid for the current modelview.