glsl-optimizer
glsl-optimizer copied to clipboard
GLSL optimizer based on Mesa's GLSL compiler. Used to be used in Unity for mobile shader optimization.
There were both compiler and linker errors using CMake on both Linux and OSX. This changeset fixes them. Compiles, builds, and tests successfully on OSX (cmake and Xcode). Compiles and...
Steps to reproduce: - Clone repo - Run `npm install` to trigger build (will call `node-gyp rebuild` internally) - Run `build/Release/glslOptimizer.node` - Segfault! Fiddling around with `gdb` I'm able to...
After migration from ndk-r9d to ndk-r10d I have some link errors: src/glsl/glsl_lexer.cpp:3167: error: undefined reference to '__srget' src/glsl/glcpp/glcpp-lex.c:1887: error: undefined reference to '__srget'
Hi, I'm having problems linking the static lib in a project. I've added the glsl_optimizer_lib project as a reference, and the library builds fine. But then when I use `glslopt_ctx*...
This change will wrap vector compares, specifically == and !=, with the required all()/any() in the Metal translation. Comparing vectors results in a boolean vector and which GLSL will implicitly...
src\glsl\opt_vector_splitting.cpp : 274 loop_state\* ls = analyze_loop_variables(instructions); object "ls" is created and never deleted
We have a case where a constant variable in an operation is being replaced with it's literal representation, dropping the precision qualifier. This variable was the only highp value in...
Hi aras, I found the optimizer cannot correctly dealing with nested structure. e.g, the following code: struct fragInput { highp vec4 baseTC; } struct fragPass { fragInput IN; } will...
The optimized output from a case statement is missing an 'if' and sequential assignments have commas missing. Here is a typical output for a case: bool tmpvar_3; tmpvar_3 = bool(0);...
The problem is that the precision that the optimizer sticks to the temporary variables is causing the draw call to fail sometimes, with error `0x502`. This is a snippet from...