Age | Commit message (Collapse) | Author |
|
|
|
we can either jump on zero, or non-zero predicate.
|
|
|
|
|
|
|
|
|
|
|
|
float[4] register slot.
|
|
p and q works correctly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
constructor for any given type be the one that takes the most parameters
as this is the constructor that'll be used when there's no perfect match
to the caller's arguments.
See the _slang_adapt_call() function for details.
|
|
vectors, insert casts) when a perfect match isn't found.
|
|
This is used to modify function calls (when possible) to make the arguments
map to the function parameters. This includes "unrolling" vector types
and doing casts.
Example:
vec2 v2 = vec2(1.2, 3.4)
ivec3 iv = ivec3(false, v2);
Is converted into:
ivec3 iv = ivec3(int(false), int(v2[0]), int(v2[1]))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
an array: convert index to a swizzle/writemask
|
|
Instead of defining functions with an extra dummy parameter to distinguish
from the pre-incr/decr functions, just use new function names: __postIncr
and __postDecr.
|
|
|
|
|
|
|
|
|
|
emit time, not codegen time.
|
|
|
|
|
|
|
|
|
|
|
|
and expression temporarires. Much better register utilization now.
Lots of other fixes.
The OpenGL GLSL "orange book" brick shader demo works now.
|
|
|
|
|
|
temporaries.
|
|
|
|
|
|
|
|
|
|
|