aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
Commit message (Collapse)AuthorAge
* Rename SkDrawPictureCallback to SkPicture::AbortCallbackGravatar robertphillips2015-01-06
| | | | Review URL: https://codereview.chromium.org/829983003
* Cap id size returned by GrScratchKey::GenerateResourceTypeGravatar robertphillips2015-01-05
| | | | | | kkinnunen@ has been seeing compiler warnings on GrScratchKey::GenerateResourceType (https://codereview.chromium.org/833913002/ - Cast the scratch resource key in order to fix a warning)(presumably due to the unsigned/signed comparison in kInvalidResourceType == type). This CL limits the returned id to its effective range to, hopefully, clarify the whole int32_t -> uint32_t conversion & wrapping problem. Review URL: https://codereview.chromium.org/827923006
* Add conic support to Default and AAConvex path redender.Gravatar egdaniel2015-01-05
| | | | | | | | | | This is achieved but chopping up conics into quads. With this change conics should be ready to be used on the gpu side of things BUG=skia:3258 Review URL: https://codereview.chromium.org/825443002
* Fix for chrome fuzzerGravatar joshualitt2015-01-02
| | | | | | | TBR= BUG=skia: Review URL: https://codereview.chromium.org/801493003
* Add a simpler key type for scratch resource keys.Gravatar bsalomon2014-12-30
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/815833004
* Fix for disabled color writes xp on n6Gravatar egdaniel2014-12-30
| | | | | | | | | | The N6 has some driver bug that is required us to give some value to gl_FragColor. The disabledColorWriteXP should not need to set any value in its shader, but to fix this crash this cl sets gl_FragColor to 0. BUG=445377 Review URL: https://codereview.chromium.org/823053003
* ViewMatrix uniform upload moved to GeometryProcessorGravatar joshualitt2014-12-30
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/827973002
* Move ViewMatrix off of drawstateGravatar joshualitt2014-12-29
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/815553003
* removing coord change matricesGravatar joshualitt2014-12-29
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/821243003
* Remove coordchanges from drawstateGravatar joshualitt2014-12-29
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/818233002
* fix for valgrindGravatar joshualitt2014-12-23
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/816103003
* This CL cleans up the last remaining users of localCoordChange on paintGravatar joshualitt2014-12-22
| | | | | | | NOTREECHECKS=True BUG=skia: Review URL: https://codereview.chromium.org/817853002
* Rename GrGpuGL -> GrGLGpuGravatar jvanverth2014-12-22
| | | | Review URL: https://codereview.chromium.org/824753002
* Fix conics for gpu GrAAHairLinePathRenderGravatar egdaniel2014-12-22
| | | | | | | | | | | This fixes one of the bugs discovered when rrects/ovals were changed to conics. Specifcally the case where hairlines were being drawing randomly all of the place. There is still a bug in a lot of our rrect/oval draws/clipping so the legacy flags are still needed. BUG=skia:3258 Review URL: https://codereview.chromium.org/822733003
* Disable GPU sRGB textures for the moment.Gravatar jvanverth2014-12-22
| | | | | | TBR=bsalomon@google.com Review URL: https://codereview.chromium.org/817373002
* reenable complexclip3 for gpuGravatar bsalomon2014-12-22
| | | | Review URL: https://codereview.chromium.org/814273003
* Add sRGB texture support.Gravatar jvanverth2014-12-22
| | | | Review URL: https://codereview.chromium.org/791823003
* Add XP to handle the cases where we disable color write.Gravatar egdaniel2014-12-22
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/787233003
* Initialize wrapped render target wrap status correctlyGravatar kkinnunen2014-12-22
| | | | | | | | Make GrGLGpu::onWrapBackendRenderTarget update "is wrapped" flag. Otherwise accessing the flag results in uninitialized read, possibly resulting in wrapped render target ending up in the cache. Review URL: https://codereview.chromium.org/818023002
* initial changes to add local matrix to primitive processorGravatar joshualitt2014-12-19
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/820523002
* When bitmap is texture backed, don't download and reupload pixelsGravatar bsalomon2014-12-19
| | | | Review URL: https://codereview.chromium.org/820683002
* Remove the low hanging fruit with coord change matricesGravatar joshualitt2014-12-18
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/793013003
* Add an InvariantOutput for the XPF.Gravatar egdaniel2014-12-18
| | | | | | | | | | | The Invariant output holds information about final post blended color and other general information like will it blend with dst. Having this new struct allowed me to also remove some functions that were previously querying subsets of the invariant output. BUG=skia: Review URL: https://codereview.chromium.org/814933002
* Remove GrCoordTransform::kPosition_CoordSetGravatar bsalomon2014-12-18
| | | | Review URL: https://codereview.chromium.org/811373002
* Change to create device coord coordsetGravatar joshualitt2014-12-18
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/812063002
* Fix complexclip3 test on gpuGravatar bsalomon2014-12-18
| | | | | | | BUG=skia:3260 R=egdaniel@google.com Review URL: https://codereview.chromium.org/813653003
* One more pass at getting half float texture configs correct.Gravatar jvanverth2014-12-18
| | | | | | | | | Added in check for sized internal format. Made choice between RED and ALPHA orthogonal to HALF_FLOAT and HALF_FLOAT_OES. Enabled rendertarget support on ES 2.0. Review URL: https://codereview.chromium.org/805033002
* Cleanup: More override fixes.Gravatar tfarina2014-12-17
| | | | | | | | | | | | | | | | Fixes errors like: ../../src/gpu/GrGeometryProcessor.h:172:25: error: 'name' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override] virtual const char* name() const = 0; ^ ../../include/gpu/GrProcessor.h:66:25: note: overridden virtual function is here virtual const char* name() const = 0; BUG=skia:3075 TEST=ninja -C out/Debug skia_lib TBR=mtklein@google.com Review URL: https://codereview.chromium.org/789343003
* remove view matrix from contextGravatar joshualitt2014-12-17
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/808703006
* Stop creating GrODS for stencilPath commands.Gravatar bsalomon2014-12-17
| | | | Review URL: https://codereview.chromium.org/816513003
* Add Coverage Drawing XPGravatar egdaniel2014-12-17
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/808813002
* Re-enable default sized formats, handling BGRA exception.Gravatar jvanverth2014-12-17
| | | | | | | | Sized texture formats are accepted by OpenGL desktop and ES 3.0, except when using BGRA with GL_EXT_texture_format_BGRA8888. In that case we fall back to using the unsized format. Review URL: https://codereview.chromium.org/811133002
* Stop calling flushGLState in onStencilPathGravatar bsalomon2014-12-17
| | | | Review URL: https://codereview.chromium.org/805293003
* Give the hoisting surfaces surface propsGravatar robertphillips2014-12-16
| | | | | | This mimics how layers are set up in SkGpuDevice::onCreateCompatibleDevice Review URL: https://codereview.chromium.org/809823003
* Revert using sized formats for everything except ES 2.0.Gravatar jvanverth2014-12-16
| | | | | | Temporary fix for WritePixels test on Nexus 5/Nexus 7-2013. Review URL: https://codereview.chromium.org/794273005
* Remove GrGpu::flushGraphicsStateGravatar bsalomon2014-12-16
| | | | Review URL: https://codereview.chromium.org/809843002
* Change desktop and ES 3.0 to always use sized internal texture formats.Gravatar jvanverth2014-12-16
| | | | | | Committed: https://skia.googlesource.com/skia/+/bc02bf0ee4221604796cd6d0394ca3af60c0a579 Review URL: https://codereview.chromium.org/806943002
* Fix layer hoisting image filter corner casesGravatar robertphillips2014-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | This CL fixes 5 bugs related to hoisting image filters: For image filters the src layer (the one prior to filtering) often needs to be smaller then the final layer. This requires the saveLayer's optional bounds to be stored (in SkLayerInfo.h and SkRecordDraw.cpp) and then used in compute_source_rect and carried around in GrCachedLayer. The image filters can add an extra offset to the final draw operation. This is now computed in GrLayerHoister::FilterLayer and carried around in GrCachedLayer. Filtered layers must use exact matches. This is now done in GrLayerCache::lock. The filter cache requires a valid matrix so it can compute the correct offset. This is now done in GrLayerHoister::FilterLayer. Filtered layers need to be drawn with drawSprite while unfiltered (and therefore hopefully atlased) layers can be drawn with drawBitmap. This is now done in draw_replacement_bitmap. Committed: https://skia.googlesource.com/skia/+/702eb9622102599d94ab6798e6227cf29f48c2d3 Review URL: https://codereview.chromium.org/803183003
* Rename GrGpuGL_program.cpp to GrGLGpuProgramCache.cppGravatar bsalomon2014-12-16
| | | | Review URL: https://codereview.chromium.org/807133002
* Revert of Fix layer hoisting image filter corner cases (patchset #3 id:40001 ↵Gravatar robertphillips2014-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/803183003/) Reason for revert: Breaking DM Original issue's description: > Fix layer hoisting image filter corner cases > > This CL fixes 5 bugs related to hoisting image filters: > > For image filters the src layer (the one prior to filtering) often needs to be > smaller then the final layer. This requires the saveLayer's optional bounds > to be stored (in SkLayerInfo.h and SkRecordDraw.cpp) and then used in > compute_source_rect and carried around in GrCachedLayer. > > The image filters can add an extra offset to the final draw operation. > This is now computed in GrLayerHoister::FilterLayer and carried around in > GrCachedLayer. > > Filtered layers must use exact matches. This is now done in GrLayerCache::lock. > > The filter cache requires a valid matrix so it can compute the correct offset. > This is now done in GrLayerHoister::FilterLayer. > > Filtered layers need to be drawn with drawSprite while unfiltered (and therefore > hopefully atlased) layers can be drawn with drawBitmap. This is now done in > draw_replacement_bitmap. > > Committed: https://skia.googlesource.com/skia/+/702eb9622102599d94ab6798e6227cf29f48c2d3 TBR=bsalomon@google.com NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/790643009
* Rename GrGpuGL to GrGLGpu for consistencyGravatar bsalomon2014-12-16
| | | | Review URL: https://codereview.chromium.org/808593003
* Fix layer hoisting image filter corner casesGravatar robertphillips2014-12-16
| | | | | | | | | | | | | | | | | | | | | | | | This CL fixes 5 bugs related to hoisting image filters: For image filters the src layer (the one prior to filtering) often needs to be smaller then the final layer. This requires the saveLayer's optional bounds to be stored (in SkLayerInfo.h and SkRecordDraw.cpp) and then used in compute_source_rect and carried around in GrCachedLayer. The image filters can add an extra offset to the final draw operation. This is now computed in GrLayerHoister::FilterLayer and carried around in GrCachedLayer. Filtered layers must use exact matches. This is now done in GrLayerCache::lock. The filter cache requires a valid matrix so it can compute the correct offset. This is now done in GrLayerHoister::FilterLayer. Filtered layers need to be drawn with drawSprite while unfiltered (and therefore hopefully atlased) layers can be drawn with drawBitmap. This is now done in draw_replacement_bitmap. Review URL: https://codereview.chromium.org/803183003
* Revert of Change desktop and ES 3.0 to always use sized internal texture ↵Gravatar jvanverth2014-12-16
| | | | | | | | | | | | | | | | | | formats. (patchset #2 id:20001 of https://codereview.chromium.org/806943002/) Reason for revert: Failing GMs on Mac, Windows and Ubuntu12. Original issue's description: > Change desktop and ES 3.0 to always use sized internal texture formats. > > Committed: https://skia.googlesource.com/skia/+/bc02bf0ee4221604796cd6d0394ca3af60c0a579 TBR=bsalomon@google.com NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/805193003
* Change desktop and ES 3.0 to always use sized internal texture formats.Gravatar jvanverth2014-12-16
| | | | Review URL: https://codereview.chromium.org/806943002
* whitespace change to context to force rebuild of skiaGravatar joshualitt2014-12-15
| | | | | | | | | NOTREECHECKS=True NOTRY=True TBR= BUG=skia: Review URL: https://codereview.chromium.org/807663002
* This change will ultimately pull uniform color, and to a much lesser degree ↵Gravatar joshualitt2014-12-15
| | | | | | | | uniform coverage, into GPs. There are still some loose ends because drawstate has the ability to override the GP, but fixing these cleanly will have to wait until we have deferred geometry in place and can make attribute / uniform decisions on the fly. BUG=skia: Review URL: https://codereview.chromium.org/746423007
* Move all non-program cache functions out of GrGpuGL_program.cppGravatar bsalomon2014-12-15
| | | | Review URL: https://codereview.chromium.org/794343006
* devirtualize some functions on GrGpuGravatar bsalomon2014-12-15
| | | | Review URL: https://codereview.chromium.org/811483003
* Add xp optimization for RGB coverage.Gravatar egdaniel2014-12-15
| | | | | | | | | | | | | This is needed since clearColorStages is being changed to ignore color input. For RGB coverage, we want to clear all the color stages (since we know the final output color), but we don't want to ignore the color input since it is needed. In future we will change this so the XP stores the color internally and thus can tell the GP to simiply ignore color. BUG=skia: Review URL: https://codereview.chromium.org/791933006
* Add SK_OVERRIDE to a few places that are missing it.Gravatar mtklein2014-12-15
| | | | | | | | | | This was done automatically by running clang-modernize -add-override -override-macros. It's not clear to me whether include/ is already clean or I just can't get the tool to work for headers. BUG=skia: Review URL: https://codereview.chromium.org/808463002