From: Kenneth Graunke Date: Wed, 8 Sep 2010 06:21:22 +0000 (-0700) Subject: glsl/builtins: Don't use ir_binop_dot on floating point values. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1f7e6e1e724150e5e7309bdb781d7873bcc13687;p=mesa.git glsl/builtins: Don't use ir_binop_dot on floating point values. ir_binop_dot is only defined for vector types. Use ir_binop_mul. --- diff --git a/src/glsl/builtins/ir/dot b/src/glsl/builtins/ir/dot index a91a6d2c56d..1f27f323597 100644 --- a/src/glsl/builtins/ir/dot +++ b/src/glsl/builtins/ir/dot @@ -3,7 +3,7 @@ (parameters (declare (in) float arg0) (declare (in) float arg1)) - ((return (expression float dot (var_ref arg0) (var_ref arg1))))) + ((return (expression float * (var_ref arg0) (var_ref arg1))))) (signature float (parameters diff --git a/src/glsl/builtins/ir/faceforward b/src/glsl/builtins/ir/faceforward index d1703972388..35b79571c6b 100644 --- a/src/glsl/builtins/ir/faceforward +++ b/src/glsl/builtins/ir/faceforward @@ -4,7 +4,7 @@ (declare (in) float N) (declare (in) float I) (declare (in) float Nref)) - ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0))) + ((if (expression bool < (expression float * (var_ref Nref) (var_ref I)) (constant float (0))) ((return (var_ref N))) ((return (expression float neg (var_ref N))))))) diff --git a/src/glsl/builtins/ir/reflect b/src/glsl/builtins/ir/reflect index 8238fdc93fd..1fa394e3c99 100644 --- a/src/glsl/builtins/ir/reflect +++ b/src/glsl/builtins/ir/reflect @@ -8,7 +8,7 @@ (expression float * (constant float (2.0)) (expression float * - (expression float dot + (expression float * (var_ref n) (var_ref i)) (var_ref n))))))) diff --git a/src/glsl/builtins/ir/refract b/src/glsl/builtins/ir/refract index d9dd8226eea..f6319b0ed47 100644 --- a/src/glsl/builtins/ir/refract +++ b/src/glsl/builtins/ir/refract @@ -11,8 +11,8 @@ (expression float * (var_ref eta) (expression float - (constant float (1.0)) (expression float * - (expression float dot (var_ref n) (var_ref i)) - (expression float dot (var_ref n) (var_ref i)))))))) + (expression float * (var_ref n) (var_ref i)) + (expression float * (var_ref n) (var_ref i)))))))) (if (expression bool < (var_ref k) (constant float (0.0))) ((return (constant float (0.0)))) ((return (expression float - @@ -20,7 +20,7 @@ (expression float * (expression float + (expression float * (var_ref eta) - (expression float dot (var_ref n) (var_ref i))) + (expression float * (var_ref n) (var_ref i))) (expression float sqrt (var_ref k))) (var_ref n))))))))