mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 09:08:10 +02:00
glsl: Implement the asinh, acosh, and atanh built-in functions.
This commit is contained in:
parent
096d36872f
commit
db9b8c062f
5 changed files with 79 additions and 4 deletions
21
src/glsl/builtins/ir/acosh
Normal file
21
src/glsl/builtins/ir/acosh
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
((function acosh
|
||||
(signature float
|
||||
(parameters
|
||||
(declare (in) float x))
|
||||
((return (expression float log (expression float + (var_ref x) (expression float sqrt (expression float - (expression float * (var_ref x) (var_ref x)) (constant float (1)))))))))
|
||||
|
||||
(signature vec2
|
||||
(parameters
|
||||
(declare (in) vec2 x))
|
||||
((return (expression vec2 log (expression vec2 + (var_ref x) (expression vec2 sqrt (expression vec2 - (expression vec2 * (var_ref x) (var_ref x)) (constant vec2 (1)))))))))
|
||||
|
||||
(signature vec3
|
||||
(parameters
|
||||
(declare (in) vec3 x))
|
||||
((return (expression vec3 log (expression vec3 + (var_ref x) (expression vec3 sqrt (expression vec3 - (expression vec3 * (var_ref x) (var_ref x)) (constant vec3 (1)))))))))
|
||||
|
||||
(signature vec4
|
||||
(parameters
|
||||
(declare (in) vec4 x))
|
||||
((return (expression vec4 log (expression vec4 + (var_ref x) (expression vec4 sqrt (expression vec4 - (expression vec4 * (var_ref x) (var_ref x)) (constant vec4 (1)))))))))
|
||||
))
|
||||
21
src/glsl/builtins/ir/asinh
Normal file
21
src/glsl/builtins/ir/asinh
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
((function asinh
|
||||
(signature float
|
||||
(parameters
|
||||
(declare (in) float x))
|
||||
((return (expression float log (expression float + (var_ref x) (expression float sqrt (expression float + (expression float * (var_ref x) (var_ref x)) (constant float (1)))))))))
|
||||
|
||||
(signature vec2
|
||||
(parameters
|
||||
(declare (in) vec2 x))
|
||||
((return (expression vec2 log (expression vec2 + (var_ref x) (expression vec2 sqrt (expression vec2 + (expression vec2 * (var_ref x) (var_ref x)) (constant vec2 (1)))))))))
|
||||
|
||||
(signature vec3
|
||||
(parameters
|
||||
(declare (in) vec3 x))
|
||||
((return (expression vec3 log (expression vec3 + (var_ref x) (expression vec3 sqrt (expression vec3 + (expression vec3 * (var_ref x) (var_ref x)) (constant vec3 (1)))))))))
|
||||
|
||||
(signature vec4
|
||||
(parameters
|
||||
(declare (in) vec4 x))
|
||||
((return (expression vec4 log (expression vec4 + (var_ref x) (expression vec4 sqrt (expression vec4 + (expression vec4 * (var_ref x) (var_ref x)) (constant vec4 (1)))))))))
|
||||
))
|
||||
37
src/glsl/builtins/ir/atanh
Normal file
37
src/glsl/builtins/ir/atanh
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
((function atanh
|
||||
(signature float
|
||||
(parameters
|
||||
(declare (in) float x))
|
||||
((return (expression float * (constant float (0.5))
|
||||
(expression float log
|
||||
(expression float /
|
||||
(expression float + (constant float (1)) (var_ref x))
|
||||
(expression float - (constant float (1)) (var_ref x))))))))
|
||||
|
||||
(signature vec2
|
||||
(parameters
|
||||
(declare (in) vec2 x))
|
||||
((return (expression vec2 * (constant vec2 (0.5))
|
||||
(expression vec2 log
|
||||
(expression vec2 /
|
||||
(expression vec2 + (constant vec2 (1)) (var_ref x))
|
||||
(expression vec2 - (constant vec2 (1)) (var_ref x))))))))
|
||||
|
||||
(signature vec3
|
||||
(parameters
|
||||
(declare (in) vec3 x))
|
||||
((return (expression vec3 * (constant vec3 (0.5))
|
||||
(expression vec3 log
|
||||
(expression vec3 /
|
||||
(expression vec3 + (constant vec3 (1)) (var_ref x))
|
||||
(expression vec3 - (constant vec3 (1)) (var_ref x))))))))
|
||||
|
||||
(signature vec4
|
||||
(parameters
|
||||
(declare (in) vec4 x))
|
||||
((return (expression vec4 * (constant vec4 (0.5))
|
||||
(expression vec4 log
|
||||
(expression vec4 /
|
||||
(expression vec4 + (constant vec4 (1)) (var_ref x))
|
||||
(expression vec4 - (constant vec4 (1)) (var_ref x))))))))
|
||||
))
|
||||
|
|
@ -62,7 +62,6 @@ vec2 tanh(vec2 x);
|
|||
vec3 tanh(vec3 x);
|
||||
vec4 tanh(vec4 x);
|
||||
|
||||
#if 0
|
||||
float asinh(float x);
|
||||
vec2 asinh(vec2 x);
|
||||
vec3 asinh(vec3 x);
|
||||
|
|
@ -77,7 +76,6 @@ float atanh(float x);
|
|||
vec2 atanh(vec2 x);
|
||||
vec3 atanh(vec3 x);
|
||||
vec4 atanh(vec4 x);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* 8.2 - Exponential Functions
|
||||
|
|
|
|||
|
|
@ -62,7 +62,6 @@ vec2 tanh(vec2 x);
|
|||
vec3 tanh(vec3 x);
|
||||
vec4 tanh(vec4 x);
|
||||
|
||||
#if 0
|
||||
float asinh(float x);
|
||||
vec2 asinh(vec2 x);
|
||||
vec3 asinh(vec3 x);
|
||||
|
|
@ -77,7 +76,6 @@ float atanh(float x);
|
|||
vec2 atanh(vec2 x);
|
||||
vec3 atanh(vec3 x);
|
||||
vec4 atanh(vec4 x);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* 8.2 - Exponential Functions
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue