Files
Odin/vendor/wgpu/sdl2glue/glue_windows.odin
T
2025-02-17 19:55:44 +01:00

26 lines
614 B
Odin

package wgpu_sdl2_glue
import win "core:sys/windows"
import "vendor:sdl2"
import "vendor:wgpu"
GetSurface :: proc(instance: wgpu.Instance, window: ^sdl2.Window) -> wgpu.Surface {
window_info: sdl2.SysWMinfo
sdl2.GetWindowWMInfo(window, &window_info)
hwnd := window_info.info.win.window
hinstance := win.GetModuleHandleW(nil)
return wgpu.InstanceCreateSurface(
instance,
&wgpu.SurfaceDescriptor{
nextInChain = &wgpu.SurfaceSourceWindowsHWND{
chain = wgpu.ChainedStruct{
sType = .SurfaceSourceWindowsHWND,
},
hinstance = rawptr(hinstance),
hwnd = rawptr(hwnd),
},
},
)
}