Bug 622838: Use the right rect-rounding mode to avoid accidentally resampling resolution-scaled ThebesLayer textures. r=jrmuizel a=b

This commit is contained in:
Chris Jones 2011-01-08 00:05:35 -05:00
Родитель 96b6061fdb
Коммит 5288f48439
2 изменённых файлов: 8 добавлений и 3 удалений

Просмотреть файл

@ -468,8 +468,13 @@ nsACString&
ContainerLayer::PrintInfo(nsACString& aTo, const char* aPrefix)
{
Layer::PrintInfo(aTo, aPrefix);
return mFrameMetrics.IsDefault() ?
aTo : AppendToString(aTo, mFrameMetrics, " [metrics=", "]");
if (!mFrameMetrics.IsDefault()) {
AppendToString(aTo, mFrameMetrics, " [metrics=", "]");
}
if (UseIntermediateSurface()) {
aTo += " [usesTmpSurf]";
}
return aTo;
}
nsACString&

Просмотреть файл

@ -215,7 +215,7 @@ ThebesLayerBufferOGL::RenderTo(const nsIntPoint& aOffset,
// the texture size and let GL do the rest.
gfxRect sqr(quadRect.x, quadRect.y, quadRect.width, quadRect.height);
sqr.Scale(xres, yres);
sqr.RoundOut();
sqr.Round();
nsIntRect scaledQuadRect(sqr.pos.x, sqr.pos.y, sqr.size.width, sqr.size.height);
BindAndDrawQuadWithTextureRect(gl(), program, scaledQuadRect,