X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fglsl%2FTODO;h=eb73fc2e8132871b1ca7abb07b4f9b8568ef8c6f;hb=6a829a1b724ca0d960decee217d260b4de8a5463;hp=a3762384ff25ceed75fbc3238f9db214c5786e64;hpb=6e3cbeb3614152ea3aa188666d6166b484ee3f56;p=mesa.git diff --git a/src/glsl/TODO b/src/glsl/TODO index a3762384ff2..eb73fc2e813 100644 --- a/src/glsl/TODO +++ b/src/glsl/TODO @@ -6,33 +6,10 @@ 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 +- Implement support for ir_binop_dot in opt_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 +- Track source locations throughout the IR. There are currently several + places where we cannot emit line numbers for errors (and currently emit 0:0) + because we've "lost" the line number information. This is particularly + noticeable at link time.