diff --git a/internal/shaderir/glsl.go b/internal/shaderir/glsl.go index 31125da6d..c45722fb6 100644 --- a/internal/shaderir/glsl.go +++ b/internal/shaderir/glsl.go @@ -307,7 +307,7 @@ func (p *Program) glslBlock(topBlock, block *Block, level int, localVarIndex int case StructMember: return fmt.Sprintf("M%d", e.Index) case BuiltinFuncExpr: - return string(e.BuiltinFunc) + return e.BuiltinFunc.Glsl() case SwizzlingExpr: if !isValidSwizzling(e.Swizzling) { return fmt.Sprintf("?(unexpected swizzling: %s)", e.Swizzling) diff --git a/internal/shaderir/program.go b/internal/shaderir/program.go index b15038e34..05598c977 100644 --- a/internal/shaderir/program.go +++ b/internal/shaderir/program.go @@ -307,3 +307,20 @@ func ParseBuiltinFunc(str string) (BuiltinFunc, bool) { } return "", false } + +func (f BuiltinFunc) Glsl() string { + switch f { + case LessThan: + return "lessThan" + case LessThanEqual: + return "lessThanEqual" + case GreaterThan: + return "greaterThan" + case GreaterThanEqual: + return "greaterThanEqual" + case NotEqual: + return "notEqual" + default: + return string(f) + } +}