Rev 8666 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8666 | Rev 8719 | ||
---|---|---|---|
Line 627... | Line 74... | ||
627 | ret |
74 | ret |
628 | .mask: |
- | |
629 | dq 0xffffffff00ffffff |
- | |
630 | dq 0xffffffffffffffff |
- | |
631 | - | ||
632 | - | ||
633 | - | ||
634 | - | ||
635 | - | ||
636 | - | ||
637 | - | ||
638 | - | ||
639 | - | ||
640 | - | ||
641 | - | ||
642 | - | ||
Line -... | Line 75... | ||
- | 75 | ||
- | 76 | horizontal_grd: ; eax=x1 ebx=y1 ecx=x2 |
|
- | 77 | cmp ecx,eax |
|
- | 78 | jg .m |
|
- | 79 | xchg ecx,eax |
|
- | 80 | .m: |
|
- | 81 | sub ecx,eax |
|
- | 82 | jnz .nn |
|
- | 83 | add ecx,1 |
|
- | 84 | .nn: |
|
- | 85 | movd edx,mm2 |
|
- | 86 | imul ebx,edx |
|
- | 87 | add eax,ebx |
|
- | 88 | movd edi,mm1 |
|
- | 89 | lea edi,[edi+eax*4] |
|
- | 90 | push eax |
|
- | 91 | push ebx |
|
- | 92 | movd ebx,mm0 |
|
- | 93 | lea ebx,[ebx+eax*4] |
|
- | 94 | .l: |
|
- | 95 | ; movss xmm4,xmm2 ; xmm2 - cur z |
|
- | 96 | ; cmpnltss xmm4,[ebx] |
|
- | 97 | ; movd eax,xmm4 |
|
- | 98 | ; or eax,eax |
|
- | 99 | ; jnz @f |
|
- | 100 | comiss xmm2,[ebx] |
|
- | 101 | jng @f |
|
- | 102 | movaps xmm4,xmm0 ; xmm0 - cur col |
|
- | 103 | cvtps2dq xmm4,xmm4 |
|
- | 104 | packssdw xmm4,xmm4 |
|
- | 105 | packuswb xmm4,xmm4 |
|
- | 106 | movd [edi],xmm4 |
|
- | 107 | @@: |
|
- | 108 | addss xmm2,xmm6 |
|
- | 109 | addps xmm0,xmm5 |
|
- | 110 | add edi,4 |
|
- | 111 | sub ecx,1 |
|
- | 112 | jnz .l |
|
- | 113 | pop ebx |
|
- | 114 | pop eax |