Revert "graphics: Experimental fix: call glFlush always after glTexSubImage2D"

This reverts commit d2da77eb96.

Reason: This doesn't solve the issue on MacBook Late 2013.
This commit is contained in:
Hajime Hoshi 2018-04-14 23:16:26 +09:00
parent d2da77eb96
commit b691e73342

View File

@ -149,7 +149,17 @@ func (q *commandQueue) Flush() error {
} }
numc := len(g) numc := len(g)
indexOffsetInBytes := 0 indexOffsetInBytes := 0
var lastC command
for _, c := range g { for _, c := range g {
// On MacBook Pro (2013 Late?), glTexSubImage2D might not be finished
// before the next different comand. Call glFlush explicitly.
if _, ok := lastC.(*replacePixelsCommand); ok {
if _, ok := c.(*replacePixelsCommand); !ok {
opengl.GetContext().Flush()
}
}
lastC = c
if err := c.Exec(indexOffsetInBytes); err != nil { if err := c.Exec(indexOffsetInBytes); err != nil {
return err return err
} }
@ -285,10 +295,6 @@ func (c *replacePixelsCommand) Exec(indexOffsetInBytes int) error {
opengl.GetContext().Flush() opengl.GetContext().Flush()
opengl.GetContext().BindTexture(c.dst.texture.native) opengl.GetContext().BindTexture(c.dst.texture.native)
opengl.GetContext().TexSubImage2D(c.pixels, c.x, c.y, c.width, c.height) opengl.GetContext().TexSubImage2D(c.pixels, c.x, c.y, c.width, c.height)
// On MacBook Pro (2013 Late?), glTexSubImage2D might not be finished
// before the next different comand. Call glFlush explicitly.
opengl.GetContext().Flush()
return nil return nil
} }