diff options
| author | skal <pascal.massimino@gmail.com> | 2026-01-31 13:57:51 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-01-31 13:57:51 +0100 |
| commit | e3daca37aa134a6885c8ae5c508c3d7f7bfc600a (patch) | |
| tree | 69578c5e3376603219bc341e8975e289cede9bdd /third_party/glfw3webgpu/glfw3webgpu.c | |
| parent | 3af9f70bec1f50c980288e2213035693f4b737ce (diff) | |
Add Windows cross-compilation support (MinGW) and emulation (Wine)
Diffstat (limited to 'third_party/glfw3webgpu/glfw3webgpu.c')
| -rw-r--r-- | third_party/glfw3webgpu/glfw3webgpu.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/third_party/glfw3webgpu/glfw3webgpu.c b/third_party/glfw3webgpu/glfw3webgpu.c index 27bf9ec..a3f36e6 100644 --- a/third_party/glfw3webgpu/glfw3webgpu.c +++ b/third_party/glfw3webgpu/glfw3webgpu.c @@ -136,6 +136,19 @@ WGPUSurface glfwCreateWindowWGPUSurface(WGPUInstance instance, GLFWwindow* windo HWND hwnd = glfwGetWin32Window(window); HINSTANCE hinstance = GetModuleHandle(NULL); +#if defined(DEMO_CROSS_COMPILE_WIN32) + // Old API (wgpu-native v0.19) + WGPUSurfaceDescriptorFromWindowsHWND fromWindowsHWND; + fromWindowsHWND.chain.sType = WGPUSType_SurfaceDescriptorFromWindowsHWND; + fromWindowsHWND.chain.next = NULL; + fromWindowsHWND.hinstance = hinstance; + fromWindowsHWND.hwnd = hwnd; + + WGPUSurfaceDescriptor surfaceDescriptor; + surfaceDescriptor.nextInChain = (const WGPUChainedStruct*)&fromWindowsHWND; + surfaceDescriptor.label = NULL; +#else + // New API WGPUSurfaceSourceWindowsHWND fromWindowsHWND; fromWindowsHWND.chain.sType = WGPUSType_SurfaceSourceWindowsHWND; fromWindowsHWND.chain.next = NULL; @@ -145,6 +158,7 @@ WGPUSurface glfwCreateWindowWGPUSurface(WGPUInstance instance, GLFWwindow* windo WGPUSurfaceDescriptor surfaceDescriptor; surfaceDescriptor.nextInChain = &fromWindowsHWND.chain; surfaceDescriptor.label = (WGPUStringView){ NULL, WGPU_STRLEN }; +#endif return wgpuInstanceCreateSurface(instance, &surfaceDescriptor); } |
