At the end of eglSwapBuffers function, provided by the OpenVG 1.1 reference implementation (rieglos.cpp), I see the following code:

Code :
    if (ctx->tmp)
    {
        // NOTE: we assume here that the display is always in sRGB color space
        GdiFlush();
        VGImageFormat f = VG_sXBGR_8888;
        if (isBigEndian())
            f = VG_sRGBX_8888;
        vgReadPixels(ctx->tmp, w*sizeof(unsigned int), f, 0, 0, w, h);
 
        SelectObject(ctx->bufDC, ctx->bufDIB);
        HDC winDC = GetDC(ctx->window);
        BitBlt(winDC, 0, 0, w, h, ctx->bufDC, 0, 0, SRCCOPY);
        ReleaseDC(ctx->window, winDC);
        SelectObject(ctx->bufDC, NULL);
    }
The format assumed for the display (VG_sXBGR_888, wouldn't it be the same chosen by the selected EGLConfig (the one selected by surfAttributes in eglCreateWindowSurface call) ?