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