diff options
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); } |
