Big endian changes
This commit is contained in:
parent
962bb9d477
commit
638918b4df
1 changed files with 13 additions and 3 deletions
|
@ -121,9 +121,9 @@ void RenderBackend_UploadSurface(RenderBackend_Surface *surface, const unsigned
|
|||
surface->pixels[dstl + dstr + 1] = pixels[srcl + srcr + 1];
|
||||
surface->pixels[dstl + dstr + 2] = pixels[srcl + srcr + 0];
|
||||
#else
|
||||
surface->pixels[dstl + dstr + 1] = pixels[srcl + srcr + 0];
|
||||
surface->pixels[dstl + dstr + 1] = pixels[srcl + srcr + 2];
|
||||
surface->pixels[dstl + dstr + 2] = pixels[srcl + srcr + 1];
|
||||
surface->pixels[dstl + dstr + 3] = pixels[srcl + srcr + 2];
|
||||
surface->pixels[dstl + dstr + 3] = pixels[srcl + srcr + 0];
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
@ -179,7 +179,17 @@ ATTRIBUTE_HOT void RenderBackend_Blit(RenderBackend_Surface *source_surface, con
|
|||
|
||||
for (long i = 0; i < rect_clamped.right - rect_clamped.left; ++i)
|
||||
{
|
||||
if (UNLIKELY(source_pointer[0] == 0 && source_pointer[1] == 0 && source_pointer[2] == 0)) // Assumes the colour key will always be #000000 (black)
|
||||
#ifdef LITTLE_ENDIAN
|
||||
register char red = source_pointer[0];
|
||||
register char green = source_pointer[1];
|
||||
register char blue = source_pointer[2];
|
||||
#else
|
||||
register char red = source_pointer[1];
|
||||
register char green = source_pointer[2];
|
||||
register char blue = source_pointer[3];
|
||||
#endif
|
||||
|
||||
if (UNLIKELY(red == 0 && green == 0 && blue == 0)) // Assumes the colour key will always be #000000 (black)
|
||||
{
|
||||
source_pointer += 4;
|
||||
destination_pointer += 4;
|
||||
|
|
Loading…
Add table
Reference in a new issue