On Mon, Jan 20, 2014 at 5:39 PM, Eric Anholt <e...@anholt.net> wrote:
> Erik Faye-Lund <kusmab...@gmail.com> writes:
>
>> On Mon, Jan 20, 2014 at 8:18 AM, Eric Anholt <e...@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?
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to