vulkan: Add a Stage enum

It's declaring at which stage this command should run. So far nothing is
using it, but that will follow in future commits.
This commit is contained in:
Benjamin Otte 2023-07-09 15:40:48 +02:00
parent d7764cc6b3
commit da4a4f6a25
18 changed files with 28 additions and 0 deletions

View File

@ -120,6 +120,7 @@ gsk_vulkan_blend_mode_op_command (GskVulkanOp *op,
static const GskVulkanShaderOpClass GSK_VULKAN_BLEND_MODE_OP_CLASS = {
GSK_VULKAN_OP_SIZE (GskVulkanBlendModeOp),
GSK_VULKAN_STAGE_COMMAND,
"blend-mode",
&gsk_vulkan_blend_mode_info,
gsk_vulkan_blend_mode_op_finish,

View File

@ -108,6 +108,7 @@ gsk_vulkan_blur_op_command (GskVulkanOp *op,
static const GskVulkanOpClass GSK_VULKAN_BLUR_OP_CLASS = {
GSK_VULKAN_OP_SIZE (GskVulkanBlurOp),
GSK_VULKAN_STAGE_COMMAND,
"blur",
&gsk_vulkan_blur_info,
gsk_vulkan_blur_op_finish,

View File

@ -116,6 +116,7 @@ gsk_vulkan_border_op_command (GskVulkanOp *op,
static const GskVulkanOpClass GSK_VULKAN_BORDER_OP_CLASS = {
GSK_VULKAN_OP_SIZE (GskVulkanBorderOp),
GSK_VULKAN_STAGE_COMMAND,
"border",
&gsk_vulkan_border_info,
gsk_vulkan_border_op_finish,

View File

@ -115,6 +115,7 @@ gsk_vulkan_color_matrix_op_command (GskVulkanOp *op,
static const GskVulkanOpClass GSK_VULKAN_COLOR_MATRIX_OP_CLASS = {
GSK_VULKAN_OP_SIZE (GskVulkanColorMatrixOp),
GSK_VULKAN_STAGE_COMMAND,
"color-matrix",
&gsk_vulkan_color_matrix_info,
gsk_vulkan_color_matrix_op_finish,

View File

@ -101,6 +101,7 @@ gsk_vulkan_color_op_command (GskVulkanOp *op,
static const GskVulkanOpClass GSK_VULKAN_COLOR_OP_CLASS = {
GSK_VULKAN_OP_SIZE (GskVulkanColorOp),
GSK_VULKAN_STAGE_COMMAND,
"color",
&gsk_vulkan_color_info,
gsk_vulkan_color_op_finish,

View File

@ -120,6 +120,7 @@ gsk_vulkan_cross_fade_op_command (GskVulkanOp *op,
static const GskVulkanOpClass GSK_VULKAN_CROSS_FADE_OP_CLASS = {
GSK_VULKAN_OP_SIZE (GskVulkanCrossFadeOp),
GSK_VULKAN_STAGE_COMMAND,
"cross-fade",
&gsk_vulkan_cross_fade_info,
gsk_vulkan_cross_fade_op_finish,

View File

@ -106,6 +106,7 @@ gsk_vulkan_glyph_op_command (GskVulkanOp *op,
static const GskVulkanOpClass GSK_VULKAN_GLYPH_OP_CLASS = {
GSK_VULKAN_OP_SIZE (GskVulkanGlyphOp),
GSK_VULKAN_STAGE_COMMAND,
"glyph",
&gsk_vulkan_glyph_info,
gsk_vulkan_glyph_op_finish,

View File

@ -103,6 +103,7 @@ gsk_vulkan_inset_shadow_op_command (GskVulkanOp *op,
static const GskVulkanOpClass GSK_VULKAN_INSET_SHADOW_OP_CLASS = {
GSK_VULKAN_OP_SIZE (GskVulkanInsetShadowOp),
GSK_VULKAN_STAGE_COMMAND,
"inset-shadow",
&gsk_vulkan_inset_shadow_info,
gsk_vulkan_inset_shadow_op_finish,

View File

@ -114,6 +114,7 @@ gsk_vulkan_linear_gradient_op_command (GskVulkanOp *op,
static const GskVulkanOpClass GSK_VULKAN_LINEAR_GRADIENT_OP_CLASS = {
GSK_VULKAN_OP_SIZE (GskVulkanLinearGradientOp),
GSK_VULKAN_STAGE_COMMAND,
"linear",
&gsk_vulkan_linear_info,
gsk_vulkan_linear_gradient_op_finish,

View File

@ -131,6 +131,7 @@ gsk_vulkan_mask_op_command (GskVulkanOp *op,
static const GskVulkanOpClass GSK_VULKAN_COLOR_MASK_OP_CLASS = {
GSK_VULKAN_OP_SIZE (GskVulkanMaskOp),
GSK_VULKAN_STAGE_COMMAND,
"mask",
&gsk_vulkan_mask_info,
gsk_vulkan_mask_op_finish,

View File

@ -91,6 +91,7 @@ gsk_vulkan_offscreen_op_command (GskVulkanOp *op,
static const GskVulkanOpClass GSK_VULKAN_OFFSCREEN_OP_CLASS = {
GSK_VULKAN_OP_SIZE (GskVulkanOffscreenOp),
GSK_VULKAN_STAGE_BEGIN_PASS,
NULL,
NULL,
gsk_vulkan_offscreen_op_finish,
@ -167,6 +168,7 @@ gsk_vulkan_offscreen_end_op_command (GskVulkanOp *op,
static const GskVulkanOpClass GSK_VULKAN_OFFSCREEN_END_OP_CLASS = {
GSK_VULKAN_OP_SIZE (GskVulkanOffscreenEndOp),
GSK_VULKAN_STAGE_END_PASS,
NULL,
NULL,
gsk_vulkan_offscreen_end_op_finish,

View File

@ -8,6 +8,15 @@ G_BEGIN_DECLS
typedef struct _GskVulkanOp GskVulkanOp;
typedef enum
{
GSK_VULKAN_STAGE_UPLOAD,
GSK_VULKAN_STAGE_COMMAND,
/* magic ones */
GSK_VULKAN_STAGE_BEGIN_PASS,
GSK_VULKAN_STAGE_END_PASS
} GskVulkanStage;
struct _GskVulkanOp
{
const GskVulkanOpClass *op_class;
@ -19,6 +28,7 @@ struct _GskVulkanOp
struct _GskVulkanOpClass
{
gsize size;
GskVulkanStage stage;
const char * shader_name;
const VkPipelineVertexInputStateCreateInfo *vertex_input_state;

View File

@ -103,6 +103,7 @@ gsk_vulkan_outset_shadow_op_command (GskVulkanOp *op,
static const GskVulkanOpClass GSK_VULKAN_OUTSET_SHADOW_OP_CLASS = {
GSK_VULKAN_OP_SIZE (GskVulkanOutsetShadowOp),
GSK_VULKAN_STAGE_COMMAND,
"outset-shadow",
&gsk_vulkan_outset_shadow_info,
gsk_vulkan_outset_shadow_op_finish,

View File

@ -100,6 +100,7 @@ gsk_vulkan_push_constants_op_command (GskVulkanOp *op,
static const GskVulkanOpClass GSK_VULKAN_PUSH_CONSTANTS_OP_CLASS = {
GSK_VULKAN_OP_SIZE (GskVulkanPushConstantsOp),
GSK_VULKAN_STAGE_COMMAND,
NULL,
NULL,
gsk_vulkan_push_constants_op_finish,

View File

@ -75,6 +75,7 @@ gsk_vulkan_scissor_op_command (GskVulkanOp *op,
static const GskVulkanOpClass GSK_VULKAN_SCISSOR_OP_CLASS = {
GSK_VULKAN_OP_SIZE (GskVulkanScissorOp),
GSK_VULKAN_STAGE_COMMAND,
NULL,
NULL,
gsk_vulkan_scissor_op_finish,

View File

@ -111,6 +111,7 @@ gsk_vulkan_texture_op_command (GskVulkanOp *op,
static const GskVulkanOpClass GSK_VULKAN_TEXTURE_OP_CLASS = {
GSK_VULKAN_OP_SIZE (GskVulkanTextureOp),
GSK_VULKAN_STAGE_COMMAND,
"texture",
&gsk_vulkan_texture_info,
gsk_vulkan_texture_op_finish,

View File

@ -100,6 +100,7 @@ gsk_vulkan_upload_cairo_op_command (GskVulkanOp *op,
static const GskVulkanOpClass GSK_VULKAN_UPLOAD_CAIRO_OP_CLASS = {
GSK_VULKAN_OP_SIZE (GskVulkanUploadCairoOp),
GSK_VULKAN_STAGE_UPLOAD,
NULL,
NULL,
gsk_vulkan_upload_cairo_op_finish,

View File

@ -81,6 +81,7 @@ gsk_vulkan_upload_op_command (GskVulkanOp *op,
static const GskVulkanOpClass GSK_VULKAN_UPLOAD_OP_CLASS = {
GSK_VULKAN_OP_SIZE (GskVulkanUploadOp),
GSK_VULKAN_STAGE_UPLOAD,
NULL,
NULL,
gsk_vulkan_upload_op_finish,