Age | Commit message (Collapse) | Author |
|
Calls to equal(bvec, bvec) or notEqual(bvec, bvec) previously caused an
assertion. Fixes piglit tests glsl-const-builtin-equal-bool and
glsl-const-builtin-notEqual-bool.
|
|
|
|
In most cases, we needed to be reparenting the cloned IR to a
different context (for example, to the linked shader instead of the
unlinked shader), or optimization before the reparent would cause
memory usage of the original object to grow and grow.
|
|
I take back the bad things I've said about the signed/unsigned
comparison warning now.
|
|
We were happily optimizing away the body of
glsl-uniform-initializer-* to never use the uniforms.
|
|
|
|
Both 1.10 and 1.30 variants.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
There's no need to use an ir_expression; we have a handy C function.
|
|
|
|
|
|
This shouldn't be required since dot is only defined for floating point
types, even in GLSL 4.0.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
These builtin functions are represented by ir_expression_operations, so
we can just create one of those and ask for its value.
|
|
These always return zero (the derivative of a constant).
|
|
|
|
|
|
If an undeclared variable was dereferenced in an expression that
needed constant expression handling, we would walk off a null ir->var
pointer.
Fixes:
glsl1-TIntermediate::addUnaryMath
|
|
It's supposed to be x - y * floor(x/y), not (x - y) * floor(x/y).
|
|
Piglit parser tests const-array-03.frag and const-array-04.frag now
generate the correct code.
|
|
Fixes piglit test const-array-02.frag.
|
|
Also make ir_unop_i2f only operate on signed integers.
|
|
The ir_constant::has_value method already does this.
|
|
ir_dereference_variable always references an ir_variable, so there's no
point in calling a function and NULL-checking the result.
|
|
In ir_expression's signature, I replaced ir->operands[i] with op[i] as
it is more concise; an assertion already ensures these are equal.
|