aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrTexture.cpp
Commit message (Collapse)AuthorAge
* 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
* rename GrDrawTargetCaps.h to GrCaps.h and move to includeGravatar bsalomon2015-05-22
| | | | Review URL: https://codereview.chromium.org/1135113005
* Dynamically create stencil buffer when needed.Gravatar bsalomon2015-02-23
| | | | Review URL: https://codereview.chromium.org/938383004
* More cleanup around GrContext, textures, and SkGr.cppGravatar bsalomon2015-02-04
| | | | Review URL: https://codereview.chromium.org/880983008
* Allow unbudgeted resources to be recycled by the cache as scratch.Gravatar bsalomon2015-01-23
| | | | Review URL: https://codereview.chromium.org/870743002
* Add specialized content key class for resources.Gravatar bsalomon2015-01-23
| | | | Review URL: https://codereview.chromium.org/858123002
* 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
* Add a simpler key type for scratch resource keys.Gravatar bsalomon2014-12-30
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/815833004
* Rename GrGpuGL -> GrGLGpuGravatar jvanverth2014-12-22
| | | | Review URL: https://codereview.chromium.org/824753002
* Replace GrResourceCache with GrResourceCache2.Gravatar bsalomon2014-11-14
| | | | | | | | | | BUG=skia:2889 Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6 Committed: https://skia.googlesource.com/skia/+/407aa584d183c1bf314f5defd1cf0202e8a96c89 Review URL: https://codereview.chromium.org/716143004
* Revert of Replace GrResourceCache with GrResourceCache2. (patchset #7 ↵Gravatar bsalomon2014-11-14
| | | | | | | | | | | | | | | | | | | | | | | id:120001 of https://codereview.chromium.org/716143004/) Reason for revert: broken again Original issue's description: > Replace GrResourceCache with GrResourceCache2. > > BUG=skia:2889 > > Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6 > > Committed: https://skia.googlesource.com/skia/+/407aa584d183c1bf314f5defd1cf0202e8a96c89 TBR=robertphillips@google.com NOTREECHECKS=true NOTRY=true BUG=skia:2889 Review URL: https://codereview.chromium.org/726913002
* Replace GrResourceCache with GrResourceCache2.Gravatar bsalomon2014-11-14
| | | | | | | | BUG=skia:2889 Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6 Review URL: https://codereview.chromium.org/716143004
* Revert of Replace GrResourceCache with GrResourceCache2. (patchset #6 ↵Gravatar bsalomon2014-11-13
| | | | | | | | | | | | | | | | | | | | | id:100001 of https://codereview.chromium.org/716143004/) Reason for revert: Breaking stuff Original issue's description: > Replace GrResourceCache with GrResourceCache2. > > BUG=skia:2889 > > Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6 TBR=robertphillips@google.com NOTREECHECKS=true NOTRY=true BUG=skia:2889 Review URL: https://codereview.chromium.org/715333003
* Replace GrResourceCache with GrResourceCache2.Gravatar bsalomon2014-11-13
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/716143004
* Make GrGpuResource::gpuMemorySize non-virtual w/ onGpuMemorySize virtual implGravatar bsalomon2014-11-12
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/702413003
* Use GrResourceCache2 to service content key lookupsGravatar bsalomon2014-11-10
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/707493002
* Add class GrGLTextureRenderTarget for GL texture/rendertarget objectsGravatar bsalomon2014-11-03
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/695813003
* rename GrTextureDesc->GrSurfaceDesc, GrTextureFlags->GrSurfaceFlagsGravatar bsalomon2014-10-28
| | | | Review URL: https://codereview.chromium.org/682223002
* Delete unused method aliases and texture flag.Gravatar bsalomon2014-10-24
| | | | | | Committed: https://skia.googlesource.com/skia/+/7fdffe41494cbd78a8ee2a6ef0509e46ec77039f Review URL: https://codereview.chromium.org/672753002
* Revert of Delete unused method aliases and texture flag. (patchset #1 id:1 ↵Gravatar bsalomon2014-10-23
| | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/672753002/) Reason for revert: Need to remove one more reference to this in blink before relanding. Original issue's description: > Delete unused method aliases and texture flag. > > Committed: https://skia.googlesource.com/skia/+/7fdffe41494cbd78a8ee2a6ef0509e46ec77039f TBR=robertphillips@google.com NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/671203002
* Delete unused method aliases and texture flag.Gravatar bsalomon2014-10-23
| | | | Review URL: https://codereview.chromium.org/672753002
* Remove uses of GrAutoScratchTexture.Gravatar bsalomon2014-10-14
| | | | | | | | | | Rename GrContext::lockAndRefScratchTexture to refScratchTexture. GrSurface::writePixels returns bool instead of void. BUG=skia:2889 Review URL: https://codereview.chromium.org/638403003
* Devirtualize read/write pixels on surface.Gravatar bsalomon2014-10-13
| | | | | | | | Consolidate read/write funcs in context. Remove support for reading pixels from a surface that's not a target. It's currently broken and neither used nor tested. Review URL: https://codereview.chromium.org/648863002
* GrResourceCache2 manages scratch texture.Gravatar bsalomon2014-10-08
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/608883003
* Revert "GrResourceCache2 manages scratch texture."Gravatar Brian Salomon2014-10-07
| | | | This reverts commit d14e1a27643125bfef37fa0ed314b64c1fae22b7.
* GrResourceCache2 manages scratch texture.Gravatar bsalomon2014-10-07
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/608883003
* Make "priv" classes for GrTexure and GrSurface.Gravatar bsalomon2014-09-30
| | | | | | | | R=robertphillips@google.com, egdaniel@google.com, joshualitt@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/596053002
* Revert of Make "priv" classes for GrTexure and GrSurface. (patchset #9 ↵Gravatar robertphillips2014-09-30
| | | | | | | | | | | | | | | | | | | | | | | id:260001 of https://codereview.chromium.org/596053002/) Reason for revert: Breaking the Chrome builds with: lib/libcc.so: error: undefined reference to 'GrAutoScratchTexture::detach()' (http://108.170.220.120:10117/builders/Canary-Chrome-Ubuntu13.10-Ninja-x86_64-DRT/builds/2990/steps/Retry_BuildContentShell_1/logs/stdio) Original issue's description: > Make "priv" classes for GrTexure and GrSurface. R=egdaniel@google.com, joshualitt@google.com, bsalomon@google.com TBR=bsalomon@google.com, egdaniel@google.com, joshualitt@google.com NOTREECHECKS=true NOTRY=true Author: robertphillips@google.com Review URL: https://codereview.chromium.org/618733002
* Revert of GrResourceCache2 manages scratch texture. (patchset #14 id:260001 ↵Gravatar robertphillips2014-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/608883003/) Reason for revert: Turning bots red: Nanobench seems to be uniformly failing on Android (http://108.170.220.21:10117/builders/Perf-Android-Venue8-PowerVR-x86-Release/builds/99/steps/RunNanobench/logs/stdio) Ubuntu GTX660 32bit is failing in both Debug and Release on GM generation (it appears to be out of memory) (http://108.170.220.120:10117/builders/Test-Ubuntu12-ShuttleA-GTX660-x86-Debug/builds/2457/steps/GenerateGMs/logs/stdio) Original issue's description: > GrResourceCache2 manages scratch texture. > > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/3d398c876440deaab39bbf2a9b881c337e6dc8d4 R=bsalomon@google.com TBR=bsalomon@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Author: robertphillips@google.com Review URL: https://codereview.chromium.org/611383003
* GrResourceCache2 manages scratch texture.Gravatar bsalomon2014-09-30
| | | | | | | | | BUG=skia: R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/608883003
* Make "priv" classes for GrTexure and GrSurface.Gravatar bsalomon2014-09-29
| | | | | | | | R=robertphillips@google.com, egdaniel@google.com, joshualitt@google.com, joshualitt@chromium.org Author: bsalomon@google.com Review URL: https://codereview.chromium.org/596053002
* "NULL !=" = NULLGravatar bsalomon2014-09-05
| | | | | | | | R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/544233002
* Make textures register with GrResourceCache2 as scratch.Gravatar bsalomon2014-08-28
| | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/510053003
* Consider index8 a compressed config.Gravatar bsalomon2014-08-11
| | | | | | | | R=krajcevski@google.com, robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/457333004
* Some fixes around GrContext::abandonContext:Gravatar bsalomon2014-07-29
| | | | | | | | | | | | | | Fix debug crash when GrResourceCache is destroyed after GrContext is abandoned while GrTextures are in the exlusive list. Notify debug GL context that GL resources are expected to remain undeleted when context is destroyed after being abandoned. Stop leaking program cache entries when context is abandoned. R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/422323002
* Make GrCacheable implement its own ref counting.Gravatar bsalomon2014-07-21
| | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/392333008
* Add new ASTC pixel configGravatar krajcevski2014-07-16
| | | | | | | | R=bsalomon@google.com, robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/399623004
* R11 EAC texture compression is introduced as part of the OpenGL ES 3.0 spec. ↵Gravatar krajcevski2014-06-30
| | | | | | | | | | This is a format that will likely be required on most mobile phones in the upcoming years, making it better to target than LATC, which is only available on NVIDIA GPUs. R=bsalomon@google.com, robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/330763008
* Remove GrIsPow2 in favor of SkIsPow2.Gravatar tfarina2014-06-06
| | | | | | | | | | | | | Looks like there is no good reason to have two copies of this function doing the same thing with different name. BUG=None TEST=make tests R=bsalomon@google.com Author: tfarina@chromium.org Review URL: https://codereview.chromium.org/318873002
* Move the LATC and ETC1 enum values to GrPixelConfig. I also tried to put in ↵Gravatar commit-bot@chromium.org2014-05-30
| | | | | | | | | | | | | | checks in a few places to make sure that we weren't using these pixel configurations in places that we shouldn't be. LATC is a DXT-esque alpha compression format that goes by a few other names (RGTC, 3DC). It might be useful to investigate using it to compress the alpha masks that we get from software rasterization. This patch set adds enums for that and recognition whether or not the device can support it. R=bsalomon@google.com, robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/304743004 git-svn-id: http://skia.googlecode.com/svn/trunk@14991 2bbb7eff-a529-9590-31e7-b0007b416f81
* 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
* Adds a mechanism for GrCacheable objects to notify the resource cacheGravatar commit-bot@chromium.org2014-05-05
| | | | | | | | | | | | | | | | | when their size has changed. GrResourceCacheEntry now holds a reference to the cache, and a cached value of the resource's most recent size. Also utilizes this new functionality for mipmaps, and adds a test for changing resource sizes. R=bsalomon@google.com, robertphillips@google.com Author: cdalton@nvidia.com Review URL: https://codereview.chromium.org/257093002 git-svn-id: http://skia.googlecode.com/svn/trunk@14576 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix compilation with SK_ENABLE_INST_COUNT=1Gravatar commit-bot@chromium.org2013-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add INHERITED declarations to class declarations that prevent compilation with the flag. Remove SK_DEFINE_INST_COUNT from all class implementations. Instead, use function-local static variables in the reference count helper classes to create the global instances to store the needed info. The accessor functions are defined inline in the helper classes, so definitions are not needed. The initialization point of the variables should be as well defined as previously. Remove SK_DECLARE_INST_COUNT_TEMPLATE and use SK_DECLARE_INST_COUNT instead. This avoids possible future compilation errors further. For SK_ENABLE_INST_COUNT=0 compilation, add an empty static member function to all classes that use SK_DECLARE_INST_COUNT and SK_DECLARE_INST_COUNT_ROOT macros. The function ensures that classes contain public INHERITED typedef. This member function seems to be compiled away. This shouĺd ensure that part of the compilation errors are caught earlier. Also adds DSK_DECLARE_INST_COUNT to few SkPDFDict subclasses. R=robertphillips@google.com, richardlin@chromium.org, bsalomon@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/98703002 git-svn-id: http://skia.googlecode.com/svn/trunk@12501 2bbb7eff-a529-9590-31e7-b0007b416f81
* Minor changesGravatar robertphillips@google.com2013-10-24
| | | | | | | | https://codereview.chromium.org/39973004/ git-svn-id: http://skia.googlecode.com/svn/trunk@11940 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
* 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
* Reland of 8525 with fix for case when GrRT outlives GrTexture.Gravatar bsalomon@google.com2013-04-09
| | | | | | Review URL: https://codereview.chromium.org/13814015 git-svn-id: http://skia.googlecode.com/svn/trunk@8573 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert 8525,8526 pending investigation of bench_pictures crashes.Gravatar bsalomon@google.com2013-04-03
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8527 2bbb7eff-a529-9590-31e7-b0007b416f81