mirror of
https://github.com/ocornut/imgui.git
synced 2025-10-03 16:46:29 +00:00
Backends: Vulkan: minor internal renames/tweaks to reduce further patches. (#8946, #8110, #8111, #8686)
This commit is contained in:
@@ -1001,22 +1001,22 @@ static VkPipeline ImGui_ImplVulkan_CreatePipeline(VkDevice device, const VkAlloc
|
|||||||
dynamic_state.dynamicStateCount = (uint32_t)IM_ARRAYSIZE(dynamic_states);
|
dynamic_state.dynamicStateCount = (uint32_t)IM_ARRAYSIZE(dynamic_states);
|
||||||
dynamic_state.pDynamicStates = dynamic_states;
|
dynamic_state.pDynamicStates = dynamic_states;
|
||||||
|
|
||||||
VkGraphicsPipelineCreateInfo info = {};
|
VkGraphicsPipelineCreateInfo create_info = {};
|
||||||
info.sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO;
|
create_info.sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO;
|
||||||
info.flags = bd->PipelineCreateFlags;
|
create_info.flags = bd->PipelineCreateFlags;
|
||||||
info.stageCount = 2;
|
create_info.stageCount = 2;
|
||||||
info.pStages = stage;
|
create_info.pStages = stage;
|
||||||
info.pVertexInputState = &vertex_info;
|
create_info.pVertexInputState = &vertex_info;
|
||||||
info.pInputAssemblyState = &ia_info;
|
create_info.pInputAssemblyState = &ia_info;
|
||||||
info.pViewportState = &viewport_info;
|
create_info.pViewportState = &viewport_info;
|
||||||
info.pRasterizationState = &raster_info;
|
create_info.pRasterizationState = &raster_info;
|
||||||
info.pMultisampleState = &ms_info;
|
create_info.pMultisampleState = &ms_info;
|
||||||
info.pDepthStencilState = &depth_info;
|
create_info.pDepthStencilState = &depth_info;
|
||||||
info.pColorBlendState = &blend_info;
|
create_info.pColorBlendState = &blend_info;
|
||||||
info.pDynamicState = &dynamic_state;
|
create_info.pDynamicState = &dynamic_state;
|
||||||
info.layout = bd->PipelineLayout;
|
create_info.layout = bd->PipelineLayout;
|
||||||
info.renderPass = renderPass;
|
create_info.renderPass = renderPass;
|
||||||
info.subpass = subpass;
|
create_info.subpass = subpass;
|
||||||
|
|
||||||
#ifdef IMGUI_IMPL_VULKAN_HAS_DYNAMIC_RENDERING
|
#ifdef IMGUI_IMPL_VULKAN_HAS_DYNAMIC_RENDERING
|
||||||
if (bd->VulkanInitInfo.UseDynamicRendering)
|
if (bd->VulkanInitInfo.UseDynamicRendering)
|
||||||
@@ -1024,14 +1024,14 @@ static VkPipeline ImGui_ImplVulkan_CreatePipeline(VkDevice device, const VkAlloc
|
|||||||
IM_ASSERT(pipeline_rendering_create_info && "PipelineRenderingCreateInfo must not be nullptr when using dynamic rendering");
|
IM_ASSERT(pipeline_rendering_create_info && "PipelineRenderingCreateInfo must not be nullptr when using dynamic rendering");
|
||||||
IM_ASSERT(pipeline_rendering_create_info->sType == VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR && "PipelineRenderingCreateInfo::sType must be VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR");
|
IM_ASSERT(pipeline_rendering_create_info->sType == VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR && "PipelineRenderingCreateInfo::sType must be VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR");
|
||||||
IM_ASSERT(pipeline_rendering_create_info->pNext == nullptr && "PipelineRenderingCreateInfo::pNext must be nullptr");
|
IM_ASSERT(pipeline_rendering_create_info->pNext == nullptr && "PipelineRenderingCreateInfo::pNext must be nullptr");
|
||||||
info.pNext = pipeline_rendering_create_info;
|
create_info.pNext = pipeline_rendering_create_info;
|
||||||
info.renderPass = VK_NULL_HANDLE; // Just make sure it's actually nullptr.
|
create_info.renderPass = VK_NULL_HANDLE; // Just make sure it's actually nullptr.
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
IM_ASSERT(pipeline_rendering_create_info == nullptr);
|
IM_ASSERT(pipeline_rendering_create_info == nullptr);
|
||||||
#endif
|
#endif
|
||||||
VkPipeline pipeline;
|
VkPipeline pipeline;
|
||||||
VkResult err = vkCreateGraphicsPipelines(device, pipelineCache, 1, &info, allocator, &pipeline);
|
VkResult err = vkCreateGraphicsPipelines(device, pipelineCache, 1, &create_info, allocator, &pipeline);
|
||||||
check_vk_result(err);
|
check_vk_result(err);
|
||||||
return pipeline;
|
return pipeline;
|
||||||
}
|
}
|
||||||
@@ -1108,11 +1108,11 @@ bool ImGui_ImplVulkan_CreateDeviceObjects()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create pipeline
|
// Create pipeline
|
||||||
if (v->RenderPass
|
bool create_main_pipeline = (v->RenderPass != VK_NULL_HANDLE);
|
||||||
#ifdef IMGUI_IMPL_VULKAN_HAS_DYNAMIC_RENDERING
|
#ifdef IMGUI_IMPL_VULKAN_HAS_DYNAMIC_RENDERING
|
||||||
|| (v->UseDynamicRendering && v->PipelineRenderingCreateInfo.sType == VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR)
|
create_main_pipeline |= (v->UseDynamicRendering && v->PipelineRenderingCreateInfo.sType == VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR);
|
||||||
#endif
|
#endif
|
||||||
)
|
if (create_main_pipeline)
|
||||||
{
|
{
|
||||||
ImGui_ImplVulkan_MainPipelineCreateInfo mp_info = {};
|
ImGui_ImplVulkan_MainPipelineCreateInfo mp_info = {};
|
||||||
mp_info.RenderPass = v->RenderPass;
|
mp_info.RenderPass = v->RenderPass;
|
||||||
@@ -1292,6 +1292,7 @@ bool ImGui_ImplVulkan_Init(ImGui_ImplVulkan_InitInfo* info)
|
|||||||
io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset; // We can honor the ImDrawCmd::VtxOffset field, allowing for large meshes.
|
io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset; // We can honor the ImDrawCmd::VtxOffset field, allowing for large meshes.
|
||||||
io.BackendFlags |= ImGuiBackendFlags_RendererHasTextures; // We can honor ImGuiPlatformIO::Textures[] requests during render.
|
io.BackendFlags |= ImGuiBackendFlags_RendererHasTextures; // We can honor ImGuiPlatformIO::Textures[] requests during render.
|
||||||
|
|
||||||
|
// Sanity checks
|
||||||
IM_ASSERT(info->Instance != VK_NULL_HANDLE);
|
IM_ASSERT(info->Instance != VK_NULL_HANDLE);
|
||||||
IM_ASSERT(info->PhysicalDevice != VK_NULL_HANDLE);
|
IM_ASSERT(info->PhysicalDevice != VK_NULL_HANDLE);
|
||||||
IM_ASSERT(info->Device != VK_NULL_HANDLE);
|
IM_ASSERT(info->Device != VK_NULL_HANDLE);
|
||||||
|
Reference in New Issue
Block a user