No description
  • Go 89.9%
  • C 6.8%
  • Java 1.7%
  • Objective-C 1.5%
Find a file
Martin Lange bf9f995d86 app: recover from a lost GPU device in Present
validateAndProcess recovers from gpu.ErrDeviceLost returned by Refresh
and frame, but returns it from Present to processFrame, which closes the
window. On Windows, DXGI usually reports a removed or reset device from
Present, after a driver reset (TDR), driver update, or GPU switch, so
programs exit in that situation.

Handle a lost device in Present like in the other paths. The frame is
already released to the client and can't be retried, so release the GPU
resources and schedule a new frame, which re-creates them.

Tested on Windows by making the D3D11 Present report a lost device.

Fixes: https://todo.sr.ht/~eliasnaur/gio/714
Signed-off-by: Martin Lange <martin_lange_@gmx.net>
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2026-10-12 12:10:57 +02:00
.builds .builds: fix builds 2025-12-28 10:45:38 +01:00
app app: recover from a lost GPU device in Present 2026-10-12 12:10:57 +02:00
f32 f32: add tests for Affine2D transformations 2025-07-12 09:43:08 +02:00
font font/opentype: fix font.Face creation 2026-05-18 14:30:12 -04:00
gesture gesture: refresh PointerID on Press and Enter 2026-04-30 06:19:20 +02:00
gpu op/clip: do not stroke empty paths 2026-09-21 16:38:56 +02:00
internal internal/gl: prefer newer libs 2026-09-23 09:56:57 +02:00
io app: report close requests before closing 2026-09-15 09:16:19 +02:00
layout layout: add List.Gap for spacing out items 2026-02-19 08:01:55 +01:00
op op/clip: do not stroke empty paths 2026-09-21 16:38:56 +02:00
text text: ensure text segmentation uses script information 2026-09-29 13:26:08 -04:00
unit unit: add PxToDp and PxToSp 2023-01-01 10:19:50 -06:00
widget widget: fix text index test clustering expectations 2026-10-06 16:41:31 -04:00
.gitattributes .gitattributes: disable Windows line ending conversion 2019-12-03 13:36:31 +01:00
flake.lock flake.*: upgrade to nixpkgs 25.05, use nixpkgs android SDK 2025-05-24 11:47:43 +02:00
flake.nix flake.*: upgrade to nixpkgs 25.05, use nixpkgs android SDK 2025-05-24 11:47:43 +02:00
go.mod text: update to latest go-text release 2026-09-28 13:40:56 -04:00
go.sum text: update to latest go-text release 2026-09-28 13:40:56 -04:00
LICENSE LICENSE: tighten license language 2020-12-11 16:42:04 +01:00
README.md doc: update readme with tag policy 2023-07-01 12:38:39 -04:00

Gio - https://gioui.org

Immediate mode GUI programs in Go for Android, iOS, macOS, Linux, FreeBSD, OpenBSD, Windows, and WebAssembly (experimental).

Installation, examples, documentation

Go to gioui.org.

builds.sr.ht status

Issues

File bugs and TODOs through the issue tracker or send an email to ~eliasnaur/gio@todo.sr.ht. For general discussion, use the mailing list: ~eliasnaur/gio@lists.sr.ht.

Contributing

Post discussion to the mailing list and patches to gio-patches. No Sourcehut account is required and you can post without being subscribed.

See the contribution guide for more details.

An official GitHub mirror is available.

Tags

Pre-1.0 tags are provided for reference only, and do not designate releases with ongoing support. Bugfixes will not be backported to older tags.

Tags follow semantic versioning. In particular, as the major version is zero:

  • breaking API or behavior changes will increment the minor version component.
  • non-breaking changes will increment the patch version component.