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 |