use stosb
This commit is contained in:
parent
087ccc719a
commit
ee5d236198
1 changed files with 18 additions and 2 deletions
16
src/blt.c
16
src/blt.c
|
@ -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++)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue