diff --git a/internal/atlas/image.go b/internal/atlas/image.go index da6943789..cf21e3dfd 100644 --- a/internal/atlas/image.go +++ b/internal/atlas/image.go @@ -866,7 +866,7 @@ func SwapBuffers(graphicsDriver graphicsdriver.Graphics) error { }() if debug.IsDebug { - debug.FrameLogf("Internal image sizes:\n") + debug.Logf("Internal image sizes:\n") imgs := make([]*graphicscommand.Image, 0, len(theBackends)) for _, backend := range theBackends { imgs = append(imgs, backend.image) diff --git a/internal/debug/debug.go b/internal/debug/debug.go index f0c6e1d60..93cd8d1d6 100644 --- a/internal/debug/debug.go +++ b/internal/debug/debug.go @@ -14,8 +14,7 @@ package debug -// FrameLogger defines the interface for logging debug information for each frame. -type FrameLogger interface { - FrameLogf(format string, args ...any) +type Logger interface { + Logf(format string, args ...any) Flush() } diff --git a/internal/debug/debug_ebitenginedebug.go b/internal/debug/debug_ebitenginedebug.go index 853481ee0..8f6ae144d 100644 --- a/internal/debug/debug_ebitenginedebug.go +++ b/internal/debug/debug_ebitenginedebug.go @@ -23,32 +23,30 @@ import ( const IsDebug = true -var theFrameLogger = &frameLogger{} +var theLogger = &logger{} var flushM sync.Mutex -// FrameLogf calls the current global logger's FrameLogf. -// FrameLogf buffers the arguments and doesn't dump the log immediately. +// Logf calls the current global logger's Logf. +// Logf buffers the arguments and doesn't dump the log immediately. // You can dump logs by calling SwitchLogger and Flush. // -// FrameLogf is not concurrent safe. -// FrameLogf and SwitchFrameLogger must be called from the same goroutine. -func FrameLogf(format string, args ...any) { - theFrameLogger.FrameLogf(format, args...) +// Logf is not concurrent safe. +func Logf(format string, args ...any) { + theLogger.Logf(format, args...) } -// SwitchFrameLogger sets a new logger as the current logger and returns the original global logger. +// SwitchLogger sets a new logger as the current logger and returns the original global logger. // The new global logger and the returned logger have separate statuses, so you can use them for different goroutines. // -// SwitchFrameLogger and a returned Logger are not concurrent safe. -// FrameLogf and SwitchFrameLogger must be called from the same goroutine. -func SwitchFrameLogger() FrameLogger { - current := theFrameLogger - theFrameLogger = &frameLogger{} +// SwitchLogger and a returned Logger are not concurrent safe. +func SwitchLogger() Logger { + current := theLogger + theLogger = &logger{} return current } -type frameLogger struct { +type logger struct { items []logItem } @@ -57,14 +55,14 @@ type logItem struct { args []any } -func (l *frameLogger) FrameLogf(format string, args ...any) { +func (l *logger) Logf(format string, args ...any) { l.items = append(l.items, logItem{ format: format, args: args, }) } -func (l *frameLogger) Flush() { +func (l *logger) Flush() { // Flushing is protected by a mutex not to mix another logger's logs. flushM.Lock() defer flushM.Unlock() diff --git a/internal/debug/debug_notebitenginedebug.go b/internal/debug/debug_notebitenginedebug.go index e8fc57030..7f7c7509d 100644 --- a/internal/debug/debug_notebitenginedebug.go +++ b/internal/debug/debug_notebitenginedebug.go @@ -18,17 +18,17 @@ package debug const IsDebug = false -func FrameLogf(format string, args ...any) { +func Logf(format string, args ...any) { } -func SwitchFrameLogger() FrameLogger { - return dummyFrameLogger{} +func SwitchLogger() Logger { + return dummyLogger{} } -type dummyFrameLogger struct{} +type dummyLogger struct{} -func (dummyFrameLogger) FrameLogf(format string, args ...any) { +func (dummyLogger) Logf(format string, args ...any) { } -func (dummyFrameLogger) Flush() { +func (dummyLogger) Flush() { } diff --git a/internal/gamepad/gamepad_linux.go b/internal/gamepad/gamepad_linux.go index 17fd00a13..d97d43970 100644 --- a/internal/gamepad/gamepad_linux.go +++ b/internal/gamepad/gamepad_linux.go @@ -54,9 +54,6 @@ func (g *nativeGamepadsImpl) init(gamepads *gamepads) error { if err == unix.ENOENT { return nil } - if err == unix.EPERM { - return nil - } return fmt.Errorf("gamepad: Stat failed: %w", err) } if stat.Mode&unix.S_IFDIR == 0 { diff --git a/internal/graphicscommand/commandqueue.go b/internal/graphicscommand/commandqueue.go index 7176cb240..0f24dbf42 100644 --- a/internal/graphicscommand/commandqueue.go +++ b/internal/graphicscommand/commandqueue.go @@ -197,7 +197,7 @@ func (q *commandQueue) Flush(graphicsDriver graphicsdriver.Graphics, endFrame bo } } - logger := debug.SwitchFrameLogger() + logger := debug.SwitchLogger() var flushErr error runOnRenderThread(func() { @@ -223,7 +223,7 @@ func (q *commandQueue) Flush(graphicsDriver graphicsdriver.Graphics, endFrame bo } // flush must be called the render thread. -func (q *commandQueue) flush(graphicsDriver graphicsdriver.Graphics, endFrame bool, logger debug.FrameLogger) (err error) { +func (q *commandQueue) flush(graphicsDriver graphicsdriver.Graphics, endFrame bool, logger debug.Logger) (err error) { // If endFrame is true, Begin/End should be called to ensure the framebuffer is swapped. if len(q.commands) == 0 && !endFrame { return nil @@ -231,7 +231,7 @@ func (q *commandQueue) flush(graphicsDriver graphicsdriver.Graphics, endFrame bo es := q.indices vs := q.vertices - logger.FrameLogf("Graphics commands:\n") + logger.Logf("Graphics commands:\n") if err := graphicsDriver.Begin(); err != nil { return err @@ -294,7 +294,7 @@ func (q *commandQueue) flush(graphicsDriver graphicsdriver.Graphics, endFrame bo if err := c.Exec(q, graphicsDriver, indexOffset); err != nil { return err } - logger.FrameLogf(" %s\n", c) + logger.Logf(" %s\n", c) // TODO: indexOffset should be reset if the command type is different // from the previous one. This fix is needed when another drawing command is // introduced than drawTrianglesCommand. diff --git a/internal/graphicscommand/image.go b/internal/graphicscommand/image.go index 87ff76eff..be0eecf28 100644 --- a/internal/graphicscommand/image.go +++ b/internal/graphicscommand/image.go @@ -234,6 +234,6 @@ func LogImagesInfo(images []*Image) { if i.screen { screen = " (screen)" } - debug.FrameLogf(" %d: (%d, %d)%s\n", i.id, w, h, screen) + debug.Logf(" %d: (%d, %d)%s\n", i.id, w, h, screen) } } diff --git a/internal/ui/context.go b/internal/ui/context.go index bf9ccce50..f7d2cb607 100644 --- a/internal/ui/context.go +++ b/internal/ui/context.go @@ -95,7 +95,7 @@ func (c *context) updateFrameImpl(graphicsDriver graphicsdriver.Graphics, update return nil } - debug.FrameLogf("----\n") + debug.Logf("----\n") if err := atlas.BeginFrame(graphicsDriver); err != nil { return err @@ -133,7 +133,7 @@ func (c *context) updateFrameImpl(graphicsDriver graphicsdriver.Graphics, update updateCount = 1 c.updateCalled = true } - debug.FrameLogf("Update count per frame: %d\n", updateCount) + debug.Logf("Update count per frame: %d\n", updateCount) // Update the game. for i := 0; i < updateCount; i++ {