+ register_uniform_sampler2d("tex", &uniform_tex);
+
+ // Some types are not supported in all GL versions (e.g. GLES),
+ // and will corrected into the right format in the shader.
+ switch (pixel_format_in) {
+ case FORMAT_BGRA_PREMULTIPLIED_ALPHA:
+ pixel_format = FORMAT_RGBA_PREMULTIPLIED_ALPHA;
+ fixup_swap_rb = true;
+ break;
+ case FORMAT_BGRA_POSTMULTIPLIED_ALPHA:
+ pixel_format = FORMAT_RGBA_POSTMULTIPLIED_ALPHA;
+ fixup_swap_rb = true;
+ break;
+ case FORMAT_BGR:
+ pixel_format = FORMAT_RGB;
+ fixup_swap_rb = true;
+ break;
+ case FORMAT_GRAYSCALE:
+ pixel_format = FORMAT_R;
+ fixup_red_to_grayscale = true;
+ break;
+ default:
+ pixel_format = pixel_format_in;
+ break;
+ }