[gtk+] Cosmetics



commit a7f077a3a9329bf5b8c504be38e6b9f86f1a6776
Author: Matthias Clasen <mclasen redhat com>
Date:   Sat Sep 23 09:47:05 2017 -0400

    Cosmetics
    
    Go back to a single GskVulkanOpRender that can
    handle 0, 1 or 2 sources.

 gsk/gskvulkanrenderpass.c |  128 ++++++++++++++++++++-------------------------
 1 files changed, 57 insertions(+), 71 deletions(-)
---
diff --git a/gsk/gskvulkanrenderpass.c b/gsk/gskvulkanrenderpass.c
index fe11872..efdef6d 100644
--- a/gsk/gskvulkanrenderpass.c
+++ b/gsk/gskvulkanrenderpass.c
@@ -28,7 +28,6 @@
 typedef union _GskVulkanOp GskVulkanOp;
 typedef struct _GskVulkanOpRender GskVulkanOpRender;
 typedef struct _GskVulkanOpText GskVulkanOpText;
-typedef struct _GskVulkanOpCrossFade GskVulkanOpCrossFade;
 typedef struct _GskVulkanOpPushConstants GskVulkanOpPushConstants;
 
 typedef enum {
@@ -46,16 +45,16 @@ typedef enum {
   GSK_VULKAN_OP_BORDER,
   GSK_VULKAN_OP_INSET_SHADOW,
   GSK_VULKAN_OP_OUTSET_SHADOW,
+  GSK_VULKAN_OP_CROSS_FADE,
+  GSK_VULKAN_OP_BLEND_MODE,
   /* GskVulkanOpText */
   GSK_VULKAN_OP_TEXT,
   GSK_VULKAN_OP_COLOR_TEXT,
-  /* GskVulkanOpCrossFade */
-  GSK_VULKAN_OP_CROSS_FADE,
-  GSK_VULKAN_OP_BLEND_MODE,
   /* GskVulkanOpPushConstants */
   GSK_VULKAN_OP_PUSH_VERTEX_CONSTANTS,
 } GskVulkanOpType;
 
+/* render ops with 0, 1 or 2 sources */
 struct _GskVulkanOpRender
 {
   GskVulkanOpType      type;
@@ -63,9 +62,11 @@ struct _GskVulkanOpRender
   GskVulkanPipeline   *pipeline; /* pipeline to use */
   GskRoundedRect       clip; /* clip rect (or random memory if not relevant) */
   GskVulkanImage      *source; /* source image to render */
+  GskVulkanImage      *source2; /* second source image to render (if relevant) */
   gsize                vertex_offset; /* offset into vertex buffer */
   gsize                vertex_count; /* number of vertices */
   gsize                descriptor_set_index; /* index into descriptor sets array for the right descriptor 
set to bind */
+  gsize                descriptor_set_index2; /* descriptor index for the second source (if relevant) */
 };
 
 struct _GskVulkanOpText
@@ -83,20 +84,6 @@ struct _GskVulkanOpText
   guint                num_glyphs; /* number of *non-empty* glyphs (== instances) we render */
 };
 
-struct _GskVulkanOpCrossFade
-{
-  GskVulkanOpType      type;
-  GskRenderNode       *node; /* node that's the source of this op */
-  GskVulkanPipeline   *pipeline; /* pipeline to use */
-  GskRoundedRect       clip; /* clip rect (or random memory if not relevant) */
-  GskVulkanImage      *start; /* source images to render */
-  GskVulkanImage      *end;
-  gsize                vertex_offset; /* offset into vertex buffer */
-  gsize                vertex_count; /* number of vertices */
-  gsize                descriptor_set_start; /* indices into descriptor sets array */
-  gsize                descriptor_set_end;
-};
-
 struct _GskVulkanOpPushConstants
 {
   GskVulkanOpType         type;
@@ -109,7 +96,6 @@ union _GskVulkanOp
   GskVulkanOpType          type;
   GskVulkanOpRender        render;
   GskVulkanOpText          text;
-  GskVulkanOpCrossFade     crossfade;
   GskVulkanOpPushConstants constants;
 };
 
@@ -757,37 +743,37 @@ gsk_vulkan_render_pass_upload (GskVulkanRenderPass  *self,
 
         case GSK_VULKAN_OP_CROSS_FADE:
           {
-            GskRenderNode *start = gsk_cross_fade_node_get_start_child (op->crossfade.node);
-            GskRenderNode *end = gsk_cross_fade_node_get_end_child (op->crossfade.node);
-
-            op->crossfade.start = gsk_vulkan_render_pass_get_node_as_texture (self,
-                                                                              render,
-                                                                              uploader,
-                                                                              start,
-                                                                              &start->bounds);
-            op->crossfade.end = gsk_vulkan_render_pass_get_node_as_texture (self,
+            GskRenderNode *start = gsk_cross_fade_node_get_start_child (op->render.node);
+            GskRenderNode *end = gsk_cross_fade_node_get_end_child (op->render.node);
+
+            op->render.source = gsk_vulkan_render_pass_get_node_as_texture (self,
                                                                             render,
                                                                             uploader,
-                                                                            end,
-                                                                            &end->bounds);
+                                                                            start,
+                                                                            &start->bounds);
+            op->render.source2 = gsk_vulkan_render_pass_get_node_as_texture (self,
+                                                                             render,
+                                                                             uploader,
+                                                                             end,
+                                                                             &end->bounds);
           }
           break;
 
         case GSK_VULKAN_OP_BLEND_MODE:
           {
-            GskRenderNode *top = gsk_blend_node_get_top_child (op->crossfade.node);
-            GskRenderNode *bottom = gsk_blend_node_get_bottom_child (op->crossfade.node);
-
-            op->crossfade.start = gsk_vulkan_render_pass_get_node_as_texture (self,
-                                                                              render,
-                                                                              uploader,
-                                                                              top,
-                                                                              &top->bounds);
-            op->crossfade.end = gsk_vulkan_render_pass_get_node_as_texture (self,
+            GskRenderNode *top = gsk_blend_node_get_top_child (op->render.node);
+            GskRenderNode *bottom = gsk_blend_node_get_bottom_child (op->render.node);
+
+            op->render.source = gsk_vulkan_render_pass_get_node_as_texture (self,
                                                                             render,
                                                                             uploader,
-                                                                            bottom,
-                                                                            &bottom->bounds);
+                                                                            top,
+                                                                            &top->bounds);
+            op->render.source2 = gsk_vulkan_render_pass_get_node_as_texture (self,
+                                                                             render,
+                                                                             uploader,
+                                                                             bottom,
+                                                                             &bottom->bounds);
           }
           break;
 
@@ -872,13 +858,13 @@ gsk_vulkan_render_pass_count_vertex_data (GskVulkanRenderPass *self)
           break;
 
         case GSK_VULKAN_OP_CROSS_FADE:
-          op->crossfade.vertex_count = gsk_vulkan_cross_fade_pipeline_count_vertex_data 
(GSK_VULKAN_CROSS_FADE_PIPELINE (op->crossfade.pipeline));
-          n_bytes += op->crossfade.vertex_count;
+          op->render.vertex_count = gsk_vulkan_cross_fade_pipeline_count_vertex_data 
(GSK_VULKAN_CROSS_FADE_PIPELINE (op->render.pipeline));
+          n_bytes += op->render.vertex_count;
           break;
 
         case GSK_VULKAN_OP_BLEND_MODE:
-          op->crossfade.vertex_count = gsk_vulkan_blend_mode_pipeline_count_vertex_data 
(GSK_VULKAN_BLEND_MODE_PIPELINE (op->crossfade.pipeline));
-          n_bytes += op->crossfade.vertex_count;
+          op->render.vertex_count = gsk_vulkan_blend_mode_pipeline_count_vertex_data 
(GSK_VULKAN_BLEND_MODE_PIPELINE (op->render.pipeline));
+          n_bytes += op->render.vertex_count;
           break;
 
         default:
@@ -1073,33 +1059,33 @@ gsk_vulkan_render_pass_collect_vertex_data (GskVulkanRenderPass *self,
 
         case GSK_VULKAN_OP_CROSS_FADE:
           {
-            GskRenderNode *start = gsk_cross_fade_node_get_start_child (op->crossfade.node);
-            GskRenderNode *end = gsk_cross_fade_node_get_end_child (op->crossfade.node);
+            GskRenderNode *start = gsk_cross_fade_node_get_start_child (op->render.node);
+            GskRenderNode *end = gsk_cross_fade_node_get_end_child (op->render.node);
 
-            op->crossfade.vertex_offset = offset + n_bytes;
-            gsk_vulkan_cross_fade_pipeline_collect_vertex_data (GSK_VULKAN_CROSS_FADE_PIPELINE 
(op->crossfade.pipeline),
+            op->render.vertex_offset = offset + n_bytes;
+            gsk_vulkan_cross_fade_pipeline_collect_vertex_data (GSK_VULKAN_CROSS_FADE_PIPELINE 
(op->render.pipeline),
                                                                 data + n_bytes + offset,
-                                                                &op->crossfade.node->bounds,
+                                                                &op->render.node->bounds,
                                                                 &start->bounds,
                                                                 &end->bounds,
-                                                                gsk_cross_fade_node_get_progress 
(op->crossfade.node));
-            n_bytes += op->crossfade.vertex_count;
+                                                                gsk_cross_fade_node_get_progress 
(op->render.node));
+            n_bytes += op->render.vertex_count;
           }
           break;
 
         case GSK_VULKAN_OP_BLEND_MODE:
           {
-            GskRenderNode *top = gsk_blend_node_get_top_child (op->crossfade.node);
-            GskRenderNode *bottom = gsk_blend_node_get_bottom_child (op->crossfade.node);
+            GskRenderNode *top = gsk_blend_node_get_top_child (op->render.node);
+            GskRenderNode *bottom = gsk_blend_node_get_bottom_child (op->render.node);
 
-            op->crossfade.vertex_offset = offset + n_bytes;
-            gsk_vulkan_blend_mode_pipeline_collect_vertex_data (GSK_VULKAN_BLEND_MODE_PIPELINE 
(op->crossfade.pipeline),
+            op->render.vertex_offset = offset + n_bytes;
+            gsk_vulkan_blend_mode_pipeline_collect_vertex_data (GSK_VULKAN_BLEND_MODE_PIPELINE 
(op->render.pipeline),
                                                                 data + n_bytes + offset,
-                                                                &op->crossfade.node->bounds,
+                                                                &op->render.node->bounds,
                                                                 &top->bounds,
                                                                 &bottom->bounds,
-                                                                gsk_blend_node_get_blend_mode 
(op->crossfade.node));
-            n_bytes += op->crossfade.vertex_count;
+                                                                gsk_blend_node_get_blend_mode 
(op->render.node));
+            n_bytes += op->render.vertex_count;
           }
           break;
 
@@ -1146,8 +1132,8 @@ gsk_vulkan_render_pass_reserve_descriptor_sets (GskVulkanRenderPass *self,
 
         case GSK_VULKAN_OP_CROSS_FADE:
         case GSK_VULKAN_OP_BLEND_MODE:
-          op->crossfade.descriptor_set_start = gsk_vulkan_render_reserve_descriptor_set (render, 
op->crossfade.start);
-          op->crossfade.descriptor_set_end = gsk_vulkan_render_reserve_descriptor_set (render, 
op->crossfade.end);
+          op->render.descriptor_set_index = gsk_vulkan_render_reserve_descriptor_set (render, 
op->render.source);
+          op->render.descriptor_set_index2 = gsk_vulkan_render_reserve_descriptor_set (render, 
op->render.source2);
           break;
 
         default:
@@ -1454,9 +1440,9 @@ gsk_vulkan_render_pass_draw (GskVulkanRenderPass     *self,
           break;
 
         case GSK_VULKAN_OP_CROSS_FADE:
-          if (current_pipeline != op->crossfade.pipeline)
+          if (current_pipeline != op->render.pipeline)
             {
-              current_pipeline = op->crossfade.pipeline;
+              current_pipeline = op->render.pipeline;
               vkCmdBindPipeline (command_buffer,
                                  VK_PIPELINE_BIND_POINT_GRAPHICS,
                                  gsk_vulkan_pipeline_get_pipeline (current_pipeline));
@@ -1466,7 +1452,7 @@ gsk_vulkan_render_pass_draw (GskVulkanRenderPass     *self,
                                       (VkBuffer[1]) {
                                           gsk_vulkan_buffer_get_buffer (vertex_buffer)
                                       },
-                                      (VkDeviceSize[1]) { op->crossfade.vertex_offset });
+                                      (VkDeviceSize[1]) { op->render.vertex_offset });
               current_draw_index = 0;
             }
 
@@ -1476,8 +1462,8 @@ gsk_vulkan_render_pass_draw (GskVulkanRenderPass     *self,
                                    0,
                                    2,
                                    (VkDescriptorSet[2]) {
-                                       gsk_vulkan_render_get_descriptor_set (render, 
op->crossfade.descriptor_set_start),
-                                       gsk_vulkan_render_get_descriptor_set (render, 
op->crossfade.descriptor_set_end)
+                                       gsk_vulkan_render_get_descriptor_set (render, 
op->render.descriptor_set_index),
+                                       gsk_vulkan_render_get_descriptor_set (render, 
op->render.descriptor_set_index2)
                                    },
                                    0,
                                    NULL);
@@ -1488,9 +1474,9 @@ gsk_vulkan_render_pass_draw (GskVulkanRenderPass     *self,
           break;
 
         case GSK_VULKAN_OP_BLEND_MODE:
-          if (current_pipeline != op->crossfade.pipeline)
+          if (current_pipeline != op->render.pipeline)
             {
-              current_pipeline = op->crossfade.pipeline;
+              current_pipeline = op->render.pipeline;
               vkCmdBindPipeline (command_buffer,
                                  VK_PIPELINE_BIND_POINT_GRAPHICS,
                                  gsk_vulkan_pipeline_get_pipeline (current_pipeline));
@@ -1500,7 +1486,7 @@ gsk_vulkan_render_pass_draw (GskVulkanRenderPass     *self,
                                       (VkBuffer[1]) {
                                           gsk_vulkan_buffer_get_buffer (vertex_buffer)
                                       },
-                                      (VkDeviceSize[1]) { op->crossfade.vertex_offset });
+                                      (VkDeviceSize[1]) { op->render.vertex_offset });
               current_draw_index = 0;
             }
 
@@ -1510,8 +1496,8 @@ gsk_vulkan_render_pass_draw (GskVulkanRenderPass     *self,
                                    0,
                                    2,
                                    (VkDescriptorSet[2]) {
-                                       gsk_vulkan_render_get_descriptor_set (render, 
op->crossfade.descriptor_set_start),
-                                       gsk_vulkan_render_get_descriptor_set (render, 
op->crossfade.descriptor_set_end)
+                                       gsk_vulkan_render_get_descriptor_set (render, 
op->render.descriptor_set_index),
+                                       gsk_vulkan_render_get_descriptor_set (render, 
op->render.descriptor_set_index2)
                                    },
                                    0,
                                    NULL);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]