Age | Commit message (Collapse) | Author |
|
Fixes a valgrind error.
|
|
The problem with doing it on the way in is that for a function with
multiple early returns, we'll move an outer block in, then restart the
pass, then move the two inside returns out, then never move outer
blocks in again because the remaining early returns are inside an else
block and they don't know that there's a return just after their
block. By going inside-out, we get the early returns stacked up so
that they all move out with a series of
move_returns_after_block().
Fixes (on i965):
glsl-fs-raytrace-bug27060
glsl-vs-raytrace-bug26691
|
|
This catches a few remaining functions that weren't getting inlined,
generally operating on global or out variables and using an early
return to skip work when possible.
Fixes for i965:
glsl1-function with early return (3)
|
|
This makes many remaining functions inlinable.
Fixes for i965:
glsl1-function with early return (1)
glsl1-function with early return (2)
|
|
|
|
|
|
Fixes (with software, except for alpha):
glsl1-function with early return(3)
|
|
No more trying to match parens in my head when looking at the body of
a short function containing an if statement.
|
|
|
|
|
|
|
|
We already have asserts that it was the last call in the function, so
it's safe to remove after it got cloned in.
Fixes:
glsl-fs-functions-4.
|
|
|
|
Fixes:
glsl-version-define
glsl-version-define-110
glsl-version-define-120
|
|
|
|
Fixes glsl-precision-110.
|
|
Otherwise, we lose DEBUG, which causes mtypes.h to set NDEBUG, which
causes assertions to not happen, which is no fun for anyone.
|
|
The type signatures were completely backwards.
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|