aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/gl/GrGLRenderTarget.cpp
Commit message (Collapse)AuthorAge
* Fix mixed samples stencil clipGravatar cdalton2015-11-09
| | | | | | | | | | | | | | Fixes rendering bugs and nondeterminism in gm. Before, mixed samples stencil clip would try to infer whether the draw wanted co-centered sample locations from within GrGLGpu, which caused various errors. This change reworks it so the draw itself can request the co-centered sample locations when it knows it will need them. Also reduces framebuffer binds by moving the code that enables GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS into flushRenderTarget. Review URL: https://codereview.chromium.org/1431593006
* Add onMemoryDump to GrContextGravatar ericrk2015-09-15
| | | | | | | | | | | | | Adds an entry point to GrContext to allow enumeration and tracing of GPU resources via the newly added SkTraceMemoryDump. Plan is for Chrome to call this on each of its GrContexts. Dumps both the total size of GPU resources, as well as the total purgeable size. BUG=526261 Review URL: https://codereview.chromium.org/1313743002
* Minor fix to attaching stencilsGravatar egdaniel2015-09-15
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1344033002
* Move some of the adding stencil attachment logic of Gpu and into Render Target.Gravatar egdaniel2015-09-14
| | | | | | | | | | | | | | The new flow of calls for attaching a Stencil looks like: Client rt->attachStencilAttachment() gpu->getStencilAttachment() glgpu->createStencilAttachment() glrt->completeStencilAttachment() //actually attaches BUG=skia: Review URL: https://codereview.chromium.org/1333383002
* Fix assertion about GPU memory size when the target is not FBO 0Gravatar chinmaygarde2015-08-27
| | | | Review URL: https://codereview.chromium.org/1313783007
* Defer flushes if kPreferNoIO is specifiedGravatar robertphillips2015-08-13
| | | | | | Prior to this patch clients who were solely uploading to textures (e.g., SW Mask Mgr) would cause extra flushes b.c., even though kPreferNoIO was being specified, resources with pending IO would still be returned even though there was plenty of space in the resource cache. Review URL: https://codereview.chromium.org/1286203002
* Add support for creating texture backed images where Skia will delete the ↵Gravatar bsalomon2015-06-18
| | | | | | texture. Review URL: https://codereview.chromium.org/1187523005
* Implement support for mixed sampled render targetsGravatar vbuzinov2015-06-12
| | | | | | | | | | | | | | | | | | Adds a new FBO type kStencil_MSFBOType that is selected whenever NV_framebuffer_mixed_samples extension is available. In this new FBO type a non-msaa color buffer is created with a multisampled stencil buffer attachment. Replaces numSamples() with separate numColorSamples and numStencilSamples methods in RenderTarget. In mixed samples mode non-MSAA codepaths are used to draw simple shapes, while NVPR-rendered paths and text are rendered with a multisampled stencil. BUG=skia:3177 Review URL: https://codereview.chromium.org/1001503002
* Fix gpu memory accounting for auto-resolving MSAA.Gravatar senorblanco2015-04-30
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1115233002
* Revert of Improve tracking of bound FBOs in GrGLGpu. (patchset #17 id:320001 ↵Gravatar egdaniel2015-03-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/949263002/) Reason for revert: Perf regression on win8 hd7700 gpu skps Original issue's description: > Improve tracking of bound FBOs in GrGLGpu. > > Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0 > > Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589 > > Committed: https://skia.googlesource.com/skia/+/0b70b86a7e9fda52ee7ebc1b9897eeaa09b9abef > > Committed: https://skia.googlesource.com/skia/+/6ba6fa15261be591f33cf0e5df7134e4fc6432ac > > Committed: https://skia.googlesource.com/skia/+/dc963b9264908f53650c40a97cff414101dd3e88 > > Committed: https://skia.googlesource.com/skia/+/160f24ce0e8d6dd7ca80b78871e063d4f4609cfb TBR=bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1009563003
* Improve tracking of bound FBOs in GrGLGpu.Gravatar bsalomon2015-03-17
| | | | | | | | | | | | | | Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0 Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589 Committed: https://skia.googlesource.com/skia/+/0b70b86a7e9fda52ee7ebc1b9897eeaa09b9abef Committed: https://skia.googlesource.com/skia/+/6ba6fa15261be591f33cf0e5df7134e4fc6432ac Committed: https://skia.googlesource.com/skia/+/dc963b9264908f53650c40a97cff414101dd3e88 Review URL: https://codereview.chromium.org/949263002
* Revert of Improve tracking of bound FBOs in GrGLGpu. (patchset #16 id:300001 ↵Gravatar bsalomon2015-03-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/949263002/) Reason for revert: locally hit assert. Original issue's description: > Improve tracking of bound FBOs in GrGLGpu. > > Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0 > > Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589 > > Committed: https://skia.googlesource.com/skia/+/0b70b86a7e9fda52ee7ebc1b9897eeaa09b9abef > > Committed: https://skia.googlesource.com/skia/+/6ba6fa15261be591f33cf0e5df7134e4fc6432ac > > Committed: https://skia.googlesource.com/skia/+/dc963b9264908f53650c40a97cff414101dd3e88 TBR=egdaniel@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1017803002
* Improve tracking of bound FBOs in GrGLGpu.Gravatar bsalomon2015-03-17
| | | | | | | | | | | | Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0 Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589 Committed: https://skia.googlesource.com/skia/+/0b70b86a7e9fda52ee7ebc1b9897eeaa09b9abef Committed: https://skia.googlesource.com/skia/+/6ba6fa15261be591f33cf0e5df7134e4fc6432ac Review URL: https://codereview.chromium.org/949263002
* Revert of Improve tracking of bound FBOs in GrGLGpu. (patchset #12 id:220001 ↵Gravatar bsalomon2015-03-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/949263002/) Reason for revert: That one needs to be reverted to fix black boxes with GPU raster, and GPU bot failures. BUG=466690 Original issue's description: > Improve tracking of bound FBOs in GrGLGpu. > > Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0 > > Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589 > > Committed: https://skia.googlesource.com/skia/+/0b70b86a7e9fda52ee7ebc1b9897eeaa09b9abef > > Committed: https://skia.googlesource.com/skia/+/6ba6fa15261be591f33cf0e5df7134e4fc6432ac TBR=egdaniel@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1011493002
* Improve tracking of bound FBOs in GrGLGpu.Gravatar bsalomon2015-03-04
| | | | | | | | | | Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0 Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589 Committed: https://skia.googlesource.com/skia/+/0b70b86a7e9fda52ee7ebc1b9897eeaa09b9abef Review URL: https://codereview.chromium.org/949263002
* Revert of Improve tracking of bound FBOs in GrGLGpu. (patchset #10 id:180001 ↵Gravatar robertphillips2015-03-01
| | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/949263002/) Reason for revert: Experimentally reverting to see if this is the cause of the mac_chromium_rel_ng roll-blocking failures. Original issue's description: > Improve tracking of bound FBOs in GrGLGpu. > > Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0 > > Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589 > > Committed: https://skia.googlesource.com/skia/+/0b70b86a7e9fda52ee7ebc1b9897eeaa09b9abef TBR=egdaniel@google.com,bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/970613003
* Improve tracking of bound FBOs in GrGLGpu.Gravatar bsalomon2015-02-27
| | | | | | | | Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0 Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589 Review URL: https://codereview.chromium.org/949263002
* Revert of Improve tracking of bound FBOs in GrGLGpu. (patchset #8 id:140001 ↵Gravatar bsalomon2015-02-27
| | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/949263002/) Reason for revert: breaking things Original issue's description: > Improve tracking of bound FBOs in GrGLGpu. > > Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0 > > Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589 TBR=egdaniel@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/963973002
* Improve tracking of bound FBOs in GrGLGpu.Gravatar bsalomon2015-02-27
| | | | | | Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0 Review URL: https://codereview.chromium.org/949263002
* Revert of Improve tracking of bound FBOs in GrGLGpu. (patchset #6 id:100001 ↵Gravatar bsalomon2015-02-26
| | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/949263002/) Reason for revert: breaking hd2000 windows bots Original issue's description: > Improve tracking of bound FBOs in GrGLGpu. > > Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0 TBR=egdaniel@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/964543002
* Improve tracking of bound FBOs in GrGLGpu.Gravatar bsalomon2015-02-26
| | | | Review URL: https://codereview.chromium.org/949263002
* Make uncached textures uncached from the get go.Gravatar bsalomon2015-01-14
| | | | | | | | This avoids the problem of a newly created uncached texture causing a purge of cached resources. BUG=chromium:445885 Review URL: https://codereview.chromium.org/846303002
* Rename GrGpuGL -> GrGLGpuGravatar jvanverth2014-12-22
| | | | Review URL: https://codereview.chromium.org/824753002
* Rename GrGpuGL to GrGLGpu for consistencyGravatar bsalomon2014-12-16
| | | | Review URL: https://codereview.chromium.org/808593003
* Skia: Track the fIsWrapped separately so that we delete correctlyGravatar hendrikw2014-12-09
| | | | | | | | | | | | | | | GrGlTextureRenderTarget inherits virtually from both GrGlRenderTarget and GrGLTexture, which both have a 'wrap' flag. The passed in wrap setting could be different for the two base classes, but since it's virtually inherited, they share the same flag, so they're either both on, or both off. As a result, we fail to delete the frambuffer. To fix this, we now keep a separate isWrapped flag for GrGlRenderTarget. BUG=437998 Review URL: https://codereview.chromium.org/791493003
* Make GrGpuResource::gpuMemorySize non-virtual w/ onGpuMemorySize virtual implGravatar bsalomon2014-11-12
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/702413003
* Add class GrGLTextureRenderTarget for GL texture/rendertarget objectsGravatar bsalomon2014-11-03
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/695813003
* Separate out GrSurfaceConfig's fields from other structs used to create ↵Gravatar bsalomon2014-10-29
| | | | | | | | GrGL* subclasses of GrSurface. BUG=skia:2889 Review URL: https://codereview.chromium.org/691523002
* rename GrTextureDesc->GrSurfaceDesc, GrTextureFlags->GrSurfaceFlagsGravatar bsalomon2014-10-28
| | | | Review URL: https://codereview.chromium.org/682223002
* "NULL !=" = NULLGravatar bsalomon2014-09-05
| | | | | | | | R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/544233002
* Make GrGpuResources register with GrResourceCache2 after fully constructed.Gravatar bsalomon2014-08-26
| | | | | | | | | | Committed: https://skia.googlesource.com/skia/+/d68b3e491bb765beb7ca5e4ac8e0c80dedf5a83b R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/504313002
* Revert of Make GrGpuResources register with GrResourceCache2 after fully ↵Gravatar bsalomon2014-08-26
| | | | | | | | | | | | | | | | | | | | | constructed. (patchset #3 of https://codereview.chromium.org/504313002/) Reason for revert: Breaking the bots Original issue's description: > Make GrGpuResources register with GrResourceCache2 after fully constructed. > > Committed: https://skia.googlesource.com/skia/+/d68b3e491bb765beb7ca5e4ac8e0c80dedf5a83b R=robertphillips@google.com TBR=robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: bsalomon@google.com Review URL: https://codereview.chromium.org/488463004
* Make GrGpuResources register with GrResourceCache2 after fully constructed.Gravatar bsalomon2014-08-26
| | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/504313002
* Revert "Revert of Use the GrCacheable ID to eliminate the need for ↵Gravatar bsalomon2014-07-22
| | | | | | | | | | | | | | notifications to GrGpuGL when textures and RTs are… (https://codereview.chromium.org/376703009/)" This reverts commit 249171e7d29b5559f3eefe9dbd437030bfad3fda. Uses 32 bit id instead of 64. Renamed instanceID to uniqueID to match existing code. R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/414493002
* Revert of Use the GrCacheable ID to eliminate the need for notifications to ↵Gravatar robertphillips2014-07-20
| | | | | | | | | | | | | | | | | | | | | | | GrGpuGL when textures and RTs are… (https://codereview.chromium.org/376703009/) Reason for revert: Trying to unblock roll wedged on 64 bit intrinsic call on XP Original issue's description: > Use the GrCacheable ID to eliminate the need for notifications to GrGpuGL when textures and RTs are deleted. > > Also, rename GrCacheable::getGenerationID() to getInstanceID() since it doesn't behave like other "generation" IDs. > > Committed: https://skia.googlesource.com/skia/+/91bdbcdbbdf5cdf0fdb4518a0d30206c964cfdf6 R=jvanverth@google.com, bsalomon@google.com TBR=bsalomon@google.com, jvanverth@google.com NOTREECHECKS=true NOTRY=true Author: robertphillips@google.com Review URL: https://codereview.chromium.org/405023003
* Use the GrCacheable ID to eliminate the need for notifications to GrGpuGL ↵Gravatar bsalomon2014-07-17
| | | | | | | | | | | | when textures and RTs are deleted. Also, rename GrCacheable::getGenerationID() to getInstanceID() since it doesn't behave like other "generation" IDs. R=jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/376703009
* 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
* Fix leak of GrGLTexID when its owning GrGLTexture has been abandoned.Gravatar commit-bot@chromium.org2013-07-17
| | | | | | | | | | | BUG=260708 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/19580003 git-svn-id: http://skia.googlecode.com/svn/trunk@10132 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement support for origin-TopLeft render targets. Note that the default ↵Gravatar senorblanco@chromium.org2013-02-05
| | | | | | | | behaviour remains the same: textures default to origin-TopLeft, render targets default to origin-BottomLeft, and backend textures default to origin-BottomLeft. However, the caller can override the default by setting fOrigin in GrTextureDesc, GrBackendTextureDesc or GrBackendRenderTargetDesc. Review URL: https://codereview.appspot.com/7230049 git-svn-id: http://skia.googlecode.com/svn/trunk@7594 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reverting r7545 (render target origin change) due to layout test issues (see ↵Gravatar robertphillips@google.com2013-02-05
| | | | | | https://codereview.chromium.org/12210002/) git-svn-id: http://skia.googlecode.com/svn/trunk@7571 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement support for origin-TopLeft render targets in GL backend.Gravatar senorblanco@chromium.org2013-02-04
| | | | | | Review URL: https://codereview.appspot.com/7230049 git-svn-id: http://skia.googlecode.com/svn/trunk@7545 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add an origin flag for backend (external) textures. Some textures in WebKit ↵Gravatar senorblanco@chromium.org2013-01-28
| | | | | | | | have a topdown orientation, and skia needs to be notified of this, so that they are not drawn upside-down. Review URL: https://codereview.appspot.com/7200048 git-svn-id: http://skia.googlecode.com/svn/trunk@7414 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make GrResource know whether 3D objects' lifetimes are managed by Skia or not.Gravatar bsalomon@google.com2013-01-23
| | | | | | Review URL: https://codereview.appspot.com/7201046 git-svn-id: http://skia.googlecode.com/svn/trunk@7348 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make the orientation of a texture accessible from and known by GrSurface.Gravatar bsalomon@google.com2012-10-26
| | | | | | | R=robertphillips@google.com Review URL: https://codereview.appspot.com/6801044 git-svn-id: http://skia.googlecode.com/svn/branches/gpu_dev@6148 2bbb7eff-a529-9590-31e7-b0007b416f81
* Simplified stencil buffer cachingGravatar robertphillips@google.com2012-09-05
| | | | | | | | https://codereview.appspot.com/6503073/ git-svn-id: http://skia.googlecode.com/svn/trunk@5400 2bbb7eff-a529-9590-31e7-b0007b416f81
* Split cache-specific fields out of GrTextureDescGravatar robertphillips@google.com2012-08-13
| | | | | | | | http://codereview.appspot.com/6448143/ git-svn-id: http://skia.googlecode.com/svn/trunk@5065 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add GrSurface parent class above GrTexture & GrRenderTargetGravatar robertphillips@google.com2012-06-21
| | | | | | | | http://codereview.appspot.com/6297092/ git-svn-id: http://skia.googlecode.com/svn/trunk@4292 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move convolution from code in GrGLProgram to new GrConvolutionEffectGravatar tomhudson@google.com2012-05-10
| | | | | | | | | | | | | class. This is the first test of the new Ganesh shader pipeline. Also includes some cleanup of the gpu.gyp file: added src/gpu, allowing us to remove ../ from many #include directives. http://codereview.appspot.com/6199053/ git-svn-id: http://skia.googlecode.com/svn/trunk@3887 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move GL-specific source code to make room for D3D back end.Gravatar tomhudson@google.com2012-02-10
git-svn-id: http://skia.googlecode.com/svn/trunk@3165 2bbb7eff-a529-9590-31e7-b0007b416f81