free(saved_locale);
}
+TEST(EffectChainTest, sRGBIntermediate) {
+ float data[] = {
+ 0.0f, 0.25f, 0.0f, 1.0f,
+ };
+ float expected_data[] = {
+ 0.0f, 0.25048828125f, 0.0f, 1.0f,
+ };
+ float out_data[4];
+ EffectChainTester tester(data, 1, 1, FORMAT_RGBA_PREMULTIPLIED_ALPHA, COLORSPACE_sRGB, GAMMA_LINEAR, GL_RGBA16F_ARB, GL_SRGB8);
+ tester.get_chain()->add_effect(new IdentityEffect());
+ tester.get_chain()->add_effect(new BouncingIdentityEffect());
+ tester.run(out_data, GL_RGBA, COLORSPACE_sRGB, GAMMA_LINEAR);
+
+ expect_equal(expected_data, out_data, 4, 1, 1e-4);
+}
} // namespace movit