Skip to content

Commit b51a595

Browse files
committed
Update .gitignore and CMakeLists.txt for backend configurations; enhance cimgui_impl_sdlgpu3 API with new shader functions
1 parent f8b0c27 commit b51a595

5 files changed

Lines changed: 38 additions & 8 deletions

File tree

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,7 @@ cimgui/x64/
3939
# Test / Build
4040
bld/
4141
build/
42+
43+
# Visual Studio
44+
.vs
45+
.vscode

CMakeLists.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ endif()
6868
if (BACKENDS_NO_BASE)
6969
set(BACKENDS_WIN32 OFF)
7070
set(BACKENDS_OSX OFF)
71+
set(BACKENDS_ANDROID OFF)
7172
set(BACKENDS_NO_GRAPHICS ON)
7273
endif()
7374

@@ -108,9 +109,6 @@ elseif(ANDROID)
108109
set(BACKENDS_WIN32 OFF)
109110
set(BACKENDS_OPENGL2 OFF)
110111
set(BACKENDS_VULKAN OFF) # Too complicated at the moment maybe adding it later.
111-
set(BACKENDS_GLFW OFF)
112-
set(BACKENDS_SDL2 OFF)
113-
set(BACKENDS_SDL3 OFF)
114112
set(BACKENDS_METAL OFF)
115113
set(BACKENDS_OSX OFF)
116114

include/cimgui_config.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ typedef unsigned __int64 ImU64;
3434
// typedef unsigned long long ImU64;
3535
#endif
3636

37+
#ifdef __APPLE__
38+
#define TARGET_OS_MAC 1
39+
#endif // __APPLE__
40+
3741
#include "imgui.h"
3842
#ifdef CIMGUI_FREETYPE
3943
#include "misc/freetype/imgui_freetype.h"

include/cimgui_impl_sdlgpu3.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,10 @@ CIMGUI_API void CImGui_ImplSDLGPU3_DestroyDeviceObjects();
3737
CIMGUI_API void CImGui_ImplSDLGPU3_GetSPIRVVertexShader(const void** ptr, size_t* size);
3838
CIMGUI_API void CImGui_ImplSDLGPU3_GetSPIRVFragmentShader(const void** ptr, size_t* size);
3939
CIMGUI_API void CImGui_ImplSDLGPU3_GetDXBCVertexShader(const void** ptr, size_t* size);
40-
CIMGUI_API void CImGui_ImplSDLGPU3_GetDXBCPixelShader(const void** ptr, size_t* size);
40+
CIMGUI_API void CImGui_ImplSDLGPU3_GetDXBCFragmentShader(const void** ptr, size_t* size);
41+
CIMGUI_API void CImGui_ImplSDLGPU3_GetMetallibVertexShader(const void** ptr, size_t* size);
42+
CIMGUI_API void CImGui_ImplSDLGPU3_GetMetallibFragmentShader(const void** ptr, size_t* size);
43+
4144
#endif // CIMGUI_USE_SDLGPU3
4245

4346
#endif // CIMGUI_IMPL_SDLGPU3_H

src/cimgui_impl_sdlgpu3.cpp

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ CIMGUI_API void CImGui_ImplSDLGPU3_DestroyDeviceObjects()
2929
ImGui_ImplSDLGPU3_DestroyDeviceObjects();
3030
}
3131

32-
// Shader pointer/size C API (merged signature)
3332
CIMGUI_API void CImGui_ImplSDLGPU3_GetSPIRVVertexShader(const void** ptr, size_t* size)
3433
{
3534
if (ptr) *ptr = (const void*)spirv_vertex;
@@ -45,8 +44,30 @@ CIMGUI_API void CImGui_ImplSDLGPU3_GetDXBCVertexShader(const void** ptr, size_t*
4544
if (ptr) *ptr = (const void*)dxbc_vertex;
4645
if (size) *size = sizeof(dxbc_vertex);
4746
}
48-
CIMGUI_API void CImGui_ImplSDLGPU3_GetDXBCPixelShader(const void** ptr, size_t* size)
47+
CIMGUI_API void CImGui_ImplSDLGPU3_GetDXBCFragmentShader(const void** ptr, size_t* size)
4948
{
50-
if (ptr) *ptr = (const void*)dxbc_pixel;
51-
if (size) *size = sizeof(dxbc_pixel);
49+
if (ptr) *ptr = (const void*)dxbc_fragment;
50+
if (size) *size = sizeof(dxbc_fragment);
51+
}
52+
53+
CIMGUI_API void CImGui_ImplSDLGPU3_GetMetallibVertexShader(const void **ptr, size_t *size)
54+
{
55+
#ifdef __APPLE__
56+
if (ptr) *ptr = (const void*)metallib_vertex;
57+
if (size) *size = sizeof(metallib_vertex);
58+
#else
59+
if (ptr) *ptr = nullptr;
60+
if (size) *size = 0;
61+
#endif
62+
}
63+
64+
CIMGUI_API void CImGui_ImplSDLGPU3_GetMetallibFragmentShader(const void **ptr, size_t *size)
65+
{
66+
#ifdef __APPLE__
67+
if (ptr) *ptr = (const void*)metallib_fragment;
68+
if (size) *size = sizeof(metallib_fragment);
69+
#else
70+
if (ptr) *ptr = nullptr;
71+
if (size) *size = 0;
72+
#endif
5273
}

0 commit comments

Comments
 (0)