Home | History | Annotate | Download | only in glsl
      1 - Detect code paths in non-void functions that don't reach a return statement
      2 
      3 - Improve handling of constants and their initializers.  Constant initializers
      4   should never generate any code.  This is trival for scalar constants.  It is
      5   also trivial for arrays, matrices, and vectors that are accessed with
      6   constant index values.  For others it is more complicated.  Perhaps these
      7   cases should be silently converted to uniforms?
      8 
      9 - Implement support for ir_binop_dot in ir_algebraic.cpp.  Perform
     10   transformations such as "dot(v, vec3(0.0, 1.0, 0.0))" -> v.y.
     11 
     12 1.30 features:
     13 
     14 - Implement AST-to-HIR conversion of bit-shift operators.
     15 
     16 - Implement AST-to-HIR conversion of bit-wise {&,|,^,!} operators.
     17 
     18 - Implement AST-to-HIR conversion of switch-statements
     19   - switch
     20   - case
     21   - Update break to correcly handle mixed nexting of switch-statements
     22     and loops.
     23 
     24 - Handle currently unsupported constant expression types
     25   - ir_unop_bit_not
     26   - ir_binop_mod
     27   - ir_binop_lshift
     28   - ir_binop_rshift
     29   - ir_binop_bit_and
     30   - ir_binop_bit_xor
     31   - ir_binop_bit_or
     32 
     33 - Implement support for 1.30 style shadow compares which only return a float
     34   instead of a vec4.
     35 
     36 - Implement support for gl_ClipDistance.  This is non-trivial because
     37   gl_ClipDistance is exposed as a float[8], but all hardware actually
     38   implements it as vec4[2].