Rename mask pipeline to text pipeline

It will become text-specific when we move to using one
instance per glyph, so rename it already.
This commit is contained in:
Matthias Clasen
2017-09-10 07:52:22 -04:00
parent a6a3186bd7
commit e4b5835185
6 changed files with 49 additions and 49 deletions

View File

@@ -17,7 +17,7 @@
#include "gskvulkancolorpipelineprivate.h"
#include "gskvulkaneffectpipelineprivate.h"
#include "gskvulkanlineargradientpipelineprivate.h"
#include "gskvulkanmaskpipelineprivate.h"
#include "gskvulkantextpipelineprivate.h"
#define ORTHO_NEAR_PLANE -10000
#define ORTHO_FAR_PLANE 10000
@@ -345,9 +345,9 @@ gsk_vulkan_render_get_pipeline (GskVulkanRender *self,
{ "blur", gsk_vulkan_blur_pipeline_new },
{ "blur-clip", gsk_vulkan_blur_pipeline_new },
{ "blur-clip-rounded", gsk_vulkan_blur_pipeline_new },
{ "mask", gsk_vulkan_mask_pipeline_new },
{ "mask-clip", gsk_vulkan_mask_pipeline_new },
{ "mask-clip-rounded", gsk_vulkan_mask_pipeline_new },
{ "mask", gsk_vulkan_text_pipeline_new },
{ "mask-clip", gsk_vulkan_text_pipeline_new },
{ "mask-clip-rounded", gsk_vulkan_text_pipeline_new },
};
g_return_val_if_fail (type < GSK_VULKAN_N_PIPELINES, NULL);

View File

@@ -14,7 +14,7 @@
#include "gskvulkancolorpipelineprivate.h"
#include "gskvulkaneffectpipelineprivate.h"
#include "gskvulkanlineargradientpipelineprivate.h"
#include "gskvulkanmaskpipelineprivate.h"
#include "gskvulkantextpipelineprivate.h"
#include "gskvulkanimageprivate.h"
#include "gskvulkanpushconstantsprivate.h"
#include "gskvulkanrendererprivate.h"
@@ -192,11 +192,11 @@ gsk_vulkan_render_pass_add_node (GskVulkanRenderPass *self,
else
{
if (gsk_vulkan_clip_contains_rect (&constants->clip, &node->bounds))
pipeline_type = GSK_VULKAN_PIPELINE_MASK;
pipeline_type = GSK_VULKAN_PIPELINE_TEXT;
else if (constants->clip.type == GSK_VULKAN_CLIP_RECT)
pipeline_type = GSK_VULKAN_PIPELINE_MASK_CLIP;
pipeline_type = GSK_VULKAN_PIPELINE_TEXT_CLIP;
else if (constants->clip.type == GSK_VULKAN_CLIP_ROUNDED_CIRCULAR)
pipeline_type = GSK_VULKAN_PIPELINE_MASK_CLIP_ROUNDED;
pipeline_type = GSK_VULKAN_PIPELINE_TEXT_CLIP_ROUNDED;
else
FALLBACK ("Text nodes can't deal with clip type %u\n", constants->clip.type);
op.type = GSK_VULKAN_OP_SURFACE_MASK;
@@ -663,7 +663,7 @@ gsk_vulkan_render_pass_count_vertex_data (GskVulkanRenderPass *self)
break;
case GSK_VULKAN_OP_SURFACE_MASK:
op->render.vertex_count = gsk_vulkan_mask_pipeline_count_vertex_data (GSK_VULKAN_MASK_PIPELINE (op->render.pipeline));
op->render.vertex_count = gsk_vulkan_text_pipeline_count_vertex_data (GSK_VULKAN_TEXT_PIPELINE (op->render.pipeline));
n_bytes += op->render.vertex_count;
break;
@@ -743,7 +743,7 @@ gsk_vulkan_render_pass_collect_vertex_data (GskVulkanRenderPass *self,
case GSK_VULKAN_OP_SURFACE_MASK:
{
op->render.vertex_offset = offset + n_bytes;
gsk_vulkan_mask_pipeline_collect_vertex_data (GSK_VULKAN_MASK_PIPELINE (op->render.pipeline),
gsk_vulkan_text_pipeline_collect_vertex_data (GSK_VULKAN_TEXT_PIPELINE (op->render.pipeline),
data + n_bytes + offset,
&op->render.node->bounds,
gsk_text_node_get_color (op->render.node));
@@ -998,7 +998,7 @@ gsk_vulkan_render_pass_draw (GskVulkanRenderPass *self,
0,
NULL);
current_draw_index += gsk_vulkan_mask_pipeline_draw (GSK_VULKAN_MASK_PIPELINE (current_pipeline),
current_draw_index += gsk_vulkan_text_pipeline_draw (GSK_VULKAN_TEXT_PIPELINE (current_pipeline),
command_buffer,
current_draw_index, 1);
break;

View File

@@ -34,9 +34,9 @@ typedef enum {
GSK_VULKAN_PIPELINE_BLUR,
GSK_VULKAN_PIPELINE_BLUR_CLIP,
GSK_VULKAN_PIPELINE_BLUR_CLIP_ROUNDED,
GSK_VULKAN_PIPELINE_MASK,
GSK_VULKAN_PIPELINE_MASK_CLIP,
GSK_VULKAN_PIPELINE_MASK_CLIP_ROUNDED,
GSK_VULKAN_PIPELINE_TEXT,
GSK_VULKAN_PIPELINE_TEXT_CLIP,
GSK_VULKAN_PIPELINE_TEXT_CLIP_ROUNDED,
/* add more */
GSK_VULKAN_N_PIPELINES
} GskVulkanPipelineType;

View File

@@ -1,30 +1,30 @@
#include "config.h"
#include "gskvulkanmaskpipelineprivate.h"
#include "gskvulkantextpipelineprivate.h"
struct _GskVulkanMaskPipeline
struct _GskVulkanTextPipeline
{
GObject parent_instance;
};
typedef struct _GskVulkanMaskInstance GskVulkanMaskInstance;
typedef struct _GskVulkanTextInstance GskVulkanTextInstance;
struct _GskVulkanMaskInstance
struct _GskVulkanTextInstance
{
float rect[4];
float tex_rect[4];
float color[4];
};
G_DEFINE_TYPE (GskVulkanMaskPipeline, gsk_vulkan_mask_pipeline, GSK_TYPE_VULKAN_PIPELINE)
G_DEFINE_TYPE (GskVulkanTextPipeline, gsk_vulkan_text_pipeline, GSK_TYPE_VULKAN_PIPELINE)
static const VkPipelineVertexInputStateCreateInfo *
gsk_vulkan_mask_pipeline_get_input_state_create_info (GskVulkanPipeline *self)
gsk_vulkan_text_pipeline_get_input_state_create_info (GskVulkanPipeline *self)
{
static const VkVertexInputBindingDescription vertexBindingDescriptions[] = {
{
.binding = 0,
.stride = sizeof (GskVulkanMaskInstance),
.stride = sizeof (GskVulkanTextInstance),
.inputRate = VK_VERTEX_INPUT_RATE_INSTANCE
}
};
@@ -33,19 +33,19 @@ gsk_vulkan_mask_pipeline_get_input_state_create_info (GskVulkanPipeline *self)
.location = 0,
.binding = 0,
.format = VK_FORMAT_R32G32B32A32_SFLOAT,
.offset = G_STRUCT_OFFSET (GskVulkanMaskInstance, rect),
.offset = G_STRUCT_OFFSET (GskVulkanTextInstance, rect),
},
{
.location = 1,
.binding = 0,
.format = VK_FORMAT_R32G32B32A32_SFLOAT,
.offset = G_STRUCT_OFFSET (GskVulkanMaskInstance, tex_rect),
.offset = G_STRUCT_OFFSET (GskVulkanTextInstance, tex_rect),
},
{
.location = 2,
.binding = 0,
.format = VK_FORMAT_R32G32B32A32_SFLOAT,
.offset = G_STRUCT_OFFSET (GskVulkanMaskInstance, color),
.offset = G_STRUCT_OFFSET (GskVulkanTextInstance, color),
}
};
static const VkPipelineVertexInputStateCreateInfo info = {
@@ -60,50 +60,50 @@ gsk_vulkan_mask_pipeline_get_input_state_create_info (GskVulkanPipeline *self)
}
static void
gsk_vulkan_mask_pipeline_finalize (GObject *gobject)
gsk_vulkan_text_pipeline_finalize (GObject *gobject)
{
//GskVulkanMaskPipeline *self = GSK_VULKAN_MASK_PIPELINE (gobject);
//GskVulkanTextPipeline *self = GSK_VULKAN_TEXT_PIPELINE (gobject);
G_OBJECT_CLASS (gsk_vulkan_mask_pipeline_parent_class)->finalize (gobject);
G_OBJECT_CLASS (gsk_vulkan_text_pipeline_parent_class)->finalize (gobject);
}
static void
gsk_vulkan_mask_pipeline_class_init (GskVulkanMaskPipelineClass *klass)
gsk_vulkan_text_pipeline_class_init (GskVulkanTextPipelineClass *klass)
{
GskVulkanPipelineClass *pipeline_class = GSK_VULKAN_PIPELINE_CLASS (klass);
G_OBJECT_CLASS (klass)->finalize = gsk_vulkan_mask_pipeline_finalize;
G_OBJECT_CLASS (klass)->finalize = gsk_vulkan_text_pipeline_finalize;
pipeline_class->get_input_state_create_info = gsk_vulkan_mask_pipeline_get_input_state_create_info;
pipeline_class->get_input_state_create_info = gsk_vulkan_text_pipeline_get_input_state_create_info;
}
static void
gsk_vulkan_mask_pipeline_init (GskVulkanMaskPipeline *self)
gsk_vulkan_text_pipeline_init (GskVulkanTextPipeline *self)
{
}
GskVulkanPipeline *
gsk_vulkan_mask_pipeline_new (GskVulkanPipelineLayout *layout,
gsk_vulkan_text_pipeline_new (GskVulkanPipelineLayout *layout,
const char *shader_name,
VkRenderPass render_pass)
{
return gsk_vulkan_pipeline_new_full (GSK_TYPE_VULKAN_MASK_PIPELINE, layout, shader_name, render_pass,
return gsk_vulkan_pipeline_new_full (GSK_TYPE_VULKAN_TEXT_PIPELINE, layout, shader_name, render_pass,
VK_BLEND_FACTOR_SRC_ALPHA, VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA);
}
gsize
gsk_vulkan_mask_pipeline_count_vertex_data (GskVulkanMaskPipeline *pipeline)
gsk_vulkan_text_pipeline_count_vertex_data (GskVulkanTextPipeline *pipeline)
{
return sizeof (GskVulkanMaskInstance);
return sizeof (GskVulkanTextInstance);
}
void
gsk_vulkan_mask_pipeline_collect_vertex_data (GskVulkanMaskPipeline *pipeline,
gsk_vulkan_text_pipeline_collect_vertex_data (GskVulkanTextPipeline *pipeline,
guchar *data,
const graphene_rect_t *rect,
const GdkRGBA *color)
{
GskVulkanMaskInstance *instance = (GskVulkanMaskInstance *) data;
GskVulkanTextInstance *instance = (GskVulkanTextInstance *) data;
instance->rect[0] = rect->origin.x;
instance->rect[1] = rect->origin.y;
@@ -120,7 +120,7 @@ gsk_vulkan_mask_pipeline_collect_vertex_data (GskVulkanMaskPipeline *pipeline,
}
gsize
gsk_vulkan_mask_pipeline_draw (GskVulkanMaskPipeline *pipeline,
gsk_vulkan_text_pipeline_draw (GskVulkanTextPipeline *pipeline,
VkCommandBuffer command_buffer,
gsize offset,
gsize n_commands)

View File

@@ -1,5 +1,5 @@
#ifndef __GSK_VULKAN_MASK_PIPELINE_PRIVATE_H__
#define __GSK_VULKAN_MASK_PIPELINE_PRIVATE_H__
#ifndef __GSK_VULKAN_TEXT_PIPELINE_PRIVATE_H__
#define __GSK_VULKAN_TEXT_PIPELINE_PRIVATE_H__
#include <graphene.h>
@@ -7,26 +7,26 @@
G_BEGIN_DECLS
typedef struct _GskVulkanMaskPipelineLayout GskVulkanMaskPipelineLayout;
typedef struct _GskVulkanTextPipelineLayout GskVulkanTextPipelineLayout;
#define GSK_TYPE_VULKAN_MASK_PIPELINE (gsk_vulkan_mask_pipeline_get_type ())
#define GSK_TYPE_VULKAN_TEXT_PIPELINE (gsk_vulkan_text_pipeline_get_type ())
G_DECLARE_FINAL_TYPE (GskVulkanMaskPipeline, gsk_vulkan_mask_pipeline, GSK, VULKAN_MASK_PIPELINE, GskVulkanPipeline)
G_DECLARE_FINAL_TYPE (GskVulkanTextPipeline, gsk_vulkan_text_pipeline, GSK, VULKAN_TEXT_PIPELINE, GskVulkanPipeline)
GskVulkanPipeline * gsk_vulkan_mask_pipeline_new (GskVulkanPipelineLayout * layout,
GskVulkanPipeline * gsk_vulkan_text_pipeline_new (GskVulkanPipelineLayout * layout,
const char *shader_name,
VkRenderPass render_pass);
gsize gsk_vulkan_mask_pipeline_count_vertex_data (GskVulkanMaskPipeline *pipeline);
void gsk_vulkan_mask_pipeline_collect_vertex_data (GskVulkanMaskPipeline *pipeline,
gsize gsk_vulkan_text_pipeline_count_vertex_data (GskVulkanTextPipeline *pipeline);
void gsk_vulkan_text_pipeline_collect_vertex_data (GskVulkanTextPipeline *pipeline,
guchar *data,
const graphene_rect_t *rect,
const GdkRGBA *color);
gsize gsk_vulkan_mask_pipeline_draw (GskVulkanMaskPipeline *pipeline,
gsize gsk_vulkan_text_pipeline_draw (GskVulkanTextPipeline *pipeline,
VkCommandBuffer command_buffer,
gsize offset,
gsize n_commands);
G_END_DECLS
#endif /* __GSK_VULKAN_MASK_PIPELINE_PRIVATE_H__ */
#endif /* __GSK_VULKAN_TEXT_PIPELINE_PRIVATE_H__ */

View File

@@ -65,7 +65,7 @@ if have_vulkan
'gskvulkaneffectpipeline.c',
'gskvulkanlineargradientpipeline.c',
'gskvulkanimage.c',
'gskvulkanmaskpipeline.c',
'gskvulkantextpipeline.c',
'gskvulkanmemory.c',
'gskvulkanpipeline.c',
'gskvulkanpushconstants.c',