aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
Commit message (Collapse)AuthorAge
* Switch fragment coordinate to 'highp' to fix various broken GMs.Gravatar ethannicholas2015-12-14
| | | | | | BUG=skia:4693 Review URL: https://codereview.chromium.org/1523793002
* Revert of Add config options to run different GPU APIs to dm and nanobench ↵Gravatar reed2015-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #12 id:220001 of https://codereview.chromium.org/1490113005/ ) Reason for revert: speculative revert to see if it unblocks the DEPS roll https://codereview.chromium.org/1529443002 Original issue's description: > Add config options to run different GPU APIs to dm and nanobench > > Add extended config specification form that can be used to run different > gpu backend with different APIs. > > The configs can be specified with the form: > gpu(api=string,dit=bool,nvpr=bool,samples=int) > > This replaces and removes the --gpuAPI flag. > > All existing configs should still work. > > Adds following documentation: > > out/Debug/dm --help config > > Flags: > --config: type: string default: 565 8888 gpu nonrendering > Options: 565 8888 debug gpu gpudebug gpudft gpunull msaa16 msaa4 > nonrendering null nullgpu nvprmsaa16 nvprmsaa4 pdf pdf_poppler skp svg > xps or use extended form 'backend(option=value,...)'. > > Extended form: 'backend(option=value,...)' > > Possible backends and options: > > gpu(api=string,dit=bool,nvpr=bool,samples=int) GPU backend > api type: string default: native. > Select graphics API to use with gpu backend. > Options: > native Use platform default OpenGL or OpenGL ES backend. > gl Use OpenGL. > gles Use OpenGL ES. > debug Use debug OpenGL. > null Use null OpenGL. > dit type: bool default: false. > Use device independent text. > nvpr type: bool default: false. > Use NV_path_rendering OpenGL and OpenGL ES extension. > samples type: int default: 0. > Use multisampling with N samples. > > Predefined configs: > > gpu = gpu() > msaa4 = gpu(samples=4) > msaa16 = gpu(samples=16) > nvprmsaa4 = gpu(nvpr=true,samples=4) > nvprmsaa16 = gpu(nvpr=true,samples=16) > gpudft = gpu(dit=true) > gpudebug = gpu(api=debug) > gpunull = gpu(api=null) > debug = gpu(api=debug) > nullgpu = gpu(api=null) > > BUG=skia:2992 > > Committed: https://skia.googlesource.com/skia/+/e13ca329fca4c28cf4e078561f591ab27b743d23 TBR=bsalomon@google.com,scroggo@google.com,joshualitt@google.com,kkinnunen@nvidia.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:2992 Review URL: https://codereview.chromium.org/1528473002
* Add config options to run different GPU APIs to dm and nanobenchGravatar kkinnunen2015-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add extended config specification form that can be used to run different gpu backend with different APIs. The configs can be specified with the form: gpu(api=string,dit=bool,nvpr=bool,samples=int) This replaces and removes the --gpuAPI flag. All existing configs should still work. Adds following documentation: out/Debug/dm --help config Flags: --config: type: string default: 565 8888 gpu nonrendering Options: 565 8888 debug gpu gpudebug gpudft gpunull msaa16 msaa4 nonrendering null nullgpu nvprmsaa16 nvprmsaa4 pdf pdf_poppler skp svg xps or use extended form 'backend(option=value,...)'. Extended form: 'backend(option=value,...)' Possible backends and options: gpu(api=string,dit=bool,nvpr=bool,samples=int) GPU backend api type: string default: native. Select graphics API to use with gpu backend. Options: native Use platform default OpenGL or OpenGL ES backend. gl Use OpenGL. gles Use OpenGL ES. debug Use debug OpenGL. null Use null OpenGL. dit type: bool default: false. Use device independent text. nvpr type: bool default: false. Use NV_path_rendering OpenGL and OpenGL ES extension. samples type: int default: 0. Use multisampling with N samples. Predefined configs: gpu = gpu() msaa4 = gpu(samples=4) msaa16 = gpu(samples=16) nvprmsaa4 = gpu(nvpr=true,samples=4) nvprmsaa16 = gpu(nvpr=true,samples=16) gpudft = gpu(dit=true) gpudebug = gpu(api=debug) gpunull = gpu(api=null) debug = gpu(api=debug) nullgpu = gpu(api=null) BUG=skia:2992 Review URL: https://codereview.chromium.org/1490113005
* Try to fix intermittent GrAutoLocaleSetter crashes on WindowsGravatar kkinnunen2015-12-13
| | | | | | | | | | | | Try to fix intermittent GrAutoLocaleSetter crashes on Windows. The string returned by setlocale() is only valid up to next setlocale(), so it can not be fed to setlocale(). Also, libraries such as ANGLE might call setlocale when inside a callstack containing GrAutoLocaleSetter. This would render the old locale pointer invalid. Review URL: https://codereview.chromium.org/1514083002
* A change to cleanup some organization around df textGravatar joshualitt2015-12-11
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1519083002
* Move all text stuff to its own folderGravatar joshualitt2015-12-11
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1521453002
* make internaldrawBmpText part of GrTextUtilsGravatar joshualitt2015-12-11
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1518883002
* Add check for highp support in Conic effectGravatar robertphillips2015-12-11
| | | | | | | | | | | | | | | | | | | | | This CL may not really be necessary since it seems that the Android Ones we have fall back to mediump when highp isn't supported. FYI, for bits-of-precision/precision we have: Low Med High Precision-Used A1 (Cherry One - Mali 400) 10 10 0 Med - conic looks bad N5 (Adreno 330) 10 10 23 High - conic looks bad!!! N6 (Adreno 420) 10 10 23 High - conic looks good N7v2 (Adreno 320) 10 10 23 High - conic looks bad!!! N9 (K1) 23 23 23 High - looks good N10 (Mail-604) 10 10 23 High - looks good I suspect derivative computation is broken on the Adreno 300s. BUG=555779,skia:4668 TBR=bsalomon@google.com Review URL: https://codereview.chromium.org/1513573009
* Initialize glGen* call id args to zeroGravatar kkinnunen2015-12-11
| | | | | | | | | | | | Initialize glGenTexture, glGenBuffer call id buffer items to zero before calls. Otherwise it's not easy to check if the call succeeded or not. Assert the rule in debug gl context. Make TesselatingPathRendererTests use debug gl context. It exercises some of the GenBuffers call sites. Review URL: https://codereview.chromium.org/1514033002
* Use size_t for strlen() return valueGravatar scroggo2015-12-10
| | | | | | BUG=skia:2810 Review URL: https://codereview.chromium.org/1518843002
* Create GrTextUtilsGravatar joshualitt2015-12-10
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1514933002
* Move flush logic into GrAtlasTextBlobGravatar joshualitt2015-12-10
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1518763002
* Move DistanceAdjustTable to its own fileGravatar joshualitt2015-12-10
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1512823004
* Add Apple renderer strings to PowerVR detectionGravatar jvanverth2015-12-10
| | | | | | BUG=skia:4148 Review URL: https://codereview.chromium.org/1512903005
* Move appending of large glyphs into GrAtlasTextBlobGravatar joshualitt2015-12-10
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1517563002
* Move 'mustRegenerate' function into GrAtlasTextBlobGravatar joshualitt2015-12-10
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1515543003
* Remove uniform color for GrDistanceFieldGeoProcGravatar joshualitt2015-12-10
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1512533003
* Make NVPR a GL context option instead of a GL contextGravatar kkinnunen2015-12-10
| | | | | | | | | | | | | | | | | Make NVPR a GL context option instead of a GL context. This may enable NVPR to be run with command buffer interface. No functionality change in DM or nanobench. NVPR can only be run with normal GL APIs. BUG=skia:2992 Committed: https://skia.googlesource.com/skia/+/eeebdb538d476c1bfc8b63a946094ca1b505ecd1 Committed: https://skia.googlesource.com/skia/+/64492c43c3faee7ab0f69b1c84e0267616f85e52 Review URL: https://codereview.chromium.org/1448883002
* Use a pseudo-extension CHROMIUM_framebuffer_mixed_samplesGravatar kkinnunen2015-12-10
| | | | | | | | | | | Use the pseudo-extension CHROMIUM_framebuffer_mixed_samples when run with Chromium command buffer. The extension exposes NV_framebuffer_mixed_samples subset that Skia needs in order to use NV_path_rendering with mixed samples. BUG=506765 Review URL: https://codereview.chromium.org/1507373004
* Populate NVPR functions when run with command bufferGravatar kkinnunen2015-12-09
| | | | | | | | | | Populate the NV_path_rendering functions provided by CHROMIUM_path_rendering when the tools are being run with command buffer API. BUG=skia:2992 Review URL: https://codereview.chromium.org/1510163003
* Do elliptical clips in normalized space on devices with a "real" mediumpGravatar bsalomon2015-12-09
| | | | | | BUG=chromium:477684 Review URL: https://codereview.chromium.org/1517573002
* Make "alpha only" be a property of GrTextureProducerGravatar bsalomon2015-12-09
| | | | Review URL: https://codereview.chromium.org/1507973005
* Use BRGA as internal format on later iOSGravatar jvanverth2015-12-09
| | | | | | BUG=skia:2733 Review URL: https://codereview.chromium.org/1504333007
* Fix compile error with GOOGLE3 define.Gravatar benjaminwagner2015-12-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1509023004
* Rewrite drawBitmap/ImageNine on top of GrTextureProducerGravatar bsalomon2015-12-09
| | | | Review URL: https://codereview.chromium.org/1504723004
* Prevent overflow in length() in GLCircularRRectEffectGravatar bsalomon2015-12-09
| | | | | | BUG=chromium:477684 Review URL: https://codereview.chromium.org/1517483002
* Fix filter primitive bounds computations.Gravatar senorblanco2015-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make each filter responsible for expanding its destination bounds. Previously, we were using a union of all intermediate bounds sizes via join() calls in many image filters' computeFastBounds(), due to the fact that those filters could only produce bitmaps the same size as their inputs. Now, we compute optimal bounds for each filter as follows: 1) Pass the (unmodified) clip bounds to the root node of the DAG in the first recursive call to onFilterImage() as the Context's fClipBounds. 2) Reverse-map the clip: when recursing up the DAG in filterInput[GPU](), apply filter-specific expansion to the clip by calling calling onFilterNodeBounds(... kReverse). This allows upstream nodes to have a clip that respects the current node's requirements. This is done via helper function mapContext(). 3) Forward-map the source bitmap: just prior to applying the crop rect in applyCropRect(), we determine the filter's preferred bounds by mapping the source bitmap bounds forwards via onFilterNodeBounds(..., kForward). NOTE: GMs affected by this change: fast_slow_blurimagefilter: fast and slow paths now produce the same result spritebitmap: drawSprite() and drawBitmap() paths now produce the same result filterfastbounds: fast bounds are optimized; all drop-shadow results now appear apply-filter: snug and not-snug cases give same results dropshadowimagefilter: drawSprite() results now show shadows draw-with-filter: no artifacts on erode edges; blur edges no longer clipped displacement, imagefiltersbase, imagefiltersclipped, imagefilterscropexpand, imagefiltersscaled, matriximagefilter, resizeimagefilter, localmatriximagefilter, testimagefilters: fixed incorrect clipping imagefilterstransformed, morphology: no artifacts on erode edges BUG=skia:1062,skia:3194,skia:3939,skia:4337,skia:4526 Review URL: https://codereview.chromium.org/1308703007
* Fix bug with GrAtlasTextContext color regenGravatar joshualitt2015-12-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1513723002
* Boost GrGLConicEffect's variables to all high precisionGravatar robertphillips2015-12-09
| | | | | | | | BUG=555779 Committed: https://skia.googlesource.com/skia/+/624c59a1c7af38eb83e803f345a6f3e225475a08 Review URL: https://codereview.chromium.org/1513483002
* Revert of Boost GrGLConicEffect's variables to all high precision (patchset ↵Gravatar robertphillips2015-12-09
| | | | | | | | | | | | | | | | | | | | | | #1 id:1 of https://codereview.chromium.org/1513483002/ ) Reason for revert: Broke build Original issue's description: > Boost GrGLConicEffect's variables to all high precision > > BUG=555779 > > Committed: https://skia.googlesource.com/skia/+/624c59a1c7af38eb83e803f345a6f3e225475a08 TBR=egdaniel@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=555779 Review URL: https://codereview.chromium.org/1514553002
* Revert of Make NVPR a GL context option instead of a GL context (patchset #9 ↵Gravatar borenet2015-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:160001 of https://codereview.chromium.org/1448883002/ ) Reason for revert: "Could not create surface" on Linux GTX660 bots Original issue's description: > Make NVPR a GL context option instead of a GL context > > Make NVPR a GL context option instead of a GL context. > This may enable NVPR to be run with command buffer > interface. > > No functionality change in DM or nanobench. NVPR can > only be run with normal GL APIs. > > BUG=skia:2992 > > Committed: https://skia.googlesource.com/skia/+/eeebdb538d476c1bfc8b63a946094ca1b505ecd1 > > Committed: https://skia.googlesource.com/skia/+/64492c43c3faee7ab0f69b1c84e0267616f85e52 TBR=mtklein@google.com,bsalomon@google.com,jvanverth@google.com,scroggo@google.com,kkinnunen@nvidia.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:2992 Review URL: https://codereview.chromium.org/1513703002
* A small text cleanupGravatar joshualitt2015-12-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1508853005
* Boost GrGLConicEffect's variables to all high precisionGravatar robertphillips2015-12-09
| | | | | | BUG=555779 Review URL: https://codereview.chromium.org/1513483002
* Attempt to land cache purge again [and regen bot logs if still failing]Gravatar bsalomon2015-12-09
| | | | | | TBR= Review URL: https://codereview.chromium.org/1510103002
* Use correct config variable in command buffer gl contextGravatar kkinnunen2015-12-08
| | | | | | | | | | | | | Use correct config variable in command buffer gl context. Before, the fConfig was errorneously used to initialize the local variable. eglChooseConfig would update the local variable and the fConfig member variable would never be updated. Also add error checks to all initialization function calls. BUG=skia: Review URL: https://codereview.chromium.org/1505233002
* Remove spew in GrDefaultPathRendererGravatar joshualitt2015-12-08
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1509913003
* Move texture drawing utility method to SkGpuDeviceGravatar jvanverth2015-12-08
| | | | | | BUG=skia:4542 Review URL: https://codereview.chromium.org/1506203002
* Stop wrapping images backed by generators as bitmaps in SkGpuDevice (except ↵Gravatar bsalomon2015-12-08
| | | | | | when tiling) Review URL: https://codereview.chromium.org/1510903002
* Improve nvpr glyph batchingGravatar cdalton2015-12-08
| | | | | | | | | | Batches together path range draws whose view matrices differ by a simple translation by pre-translating the individual path transforms during the copy. BUG=skia: Review URL: https://codereview.chromium.org/1507203002
* Allow LCD text to batch across colorchanges. This will always useGravatar joshualitt2015-12-08
| | | | | | | | color vertices, even when we can't batch across color changes BUG=skia: Review URL: https://codereview.chromium.org/1502253003
* Remove drawPathsFromRange from GrDrawContextGravatar cdalton2015-12-08
| | | | | | | | | | Replaces drawPathsFromRange with a more general drawPathBatch method. While this still isn't perfect, it's a step in the right direction that removes the need for path range draws to fit in a public API. BUG=skia: Review URL: https://codereview.chromium.org/1506823004
* Loosen check for zero vectors in GrPathUtils::convert_noninflect_cubic_to_quadsGravatar robertphillips2015-12-08
| | | | | | | | In the repro case the conic in question has a replicated control point at the end. These points end up being slightly different by the time they get to convert_noninflect_cubic_to_quads so the initial checks for a zero vector don't fire. The following checks, in the constrainWithinTangents path, do fire however leading to a premature termination of conversion to quads. BUG=skia:4611 Review URL: https://codereview.chromium.org/1504983003
* Make NVPR a GL context option instead of a GL contextGravatar kkinnunen2015-12-08
| | | | | | | | | | | | | | | Make NVPR a GL context option instead of a GL context. This may enable NVPR to be run with command buffer interface. No functionality change in DM or nanobench. NVPR can only be run with normal GL APIs. BUG=skia:2992 Committed: https://skia.googlesource.com/skia/+/eeebdb538d476c1bfc8b63a946094ca1b505ecd1 Review URL: https://codereview.chromium.org/1448883002
* Use correct fill type and bounds for NVPR paths that are stroked with SkiaGravatar kkinnunen2015-12-07
| | | | | | | | | | | | When using NVPR, sometimes paths must be stroked by Skia and then drawn with fill using NVPR. In these cases, use the fill type and bounds of the stroked path, not the original path. Fixes degeneratesegments for nvprmsaa backends. BUG=skia:4608 Review URL: https://codereview.chromium.org/1504753003
* Make GrAtlasTextBlob non-virtualGravatar joshualitt2015-12-07
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1503213003
* A small cleanup of GrAtlasTextContextGravatar joshualitt2015-12-07
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1502323002
* Start objectifying GrAtlasTextBlobGravatar joshualitt2015-12-07
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1503193002
* Always use high precision on NDS transformGravatar joel.liang2015-12-07
| | | | | | | | | To fix the Chrome fillRect issue on Galaxy S6. We should use high precision for position related calculation. BUG=chromium:552999 Review URL: https://codereview.chromium.org/1500393002
* Add transfer buffer to GLCapsGravatar jvanverth2015-12-07
| | | | | | | | | Adds a check for PBO/transfer buffer support to GrGLCaps, and uses that to pick the correct buffer type. BUG=skia:4604 Review URL: https://codereview.chromium.org/1503593002
* Speculative fix for win8 bot crash in ~GrAutoLocaleSetterGravatar bsalomon2015-12-04
| | | | Review URL: https://codereview.chromium.org/1493913008