mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-15 14:14:47 +01:00
improve blt_colorfill performance
This commit is contained in:
parent
09ca2fcbf8
commit
f4a403f434
39
src/blt.c
39
src/blt.c
@ -387,20 +387,34 @@ void blt_colorfill(
|
||||
|
||||
if (bpp == 8)
|
||||
{
|
||||
for (int i = 0; i < dst_h; i++)
|
||||
if (size == dst_p)
|
||||
{
|
||||
memset(dst, color, size);
|
||||
dst += dst_p;
|
||||
memset(dst, color, dst_p * dst_h);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < dst_h; i++)
|
||||
{
|
||||
memset(dst, color, size);
|
||||
dst += dst_p;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (bpp == 16)
|
||||
{
|
||||
if ((color & 0xFF) == ((color >> 8) & 0xFF))
|
||||
{
|
||||
for (int i = 0; i < dst_h; i++)
|
||||
if (size == dst_p)
|
||||
{
|
||||
memset(dst, color, size);
|
||||
dst += dst_p;
|
||||
memset(dst, color, dst_p * dst_h);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < dst_h; i++)
|
||||
{
|
||||
memset(dst, color, size);
|
||||
dst += dst_p;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -425,10 +439,17 @@ void blt_colorfill(
|
||||
(color & 0xFF) == ((color >> 16) & 0xFF) &&
|
||||
(color & 0xFF) == ((color >> 24) & 0xFF))
|
||||
{
|
||||
for (int i = 0; i < dst_h; i++)
|
||||
if (size == dst_p)
|
||||
{
|
||||
memset(dst, color, size);
|
||||
dst += dst_p;
|
||||
memset(dst, color, dst_p * dst_h);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < dst_h; i++)
|
||||
{
|
||||
memset(dst, color, size);
|
||||
dst += dst_p;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
Loading…
x
Reference in New Issue
Block a user