app/internal/gl/impl: extract platform dependent opengl bindings

We'd like to support Gio using a different renderer binding than
the builtin. A first step is to define the Functions interface
in package gl, and extract the concrete implementations to a
separate package.

Updates #26

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2020-02-07 19:13:51 +01:00
parent e672d71c61
commit 251c075093
17 changed files with 293 additions and 280 deletions
+2 -2
View File
@@ -11,7 +11,7 @@ import (
type context struct {
caps caps
*gl.Functions
gl.Functions
}
type caps struct {
@@ -32,7 +32,7 @@ type textureTriple struct {
typ gl.Enum
}
func newContext(glctx *gl.Functions) (*context, error) {
func newContext(glctx gl.Functions) (*context, error) {
ctx := &context{
Functions: glctx,
}
+2 -2
View File
@@ -222,7 +222,7 @@ var (
attribUV gl.Attrib = 1
)
func New(ctx *gl.Functions) (*GPU, error) {
func New(ctx gl.Functions) (*GPU, error) {
g := &GPU{
pathCache: newOpCache(),
cache: newResourceCache(),
@@ -233,7 +233,7 @@ func New(ctx *gl.Functions) (*GPU, error) {
return g, nil
}
func (g *GPU) init(glctx *gl.Functions) error {
func (g *GPU) init(glctx gl.Functions) error {
ctx, err := newContext(glctx)
if err != nil {
return err