aboutsummaryrefslogtreecommitdiffhomepage
path: root/gpu
Commit message (Collapse)AuthorAge
* 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
* 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
* Instead of turning clipping off during AA, clip to the offscreen tile whenGravatar tomhudson@google.com2011-07-19
| | | | | | | | | we're writing to it, then restore the onscreen clip when copying it back to screen. Speeds up rendering of web pages with paths >> tile size. git-svn-id: http://skia.googlecode.com/svn/trunk@1899 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
* flip Y in uploads to bottom-up textures (and add gm test)Gravatar bsalomon@google.com2011-07-18
| | | | | | | | Review URL: http://codereview.appspot.com/4756043/ git-svn-id: http://skia.googlecode.com/svn/trunk@1882 2bbb7eff-a529-9590-31e7-b0007b416f81
* convolve GrRefCnt and SkRefCntGravatar reed@google.com2011-07-15
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1873 2bbb7eff-a529-9590-31e7-b0007b416f81
* Undo accidental commit of GrContext.cpp in r1860.Gravatar bsalomon@google.com2011-07-14
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1861 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
* Remove some cruft from SampleApp.cppGravatar bsalomon@google.com2011-07-14
| | | | | | | | Review URL: http://codereview.appspot.com/4724042 git-svn-id: http://skia.googlecode.com/svn/trunk@1858 2bbb7eff-a529-9590-31e7-b0007b416f81
* Updated SkUIView to use the current code, added a default gl interface for iosGravatar yangsu@google.com2011-07-13
| | | | | | | http://codereview.appspot.com/4717043/ git-svn-id: http://skia.googlecode.com/svn/trunk@1855 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
* 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
* 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
* Fix div by zero in GPU degenerate radials (and add sample and gm baselines)Gravatar bsalomon@google.com2011-07-07
| | | | | | | Review URL: http://codereview.appspot.com/4675062/ git-svn-id: http://skia.googlecode.com/svn/trunk@1817 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove nested scope resolutions in GrGpuGLShaders and use enum counts for ↵Gravatar bsalomon@google.com2011-07-06
| | | | | | generating random values in unit test. git-svn-id: http://skia.googlecode.com/svn/trunk@1807 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reduce gets of ext string and check validity of stencil format enumsGravatar bsalomon@google.com2011-07-06
| | | | | | | | Review URL: http://codereview.appspot.com/4678043/ git-svn-id: http://skia.googlecode.com/svn/trunk@1801 2bbb7eff-a529-9590-31e7-b0007b416f81
* Indexed drawing for paths with multiple contoursGravatar bsalomon@google.com2011-07-06
| | | | | | | | Review URL: http://codereview.appspot.com/4648071/ git-svn-id: http://skia.googlecode.com/svn/trunk@1800 2bbb7eff-a529-9590-31e7-b0007b416f81
* suppress printfsGravatar reed@google.com2011-07-05
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1793 2bbb7eff-a529-9590-31e7-b0007b416f81
* Offset bounds in GrDefaultPathRenderer by fTranslate.Gravatar bsalomon@google.com2011-07-01
| | | | | | | | Review URL: http://codereview.appspot.com/4667053/ git-svn-id: http://skia.googlecode.com/svn/trunk@1787 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reworks r1770 so that users who have replaced SkUserConfig don't have toGravatar tomhudson@google.com2011-07-01
| | | | | | | | make any changes to continue compiling successfully. git-svn-id: http://skia.googlecode.com/svn/trunk@1779 2bbb7eff-a529-9590-31e7-b0007b416f81
* Don't send NULL buffer data hint in chromeGravatar bsalomon@google.com2011-07-01
| | | | | | | | Review URL: http://codereview.appspot.com/4657067/ git-svn-id: http://skia.googlecode.com/svn/trunk@1778 2bbb7eff-a529-9590-31e7-b0007b416f81
* Tesselate path once for tiled offscreen AAGravatar bsalomon@google.com2011-07-01
| | | | | | | Review URL: http://codereview.appspot.com/4661062/ git-svn-id: http://skia.googlecode.com/svn/trunk@1777 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove GrAuto*Malloc, replace with SkAuto*MallocGravatar bsalomon@google.com2011-06-30
| | | | | | | | Review URL: http://codereview.appspot.com/4629088 git-svn-id: http://skia.googlecode.com/svn/trunk@1774 2bbb7eff-a529-9590-31e7-b0007b416f81
* Enable WebKit/Chromium style logging for Skia.Gravatar tomhudson@google.com2011-06-30
| | | | | | | | | | New macros called in Ganesh functions; by default are compiled away, in example code resolve to printout, and are compatible with WebKit/Chromium event logging and GPU profiler. git-svn-id: http://skia.googlecode.com/svn/trunk@1770 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adding the notion of a volatile bitmap to SkBitmap. Gravatar junov@google.com2011-06-30
| | | | | | | | | | | | | | | | | Volatility is a hint that indicates that the contents of a bitmap are ephemeral. SkGpuDevice will not preserve volatile bitmaps in its texture cache, and will use textures from a pool of keyless (recyclable) textures to avoid the performance hit of texture allocation and release. A subsequent change is required in webkit in order to take advantage of this optimization. putImageData, and other methods that create temporary bitmaps will have to mark their bitmaps as volatile. before rendering them through skia. git-svn-id: http://skia.googlecode.com/svn/trunk@1769 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix bug where equality was used instead of assignment.Gravatar tomhudson@google.com2011-06-30
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1767 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix valgrind reported issue, uninit mem in AutoReleaseGeometry::reset()Gravatar bsalomon@google.com2011-06-29
| | | | | | | | | Review URL: http://codereview.appspot.com/4667048/ git-svn-id: http://skia.googlecode.com/svn/trunk@1761 2bbb7eff-a529-9590-31e7-b0007b416f81
* Parse SampleApp command line for a test name. If an argument is passed toGravatar senorblanco@chromium.org2011-06-28
| | | | | | | | | | | SampleApp on the command line, interpret it as a test name. If it's a valid test, open that test at startup. Review URL: http://codereview.appspot.com/4661054/ git-svn-id: http://skia.googlecode.com/svn/trunk@1742 2bbb7eff-a529-9590-31e7-b0007b416f81
* Guard against 0 tolerance in curve subdivision.Gravatar tomhudson@google.com2011-06-28
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1735 2bbb7eff-a529-9590-31e7-b0007b416f81
* Updated the references to iOS util files in the iOSSampleApp project fileGravatar yangsu@google.com2011-06-24
| | | | | | | | renamed gpu/src/skia to gpu/ios git-svn-id: http://skia.googlecode.com/svn/trunk@1707 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove global curve subdivision tolerance from GrPathUtils.Gravatar tomhudson@google.com2011-06-24
| | | | | | | | | | Put in framework for changing curve subdivision tolerance when rendering offscreen AA tiles; however, comment out actual tolerance changes because of possible quality issues with simple circles (q.v. Arcs slide of SampleApp). git-svn-id: http://skia.googlecode.com/svn/trunk@1702 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add support for 8 bits/component glyphs, toGravatar caryclark@google.com2011-06-22
| | | | | | | | | | | | | | | | | | | | better match the fonts produced by CoreText on OS/X. M include/config/SkUserConfig.h M include/core/SkMask.h M include/core/SkScalerContext.h M src/core/SkBlitter_ARGB32.cpp M src/core/SkScalerContext.cpp M src/core/SkPaint.cpp M src/gpu/SkGrFontScaler.cpp M src/ports/SkFontHost_mac_coretext.cpp M src/ports/SkFontHost_mac.cpp M gpu/include/GrTypes.h M gpu/src/GrAtlas.cpp git-svn-id: http://skia.googlecode.com/svn/trunk@1672 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix copy/paste error in GrDrawTarget::AutoStateRestore::setGravatar bsalomon@google.com2011-06-22
| | | | | | | | Review URL: http://codereview.appspot.com/4639063/ git-svn-id: http://skia.googlecode.com/svn/trunk@1670 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix to free a plot when purging gr font cacheGravatar bsalomon@google.com2011-06-21
| | | | | | | | Review URL: http://codereview.appspot.com/4645054/ git-svn-id: http://skia.googlecode.com/svn/trunk@1667 2bbb7eff-a529-9590-31e7-b0007b416f81
* Initialize members to satisfy coverity.Gravatar bsalomon@google.com2011-06-21
| | | | | | | | Code review: http://codereview.appspot.com/4657043/ git-svn-id: http://skia.googlecode.com/svn/trunk@1665 2bbb7eff-a529-9590-31e7-b0007b416f81
* Refactor GrDrawTarget vertex/index apiGravatar bsalomon@google.com2011-06-21
| | | | | | | | Review URL: http://codereview.appspot.com/4631056/ git-svn-id: http://skia.googlecode.com/svn/trunk@1662 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix handling of nan when clamping number of pts in quads/cubicsGravatar bsalomon@google.com2011-06-17
| | | | | | | | Review URL: http://codereview.appspot.com/4646044/ git-svn-id: http://skia.googlecode.com/svn/trunk@1642 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remember last successful stencil formatGravatar bsalomon@google.com2011-06-17
| | | | | | | | Review URL: http://codereview.appspot.com/4625048/ git-svn-id: http://skia.googlecode.com/svn/trunk@1640 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix self-assignment Gravatar bsalomon@google.com2011-06-17
| | | | | | | | Review URL: http://codereview.appspot.com/4631047/ git-svn-id: http://skia.googlecode.com/svn/trunk@1637 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove redundant GrTouchGesture. Switch its only user to SkTouchGesture.Gravatar Scroggo2011-06-17
| | | | | | | Review at http://codereview.appspot.com/4636045/ git-svn-id: http://skia.googlecode.com/svn/trunk@1636 2bbb7eff-a529-9590-31e7-b0007b416f81
* First pass at improving temporary tex/rt reuseGravatar bsalomon@google.com2011-06-16
| | | | | | | | | Review URL: http://codereview.appspot.com/4625043/ git-svn-id: http://skia.googlecode.com/svn/trunk@1616 2bbb7eff-a529-9590-31e7-b0007b416f81
* Rename GrGLBug to GrGLCapability.Gravatar tomhudson@google.com2011-06-16
| | | | | | | | | Default all architectures to kProbe_GrGLCapability. Use new facilities better from GrGpuGL.cpp git-svn-id: http://skia.googlecode.com/svn/trunk@1613 2bbb7eff-a529-9590-31e7-b0007b416f81
* Always call notifyTextureDelete in onRelease.Gravatar Scroggo2011-06-16
| | | | | | | Reviewed at http://codereview.appspot.com/4620050/ git-svn-id: http://skia.googlecode.com/svn/trunk@1611 2bbb7eff-a529-9590-31e7-b0007b416f81
* Avoid checking to see if a bool is less than zero.Gravatar tomhudson@google.com2011-06-15
| | | | | | | | Create a symbolic name for -1 when it means "don't know, probe at runtime". git-svn-id: http://skia.googlecode.com/svn/trunk@1606 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement edge AA for concave polys in the tesselated path renderer.Gravatar senorblanco@chromium.org2011-06-15
| | | | | | | | Review URL: http://codereview.appspot.com/4571072/ git-svn-id: http://skia.googlecode.com/svn/trunk@1600 2bbb7eff-a529-9590-31e7-b0007b416f81
* Increase compatibility with clang, mostly around SK_RESTRICT.Gravatar tomhudson@google.com2011-06-15
| | | | | | | | Attempting to fix up our use of __restrict__ so Chrome can enable it. git-svn-id: http://skia.googlecode.com/svn/trunk@1597 2bbb7eff-a529-9590-31e7-b0007b416f81
* Set texture dirty flag only when texture has really changedGravatar bsalomon@google.com2011-06-15
| | | | | | | | Review URL: http://codereview.appspot.com/4571073/ git-svn-id: http://skia.googlecode.com/svn/trunk@1592 2bbb7eff-a529-9590-31e7-b0007b416f81
* Enable SSAA on inverse filled pathsGravatar bsalomon@google.com2011-06-14
| | | | | | | | Review URL: http://codereview.appspot.com/4613044/ git-svn-id: http://skia.googlecode.com/svn/trunk@1584 2bbb7eff-a529-9590-31e7-b0007b416f81
* delete all old (non-Gyp) buildfilesGravatar epoger@google.com2011-06-14
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@1583 2bbb7eff-a529-9590-31e7-b0007b416f81