Small optimization.

git-svn-id: svn://kolibrios.org@5164 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
hidnplayr 2014-11-03 16:03:20 +00:00
parent 11b3a68203
commit 65ccbec301

View File

@ -454,12 +454,12 @@ align 4
;-------------------------------------- ;--------------------------------------
align 4 align 4
.skip_1: .skip_1:
mov edi, [esp+.extra_var1]
inc ecx inc ecx
dec edx dec edx
jnz .inner24 jnz .inner24
add esi, [esp+BLITTER.stride] add esi, [esp+BLITTER.stride]
mov edi, [esp+.extra_var1]
add edi, [_display.pitch] add edi, [_display.pitch]
add ebp, [_display.width] add ebp, [_display.width]
@ -470,18 +470,15 @@ align 4
jmp .done jmp .done
.core_16: .core_16:
lea edi, [LFB_BASE+edi+ebx*2] lea edi, [LFB_BASE+edi+ebx*2]
mov ebx, [CURRENT_TASK] mov ebx, [CURRENT_TASK]
align 4 .outer16:
.outer16:
mov [esp+.extra_var1], edi mov [esp+.extra_var1], edi
xor ecx, ecx xor ecx, ecx
align 4 .inner16:
.inner16:
cmp [ebp+ecx], bl ; Does the process own this pixel? cmp [ebp+ecx], bl ; Does the process own this pixel?
jne .skip_2 jne .skip_2
;-------------------------------------- ;--------------------------------------
@ -494,8 +491,7 @@ align 4
cmp [_display.select_cursor], 0 cmp [_display.select_cursor], 0
jne .no_mouseunder_2 jne .no_mouseunder_2
;-------------------------------------- ;--------------------------------------
align 4 @@:
@@:
push ecx push ecx
mov ecx, [esp+4] mov ecx, [esp+4]
@ -508,8 +504,7 @@ align 4
call [_display.check_mouse] call [_display.check_mouse]
pop ecx pop ecx
;-------------------------------------- ;--------------------------------------
align 4 .no_mouseunder_2:
.no_mouseunder_2:
; convert to 16 bpp and store to LFB ; convert to 16 bpp and store to LFB
and eax, 00000000111110001111110011111000b and eax, 00000000111110001111110011111000b
shr ah, 2 shr ah, 2
@ -520,14 +515,13 @@ align 4
mov [edi+ecx*2], ax mov [edi+ecx*2], ax
pop eax pop eax
;-------------------------------------- ;--------------------------------------
align 4 .skip_2:
.skip_2:
mov edi, [esp+.extra_var1]
inc ecx inc ecx
dec edx dec edx
jnz .inner16 jnz .inner16
add esi, [esp+BLITTER.stride] add esi, [esp+BLITTER.stride]
mov edi, [esp+.extra_var1]
add edi, [_display.pitch] add edi, [_display.pitch]
add ebp, [_display.width] add ebp, [_display.width]