#include <epoxy/gl.h>
#include <assert.h>
-#include <locale.h>
#include <math.h>
#include <stddef.h>
#include <stdio.h>
#include <stack>
#include <utility>
#include <vector>
-#if defined(__APPLE__)
-#include <xlocale.h>
-#endif
#include "alpha_division_effect.h"
#include "alpha_multiplication_effect.h"
void EffectChain::finalize()
{
- // Save the current locale, and set it to C, so that we can output decimal
- // numbers with printf and be sure to get them in the format mandated by GLSL.
-#if defined(__MINGW32__)
- // Note that the OpenGL driver might call setlocale() behind-the-scenes,
- // and that might corrupt the returned pointer, so we need to take our own
- // copy of it here.
- char *saved_locale = strdup(setlocale(LC_NUMERIC, NULL));
- setlocale(LC_NUMERIC, "C");
-#else
- locale_t c_locale = newlocale(LC_NUMERIC_MASK, "C", (locale_t)0);
- locale_t saved_locale = uselocale(c_locale);
-#endif
-
// Output the graph as it is before we do any conversions on it.
output_dot("step0-start.dot");
assert(phases[0]->inputs.empty());
finalized = true;
-#if defined(__MINGW32__)
- setlocale(LC_NUMERIC, saved_locale);
- free(saved_locale);
-#else
- uselocale(saved_locale);
- freelocale(c_locale);
-#endif
}
void EffectChain::render_to_fbo(GLuint dest_fbo, unsigned width, unsigned height)