use stosb

This commit is contained in:
FunkyFr3sh 2022-09-16 12:08:22 +02:00
parent 087ccc719a
commit ee5d236198

View file

@ -393,7 +393,14 @@ void blt_clear(
unsigned char* dst, unsigned char* dst,
size_t size) size_t size)
{ {
if (size >= 1024 * 200)
{
__stosb(dst, 0, size);
}
else
{
memset(dst, 0, size); memset(dst, 0, size);
}
} }
void blt_colorfill( void blt_colorfill(
@ -421,9 +428,18 @@ void blt_colorfill(
(color & 0xFF) == ((color >> 24) & 0xFF))) (color & 0xFF) == ((color >> 24) & 0xFF)))
{ {
if (size == dst_p) if (size == dst_p)
{
size_t s = dst_p * dst_h;
if (s >= 1024 * 200)
{
__stosb(dst, color, dst_p * dst_h);
}
else
{ {
memset(dst, color, dst_p * dst_h); memset(dst, color, dst_p * dst_h);
} }
}
else else
{ {
for (int i = 0; i < dst_h; i++) for (int i = 0; i < dst_h; i++)