Subversion Repositories Kolibri OS

Rev

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

Rev 1979 Rev 2192
Line 79... Line 79...
79
.cz1   equ	[ebp-100]
79
.cz1   equ	[ebp-100]
80
.cx2   equ dword[ebp-104]
80
.cx2   equ dword[ebp-104]
81
.cz2   equ	[ebp-108]
81
.cz2   equ	[ebp-108]
82
.cbx1  equ dword[ebp-112]
82
.cbx1  equ dword[ebp-112]
83
.cby1  equ	[ebp-116]
83
.cby1  equ	[ebp-116]
84
.cbx2  equ dword[ebp-120]
84
.cex1  equ dword[ebp-120]
85
.cby2  equ	[ebp-124]
85
.cey1  equ	[ebp-124]
86
.cex1  equ dword[ebp-128]
86
.cbx2  equ dword[ebp-128]
87
.cey1  equ	[ebp-132]
87
.cby2  equ	[ebp-132]
88
.cex2  equ dword[ebp-136]
88
.cex2  equ dword[ebp-136]
89
.cey2  equ	[ebp-140]
89
.cey2  equ	[ebp-140]
Line 90... Line 90...
90
 
90
 
91
       mov     ebp,esp
91
       mov     ebp,esp
Line 531... Line 531...
531
       movsx	ecx,.y1
531
       movsx	ecx,.y1
532
       cmp	cx,.y2
532
       cmp	cx,.y2
533
       jge	.loop12_done
533
       jge	.loop12_done
534
  .loop12:
534
  .loop12:
535
       call	.call_bump_line
535
       call	.call_bump_line
-
 
536
if Ext >= SSE2
-
 
537
       movups	xmm0,.cey2
-
 
538
       movups	xmm1,.cey1
-
 
539
       movups	xmm2,.dey12
-
 
540
       movups	xmm3,.dey13
-
 
541
       paddd	xmm0,xmm2
-
 
542
       paddd	xmm1,xmm3
-
 
543
       movups	.cey2,xmm0
-
 
544
       movups	.cey1,xmm1
-
 
545
       movq	mm4,.cz1
-
 
546
       movq	mm5,.cz2
-
 
547
       paddd	mm4,.dz13
-
 
548
       paddd	mm5,.dz12
-
 
549
       movq	.cz1,mm4
-
 
550
       movq	.cz2,mm5
-
 
551
end if
Line -... Line 552...
-
 
552
 
536
 
553
 
537
if Ext >= MMX
554
if (Ext = MMX) | (Ext = SSE)
538
       movq	mm0,.cby2
555
       movq	mm0,.cby2
539
       movq	mm1,.cby1
556
       movq	mm1,.cby1
540
       movq	mm2,.cey2
557
       movq	mm2,.cey2
541
       movq	mm3,.cey1
558
       movq	mm3,.cey1
Line 551... Line 568...
551
       movq	.cby1,mm1
568
       movq	.cby1,mm1
552
       movq	.cey1,mm3
569
       movq	.cey1,mm3
553
       movq	.cey2,mm2
570
       movq	.cey2,mm2
554
       movq	.cz1,mm4
571
       movq	.cz1,mm4
555
       movq	.cz2,mm5
572
       movq	.cz2,mm5
556
else
573
else if Ext = NON
557
       mov	edx,.dbx13
574
       mov	edx,.dbx13
558
       add	.cbx1,edx
575
       add	.cbx1,edx
559
       mov	eax,.dbx12
576
       mov	eax,.dbx12
560
       add	.cbx2,eax
577
       add	.cbx2,eax
561
       mov	ebx,.dby13
578
       mov	ebx,.dby13
Line 615... Line 632...
615
       shl	eax,ROUND
632
       shl	eax,ROUND
616
       mov	.cey2,eax
633
       mov	.cey2,eax
Line 617... Line 634...
617
 
634
 
618
     .loop23:
635
     .loop23:
619
       call	.call_bump_line
-
 
620
 
636
       call	.call_bump_line
-
 
637
if Ext >=  SSE2
-
 
638
       movups	xmm0,.cey2
-
 
639
       movups	xmm1,.cey1
-
 
640
       movups	xmm2,.dey23
-
 
641
       movups	xmm3,.dey13
-
 
642
       paddd	xmm0,xmm2
-
 
643
       paddd	xmm1,xmm3
-
 
644
       movups	.cey2,xmm0
-
 
645
       movups	.cey1,xmm1
-
 
646
       movq	mm4,.cz1
-
 
647
       movq	mm5,.cz2
-
 
648
       paddd	mm4,.dz13
-
 
649
       paddd	mm5,.dz23
-
 
650
       movq	.cz1,mm4
-
 
651
       movq	.cz2,mm5
-
 
652
end if
621
if Ext >= MMX
653
if (Ext = MMX) | (Ext = SSE)
622
       movq	mm0,.cby2
654
       movq	mm0,.cby2
623
       movq	mm1,.cby1
655
       movq	mm1,.cby1
624
       movq	mm2,.cey2
656
       movq	mm2,.cey2
625
       movq	mm3,.cey1
657
       movq	mm3,.cey1
Line 635... Line 667...
635
       movq	.cby1,mm1
667
       movq	.cby1,mm1
636
       movq	.cey1,mm3
668
       movq	.cey1,mm3
637
       movq	.cey2,mm2
669
       movq	.cey2,mm2
638
       movq	.cz1,mm4
670
       movq	.cz1,mm4
639
       movq	.cz2,mm5
671
       movq	.cz2,mm5
640
else
672
else if Ext = NON
641
       mov	eax,.dx13
673
       mov	eax,.dx13
642
       add	.cx1,eax
674
       add	.cx1,eax
643
       mov	ebx,.dx23
675
       mov	ebx,.dx23
644
       add	.cx2,ebx
676
       add	.cx2,ebx