• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
121.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].