Reviewed-by: Paul Berry <stereotype441@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
--- /dev/null
+((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)))))
+))
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);