aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools
Commit message (Collapse)AuthorAge
...
* Add tracking of unique proxyID beside unique renderTargetID in auditTrail ↵Gravatar Robert Phillips2017-03-31
| | | | | | | | | | | and clearOp Split out of: https://skia-review.googlesource.com/c/10284/ (Omnibus: Remove GrSurface-derived classes from ops) Change-Id: I5845a47d94decc455ec3b1f0a5876b1c82aa32e8 Reviewed-on: https://skia-review.googlesource.com/10750 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* clean up (partially) colortable apiGravatar Mike Reed2017-03-31
| | | | | | | | | | Needs this to land: https://codereview.chromium.org/2789853002/ Bug: skia: Change-Id: I38d916a546b7fa64d000d973e695ddda24a589e7 Reviewed-on: https://skia-review.googlesource.com/10600 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* Revert "Respect kRectsMustMatchForMSAASrc_BlitFramebufferFlag in dst setup"Gravatar Brian Salomon2017-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e0ff6ab272dcc5c4d6f3b509da7e0e97acada814. Reason for revert: a bunch of bots failed. Original change's description: > Respect kRectsMustMatchForMSAASrc_BlitFramebufferFlag in dst setup > > Crurently, when preparing a texture for blitFramebuffer, we ignore the > kRectsMustMatchForMSAASrc_BlitFramebufferFlag, and may attempt to > copy from one src rect to a different dst rect. > > This change updates initDescForDstCopy and setupDstTexture to allocate > larger textures if necessary and accomodate this flags requirements. > > Bug: 658277 > Change-Id: I500f10dba5700f5f7a7acad04bcdbc9ac9994835 > Reviewed-on: https://skia-review.googlesource.com/10247 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,ericrk@chromium.org,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I7fbd6c2652fe71c707d3120b035e0365fbc7fa66 Reviewed-on: https://skia-review.googlesource.com/10920 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* ok, most features can be viasGravatar Mike Klein2017-03-31
| | | | | | | | | | | | | This refactors most features out of ok's core into vias: -w --> a .png dumping via, "png", opening the door to other types -m/-s --> a filtering via "filter" Everything now can print a brief help message too. Change-Id: I9e653aab98fd57182a6d458c7a80052130980284 Reviewed-on: https://skia-review.googlesource.com/10509 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Respect kRectsMustMatchForMSAASrc_BlitFramebufferFlag in dst setupGravatar Eric Karl2017-03-31
| | | | | | | | | | | | | | | Crurently, when preparing a texture for blitFramebuffer, we ignore the kRectsMustMatchForMSAASrc_BlitFramebufferFlag, and may attempt to copy from one src rect to a different dst rect. This change updates initDescForDstCopy and setupDstTexture to allocate larger textures if necessary and accomodate this flags requirements. Bug: 658277 Change-Id: I500f10dba5700f5f7a7acad04bcdbc9ac9994835 Reviewed-on: https://skia-review.googlesource.com/10247 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* ok, unify failure and crash loggingGravatar Mike Klein2017-03-28
| | | | | | | | | | Just as deferred and locked crash logging makes crashes easier to read, so does deferred and locked failure logging make failures easier to read. Change-Id: I71578d61b0056f8d7e692149762def1f155c0387 Reviewed-on: https://skia-review.googlesource.com/10280 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* ok, plumb in GrContextFactoryGravatar Mike Klein2017-03-28
| | | | | | | | | | | | | Didn't know what options would be useful here (path renderers?), so I've left them default. Obviously we can thread them through TestSrc options. I now have "841 ok" and no failures on my Linux laptop, though I imagine the GPU tests are all just no-op'd by the TODO at the bottom of the file. Change-Id: Id934c0bdb5de96d96f2a391106b5d20116f41979 Reviewed-on: https://skia-review.googlesource.com/10213 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* ok, make tests really workGravatar Mike Klein2017-03-28
| | | | | | | | | | | | | | | | | | | | Here's how things work now: ~/skia (tests)> ninja -C out ok; and out/ok test ninja: Entering directory `out' [2/2] link ok 112 ok../tests/TestConfigParsing.cpp:336 configs[i]->getBackend().equals(expectedConfigs[i].backend) 211 ok, 1 failed../tests/ShadowUtilsTest.cpp:25 Expected shadow tessellation to fail but it did not. ../tests/ShadowUtilsTest.cpp:30 Expected shadow tessellation to fail but it did not. ../tests/ShadowUtilsTest.cpp:36 Expected shadow tessellation to fail but it did not. ../tests/ShadowUtilsTest.cpp:42 Expected shadow tessellation to fail but it did not. 637 ok, 2 failed Change-Id: I84b108d4fabb538a2674831dd1ca64b149d7d265 Reviewed-on: https://skia-review.googlesource.com/10209 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* ok: add basic unit test supportGravatar Mike Klein2017-03-27
| | | | | | | | | | | | | | | Plenty TODO remaining. This can actually kind of run without a test reporter or GrContext: $ out/ok test 784 ok, 56 crashed ... lots of stack traces ... Most tests don't use the reporter unless they're going to fail. Change-Id: I7333e2c63ade5e671ebf60022d19390f1fc1c93a Reviewed-on: https://skia-review.googlesource.com/10201 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
* quiet some annoying logging in unit testsGravatar Mike Klein2017-03-27
| | | | | | | | | Noticed all these while adding some unit test support to ok. Change-Id: Ie33b96da95840628657211cb28b2134fd314a48a Reviewed-on: https://skia-review.googlesource.com/10202 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* ok: alias 565 -> sw:ct=565Gravatar Mike Klein2017-03-27
| | | | | | | | | | This is mostly a demo, and to make sure it's easy. If I'm thinking right, other non-ct options should Just Work. Change-Id: I295db0fa04921ccdd766e1870e367594ca802462 Reviewed-on: https://skia-review.googlesource.com/10190 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* ok: handle concurrent crashes betterGravatar Mike Klein2017-03-27
| | | | | | | | | | | | | | lockf() is a simple way to prevent interlaced stack traces when there are concurrent crashes. After a crashing process rethrows its signal and dies for real, the OS unlocks the file for other processes. I tested this by making SkCanvas::drawRRect() crash on Linux: 20-odd GM crashes with interlaced stack traces before, none after. Change-Id: I99930756b8c85c552eef7c3a77778e4c00d34c42 Reviewed-on: https://skia-review.googlesource.com/10177 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* ok: refactor Src/Dst interactionsGravatar Mike Klein2017-03-25
| | | | | | | | | | | | | | | | | | | | | | | | This makes everything a lot more like DM, for the same reason: it's the best way to make Vias work. Instead of exposing a canvas, Dsts take a Src to draw. Vias still are Dsts that wrap Dsts. They do their internal work in draw() then pass a proxy Src encapsulating that work to the next Dst's draw(). A little refactoring in ok.cpp allows arbitrary chains of Vias. I removed the guarantee that Src methods are called in strict order. It's easy enough to make each Src initialize itself as needed. I moved the .png encoding back to ok.cpp. It seemed weird for Dsts to have to think about files and paths. One day Dst will want a data() method for non-image output (.pdf, .skp), and then we'll want ok.cpp to be the one to coordinate what to write where. Change-Id: Id4a3674b2d05aef2b5f10e0077df0a8407c07b61 Reviewed-on: https://skia-review.googlesource.com/10175 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* ok: basic ViasGravatar Mike Klein2017-03-25
| | | | | | | | | | Not sure if these simple Src/Dst interfaces will last. Vias are a little tricky, and some may be impossible. Change-Id: I42d19b1ee74b51a830bb781f25a888c0b32ba98c Reviewed-on: https://skia-review.googlesource.com/10174 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Spin off non-core parts of ok into their own files.Gravatar Mike Klein2017-03-25
| | | | | | | | | | | | Now ok.cpp handles only the high level coordination of Srcs and Dsts, without having to know or care what they are. Some minor refactoring to things like Options. Change-Id: I02df890b26d6d069e980a125b6a1ce1a7067b900 Reviewed-on: https://skia-review.googlesource.com/10173 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* ok: introduce the idea of DstsGravatar Mike Klein2017-03-24
| | | | | | | Change-Id: I47ac01f0c2c0f2f7b925de09c18d3c8265398c8a Reviewed-on: https://skia-review.googlesource.com/10117 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Delete SkColorSpace::ColorSpaceFlagsGravatar Matt Sarett2017-03-24
| | | | | | | | | BUG=skia: Change-Id: Ia0688876915cd773614ca0c4ccd467cf6e7c603e Reviewed-on: https://skia-review.googlesource.com/10105 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Run angle in 8 sample msaa on desktopGravatar Brian Salomon2017-03-24
| | | | | | | | Change-Id: If752152daabcdb7420fd13863fea4ce49f725aab Reviewed-on: https://skia-review.googlesource.com/10108 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* ok: fix an assert from unbalanced save/restoresGravatar Mike Klein2017-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'dont_clip_to_layer' GM does not balance its layers. It calls saveLayer() 3x but restore() only 2x. This may be a bug in the GM itself, but I'm not sure so I haven't changed it here. If ok is writing .pngs, the surface passes ownership of its buffer to an image snapshot, simply marking it as immutable. Then, when the surface is destroyed later, it destroys its inner canvas, which restores its save stack to zero, actually doing some drawing in the case of unbalanced saveLayer()s. We then call notifyPixelsChanged() and hit an assert saying "you just wrote some pixels but this buffer was marked immutable." DM doesn't show this problem because it's doesn't really use surfaces and images, just bitmaps. There's no ownership handoff and nothing is ever immutable, so the condition triggering the assert never comes up. I'm not really sure where we want to say is the bug: - SkCanvas can draw in its destructor? - SkSurface doesn't restore to zero before snapping an image? - that dont_clip_to_layer should call restore three times? In any case, this guards against it in ok. I was using this as a convenient crash to help figure out how to best save and print stack traces, but now that I've got that worked out we might as well fix this. Change-Id: Id6d397f534dd1b50219e0d3078c989a4910883a6 Reviewed-on: https://skia-review.googlesource.com/10140 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* ok: basic crash handling and stack trace dumpsGravatar Mike Klein2017-03-24
| | | | | | | | | | | | | | | This seems to work pretty nicely for each engine in the expected case of few crashes. The serial and thread engines just dump the first crash stack to stderr before dying, while the fork engine saves all crashes to a temporary file, then prints that to stderr once everything's finished. I'm not sold on this TLS solution as being the best way to know what was running when we crashed, but it's better than printing nothing. Change-Id: I0aca66529301b1ad9bd51ec728848817586c606d Reviewed-on: https://skia-review.googlesource.com/10102 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Improve TaskEngine::wait_one().Gravatar Mike Klein2017-03-23
| | | | | | | | | This runs much faster. Very good idea. Change-Id: I088aa9588c069a17e4745be55c2397114ee8a2bc Reviewed-on: https://skia-review.googlesource.com/10053 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* okGravatar Mike Klein2017-03-23
| | | | | | | Change-Id: I9d01656a9d9b7aa3ab352dd4c168b26da620a903 Reviewed-on: https://skia-review.googlesource.com/9978 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Mark overridden destructors with 'override' and remove 'virtual'Gravatar Brian Salomon2017-03-22
| | | | | | | | | This silences a new warning in clang 5.0 Change-Id: Ieb5b75a6ffed60107c3fd16075d2ecfd515b55e8 Reviewed-on: https://skia-review.googlesource.com/10006 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* check-headers-self-sufficient: updateGravatar Hal Canary2017-03-21
| | | | | | | | | | | | * Translate to python, use multiprocessing to make it wun in reasonanble time. * Fix three headers. * Move one header. Change-Id: I0b26f912bb8086ec158d1c0bae76b923ec6121a4 Reviewed-on: https://skia-review.googlesource.com/8490 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Hal Canary <halcanary@google.com>
* Switch 16 sample gpu configs to 8 samplesGravatar Brian Salomon2017-03-20
| | | | | | | | | | BUG=skia: Change-Id: I053cce7c05c74860cbace00cd94ea4b96e9a482c Reviewed-on: https://skia-review.googlesource.com/9889 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
* Eager or Lazy evaluation of sub-drawings for SkDeferredCanvas.Gravatar Herb Derby2017-03-20
| | | | | | | | | | | | | | | | | Allow evaluation choice of Lazy or Eager evaluation for SkDeferredCanvas. Eager is used for drawing to a non-recording canvas to reduce the number of all operations. Lazy is used for drawing to a recording canvas to reduce the amount decode/encode that happens. R=reed@google.com Change-Id: I7837c4f6e5911c153e0796162e1170edbc34839e Reviewed-on: https://skia-review.googlesource.com/9839 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Mike Reed <reed@google.com>
* GetResourceAsData to use SkData::MakeFromFileName directly.Gravatar Ben Wagner2017-03-20
| | | | | | | | | | The current code creates an SkFILEStream and then reads all the bytes from it into an SkData. Instead, let the SkData just mmap the file. Change-Id: I79e3550a84e6f54ccbbd7284f5cda81ce1fa9221 Reviewed-on: https://skia-review.googlesource.com/9877 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Remove gpu configs that don't have explicit API.Gravatar Brian Salomon2017-03-20
| | | | | | | | | DOCS_PREVIEW= https://skia.org/?cl=9871 Change-Id: I510473cf91d8bee38d1e33424b1ae7b30dc86968 Reviewed-on: https://skia-review.googlesource.com/9871 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Be explicit on test and perf bots about GL vs GLESGravatar Brian Salomon2017-03-17
| | | | | | | | | | This changes the names of several shorthand names for gpu configs to be prefixed either with "gl" or "gles" and makes the bots only use such configs. It adds some missing named configs. Change-Id: Iea4e0e2ddafe0ac08e623111a15be7335156957c Reviewed-on: https://skia-review.googlesource.com/9833 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
* Detect RenderDoc in Windows viewer and make a core profileGravatar Brian Osman2017-03-17
| | | | | | | | | BUG=skia: Change-Id: I03a8a1b1ed9bd2483ddd8e231ba54dc10753b454 Reviewed-on: https://skia-review.googlesource.com/9836 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* remove legacy virtual for vertices, only support object formGravatar Mike Reed2017-03-17
| | | | | | | | | BUG=skia:6366 Change-Id: Ic422fa44a788d3488c050c6218dbfba188bb8f3e Reviewed-on: https://skia-review.googlesource.com/9835 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Revert[2] "More SkVertices implementation work""Gravatar Mike Reed2017-03-17
| | | | | | | | | | | | | | The fix was to release the array of vertices in the picturerecorder destructor (where we also release textblobs etc. This reverts commit 1eb3fef136bc75bd8e8ed717ec7c5d4ab26def62. BUG=skia: Change-Id: I3bf4acd6ad209205b0832a3cb7f94cd89dfcefc5 Reviewed-on: https://skia-review.googlesource.com/9826 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "More SkVertices implementation work"Gravatar Mike Reed2017-03-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 14583e11fd622c686993b741499060a6f3527055. Reason for revert: leaking Direct leak of 499104 byte(s) in 2112 object(s) allocated from: #0 0x1e195f0 in operator new(unsigned long) (/b/swarm_slave/w/irazbR79/out/Debug/dm+0x1e195f0) #1 0x3142b0a in SkVertices::Builder::init(SkCanvas::VertexMode, int, int, SkVertices::Sizes const&) (/b/swarm_slave/w/irazbR79/out/Debug/dm+0x3142b0a) Original change's description: > More SkVertices implementation work > > - change virtuals to take const SkVertices*, as we do for TextBobs and Images > - override onDrawVerticesObject in recording canvases > - deserialize raw-vertices into SkVertices object > > Possibly a follow-on would intercept the raw-form directly in canvas, > and remove the virtual, and only support the object form. > > BUG=skia:6366 > > Change-Id: I57a932667ccb3b3b004beb802ac3ae6898e3c6e0 > Reviewed-on: https://skia-review.googlesource.com/9633 > Commit-Queue: Mike Reed <reed@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:6366 Change-Id: I40bb7a20698ef6aa0a9ef71a3d6ac4c1473e081c Reviewed-on: https://skia-review.googlesource.com/9825 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* More SkVertices implementation workGravatar Mike Reed2017-03-17
| | | | | | | | | | | | | | | | - change virtuals to take const SkVertices*, as we do for TextBobs and Images - override onDrawVerticesObject in recording canvases - deserialize raw-vertices into SkVertices object Possibly a follow-on would intercept the raw-form directly in canvas, and remove the virtual, and only support the object form. BUG=skia:6366 Change-Id: I57a932667ccb3b3b004beb802ac3ae6898e3c6e0 Reviewed-on: https://skia-review.googlesource.com/9633 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Rename GrAADistanceFieldPathRenderer to GrSmallPathRendererGravatar Jim Van Verth2017-03-16
| | | | | | | | | Also disables use of small distance fields in Android framework. Change-Id: I1ba40ce85aa34d067608587e1fbe1d42e8a42868 Reviewed-on: https://skia-review.googlesource.com/9731 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com>
* SkDynamicMemoryWStream::detachAsStream() returns unique_ptrGravatar Hal Canary2017-03-15
| | | | | | | | https://crrev.com/2747183002 must land first. Change-Id: I65d1285a24d63c2c2f18662d511dea1c399511e1 Reviewed-on: https://skia-review.googlesource.com/9682 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* Viewer's nonlinear blend mode uses SkColorSpaceXformCanvasGravatar Brian Osman2017-03-15
| | | | | | | | | | | Also avoid asserting when untagged images are being transformed. BUG=skia: Change-Id: If712f39b5f588b2bc3dc318a5b782badb7662ccf Reviewed-on: https://skia-review.googlesource.com/9695 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Fix SkFILEStream.Gravatar Ben Wagner2017-03-10
| | | | | | | Change-Id: I8c66e4e3e857227aed3d0bc497982f4c0d96d917 Reviewed-on: https://skia-review.googlesource.com/9498 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Remove ownership aruments from render target wrap functionsGravatar Brian Osman2017-03-10
| | | | | | | | | | | We never adopt render targets (just borrow them). BUG=skia: Change-Id: Ie899b814a7a81339a8735bbd7ad9facc66e580d7 Reviewed-on: https://skia-review.googlesource.com/9525 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Partially defer SkImage_GpuGravatar Robert Phillips2017-03-10
| | | | | | | | | One of SkImageCacherator, GrBitmapTextureMaker, GrImageTextureMaker, GrTextureAdjuster, GrTextureProducer or SkImage has to take the first step. This is probably the least odd of the options. Change-Id: Ie167034553451f4b3633a5a1548dbd4d75839b3d Reviewed-on: https://skia-review.googlesource.com/9488 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add a separate draw function to GrRenderTargetContext for GrMeshDrawOp ↵Gravatar Brian Salomon2017-03-09
| | | | | | | | | | | | derived classes. The first phase of deferring GrPipeline creation until flush will apply only to GrDrawOp subclasses that do not derive from GrMeshDrawOp. This change prepares for that by creating separate draw functions on GrRenderTargetContext for GrMeshDrawOp-derived ops. This is temporary and will incrementally be undone as pipeline-creation deferral rolls out to the GrMeshDrawOps in a later phase of this work. Change-Id: I0f5b71fe913f3273cfe9e965f7d8bbe7f01ad0ef Reviewed-on: https://skia-review.googlesource.com/9481 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Added MSAA selection to viewer GUIGravatar Brian Osman2017-03-08
| | | | | | | | | | | | | | | | On Windows, we need to reconstruct the window to allow setting a new pixel format with a different sample count. Added some code that maintains window size/position across these changes. Previously, just cycling through backends would cause the window to move, as the "default" position would cycle across the screen. Now it's pinned. BUG=skia: Change-Id: Iecbe7a490577382043ffe5a88c910b4c0be2ed5c Reviewed-on: https://skia-review.googlesource.com/9085 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "remove SkClipVisitor"Gravatar Mike Reed2017-03-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 91b961d33d1d3e78c212be8738c1c7c468c358ca. Reason for revert: need to update caller in android Original change's description: > remove SkClipVisitor > > With new device clipping, this is unsupported on SkCanvas > > BUG=skia: > > Change-Id: I39443f213be1005b8b9208d604e4bfb31cbda424 > Reviewed-on: https://skia-review.googlesource.com/9349 > Commit-Queue: Mike Reed <reed@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: I22df0c66ec564ca32355179d2ee5ea14bff7b1d5 Reviewed-on: https://skia-review.googlesource.com/9456 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Maintain window position and size when re-createdGravatar Brian Osman2017-03-08
| | | | | | | | | | | Eliminates a UI oddity on Windows when cycling through backends. BUG=skia: Change-Id: I83f0325054def80bb9b6e5a9886461f8aad215ae Reviewed-on: https://skia-review.googlesource.com/9453 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Make SkGr.h private and remove unused functionsGravatar Brian Osman2017-03-08
| | | | | | | | | BUG=skia: Change-Id: I6699d00c5412ed9d9bf14b032a08b06b1c766bce Reviewed-on: https://skia-review.googlesource.com/9398 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Add instanced rendering command line flag to viewer.Gravatar Brian Salomon2017-03-08
| | | | | | | | | Previously this could only be turned on at runtime. Change-Id: I1b626584fba17fcf8ff64135dd93f98c7f40821d Reviewed-on: https://skia-review.googlesource.com/9445 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* remove SkClipVisitorGravatar Mike Reed2017-03-08
| | | | | | | | | | | | With new device clipping, this is unsupported on SkCanvas BUG=skia: Change-Id: I39443f213be1005b8b9208d604e4bfb31cbda424 Reviewed-on: https://skia-review.googlesource.com/9349 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Add a unique ID to GrOpLists and return it from GrRenderTargetContext::addDrawOpGravatar Robert Phillips2017-03-08
| | | | | | | | | This is to support the preFlush callbacks Change-Id: I8513ea08b6516681566eceafa789b2ee7925ebce Reviewed-on: https://skia-review.googlesource.com/9199 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Use glXCreateContextAttribsARB in viewer to make it easier to attach RenderDoc.Gravatar Brian Salomon2017-03-08
| | | | | | | Change-Id: I0cc82fe826b81a082b579f60af3d9ef35d5fe351 Reviewed-on: https://skia-review.googlesource.com/9407 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Add viewer GUI options for desktop and Android to toggle instanced rendering.Gravatar Brian Salomon2017-03-07
| | | | | | | | | BUG=skia: Change-Id: I42674abfb7ee764f676100ac0e84cc0f07620bec Reviewed-on: https://skia-review.googlesource.com/9396 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>