Subversion Repositories Kolibri OS

Rev

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