aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/gpu
Commit message (Collapse)AuthorAge
* Add GL_CHROMIUM_map_sub functions to GrGLInterface and bit to GrGLCaps.Gravatar commit-bot@chromium.org2014-04-15
| | | | | | | | | | | BUG=skia:2402 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/231773003 git-svn-id: http://skia.googlecode.com/svn/trunk@14199 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move distance field generation to the glyph cache.Gravatar commit-bot@chromium.org2014-04-14
| | | | | | | | | | | | | | Distance fields are currently created in GrTextStrike, which is the wrong place. This moves that to the glyph cache where it belongs. As part of my testing, I found that when we fall back to paths in the GrDistanceFieldTextContext it was not scaling them properly, so that's fixed in here too. R=robertphillips@google.com, reed@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/227593010 git-svn-id: http://skia.googlecode.com/svn/trunk@14193 2bbb7eff-a529-9590-31e7-b0007b416f81
* Update bench to be able to preprocess skpsGravatar commit-bot@chromium.org2014-04-11
| | | | | | | | | | | | This allows benchmarking of optimization improvements and plumbs in the purging API. The purging is necessary so we don't magically get faster because the saveLayers are always pre-generated. R=jvanverth@google.com, reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/233663002 git-svn-id: http://skia.googlecode.com/svn/trunk@14154 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add MakeEmpty to GrIRect16Gravatar commit-bot@chromium.org2014-04-10
| | | | | | | | | | | | The GrLayerCache will use this capability. R=jvanverth@google.com, reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/232563007 git-svn-id: http://skia.googlecode.com/svn/trunk@14136 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
* remove SK_SUPPORT_LEGACY_COMPATIBLEDEVICE_CONFIGGravatar commit-bot@chromium.org2014-04-07
| | | | | | | | | | | | | remove SK_SUPPORT_LEGACY_GETDEVICECAPABILITIES BUG=skia: R=robertphillips@google.com, bsalomon@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/227643005 git-svn-id: http://skia.googlecode.com/svn/trunk@14083 2bbb7eff-a529-9590-31e7-b0007b416f81
* SkNonCopyable should be used with private inheritance.Gravatar commit-bot@chromium.org2014-04-07
| | | | | | | | | | | | | | | This is mostly s/public SkNoncopyable/SkNoncopyable/g. Two classes (SkDrawLooper::Context and SkPicture::OperationList) don't actually work with SkNoncopyable because they introduce a virtual destructor. I added SkNoncopyableVirtual to make them work as intended. Sort of questionable whether they really need to be noncopyable in the first place, but I guess it doesn't hurt to keep the behavior the same. BUG=skia: R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/226183018 git-svn-id: http://skia.googlecode.com/svn/trunk@14081 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
* Minor changes to GrFontCache system.Gravatar commit-bot@chromium.org2014-04-01
| | | | | | | | | | | | The main change is parameterizing the GrAtlasMgr so it can have a different sized backing texture and a different number of plots. This is in support of the saveLayer cache which has a smaller backing texture and only one plot. R=jvanverth@google.com, bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/217423014 git-svn-id: http://skia.googlecode.com/svn/trunk@14011 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add GL_ARB_invalidate_subdata functions to GrGLInterface.Gravatar bsalomon@google.com2014-04-01
| | | | | | | | | BUG=skia:1541 R=egdaniel@google.com Review URL: https://codereview.chromium.org/217503003 git-svn-id: http://skia.googlecode.com/svn/trunk@14004 2bbb7eff-a529-9590-31e7-b0007b416f81
* Actually identify required saveLayers in SkGpuDevice::EXPERIMENTAL_drawPictureGravatar commit-bot@chromium.org2014-03-31
| | | | | | | | | | | NOTRY=true R=bsalomon@google.com, rmistry@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/212933002 git-svn-id: http://skia.googlecode.com/svn/trunk@13993 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
* remove all references to legacy Config8888Gravatar reed@google.com2014-03-26
| | | | | | | | | BUG=skia: R=bsalomon@google.com Review URL: https://codereview.chromium.org/211043002 git-svn-id: http://skia.googlecode.com/svn/trunk@13952 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
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-03-21
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13889 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "hide Config8888 entirely". Broke a bunch of builds.Gravatar bsalomon@google.com2014-03-20
| | | | | | | | | | | | | | | This reverts commit fa11c49cc11a6c9ebafbf9c59e118917f9b3cc56. Revert "Sanitizing source files in Housekeeper-Nightly" to make the above revert clean. This reverts commit b5787422c8eb2a27a9576777597fd9e06784acdb. TBR=reed@google.com TBR=jcgregorio@google.com Review URL: https://codereview.chromium.org/205963003 git-svn-id: http://skia.googlecode.com/svn/trunk@13872 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-03-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13871 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
* Fix accessBitmap() with deferred clear, GPU path.Gravatar senorblanco@chromium.org2014-03-19
| | | | | | | | | | | | | | | | | | | When accessBitmap() is called on a GPU device which has deferred clear, and no drawing has been done, force the clear before returning the bitmap. This is covered by the top right test case in the imagefilterscropexpand GM, where an offset image filter is drawn but the resulting bitmap is cropped out, resulting in no drawing to the offscreen. It should be empty, but without this fix it results in garbage (previous scratch texture contents). BUG=skia: R=bsalomon@google.com Review URL: https://codereview.chromium.org/204903002 git-svn-id: http://skia.googlecode.com/svn/trunk@13860 2bbb7eff-a529-9590-31e7-b0007b416f81
* add new readPixels with direct memory parametersGravatar commit-bot@chromium.org2014-03-17
| | | | | | | | | | | BUG=skia: R=scroggo@google.com, bsalomon@google.com, robertphillips@google.com, fmalita@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/199413013 git-svn-id: http://skia.googlecode.com/svn/trunk@13840 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove SK_SUPPORT_LEGACY_WRITEPIXELSCONFIG -- dead codeGravatar commit-bot@chromium.org2014-03-17
| | | | | | | | | | | BUG=skia: R=halcanary@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/201973003 git-svn-id: http://skia.googlecode.com/svn/trunk@13834 2bbb7eff-a529-9590-31e7-b0007b416f81
* Proposed SkCanvas API for preLoading textures to VRAM v2.0Gravatar commit-bot@chromium.org2014-03-16
| | | | | | | | | | | | | | This is an update to (Proposed SkCanvas API for preLoading textures to VRAM - https://codereview.chromium.org/192853002/). It takes into account in-person feedback on the initial proposal. The main feedback was to land this closer to where we will ultimately wind up with the reordered rendering capability (and don't have an SkCanvas entry point (yet)). Committed: http://code.google.com/p/skia/source/detail?r=13810 R=reed@google.com, bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/197123003 git-svn-id: http://skia.googlecode.com/svn/trunk@13822 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert r13810 (Proposed SkCanvas API for preLoading textures to VRAM v2.0)Gravatar robertphillips@google.com2014-03-14
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13811 2bbb7eff-a529-9590-31e7-b0007b416f81
* Proposed SkCanvas API for preLoading textures to VRAM v2.0Gravatar commit-bot@chromium.org2014-03-14
| | | | | | | | | | | | This is an update to (Proposed SkCanvas API for preLoading textures to VRAM - https://codereview.chromium.org/192853002/). It takes into account in-person feedback on the initial proposal. The main feedback was to land this closer to where we will ultimately wind up with the reordered rendering capability (and don't have an SkCanvas entry point (yet)). R=reed@google.com, bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/197123003 git-svn-id: http://skia.googlecode.com/svn/trunk@13810 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement support for a Context parameter in image filtersGravatar senorblanco@chromium.org2014-03-14
| | | | | | | | | | | | | | | Some upcoming work (support for expanding crop rects) requires the clip bounds to be available during filter traversal. This change replaces the SkMatrix parameter in the onFilterImage() traversals with a Context parameter. It contains the CTM, as well as the clip bounds. BUG=skia: R=reed@google.com Review URL: https://codereview.chromium.org/189913021 git-svn-id: http://skia.googlecode.com/svn/trunk@13803 2bbb7eff-a529-9590-31e7-b0007b416f81
* getDeviceCapabilities is no longer need, so remove itGravatar commit-bot@chromium.org2014-03-13
| | | | | | | | | | | BUG=skia: R=bungeman@google.com, vandebo@chromium.org Author: reed@google.com Review URL: https://codereview.chromium.org/198943003 git-svn-id: http://skia.googlecode.com/svn/trunk@13797 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
* Add SkCanvas::writePixels that takes info+pixels directlyGravatar commit-bot@chromium.org2014-03-07
| | | | | | | | | | | | | add corresponding methods to device (w/ diff name to avoid colliding with exising virtuals) BUG=skia: R=bsalomon@google.com, robertphillips@google.com, junov@google.com, junov@chromium.org Author: reed@google.com Review URL: https://codereview.chromium.org/180113010 git-svn-id: http://skia.googlecode.com/svn/trunk@13697 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-03-06
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13679 2bbb7eff-a529-9590-31e7-b0007b416f81
* Unify edge type enums across GrEffect subclasses that clip rendering to a ↵Gravatar commit-bot@chromium.org2014-03-05
| | | | | | | | | | | | | geometry. BUG=skia: R=egdaniel@google.com, robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/183893023 git-svn-id: http://skia.googlecode.com/svn/trunk@13674 2bbb7eff-a529-9590-31e7-b0007b416f81
* Cleanup GrGLInterface after Chromium changesGravatar commit-bot@chromium.org2014-02-28
| | | | | | | | | | | | Depends on landing https://codereview.chromium.org/143263014 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/149533002 git-svn-id: http://skia.googlecode.com/svn/trunk@13630 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add SK_API to GrGLExtensionsGravatar commit-bot@chromium.org2014-02-25
| | | | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/177653007 git-svn-id: http://skia.googlecode.com/svn/trunk@13574 2bbb7eff-a529-9590-31e7-b0007b416f81
* Use vertex buffer objects instead of client side arrays in fixed-function ↵Gravatar commit-bot@chromium.org2014-02-24
| | | | | | | | | | | | | | | | | | | | | | | codepaths Pass vertices to the fixed-function shaders in vertex buffer object stored at attribute 0. This is specified in OpenGL Compatibility Profile Section 10.8.2 (Transferring Vertices With Vertex Attribute Zero). This makes future integration to Chromium command buffer better, since the command buffer already has code for vertex buffer objects but not vertex arrays. Delete unused function pointers related to fixed-function codepaths. R=bsalomon@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/130423013 git-svn-id: http://skia.googlecode.com/svn/trunk@13557 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add hooks for GL_EXT_debug_marker in gpuGravatar commit-bot@chromium.org2014-02-21
| | | | | | | | | | | BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/174123003 git-svn-id: http://skia.googlecode.com/svn/trunk@13538 2bbb7eff-a529-9590-31e7-b0007b416f81
* Analytic rrect clip for cicular corners, radius >= 0.5Gravatar commit-bot@chromium.org2014-02-19
| | | | | | | | | | | BUG=skia:2181 R=robertphillips@google.com, jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/171413004 git-svn-id: http://skia.googlecode.com/svn/trunk@13498 2bbb7eff-a529-9590-31e7-b0007b416f81
* Change device factories to take SkImageInfo instead of SkBitmap::ConfigGravatar commit-bot@chromium.org2014-02-16
| | | | | | | | | | | | | patch from issue 167033002 BUG=skia: R=reed@google.com Author: reed@chromium.org Review URL: https://codereview.chromium.org/168653002 git-svn-id: http://skia.googlecode.com/svn/trunk@13463 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
* Specialize GrConvexPolyEffect for AA rects, use for AA clip rects.Gravatar commit-bot@chromium.org2014-02-08
| | | | | | | | | | | BUG=skia:2051 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/140093004 git-svn-id: http://skia.googlecode.com/svn/trunk@13375 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make SkImageFilter methods const.Gravatar commit-bot@chromium.org2014-02-05
| | | | | | | | | | | | | | SkImageFilter had some non-const methods that could all be made const. This is a first step towards making SkImageFilter immutable. BUG=skia:2097 R=mtklein@google.com, reed@google.com, robertphillips@google.com Author: dominikg@chromium.org Review URL: https://codereview.chromium.org/148883011 git-svn-id: http://skia.googlecode.com/svn/trunk@13330 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove SkCanvas::createCompatibleDevice, and add SkCanvas::newSurfaceGravatar reed@google.com2014-02-05
| | | | | | | | | BUG=skia: R=bsalomon@google.com Review URL: https://codereview.chromium.org/154163002 git-svn-id: http://skia.googlecode.com/svn/trunk@13319 2bbb7eff-a529-9590-31e7-b0007b416f81
* Replace factory generation of TextContexts with persistent objects.Gravatar commit-bot@chromium.org2014-01-30
| | | | | | | | | | | BUG=skia:2018 R=bsalomon@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/150743002 git-svn-id: http://skia.googlecode.com/svn/trunk@13249 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move GrTextContext to private interfaceGravatar commit-bot@chromium.org2014-01-30
| | | | | | | | | | | NOTRY=true R=bsalomon@google.com, reed@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/145073005 git-svn-id: http://skia.googlecode.com/svn/trunk@13239 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add fallback code for TextContexts that don't support all featuresGravatar commit-bot@chromium.org2014-01-30
| | | | | | | | | | | | | BUG=skia:2018 NOTRY=true R=bsalomon@google.com, reed@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/135683006 git-svn-id: http://skia.googlecode.com/svn/trunk@13236 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-01-29
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13228 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add standalone drawText for GrTextContext.Gravatar commit-bot@chromium.org2014-01-28
| | | | | | | | | | | | | | | This unifies the interface between GrBitmapTextContext and GrDistanceFieldTextContext so that they don't need special case code. The future GrNVPRTextContext will also use this interface. BUG=skia:2018 R=bsalomon@google.com, reed@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/141863005 git-svn-id: http://skia.googlecode.com/svn/trunk@13227 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-01-25
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13181 2bbb7eff-a529-9590-31e7-b0007b416f81