Tags: gogpu/gogpu
Tags
fix: CSD maximize/fullscreen geometry — enterprise pattern (#300, v0.… …41.11) * fix: CSD maximize/fullscreen geometry — enterprise pattern (#300) 5 bugs fixed in Wayland CSD (winit/SCTK + GTK4 enterprise pattern): 1. Title bar at (0,-tbH) on maximize instead of (0,0) — no longer covers Vulkan content (winit AdwaitaFrame pattern) 2. Fullscreen state parsed from xdg_toplevel states (value 2) 3. ALL decorations destroyed on fullscreen, recreated on restore 4. set_window_geometry uses negative offset model on maximize: (0, -tbH, contentW, contentH+tbH) — winit/libdecor pattern 5. ResizeCSD triggers on state change even without size change Verified: GTK4, winit/SCTK, SDL3/libdecor, GLFW all agree on fullscreen=hide-all, maximize=keep-titlebar enterprise consensus. * docs: CHANGELOG + ROADMAP for v0.41.11
fix: Wayland SIGSEGV — dataOfferTypes NULL interface + CI OIDC (#292,… … v0.41.6) * fix: deps wgpu v0.29.8 — Wayland display wrapper pattern (queue mismatch fix, #292) * fix: Wayland SIGSEGV — dataOfferTypes NULL interface + wgpu v0.29.9 (#292) wl_data_device.data_offer event had NULL wl_message.types array. libwayland create_proxies() read types[0]=NULL, created wl_data_offer proxy with interface=NULL. Next event to that proxy crashed at proxy->object.interface->event_count (offset 0x18 from NULL). Fix: dataOfferTypes[0] points to wl_data_offer interface struct. Root cause found after 30+ research agents, WAYLAND_DEBUG tracing, strace wire protocol analysis, libwayland source audit (wayland-client.c queue_event line 1643), and WSL2 reproduction. Deps: wgpu v0.29.8 → v0.29.9 (SHM triple-buffer freeze fix). * ci: remove fail_ci_if_error from Codecov (GPG infrastructure issue)
fix: hidden-then-show window creation + wgpu v0.29.7 (v0.41.5) * fix: hidden-then-show window creation + wgpu v0.29.6 (v0.41.5) Window creation now follows GLFW/Ebiten/SDL3/Flutter pattern: - CreateWindowExW without WS_VISIBLE (all platforms) - Show() after GPU initialization (eliminates black flash) - Win32: SW_SHOWNA + BringWindowToTop + SetForegroundWindow + SetFocus - macOS: Show() extracted from CreateWindow - X11: MapWindow deferred from Init() - Wayland/Browser: no-op (compositor controls visibility) Fixes WM_SETFOCUS lost during CreateWindowExW (Raymond Chen bug class). Deps: wgpu v0.29.4 → v0.29.6 (fence ordering, Fence.Signal error return). * fix: deps wgpu v0.29.7 — Wayland SIGSEGV fix (obtainWlShm eager init, #292)
fix: Wayland app event queue + CSD mutex + deps (ADR-041, #292, v0.41.4) Move all app Wayland objects to custom wl_event_queue via wl_proxy_create_wrapper pattern. Default queue left for Mesa Vulkan WSI. DispatchDefaultQueue now uses prepare_read_queue + dispatch_queue_pending on app queue only. Prevents our dispatch from firing Mesa's internal wl_buffer.release callbacks. CSD DispatchCSDEvents now holds displayMu for thread safety. deps: wgpu v0.29.1→v0.29.2, goffi v0.5.2→v0.5.3.
fix: Wayland SIGSEGV — configure gate + display thread safety (ADR-041, #292) Add WaitForConfigure() blocking dispatch loop matching SDL3/winit pattern. xdg-shell spec requires xdg_surface.configure before first buffer attach, but single wl_display_roundtrip is not guaranteed to deliver it. - Add initialConfigureReceived flag to LibwaylandHandle - Set flag in xdgSurfaceConfigureCb after ack_configure - Replace single roundtrip with WaitForConfigure() loop (bounded 50 iters) - Gate p.primary.configured on actual configure receipt - Defense-in-depth: log zero-dimension PhysicalSize at init Fixes crash on all Wayland compositors (GNOME/KDE/Sway) with any GPU.
fix: D-Bus NO_REPLY_EXPECTED flag + dbusAssembleMsg DRY refactor + st… …opCh shutdown logging * adr-40 : Resolve conflict * adr-40 : Fix test and golint * adr-40 : Fix Minor Notes 1,2,3 * adr-40 : Fix ci pipline * adr-40 : Fix 0x02 is NO_AUTO_START, not NO_REPLY_EXPECTED.
PreviousNext