Rev 8014 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8014 | Rev 8047 | ||
---|---|---|---|
Line 747... | Line 747... | ||
747 | shufps xmm5,xmm5,0 |
747 | shufps xmm5,xmm5,0 |
748 | .again_blur: |
748 | .again_blur: |
749 | push ecx |
749 | push ecx |
750 | mov edi,[screen_ptr] |
750 | mov edi,[screen_ptr] |
751 | movzx ecx,word[size_x_var] ;SIZE_X*3/4 |
751 | movzx ecx,word[size_x_var] ;SIZE_X*3/4 |
- | 752 | ||
- | 753 | cmp [dr_flag],12 |
|
- | 754 | je @f |
|
752 | lea ecx,[ecx*3+1] |
755 | lea ecx,[ecx*3+1] |
753 | shr ecx,2 |
756 | shr ecx,2 |
- | 757 | @@: |
|
Line 754... | Line -... | ||
754 | - | ||
755 | ; mov ecx,SIZE_X*3/4 |
758 | |
756 | xor eax,eax |
759 | xor eax,eax |
757 | rep stosd |
760 | rep stosd |
758 | if 1 |
761 | if 1 |
759 | movzx ebx,word[size_x_var] |
762 | movzx ebx,word[size_x_var] |
760 | movzx ecx,word[size_y_var] |
763 | movzx ecx,word[size_y_var] |
761 | sub ecx,3 |
764 | sub ecx,3 |
- | 765 | imul ecx,ebx |
|
- | 766 | cmp [dr_flag],12 ; 32 bit per pix cause |
|
762 | imul ecx,ebx |
767 | je @f |
763 | lea ecx,[ecx*3] |
768 | lea ecx,[ecx*3] |
764 | shr ecx,4 |
769 | shr ecx,4 |
- | 770 | lea ebx,[ebx *3] |
|
- | 771 | jmp .blr |
|
- | 772 | @@: |
|
- | 773 | ||
- | 774 | shr ecx,2 |
|
765 | lea ebx,[ebx*3] |
775 | shl ebx,2 |
766 | ; mov ecx,(SIZE_X*(SIZE_Y-3))*3/16 |
776 | ; mov ecx,(SIZE_X*(SIZE_Y-3))*3/16 |
767 | .blr: |
777 | .blr: |
768 | @@: |
778 | @@: |
769 | push ecx |
779 | push ecx |
770 | movups xmm0,[edi+ebx] |
780 | movups xmm0,[edi+ebx] |
771 | mov ecx,edi |
781 | mov ecx,edi |
772 | sub ecx,ebx |
782 | sub ecx,ebx |
- | 783 | movups xmm1,[ecx] |
|
- | 784 | cmp [dr_flag],12 |
|
773 | movups xmm1,[ecx] |
785 | je @f |
774 | movups xmm2,[edi-3] |
786 | movups xmm2,[edi-3] |
- | 787 | movups xmm3,[edi+3] |
|
- | 788 | jmp .f |
|
- | 789 | @@: |
|
- | 790 | movups xmm2,[edi-4] |
|
775 | movups xmm3,[edi+3] |
791 | movups xmm3,[edi+4] |
776 | 792 | .f: |
|
777 | pavgb xmm0,xmm1 |
793 | pavgb xmm0,xmm1 |
778 | pavgb xmm2,xmm3 |
794 | pavgb xmm2,xmm3 |
779 | pavgb xmm0,xmm2 |
- | |
780 | 795 | pavgb xmm0,xmm2 |
|
781 | psubusb xmm0,xmm5 ; importand if fire |
- | |
782 | 796 | psubusb xmm0,xmm5 ; importand if fire |
|
783 | movups [edi],xmm0 |
797 | movups [edi],xmm0 |
784 | add edi,16 |
798 | add edi,16 |
785 | add esi,16 |
799 | add esi,16 |
786 | pop ecx |
800 | pop ecx |
787 | loop .blr |
801 | loop .blr |
788 | end if |
802 | end if |
789 | xor eax,eax |
803 | xor eax,eax |
- | 804 | movzx ecx,word[size_x_var] |
|
- | 805 | cmp [dr_flag],12 |
|
790 | movzx ecx,word[size_x_var] |
806 | je @f |
791 | lea ecx,[ecx*3] |
807 | lea ecx,[ecx*3] |
- | 808 | shr ecx,2 |
|
792 | shr ecx,2 |
809 | @@: |
793 | ; mov ecx,SIZE_X*3/4 |
810 | ; mov ecx,SIZE_X*3/4 |
794 | rep stosd |
811 | rep stosd |
- | 812 | pop ecx |
|
795 | pop ecx |
813 | dec ecx |
796 | loop .again_blur |
814 | jnz .again_blur |
797 | mov esp,ebp |
815 | mov esp,ebp |
798 | pop ebp |
816 | pop ebp |
Line 799... | Line 817... | ||
799 | end if |
817 | end if |