Backends, Examples: WebGPU: simplified ifndef (#8381)

This commit is contained in:
ocornut
2025-11-07 13:24:10 +01:00
parent 635eb1d8e9
commit 86daa8930e
5 changed files with 10 additions and 10 deletions

View File

@@ -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__
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@@ -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

View File

@@ -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__

View File

@@ -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__

View File

@@ -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__