diff --git a/app/headless/headless.go b/app/headless/headless.go index e17360e6..10e5846b 100644 --- a/app/headless/headless.go +++ b/app/headless/headless.go @@ -9,8 +9,8 @@ import ( "image" "runtime" - "gioui.org/app/internal/gl" - "gioui.org/app/internal/gpu" + "gioui.org/gpu" + "gioui.org/gpu/gl" "gioui.org/op" ) diff --git a/app/headless/headless_darwin.go b/app/headless/headless_darwin.go index c40042e6..26d442ea 100644 --- a/app/headless/headless_darwin.go +++ b/app/headless/headless_darwin.go @@ -2,8 +2,10 @@ package headless -import "gioui.org/app/internal/gl" -import "gioui.org/app/internal/gl/impl" +import ( + "gioui.org/app/internal/glimpl" + "gioui.org/gpu/gl" +) /* #cgo CFLAGS: -DGL_SILENCE_DEPRECATION -Werror -Wno-deprecated-declarations -fmodules -fobjc-arc -x objective-c @@ -21,7 +23,7 @@ type nsContext struct { func newContext() (context, error) { ctx := C.gio_headless_newContext() - return &nsContext{ctx: ctx, c: new(impl.Functions)}, nil + return &nsContext{ctx: ctx, c: new(glimpl.Functions)}, nil } func (c *nsContext) MakeCurrent() error { diff --git a/app/headless/headless_js.go b/app/headless/headless_js.go index 658acf6b..ea18c751 100644 --- a/app/headless/headless_js.go +++ b/app/headless/headless_js.go @@ -6,8 +6,8 @@ import ( "errors" "syscall/js" - "gioui.org/app/internal/gl" - "gioui.org/app/internal/gl/impl" + "gioui.org/gpu/gl" + "gioui.org/app/internal/glimpl" ) type jsContext struct { @@ -27,7 +27,7 @@ func newContext() (*jsContext, error) { if ctx.IsNull() { return nil, errors.New("headless: webgl is not supported") } - f := &impl.Functions{Ctx: ctx} + f := &glimpl.Functions{Ctx: ctx} if err := f.Init(version); err != nil { return nil, err } diff --git a/app/internal/egl/egl.go b/app/internal/egl/egl.go index 2be796e7..98593470 100644 --- a/app/internal/egl/egl.go +++ b/app/internal/egl/egl.go @@ -10,8 +10,8 @@ import ( "runtime" "strings" - "gioui.org/app/internal/gl" - "gioui.org/app/internal/gl/impl" + "gioui.org/app/internal/glimpl" + "gioui.org/gpu/gl" ) type Context struct { @@ -110,7 +110,7 @@ func NewContext(disp NativeDisplayType) (*Context, error) { c := &Context{ disp: eglDisp, eglCtx: eglCtx, - c: new(impl.Functions), + c: new(glimpl.Functions), } return c, nil } diff --git a/app/internal/egl/egl_windows.go b/app/internal/egl/egl_windows.go index 56a7811b..1f436bc0 100644 --- a/app/internal/egl/egl_windows.go +++ b/app/internal/egl/egl_windows.go @@ -10,8 +10,8 @@ import ( syscall "golang.org/x/sys/windows" - "gioui.org/app/internal/gl" - "gioui.org/app/internal/gl/impl" + "gioui.org/gpu/gl" + "gioui.org/app/internal/glimpl" ) type ( @@ -57,7 +57,7 @@ func loadDLLs() error { if err := loadDLL(libEGL, "libEGL.dll"); err != nil { return err } - if err := loadDLL(impl.LibGLESv2, "libGLESv2.dll"); err != nil { + if err := loadDLL(glimpl.LibGLESv2, "libGLESv2.dll"); err != nil { return err } // d3dcompiler_47.dll is needed internally for shader compilation to function. diff --git a/app/internal/gl/impl/gl.go b/app/internal/glimpl/gl.go similarity index 99% rename from app/internal/gl/impl/gl.go rename to app/internal/glimpl/gl.go index 3889d8d8..3100bb95 100644 --- a/app/internal/gl/impl/gl.go +++ b/app/internal/glimpl/gl.go @@ -2,14 +2,14 @@ // +build darwin linux freebsd openbsd -package impl +package glimpl import ( "runtime" "strings" "unsafe" - "gioui.org/app/internal/gl" + "gioui.org/gpu/gl" ) /* diff --git a/app/internal/gl/impl/gl_js.go b/app/internal/glimpl/gl_js.go similarity index 99% rename from app/internal/gl/impl/gl_js.go rename to app/internal/glimpl/gl_js.go index 21453b5b..6fbb1443 100644 --- a/app/internal/gl/impl/gl_js.go +++ b/app/internal/glimpl/gl_js.go @@ -1,13 +1,13 @@ // SPDX-License-Identifier: Unlicense OR MIT -package impl +package glimpl import ( "errors" "strings" "syscall/js" - "gioui.org/app/internal/gl" + "gioui.org/gpu/gl" ) type Functions struct { diff --git a/app/internal/gl/impl/gl_windows.go b/app/internal/glimpl/gl_windows.go similarity index 99% rename from app/internal/gl/impl/gl_windows.go rename to app/internal/glimpl/gl_windows.go index 71e1ad98..973fa2c3 100644 --- a/app/internal/gl/impl/gl_windows.go +++ b/app/internal/glimpl/gl_windows.go @@ -1,6 +1,6 @@ // SPDX-License-Identifier: Unlicense OR MIT -package impl +package glimpl import ( "math" @@ -10,7 +10,7 @@ import ( "golang.org/x/sys/windows" - "gioui.org/app/internal/gl" + "gioui.org/gpu/gl" ) var ( diff --git a/app/internal/window/gl_ios.go b/app/internal/window/gl_ios.go index f35c7355..cc5ad3cf 100644 --- a/app/internal/window/gl_ios.go +++ b/app/internal/window/gl_ios.go @@ -16,8 +16,8 @@ import ( "errors" "fmt" - "gioui.org/app/internal/gl" - "gioui.org/app/internal/gl/impl" + "gioui.org/gpu/gl" + "gioui.org/app/internal/glimpl" ) type context struct { @@ -45,7 +45,7 @@ func newContext(w *window) (*context, error) { ctx: ctx, owner: w, layer: C.CFTypeRef(w.contextLayer()), - c: new(impl.Functions), + c: new(glimpl.Functions), } return c, nil } diff --git a/app/internal/window/gl_js.go b/app/internal/window/gl_js.go index 595a14bd..0ca4662c 100644 --- a/app/internal/window/gl_js.go +++ b/app/internal/window/gl_js.go @@ -6,8 +6,8 @@ import ( "errors" "syscall/js" - "gioui.org/app/internal/gl" - "gioui.org/app/internal/gl/impl" + "gioui.org/gpu/gl" + "gioui.org/app/internal/glimpl" ) type context struct { @@ -33,7 +33,7 @@ func newContext(w *window) (*context, error) { if ctx.IsNull() { return nil, errors.New("app: webgl is not supported") } - f := &impl.Functions{Ctx: ctx} + f := &glimpl.Functions{Ctx: ctx} if err := f.Init(version); err != nil { return nil, err } diff --git a/app/internal/window/gl_macos.go b/app/internal/window/gl_macos.go index 8636f184..27ef6f56 100644 --- a/app/internal/window/gl_macos.go +++ b/app/internal/window/gl_macos.go @@ -5,8 +5,8 @@ package window import ( - "gioui.org/app/internal/gl" - "gioui.org/app/internal/gl/impl" + "gioui.org/gpu/gl" + "gioui.org/app/internal/glimpl" ) /* @@ -35,7 +35,7 @@ func newContext(w *window) (*context, error) { ctx := C.gio_contextForView(view) c := &context{ ctx: ctx, - c: new(impl.Functions), + c: new(glimpl.Functions), view: view, } return c, nil diff --git a/app/internal/window/window.go b/app/internal/window/window.go index 922458b6..23d8501e 100644 --- a/app/internal/window/window.go +++ b/app/internal/window/window.go @@ -9,7 +9,7 @@ import ( "math" "time" - "gioui.org/app/internal/gl" + "gioui.org/gpu/gl" "gioui.org/io/event" "gioui.org/io/system" "gioui.org/unit" diff --git a/app/loop.go b/app/loop.go index a630c461..b6e1314a 100644 --- a/app/loop.go +++ b/app/loop.go @@ -6,8 +6,8 @@ import ( "image" "runtime" - "gioui.org/app/internal/gpu" "gioui.org/app/internal/window" + "gioui.org/gpu" "gioui.org/op" ) diff --git a/app/internal/gpu/caches.go b/gpu/caches.go similarity index 100% rename from app/internal/gpu/caches.go rename to gpu/caches.go diff --git a/app/internal/gpu/context.go b/gpu/context.go similarity index 99% rename from app/internal/gpu/context.go rename to gpu/context.go index 91c3806c..1d076ef2 100644 --- a/app/internal/gpu/context.go +++ b/gpu/context.go @@ -6,7 +6,7 @@ import ( "errors" "strings" - "gioui.org/app/internal/gl" + "gioui.org/gpu/gl" ) type context struct { diff --git a/app/internal/gl/gl.go b/gpu/gl/gl.go similarity index 100% rename from app/internal/gl/gl.go rename to gpu/gl/gl.go diff --git a/app/internal/gl/srgb.go b/gpu/gl/srgb.go similarity index 100% rename from app/internal/gl/srgb.go rename to gpu/gl/srgb.go diff --git a/app/internal/gl/types.go b/gpu/gl/types.go similarity index 100% rename from app/internal/gl/types.go rename to gpu/gl/types.go diff --git a/app/internal/gl/types_js.go b/gpu/gl/types_js.go similarity index 100% rename from app/internal/gl/types_js.go rename to gpu/gl/types_js.go diff --git a/app/internal/gl/util.go b/gpu/gl/util.go similarity index 100% rename from app/internal/gl/util.go rename to gpu/gl/util.go diff --git a/app/internal/gl/util_test.go b/gpu/gl/util_test.go similarity index 100% rename from app/internal/gl/util_test.go rename to gpu/gl/util_test.go diff --git a/app/internal/gpu/gpu.go b/gpu/gpu.go similarity index 99% rename from app/internal/gpu/gpu.go rename to gpu/gpu.go index 915ef1aa..8fa30928 100644 --- a/app/internal/gpu/gpu.go +++ b/gpu/gpu.go @@ -1,5 +1,10 @@ // SPDX-License-Identifier: Unlicense OR MIT +/* +Package gpu implements the rendering of Gio drawing operations. It +is used by package app and package app/headless and is otherwise not +useful except for integrating with external window implementations. +*/ package gpu import ( @@ -12,8 +17,8 @@ import ( "time" "unsafe" - "gioui.org/app/internal/gl" "gioui.org/f32" + "gioui.org/gpu/gl" "gioui.org/internal/opconst" "gioui.org/internal/ops" "gioui.org/internal/path" diff --git a/app/internal/gpu/pack.go b/gpu/pack.go similarity index 100% rename from app/internal/gpu/pack.go rename to gpu/pack.go diff --git a/app/internal/gpu/path.go b/gpu/path.go similarity index 99% rename from app/internal/gpu/path.go rename to gpu/path.go index afe81407..6c1022e5 100644 --- a/app/internal/gpu/path.go +++ b/gpu/path.go @@ -9,8 +9,8 @@ import ( "image" "unsafe" - "gioui.org/app/internal/gl" "gioui.org/f32" + "gioui.org/gpu/gl" "gioui.org/internal/path" ) diff --git a/app/internal/gpu/timer.go b/gpu/timer.go similarity index 98% rename from app/internal/gpu/timer.go rename to gpu/timer.go index 00f7bb54..4246527d 100644 --- a/app/internal/gpu/timer.go +++ b/gpu/timer.go @@ -5,7 +5,7 @@ package gpu import ( "time" - "gioui.org/app/internal/gl" + "gioui.org/gpu/gl" ) type timers struct {