mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-30 18:40:13 +01:00
glsl2: Fix up the implementation of fract() for vector types.
There's no need to split each vector component out, just do vector ops.
This commit is contained in:
parent
285ff93819
commit
4e16a7b526
2 changed files with 6 additions and 30 deletions
|
|
@ -786,29 +786,17 @@ static const char *builtins_110_fract = {
|
|||
" (signature vec2\n"
|
||||
" (parameters\n"
|
||||
" (declare (in) vec2 x))\n"
|
||||
" ((declare () vec2 t)\n"
|
||||
" (assign (constant bool (1)) (swiz x (var_ref t)) (expression float - (swiz x (var_ref x)) (expression float floor (swiz x (var_ref x)))))\n"
|
||||
" (assign (constant bool (1)) (swiz y (var_ref t)) (expression float - (swiz y (var_ref x)) (expression float floor (swiz y (var_ref x)))))\n"
|
||||
" (return (var_ref t))))\n"
|
||||
" ((return (expression vec2 - (var_ref x) (expression vec2 floor (var_ref x))))))\n"
|
||||
"\n"
|
||||
" (signature vec3\n"
|
||||
" (parameters\n"
|
||||
" (declare (in) vec3 x))\n"
|
||||
" ((declare () vec3 t)\n"
|
||||
" (assign (constant bool (1)) (swiz x (var_ref t)) (expression float - (swiz x (var_ref x)) (expression float floor (swiz x (var_ref x)))))\n"
|
||||
" (assign (constant bool (1)) (swiz y (var_ref t)) (expression float - (swiz y (var_ref x)) (expression float floor (swiz y (var_ref x)))))\n"
|
||||
" (assign (constant bool (1)) (swiz z (var_ref t)) (expression float - (swiz z (var_ref x)) (expression float floor (swiz z (var_ref x)))))\n"
|
||||
" (return (var_ref t))))\n"
|
||||
" ((return (expression vec3 - (var_ref x) (expression vec3 floor (var_ref x))))))\n"
|
||||
"\n"
|
||||
" (signature vec4\n"
|
||||
" (parameters\n"
|
||||
" (declare (in) vec4 x))\n"
|
||||
" ((declare () vec4 t)\n"
|
||||
" (assign (constant bool (1)) (swiz x (var_ref t)) (expression float - (swiz x (var_ref x)) (expression float floor (swiz x (var_ref x)))))\n"
|
||||
" (assign (constant bool (1)) (swiz y (var_ref t)) (expression float - (swiz y (var_ref x)) (expression float floor (swiz y (var_ref x)))))\n"
|
||||
" (assign (constant bool (1)) (swiz z (var_ref t)) (expression float - (swiz z (var_ref x)) (expression float floor (swiz z (var_ref x)))))\n"
|
||||
" (assign (constant bool (1)) (swiz w (var_ref t)) (expression float - (swiz w (var_ref x)) (expression float floor (swiz w (var_ref x)))))\n"
|
||||
" (return (var_ref t))))\n"
|
||||
" ((return (expression vec4 - (var_ref x) (expression vec4 floor (var_ref x))))))\n"
|
||||
"))\n"
|
||||
"\n"
|
||||
};
|
||||
|
|
|
|||
|
|
@ -7,28 +7,16 @@
|
|||
(signature vec2
|
||||
(parameters
|
||||
(declare (in) vec2 x))
|
||||
((declare () vec2 t)
|
||||
(assign (constant bool (1)) (swiz x (var_ref t)) (expression float - (swiz x (var_ref x)) (expression float floor (swiz x (var_ref x)))))
|
||||
(assign (constant bool (1)) (swiz y (var_ref t)) (expression float - (swiz y (var_ref x)) (expression float floor (swiz y (var_ref x)))))
|
||||
(return (var_ref t))))
|
||||
((return (expression vec2 - (var_ref x) (expression vec2 floor (var_ref x))))))
|
||||
|
||||
(signature vec3
|
||||
(parameters
|
||||
(declare (in) vec3 x))
|
||||
((declare () vec3 t)
|
||||
(assign (constant bool (1)) (swiz x (var_ref t)) (expression float - (swiz x (var_ref x)) (expression float floor (swiz x (var_ref x)))))
|
||||
(assign (constant bool (1)) (swiz y (var_ref t)) (expression float - (swiz y (var_ref x)) (expression float floor (swiz y (var_ref x)))))
|
||||
(assign (constant bool (1)) (swiz z (var_ref t)) (expression float - (swiz z (var_ref x)) (expression float floor (swiz z (var_ref x)))))
|
||||
(return (var_ref t))))
|
||||
((return (expression vec3 - (var_ref x) (expression vec3 floor (var_ref x))))))
|
||||
|
||||
(signature vec4
|
||||
(parameters
|
||||
(declare (in) vec4 x))
|
||||
((declare () vec4 t)
|
||||
(assign (constant bool (1)) (swiz x (var_ref t)) (expression float - (swiz x (var_ref x)) (expression float floor (swiz x (var_ref x)))))
|
||||
(assign (constant bool (1)) (swiz y (var_ref t)) (expression float - (swiz y (var_ref x)) (expression float floor (swiz y (var_ref x)))))
|
||||
(assign (constant bool (1)) (swiz z (var_ref t)) (expression float - (swiz z (var_ref x)) (expression float floor (swiz z (var_ref x)))))
|
||||
(assign (constant bool (1)) (swiz w (var_ref t)) (expression float - (swiz w (var_ref x)) (expression float floor (swiz w (var_ref x)))))
|
||||
(return (var_ref t))))
|
||||
((return (expression vec4 - (var_ref x) (expression vec4 floor (var_ref x))))))
|
||||
))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue