diff --git a/cmd/go.mod b/cmd/go.mod index f8e71ac7..52987fc0 100644 --- a/cmd/go.mod +++ b/cmd/go.mod @@ -3,7 +3,7 @@ module gioui.org/cmd go 1.13 require ( - gioui.org v0.0.0-20200210172258-ef9459c7fde2 + gioui.org v0.0.0-20200227204135-e03b3cd808b4 github.com/chromedp/cdproto v0.0.0-20191114225735-6626966fbae4 github.com/chromedp/chromedp v0.5.2 golang.org/x/image v0.0.0-20190802002840-cff245a6509b diff --git a/cmd/go.sum b/cmd/go.sum index 3f780346..2581edbe 100644 --- a/cmd/go.sum +++ b/cmd/go.sum @@ -1,6 +1,6 @@ dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -gioui.org v0.0.0-20200210172258-ef9459c7fde2 h1:eEXOqOxjMcIxGs6KbEWdu+Dj9lHgvoloeUDj/8Sf6t4= -gioui.org v0.0.0-20200210172258-ef9459c7fde2/go.mod h1:AHI9rFr6AEEHCb8EPVtb/p5M+NMJRKH58IOp8O3Je04= +gioui.org v0.0.0-20200227204135-e03b3cd808b4 h1:d/3ahOXn5Buwcg7Zec3lvLmfd0Ww+rVukfJKfRoYAgA= +gioui.org v0.0.0-20200227204135-e03b3cd808b4/go.mod h1:AHI9rFr6AEEHCb8EPVtb/p5M+NMJRKH58IOp8O3Je04= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802 h1:1BDTz0u9nC3//pOCMdNH+CiXJVYJh5UQNCOBG7jbELc= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/chromedp/cdproto v0.0.0-20191114225735-6626966fbae4 h1:QD3KxSJ59L2lxG6MXBjNHxiQO2RmxTQ3XcK+wO44WOg= diff --git a/example/glfw/main.go b/example/glfw/main.go index b806a697..a778a9d1 100644 --- a/example/glfw/main.go +++ b/example/glfw/main.go @@ -177,10 +177,18 @@ func (f *goglFunctions) BindBuffer(target giogl.Enum, b giogl.Buffer) { gl.BindBuffer(uint32(target), uint32(b.V)) } +func (f *goglFunctions) BindBufferBase(target giogl.Enum, index int, b giogl.Buffer) { + gl.BindBufferBase(uint32(target), uint32(index), uint32(b.V)) +} + func (f *goglFunctions) BindFramebuffer(target giogl.Enum, fb giogl.Framebuffer) { gl.BindFramebuffer(uint32(target), uint32(fb.V)) } +func (f *goglFunctions) BindRenderbuffer(target giogl.Enum, rb giogl.Renderbuffer) { + gl.BindRenderbuffer(uint32(target), uint32(rb.V)) +} + func (f *goglFunctions) BindTexture(target giogl.Enum, t giogl.Texture) { gl.BindTexture(uint32(target), uint32(t.V)) } @@ -239,6 +247,12 @@ func (f *goglFunctions) CreateQuery() giogl.Query { return giogl.Query{uint(q)} } +func (f *goglFunctions) CreateRenderbuffer() giogl.Renderbuffer { + var rb uint32 + gl.GenRenderbuffers(1, &rb) + return giogl.Renderbuffer{uint(rb)} +} + func (f *goglFunctions) CreateShader(ty giogl.Enum) giogl.Shader { return giogl.Shader{uint(gl.CreateShader(uint32(ty)))} } @@ -268,6 +282,11 @@ func (f *goglFunctions) DeleteQuery(query giogl.Query) { gl.DeleteQueries(1, &q) } +func (f *goglFunctions) DeleteRenderbuffer(rb giogl.Renderbuffer) { + r := uint32(rb.V) + gl.DeleteRenderbuffers(1, &r) +} + func (f *goglFunctions) DeleteShader(s giogl.Shader) { gl.DeleteShader(uint32(s.V)) } @@ -384,6 +403,10 @@ func (f *goglFunctions) GetString(pname giogl.Enum) string { } } +func (f *goglFunctions) GetUniformBlockIndex(p giogl.Program, name string) uint { + return uint(gl.GetUniformBlockIndex(uint32(p.V), gl.Str(name+"\x00"))) +} + func (f *goglFunctions) GetUniformLocation(p giogl.Program, name string) giogl.Uniform { return giogl.Uniform{int(gl.GetUniformLocation(uint32(p.V), gl.Str(name+"\x00")))} } @@ -396,6 +419,14 @@ func (f *goglFunctions) LinkProgram(p giogl.Program) { gl.LinkProgram(uint32(p.V)) } +func (f *goglFunctions) ReadPixels(x, y, width, height int, format, ty giogl.Enum, data []byte) { + gl.ReadPixels(int32(x), int32(y), int32(width), int32(height), uint32(format), uint32(ty), unsafe.Pointer(&data[0])) +} + +func (f *goglFunctions) RenderbufferStorage(target, internalformat giogl.Enum, width, height int) { + gl.RenderbufferStorage(uint32(target), uint32(internalformat), int32(width), int32(height)) +} + func (f *goglFunctions) ShaderSource(s giogl.Shader, src string) { csources, free := gl.Strs(src + "\x00") gl.ShaderSource(uint32(s.V), 1, csources, nil) @@ -418,6 +449,10 @@ func (f *goglFunctions) Uniform1f(dst giogl.Uniform, v float32) { gl.Uniform1f(int32(dst.V), v) } +func (f *goglFunctions) UniformBlockBinding(p giogl.Program, uniformBlockIndex uint, uniformBlockBinding uint) { + gl.UniformBlockBinding(uint32(p.V), uint32(uniformBlockIndex), uint32(uniformBlockBinding)) +} + func (f *goglFunctions) Uniform1i(dst giogl.Uniform, v int) { gl.Uniform1i(int32(dst.V), int32(v)) } diff --git a/example/go.mod b/example/go.mod index 39717538..5521dfc0 100644 --- a/example/go.mod +++ b/example/go.mod @@ -3,7 +3,7 @@ module gioui.org/example go 1.13 require ( - gioui.org v0.0.0-20200211143819-6945a9062b9f + gioui.org v0.0.0-20200227204135-e03b3cd808b4 github.com/go-gl/gl v0.0.0-20190320180904-bf2b1f2f34d7 github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72 github.com/google/go-github/v24 v24.0.1 diff --git a/example/go.sum b/example/go.sum index e8472911..1a7ff955 100644 --- a/example/go.sum +++ b/example/go.sum @@ -1,7 +1,7 @@ cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -gioui.org v0.0.0-20200211143819-6945a9062b9f h1:AXCwmxEaJTNKhDUW0htDUdLtaGxq6r/PH/cCe7chuuM= -gioui.org v0.0.0-20200211143819-6945a9062b9f/go.mod h1:AHI9rFr6AEEHCb8EPVtb/p5M+NMJRKH58IOp8O3Je04= +gioui.org v0.0.0-20200227204135-e03b3cd808b4 h1:d/3ahOXn5Buwcg7Zec3lvLmfd0Ww+rVukfJKfRoYAgA= +gioui.org v0.0.0-20200227204135-e03b3cd808b4/go.mod h1:AHI9rFr6AEEHCb8EPVtb/p5M+NMJRKH58IOp8O3Je04= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/go-gl/gl v0.0.0-20190320180904-bf2b1f2f34d7 h1:SCYMcCJ89LjRGwEa0tRluNRiMjZHalQZrVrvTbPh+qw= github.com/go-gl/gl v0.0.0-20190320180904-bf2b1f2f34d7/go.mod h1:482civXOzJJCPzJ4ZOX/pwvXBWSnzD4OKMdH4ClKGbk=