vulkan: Add a Stage enum
authorBenjamin Otte <otte@redhat.com>
Sun, 9 Jul 2023 13:40:48 +0000 (15:40 +0200)
committerBenjamin Otte <otte@redhat.com>
Sun, 16 Jul 2023 10:13:00 +0000 (12:13 +0200)
It's declaring at which stage this command should run. So far nothing is
using it, but that will follow in future commits.

18 files changed:
gsk/vulkan/gskvulkanblendmodeop.c
gsk/vulkan/gskvulkanblurop.c
gsk/vulkan/gskvulkanborderop.c
gsk/vulkan/gskvulkancolormatrixop.c
gsk/vulkan/gskvulkancolorop.c
gsk/vulkan/gskvulkancrossfadeop.c
gsk/vulkan/gskvulkanglyphop.c
gsk/vulkan/gskvulkaninsetshadowop.c
gsk/vulkan/gskvulkanlineargradientop.c
gsk/vulkan/gskvulkanmaskop.c
gsk/vulkan/gskvulkanoffscreenop.c
gsk/vulkan/gskvulkanopprivate.h
gsk/vulkan/gskvulkanoutsetshadowop.c
gsk/vulkan/gskvulkanpushconstantsop.c
gsk/vulkan/gskvulkanscissorop.c
gsk/vulkan/gskvulkantextureop.c
gsk/vulkan/gskvulkanuploadcairoop.c
gsk/vulkan/gskvulkanuploadop.c

index bf3b024f867613c1ea570b6a78adf594f2cbbd9e..fa2922eeb211597b76fe4e7a941bb644eff0ab8d 100644 (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,
index 488a34e893b7ebca2ea637352889b013dc739ab2..1cf3efdefbafa7316a22743e04273060d02dc849 100644 (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,
index 000580b80b454bec6f8961aab1fcd45ecbd0c192..71fc9411b4eec2b955cd85bb8c604db6ed261671 100644 (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,
index 5f302ce908dd9c98f7bb6bfeaf5e4c7523db2106..d8de45597970735f0af853987c565bcbeba9ad81 100644 (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,
index 915cf7cc20dea56d4ac1599e064b67b1a39a73c9..ee0c11cdb3041aa6f85e01d44dfd4fc4848197ad 100644 (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,
index 907d48d59e249651e4ae0fd27dc23dc57f5183d0..322a69ccaa438b971ca3686a216ca3a2b7cd3226 100644 (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,
index 07ebf1202897f378203e372d677fb98ba8f07d60..b907ee193ab8a4a64fe6134a954b8d4213bad383 100644 (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,
index 85bcfe52bbd19b94337bd48fda3779ed1a82a899..54a7845707fc527026aacb11b6b28de53248d67e 100644 (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,
index 7ad1b6f6fae65fca43e64ddc1fdb95b0553310fc..2ead08eb674f66a59808d3105605266a33209287 100644 (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,
index d53a684e9dd3fd123e6866ea0ad7e154d21aab25..dd13efa15ad6fe758d89286c5c5bf045152c0af9 100644 (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,
index 7a4a207e085bfa88a07e8ccfa62325f97dfd805a..08865fa844ff20acbb9ed9cfadd5b3d6cd98c23d 100644 (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,
index 1d1040e4cca1304e9020ed57b22401ba9164e7f0..cd0a02531c66932acc6fd5af8d7da76759ffcb7d 100644 (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;
index 0849a537db4c279878f71d3de45490f2ea07f4be..1366a617e3b330e42d619c61bf343f27b6d59ad6 100644 (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,
index e45c0f93267bf5449bd69e4ae7c95da147beb160..7c5db0f9e7552cd60ba69073807d38232f6801c1 100644 (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,
index 583c8f49b3e24bb16d0bfca7cde76715a0dce324..27e64a676b810c9a271626e97636c67c624a78aa 100644 (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,
index af30e44683a70e85cf231f0704de59a6af6dd7de..d6264d33ca2af4518e5053719b81d59b6840597d 100644 (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,
index 471fccecc05c41c73e90a84fb27b7b2615b53f29..8464ea91601cf2d4c6840ee1906a96da569f1635 100644 (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,
index 743aa824a77f1a107b0360aeb171455509d96207..84092522a6f133939846eafc4caf2e066383604e 100644 (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,