Browse Source

Add TODO list

Don't want to forget anything, no do we?
tags/mesa-7.9-rc1
Ian Romanick 15 years ago
parent
commit
298586fd6c
1 changed files with 78 additions and 0 deletions
  1. 78
    0
      TODO

+ 78
- 0
TODO View File

@@ -0,0 +1,78 @@
- Implement AST-to-HIR conversion of discard instructions.

- Handle constant expressions of (matrix {+,-,*,/} scalar)

- Handle constant expressions of (vector {+,-,*,/} scalar)

- Handle constant expressions of (matrix * vector)

- Handle constant expressions of (matrix * matrix)

- Handle currently unsupported constant expression types
- ir_unop_sign
- ir_unop_exp2
- ir_unop_log2
- ir_unop_u2f
- ir_unop_trunc
- ir_unop_ceil
- ir_unop_floor
- ir_unop_sin
- ir_unop_cos
- ir_binop_dot
- ir_binop_min
- ir_binop_max
- ir_binop_pow

- Handle constant expressions of (struct == struct)

- Handle constant expressions of (struct != struct)

- Add support to ir_constant for array constants Arrays can only be
- declared 'const' in GLSL 1.20+. This is because there are no
array constructors in GLSL 1.10, and any variable declared as
'const' must have an initializer.

- Handle constant expressions of (array == array)

- Handle constant expressions of (array != array)

- Treat built-in functions with constant parameters as constant expressions.
- Rewrite all built-in functions return a single expression.
- Modify the HIR generator for functions to automatically inline built-in
functions durning translation.
- Care must be taken to handle both the 1.10 rules and the 1.20+ rules. In
1.10, built-in functions cannot be constant expressions.

- Detect non-void functions that lack a return statement

- Detect return statements with a type not matching the funciton's
return type.

- Handle over-riding built-in functions
- Is the overload per-compilation unit or per-linked shader?

- Handle redeclaration of built-in variables
- Handle addition of qualifiers such as 'invariant' or 'centroid'.
- Handle resizing of arrays.
- Other? We'll have to look at the spec.

1.30 features:

- Implement AST-to-HIR conversion of bit-shift operators.

- Implement AST-to-HIR conversion of bit-wise {&,|,^,!} operators.

- Implement AST-to-HIR conversion of switch-statements
- switch
- case
- Update break to correcly handle mixed nexting of switch-statements
and loops.

- Handle currently unsupported constant expression types
- ir_unop_bit_not
- ir_binop_mod
- ir_binop_lshift
- ir_binop_rshift
- ir_binop_bit_and
- ir_binop_bit_xor
- ir_binop_bit_or

Loading…
Cancel
Save