Prevent Cache.ensure from throwing an error, while the directory already exists.
parse hex floats in vector literals
Added new configuration parameter support 'GL_MAX_TEXTURE_IMAGE_UNITS' to the emscripten Module object so that codebases using fixed-function GL emulation mode can hint to the emulation code how many texture units they are using at maximum. This optimizes the emulation code path to avoid having to examine an unnecessary amount of texture units at each draw call (at minimum the code would loop over to confirm that the unused texunits are really unused, which would burn up some unneeded cycles.)
Remove vertex attribute size and type information from being part of the FFP emulation renderer key. This improves performance by making the renderer key simpler, which causes fewer renderer state key traversals to be done in getRenderer(), and by reducing the number of created shader programs and # of shader program switches performed during frame.
Simplify the key state used for identifying used vertex attribute set. The function CKeyView.next() shows up as one of the hottest in profiles, so merging multiple key identifiers to one helps performance.
Optimize GL emulation performance by packing the GLTexEnv renderer key to a tighter space, which greatly reduces the number of required CKeyView.next() traversals that show up costly in the profiles.
Cache the currently active FFP emulation renderer object. If renderer-related GL state does not change, the renderer can then be looked up very quickly, instead of having to recompute the key every time.
Fix GL logging message when GL_UNSAFE_OPTS is disabled.
Version immediate mode GL matrix stack data, so that the matrices don't need to be reset on each program if they didn't change.
Name GL functions that show up as anonymous in the profile.
Skip looping twice over textures in GL emulation renderer prepare() code. Clean up unnecessary variable.
Add new GL emulation related #define GL_FFP_ONLY which is used to signal that the C/C++ client code will not use any GL shaders, allowing more efficient optimizations to be performed in the FFP GL emulation code knowing that it doesn't need to worry about shader programs from the user.
Implemented #1573. All functions marked as "used" will be automatically added to EXPORTED_FUNCTIONS.
getting some initial set of x86 intrinsics mapped to JS SIMD ops; update existing SIMD code to use updated JS SIMD API (SIMD.type.op instead of SIMD.op & SIMD.opu32; int32x4 instead of uint32x4); bug fix: right type of withX() for int32x4 initialization; bug fix: splat(0) instead of zero() for int32x4 initialization
getting some initial set of x86 intrinsics mapped to JS SIMD ops; update existing SIMD code to use updated JS SIMD API (SIMD.type.op instead of SIMD.op & SIMD.opu32; int32x4 instead of uint32x4); bug fix: right type of withX() for int32x4 initialization; bug fix: splat(0) instead of zero() for int32x4 initialization
update simd_test to use updated int32x4 instead of uint32x4; add simd_test3 for more comprehensive x86 intrinsics unit tests
add SIMD contributor to AUTHORS
Merge pull request #1757 from wahbahdoo/incoming

Incoming -- add support for SIMD x86 intrinsics
Merge pull request #1864 from ngld/llvm-used

Implemented #1573. (@llvm.used)
Set proper value type for @llvm.used