diff options
author | marha <marha@users.sourceforge.net> | 2010-12-29 12:20:21 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2010-12-29 12:20:21 +0000 |
commit | 053f5dfd42ade05252e586a282e34906db10828d (patch) | |
tree | de215580ce205409a6d810a005c6c5909f3145d1 /mesalib/src/glsl/TODO | |
parent | 04ceb8c4a0cca3d8682f094d1d6faed8f693afb5 (diff) | |
parent | 807c6931fe683fd844ceec1b023232181e6aae03 (diff) | |
download | vcxsrv-053f5dfd42ade05252e586a282e34906db10828d.tar.gz vcxsrv-053f5dfd42ade05252e586a282e34906db10828d.tar.bz2 vcxsrv-053f5dfd42ade05252e586a282e34906db10828d.zip |
svn merge ^/branches/released .
Diffstat (limited to 'mesalib/src/glsl/TODO')
-rw-r--r-- | mesalib/src/glsl/TODO | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/mesalib/src/glsl/TODO b/mesalib/src/glsl/TODO new file mode 100644 index 000000000..6eed986bf --- /dev/null +++ b/mesalib/src/glsl/TODO @@ -0,0 +1,38 @@ +- Detect code paths in non-void functions that don't reach a return statement
+
+- Improve handling of constants and their initializers. Constant initializers
+ should never generate any code. This is trival for scalar constants. It is
+ also trivial for arrays, matrices, and vectors that are accessed with
+ constant index values. For others it is more complicated. Perhaps these
+ cases should be silently converted to uniforms?
+
+- Implement support for ir_binop_dot in ir_algebraic.cpp. Perform
+ transformations such as "dot(v, vec3(0.0, 1.0, 0.0))" -> v.y.
+
+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
+
+- Implement support for 1.30 style shadow compares which only return a float
+ instead of a vec4.
+
+- Implement support for gl_ClipDistance. This is non-trivial because
+ gl_ClipDistance is exposed as a float[8], but all hardware actually
+ implements it as vec4[2].
\ No newline at end of file |