mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-11-10 04:57:26 +01:00
graphics: Bug fix: Don't delete buffers on browsers (#526)
This commit is contained in:
parent
31ff4b4535
commit
680656e6e9
@ -19,6 +19,7 @@ import (
|
|||||||
|
|
||||||
"github.com/hajimehoshi/ebiten/internal/affine"
|
"github.com/hajimehoshi/ebiten/internal/affine"
|
||||||
"github.com/hajimehoshi/ebiten/internal/opengl"
|
"github.com/hajimehoshi/ebiten/internal/opengl"
|
||||||
|
"github.com/hajimehoshi/ebiten/internal/web"
|
||||||
)
|
)
|
||||||
|
|
||||||
// arrayBufferLayoutPart is a part of an array buffer layout.
|
// arrayBufferLayoutPart is a part of an array buffer layout.
|
||||||
@ -157,11 +158,16 @@ func (s *openGLState) reset() error {
|
|||||||
if s.programLinear != zeroProgram {
|
if s.programLinear != zeroProgram {
|
||||||
opengl.GetContext().DeleteProgram(s.programLinear)
|
opengl.GetContext().DeleteProgram(s.programLinear)
|
||||||
}
|
}
|
||||||
if s.arrayBuffer != zeroBuffer {
|
|
||||||
opengl.GetContext().DeleteBuffer(s.arrayBuffer)
|
// On browsers (at least Chrome), buffers are already detached from the context
|
||||||
}
|
// and must not be deleted by DeleteBuffer.
|
||||||
if s.elementArrayBuffer != zeroBuffer {
|
if !web.IsBrowser() {
|
||||||
opengl.GetContext().DeleteBuffer(s.elementArrayBuffer)
|
if s.arrayBuffer != zeroBuffer {
|
||||||
|
opengl.GetContext().DeleteBuffer(s.arrayBuffer)
|
||||||
|
}
|
||||||
|
if s.elementArrayBuffer != zeroBuffer {
|
||||||
|
opengl.GetContext().DeleteBuffer(s.elementArrayBuffer)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
shaderVertexModelviewNative, err := opengl.GetContext().NewShader(opengl.VertexShader, shader(shaderVertexModelview))
|
shaderVertexModelviewNative, err := opengl.GetContext().NewShader(opengl.VertexShader, shader(shaderVertexModelview))
|
||||||
|
Loading…
Reference in New Issue
Block a user