[Mesa-dev] [PATCH 2/6] glsl: Optimize log(exp(x)) and exp(log(x)) into x.
Ian Romanick
idr at freedesktop.org
Mon Jan 20 11:52:04 PST 2014
On 01/20/2014 08:42 AM, Erik Faye-Lund wrote:
> On Mon, Jan 20, 2014 at 5:39 PM, Eric Anholt <eric at anholt.net> wrote:
>> Erik Faye-Lund <kusmabite at gmail.com> writes:
>>
>>> On Mon, Jan 20, 2014 at 8:18 AM, Eric Anholt <eric at anholt.net> wrote:
>>>> ---
>>>> src/glsl/opt_algebraic.cpp | 36 ++++++++++++++++++++++++++++++++++++
>>>> 1 file changed, 36 insertions(+)
>>>>
>>>> diff --git a/src/glsl/opt_algebraic.cpp b/src/glsl/opt_algebraic.cpp
>>>> index 6b0d992..4aa49e5 100644
>>>> --- a/src/glsl/opt_algebraic.cpp
>>>> +++ b/src/glsl/opt_algebraic.cpp
>>>> @@ -252,6 +252,42 @@ ir_algebraic_visitor::handle_expression(ir_expression *ir)
>>>> }
>>>> break;
>>>>
>>>> + case ir_unop_exp:
>>>> + if (op_expr[0] == NULL)
>>>> + break;
>>>
>>> How can this happen?!
>>
>> If the first operand itself isn't an expression (for example, it's a
>> swizzle of something else).
>
> But what is "something else"? The GLSL grammar defines the arguments
> to be assignment_expressions, so they should always be expressions,
> no?
ir_dereference isn't a subclass of ir_expression, for example.
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list