Eldritch Conundrum

Results 16 comments of Eldritch Conundrum

No arguments is a good limitation that removes many edge cases. This is not too hard, but we should still take care of things like: * avoiding conflict with existing...

Declarations conflicts: yes. Local shadowing: this is currently detected and prevents automatic inlining. There's also what Laurent says in https://github.com/laurentlb/shader-minifier/issues/470#issuecomment-2461051355 : we might need to enable inlining only when the...

The case "the function refer to a global function or variable by a name that is shadowed by a local variable that's in scope at the call site" is not...

Inlining is not that simple. There are many potential issues to tackle. * are the arguments lvalues, are they assigned in the inlined function, should they be copied to new...

My guess is, it's this rewrite: `x*(y*z) -> y*z*x` How to reproduce: `mat2 f(){ return mat3x2(1) * (mat4x3(1) * mat2x4(1)); }` becomes `mat2 f(){return mat4x3(1)*mat2x4(1)*mat3x2(1);}`

No, but commenting out lines 198-200 of rewriter.fs should fix it