mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-05 17:35:36 +00:00
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:
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user