Changeset 84374 in webkit
- Timestamp:
- Apr 20, 2011 7:54:25 AM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 7 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r84373 r84374 1 2011-04-19 Stephen White <senorblanco@chromium.org> 2 3 Reviewed by Kenneth Russell. 4 5 Move and rename GLES2Canvas. 6 https://bugs.webkit.org/show_bug.cgi?id=58927 7 8 Move GLES2Canvas to platform/graphcs/gpu, where all the other 9 gpu-related files live, and rename it to GraphicsContextGPU to better 10 reflect its purpose. 11 12 Covered by existing tests. 13 14 * WebCore.gypi: 15 * platform/graphics/chromium/GLES2Canvas.cpp: 16 * platform/graphics/chromium/GLES2Canvas.h: 17 * platform/graphics/skia/GraphicsContextSkia.cpp: 18 (WebCore::GraphicsContext::fillPath): 19 (WebCore::GraphicsContext::setPlatformShadow): 20 * platform/graphics/skia/ImageBufferSkia.cpp: 21 * platform/graphics/skia/ImageSkia.cpp: 22 (WebCore::drawBitmapGLES2): 23 * platform/graphics/skia/PlatformContextSkia.cpp: 24 (WebCore::PlatformContextSkia::setSharedGraphicsContext3D): 25 * platform/graphics/skia/PlatformContextSkia.h: 26 (WebCore::PlatformContextSkia::gpuCanvas): 27 1 28 2011-04-20 Benjamin Poulain <benjamin.poulain@nokia.com> 2 29 -
trunk/Source/WebCore/WebCore.gypi
r84228 r84374 4012 4012 'platform/graphics/chromium/FontUtilsChromiumWin.cpp', 4013 4013 'platform/graphics/chromium/FontUtilsChromiumWin.h', 4014 'platform/graphics/chromium/GLES2Canvas.cpp',4015 'platform/graphics/chromium/GLES2Canvas.h',4016 4014 'platform/graphics/chromium/GeometryBinding.cpp', 4017 4015 'platform/graphics/chromium/GeometryBinding.h', … … 4151 4149 'platform/graphics/gpu/DrawingBuffer.cpp', 4152 4150 'platform/graphics/gpu/DrawingBuffer.h', 4151 'platform/graphics/gpu/GraphicsContextGPU.cpp', 4152 'platform/graphics/gpu/GraphicsContextGPU.h', 4153 4153 'platform/graphics/gpu/LoopBlinnClassifier.cpp', 4154 4154 'platform/graphics/gpu/LoopBlinnClassifier.h', -
trunk/Source/WebCore/platform/graphics/gpu/GraphicsContextGPU.cpp
r84291 r84374 31 31 #include "config.h" 32 32 33 #include "G LES2Canvas.h"33 #include "GraphicsContextGPU.h" 34 34 35 35 #include "DrawingBuffer.h" … … 74 74 }; 75 75 76 struct G LES2Canvas::State {76 struct GraphicsContextGPU::State { 77 77 State() 78 78 : m_fillColor(0, 0, 0, 255) … … 195 195 }; 196 196 197 G LES2Canvas::GLES2Canvas(SharedGraphicsContext3D* context, DrawingBuffer* drawingBuffer, const IntSize& size)197 GraphicsContextGPU::GraphicsContextGPU(SharedGraphicsContext3D* context, DrawingBuffer* drawingBuffer, const IntSize& size) 198 198 : m_size(size) 199 199 , m_context(context) … … 210 210 } 211 211 212 G LES2Canvas::~GLES2Canvas()212 GraphicsContextGPU::~GraphicsContextGPU() 213 213 { 214 214 if (m_pathIndexBuffer) … … 218 218 } 219 219 220 void G LES2Canvas::bindFramebuffer()220 void GraphicsContextGPU::bindFramebuffer() 221 221 { 222 222 m_drawingBuffer->bind(); 223 223 } 224 224 225 void G LES2Canvas::clearRect(const FloatRect& rect)225 void GraphicsContextGPU::clearRect(const FloatRect& rect) 226 226 { 227 227 bindFramebuffer(); … … 236 236 } 237 237 238 void G LES2Canvas::applyState()238 void GraphicsContextGPU::applyState() 239 239 { 240 240 bindFramebuffer(); … … 243 243 } 244 244 245 void G LES2Canvas::scissorClear(float x, float y, float width, float height)245 void GraphicsContextGPU::scissorClear(float x, float y, float width, float height) 246 246 { 247 247 int intX = static_cast<int>(x + 0.5f); … … 256 256 } 257 257 258 void G LES2Canvas::fillPath(const Path& path)258 void GraphicsContextGPU::fillPath(const Path& path) 259 259 { 260 260 if (m_state->shadowActive()) { … … 268 268 } 269 269 270 void G LES2Canvas::fillRect(const FloatRect& rect, const Color& color, ColorSpace colorSpace)270 void GraphicsContextGPU::fillRect(const FloatRect& rect, const Color& color, ColorSpace colorSpace) 271 271 { 272 272 if (m_state->shadowActive()) { … … 280 280 } 281 281 282 void G LES2Canvas::fillRect(const FloatRect& rect)282 void GraphicsContextGPU::fillRect(const FloatRect& rect) 283 283 { 284 284 fillRect(rect, m_state->applyAlpha(m_state->m_fillColor), ColorSpaceDeviceRGB); 285 285 } 286 286 287 void G LES2Canvas::fillRectInternal(const FloatRect& rect, const Color& color)287 void GraphicsContextGPU::fillRectInternal(const FloatRect& rect, const Color& color) 288 288 { 289 289 AffineTransform matrix(m_flipMatrix); … … 297 297 } 298 298 299 void G LES2Canvas::setFillColor(const Color& color, ColorSpace colorSpace)299 void GraphicsContextGPU::setFillColor(const Color& color, ColorSpace colorSpace) 300 300 { 301 301 m_state->m_fillColor = color; 302 302 } 303 303 304 void G LES2Canvas::setAlpha(float alpha)304 void GraphicsContextGPU::setAlpha(float alpha) 305 305 { 306 306 m_state->m_alpha = alpha; 307 307 } 308 308 309 void G LES2Canvas::setShadowColor(const Color& color, ColorSpace)309 void GraphicsContextGPU::setShadowColor(const Color& color, ColorSpace) 310 310 { 311 311 m_state->m_shadowColor = color; 312 312 } 313 313 314 void G LES2Canvas::setShadowOffset(const FloatSize& offset)314 void GraphicsContextGPU::setShadowOffset(const FloatSize& offset) 315 315 { 316 316 m_state->m_shadowOffset = offset; 317 317 } 318 318 319 void G LES2Canvas::setShadowBlur(float shadowBlur)319 void GraphicsContextGPU::setShadowBlur(float shadowBlur) 320 320 { 321 321 m_state->m_shadowBlur = shadowBlur; 322 322 } 323 323 324 void G LES2Canvas::setShadowsIgnoreTransforms(bool shadowsIgnoreTransforms)324 void GraphicsContextGPU::setShadowsIgnoreTransforms(bool shadowsIgnoreTransforms) 325 325 { 326 326 m_state->m_shadowsIgnoreTransforms = shadowsIgnoreTransforms; 327 327 } 328 328 329 void G LES2Canvas::translate(float x, float y)329 void GraphicsContextGPU::translate(float x, float y) 330 330 { 331 331 m_state->m_ctm.translate(x, y); 332 332 } 333 333 334 void G LES2Canvas::rotate(float angleInRadians)334 void GraphicsContextGPU::rotate(float angleInRadians) 335 335 { 336 336 m_state->m_ctm.rotate(angleInRadians * (180.0f / M_PI)); 337 337 } 338 338 339 void G LES2Canvas::scale(const FloatSize& size)339 void GraphicsContextGPU::scale(const FloatSize& size) 340 340 { 341 341 m_state->m_ctm.scale(size.width(), size.height()); 342 342 } 343 343 344 void G LES2Canvas::concatCTM(const AffineTransform& affine)344 void GraphicsContextGPU::concatCTM(const AffineTransform& affine) 345 345 { 346 346 m_state->m_ctm *= affine; 347 347 } 348 348 349 void G LES2Canvas::setCTM(const AffineTransform& affine)349 void GraphicsContextGPU::setCTM(const AffineTransform& affine) 350 350 { 351 351 m_state->m_ctm = affine; 352 352 } 353 353 354 void G LES2Canvas::clipPath(const Path& path)354 void GraphicsContextGPU::clipPath(const Path& path) 355 355 { 356 356 bindFramebuffer(); … … 364 364 } 365 365 366 void G LES2Canvas::clipOut(const Path& path)367 { 368 ASSERT(!"clipOut is unsupported in G LES2Canvas.\n");369 } 370 371 void G LES2Canvas::save()366 void GraphicsContextGPU::clipOut(const Path& path) 367 { 368 ASSERT(!"clipOut is unsupported in GraphicsContextGPU.\n"); 369 } 370 371 void GraphicsContextGPU::save() 372 372 { 373 373 m_stateStack.append(State(m_stateStack.last())); … … 375 375 } 376 376 377 void G LES2Canvas::restore()377 void GraphicsContextGPU::restore() 378 378 { 379 379 ASSERT(!m_stateStack.isEmpty()); … … 393 393 } 394 394 395 void G LES2Canvas::drawTexturedRect(unsigned texture, const IntSize& textureSize, const FloatRect& srcRect, const FloatRect& dstRect, ColorSpace colorSpace, CompositeOperator compositeOp)395 void GraphicsContextGPU::drawTexturedRect(unsigned texture, const IntSize& textureSize, const FloatRect& srcRect, const FloatRect& dstRect, ColorSpace colorSpace, CompositeOperator compositeOp) 396 396 { 397 397 bindFramebuffer(); … … 406 406 } 407 407 408 void G LES2Canvas::drawTexturedRect(Texture* texture, const FloatRect& srcRect, const FloatRect& dstRect, ColorSpace colorSpace, CompositeOperator compositeOp)408 void GraphicsContextGPU::drawTexturedRect(Texture* texture, const FloatRect& srcRect, const FloatRect& dstRect, ColorSpace colorSpace, CompositeOperator compositeOp) 409 409 { 410 410 drawTexturedRect(texture, srcRect, dstRect, m_state->m_ctm, m_state->m_alpha, colorSpace, compositeOp, m_state->clippingEnabled()); … … 412 412 413 413 414 void G LES2Canvas::drawTexturedRect(Texture* texture, const FloatRect& srcRect, const FloatRect& dstRect, const AffineTransform& transform, float alpha, ColorSpace colorSpace, CompositeOperator compositeOp, bool clip)414 void GraphicsContextGPU::drawTexturedRect(Texture* texture, const FloatRect& srcRect, const FloatRect& dstRect, const AffineTransform& transform, float alpha, ColorSpace colorSpace, CompositeOperator compositeOp, bool clip) 415 415 { 416 416 bindFramebuffer(); … … 428 428 } 429 429 430 void G LES2Canvas::drawTexturedRectTile(Texture* texture, int tile, const FloatRect& srcRect, const FloatRect& dstRect, const AffineTransform& transform, float alpha)430 void GraphicsContextGPU::drawTexturedRectTile(Texture* texture, int tile, const FloatRect& srcRect, const FloatRect& dstRect, const AffineTransform& transform, float alpha) 431 431 { 432 432 if (dstRect.isEmpty()) … … 446 446 } 447 447 448 void G LES2Canvas::convolveRect(unsigned texture, const IntSize& textureSize, const FloatRect& srcRect, const FloatRect& dstRect, float imageIncrement[2], const float* kernel, int kernelWidth)448 void GraphicsContextGPU::convolveRect(unsigned texture, const IntSize& textureSize, const FloatRect& srcRect, const FloatRect& dstRect, float imageIncrement[2], const float* kernel, int kernelWidth) 449 449 { 450 450 m_context->bindTexture(GraphicsContext3D::TEXTURE_2D, texture); … … 488 488 } 489 489 490 void G LES2Canvas::drawTexturedQuad(const IntSize& textureSize, const FloatRect& srcRect, const FloatRect& dstRect, const AffineTransform& transform, float alpha)490 void GraphicsContextGPU::drawTexturedQuad(const IntSize& textureSize, const FloatRect& srcRect, const FloatRect& dstRect, const AffineTransform& transform, float alpha) 491 491 { 492 492 AffineTransform matrix(m_flipMatrix); … … 506 506 } 507 507 508 void G LES2Canvas::drawTexturedQuadMitchell(const IntSize& textureSize, const FloatRect& srcRect, const FloatRect& dstRect, const AffineTransform& transform, float alpha)508 void GraphicsContextGPU::drawTexturedQuadMitchell(const IntSize& textureSize, const FloatRect& srcRect, const FloatRect& dstRect, const AffineTransform& transform, float alpha) 509 509 { 510 510 static const float mitchellCoefficients[16] = { … … 536 536 } 537 537 538 void G LES2Canvas::setCompositeOperation(CompositeOperator op)538 void GraphicsContextGPU::setCompositeOperation(CompositeOperator op) 539 539 { 540 540 m_state->m_compositeOp = op; 541 541 } 542 542 543 Texture* G LES2Canvas::createTexture(NativeImagePtr ptr, Texture::Format format, int width, int height)543 Texture* GraphicsContextGPU::createTexture(NativeImagePtr ptr, Texture::Format format, int width, int height) 544 544 { 545 545 return m_context->createTexture(ptr, format, width, height); 546 546 } 547 547 548 Texture* G LES2Canvas::getTexture(NativeImagePtr ptr)548 Texture* GraphicsContextGPU::getTexture(NativeImagePtr ptr) 549 549 { 550 550 return m_context->getTexture(ptr); … … 610 610 typedef void (*TESSCB)(); 611 611 612 void G LES2Canvas::tesselateAndFillPath(const Path& path, const Color& color)612 void GraphicsContextGPU::tesselateAndFillPath(const Path& path, const Color& color) 613 613 { 614 614 if (!m_pathVertexBuffer) … … 707 707 } 708 708 709 void G LES2Canvas::fillPathInternal(const Path& path, const Color& color)709 void GraphicsContextGPU::fillPathInternal(const Path& path, const Color& color) 710 710 { 711 711 if (SharedGraphicsContext3D::useLoopBlinnForPathRendering()) { … … 741 741 } 742 742 743 FloatRect G LES2Canvas::flipRect(const FloatRect& rect)743 FloatRect GraphicsContextGPU::flipRect(const FloatRect& rect) 744 744 { 745 745 FloatRect flippedRect(rect); … … 749 749 } 750 750 751 void G LES2Canvas::clearBorders(const FloatRect& rect, int width)751 void GraphicsContextGPU::clearBorders(const FloatRect& rect, int width) 752 752 { 753 753 scissorClear(rect.x(), rect.y() - width, rect.width() + width, width); … … 757 757 } 758 758 759 void G LES2Canvas::beginShadowDraw()759 void GraphicsContextGPU::beginShadowDraw() 760 760 { 761 761 float offsetX = m_state->m_shadowOffset.width(); … … 783 783 } 784 784 785 void G LES2Canvas::endShadowDraw(const FloatRect& boundingBox)785 void GraphicsContextGPU::endShadowDraw(const FloatRect& boundingBox) 786 786 { 787 787 if (m_state->m_shadowBlur > 0) { … … 868 868 } 869 869 870 void G LES2Canvas::beginStencilDraw(unsigned op)870 void GraphicsContextGPU::beginStencilDraw(unsigned op) 871 871 { 872 872 // Turn on stencil test. … … 883 883 } 884 884 885 void G LES2Canvas::applyClipping(bool enable)885 void GraphicsContextGPU::applyClipping(bool enable) 886 886 { 887 887 m_context->enableStencil(enable); … … 898 898 } 899 899 900 void G LES2Canvas::checkGLError(const char* header)900 void GraphicsContextGPU::checkGLError(const char* header) 901 901 { 902 902 #ifndef NDEBUG -
trunk/Source/WebCore/platform/graphics/gpu/GraphicsContextGPU.h
r84291 r84374 29 29 */ 30 30 31 #ifndef G LES2Canvas_h32 #define G LES2Canvas_h31 #ifndef GraphicsContextGPU_h 32 #define GraphicsContextGPU_h 33 33 34 34 #include "AffineTransform.h" … … 53 53 class SharedGraphicsContext3D; 54 54 55 class G LES2Canvas{56 WTF_MAKE_NONCOPYABLE(G LES2Canvas);55 class GraphicsContextGPU { 56 WTF_MAKE_NONCOPYABLE(GraphicsContextGPU); 57 57 public: 58 G LES2Canvas(SharedGraphicsContext3D*, DrawingBuffer*, const IntSize&);59 ~G LES2Canvas();58 GraphicsContextGPU(SharedGraphicsContext3D*, DrawingBuffer*, const IntSize&); 59 ~GraphicsContextGPU(); 60 60 61 61 void fillPath(const Path&); … … 138 138 } 139 139 140 #endif // G LES2Canvas_h140 #endif // GraphicsContextGPU_h -
trunk/Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp
r83936 r84374 35 35 #include "Color.h" 36 36 #include "FloatRect.h" 37 #include "GLES2Canvas.h"38 37 #include "Gradient.h" 38 #include "GraphicsContextGPU.h" 39 39 #include "GraphicsContextPlatformPrivate.h" 40 40 #include "ImageBuffer.h" … … 734 734 return; 735 735 736 // FIXME: add support to G LES2Canvasfor more than just solid fills.736 // FIXME: add support to GraphicsContextGPU for more than just solid fills. 737 737 if (platformContext()->useGPU() && platformContext()->canAccelerate()) { 738 738 platformContext()->prepareForHardwareDraw(); … … 1030 1030 1031 1031 if (platformContext()->useGPU()) { 1032 G LES2Canvas* canvas = platformContext()->gpuCanvas();1032 GraphicsContextGPU* canvas = platformContext()->gpuCanvas(); 1033 1033 canvas->setShadowOffset(size); 1034 1034 canvas->setShadowBlur(blurFloat); -
trunk/Source/WebCore/platform/graphics/skia/ImageBufferSkia.cpp
r83960 r84374 38 38 #include "BitmapImageSingleFrameSkia.h" 39 39 #include "DrawingBuffer.h" 40 #include "GLES2Canvas.h"41 40 #include "GraphicsContext.h" 41 #include "GraphicsContextGPU.h" 42 42 #include "ImageData.h" 43 43 #include "JPEGImageEncoder.h" -
trunk/Source/WebCore/platform/graphics/skia/ImageSkia.cpp
r84000 r84374 36 36 #include "FloatConversion.h" 37 37 #include "FloatRect.h" 38 #include "GLES2Canvas.h"39 38 #include "GraphicsContext.h" 39 #include "GraphicsContextGPU.h" 40 40 #include "Logging.h" 41 41 #include "NativeImageSkia.h" … … 435 435 { 436 436 ctxt->platformContext()->prepareForHardwareDraw(); 437 G LES2Canvas* gpuCanvas = ctxt->platformContext()->gpuCanvas();437 GraphicsContextGPU* gpuCanvas = ctxt->platformContext()->gpuCanvas(); 438 438 Texture* texture = gpuCanvas->getTexture(bitmap); 439 439 if (!texture) { -
trunk/Source/WebCore/platform/graphics/skia/PlatformContextSkia.cpp
r84257 r84374 63 63 64 64 #if ENABLE(ACCELERATED_2D_CANVAS) 65 #include "G LES2Canvas.h"65 #include "GraphicsContextGPU.h" 66 66 #include "SharedGraphicsContext3D.h" 67 67 #endif … … 730 730 if (context && drawingBuffer) { 731 731 m_useGPU = true; 732 m_gpuCanvas = new G LES2Canvas(context, drawingBuffer, size);732 m_gpuCanvas = new GraphicsContextGPU(context, drawingBuffer, size); 733 733 m_uploadTexture.clear(); 734 734 drawingBuffer->setWillPublishCallback(WillPublishCallbackImpl::create(this)); -
trunk/Source/WebCore/platform/graphics/skia/PlatformContextSkia.h
r83941 r84374 47 47 enum CompositeOperator; 48 48 class DrawingBuffer; 49 class GLES2Canvas;50 49 class GraphicsContext3D; 50 class GraphicsContextGPU; 51 51 class Texture; 52 52 … … 182 182 void setSharedGraphicsContext3D(SharedGraphicsContext3D*, DrawingBuffer*, const IntSize&); 183 183 #if ENABLE(ACCELERATED_2D_CANVAS) 184 G LES2Canvas* gpuCanvas() const { return m_gpuCanvas.get(); }184 GraphicsContextGPU* gpuCanvas() const { return m_gpuCanvas.get(); } 185 185 #else 186 G LES2Canvas* gpuCanvas() const { return 0; }186 GraphicsContextGPU* gpuCanvas() const { return 0; } 187 187 #endif 188 188 // Call these before making a call that manipulates the underlying 189 // SkCanvas or WebCore::G LES2Canvas189 // SkCanvas or WebCore::GraphicsContextGPU 190 190 void prepareForSoftwareDraw() const; 191 191 void prepareForHardwareDraw() const; … … 224 224 bool m_useGPU; 225 225 #if ENABLE(ACCELERATED_2D_CANVAS) 226 OwnPtr<G LES2Canvas> m_gpuCanvas;226 OwnPtr<GraphicsContextGPU> m_gpuCanvas; 227 227 mutable RefPtr<Texture> m_uploadTexture; 228 228 #endif
Note: See TracChangeset
for help on using the changeset viewer.