Revision 749ecd99

b/sdl.c
89 89
    ds->data = screen->pixels;
90 90
    ds->linesize = screen->pitch;
91 91
    ds->depth = screen->format->BitsPerPixel;
92
    /* SDL BitsPerPixel never indicates any values other than
93
       multiples of 8, so we need to check for strange depths. */
94
    if (ds->depth == 16) {
95
        uint32_t mask;
96

  
97
        mask = screen->format->Rmask;
98
        mask |= screen->format->Gmask;
99
        mask |= screen->format->Bmask;
100
        if ((mask & 0x8000) == 0)
101
            ds->depth = 15;
102
    }
92 103
    if (ds->depth == 32 && screen->format->Rshift == 0) {
93 104
        ds->bgr = 1;
94 105
    } else {

Also available in: Unified diff