[gtk+] vulkan: Remove color from push constants
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] vulkan: Remove color from push constants
- Date: Tue, 20 Dec 2016 17:14:53 +0000 (UTC)
commit 1b90ce6b334f77e4bc48a9db18332962c4e342a8
Author: Benjamin Otte <otte redhat com>
Date: Sun Dec 18 07:07:02 2016 +0100
vulkan: Remove color from push constants
It's now handled by the color pipeline.
gsk/gskvulkanpushconstants.c | 17 ++++-------------
gsk/gskvulkanpushconstantsprivate.h | 8 ++------
gsk/gskvulkanrenderpass.c | 21 +--------------------
3 files changed, 7 insertions(+), 39 deletions(-)
---
diff --git a/gsk/gskvulkanpushconstants.c b/gsk/gskvulkanpushconstants.c
index 485ec8b..2b119fc 100644
--- a/gsk/gskvulkanpushconstants.c
+++ b/gsk/gskvulkanpushconstants.c
@@ -8,10 +8,7 @@ void
gsk_vulkan_push_constants_init (GskVulkanPushConstants *constants,
const graphene_matrix_t *mvp)
{
- GdkRGBA transparent = { 0, 0, 0, 0 };
-
gsk_vulkan_push_constants_set_mvp (constants, mvp);
- gsk_vulkan_push_constants_set_color (constants, &transparent);
}
void
@@ -40,16 +37,6 @@ gsk_vulkan_push_constants_multiply_mvp (GskVulkanPushConstants *self,
}
void
-gsk_vulkan_push_constants_set_color (GskVulkanPushConstants *self,
- const GdkRGBA *color)
-{
- self->fragment.color[0] = pow (color->red, 2.2);
- self->fragment.color[1] = pow (color->green, 2.2);
- self->fragment.color[2] = pow (color->blue, 2.2);
- self->fragment.color[3] = color->alpha;
-}
-
-void
gsk_vulkan_push_constants_push_vertex (GskVulkanPushConstants *self,
VkCommandBuffer command_buffer,
VkPipelineLayout pipeline_layout)
@@ -62,6 +49,7 @@ gsk_vulkan_push_constants_push_vertex (GskVulkanPushConstants *self,
&self->vertex);
}
+#if 0
void
gsk_vulkan_push_constants_push_fragment (GskVulkanPushConstants *self,
VkCommandBuffer command_buffer,
@@ -74,6 +62,7 @@ gsk_vulkan_push_constants_push_fragment (GskVulkanPushConstants *self,
sizeof (self->fragment),
&self->fragment);
}
+#endif
uint32_t
gst_vulkan_push_constants_get_range_count (void)
@@ -89,11 +78,13 @@ gst_vulkan_push_constants_get_ranges (void)
.stageFlags = VK_SHADER_STAGE_VERTEX_BIT,
.offset = G_STRUCT_OFFSET (GskVulkanPushConstants, vertex),
.size = sizeof (((GskVulkanPushConstants *) 0)->vertex)
+#if 0
},
{
.stageFlags = VK_SHADER_STAGE_FRAGMENT_BIT,
.offset = G_STRUCT_OFFSET (GskVulkanPushConstants, fragment),
.size = sizeof (((GskVulkanPushConstants *) 0)->fragment)
+#endif
}
};
diff --git a/gsk/gskvulkanpushconstantsprivate.h b/gsk/gskvulkanpushconstantsprivate.h
index 37ac01f..6b86085 100644
--- a/gsk/gskvulkanpushconstantsprivate.h
+++ b/gsk/gskvulkanpushconstantsprivate.h
@@ -13,9 +13,10 @@ struct _GskVulkanPushConstants
struct {
float mvp[16];
} vertex;
+#if 0
struct {
- float color[4];
} fragment;
+#endif
};
const VkPushConstantRange *
@@ -31,15 +32,10 @@ void gsk_vulkan_push_constants_set_mvp (GskVulk
const graphene_matrix_t
*mvp);
void gsk_vulkan_push_constants_multiply_mvp (GskVulkanPushConstants
*self,
const graphene_matrix_t
*transform);
-void gsk_vulkan_push_constants_set_color (GskVulkanPushConstants
*self,
- const GdkRGBA
*color);
void gsk_vulkan_push_constants_push_vertex (GskVulkanPushConstants
*self,
VkCommandBuffer
command_buffer,
VkPipelineLayout
pipeline_layout);
-void gsk_vulkan_push_constants_push_fragment (GskVulkanPushConstants
*self,
- VkCommandBuffer
command_buffer,
- VkPipelineLayout
pipeline_layout);
G_END_DECLS
diff --git a/gsk/gskvulkanrenderpass.c b/gsk/gskvulkanrenderpass.c
index fed4e7c..2af91dc 100644
--- a/gsk/gskvulkanrenderpass.c
+++ b/gsk/gskvulkanrenderpass.c
@@ -21,8 +21,7 @@ typedef enum {
GSK_VULKAN_OP_TEXTURE,
GSK_VULKAN_OP_COLOR,
/* GskVulkanOpPushConstants */
- GSK_VULKAN_OP_PUSH_VERTEX_CONSTANTS,
- GSK_VULKAN_OP_PUSH_FRAGMENT_CONSTANTS
+ GSK_VULKAN_OP_PUSH_VERTEX_CONSTANTS
} GskVulkanOpType;
struct _GskVulkanOpRender
@@ -117,11 +116,6 @@ gsk_vulkan_render_pass_add_node (GskVulkanRenderPass *self,
break;
case GSK_COLOR_NODE:
- op.type = GSK_VULKAN_OP_PUSH_FRAGMENT_CONSTANTS;
- gsk_vulkan_push_constants_init_copy (&op.constants.constants, constants);
- gsk_vulkan_push_constants_set_color (&op.constants.constants, gsk_color_node_peek_color (node));
- g_array_append_val (self->render_ops, op);
-
op.type = GSK_VULKAN_OP_COLOR;
op.render.pipeline = gsk_vulkan_render_get_pipeline (render, GSK_VULKAN_PIPELINE_COLOR);
g_array_append_val (self->render_ops, op);
@@ -168,9 +162,6 @@ gsk_vulkan_render_pass_add (GskVulkanRenderPass *self,
gsk_vulkan_push_constants_init (&op.constants.constants, mvp);
g_array_append_val (self->render_ops, op);
- op.type = GSK_VULKAN_OP_PUSH_FRAGMENT_CONSTANTS;
- g_array_append_val (self->render_ops, op);
-
gsk_vulkan_render_pass_add_node (self, render, &op.constants.constants, node);
}
@@ -250,7 +241,6 @@ gsk_vulkan_render_pass_upload (GskVulkanRenderPass *self,
g_assert_not_reached ();
case GSK_VULKAN_OP_COLOR:
case GSK_VULKAN_OP_PUSH_VERTEX_CONSTANTS:
- case GSK_VULKAN_OP_PUSH_FRAGMENT_CONSTANTS:
break;
}
}
@@ -285,7 +275,6 @@ gsk_vulkan_render_pass_count_vertex_data (GskVulkanRenderPass *self)
default:
g_assert_not_reached ();
case GSK_VULKAN_OP_PUSH_VERTEX_CONSTANTS:
- case GSK_VULKAN_OP_PUSH_FRAGMENT_CONSTANTS:
continue;
}
}
@@ -342,7 +331,6 @@ gsk_vulkan_render_pass_collect_vertex_data (GskVulkanRenderPass *self,
default:
g_assert_not_reached ();
case GSK_VULKAN_OP_PUSH_VERTEX_CONSTANTS:
- case GSK_VULKAN_OP_PUSH_FRAGMENT_CONSTANTS:
continue;
}
@@ -375,7 +363,6 @@ gsk_vulkan_render_pass_reserve_descriptor_sets (GskVulkanRenderPass *self,
g_assert_not_reached ();
case GSK_VULKAN_OP_COLOR:
case GSK_VULKAN_OP_PUSH_VERTEX_CONSTANTS:
- case GSK_VULKAN_OP_PUSH_FRAGMENT_CONSTANTS:
break;
}
}
@@ -462,12 +449,6 @@ gsk_vulkan_render_pass_draw (GskVulkanRenderPass *self,
gsk_vulkan_pipeline_layout_get_pipeline_layout (layout));
break;
- case GSK_VULKAN_OP_PUSH_FRAGMENT_CONSTANTS:
- gsk_vulkan_push_constants_push_fragment (&op->constants.constants,
- command_buffer,
- gsk_vulkan_pipeline_layout_get_pipeline_layout (layout));
- break;
-
default:
g_assert_not_reached ();
break;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]