fix renderpass being included on pipeline creation, remove renderpass/framebuffer code
This commit is contained in:
parent
b3726d3627
commit
37661c07ac
@ -1949,7 +1949,6 @@ CreateGraphicsPipeline(Pipeline* pipeline_handle, GfxPipelineInfo* build_info)
|
||||
pDynamicState: &dyn_info,
|
||||
stageCount: cast(u32)shader_info.length,
|
||||
pStages: shader_info.ptr,
|
||||
renderPass: g_vk.render_pass,
|
||||
layout: build_info.layout,
|
||||
};
|
||||
|
||||
@ -2515,7 +2514,6 @@ RecreateSwapchain()
|
||||
CreateSwapchain();
|
||||
CreateDrawImages();
|
||||
Write(g_vk.global_set, &g_vk.draw_image);
|
||||
CreateFramebuffer();
|
||||
|
||||
g_vk.recreate_swapchain = false;
|
||||
}
|
||||
@ -3409,70 +3407,6 @@ Init(VulkanBuildInfo build_info, u64 permanent_mem, u64 frame_mem)
|
||||
|
||||
channels = 3;
|
||||
g_vk.rgb_to_rgba_pipeline = CreateComputePipeline(&conv_info);
|
||||
|
||||
|
||||
VkAttachmentDescription[2] attach_descriptions = [
|
||||
{
|
||||
format: g_vk.draw_image.image.format,
|
||||
samples: VK_SAMPLE_COUNT_1_BIT,
|
||||
loadOp: VK_ATTACHMENT_LOAD_OP_CLEAR,
|
||||
storeOp: VK_ATTACHMENT_STORE_OP_STORE,
|
||||
stencilLoadOp: VK_ATTACHMENT_LOAD_OP_DONT_CARE,
|
||||
stencilStoreOp: VK_ATTACHMENT_STORE_OP_DONT_CARE,
|
||||
initialLayout: VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
|
||||
finalLayout: VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
|
||||
},
|
||||
{
|
||||
format: g_vk.depth_image.image.format,
|
||||
samples: VK_SAMPLE_COUNT_1_BIT,
|
||||
loadOp: VK_ATTACHMENT_LOAD_OP_CLEAR,
|
||||
storeOp: VK_ATTACHMENT_STORE_OP_STORE,
|
||||
initialLayout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
|
||||
finalLayout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
|
||||
},
|
||||
];
|
||||
|
||||
VkAttachmentReference color_ref = {
|
||||
attachment: 0,
|
||||
layout: VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
|
||||
};
|
||||
|
||||
VkAttachmentReference depth_ref = {
|
||||
attachment: 1,
|
||||
layout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
|
||||
};
|
||||
|
||||
VkSubpassDescription subpass = {
|
||||
pipelineBindPoint: VK_PIPELINE_BIND_POINT_GRAPHICS,
|
||||
colorAttachmentCount: 1,
|
||||
pColorAttachments: &color_ref,
|
||||
pDepthStencilAttachment: &depth_ref,
|
||||
};
|
||||
|
||||
VkSubpassDependency self_dependency = {
|
||||
srcSubpass: 0,
|
||||
dstSubpass: 0,
|
||||
srcStageMask: VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT,
|
||||
dstStageMask: VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT,
|
||||
srcAccessMask: VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT,
|
||||
dstAccessMask: VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT,
|
||||
dependencyFlags: VK_DEPENDENCY_BY_REGION_BIT,
|
||||
};
|
||||
|
||||
VkRenderPassCreateInfo pass_info = {
|
||||
sType: VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO,
|
||||
attachmentCount: cast(u32)attach_descriptions.length,
|
||||
pAttachments: attach_descriptions.ptr,
|
||||
subpassCount: 1,
|
||||
pSubpasses: &subpass,
|
||||
dependencyCount: 1,
|
||||
pDependencies: &self_dependency,
|
||||
};
|
||||
|
||||
VkResult result = vkCreateRenderPass(g_vk.device, &pass_info, null, &g_vk.render_pass);
|
||||
VkCheckA("vkCreateRenderPass failure", result);
|
||||
|
||||
CreateFramebuffer();
|
||||
}
|
||||
|
||||
assert(success, "Error initializing vulkan");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user