aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* don't modify const SkDraw, since multiple threads may be watching it...Gravatar reed@google.com2011-07-25
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1954 2bbb7eff-a529-9590-31e7-b0007b416f81
* don/t modify const paint, since it could be used in different threadsGravatar reed@google.com2011-07-25
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1953 2bbb7eff-a529-9590-31e7-b0007b416f81
* Exit SkBitmap::scrollRect() early if width <= 0Gravatar epoger@google.com2011-07-25
| | | | | | | As suggested in email from saintlou@google.com Review URL: http://codereview.appspot.com/4806047 git-svn-id: http://skia.googlecode.com/svn/trunk@1948 2bbb7eff-a529-9590-31e7-b0007b416f81
* reenable rotated freetype fix, but behind #ifndef ↵Gravatar reed@google.com2011-07-25
| | | | | | | | | | | | SK_IGNORE_ROTATED_FREETYPE_FIX, so chrome can disable it for now. add --match foo to gm/ so you can run just tests that substring match your pattern (foo) git-svn-id: http://skia.googlecode.com/svn/trunk@1945 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "[PDF] Refactor SkPDFFont to enable font/cmap subsetting."Gravatar vandebo@chromium.org2011-07-23
| | | | | | | | The PDF xref table is corrupt with this change. Revert until we figure it out. Review URL: http://codereview.appspot.com/4803049 git-svn-id: http://skia.googlecode.com/svn/trunk@1944 2bbb7eff-a529-9590-31e7-b0007b416f81
* [PDF] Refactor SkPDFFont to enable font/cmap subsetting.Gravatar vandebo@chromium.org2011-07-23
| | | | | | | | Patch from Arthur Hsu, original CL: http://codereview.appspot.com/4633050/ Review URL: http://codereview.appspot.com/4811049 git-svn-id: http://skia.googlecode.com/svn/trunk@1943 2bbb7eff-a529-9590-31e7-b0007b416f81
* Temporary rollback of r1924 to unblock DEPS rollGravatar bsalomon@google.com2011-07-22
| | | | | | | | Review URL: http://codereview.appspot.com/4817046/ git-svn-id: http://skia.googlecode.com/svn/trunk@1942 2bbb7eff-a529-9590-31e7-b0007b416f81
* Improve GPU blur performance by clearing only when necessary. This gives aGravatar senorblanco@chromium.org2011-07-22
| | | | | | | | | | | | | | | | | | 1.8X speedup on the Blurs sample, and 2.3X on the BigBlur sample. We don't need to clear while downsampling, since each step reads only the pixels written in the previous step. We can avoid destination clears before convolution by disabling blending. We also don't need to clear when upsampling, since the upsample step also only reads pixels written by the convolution. The only clears we then need to do are on each side of the srcRect used for convolution, and a 1-pixel border for bilinear upsampling. Since our srcRect is always offset to (0, 0), we only need to clear on the right and bottom. Review URL: http://codereview.appspot.com/4803048/ git-svn-id: http://skia.googlecode.com/svn/trunk@1941 2bbb7eff-a529-9590-31e7-b0007b416f81
* [PDF] fix off by one in setPage.Gravatar vandebo@chromium.org2011-07-22
| | | | | | | | TBR=ctguil@chromium.org Review URL: http://codereview.appspot.com/4807045 git-svn-id: http://skia.googlecode.com/svn/trunk@1939 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert r1937 while I try to figure out the GM failures.Gravatar senorblanco@chromium.org2011-07-21
| | | | | | | | (Unreviewed; build fix). git-svn-id: http://skia.googlecode.com/svn/trunk@1938 2bbb7eff-a529-9590-31e7-b0007b416f81
* Improve GPU blur speed by clearing only when necessary. This gives aGravatar senorblanco@chromium.org2011-07-21
| | | | | | | | | | | | | | | | | | 1.8X speedup on the Blurs sample, and 2.3X on the BigBlur sample. We don't need to clear while downsampling, since each step reads only the pixels written in the previous step. We can avoid destination clears before convolution by disabling blending. We also don't need to clear when upsampling, since the upsample step also only reads pixels written by the convolution. The only clears we then need to do are on each side of the srcRect used for convolution. Since our srcRect is always offset to (0, 0), we only need to clear on the right and bottom. Review URL: http://codereview.appspot.com/4803048/ git-svn-id: http://skia.googlecode.com/svn/trunk@1937 2bbb7eff-a529-9590-31e7-b0007b416f81
* disable hinting when rotated, since it looks badGravatar reed@google.com2011-07-21
| | | | | | | | we do the same thing on windows (mac seems to handle rotation fine) git-svn-id: http://skia.googlecode.com/svn/trunk@1924 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix SkFlate.cpp when SK_ZLIB_INCLUDE is not #defined.Gravatar epoger@google.com2011-07-21
| | | | | | This was failing for Windows builds since r1911. git-svn-id: http://skia.googlecode.com/svn/trunk@1923 2bbb7eff-a529-9590-31e7-b0007b416f81
* have == always return bool, never intGravatar reed@google.com2011-07-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1915 2bbb7eff-a529-9590-31e7-b0007b416f81
* replace SkRefPtr for parameters with simple pointersGravatar reed@google.com2011-07-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1913 2bbb7eff-a529-9590-31e7-b0007b416f81
* [PDF] Use insert and append helpers for POD data.Gravatar vandebo@chromium.org2011-07-20
| | | | | | | | BUG=251 Review URL: http://codereview.appspot.com/4815044 git-svn-id: http://skia.googlecode.com/svn/trunk@1912 2bbb7eff-a529-9590-31e7-b0007b416f81
* [PDF] Make stream compression optional on a per device basis.Gravatar vandebo@chromium.org2011-07-20
| | | | | | | | | | | | | | | There are a lot of small pieces to make this change work: - SkPDFDocument (and SkPDFCatalog) take flags to disable compression (and font embedding - not implemented yet, can disable font subsetting for now). - SkPDFStream now defers compression until the size/emit step. - Classes that *had* a stream (because they didn't know the stream size at construction time) now *are* streams to make the substitution work correctly. - The SkPDFShader implementation got pulled apart into two classes, one that is a SkPDFDict, and one that is a SkPDFStream (making the common ancestor SkPDFObject). - Added helper methods in SkPDFObject for children that have simple resource lists. - Added an iterator to SkPDFDict so that a substitute SkPDFStream can get a copy of the stream dictionary. - Change SkPDFDocument to have a pointer to an SkPDFCatalog to remove a new circular header reference. Review URL: http://codereview.appspot.com/4700045 git-svn-id: http://skia.googlecode.com/svn/trunk@1911 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix Capitalization of static methodsGravatar reed@google.com2011-07-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1910 2bbb7eff-a529-9590-31e7-b0007b416f81
* helpers for append and insert when the value is a POD.Gravatar reed@google.com2011-07-20
| | | | | | | | reduces code-size and perf: fewer refs/unrefs git-svn-id: http://skia.googlecode.com/svn/trunk@1909 2bbb7eff-a529-9590-31e7-b0007b416f81
* [PDF] Fix substitute resources size calculation.Gravatar vandebo@chromium.org2011-07-20
| | | | | | Review URL: http://codereview.appspot.com/4803041 git-svn-id: http://skia.googlecode.com/svn/trunk@1908 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix GPU blur cacheing bug. Sometimes, the texture cache serves us textures ofGravatar senorblanco@chromium.org2011-07-19
| | | | | | | | | | | | | | | different sizes for srcTexture and dstTexture (this is fair; they're supposed to be approximate). Code was assuming otherwise while downsampling; fix is to reapply the scale on each downsample. (Yes, I could cache these reciprocals if and when they prove to be a hot spot). Also, use setIDiv(w,h) everywhere for conciseness. Review URL: http://codereview.appspot.com/4798041/ git-svn-id: http://skia.googlecode.com/svn/trunk@1907 2bbb7eff-a529-9590-31e7-b0007b416f81
* export function to return a typeface's LOGFONTGravatar reed@google.com2011-07-19
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1903 2bbb7eff-a529-9590-31e7-b0007b416f81
* Enable the GPU-based blur by default in Skia, and provide a #define to disableGravatar senorblanco@chromium.org2011-07-19
| | | | | | | | | | | | | it (SK_DISABLE_GPU_BLUR). Note: this change will break some the GM test results. I've attempted to rebaseline MacPro float results; more to come. Review URL: http://codereview.appspot.com/4784043/ git-svn-id: http://skia.googlecode.com/svn/trunk@1901 2bbb7eff-a529-9590-31e7-b0007b416f81
* eliminate unneeded refs/unrefsGravatar reed@google.com2011-07-19
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1900 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove dead edgebuilding codeGravatar mike@reedtribe.org2011-07-19
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1893 2bbb7eff-a529-9590-31e7-b0007b416f81
* [PDF] Add setPage method to SkPDFDocument.Gravatar vandebo@chromium.org2011-07-18
| | | | | | | | BUG=312 Review URL: http://codereview.appspot.com/4763047 git-svn-id: http://skia.googlecode.com/svn/trunk@1892 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix kernel width calculation in GPU-based Gaussian blur. When converting theGravatar senorblanco@chromium.org2011-07-18
| | | | | | | | | sigma value to a kernel width, it should be rounded up. Otherwise, for small sigmas, the edge pixels of the kernel may be missing. git-svn-id: http://skia.googlecode.com/svn/trunk@1891 2bbb7eff-a529-9590-31e7-b0007b416f81
* Use texture cache for writePixels tempGravatar bsalomon@google.com2011-07-18
| | | | | | | | Review URL: http://codereview.appspot.com/4757050/ git-svn-id: http://skia.googlecode.com/svn/trunk@1887 2bbb7eff-a529-9590-31e7-b0007b416f81
* [PDF] Make color shaders work correctly.Gravatar vandebo@chromium.org2011-07-18
| | | | | | | | | Make SkPDFShader correctly bail out for color shaders. Fix the bail out handling code. Review URL: http://codereview.appspot.com/4750045 git-svn-id: http://skia.googlecode.com/svn/trunk@1886 2bbb7eff-a529-9590-31e7-b0007b416f81
* GPU strokeAndFill only does the fillGravatar bungeman@google.com2011-07-18
| | | | | | | | http://codereview.appspot.com/4743047/ git-svn-id: http://skia.googlecode.com/svn/trunk@1884 2bbb7eff-a529-9590-31e7-b0007b416f81
* Updated iOSSampleApp to display FPS and display in OpenGLGravatar yangsu@google.com2011-07-17
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1879 2bbb7eff-a529-9590-31e7-b0007b416f81
* More GPU blur fixes.Gravatar senorblanco@chromium.org2011-07-15
| | | | | | | | | | | | | | - clamp the max. radius to 128, as the software path does - use a more accurate radius-to-sigma conversion (0.6 instead of 0.6666) - make SampleBlur derive from SampleView, not SkView, so benchmark mode ('f') works - implement a new BigBlur sample to test large radii Review URL: http://codereview.appspot.com/4726043 git-svn-id: http://skia.googlecode.com/svn/trunk@1871 2bbb7eff-a529-9590-31e7-b0007b416f81
* check for non-finite values that can make us overshootGravatar reed@google.com2011-07-15
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1870 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make CPU->GPU blur path use texture cacheGravatar bsalomon@google.com2011-07-14
| | | | | | | | Review URL: http://codereview.appspot.com/4730041/ git-svn-id: http://skia.googlecode.com/svn/trunk@1860 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix clipping problem in GPU-based blur. The FBOs used for the fast GaussianGravatar senorblanco@chromium.org2011-07-14
| | | | | | | | | | | | blur were being clipped to the size of the output window, causing the blurred primitive to be truncated if the FBO was larger than the output window. Clip them to the srcRect instead, and restore when done. Review URL: http://codereview.appspot.com/4695057/ git-svn-id: http://skia.googlecode.com/svn/trunk@1859 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove unused SkGpuDevice functions, add GrRenderTarget handle gettersGravatar bsalomon@google.com2011-07-13
| | | | | | | | Code Review: http://codereview.appspot.com/4718041/ git-svn-id: http://skia.googlecode.com/svn/trunk@1854 2bbb7eff-a529-9590-31e7-b0007b416f81
* Change pdfTransform to asAffine.Gravatar bungeman@google.com2011-07-13
| | | | | | | | http://codereview.appspot.com/4704044/ git-svn-id: http://skia.googlecode.com/svn/trunk@1851 2bbb7eff-a529-9590-31e7-b0007b416f81
* since I can't make GDI's lcd text pretty when we're rotated, detect thatGravatar reed@google.com2011-07-13
| | | | | | | | and force us into grayscale. git-svn-id: http://skia.googlecode.com/svn/trunk@1850 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix path iter returned pt on close, test path close pt in unit test.Gravatar bsalomon@google.com2011-07-13
| | | | | | | | Review URL: http://codereview.appspot.com/4715044/ git-svn-id: http://skia.googlecode.com/svn/trunk@1849 2bbb7eff-a529-9590-31e7-b0007b416f81
* add more scalerrec filtering, in prep for handling unhintedGravatar reed@google.com2011-07-13
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1847 2bbb7eff-a529-9590-31e7-b0007b416f81
* send output to printf as well, for commandlinesGravatar reed@google.com2011-07-13
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1846 2bbb7eff-a529-9590-31e7-b0007b416f81
* Modified to add support to print in the margins of pdf documentsGravatar ctguil@chromium.org2011-07-12
| | | | | | Review URL: http://codereview.appspot.com/4657087 git-svn-id: http://skia.googlecode.com/svn/trunk@1843 2bbb7eff-a529-9590-31e7-b0007b416f81
* GPU-based blur cleanup. Clean up some issues raised in code review:Gravatar senorblanco@chromium.org2011-07-12
| | | | | | | | | | | | | | | | | - convolveRect() is too low-level; made it private and exposed convolveInX() and convolveInY() instead - added GrAutoTextureEntry to automatically unlock a texture entry - the clipping and bounder checks were returning false from drawWithGPUMaskFilter(), causing the software blur to kick in; return true instead - the Windows build was giving a spurious warning about reading an uninitialized variable; rearrange the code to fix it Review URL: http://codereview.appspot.com/4710042/ git-svn-id: http://skia.googlecode.com/svn/trunk@1842 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove a few old uses of SK_RESTRICT on references.Gravatar tomhudson@google.com2011-07-12
| | | | | | | | | Conditionally #defines SK_RESTRICT to be __restrict on Win32; this successfully compiles in VS2008. git-svn-id: http://skia.googlecode.com/svn/trunk@1841 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix windows build (unreviewed).Gravatar senorblanco@chromium.org2011-07-12
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1840 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement blur types for GPU-based Gaussian blur.Gravatar senorblanco@chromium.org2011-07-12
| | | | | | | | | | | | Implements the remaining blur types (inner, outer, solid) in the GPU-based Gaussian blur. They are implemented using a post-upsampling blending pass. Also includes some code cleanup and comments. Review URL: http://codereview.appspot.com/4664075/ git-svn-id: http://skia.googlecode.com/svn/trunk@1839 2bbb7eff-a529-9590-31e7-b0007b416f81
* pass correct value for blackGravatar reed@google.com2011-07-11
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1836 2bbb7eff-a529-9590-31e7-b0007b416f81
* limit clip to fixed-point range, so our edges don't overflowGravatar reed@google.com2011-07-11
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1835 2bbb7eff-a529-9590-31e7-b0007b416f81
* be sure to allocate space for kDone_DrawOp before we write it (thanks Yang)Gravatar reed@google.com2011-07-08
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1831 2bbb7eff-a529-9590-31e7-b0007b416f81
* GPU-based Gaussian blur.Gravatar senorblanco@chromium.org2011-07-08
| | | | | | | | | | | | | | | | This is a first stab at implementing a GPU-based Gaussian blur in Ganesh. The convolution shader is implemented as a new filtering mode. There are several known issues: - no support for blur types other than "normal" - FBO truncation problem at high zoom values - uses bilinear for upsampling instead of Mitchell Review URL: http://codereview.appspot.com/4645082/ git-svn-id: http://skia.googlecode.com/svn/trunk@1830 2bbb7eff-a529-9590-31e7-b0007b416f81