Attempt to fix incorrect colours on some BGR displays

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2974 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
blueswir1 2007-06-10 16:07:38 +00:00
parent 9447084492
commit b29169d265
4 changed files with 74 additions and 8 deletions

View file

@ -58,13 +58,22 @@ static void update_palette_entries(TCXState *s, int start, int end)
s->palette[i] = rgb_to_pixel8(s->r[i], s->g[i], s->b[i]);
break;
case 15:
s->palette[i] = rgb_to_pixel15(s->r[i], s->g[i], s->b[i]);
if (s->ds->bgr)
s->palette[i] = rgb_to_pixel15bgr(s->r[i], s->g[i], s->b[i]);
else
s->palette[i] = rgb_to_pixel15(s->r[i], s->g[i], s->b[i]);
break;
case 16:
s->palette[i] = rgb_to_pixel16(s->r[i], s->g[i], s->b[i]);
if (s->ds->bgr)
s->palette[i] = rgb_to_pixel16bgr(s->r[i], s->g[i], s->b[i]);
else
s->palette[i] = rgb_to_pixel16(s->r[i], s->g[i], s->b[i]);
break;
case 32:
s->palette[i] = rgb_to_pixel32(s->r[i], s->g[i], s->b[i]);
if (s->ds->bgr)
s->palette[i] = rgb_to_pixel32bgr(s->r[i], s->g[i], s->b[i]);
else
s->palette[i] = rgb_to_pixel32(s->r[i], s->g[i], s->b[i]);
break;
}
}