aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/gpu/GrContext.h
Commit message (Collapse)AuthorAge
* Factor GrTexture into public GrTexture and private GrTextureImpl.Gravatar commit-bot@chromium.org2014-05-09
| | | | | | | | | | | | Committed: http://code.google.com/p/skia/source/detail?r=14680 R=jvanverth@google.com, robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/275903002 git-svn-id: http://skia.googlecode.com/svn/trunk@14687 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of Factor GrTexture into public GrTexture and private GrTextureImpl. ↵Gravatar commit-bot@chromium.org2014-05-09
| | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/275903002/) Reason for revert: Breaks chrome build. Original issue's description: > Factor GrTexture into public GrTexture and private GrTextureImpl. > > Committed: http://code.google.com/p/skia/source/detail?r=14680 R=jvanverth@google.com, robertphillips@google.com TBR=jvanverth@google.com, robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: bsalomon@google.com Review URL: https://codereview.chromium.org/278073002 git-svn-id: http://skia.googlecode.com/svn/trunk@14681 2bbb7eff-a529-9590-31e7-b0007b416f81
* Factor GrTexture into public GrTexture and private GrTextureImpl.Gravatar commit-bot@chromium.org2014-05-09
| | | | | | | | | | R=jvanverth@google.com, robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/275903002 git-svn-id: http://skia.googlecode.com/svn/trunk@14680 2bbb7eff-a529-9590-31e7-b0007b416f81
* cleanup GrContext resource cache apiGravatar commit-bot@chromium.org2014-05-09
| | | | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/275563005 git-svn-id: http://skia.googlecode.com/svn/trunk@14669 2bbb7eff-a529-9590-31e7-b0007b416f81
* Allow custom resources in the GrContext's cacheGravatar commit-bot@chromium.org2014-05-05
| | | | | | | | | | | | | | Adds methods to GrContext for client code to store custom resources in the cache. BUG=skia: R=bsalomon@google.com Author: cdalton@nvidia.com Review URL: https://codereview.chromium.org/261593009 git-svn-id: http://skia.googlecode.com/svn/trunk@14577 2bbb7eff-a529-9590-31e7-b0007b416f81
* Split GrResource into GrCacheable/GrGpuObjectGravatar commit-bot@chromium.org2014-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, an object needed to inherit from GrResource (and thus be a GPU object) in order to live in the GrResourceCache. That was a problem for caching items that weren't GPU objects themselves, but owned GPU objects. This change splits GrResource into two classes: 1. GrCacheable: The base class for objects that can live in the GrResourceCache. 2. GrGpuObject, which inherits from GrCacheable: The base class for objects that get tracked by GrGpu. This change is purely a refactor; there is no change in functionality. Change-Id: I3e8daeb1f123041f414aa306c1366e959ae9e39e BUG=skia: R=bsalomon@google.com Author: cdalton@nvidia.com Review URL: https://codereview.chromium.org/251013002 git-svn-id: http://skia.googlecode.com/svn/trunk@14553 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement drawDRRect for GPUGravatar commit-bot@chromium.org2014-04-09
| | | | | | | | | | | BUG=skia:2259 R=jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/220233011 git-svn-id: http://skia.googlecode.com/svn/trunk@14118 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add a GrLayerCache to GrContextGravatar robertphillips@google.com2014-04-03
| | | | | | | | https://codereview.chromium.org/217343006/ git-svn-id: http://skia.googlecode.com/svn/trunk@14038 2bbb7eff-a529-9590-31e7-b0007b416f81
* SK_SUPPORT_LEGACY_GRTYPES to hide duplicate types from SkTypes.hGravatar commit-bot@chromium.org2014-03-28
| | | | | | | | | | | BUG=skia: R=bsalomon@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/216503004 git-svn-id: http://skia.googlecode.com/svn/trunk@13982 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add discard API to SkCanvas, plumb it to glDiscardFramebuffer()Gravatar commit-bot@chromium.org2014-03-28
| | | | | | | | | | | BUG=skia:2349 R=robertphillips@google.com, reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/211683002 git-svn-id: http://skia.googlecode.com/svn/trunk@13976 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of Implement text rendering with NVPR ↵Gravatar commit-bot@chromium.org2014-03-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/196133014/) Reason for revert: This probably caused Win8 test bot fail during gm run: http://108.170.217.252:10117/builders/Test-Win8-ShuttleA-GTX660-x86-Debug/builds/574 I can not identify any errors from the logs, so maybe it hung or something? Original issue's description: > Implement text rendering with NVPR > > Use path rendering to render the text from outlines if supported by the > GPU. Implement this in GrStencilAndCoverTextContext by copying large > chunks of code from GrBitmapTextContext (drawText) and > GrDistanceFieldTextContext (drawPosText). > > The drawing is implemented with "instanced" path drawing > functions. > > Moves the creation of the "main" text context from SkGpuDevice to the > GrContext::createTextContext. This is done because the decision of which > text renderer is optimal can be made only with the internal > implementation-specific information of the context. > > Committed: http://code.google.com/p/skia/source/detail?r=13962 R=jvanverth@google.com, bsalomon@google.com, mtklein@google.com TBR=bsalomon@google.com, jvanverth@google.com, mtklein@google.com NOTREECHECKS=true NOTRY=true Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/213123014 git-svn-id: http://skia.googlecode.com/svn/trunk@13963 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement text rendering with NVPRGravatar commit-bot@chromium.org2014-03-27
| | | | | | | | | | | | | | | | | | | | | | | Use path rendering to render the text from outlines if supported by the GPU. Implement this in GrStencilAndCoverTextContext by copying large chunks of code from GrBitmapTextContext (drawText) and GrDistanceFieldTextContext (drawPosText). The drawing is implemented with "instanced" path drawing functions. Moves the creation of the "main" text context from SkGpuDevice to the GrContext::createTextContext. This is done because the decision of which text renderer is optimal can be made only with the internal implementation-specific information of the context. R=jvanverth@google.com, bsalomon@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/196133014 git-svn-id: http://skia.googlecode.com/svn/trunk@13962 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add Gpu Tracing to GaneshGravatar commit-bot@chromium.org2014-03-25
| | | | | | | | | | | BUG=skia:2316 R=bsalomon@google.com, tomhudson@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/184443003 git-svn-id: http://skia.googlecode.com/svn/trunk@13936 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adding a new SkSurface factory for generating surfaces from the scratch ↵Gravatar commit-bot@chromium.org2014-03-19
| | | | | | | | | | | | | | texture pool. TEST=Surface unit test BUG=crbug.com/351798 R=bsalomon@google.com, robertphillips@google.com, reed@google.com Author: junov@chromium.org Review URL: https://codereview.chromium.org/201153023 git-svn-id: http://skia.googlecode.com/svn/trunk@13864 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add API for GrContext to recommend rendertarget sample countGravatar commit-bot@chromium.org2014-03-10
| | | | | | | | | | | | | | | | | | | | Add GrContext::getRecommendedSampleCount method that can be used to determine which GPU backend and what exact sample count is recommendeded for a particular render target at particular dpi. Make this initially recommend 4xMSAA for contexts which have NVPR enabled if dpi is 250 or more, 16 if dpi is less than 250 and no MSAA for others. BUG=chromium:347962 R=bsalomon@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/188403003 git-svn-id: http://skia.googlecode.com/svn/trunk@13717 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of r13384 (Stateful PathRenderer implementation)Gravatar robertphillips@google.com2014-02-11
| | | | | | | | https://codereview.chromium.org/142543007/ git-svn-id: http://skia.googlecode.com/svn/trunk@13409 2bbb7eff-a529-9590-31e7-b0007b416f81
* Stateful PathRenderer implementationGravatar robertphillips@google.com2014-02-10
| | | | | | | | https://codereview.chromium.org/23926019/ git-svn-id: http://skia.googlecode.com/svn/trunk@13384 2bbb7eff-a529-9590-31e7-b0007b416f81
* Update bench pictures to time image decode & upload costsGravatar robertphillips@google.com2013-12-18
| | | | | | | | https://codereview.chromium.org/117583002/ git-svn-id: http://skia.googlecode.com/svn/trunk@12742 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove problematic GrContext thread local instance countingGravatar commit-bot@chromium.org2013-12-04
| | | | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/104893002 git-svn-id: http://skia.googlecode.com/svn/trunk@12485 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2013-11-07
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@12161 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add bevel-stroke support in GrAARectRendererGravatar commit-bot@chromium.org2013-11-06
| | | | | | | | | | | | Committed: http://code.google.com/p/skia/source/detail?r=12082 R=robertphillips@google.com, bsalomon@google.com Author: yunchao.he@intel.com Review URL: https://codereview.chromium.org/23712005 git-svn-id: http://skia.googlecode.com/svn/trunk@12148 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reverting r12082 (Add bevel-stroke support in GrAARectRenderer) due to GM ↵Gravatar robertphillips@google.com2013-11-01
| | | | | | failures git-svn-id: http://skia.googlecode.com/svn/trunk@12091 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make GrContext cache the gpu pathsGravatar commit-bot@chromium.org2013-11-01
| | | | | | | | | | | | | | | | | | Creating paths for nv_path_rendering is costly. Try to reduce this cost by caching paths based on the SkPath "hash" (i.e. SkPathRef generation id) and stroke properties. Adds the paths to GrContext::fTextureCache instance. Later this should be renamed and the GrContext API should reflect the nature of the cache better. R=bsalomon@google.com, mtklein@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/26557003 git-svn-id: http://skia.googlecode.com/svn/trunk@12083 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add bevel-stroke support in GrAARectRendererGravatar commit-bot@chromium.org2013-11-01
| | | | | | | | | | R=robertphillips@google.com, bsalomon@google.com Author: yunchao.he@intel.com Review URL: https://codereview.chromium.org/23712005 git-svn-id: http://skia.googlecode.com/svn/trunk@12082 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add can-ignore-rect hint to clear callGravatar robertphillips@google.com2013-10-31
| | | | | | | | https://codereview.chromium.org/53823003/ git-svn-id: http://skia.googlecode.com/svn/trunk@12064 2bbb7eff-a529-9590-31e7-b0007b416f81
* We want to give SkPixelRef a way to signal over to GrResourceCache that it's ↵Gravatar commit-bot@chromium.org2013-10-24
| | | | | | | | | | | | | | | | | | | | | become pointless to keep around textures based on that SkPixelRef when its pixels change, so that it can be a good citizen and free those textures. This adds an invalidation listener mechanism to SkPixelRef to let it send this message while still staying ignorant of who's listening. These messages are tricky to deliver. The SkPixelRefs they originates from and the GrResourceCaches they ultimately end up at may be on different threads; neither class is threadsafe; their object lifetimes are totally independent; it's a many-senders-to-many-receivers relation; and neither codebase should really know about the other. So I've added a per-message-type global message bus to broadcast messages to threadsafe inboxes. Anyone can post() a message, which will show up in all the inboxes of that type, read whenever the inbox's owner calls poll(). The implementation is _dumb_; it can be improved in several dimensions (inbox size limits, lock-free message delivery) if we find the need. I took some care to make sure not to send the invalidation message for any SkPixelRef that's sharing a generation ID with another SkPixelRef. BUG= R=bsalomon@google.com, scroggo@google.com, reed@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/26734003 git-svn-id: http://skia.googlecode.com/svn/trunk@11949 2bbb7eff-a529-9590-31e7-b0007b416f81
* separate state for msaa renderabilityGravatar commit-bot@chromium.org2013-10-15
| | | | | | | | | | R=robertphillips@google.com, brian@thesalomons.net Author: bsalomon@google.com Review URL: https://codereview.chromium.org/26695005 git-svn-id: http://skia.googlecode.com/svn/trunk@11770 2bbb7eff-a529-9590-31e7-b0007b416f81
* When cache is full delay flush until GrContext draw is finishedGravatar commit-bot@chromium.org2013-10-04
| | | | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/25673004 git-svn-id: http://skia.googlecode.com/svn/trunk@11613 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add support to dump font cache texture for debug purposesGravatar commit-bot@chromium.org2013-10-02
| | | | | | | | | | R=robertphillips@google.com, bsalomon@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/25736002 git-svn-id: http://skia.googlecode.com/svn/trunk@11579 2bbb7eff-a529-9590-31e7-b0007b416f81
* Replace uses of GrNoncopyable by SkNoncopyable.Gravatar commit-bot@chromium.org2013-09-18
| | | | | | | | | | | | BUG=None TEST=None, no functional changes. R=bsalomon@google.com, robertphillips@google.com Author: tfarina@chromium.org Review URL: https://chromiumcodereview.appspot.com/23483042 git-svn-id: http://skia.googlecode.com/svn/trunk@11341 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove GrRefCnt.h in favor of SkRefCnt.hGravatar commit-bot@chromium.org2013-09-09
| | | | | | | | | | | | | | | | | This removes GrRefCnt.h with all its tyepdefs and #defines and just switch them to the Sk* equivalents. GrSafeSetNull was promoted to SkSafeSetNull in SkRefCnt.h. BUG=None TEST=none, no functional changes. R=bsalomon@google.com, robertphillips@google.com Author: tfarina@chromium.org Review URL: https://chromiumcodereview.appspot.com/23904003 git-svn-id: http://skia.googlecode.com/svn/trunk@11151 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move oval and rect renderer includes to private interfaceGravatar jvanverth@google.com2013-09-06
| | | | | | | | R=bsalomon@google.com, robertphillips@google.com Review URL: https://codereview.chromium.org/23513016 git-svn-id: http://skia.googlecode.com/svn/trunk@11132 2bbb7eff-a529-9590-31e7-b0007b416f81
* Create new target to hold gpu test code, enable direct testing of GrEffects ↵Gravatar commit-bot@chromium.org2013-08-21
| | | | | | | | | | | | in GM. R=robertphillips@google.com, jvanverth@google.com, egdaniel@google.com Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/23352003 git-svn-id: http://skia.googlecode.com/svn/trunk@10866 2bbb7eff-a529-9590-31e7-b0007b416f81
* Replace uses of GR_API by SK_API.Gravatar commit-bot@chromium.org2013-08-20
| | | | | | | | | | R=bsalomon@google.com, robertphillips@google.com Author: tfarina@chromium.org Review URL: https://chromiumcodereview.appspot.com/22881005 git-svn-id: http://skia.googlecode.com/svn/trunk@10808 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2013-08-17
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@10790 2bbb7eff-a529-9590-31e7-b0007b416f81
* Replace uses of GrAssert by SkASSERT.Gravatar tfarina@chromium.org2013-08-17
| | | | | | | | R=bsalomon@google.com Review URL: https://codereview.chromium.org/22850006 git-svn-id: http://skia.googlecode.com/svn/trunk@10789 2bbb7eff-a529-9590-31e7-b0007b416f81
* Change Atlas recycling to track current flush count and recycle if Atlas not ↵Gravatar commit-bot@chromium.org2013-08-16
| | | | | | | | | | | | | used in current flush. BUG= R=bsalomon@google.com, robertphillips@google.com Author: jvanverth@google.com Review URL: https://chromiumcodereview.appspot.com/23120004 git-svn-id: http://skia.googlecode.com/svn/trunk@10777 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2013-07-26
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@10385 2bbb7eff-a529-9590-31e7-b0007b416f81
* make the filter mode for GrTextureAccess an enum so we can plumb downGravatar humper@google.com2013-07-25
| | | | | | | | | | | the paint's filter modes to the GPU BUG= R=bsalomon@google.com Review URL: https://codereview.chromium.org/20362002 git-svn-id: http://skia.googlecode.com/svn/trunk@10368 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add GrContext::setMaxTextureSizeOverrideGravatar robertphillips@google.com2013-07-25
| | | | | | | | https://codereview.chromium.org/20325002/ git-svn-id: http://skia.googlecode.com/svn/trunk@10358 2bbb7eff-a529-9590-31e7-b0007b416f81
* Replace all instances of GrRect with SkRect.Gravatar commit-bot@chromium.org2013-07-17
| | | | | | | | | | | | And remove the typedef in GrRect.h. The same with GrIRect. R=robertphillips@google.com Author: tfarina@chromium.org Review URL: https://chromiumcodereview.appspot.com/19449002 git-svn-id: http://skia.googlecode.com/svn/trunk@10130 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move gaussianBlur functionality to src\effectsGravatar robertphillips@google.com2013-07-15
| | | | | | | | https://codereview.chromium.org/18771004/ git-svn-id: http://skia.googlecode.com/svn/trunk@10080 2bbb7eff-a529-9590-31e7-b0007b416f81
* Allow the resource cache to (indirectly) flush the InOrderDrawBufferGravatar commit-bot@chromium.org2013-07-10
| | | | | | | | | | R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://chromiumcodereview.appspot.com/18466005 git-svn-id: http://skia.googlecode.com/svn/trunk@9949 2bbb7eff-a529-9590-31e7-b0007b416f81
* Minor GrContext/GrInOrderDrawBuffer cleanupGravatar robertphillips@google.com2013-07-03
| | | | | | | | https://codereview.chromium.org/18341007/ git-svn-id: http://skia.googlecode.com/svn/trunk@9898 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add flag bits for partial GrContext resetGravatar bsalomon@google.com2013-06-28
| | | | | | | | | | | BUG=248728 R=bsalomon@google.com Committed: https://code.google.com/p/skia/source/detail?r=9802 Review URL: https://codereview.chromium.org/17027003 git-svn-id: http://skia.googlecode.com/svn/trunk@9814 2bbb7eff-a529-9590-31e7-b0007b416f81
* revert 9802 breacking tests on some configsGravatar edisonn@google.com2013-06-28
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@9805 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add flag bits for partial GrContext resetGravatar bsalomon@google.com2013-06-28
| | | | | | | | | BUG=248728 R=bsalomon@google.com Review URL: https://codereview.chromium.org/17027003 git-svn-id: http://skia.googlecode.com/svn/trunk@9802 2bbb7eff-a529-9590-31e7-b0007b416f81
* Replace fixed-size array of effect stages in GrDrawState with two appendable ↵Gravatar bsalomon@google.com2013-06-13
| | | | | | | | | | arrays, one for color, one for coverage. R=robertphillips@google.com Review URL: https://codereview.chromium.org/16952006 git-svn-id: http://skia.googlecode.com/svn/trunk@9592 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make text context responsible for setting GrPaint on GrDrawState.Gravatar bsalomon@google.com2013-06-13
| | | | | | | | R=robertphillips@google.com Review URL: https://codereview.chromium.org/16928010 git-svn-id: http://skia.googlecode.com/svn/trunk@9588 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make GrContext track the current matrix, render target, and clip directly ↵Gravatar commit-bot@chromium.org2013-05-28
| | | | | | | | | | | | rather than using GrDrawState. R=robertphillips@google.com, jvanverth@google.com Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/15821008 git-svn-id: http://skia.googlecode.com/svn/trunk@9297 2bbb7eff-a529-9590-31e7-b0007b416f81