From 6eb33b8a5621f4628fab9178a4f9fd04a7f698aa Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Fri, 15 Dec 2023 19:09:52 -0600 Subject: [PATCH] app: [Windows] tolerate gpu.ErrDeviceLost from Refresh Fixes: https://todo.sr.ht/~eliasnaur/gio/552 Signed-off-by: Elias Naur --- app/d3d11_windows.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/d3d11_windows.go b/app/d3d11_windows.go index 8444f911..a7af4408 100644 --- a/app/d3d11_windows.go +++ b/app/d3d11_windows.go @@ -60,10 +60,10 @@ func (c *d3d11Context) RenderTarget() (gpu.RenderTarget, error) { } func (c *d3d11Context) Present() error { - err := c.swchain.Present(1, 0) - if err == nil { - return nil - } + return wrapErr(c.swchain.Present(1, 0)) +} + +func wrapErr(err error) error { if err, ok := err.(d3d11.ErrorCode); ok { switch err.Code { case d3d11.DXGI_STATUS_OCCLUDED: @@ -84,7 +84,7 @@ func (c *d3d11Context) Refresh() error { } c.releaseFBO() if err := c.swchain.ResizeBuffers(0, 0, 0, d3d11.DXGI_FORMAT_UNKNOWN, 0); err != nil { - return err + return wrapErr(err) } c.width = width c.height = height