Subversion Repositories Kolibri OS

Rev

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

Rev 2881 Rev 2984
Line 1557... Line 1557...
1557
 
1557
 
Line 1558... Line 1558...
1558
	push	dword .tx1	;         .ctx
1558
	push	dword .tx1	;         .ctx
1559
	push	dword .ty1	;         .cty
1559
	push	dword .ty1	;         .cty
1560
	push	edi	  ;         .c_scr
1560
	push	edi	  ;         .c_scr
1561
;if Ext = SSE2
1561
if Ext = SSE2
1562
;        mov    eax,TEXTURE_SIZE
1562
	mov    eax,TEXTURE_SIZE
1563
;        movd   xmm1,eax
1563
	movd   xmm1,eax
1564
;        shufps xmm1,xmm1,0
1564
	shufps xmm1,xmm1,0
1565
;        push   dword  TEX_X
1565
	push   dword  TEX_X
1566
;        push   dword  -TEX_X
1566
	push   dword  -TEX_X
1567
;        push   dword  1
1567
	push   dword  1
1568
;        push   dword  -1
1568
	push   dword  -1
1569
;        movups xmm2,[esp]
1569
	movups xmm2,[esp]
1570
;        movd   xmm3,.bmap
1570
	movd   xmm3,.bmap
1571
;        shufps xmm3,xmm3,0
1571
	shufps xmm3,xmm3,0
1572
;end if
1572
end if
Line 1573... Line 1573...
1573
 
1573
 
1574
if Ext>=MMX
1574
if Ext>=MMX
1575
	movq	mm7,.cty
1575
	movq	mm7,.cty
1576
	movq	mm6,.cby
1576
	movq	mm6,.cby
Line 1600... Line 1600...
1600
 
1600
 
Line 1601... Line 1601...
1601
	shl	eax,TEX_SHIFT
1601
	shl	eax,TEX_SHIFT
1602
	add	esi,eax 	;-  ; esi - current bump map index
1602
	add	esi,eax 	;-  ; esi - current bump map index
Line 1603... Line 1603...
1603
 
1603
 
1604
;if Ext = SSE2
1604
if Ext = SSE2
1605
;
1605
 
1606
;        movd    xmm0,esi
1606
	movd	xmm0,esi
1607
;        shufps  xmm0,xmm0,0
1607
	shufps	xmm0,xmm0,0
1608
;        paddd   xmm0,xmm2
1608
	paddd	xmm0,xmm2
1609
;        pand    xmm0,xmm1
1609
	pand	xmm0,xmm1
1610
;        paddd   xmm0,xmm3
1610
	paddd	xmm0,xmm3
1611
;
1611
 
1612
;        movd    ebx,xmm0
1612
	movd	ebx,xmm0
1613
;        movzx   eax,byte[ebx]
1613
	movzx	eax,byte[ebx]
1614
;
1614
;
-
 
1615
;        shufps  xmm0,xmm0,11100001b
1615
;        shufps  xmm0,xmm0,11100001b
1616
	psrldq	xmm0,4
1616
;        movd    ebx,xmm0
1617
	movd	ebx,xmm0
1617
;        movzx   ebx,byte[ebx]
1618
	movzx	ebx,byte[ebx]
1618
;        sub     eax,ebx
1619
	sub	eax,ebx
1619
;
1620
;
-
 
1621
;        shufps  xmm0,xmm0,11111110b
1620
;        shufps  xmm0,xmm0,11111110b
1622
	psrldq	xmm0,4
1621
;        movd    ebx,xmm0
1623
	movd	ebx,xmm0
1622
;        movzx   edx, byte [ebx]
1624
	movzx	edx, byte [ebx]
1623
;
1625
;
-
 
1626
;        shufps  xmm0,xmm0,11111111b
1624
;        shufps  xmm0,xmm0,11111111b
1627
	psrldq	xmm0,4
1625
;        movd    ebx,xmm0
1628
	movd	ebx,xmm0
1626
;        movzx   ebx, byte [ebx]
1629
	movzx	ebx, byte [ebx]
1627
;        sub     edx,ebx
1630
	sub	edx,ebx
1628
;
1631
;
1629
;else
1632
else
-
 
1633
;        mov     ebx,esi
1630
	mov	ebx,esi
1634
;        dec     ebx
1631
	dec	ebx
1635
	lea	ebx,[esi-1]
1632
	and	ebx,TEXTURE_SIZE
1636
	and	ebx,TEXTURE_SIZE
1633
	add	ebx,.bmap
1637
	add	ebx,.bmap
Line 1634... Line 1638...
1634
	movzx	eax,byte [ebx]
1638
	movzx	eax,byte [ebx]
-
 
1639
 
1635
 
1640
;        mov     ebx,esi
1636
	mov	ebx,esi
1641
;        inc     ebx
1637
	inc	ebx
1642
	lea	ebx,[esi+1]
1638
	and	ebx,TEXTURE_SIZE
1643
	and	ebx,TEXTURE_SIZE
1639
	add	ebx,.bmap
1644
	add	ebx,.bmap
Line 1640... Line 1645...
1640
	movzx	ebx,byte [ebx]
1645
	movzx	ebx,byte [ebx]
-
 
1646
	sub	eax,ebx
1641
	sub	eax,ebx
1647
 
1642
 
1648
;        mov     ebx,esi
1643
	mov	ebx,esi
1649
;        sub     ebx,TEX_X
1644
	sub	ebx,TEX_X
1650
	lea	ebx,[esi-TEX_X]
Line 1645... Line 1651...
1645
	and	ebx,TEXTURE_SIZE
1651
	and	ebx,TEXTURE_SIZE
-
 
1652
	add	ebx,.bmap
1646
	add	ebx,.bmap
1653
	movzx	edx,byte [ebx]
1647
	movzx	edx,byte [ebx]
1654
 
1648
 
1655
;        mov     ebx,esi
1649
	mov	ebx,esi
1656
;        add     ebx,TEX_X
1650
	add	ebx,TEX_X
1657
	lea	ebx,[esi+TEX_X]
1651
	and	ebx,TEXTURE_SIZE
1658
	and	ebx,TEXTURE_SIZE
Line 1652... Line 1659...
1652
	add	ebx,.bmap
1659
	add	ebx,.bmap
1653
	movzx	ebx,byte [ebx]
1660
	movzx	ebx,byte [ebx]
1654
	sub	edx,ebx
1661
	sub	edx,ebx
1655
;end if
1662
end if