Subversion Repositories Kolibri OS

Rev

Rev 1776 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1776 Rev 2192
Line 484... Line 484...
484
      ; pop      ebp ebx eax
484
      ; pop      ebp ebx eax
Line 485... Line 485...
485
       popad
485
       popad
486
 
486
 
Line 487... Line 487...
487
if Ext >= MMX
487
if (Ext = MMX)|(Ext=SSE)
488
       movq	mm0,.cur1b
488
       movq	mm0,.cur1b
489
       movq	mm1,.cur1r
489
       movq	mm1,.cur1r
490
       movq	mm2,.scan_y1
490
       movq	mm2,.scan_y1
491
       movq	mm3,.cur2b
491
       movq	mm3,.cur2b
492
       movq	mm4,.cur2r
492
       movq	mm4,.cur2r
Line 503... Line 503...
503
       movq	.cur2b,mm3
503
       movq	.cur2b,mm3
504
       movq	.cur2r,mm4
504
       movq	.cur2r,mm4
505
       movq	.scan_y2,mm5
505
       movq	.scan_y2,mm5
506
else
506
end if
507
       mov	edx,.dc13b
507
if Ext >= SSE2
508
       add	.cur1b,edx
508
       movups	xmm0,.cur1b
-
 
509
       movups	xmm1,.dc13b
-
 
510
       movups	xmm2,.cur2b
-
 
511
       movups	xmm3,.dc12b
-
 
512
       movq	mm2,.scan_y1
-
 
513
       movq	mm5,.scan_y2
-
 
514
       paddd	xmm0,xmm1
-
 
515
       paddd	xmm2,xmm3
-
 
516
       paddd	mm2,.tex_dy13
-
 
517
       paddd	mm5,.tex_dy12
-
 
518
       movq	.scan_y1,mm2
-
 
519
       movq	.scan_y2,mm5
-
 
520
       movups	.cur1b,xmm0
-
 
521
       movups	.cur2b,xmm2
-
 
522
end if
-
 
523
 
-
 
524
if Ext = NON
-
 
525
       mov	edx,.dc13b
-
 
526
       add	.cur1b,edx
509
       mov	esi,.dc13g
527
       mov	esi,.dc13g
510
       add	.cur1g,esi
528
       add	.cur1g,esi
511
       mov	edi,.dc13r
529
       mov	edi,.dc13r
512
       add	.cur1r,edi
530
       add	.cur1r,edi
513
       mov	edx,.dz13
531
       mov	edx,.dz13
Line 600... Line 618...
600
 
618
 
601
       popad
619
       popad
Line 602... Line 620...
602
 
620
 
Line 603... Line 621...
603
if Ext >= MMX
621
if (Ext = MMX)|(Ext=SSE)
604
       movq	mm0,.cur1b
622
       movq	mm0,.cur1b
605
       movq	mm1,.cur1r
623
       movq	mm1,.cur1r
606
       movq	mm2,.scan_y1
624
       movq	mm2,.scan_y1
607
       movq	mm3,.cur2b
625
       movq	mm3,.cur2b
608
       movq	mm4,.cur2r
626
       movq	mm4,.cur2r
Line 619... Line 637...
619
       movq	.cur2b,mm3
637
       movq	.cur2b,mm3
620
       movq	.cur2r,mm4
638
       movq	.cur2r,mm4
621
       movq	.scan_y2,mm5
639
       movq	.scan_y2,mm5
622
else
640
end if
623
       mov	edx,.dc13b
641
if Ext >= SSE2
624
       add	.cur1b,edx
642
       movups	xmm0,.cur1b
-
 
643
       movups	xmm1,.dc13b
-
 
644
       movups	xmm2,.cur2b
-
 
645
       movups	xmm3,.dc23b
-
 
646
       movq	mm2,.scan_y1
-
 
647
       movq	mm5,.scan_y2
-
 
648
       paddd	xmm0,xmm1
-
 
649
       paddd	xmm2,xmm3
-
 
650
       paddd	mm2,.tex_dy13
-
 
651
       paddd	mm5,.tex_dy23
-
 
652
       movq	.scan_y1,mm2
-
 
653
       movq	.scan_y2,mm5
-
 
654
       movups	.cur1b,xmm0
-
 
655
       movups	.cur2b,xmm2
-
 
656
end if
-
 
657
if Ext = NON
-
 
658
       mov	edx,.dc13b
-
 
659
       add	.cur1b,edx
625
       mov	esi,.dc13g
660
       mov	esi,.dc13g
626
       add	.cur1g,esi
661
       add	.cur1g,esi
627
       mov	edi,.dc13r
662
       mov	edi,.dc13r
628
       add	.cur1r,edi
663
       add	.cur1r,edi
629
       mov	edx,.tex_dx13
664
       mov	edx,.tex_dx13
Line 738... Line 773...
738
	mov	ecx,dword .z1
773
	mov	ecx,dword .z1
Line 739... Line 774...
739
	xchg	ecx, .z2
774
	xchg	ecx, .z2
740
	mov	dword .z1, ecx
775
	mov	dword .z1, ecx
741
 
776
end if
742
else
-
 
743
	movq	mm0,.b1        ; b, g
777
if (Ext=MMX)
-
 
778
	movq	mm0,.b1        ; b, g
744
	movq	mm1,.b2
779
	movq	mm1,.b2
745
	movq	.b1, mm1
780
	movq	.b1, mm1
746
	movq	.b2, mm0
781
	movq	.b2, mm0
747
	movq	mm2,.r1        ; r, y
782
	movq	mm2,.r1        ; r, y
748
	movq	mm3,.r2
783
	movq	mm3,.r2
Line 754... Line 789...
754
	movq	.tex_x2,mm4
789
	movq	.tex_x2,mm4
755
 
790
 
756
end if
791
end if
Line 757... Line 792...
757
 
792
if Ext>=SSE
-
 
793
       movups  xmm0,.b1
-
 
794
       movups  xmm1,.b2
-
 
795
       movups  .b1,xmm1
-
 
796
       movups  .b2,xmm0
-
 
797
       movq    mm4,.tex_x1    ; x, z
-
 
798
       movq    mm5,.tex_x2
-
 
799
       movq    .tex_x1,mm5
-
 
800
       movq    .tex_x2,mm4
-
 
801
end if
-
 
802
 
Line 758... Line 803...
758
    @@:
803
    @@:
759
	or	bx,bx
804
	or	bx,bx
760
	jle	.quit_l
805
	jle	.quit_l
761
	cmp	ax,SIZE_X
806
	cmp	ax,SIZE_X