1 #ifndef __GSK_VULKAN_BLEND_MODE_PIPELINE_PRIVATE_H__
2 #define __GSK_VULKAN_BLEND_MODE_PIPELINE_PRIVATE_H__
3 
4 #include <graphene.h>
5 
6 #include "gskvulkanpipelineprivate.h"
7 #include "gskenums.h"
8 
9 G_BEGIN_DECLS
10 
11 typedef struct _GskVulkanBlendModePipelineLayout GskVulkanBlendModePipelineLayout;
12 
13 #define GSK_TYPE_VULKAN_BLEND_MODE_PIPELINE (gsk_vulkan_blend_mode_pipeline_get_type ())
14 
15 G_DECLARE_FINAL_TYPE (GskVulkanBlendModePipeline, gsk_vulkan_blend_mode_pipeline, GSK, VULKAN_BLEND_MODE_PIPELINE, GskVulkanPipeline)
16 
17 GskVulkanPipeline * gsk_vulkan_blend_mode_pipeline_new                 (GdkVulkanContext           *context,
18                                                                         VkPipelineLayout            layout,
19                                                                         const char                 *shader_name,
20                                                                         VkRenderPass                render_pass);
21 
22 gsize               gsk_vulkan_blend_mode_pipeline_count_vertex_data   (GskVulkanBlendModePipeline *pipeline);
23 void                gsk_vulkan_blend_mode_pipeline_collect_vertex_data (GskVulkanBlendModePipeline *pipeline,
24                                                                         guchar                     *data,
25                                                                         const graphene_rect_t      *bounds,
26                                                                         const graphene_rect_t      *start_bounds,
27                                                                         const graphene_rect_t      *end_bounds,
28                                                                         GskBlendMode                blend_mode);
29 gsize               gsk_vulkan_blend_mode_pipeline_draw                (GskVulkanBlendModePipeline *pipeline,
30                                                                         VkCommandBuffer             command_buffer,
31                                                                         gsize                       offset,
32                                                                         gsize                       n_commands);
33 
34 
35 G_END_DECLS
36 
37 #endif /* __GSK_VULKAN_BLEND_MODE_PIPELINE_PRIVATE_H__ */
38