VkPipelineLayout pipeline_layout;
GskVulkanRenderOps render_ops;
+ GskVulkanOp *first_op;
GskVulkanUploader *uploader;
GskVulkanRenderPass *render_pass;
keya->format == keyb->format;
}
-static GskVulkanOp *
-gsk_vulkan_render_get_first_op (GskVulkanRender *self)
-{
- if (gsk_vulkan_render_ops_get_size (&self->render_ops) == 0)
- return NULL;
-
- return (GskVulkanOp *) gsk_vulkan_render_ops_index (&self->render_ops, 0);
-}
-
static void
gsk_vulkan_render_verbose_print (GskVulkanRender *self,
const char *heading)
GString *string = g_string_new (heading);
g_string_append (string, ":\n");
- for (op = gsk_vulkan_render_get_first_op (self); op; op = op->next)
+ for (op = self->first_op; op; op = op->next)
{
if (op->op_class->stage == GSK_VULKAN_STAGE_END_PASS)
indent--;
GskVulkanOp *last, *op;
guint i;
- last = (GskVulkanOp *) gsk_vulkan_render_ops_index (&self->render_ops, 0);
+ self->first_op = (GskVulkanOp *) gsk_vulkan_render_ops_index (&self->render_ops, 0);
+ last = self->first_op;
for (i = last->op_class->size; i < gsk_vulkan_render_ops_get_size (&self->render_ops); i += op->op_class->size)
{
op = (GskVulkanOp *) gsk_vulkan_render_ops_index (&self->render_ops, i);
gsk_vulkan_glyph_cache_upload (gsk_vulkan_renderer_get_glyph_cache (GSK_VULKAN_RENDERER (self->renderer)),
self->uploader);
- for (op = gsk_vulkan_render_get_first_op (self); op; op = op->next)
+ for (op = self->first_op; op; op = op->next)
{
gsk_vulkan_op_upload (op, self->uploader);
}
device = gdk_vulkan_context_get_device (self->vulkan);
- for (op = gsk_vulkan_render_get_first_op (self); op; op = op->next)
+ for (op = self->first_op; op; op = op->next)
{
gsk_vulkan_op_reserve_descriptor_sets (op, self);
}
guchar *data;
n_bytes = 0;
- for (op = gsk_vulkan_render_get_first_op (self); op; op = op->next)
+ for (op = self->first_op; op; op = op->next)
{
n_bytes = gsk_vulkan_op_count_vertex_data (op, n_bytes);
}
self->vertex_buffer = gsk_vulkan_buffer_new (self->vulkan, round_up (n_bytes, VERTEX_BUFFER_SIZE_STEP));
data = gsk_vulkan_buffer_map (self->vertex_buffer);
- for (op = gsk_vulkan_render_get_first_op (self); op; op = op->next)
+ for (op = self->first_op; op; op = op->next)
{
gsk_vulkan_op_collect_vertex_data (op, data);
}
gsk_vulkan_render_collect_vertex_buffer (self);
- gsk_vulkan_render_draw_pass (self, self->render_pass, gsk_vulkan_render_get_first_op (self));
+ gsk_vulkan_render_draw_pass (self, self->render_pass, self->first_op);
#ifdef G_ENABLE_DEBUG
if (GSK_RENDERER_DEBUG_CHECK (self->renderer, SYNC))