glsl: Add new fma built-in IR and prototype from ARB_gpu_shader5.

Reviewed-by: Paul Berry <stereotype441@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
Matt Turner
2013-04-23 17:10:20 -07:00
parent adb93e3bda
commit 6829c18609
2 changed files with 34 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
((function fma
(signature float
(parameters
(declare (in) float a)
(declare (in) float b)
(declare (in) float c))
((return (expression float fma (var_ref a) (var_ref b) (var_ref c)))))
(signature vec2
(parameters
(declare (in) vec2 a)
(declare (in) vec2 b)
(declare (in) vec2 c))
((return (expression vec2 fma (var_ref a) (var_ref b) (var_ref c)))))
(signature vec3
(parameters
(declare (in) vec3 a)
(declare (in) vec3 b)
(declare (in) vec3 c))
((return (expression vec3 fma (var_ref a) (var_ref b) (var_ref c)))))
(signature vec4
(parameters
(declare (in) vec4 a)
(declare (in) vec4 b)
(declare (in) vec4 c))
((return (expression vec4 fma (var_ref a) (var_ref b) (var_ref c)))))
))
@@ -54,3 +54,8 @@ int findMSB(uint value);
ivec2 findMSB(uvec2 value);
ivec3 findMSB(uvec3 value);
ivec4 findMSB(uvec4 value);
float fma(float a, float b, float c);
vec2 fma(vec2 a, vec2 b, vec2 c);
vec3 fma(vec3 a, vec3 b, vec3 c);
vec4 fma(vec4 a, vec4 b, vec4 c);