Subversion Repositories Kolibri OS

Rev

Rev 2014 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2014 Rev 3168
Line 443... Line 443...
443
     jmp     .nextpixel
443
     jmp     .nextpixel
444
align 4
444
align 4
445
.invert_force:
445
.invert_force:
446
     mov     ecx, [ebx+eax*4]
446
     mov     ecx, [ebx+eax*4]
447
     xor     ecx, 0x00FFFFFF
447
     xor     ecx, 0x00FFFFFF
448
     or      ecx, 0x01000000		; keep bit[24] high !
448
     bts     ecx, 24		; keep bit[24] high !
449
align 4
449
align 4
450
.putpixel:
450
.putpixel:
451
     mov     [ebx+eax*4], ecx
451
     mov     [ebx+eax*4], ecx
452
align 4
452
align 4
453
.nextpixel:
453
.nextpixel:
Line 954... Line 954...
954
align 4
954
align 4
955
bgr_cur_line	rd	1920	; maximum width of screen
955
bgr_cur_line	rd	1920	; maximum width of screen
956
bgr_next_line	rd	1920
956
bgr_next_line	rd	1920
957
endg
957
endg
Line -... Line 958...
-
 
958
 
958
 
959
 
959
smooth_line:
960
smooth_line:
960
	mov	al, [esi+2]
961
	mov	al, [esi+2]
961
	shl	eax, 16
962
	shl	eax, 16
962
	mov	ax, [esi]
963
	mov	ax, [esi]
Line 1017... Line 1018...
1017
iglobal
1018
iglobal
1018
align 4
1019
align 4
1019
overlapping_of_points_ptr	dd	overlapping_of_points
1020
overlapping_of_points_ptr	dd	overlapping_of_points
1020
endg
1021
endg
Line -... Line 1022...
-
 
1022
 
-
 
1023
align 16
-
 
1024
overlapping_of_points_mmx:
-
 
1025
	movd	mm0, eax
-
 
1026
	movd	mm4, eax
-
 
1027
	movd	mm1, ebx
-
 
1028
	pxor	mm2, mm2
-
 
1029
	punpcklbw mm0, mm2
-
 
1030
	punpcklbw mm1, mm2
-
 
1031
	psubw	mm1, mm0
-
 
1032
	movd	mm3, ecx
-
 
1033
	psrld	mm3, 24
-
 
1034
	packuswb mm3, mm3
-
 
1035
	packuswb mm3, mm3
-
 
1036
	pmullw	mm1, mm3
-
 
1037
	psrlw	mm1, 8
-
 
1038
	packuswb mm1, mm2
-
 
1039
	paddb	mm4, mm1
-
 
1040
	movd	eax, mm4
-
 
1041
	ret
-
 
1042
 
-
 
1043
 
1021
 
1044
 
1022
init_background:
1045
init_background:
1023
	mov	edi, BgrAuxTable
1046
	mov	edi, BgrAuxTable
1024
	xor	edx, edx
1047
	xor	edx, edx
1025
.loop2:
1048
.loop2:
Line 1038... Line 1061...
1038
	jz	@f
1061
	jz	@f
1039
	mov	[overlapping_of_points_ptr], overlapping_of_points_mmx
1062
	mov	[overlapping_of_points_ptr], overlapping_of_points_mmx
1040
@@:
1063
@@:
1041
	ret
1064
	ret
Line 1042... Line -...
1042
 
-
 
1043
align 16
-
 
1044
overlapping_of_points_mmx:
-
 
1045
	movd	mm0, eax
-
 
1046
	movd	mm4, eax
-
 
1047
	movd	mm1, ebx
-
 
1048
	pxor	mm2, mm2
-
 
1049
	punpcklbw mm0, mm2
-
 
1050
	punpcklbw mm1, mm2
-
 
1051
	psubw	mm1, mm0
-
 
1052
	movd	mm3, ecx
-
 
1053
	psrld	mm3, 24
-
 
1054
	packuswb mm3, mm3
-
 
1055
	packuswb mm3, mm3
-
 
1056
	pmullw	mm1, mm3
-
 
1057
	psrlw	mm1, 8
-
 
1058
	packuswb mm1, mm2
-
 
1059
	paddb	mm4, mm1
-
 
1060
	movd	eax, mm4
1065
 
1061
	ret
1066
 
1062
;diff16 "VESA2 code end ",0,$
1067
;diff16 "VESA2 code end ",0,$