summaryrefslogtreecommitdiff
path: root/gsk/vulkan/gskvulkanblurpipelineprivate.h
blob: 74db815b08cc687943924390ab2e5d7463ad57ad (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 _GskVulkanBlurPipelineLayout GskVulkanBlurPipelineLayout;

#define GSK_TYPE_VULKAN_BLUR_PIPELINE (gsk_vulkan_blur_pipeline_get_type ())

G_DECLARE_FINAL_TYPE (GskVulkanBlurPipeline, gsk_vulkan_blur_pipeline, GSK, VULKAN_BLUR_PIPELINE, GskVulkanPipeline)

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

gsize                   gsk_vulkan_blur_pipeline_count_vertex_data     (GskVulkanBlurPipeline   *pipeline);
void                    gsk_vulkan_blur_pipeline_collect_vertex_data   (GskVulkanBlurPipeline   *pipeline,
                                                                        guchar                  *data,
                                                                        const graphene_rect_t   *rect,
                                                                        const graphene_rect_t   *tex_rect,
                                                                        double                   radius);
gsize                   gsk_vulkan_blur_pipeline_draw                  (GskVulkanBlurPipeline   *pipeline,
                                                                        VkCommandBuffer          command_buffer,
                                                                        gsize                    offset,
                                                                        gsize                    n_commands);

G_END_DECLS