From e9192e42fe541e2e79883421e17e4be2e51167a2 Mon Sep 17 00:00:00 2001 From: Noah Metz Date: Thu, 17 Oct 2024 13:15:29 -0600 Subject: [PATCH] Removed depth buffer from UI pipeline --- client/src/main.c | 4 ++-- client/src/pipeline.c | 21 ++------------------- client/src/render.c | 31 ++++++++++++++++++------------- 3 files changed, 22 insertions(+), 34 deletions(-) diff --git a/client/src/main.c b/client/src/main.c index 49af38e..099eb53 100644 --- a/client/src/main.c +++ b/client/src/main.c @@ -97,8 +97,8 @@ VkResult render_thread(GLFWwindow* window, RenderContext* render_context) { mapped_strings[0].offset = 0; mapped_strings[1].pos[0] = 0; - mapped_strings[1].pos[1] = 250.0; - mapped_strings[1].pos[2] = 0.1; + mapped_strings[1].pos[1] = 225.0; + mapped_strings[1].pos[2] = 0.3; mapped_strings[1].color[0] = 1.0; mapped_strings[1].color[1] = 1.0; mapped_strings[1].color[2] = 1.0; diff --git a/client/src/pipeline.c b/client/src/pipeline.c index d962e41..e1b3e43 100644 --- a/client/src/pipeline.c +++ b/client/src/pipeline.c @@ -118,24 +118,12 @@ VkResult create_ui_pipeline( .alphaToOneEnable = VK_FALSE, }; - VkPipelineDepthStencilStateCreateInfo depth_info = { - .sType = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO, - .depthTestEnable = VK_TRUE, - .depthWriteEnable = VK_TRUE, - .depthCompareOp = VK_COMPARE_OP_LESS, - .depthBoundsTestEnable = VK_FALSE, - .maxDepthBounds = 1.0f, - .minDepthBounds = 0.0f, - .stencilTestEnable = VK_FALSE, - .front = {}, - .back = {}, - }; - + // additive blending VkPipelineColorBlendAttachmentState color_blend_attachment = { .colorWriteMask = VK_COLOR_COMPONENT_R_BIT | VK_COLOR_COMPONENT_G_BIT | VK_COLOR_COMPONENT_B_BIT | VK_COLOR_COMPONENT_A_BIT, .blendEnable = VK_TRUE, .srcColorBlendFactor = VK_BLEND_FACTOR_SRC_ALPHA, - .dstColorBlendFactor = VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA, + .dstColorBlendFactor = VK_BLEND_FACTOR_ONE, .colorBlendOp = VK_BLEND_OP_ADD, .srcAlphaBlendFactor = VK_BLEND_FACTOR_ONE, .dstAlphaBlendFactor = VK_BLEND_FACTOR_ZERO, @@ -148,10 +136,6 @@ VkResult create_ui_pipeline( .logicOp = VK_LOGIC_OP_COPY, .attachmentCount = 1, .pAttachments = &color_blend_attachment, - .blendConstants[0] = 0.0f, - .blendConstants[1] = 0.0f, - .blendConstants[2] = 0.0f, - .blendConstants[3] = 0.0f, }; VkDynamicState dynamic_states[] = { @@ -177,7 +161,6 @@ VkResult create_ui_pipeline( .pRasterizationState = &raster_info, .pColorBlendState = &color_blend_info, .pDynamicState = &dynamic_info, - .pDepthStencilState = &depth_info, .pMultisampleState = &multisample_info, .layout = pipeline->layout, .renderPass = render_pass, diff --git a/client/src/render.c b/client/src/render.c index 63235d1..038f728 100644 --- a/client/src/render.c +++ b/client/src/render.c @@ -597,7 +597,7 @@ VkResult create_render_pass(VkDevice device, VkSurfaceFormatKHR format, VkFormat .storeOp = VK_ATTACHMENT_STORE_OP_DONT_CARE, .stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE, .stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE, - .initialLayout = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, + .initialLayout = VK_IMAGE_LAYOUT_UNDEFINED, .finalLayout = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, }, }; @@ -626,7 +626,6 @@ VkResult create_render_pass(VkDevice device, VkSurfaceFormatKHR format, VkFormat .pipelineBindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS, .colorAttachmentCount = sizeof(color_attachment_refs)/sizeof(VkAttachmentReference), .pColorAttachments = color_attachment_refs, - .pDepthStencilAttachment = &depth_attachment_ref, }, }; @@ -635,21 +634,27 @@ VkResult create_render_pass(VkDevice device, VkSurfaceFormatKHR format, VkFormat { .srcSubpass = VK_SUBPASS_EXTERNAL, .dstSubpass = 0, - .srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT | VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT, - .srcAccessMask = 0, - .dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT | VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT, - .dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT | VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT, - .dependencyFlags = VK_DEPENDENCY_BY_REGION_BIT, + .srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, + .srcAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, + .dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, + .dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, + }, + { + .srcSubpass = VK_SUBPASS_EXTERNAL, + .dstSubpass = 0, + .srcStageMask = VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT, + .srcAccessMask = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT, + .dstStageMask = VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT, + .dstAccessMask = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT, }, { .srcSubpass = 0, .dstSubpass = 1, - .srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT | VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT, - .srcAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT | VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT, - .dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT | VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT, - .dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT | VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT, - .dependencyFlags = VK_DEPENDENCY_BY_REGION_BIT, - } + .srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, + .srcAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, + .dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, + .dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, + }, }; VkRenderPassCreateInfo render_info = {