summaryrefslogtreecommitdiffstats
path: root/src/cplusplus.cpp
diff options
context:
space:
mode:
authorgrm <grm@eyesin.space>2026-03-14 02:29:15 +0200
committergrm <grm@eyesin.space>2026-03-14 02:29:15 +0200
commit650e5afde271d22b3653832daf339e1bd09a10d6 (patch)
treecc5e536b0150de1109daa43a055547d2266e60dd /src/cplusplus.cpp
parent20e64711ce2a09b657fb79d59cb824e9e34d2b07 (diff)
downloadcgame-650e5afde271d22b3653832daf339e1bd09a10d6.tar.gz
cgame-650e5afde271d22b3653832daf339e1bd09a10d6.tar.bz2
cgame-650e5afde271d22b3653832daf339e1bd09a10d6.zip
Migrate to imgui 1.92.6 and SDL3HEADmaster
Diffstat (limited to 'src/cplusplus.cpp')
-rw-r--r--src/cplusplus.cpp35
1 files changed, 14 insertions, 21 deletions
diff --git a/src/cplusplus.cpp b/src/cplusplus.cpp
index b8dd787..26809bb 100644
--- a/src/cplusplus.cpp
+++ b/src/cplusplus.cpp
@@ -9,7 +9,7 @@
#include "vk_mem_alloc.h"
#include <imgui.h>
-#include <backends/imgui_impl_sdl2.h>
+#include <backends/imgui_impl_sdl3.h>
#include <backends/imgui_impl_vulkan.h>
static void check_vk_result(VkResult err)
@@ -38,7 +38,7 @@ imgui_new_frame(vks_context vk)
{
ImGui_ImplVulkan_NewFrame();
- ImGui_ImplSDL2_NewFrame();
+ ImGui_ImplSDL3_NewFrame();
ImGui::NewFrame();
@@ -52,7 +52,7 @@ imgui_new_frame(vks_context vk)
bool
imgui_proc_event(SDL_Event* e)
{
- return ImGui_ImplSDL2_ProcessEvent(e);
+ return ImGui_ImplSDL3_ProcessEvent(e);
}
static VkDescriptorPool imguiPool;
@@ -86,37 +86,30 @@ init_imgui(vks_context *vk)
IMGUI_CHECKVERSION();
ImGui::CreateContext();
ImGuiIO& io = ImGui::GetIO();
- io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard; // Enable Keyboard Controls
- io.ConfigFlags |=
- ImGuiConfigFlags_NavEnableGamepad; // Enable Gamepad Controls
+ io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard; // Enable Keyboard Controls
+ io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad; // Enable Gamepad Controls
- ImGui_ImplSDL2_InitForVulkan(vk->window);
+ ImGui_ImplSDL3_InitForVulkan(vk->window);
ImGui_ImplVulkan_InitInfo init_info = {};
+ init_info.ApiVersion = VK_API_VERSION_1_3;
init_info.Instance = vk->instance;
init_info.PhysicalDevice = vk->physical_device;
init_info.Device = vk->device;
- //init_info.QueueFamily = ;
init_info.Queue = vk->graphics_and_compute_queue;
- //init_info.PipelineCache = YOUR_PIPELINE_CACHE;
init_info.DescriptorPool = imguiPool;
- init_info.Subpass = 0;
+ init_info.PipelineInfoMain.Subpass = 0;
init_info.MinImageCount = 2;
init_info.ImageCount = 2;
- init_info.MSAASamples = vk->msaa_samples;
+ init_info.PipelineInfoMain.MSAASamples = vk->msaa_samples;
init_info.CheckVkResultFn = check_vk_result;
init_info.UseDynamicRendering = true;
- //init_info.
- init_info.PipelineRenderingCreateInfo.sType =
- VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR;
- init_info.PipelineRenderingCreateInfo.colorAttachmentCount = 1;
- init_info.PipelineRenderingCreateInfo.pColorAttachmentFormats = &vk->swapchain.image_format;
- init_info.PipelineRenderingCreateInfo.depthAttachmentFormat = vks_find_depth_format(*vk);
+ init_info.PipelineInfoMain.PipelineRenderingCreateInfo.sType =
+ VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR;
+ init_info.PipelineInfoMain.PipelineRenderingCreateInfo.colorAttachmentCount = 1;
+ init_info.PipelineInfoMain.PipelineRenderingCreateInfo.pColorAttachmentFormats = &vk->swapchain.image_format;
+ init_info.PipelineInfoMain.PipelineRenderingCreateInfo.depthAttachmentFormat = vks_find_depth_format(*vk);
ImGui_ImplVulkan_Init(&init_info);
- // (this gets a bit more complicated, see example app for full reference)
- ImGui_ImplVulkan_CreateFontsTexture();
- // (your code submit a queue)
- ImGui_ImplVulkan_DestroyFontsTexture();
}
void