mirror of
https://github.com/ocornut/imgui.git
synced 2025-12-19 12:55:34 +00:00
Backends, Examples: WebGPU: simplified ifndef (#8381)
This commit is contained in:
@@ -1015,7 +1015,7 @@ void ImGui_ImplWGPU_DebugPrintAdapterInfo(const WGPUAdapter& adapter)
|
|||||||
wgpuAdapterInfoFreeMembers(info);
|
wgpuAdapterInfoFreeMembers(info);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(IMGUI_IMPL_WEBGPU_BACKEND_WGPU) || defined(IMGUI_IMPL_WEBGPU_BACKEND_DAWN) && !defined(__EMSCRIPTEN__)
|
#ifndef __EMSCRIPTEN__
|
||||||
|
|
||||||
#if defined(__APPLE__)
|
#if defined(__APPLE__)
|
||||||
// MacOS specific: is necessary to compile with "-x objective-c++" flags
|
// MacOS specific: is necessary to compile with "-x objective-c++" flags
|
||||||
@@ -1079,7 +1079,7 @@ WGPUSurface ImGui_ImplWGPU_CreateWGPUSurfaceHelper(ImGui_ImplWGPU_CreateSurfaceI
|
|||||||
#endif
|
#endif
|
||||||
return surface;
|
return surface;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // #ifndef __EMSCRIPTEN__
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ const char* ImGui_ImplWGPU_GetLogLevelName(WGPULogLevel level);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// (Optional) Helper to create a surface on macOS/Wayland/X11/Window
|
// (Optional) Helper to create a surface on macOS/Wayland/X11/Window
|
||||||
#if defined(IMGUI_IMPL_WEBGPU_BACKEND_WGPU) || defined(IMGUI_IMPL_WEBGPU_BACKEND_DAWN) && !defined(__EMSCRIPTEN__)
|
#ifndef __EMSCRIPTEN__
|
||||||
struct ImGui_ImplWGPU_CreateSurfaceInfo
|
struct ImGui_ImplWGPU_CreateSurfaceInfo
|
||||||
{
|
{
|
||||||
WGPUInstance Instance;
|
WGPUInstance Instance;
|
||||||
@@ -116,6 +116,6 @@ struct ImGui_ImplWGPU_CreateSurfaceInfo
|
|||||||
void* RawInstance; // 0 | 0 | 0 | HINSTANCE
|
void* RawInstance; // 0 | 0 | 0 | HINSTANCE
|
||||||
};
|
};
|
||||||
WGPUSurface ImGui_ImplWGPU_CreateWGPUSurfaceHelper(ImGui_ImplWGPU_CreateSurfaceInfo* info);
|
WGPUSurface ImGui_ImplWGPU_CreateWGPUSurfaceHelper(ImGui_ImplWGPU_CreateSurfaceInfo* info);
|
||||||
#endif
|
#endif // #ifndef __EMSCRIPTEN__
|
||||||
|
|
||||||
#endif // #ifndef IMGUI_DISABLE
|
#endif // #ifndef IMGUI_DISABLE
|
||||||
|
|||||||
@@ -506,7 +506,7 @@ static bool InitWGPU(GLFWwindow* window)
|
|||||||
// As of today (2025/10) there is no "official" support in GLFW to create a surface for WebGPU backend
|
// As of today (2025/10) there is no "official" support in GLFW to create a surface for WebGPU backend
|
||||||
// This stub uses "low level" GLFW calls to acquire information from a specific Window Manager.
|
// This stub uses "low level" GLFW calls to acquire information from a specific Window Manager.
|
||||||
// Currently supported platforms: Windows / Linux (X11 and Wayland) / MacOS. Not necessary nor available with EMSCRIPTEN.
|
// Currently supported platforms: Windows / Linux (X11 and Wayland) / MacOS. Not necessary nor available with EMSCRIPTEN.
|
||||||
#if !defined(__EMSCRIPTEN__) && (defined(IMGUI_IMPL_WEBGPU_BACKEND_WGPU) || defined(IMGUI_IMPL_WEBGPU_BACKEND_DAWN))
|
#ifndef __EMSCRIPTEN__
|
||||||
|
|
||||||
#if defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__)
|
#if defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__)
|
||||||
#define GLFW_HAS_X11_OR_WAYLAND 1
|
#define GLFW_HAS_X11_OR_WAYLAND 1
|
||||||
@@ -573,4 +573,4 @@ WGPUSurface CreateWGPUSurface(const WGPUInstance& instance, GLFWwindow* window)
|
|||||||
#endif
|
#endif
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // #ifndef __EMSCRIPTEN__
|
||||||
|
|||||||
@@ -491,7 +491,7 @@ static bool InitWGPU(SDL_Window* window)
|
|||||||
// As of today (2025/10/31) there is no "official" support in SDL2 to create a surface for WebGPU backend.
|
// As of today (2025/10/31) there is no "official" support in SDL2 to create a surface for WebGPU backend.
|
||||||
// This stub uses "low level" SDL2 calls to acquire information from a specific Window Manager.
|
// This stub uses "low level" SDL2 calls to acquire information from a specific Window Manager.
|
||||||
// Currently supported platforms: Windows / Linux (X11 and Wayland) / MacOS. Not necessary nor available with EMSCRIPTEN.
|
// Currently supported platforms: Windows / Linux (X11 and Wayland) / MacOS. Not necessary nor available with EMSCRIPTEN.
|
||||||
#if !defined(__EMSCRIPTEN__) && (defined(IMGUI_IMPL_WEBGPU_BACKEND_WGPU) || defined(IMGUI_IMPL_WEBGPU_BACKEND_DAWN))
|
#ifndef __EMSCRIPTEN__
|
||||||
|
|
||||||
#include <SDL_syswm.h>
|
#include <SDL_syswm.h>
|
||||||
#undef Status // X11 headers are leaking this and also 'Success', 'Always', 'None', all used in DAWN api. Add #undef if necessary.
|
#undef Status // X11 headers are leaking this and also 'Success', 'Always', 'None', all used in DAWN api. Add #undef if necessary.
|
||||||
@@ -538,4 +538,4 @@ WGPUSurface CreateWGPUSurface(const WGPUInstance& instance, SDL_Window* window)
|
|||||||
#endif
|
#endif
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // #ifndef __EMSCRIPTEN__
|
||||||
|
|||||||
@@ -502,7 +502,7 @@ static bool InitWGPU(SDL_Window* window)
|
|||||||
// As of today (2025/10) there is no "official" support in SDL3 to create a surface for WebGPU backend
|
// As of today (2025/10) there is no "official" support in SDL3 to create a surface for WebGPU backend
|
||||||
// This stub uses "low level" SDL3 calls to acquire information from a specific Window Manager.
|
// This stub uses "low level" SDL3 calls to acquire information from a specific Window Manager.
|
||||||
// Currently supported platforms: Windows / Linux (X11 and Wayland) / MacOS. Not necessary nor available with EMSCRIPTEN.
|
// Currently supported platforms: Windows / Linux (X11 and Wayland) / MacOS. Not necessary nor available with EMSCRIPTEN.
|
||||||
#if !defined(__EMSCRIPTEN__) && (defined(IMGUI_IMPL_WEBGPU_BACKEND_WGPU) || defined(IMGUI_IMPL_WEBGPU_BACKEND_DAWN))
|
#ifndef __EMSCRIPTEN__
|
||||||
|
|
||||||
#if defined(SDL_PLATFORM_WIN32)
|
#if defined(SDL_PLATFORM_WIN32)
|
||||||
#ifndef WIN32_LEAN_AND_MEAN
|
#ifndef WIN32_LEAN_AND_MEAN
|
||||||
@@ -550,4 +550,4 @@ static WGPUSurface CreateWGPUSurface(const WGPUInstance& instance, SDL_Window* w
|
|||||||
#endif
|
#endif
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // #ifndef __EMSCRIPTEN__
|
||||||
|
|||||||
Reference in New Issue
Block a user