From 4ae2d2c7ade1db783f4bf9164247e1ad1e9476bc Mon Sep 17 00:00:00 2001
From: faiface <faiface@ksp.sk>
Date: Thu, 15 Dec 2016 14:31:10 +0100
Subject: [PATCH] optimize binder

---
 pixelgl/util.go | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/pixelgl/util.go b/pixelgl/util.go
index b74eda2..4792d55 100644
--- a/pixelgl/util.go
+++ b/pixelgl/util.go
@@ -16,12 +16,16 @@ func (b *binder) bind() *binder {
 	gl.GetIntegerv(b.restoreLoc, &prev)
 	b.prev = append(b.prev, uint32(prev))
 
-	b.bindFunc(b.obj)
+	if b.prev[len(b.prev)-1] != b.obj {
+		b.bindFunc(b.obj)
+	}
 	return b
 }
 
 func (b *binder) restore() *binder {
-	b.bindFunc(b.prev[len(b.prev)-1])
+	if b.prev[len(b.prev)-1] != b.obj {
+		b.bindFunc(b.prev[len(b.prev)-1])
+	}
 	b.prev = b.prev[:len(b.prev)-1]
 	return b
 }
-- 
GitLab