Rev 1819 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1819 | Rev 1979 | ||
---|---|---|---|
Line 1591... | Line 1591... | ||
1591 | 1591 | ||
Line 1592... | Line 1592... | ||
1592 | push dword .tx1 ; .ctx |
1592 | push dword .tx1 ; .ctx |
1593 | push dword .ty1 ; .cty |
1593 | push dword .ty1 ; .cty |
1594 | push edi ; .c_scr |
1594 | push edi ; .c_scr |
- | 1595 | ;if Ext = SSE2 |
|
- | 1596 | ; mov eax,TEXTURE_SIZE |
|
- | 1597 | ; movd xmm1,eax |
|
- | 1598 | ; shufps xmm1,xmm1,0 |
|
- | 1599 | ; push dword TEX_X |
|
- | 1600 | ; push dword -TEX_X |
|
- | 1601 | ; push dword 1 |
|
- | 1602 | ; push dword -1 |
|
- | 1603 | ; movups xmm2,[esp] |
|
- | 1604 | ; movd xmm3,.bmap |
|
- | 1605 | ; shufps xmm3,xmm3,0 |
|
- | 1606 | ;end if |
|
- | 1607 | ||
1595 | if Ext>=MMX |
1608 | if Ext>=MMX |
1596 | movq mm7,.cty |
1609 | movq mm7,.cty |
1597 | movq mm6,.cby |
1610 | movq mm6,.cby |
1598 | movq mm5,.cey |
1611 | movq mm5,.cey |
1599 | ; movq mm4,.dtyq |
1612 | ; movq mm4,.dtyq |
Line 1618... | Line 1631... | ||
1618 | psrlq mm1,32 |
1631 | psrlq mm1,32 |
1619 | movd esi,mm1 |
1632 | movd esi,mm1 |
1620 | end if |
1633 | end if |
1621 | 1634 | ||
Line 1622... | Line -... | ||
1622 | - | ||
1623 | shl eax,TEX_SHIFT |
1635 | shl eax,TEX_SHIFT |
1624 | add esi,eax ;- ; esi - current bump map index |
1636 | add esi,eax ;- ; esi - current bump map index |
Line -... | Line 1637... | ||
- | 1637 | ||
- | 1638 | ;if Ext = SSE2 |
|
- | 1639 | ; |
|
- | 1640 | ; movd xmm0,esi |
|
- | 1641 | ; shufps xmm0,xmm0,0 |
|
- | 1642 | ; paddd xmm0,xmm2 |
|
- | 1643 | ; pand xmm0,xmm1 |
|
- | 1644 | ; paddd xmm0,xmm3 |
|
- | 1645 | ; |
|
- | 1646 | ; movd ebx,xmm0 |
|
- | 1647 | ; movzx eax,byte[ebx] |
|
- | 1648 | ; |
|
- | 1649 | ; shufps xmm0,xmm0,11100001b |
|
- | 1650 | ; movd ebx,xmm0 |
|
- | 1651 | ; movzx ebx,byte[ebx] |
|
- | 1652 | ; sub eax,ebx |
|
- | 1653 | ; |
|
- | 1654 | ; shufps xmm0,xmm0,11111110b |
|
- | 1655 | ; movd ebx,xmm0 |
|
- | 1656 | ; movzx edx, byte [ebx] |
|
- | 1657 | ; |
|
- | 1658 | ; shufps xmm0,xmm0,11111111b |
|
- | 1659 | ; movd ebx,xmm0 |
|
- | 1660 | ; movzx ebx, byte [ebx] |
|
- | 1661 | ; sub edx,ebx |
|
- | 1662 | ; |
|
1625 | 1663 | ;else |
|
1626 | mov ebx,esi |
1664 | mov ebx,esi |
1627 | dec ebx |
1665 | dec ebx |
1628 | and ebx,TEXTURE_SIZE |
1666 | and ebx,TEXTURE_SIZE |
1629 | add ebx,.bmap |
1667 | add ebx,.bmap |
Line 1647... | Line 1685... | ||
1647 | and ebx,TEXTURE_SIZE |
1685 | and ebx,TEXTURE_SIZE |
1648 | add ebx,.bmap |
1686 | add ebx,.bmap |
1649 | movzx ebx,byte [ebx] |
1687 | movzx ebx,byte [ebx] |
1650 | sub edx,ebx |
1688 | sub edx,ebx |
1651 | 1689 | ;end if |
|
1652 | 1690 | ||
Line 1653... | Line 1691... | ||
1653 | ; eax - horizontal sub modificated x coord |
1691 | ; eax - horizontal sub modificated x coord |
1654 | ; edx - vertical sub modificated y coord |
1692 | ; edx - vertical sub modificated y coord |
1655 | if Ext=NON |
1693 | if Ext=NON |
1656 | mov ebx,.cex ;.cex - current env map X |
1694 | mov ebx,.cex ;.cex - current env map X |