Age | Commit message (Collapse) | Author |
|
|
|
It looks like the LOG2 macro only has 8 or 9 bits of precission, but
the ARB_vertex_program spec says "accurate to at least 10 bits".
|
|
|
|
|
|
array.length() wasn't working.
Swizzle mask for accessing elements of float arrays was incorrect.
|
|
The noise functions were not glsl-specific.
Also, ran indent on the code to clean it up.
|
|
And update some copyrights.
|
|
|
|
|
|
|
|
This allows uniform declarations with scalar/array initializers.
The code is rough though, and will be cleaned up.
|
|
|
|
For example, a declaration like
const float[3] xxx = float[3](1.1, 2.2, 3.3);
will place the array in the constant buffer whereas a regular, non-const array
would be placed in the temporary register file.
Next up: do the same thing for uniform arrays.
|
|
|
|
|
|
|
|
|
|
|
|
For example: float[3] xxx = float[3](1.1, 2.2, 3.3);
Optimizations for const-qualified arrays next.
|
|
|
|
|
|
|
|
Function that return arrays should work now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
More code consolidation coming...
|
|
|
|
|
|
This allows things like float[3] x = float[3](1., 2., 3.);
Parsing and AST construction now. Codegen not working yet.
|
|
exceeded
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is the only method supported in GLSL 1.20 so we take a few short-cuts.
|
|
This allows syntax like "float[8] foo, bar;"
|
|
These arrays will indicate per-input or per-output options for vertex/fragment
programs such as centroid-sampling and invariance.
|
|
|
|
|
|
|
|
|