¿Cómo puedo usar el color ARGB en opengl / SDL?

Estoy renderizando SVG usando Cairo. El formato de salida de El Cairo es ARGB. Luego coloco la imagen renderizada en una superficie SDL para poder usarla como una textura openGL.

La imagen renderizada se veía bien cuando uso directamente la SDL_Surface. Pero tuve que usar la superficie como textura en openGL porque necesitaba alguna función de openGL. El problema es que todos los colores se voltean. OpenGL utiliza RGBA y no ARGB.

Me preguntaba si alguien podría ayudarme a convertir un ARG de SDL_Surface a RGBA.

Información útil:
Utilicé este tutorial para renderizar mi SVG.http://tuxpaint.org/presentations/sdl_svg_svgopen2009_kendrick.pdf
Mi software está escrito en C.

EDITAR: utilicé este tutorial para usar una superficie SDL como una textura openGL.
http://www.sdltutorials.com/sdl-tip-sdl-surface-to-opengl-texture

Tanto el proceso de renderizado como la textura de opengl son los mismos que los tutoriales.

Respuestas a la pregunta(1)

Su respuesta a la pregunta