зеркало из https://github.com/mozilla/gecko-dev.git
Backed out changeset ad64ffa1c7f6 (bug 1678938) for causing reftest failures. CLOSED TREE
This commit is contained in:
Родитель
aa31799d78
Коммит
d34a3b49c3
|
@ -1,9 +0,0 @@
|
||||||
<style>
|
|
||||||
:first-of-type {
|
|
||||||
filter: saturate(70%);
|
|
||||||
transform: skew(-224.96198773774648grad) matrix3d(79.00629819492802, -0.0, 43.223526565331326, -294.8479790240964, 269.7, 243.87676190037186, 238.83225166324632, 42.507227157006135, 634943.1, 208.66200905121616, 46.19831959954935, -285.43139932334543, -229.39776691490985, -126.46021751791264, 116.46, 137.77);
|
|
||||||
border-block-end-style: double;
|
|
||||||
</style>
|
|
||||||
<dl>
|
|
||||||
<header>
|
|
||||||
</html>
|
|
|
@ -198,6 +198,4 @@ load 1650989-very-large-mask.html
|
||||||
load 1650990.html
|
load 1650990.html
|
||||||
skip-if(!webrender||AddressSanitizer) load 1652750-deep-scene-stack.html
|
skip-if(!webrender||AddressSanitizer) load 1652750-deep-scene-stack.html
|
||||||
load 1651882.html
|
load 1651882.html
|
||||||
load 1678938-1.html
|
|
||||||
load 1679477-1.html
|
load 1679477-1.html
|
||||||
|
|
||||||
|
|
|
@ -3748,13 +3748,7 @@ static int clip_side(int nump, Point3D* p, Interpolants* interp, Point3D* outP,
|
||||||
assert(numClip < nump + 2);
|
assert(numClip < nump + 2);
|
||||||
float prevDist = prevCoord - prevSide * prev.w;
|
float prevDist = prevCoord - prevSide * prev.w;
|
||||||
float curDist = curCoord - prevSide * cur.w;
|
float curDist = curCoord - prevSide * cur.w;
|
||||||
// It may happen that after we interpolate by the weight k that due to
|
float k = prevDist / (prevDist - curDist);
|
||||||
// floating point rounding we've underestimated the value necessary to
|
|
||||||
// push it over the clipping boundary. Just in case, nudge the mantissa
|
|
||||||
// by a single increment so that we essentially round it up and move it
|
|
||||||
// further inside the clipping boundary. We use nextafter to do this in
|
|
||||||
// a portable fashion.
|
|
||||||
float k = nextafterf(prevDist / (prevDist - curDist), 1.0f);
|
|
||||||
outP[numClip] = prev + (cur - prev) * k;
|
outP[numClip] = prev + (cur - prev) * k;
|
||||||
outInterp[numClip] = prevInterp + (curInterp - prevInterp) * k;
|
outInterp[numClip] = prevInterp + (curInterp - prevInterp) * k;
|
||||||
numClip++;
|
numClip++;
|
||||||
|
@ -3766,9 +3760,7 @@ static int clip_side(int nump, Point3D* p, Interpolants* interp, Point3D* outP,
|
||||||
assert(numClip < nump + 2);
|
assert(numClip < nump + 2);
|
||||||
float prevDist = prevCoord - curSide * prev.w;
|
float prevDist = prevCoord - curSide * prev.w;
|
||||||
float curDist = curCoord - curSide * cur.w;
|
float curDist = curCoord - curSide * cur.w;
|
||||||
// Calculate interpolation weight k and the nudge it inside clipping
|
float k = prevDist / (prevDist - curDist);
|
||||||
// boundary with nextafter.
|
|
||||||
float k = nextafterf(prevDist / (prevDist - curDist), 1.0f);
|
|
||||||
outP[numClip] = prev + (cur - prev) * k;
|
outP[numClip] = prev + (cur - prev) * k;
|
||||||
outInterp[numClip] = prevInterp + (curInterp - prevInterp) * k;
|
outInterp[numClip] = prevInterp + (curInterp - prevInterp) * k;
|
||||||
numClip++;
|
numClip++;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче