aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
Commit message (Collapse)AuthorAge
* 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
* This cl moves color and coverage off of drawstate. In an effort to keep ↵Gravatar joshualitt2014-12-09
| | | | | | | | | | this CL manageable, I have left the compute invariant input / output in a bit of a strange state(fixing this will be complicated). In addition, NVPR makes this very complicated, and I haven't quite figured out a good way to handle it, so for now color and coverage DO live on optstate, but I will figure out some way to refactor that in future CLs. BUG=skia: Review URL: https://codereview.chromium.org/783763002
* Remove unused static function skcolor_to_grcolor_nopremultiply.Gravatar egdaniel2014-12-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/762223003
* Fix for alpha textures on Nexus 6.Gravatar jvanverth2014-12-09
| | | | | | | | Nexus 6 appears to require a sized internal format for A8 textures, much like other newer mobile devices. Changed to use sized format for A8 textures in general with ES 3.0. Review URL: https://codereview.chromium.org/783523003
* Don't call GetShaderPrecisionFormat for geometry shaders.Gravatar bsalomon2014-12-09
| | | | | | TBR=egdaniel@google.com Review URL: https://codereview.chromium.org/791713002
* Make all blending up to GrOptDrawState be handled by the xp/xp factory.Gravatar egdaniel2014-12-09
| | | | | | | | | | | | In this cl the blending information is extracted for the xp and stored in the ODS which is then used as it currently is. In the follow up cl, an XP backend will be added and at that point all blending work will take place inside XP's. BUG=skia: Committed: https://skia.googlesource.com/skia/+/7c66342a399b529634bed0fabfaa562db2c0dbd4 Review URL: https://codereview.chromium.org/759713002
* Use threshold of 1 texture coord value per pixel w/ nearest neighbor.Gravatar bsalomon2014-12-09
| | | | Review URL: https://codereview.chromium.org/787873002
* Use GrCoordTransform precision to set uniform matrix precisionGravatar bsalomon2014-12-09
| | | | Review URL: https://codereview.chromium.org/784103003
* Rename CustomCoordTextureEffect to GrBitmapTextGeoProc.Gravatar egdaniel2014-12-09
| | | | | | | | Also add in explicit set for LCD text in invariantOutput. BUG=skia: Review URL: https://codereview.chromium.org/786293002
* Make addUniform take a precisionGravatar bsalomon2014-12-09
| | | | Review URL: https://codereview.chromium.org/788733003
* Move shader precision out of GrShaderVarGravatar bsalomon2014-12-09
| | | | Review URL: https://codereview.chromium.org/777443003
* Use texture size to determine precision of texture coord varyings.Gravatar bsalomon2014-12-09
| | | | Review URL: https://codereview.chromium.org/778783002
* Revert of Make all blending up to GrOptDrawState be handled by the xp/xp ↵Gravatar egdaniel2014-12-08
| | | | | | | | | | | | | | | | | | | | | | | | | factory. (patchset #7 id:140001 of https://codereview.chromium.org/759713002/) Reason for revert: break many gm's Original issue's description: > Make all blending up to GrOptDrawState be handled by the xp/xp factory. > > In this cl the blending information is extracted for the xp and stored in the ODS > which is then used as it currently is. In the follow up cl, an XP backend will be added > and at that point all blending work will take place inside XP's. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/7c66342a399b529634bed0fabfaa562db2c0dbd4 TBR=bsalomon@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/766653008
* Make all blending up to GrOptDrawState be handled by the xp/xp factory.Gravatar egdaniel2014-12-08
| | | | | | | | | | In this cl the blending information is extracted for the xp and stored in the ODS which is then used as it currently is. In the follow up cl, an XP backend will be added and at that point all blending work will take place inside XP's. BUG=skia: Review URL: https://codereview.chromium.org/759713002
* Add support for half float alpha textures.Gravatar jvanverth2014-12-05
| | | | | | | | | This allows us to create distance field textures with better precision, which may help text quality. BUG=skia:3103 Review URL: https://codereview.chromium.org/762923003
* Check XpFactory equality in DrawStateGravatar egdaniel2014-12-05
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/767873006
* Fix include for GrPortderDuffXferProcessor.cppGravatar egdaniel2014-12-05
| | | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/771353005
* get rid of static gpsGravatar joshualitt2014-12-05
| | | | | | | | | This may cause a perf regression TBR= BUG=skia: Review URL: https://codereview.chromium.org/749413003
* Move GrPorterDuffXferProcessor to include/gpu/effects.Gravatar egdaniel2014-12-05
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/780263003
* Fix overoptimization in distance field code on N7 and N10.Gravatar jvanverth2014-12-05
| | | | | | BUG=skia:3188 Review URL: https://codereview.chromium.org/772633003
* clean up default precision handlingGravatar bsalomon2014-12-04
| | | | | | R=joshualitt@google.com Review URL: https://codereview.chromium.org/766753006
* Remove backend factoriesGravatar joshualitt2014-12-04
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/778453002
* Ganesh text rendering cleanup.Gravatar jvanverth2014-12-04
| | | | | | | | | Rename GrTextStrike.{cpp.h} to GrFontCache.{cpp,h} Move contents of GrTextStrike_impl.h to GrFontCache.h Move glyph uploading to a separate function and remove harmful gotos Add assert on glyph upload failure (shouldn't happen) Review URL: https://codereview.chromium.org/780923002
* create and thread batch tracker objectGravatar joshualitt2014-12-04
| | | | | | | | | | I remove the factory on the next CL BUG=skia: Committed: https://skia.googlesource.com/skia/+/c3a6eb23483e5d28073b509a5f637f41660de294 Review URL: https://codereview.chromium.org/772513002
* move program descriptor generation to flushGravatar joshualitt2014-12-04
| | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/829e1b80b1020b17f2078020c990e079b70c077c Review URL: https://codereview.chromium.org/777673003
* Fix SKPBench tiling so MPD and non-MPD matchGravatar robertphillips2014-12-04
| | | | | | | | | | Two issues with the SKPBench tile computation were causing the MPD path to do more work: The clip from the parent canvas wasn't being used to trim content off the edges of the MPD tiles The non-MPD path was not taking the scale into account in its tile placement (resulting in it having fewer, larger active tiles when scaling). Review URL: https://codereview.chromium.org/776273002
* Change clear() to respect the clipGravatar reed2014-12-04
| | | | | | | | | This reverts commit af641a1c10f176cb9617026d3cc93c117a85d13d. BUG=skia: TBR= Review URL: https://codereview.chromium.org/783493002
* Revert of move program descriptor generation to flush (patchset #7 id:120001 ↵Gravatar joshualitt2014-12-04
| | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/777673003/) Reason for revert: breaking linux build Original issue's description: > move program descriptor generation to flush > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/829e1b80b1020b17f2078020c990e079b70c077c TBR=egdaniel@google.com,bsalomon@google.com,joshualitt@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/776243005
* Revert of create and thread batch tracker object (patchset #9 id:160001 of ↵Gravatar joshualitt2014-12-04
| | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/772513002/) Reason for revert: Breaking linux layout test Original issue's description: > create and thread batch tracker object > > I remove the factory on the next CL > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/c3a6eb23483e5d28073b509a5f637f41660de294 TBR=bsalomon@google.com,joshualitt@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/774133003
* create and thread batch tracker objectGravatar joshualitt2014-12-03
| | | | | | | | I remove the factory on the next CL BUG=skia: Review URL: https://codereview.chromium.org/772513002
* move program descriptor generation to flushGravatar joshualitt2014-12-03
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/777673003
* Remove guard on and enable vertexAttrib function pts on GrGLInterface.Gravatar egdaniel2014-12-03
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/774303003
* Use static XPF for porter duff xp factories.Gravatar egdaniel2014-12-03
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/776843004
* Add glGetShaderPrecisionFormatGravatar bsalomon2014-12-03
| | | | Review URL: https://codereview.chromium.org/778703003
* Add XferProcessor factory in GrPaint and GrDrawState.Gravatar egdaniel2014-12-03
| | | | | | | | In this CL the XP should have zero effect on the actual rendering pipeline. BUG=skia: Review URL: https://codereview.chromium.org/751283002
* bug fix for cubic low precisionGravatar joshualitt2014-12-03
| | | | | | | TBR= BUG=skia: Review URL: https://codereview.chromium.org/776953002
* Remove unused constants.Gravatar mtklein2014-12-03
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/773193004
* Fuse GrReplacements and GrLayerCacheGravatar robertphillips2014-12-03
| | | | | | The conversion step from GrCachedLayer to ReplacementInfo isn't necessary. Review URL: https://codereview.chromium.org/769533004
* First step to moving vertex attributes to the geometryProcessorGravatar joshualitt2014-12-03
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/761563002
* Revert "Change clear() to respect the clip"Gravatar reed2014-12-02
| | | | | | | | | This reverts commit 3729469d6a12266037b697c2192768545e097ab0. BUG=skia: TBR= Review URL: https://codereview.chromium.org/778563002
* check matrix does not have rotation or perspective transformationGravatar derekf2014-12-02
| | | | | | | | | | | When checking whether we need apply AA to a rect for non-msaa target, simply checking that the mapped rect is integer is not enough. We need to check whether the transformation matrix has transformations other than simple translation. Original-Author: Henry Song <henrysong@samsung.com> Review URL: https://codereview.chromium.org/772953002
* use drawRect when drawing a bitmap with anti-aliasing on a non-msaa targetGravatar derekf2014-12-02
| | | | | | | | | | | | If the dest isn't pixel aligned, or if a non 90 degree rotation is present, we need to use drawRect() for drawing anti-aliased bitmaps on non-msaa targets or the edges won't be anti-aliased as intended. Note: If the bitmap size is bigger than max texture size we fall back to drawBitmapCommon. Original-Author: Henry Song <henrysong@samsung.com> Review URL: https://codereview.chromium.org/649313003
* Change clear() to respect the clipGravatar reed2014-12-02
| | | | | | | | patch from issue 769703002 at patchset 1 (http://crrev.com/769703002#ps1) BUG=skia: Review URL: https://codereview.chromium.org/772533004
* move some copy surface stuff to GrFlushToGpuDrawTargetGravatar bsalomon2014-12-02
| | | | Review URL: https://codereview.chromium.org/770813002
* SkColorTable locking serves no purpose anymore.Gravatar mtklein2014-12-02
| | | | | | | | | The only thing the unlock methods were doing was assert their balance. This removes the unlock methods and renames the lock methods "read". BUG=skia: Review URL: https://codereview.chromium.org/719213008
* Remove commentGravatar robertphillips2014-12-02
| | | | Review URL: https://codereview.chromium.org/770323002
* skia: Prevent GL_RED from being used with MESAGravatar hendrikw2014-12-02
| | | | | | | | | MESA unfortunately doesn't support GL_RED or GL_RG when used with frame buffers. Don't allow fTextureRedSupport to be set when using MESA. BUG=skia:3181 Review URL: https://codereview.chromium.org/769073003
* Add additional clean up code in MPD pathGravatar robertphillips2014-12-01
| | | | | | This addresses an edge case where a picture only has one layer which is atlasable but doesn't make it into the atlas. In this case asserts can fire since there is no atlased layer to clean up the tracking picture object. Review URL: https://codereview.chromium.org/764393002
* Force SkMatrix type while recording too.Gravatar mtklein2014-12-01
| | | | | | | | | | | | | | | | | | | | | This switches to a new way of doing this, enforcing the caching with the type recorded rather than having to do it in SkRecorder. Should be more foolproof. Updated SkPath and SkBitmap's equivalents too. ImmutableBitmap was close, but using inheritance now makes the rest of the code less weird. BUG=437511 I'm not sure whether or not this will _fix_ the SkMatrix aspect of that bug. There may be other SkMatrices that we're racing on. It does cover the obvious ones, though, and removing the SkTRacy<> wrapper will allow TSAN to show us any other races. It turned out to be easier to turn missing optional matrices into I early rather than late. I figure this should be harmless. Recording and playback perf both look neutral. Review URL: https://codereview.chromium.org/773433003
* Use variable length key (rather than accumulated matrix) as save layer ↵Gravatar robertphillips2014-12-01
| | | | | | | | | | hoisting key Adding the rendering canvas' CTM to the layer hoisting key (i.e., Add support for hoisting layers in pictures drawn with a matrix - https://codereview.chromium.org/748853002/) has increased the cache miss rate due to accumulated floating point error. This CL fixes part of the issue by using the chain of operation indices leading to each saveLayer as the key. The canvas' CTM must still form part of the key but should be less subject to accumulated error. BUG=skia:2315 Review URL: https://codereview.chromium.org/753253002