mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2025-01-16 15:14:17 +00:00
32e123fa67
GskVulkanOp is meant to be a proper abstraction of operations the Vulkan renderer will be doing. For now it's an atrocious clunky piece of junk wedged into the renderpass codebase. It's so temporary that I didn't even adjust indentation of the code.
59 lines
1.5 KiB
C
59 lines
1.5 KiB
C
#include "config.h"
|
|
|
|
#include "gskvulkanopprivate.h"
|
|
|
|
void
|
|
gsk_vulkan_op_finish (GskVulkanOp *op)
|
|
{
|
|
op->op_class->finish (op);
|
|
}
|
|
|
|
void
|
|
gsk_vulkan_op_upload (GskVulkanOp *op,
|
|
GskVulkanRenderPass *pass,
|
|
GskVulkanRender *render,
|
|
GskVulkanUploader *uploader,
|
|
const graphene_rect_t *clip,
|
|
const graphene_vec2_t *scale)
|
|
{
|
|
op->op_class->upload (op, pass, render, uploader, clip, scale);
|
|
}
|
|
|
|
gsize
|
|
gsk_vulkan_op_count_vertex_data (GskVulkanOp *op,
|
|
gsize n_bytes)
|
|
{
|
|
return op->op_class->count_vertex_data (op, n_bytes);
|
|
}
|
|
|
|
void
|
|
gsk_vulkan_op_collect_vertex_data (GskVulkanOp *op,
|
|
GskVulkanRenderPass *pass,
|
|
GskVulkanRender *render,
|
|
guchar *data)
|
|
{
|
|
op->op_class->collect_vertex_data (op, pass, render, data);
|
|
}
|
|
|
|
void
|
|
gsk_vulkan_op_reserve_descriptor_sets (GskVulkanOp *op,
|
|
GskVulkanRender *render)
|
|
{
|
|
op->op_class->reserve_descriptor_sets (op, render);
|
|
}
|
|
|
|
GskVulkanPipeline *
|
|
gsk_vulkan_op_get_pipeline (GskVulkanOp *op)
|
|
{
|
|
return op->op_class->get_pipeline (op);
|
|
}
|
|
|
|
void
|
|
gsk_vulkan_op_command (GskVulkanOp *op,
|
|
VkPipelineLayout pipeline_layout,
|
|
VkCommandBuffer command_buffer)
|
|
{
|
|
op->op_class->command (op, pipeline_layout, command_buffer);
|
|
}
|
|
|