summaryrefslogtreecommitdiff
path: root/gsk
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2016-12-28 22:37:01 +0800
committerChun-wei Fan <fanchunwei@src.gnome.org>2016-12-29 17:52:52 +0800
commit49a782413c63982a8c2cb1c99746e2d56d312994 (patch)
tree990ccce67c6be7760b8aca80bd39132db0053323 /gsk
parent9db5cc9a98728fd5e8425dead1f4e6290392423a (diff)
downloadgtk+-49a782413c63982a8c2cb1c99746e2d56d312994.tar.gz
gsk: Fix build on Visual Studio
One cannot use #if...#endif within macro calls in Visual Studio and possibly other compilers, and there are more uses of VLAs that need to be replaced with g_newa(). There were also checks for the clip type in gskvulkanrenderpass.c which were possibly not done right (using the address of the type value to check for a type value), which triggered errors as one is attempting to compare a pointer type to an enum/int type. https://bugzilla.gnome.org/show_bug.cgi?id=773299
Diffstat (limited to 'gsk')
-rw-r--r--gsk/gskvulkancommandpool.c8
-rw-r--r--gsk/gskvulkanrender.c2
-rw-r--r--gsk/gskvulkanrenderpass.c4
3 files changed, 7 insertions, 7 deletions
diff --git a/gsk/gskvulkancommandpool.c b/gsk/gskvulkancommandpool.c
index 09dd333ad5..c2b974715a 100644
--- a/gsk/gskvulkancommandpool.c
+++ b/gsk/gskvulkancommandpool.c
@@ -83,12 +83,12 @@ gsk_vulkan_command_pool_submit_buffer (GskVulkanCommandPool *self,
1,
&(VkSubmitInfo) {
.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO,
-#if 0
+/*
.waitSemaphoreCount = 1,
.pWaitSemaphores = (VkSemaphore[1]) {
gdk_vulkan_context_get_draw_semaphore (self->vulkan)
},
-#endif
+*/
.pWaitDstStageMask = (VkPipelineStageFlags []) {
VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,
},
@@ -96,12 +96,12 @@ gsk_vulkan_command_pool_submit_buffer (GskVulkanCommandPool *self,
.pCommandBuffers = (VkCommandBuffer[1]) {
command_buffer
},
-#if 0
+/*
.signalSemaphoreCount = 1,
.pSignalSemaphores = (VkSemaphore[1]) {
gdk_vulkan_context_get_draw_semaphore (self->vulkan)
}
-#endif
+*/
},
fence);
}
diff --git a/gsk/gskvulkanrender.c b/gsk/gskvulkanrender.c
index 12dac4d73f..80b9418373 100644
--- a/gsk/gskvulkanrender.c
+++ b/gsk/gskvulkanrender.c
@@ -414,7 +414,7 @@ gsk_vulkan_render_prepare_descriptor_sets (GskVulkanRender *self,
self->n_descriptor_sets = needed_sets;
self->descriptor_sets = g_renew (VkDescriptorSet, self->descriptor_sets, needed_sets);
- VkDescriptorSetLayout layouts[needed_sets];
+ VkDescriptorSetLayout *layouts = g_newa (VkDescriptorSetLayout, needed_sets);
for (i = 0; i < needed_sets; i++)
{
layouts[i] = gsk_vulkan_pipeline_layout_get_descriptor_set_layout (self->layout);
diff --git a/gsk/gskvulkanrenderpass.c b/gsk/gskvulkanrenderpass.c
index 44bc7f9052..38947ba6bc 100644
--- a/gsk/gskvulkanrenderpass.c
+++ b/gsk/gskvulkanrenderpass.c
@@ -199,7 +199,7 @@ gsk_vulkan_render_pass_add_node (GskVulkanRenderPass *self,
{
if (!gsk_vulkan_push_constants_intersect_rect (&op.constants.constants, constants, gsk_clip_node_peek_clip (node)))
FALLBACK ("Failed to find intersection between clip of type %u and rectangle\n", constants->clip.type);
- if (&op.constants.constants.clip.type == GSK_VULKAN_CLIP_ALL_CLIPPED)
+ if (op.constants.constants.clip.type == GSK_VULKAN_CLIP_ALL_CLIPPED)
return;
op.type = GSK_VULKAN_OP_PUSH_VERTEX_CONSTANTS;
@@ -218,7 +218,7 @@ gsk_vulkan_render_pass_add_node (GskVulkanRenderPass *self,
constants,
gsk_rounded_clip_node_peek_clip (node)))
FALLBACK ("Failed to find intersection between clip of type %u and rounded rectangle\n", constants->clip.type);
- if (&op.constants.constants.clip.type == GSK_VULKAN_CLIP_ALL_CLIPPED)
+ if (op.constants.constants.clip.type == GSK_VULKAN_CLIP_ALL_CLIPPED)
return;
op.type = GSK_VULKAN_OP_PUSH_VERTEX_CONSTANTS;