| Index: Source/core/platform/graphics/chromium/Canvas2DLayerBridge.cpp
|
| diff --git a/Source/core/platform/graphics/chromium/Canvas2DLayerBridge.cpp b/Source/core/platform/graphics/chromium/Canvas2DLayerBridge.cpp
|
| index 1532d4f9b687e8b48257598849037d27c829ba74..a388ac3786c685e689863f35c2478dc1dee52b3f 100644
|
| --- a/Source/core/platform/graphics/chromium/Canvas2DLayerBridge.cpp
|
| +++ b/Source/core/platform/graphics/chromium/Canvas2DLayerBridge.cpp
|
| @@ -59,7 +59,7 @@ Canvas2DLayerBridgePtr& Canvas2DLayerBridgePtr::operator=(const PassRefPtr<Canva
|
| return *this;
|
| }
|
|
|
| -static SkSurface* createSurface(GraphicsContext3D* context3D, const IntSize& size)
|
| +static SkSurface* createSurface(GraphicsContext3D* context3D, const IntSize& size, int msaaSampleCount)
|
| {
|
| ASSERT(!context3D->webContext()->isContextLost());
|
| GrContext* gr = context3D->grContext();
|
| @@ -71,24 +71,25 @@ static SkSurface* createSurface(GraphicsContext3D* context3D, const IntSize& siz
|
| info.fHeight = size.height();
|
| info.fColorType = SkImage::kPMColor_ColorType;
|
| info.fAlphaType = kPremul_SkAlphaType;
|
| - return SkSurface::NewRenderTarget(gr, info);
|
| + return SkSurface::NewRenderTarget(gr, info, msaaSampleCount);
|
| }
|
|
|
| -PassRefPtr<Canvas2DLayerBridge> Canvas2DLayerBridge::create(PassRefPtr<GraphicsContext3D> context, const IntSize& size, OpacityMode opacityMode)
|
| +PassRefPtr<Canvas2DLayerBridge> Canvas2DLayerBridge::create(PassRefPtr<GraphicsContext3D> context, const IntSize& size, OpacityMode opacityMode, int msaaSampleCount)
|
| {
|
| TRACE_EVENT_INSTANT0("test_gpu", "Canvas2DLayerBridgeCreation");
|
| - SkAutoTUnref<SkSurface> surface(createSurface(context.get(), size));
|
| + SkAutoTUnref<SkSurface> surface(createSurface(context.get(), size, msaaSampleCount));
|
| if (!surface.get()) {
|
| return PassRefPtr<Canvas2DLayerBridge>();
|
| }
|
| RefPtr<SkDeferredCanvas> canvas = adoptRef(SkDeferredCanvas::Create(surface.get()));
|
| - RefPtr<Canvas2DLayerBridge> layerBridge = adoptRef(new Canvas2DLayerBridge(context, canvas.release(), opacityMode));
|
| + RefPtr<Canvas2DLayerBridge> layerBridge = adoptRef(new Canvas2DLayerBridge(context, canvas.release(), msaaSampleCount, opacityMode));
|
| return layerBridge.release();
|
| }
|
|
|
| -Canvas2DLayerBridge::Canvas2DLayerBridge(PassRefPtr<GraphicsContext3D> context, PassRefPtr<SkDeferredCanvas> canvas, OpacityMode opacityMode)
|
| +Canvas2DLayerBridge::Canvas2DLayerBridge(PassRefPtr<GraphicsContext3D> context, PassRefPtr<SkDeferredCanvas> canvas, int msaaSampleCount, OpacityMode opacityMode)
|
| : m_canvas(canvas)
|
| , m_context(context)
|
| + , m_msaaSampleCount(msaaSampleCount)
|
| , m_bytesAllocated(0)
|
| , m_didRecordDrawCommand(false)
|
| , m_surfaceIsValid(true)
|
| @@ -257,7 +258,7 @@ bool Canvas2DLayerBridge::isValid()
|
| } else {
|
| m_context = sharedContext;
|
| IntSize size(m_canvas->getTopDevice()->width(), m_canvas->getTopDevice()->height());
|
| - SkAutoTUnref<SkSurface> surface(createSurface(m_context.get(), size));
|
| + SkAutoTUnref<SkSurface> surface(createSurface(m_context.get(), size, m_msaaSampleCount));
|
| if (surface.get()) {
|
| m_canvas->setSurface(surface.get());
|
| m_surfaceIsValid = true;
|
|
|