From: Benjamin Otte Date: Sun, 9 Jul 2023 13:40:48 +0000 (+0200) Subject: vulkan: Add a Stage enum X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~1^2~60^2~37 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=da4a4f6a259423fea2759c75874a4ae87e7636a6;p=gtk4.git 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. --- diff --git a/gsk/vulkan/gskvulkanblendmodeop.c b/gsk/vulkan/gskvulkanblendmodeop.c index bf3b024f86..fa2922eeb2 100644 --- a/gsk/vulkan/gskvulkanblendmodeop.c +++ b/gsk/vulkan/gskvulkanblendmodeop.c @@ -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, diff --git a/gsk/vulkan/gskvulkanblurop.c b/gsk/vulkan/gskvulkanblurop.c index 488a34e893..1cf3efdefb 100644 --- a/gsk/vulkan/gskvulkanblurop.c +++ b/gsk/vulkan/gskvulkanblurop.c @@ -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, diff --git a/gsk/vulkan/gskvulkanborderop.c b/gsk/vulkan/gskvulkanborderop.c index 000580b80b..71fc9411b4 100644 --- a/gsk/vulkan/gskvulkanborderop.c +++ b/gsk/vulkan/gskvulkanborderop.c @@ -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, diff --git a/gsk/vulkan/gskvulkancolormatrixop.c b/gsk/vulkan/gskvulkancolormatrixop.c index 5f302ce908..d8de455979 100644 --- a/gsk/vulkan/gskvulkancolormatrixop.c +++ b/gsk/vulkan/gskvulkancolormatrixop.c @@ -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, diff --git a/gsk/vulkan/gskvulkancolorop.c b/gsk/vulkan/gskvulkancolorop.c index 915cf7cc20..ee0c11cdb3 100644 --- a/gsk/vulkan/gskvulkancolorop.c +++ b/gsk/vulkan/gskvulkancolorop.c @@ -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, diff --git a/gsk/vulkan/gskvulkancrossfadeop.c b/gsk/vulkan/gskvulkancrossfadeop.c index 907d48d59e..322a69ccaa 100644 --- a/gsk/vulkan/gskvulkancrossfadeop.c +++ b/gsk/vulkan/gskvulkancrossfadeop.c @@ -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, diff --git a/gsk/vulkan/gskvulkanglyphop.c b/gsk/vulkan/gskvulkanglyphop.c index 07ebf12028..b907ee193a 100644 --- a/gsk/vulkan/gskvulkanglyphop.c +++ b/gsk/vulkan/gskvulkanglyphop.c @@ -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, diff --git a/gsk/vulkan/gskvulkaninsetshadowop.c b/gsk/vulkan/gskvulkaninsetshadowop.c index 85bcfe52bb..54a7845707 100644 --- a/gsk/vulkan/gskvulkaninsetshadowop.c +++ b/gsk/vulkan/gskvulkaninsetshadowop.c @@ -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, diff --git a/gsk/vulkan/gskvulkanlineargradientop.c b/gsk/vulkan/gskvulkanlineargradientop.c index 7ad1b6f6fa..2ead08eb67 100644 --- a/gsk/vulkan/gskvulkanlineargradientop.c +++ b/gsk/vulkan/gskvulkanlineargradientop.c @@ -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, diff --git a/gsk/vulkan/gskvulkanmaskop.c b/gsk/vulkan/gskvulkanmaskop.c index d53a684e9d..dd13efa15a 100644 --- a/gsk/vulkan/gskvulkanmaskop.c +++ b/gsk/vulkan/gskvulkanmaskop.c @@ -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, diff --git a/gsk/vulkan/gskvulkanoffscreenop.c b/gsk/vulkan/gskvulkanoffscreenop.c index 7a4a207e08..08865fa844 100644 --- a/gsk/vulkan/gskvulkanoffscreenop.c +++ b/gsk/vulkan/gskvulkanoffscreenop.c @@ -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, diff --git a/gsk/vulkan/gskvulkanopprivate.h b/gsk/vulkan/gskvulkanopprivate.h index 1d1040e4cc..cd0a02531c 100644 --- a/gsk/vulkan/gskvulkanopprivate.h +++ b/gsk/vulkan/gskvulkanopprivate.h @@ -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; diff --git a/gsk/vulkan/gskvulkanoutsetshadowop.c b/gsk/vulkan/gskvulkanoutsetshadowop.c index 0849a537db..1366a617e3 100644 --- a/gsk/vulkan/gskvulkanoutsetshadowop.c +++ b/gsk/vulkan/gskvulkanoutsetshadowop.c @@ -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, diff --git a/gsk/vulkan/gskvulkanpushconstantsop.c b/gsk/vulkan/gskvulkanpushconstantsop.c index e45c0f9326..7c5db0f9e7 100644 --- a/gsk/vulkan/gskvulkanpushconstantsop.c +++ b/gsk/vulkan/gskvulkanpushconstantsop.c @@ -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, diff --git a/gsk/vulkan/gskvulkanscissorop.c b/gsk/vulkan/gskvulkanscissorop.c index 583c8f49b3..27e64a676b 100644 --- a/gsk/vulkan/gskvulkanscissorop.c +++ b/gsk/vulkan/gskvulkanscissorop.c @@ -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, diff --git a/gsk/vulkan/gskvulkantextureop.c b/gsk/vulkan/gskvulkantextureop.c index af30e44683..d6264d33ca 100644 --- a/gsk/vulkan/gskvulkantextureop.c +++ b/gsk/vulkan/gskvulkantextureop.c @@ -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, diff --git a/gsk/vulkan/gskvulkanuploadcairoop.c b/gsk/vulkan/gskvulkanuploadcairoop.c index 471fccecc0..8464ea9160 100644 --- a/gsk/vulkan/gskvulkanuploadcairoop.c +++ b/gsk/vulkan/gskvulkanuploadcairoop.c @@ -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, diff --git a/gsk/vulkan/gskvulkanuploadop.c b/gsk/vulkan/gskvulkanuploadop.c index 743aa824a7..84092522a6 100644 --- a/gsk/vulkan/gskvulkanuploadop.c +++ b/gsk/vulkan/gskvulkanuploadop.c @@ -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,