Add GPU support for axis-aligned ovals:
authorjvanverth@google.com <jvanverth@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Tue, 22 Jan 2013 13:34:01 +0000 (13:34 +0000)
committerjvanverth@google.com <jvanverth@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Tue, 22 Jan 2013 13:34:01 +0000 (13:34 +0000)
commit46d3d39e65e0b3ea2ad7c91c176ccafb4df0fa24
tree3ed0089389283fd2d9cfa8bea196b9363ee60a9d
parent9d5f99bc309a7d733e33a149bef295ae3c8b3ac1
Add GPU support for axis-aligned ovals:
- Add drawOval base function to SkDevice, and override in SkGpuDevice
- Move isSimilarityMatrix to SkMatrix (renamed to isSimilarity) and fixed up unit test
- Since both SkGpuDevice::drawOval() and GrContext::drawPath() can try to draw ovals, added GrContext::canDrawOval() and GrContext::internalDrawOval() to avoid duplicate code
- Hooked in axis-aligned oval fill shader
- Enabled GPU stroked circles
- Added stroked circle bench test

Review URL: https://codereview.appspot.com/7137050

git-svn-id: http://skia.googlecode.com/svn/trunk@7304 2bbb7eff-a529-9590-31e7-b0007b416f81
14 files changed:
bench/PathBench.cpp
include/core/SkDevice.h
include/core/SkDrawFilter.h
include/core/SkMatrix.h
include/gpu/GrContext.h
include/gpu/SkGpuDevice.h
src/core/SkCanvas.cpp
src/core/SkDevice.cpp
src/core/SkMatrix.cpp
src/gpu/GrContext.cpp
src/gpu/GrDrawState.h
src/gpu/SkGpuDevice.cpp
src/gpu/gl/GrGLProgram.cpp
tests/MatrixTest.cpp