aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
Commit message (Collapse)AuthorAge
* Import functionality for new GL backendGravatar cdalton2015-06-12
| | | | | | | | | | | | | | | | | | Brings in the following functionality: ARB_draw_instanced ARB_instanced_arrays NV_bindless_texture EXT_direct_state_access KHR_debug Also cleans up some of the NVPR extension loading. BUG=skia: Committed: https://skia.googlesource.com/skia/+/202c4c75fb806f751cf796850bf67fe9793e0643 Review URL: https://codereview.chromium.org/1185573003
* Revert of Import functionality for new GL backend (patchset #2 id:20001 of ↵Gravatar djsollen2015-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1185573003/) Reason for revert: breaking multiple builds. For example... https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Debug-ASAN/builds/667 Original issue's description: > Import functionality for new GL backend > > Brings in the following functionality: > > ARB_draw_instanced > ARB_instanced_arrays > NV_bindless_texture > EXT_direct_state_access > KHR_debug > > Also cleans up some of the NVPR extension loading. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/202c4c75fb806f751cf796850bf67fe9793e0643 TBR=bsalomon@google.com,cdalton@nvidia.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1184863002
* Import functionality for new GL backendGravatar cdalton2015-06-12
| | | | | | | | | | | | | | | | Brings in the following functionality: ARB_draw_instanced ARB_instanced_arrays NV_bindless_texture EXT_direct_state_access KHR_debug Also cleans up some of the NVPR extension loading. BUG=skia: Review URL: https://codereview.chromium.org/1185573003
* Review URL: https://codereview.chromium.org/1166513002Gravatar cdalton2015-06-12
|
* 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
* Move blend enums into GrBlend.hGravatar cdalton2015-06-12
| | | | | | | | | Moves blend enums from GrXferProcessor.h to GrBlend.h, makes GrBlend.h public. BUG=skia: Review URL: https://codereview.chromium.org/1180713008
* Fix for dashing shader on Mali: use highp where necessary.Gravatar senorblanco2015-06-11
| | | | | | | | | | | The varyings used to compute rect coverage need to be high precision, since they're offset by the frag coord. R=egdaniel BUG=skia:3935 Review URL: https://codereview.chromium.org/1178123004
* Init GrGLSLCaps fields from inside GrGLCapsGravatar cdalton2015-06-10
| | | | | | | | | Fixes circular dependencies by allowing the initialization to be done intertwined. BUG=skia: Review URL: https://codereview.chromium.org/1177053002
* SkPath::Direction serves two masters:Gravatar reed2015-06-10
| | | | | | | | | | | | | - input param to addFoo (e.g. addRect), where only CW or CCW are valid) - output param from computing functions, that sometimes return kUnknown This CL's intent is to split these into distinct enums/features: - Direction (public) loses kUnknown, and is only used for input - FirstDirection (private) is used for computing the first direction we see when analyzing a contour BUG=skia: Review URL: https://codereview.chromium.org/1176953002
* Added GrAAFlatteningConvexPathRenderer.Gravatar ethannicholas2015-06-10
| | | | | | | | | This is an alternate version of GrAAConvexPathRenderer which handles curves by first flattening them to straight lines. BUG=skia: Review URL: https://codereview.chromium.org/1158803002
* Towards removing getTexture() on SkImageGravatar bsalomon2015-06-10
| | | | Review URL: https://codereview.chromium.org/1166993002
* Revert[2] SkDraw and all Blitters to use pixmap instead of bitmapiGravatar reed2015-06-09
| | | | | | | | This reverts commit b3f0ec9f9967da2f80f0d842cb7fd53617b48de3. BUG=skia: Review URL: https://codereview.chromium.org/1168303006
* Fix build for UCLIBC platforms (newlocale/freelocale)Gravatar smcgruer2015-06-09
| | | | | | | | UCLIBC does not have locale support by default. BUG=skia: Review URL: https://codereview.chromium.org/1162953003
* remove subclassing from ImageFilter::ProxyGravatar reed2015-06-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1172693002
* Revert of change SkDraw and all Blitters to use pixmap instead of bitmap ↵Gravatar reed2015-06-08
| | | | | | | | | | | | | | | | | | | | | | (patchset #6 id:100001 of https://codereview.chromium.org/1148793007/) Reason for revert: speculative revert to try to unblock DEPS roll Original issue's description: > change SkDraw and all Blitters to use pixmap instead of bitmap > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/c31af44336f5eb4a50e83e76e51962d46c3ed458 TBR=scroggo@google.com,jvanverth@google.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1164373003
* Add mixed samples support to XPsGravatar cdalton2015-06-08
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1164973002
* Fix regression in GrXferProcessorGravatar cdalton2015-06-08
| | | | | | | | Fix segfault introduced in https://codereview.chromium.org/1170553002/ BUG=skia: Review URL: https://codereview.chromium.org/1167243002
* Apply coverage in XP base class when using dst readsGravatar cdalton2015-06-08
| | | | | | | | | | Moves the coverage logic into GrGLXferProcessor for XPs that perform dst reads. XPs that don't use a dst read are still responsible to handle coverage on their own. BUG=skia: Review URL: https://codereview.chromium.org/1170553002
* change SkDraw and all Blitters to use pixmap instead of bitmapGravatar reed2015-06-08
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1148793007
* Opt for advanced blend at creation time in CrCustomXfermodeGravatar cdalton2015-06-05
| | | | | | | | | Modifies GrCustomXfermode to decide at creation time whether it will use advanced blend, instead of deciding during getOptimizations. BUG=skia: Review URL: https://codereview.chromium.org/1161913003
* Remove memcmp from GrProgramDesc op== and LessGravatar bsalomon2015-06-04
| | | | | | | | Works around an ASAN complaint. BUG=skia:3891 Review URL: https://codereview.chromium.org/1154773007
* Disable unused attributes when using copy shaderGravatar bsalomon2015-06-04
| | | | | | BUG=chromium:496540 Review URL: https://codereview.chromium.org/1157943007
* Trivial change to bump minimum block size for Buffer poolGravatar joshualitt2015-06-04
| | | | | | | TBR= BUG=skia: Review URL: https://codereview.chromium.org/1146073004
* Disable dual source blending support when GLSL version is too oldGravatar bsalomon2015-06-04
| | | | | | BUG=skia:3891 Review URL: https://codereview.chromium.org/1160923007
* Fix edge-line artifacts issue on MaliGravatar joel.liang2015-06-04
| | | | | | | | | | | | | | | | | | | | Some GMs show edge-line artifacts on Mali at the bottom/right of the canvas. Change the 'rtAdjustment' uniform precision from 'midiump' to 'highp' if the GPU vendor is ARM. NOTE: Vertex Shader should have default 'highp' precision, but now we explicit declared some uniform/attribute precision as 'midiump'. This patch should fix these issues: Issue 3693: Some GMs produce random artifacts on Mali in MSAA4 https://code.google.com/p/skia/issues/detail?id=3693 Issue 3685: srcmode GM has top/right line artifacts on Mali T604 in MSAA4 https://code.google.com/p/skia/issues/detail?id=3685 BUG=skia: Review URL: https://codereview.chromium.org/1154163012
* Reenable reorderingGravatar joshualitt2015-06-02
| | | | | | | TBR= BUG=skia: Review URL: https://codereview.chromium.org/1160063003
* Begin tracking driver info in GrGLContextInfoGravatar cdalton2015-06-02
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1165463005
* Update XPF invariant info to not account for conflationGravatar cdalton2015-06-02
| | | | | | | | | | Renames getInvariantOutput to getInvariantBlendedColor on GrXPFactory and redefines it to not account for coverage conflation. This is the information that all the callsites actually wanted to know. BUG=skia: Review URL: https://codereview.chromium.org/1161273005
* disable reordering until android bots clear upGravatar joshualitt2015-06-02
| | | | | | | TBR= BUG=skia: Review URL: https://codereview.chromium.org/1167693006
* fix dm crashGravatar joshualitt2015-06-02
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1149243006
* re-enable reorderingGravatar joshualitt2015-06-02
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1164763002
* Fix for crashing botsGravatar joshualitt2015-06-01
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1159183006
* Set GeometryBufferMapThreshold defaultsGravatar joshualitt2015-06-01
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1161543003
* Revert "Revert of Move copy-surface-as-draw fallback to GrGLGpu. (patchset ↵Gravatar bsalomon2015-06-01
| | | | | | | | #12 id:220001 of https://codereview.chromium.org/1144433002/)" This reverts commit 404b3b264b833eb7cffdc833c7e2ebbd708e123a. Review URL: https://codereview.chromium.org/1161063003
* Fix NULL accessGravatar bsalomon2015-06-01
| | | | | | | | BUG=skia: TBR=egdaniel@google.com Review URL: https://codereview.chromium.org/1157363004
* Stretch small textures up to 16 pixels on PowerVR 54xGravatar bsalomon2015-06-01
| | | | Review URL: https://codereview.chromium.org/1161183002
* Refactor GrGpu path rendering functions to GrPathRenderingGravatar kkinnunen2015-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GrGpu, GrGLGpu, GrPathRendering, GrGLPathRendering all duplicated each others' path rendering related member functions. Make GrPathRending the logical extension of GrGpu by removing the methods from GrGpu. Similarly to the GL variants. Changes includes and forward declarations due to removing GrDrawTarget.h include from GrGpu.h. This was necessary due to GrDrawTarget.h including GrPathRendering.h, and now GrPathRendering.h includes GrGpu.h. (Also GrGpu.h does not need GrDrawTarget.h anymore). Very slight runtime improvement on x86_64: desk_fontwipe.skp_1 836us -> 841us 1.01x desk_silkfinance.skp_1 2.01ms -> 2.01ms 1x desk_forecastio.skp_1 7.03ms -> 7.05ms 1x desk_weather.skp_1 3.74ms -> 3.74ms 1x desk_twitter.skp_1 8.02ms -> 8.01ms 1x desk_mapsvg.skp_1 5.24ms -> 5.23ms 1x desk_pokemonwiki.skp_1 7.06ms -> 7.03ms 1x desk_sfgate.skp_1 3.19ms -> 3.17ms 1x tabl_cuteoverload.skp_1 2.66ms -> 2.64ms 0.99x ... tabl_transformice.skp_1 3.06ms -> 2.98ms 0.98x tabl_googlecalendar.skp_1 11.3ms -> 11ms 0.97x tabl_gamedeksiam.skp_1 12.8ms -> 12.4ms 0.97x desk_samoasvg.skp_1 10.6ms -> 10.3ms 0.97x tabl_worldjournal.skp_1 4.44ms -> 4.3ms 0.97x Review URL: https://codereview.chromium.org/1157683006
* SkImage::NewFromYUVTexturesCopyGravatar bsalomon2015-05-29
| | | | Review URL: https://codereview.chromium.org/1149553002
* Remove GrContext from GrDrawTargetGravatar bsalomon2015-05-29
| | | | | | Still exists on clip target (for now). Review URL: https://codereview.chromium.org/1166553002
* Remove GrContext from GrClipMaskCacheGravatar bsalomon2015-05-29
| | | | Review URL: https://codereview.chromium.org/1144013007
* Removing GrAutoMallocGravatar joshualitt2015-05-29
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1161993003
* Add direct getter for GrCaps to GrContext.Gravatar bsalomon2015-05-29
| | | | | | | | TBR=joshualitt@google.com Committed: https://skia.googlesource.com/skia/+/9138c46e572085870638b6f7ad7fcdfcdf3cac99 Review URL: https://codereview.chromium.org/1149773005
* delete experimental path renderersGravatar joshualitt2015-05-29
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1160863006
* add context override of GeometryBufferMapThresholdGravatar joshualitt2015-05-29
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1159713006
* Revert of Add direct getter for GrCaps to GrContext. (patchset #4 id:60001 ↵Gravatar bsalomon2015-05-28
| | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1149773005/) Reason for revert: Breaking Original issue's description: > Add direct getter for GrCaps to GrContext. > > TBR=joshualitt@google.com > > Committed: https://skia.googlesource.com/skia/+/9138c46e572085870638b6f7ad7fcdfcdf3cac99 TBR=joshualitt@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1164443002
* Add direct getter for GrCaps to GrContext.Gravatar bsalomon2015-05-28
| | | | | | TBR=joshualitt@google.com Review URL: https://codereview.chromium.org/1149773005
* Break GrTextContext's reliance on SkGpuDeviceGravatar robertphillips2015-05-28
| | | | | | | | | | | This CL seems to have 2 main downsides: 1) It duplicates some code in SkBaseDevice::filterTextFlags 2) It makes it tougher to derive from SkGpuDevice It seems reasonable (at least to me) that the TextContexts get the power to reset the LCD flags. Review URL: https://codereview.chromium.org/1159973002
* Implement Porter Duff XP with a blend tableGravatar cdalton2015-05-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removes the runtime logic used by PorterDuffXferProcessor to decide blend coeffs and shader outputs, and instead uses a compile-time constant table of pre-selected blend formulas. Separates out the dst read fallback into its own XP. Introduces a new blend strategy for srcCoeff=0 that can apply coverage with a reverse subtract blend equation instead of dual source blending. Adds new macros in GrBlend.h to analyze blend formulas both runtime. Removes kSetCoverageDrawing_OptFlag and GrSimplifyBlend as they are no longer used. Adds a GM that verifies all xfermodes, including arithmetic, with the color/coverage invariants used by Porter Duff. Adds a unit test that verifies each Porter Duff formula with every color/coverage invariant. Major changes: * Uses a reverse subtract blend equation for coverage when srcCoeff=0 (clear, dst-out [Sa=1], dst-in, modulate). Platforms that don't support dual source blending no longer require a dst copy for dst-in and modulate. * Sets BlendInfo::fWriteColor to false when the blend does not modify the dst. GrGLGpu will now use glColorMask instead of blending for these modes (dst, dst-in [Sa=1], modulate ignored for [Sc=1]). * Converts all SA blend coeffs to One for opaque inputs, and ISA to Zero if there is also no coverage. (We keep ISA around when there is coverage because we use it to tweak alpha for coverage.) * Abandons solid white optimizations for the sake of simplicity (screen was the only mode that previous had solid white opts). Minor differences: * Inconsequential differences in opt flags (e.g. we now return kCanTweakAlphaForCoverage_OptFlag even when there is no coverage). * Src coeffs when the shader outputs 0. * IS2C vs IS2A when the secondary output is scalar. BUG=skia: Committed: https://skia.googlesource.com/skia/+/9a70920db22b6309c671f8e5d519bb95570e4414 Review URL: https://codereview.chromium.org/1124373002
* revert reorderingGravatar joshualitt2015-05-27
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1155593004
* Add caps overrides to GMsGravatar bsalomon2015-05-27
| | | | Review URL: https://codereview.chromium.org/1158963002