Age | Commit message (Collapse) | Author |
|
|
|
I was expecting to have 2 frontends for the shader code (asm, glsl).
With Brian's work on GLSL this is unnecessary :)
|
|
It sucks, and we have someone who can do a much better job than I can starting
work on it soon. alloc_temp/free_temp is left in pass2 to workaround fragprog
temps/outputs overlapping, but this all belongs in the optimiser.
|
|
|
|
|
|
|
|
|
|
|
|
Improved shader error handling.
|
|
|
|
we can either jump on zero, or non-zero predicate.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
float[4] register slot.
|
|
the parameter list.
|
|
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]))
|
|
|
|
|
|
|
|
|
|
The order of vertices in payload for quardstrip is (0, 1, 3, 2),
so the PV for quardstrip is c->reg.vertex[2].
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
an array: convert index to a swizzle/writemask
|