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,
|
pDynamicState: &dyn_info,
|
||||||
stageCount: cast(u32)shader_info.length,
|
stageCount: cast(u32)shader_info.length,
|
||||||
pStages: shader_info.ptr,
|
pStages: shader_info.ptr,
|
||||||
renderPass: g_vk.render_pass,
|
|
||||||
layout: build_info.layout,
|
layout: build_info.layout,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -2515,7 +2514,6 @@ RecreateSwapchain()
|
|||||||
CreateSwapchain();
|
CreateSwapchain();
|
||||||
CreateDrawImages();
|
CreateDrawImages();
|
||||||
Write(g_vk.global_set, &g_vk.draw_image);
|
Write(g_vk.global_set, &g_vk.draw_image);
|
||||||
CreateFramebuffer();
|
|
||||||
|
|
||||||
g_vk.recreate_swapchain = false;
|
g_vk.recreate_swapchain = false;
|
||||||
}
|
}
|
||||||
@ -3409,70 +3407,6 @@ Init(VulkanBuildInfo build_info, u64 permanent_mem, u64 frame_mem)
|
|||||||
|
|
||||||
channels = 3;
|
channels = 3;
|
||||||
g_vk.rgb_to_rgba_pipeline = CreateComputePipeline(&conv_info);
|
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");
|
assert(success, "Error initializing vulkan");
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user