diff options
author | Ian Romanick <ian.d.romanick@intel.com> | 2010-09-02 10:11:54 -0700 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2010-09-02 10:11:54 -0700 |
commit | 6e3cbeb3614152ea3aa188666d6166b484ee3f56 (patch) | |
tree | 10a47c3dd76143dec93eaad2161c7d2bd98019ca | |
parent | e73c5501b2fe20290d1b691c85a5d82ac3a0431c (diff) | |
download | external_mesa3d-6e3cbeb3614152ea3aa188666d6166b484ee3f56.zip external_mesa3d-6e3cbeb3614152ea3aa188666d6166b484ee3f56.tar.gz external_mesa3d-6e3cbeb3614152ea3aa188666d6166b484ee3f56.tar.bz2 |
glsl2: Update TODO file
-rw-r--r-- | src/glsl/TODO | 26 |
1 files changed, 7 insertions, 19 deletions
diff --git a/src/glsl/TODO b/src/glsl/TODO index 07ac5f5..a376238 100644 --- a/src/glsl/TODO +++ b/src/glsl/TODO @@ -1,30 +1,14 @@ -- Handle constant expressions of (struct == struct) - -- Handle constant expressions of (struct != struct) - -- 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 code paths in non-void functions that don't reach a return statement -- 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. - - 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. @@ -48,3 +32,7 @@ - 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 |