gpu,gpu/backend: implement GLSL 300 es shader variants

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2020-02-25 18:52:28 +01:00
parent 3a5a2cff6b
commit 0d266c413d
7 changed files with 190 additions and 109 deletions
+5 -5
View File
@@ -60,16 +60,16 @@ func createShader(ctx Functions, typ Enum, src string) (Shader, error) {
return sh, nil
}
func ParseGLVersion(glVer string) ([2]int, error) {
func ParseGLVersion(glVer string) (version [2]int, gles bool, err error) {
var ver [2]int
if _, err := fmt.Sscanf(glVer, "OpenGL ES %d.%d", &ver[0], &ver[1]); err == nil {
return ver, nil
return ver, true, nil
} 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
return ver, true, nil
} else if _, err := fmt.Sscanf(glVer, "%d.%d", &ver[0], &ver[1]); err == nil {
return ver, nil
return ver, false, nil
}
return ver, fmt.Errorf("failed to parse OpenGL ES version (%s)", glVer)
return ver, false, fmt.Errorf("failed to parse OpenGL ES version (%s)", glVer)
}