summaryrefslogtreecommitdiff
path: root/gsk/vulkan/gskvulkantexturepipelineprivate.h
blob: 71f5382475612664088d4262d8f36a3ca146b92b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#pragma once

#include <graphene.h>

#include "gskvulkanpipelineprivate.h"

G_BEGIN_DECLS

typedef struct _GskVulkanTexturePipelineLayout GskVulkanTexturePipelineLayout;

#define GSK_TYPE_VULKAN_TEXTURE_PIPELINE (gsk_vulkan_texture_pipeline_get_type ())

G_DECLARE_FINAL_TYPE (GskVulkanTexturePipeline, gsk_vulkan_texture_pipeline, GSK, VULKAN_TEXTURE_PIPELINE, GskVulkanPipeline)

GskVulkanPipeline *     gsk_vulkan_texture_pipeline_new                 (GdkVulkanContext         *context,
                                                                         VkPipelineLayout          layout,
                                                                         const char               *shader_name,
                                                                         VkRenderPass              render_pass);

gsize                   gsk_vulkan_texture_pipeline_count_vertex_data   (GskVulkanTexturePipeline *pipeline);
void                    gsk_vulkan_texture_pipeline_collect_vertex_data (GskVulkanTexturePipeline *pipeline,
                                                                         guchar                   *data,
                                                                         const graphene_point_t   *offset,
                                                                         const graphene_rect_t    *rect,
                                                                         const graphene_rect_t    *tex_rect);
gsize                   gsk_vulkan_texture_pipeline_draw                (GskVulkanTexturePipeline *pipeline,
                                                                         VkCommandBuffer           command_buffer,
                                                                         gsize                     offset,
                                                                         gsize                     n_commands);

G_END_DECLS