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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user