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,$ |