ui/app/internal/gl: parse WebGL versions

And drop a redundant error message while here.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2019-05-04 13:29:44 +02:00
parent 2d7fb556a4
commit 2af0f63cfb
2 changed files with 10 additions and 6 deletions
+1 -1
View File
@@ -26,7 +26,7 @@ func NewSRGBFBO(f *Functions) (*SRGBFBO, error) {
glVer := f.GetString(VERSION) glVer := f.GetString(VERSION)
ver, err := ParseGLVersion(glVer) ver, err := ParseGLVersion(glVer)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to parse OpenGL ES version (%s): %v", glVer, err) return nil, err
} }
if ver[0] >= 3 { if ver[0] >= 3 {
es3 = true es3 = true
+9 -5
View File
@@ -76,10 +76,14 @@ func BytesView(s interface{}) []byte {
func ParseGLVersion(glVer string) ([2]int, error) { func ParseGLVersion(glVer string) ([2]int, error) {
var ver [2]int var ver [2]int
if _, err := fmt.Sscanf(glVer, "OpenGL ES %d.%d", &ver[0], &ver[1]); err != nil { if _, err := fmt.Sscanf(glVer, "OpenGL ES %d.%d", &ver[0], &ver[1]); err == nil {
if _, err := fmt.Sscanf(glVer, "%d.%d", &ver[0], &ver[1]); err != nil { return ver, nil
return [2]int{}, fmt.Errorf("failed to parse OpenGL ES version (%s): %v", glVer, err) } else if _, err := fmt.Sscanf(glVer, "WebGL %d.%d", &ver[0], &ver[1]); err == nil {
} // WebGL major version v corresponds to OpenGL ES version v + 1
ver[0]++
return ver, nil
} else if _, err := fmt.Sscanf(glVer, "%d.%d", &ver[0], &ver[1]); err == nil {
return ver, nil
} }
return ver, nil return ver, fmt.Errorf("failed to parse OpenGL ES version (%s)", glVer)
} }