54d212e1bfaea0be88c3c40820d0b1ae0daebecf |
|
21-Mar-2017 |
Brian Salomon <bsalomon@google.com> |
Revert "Revert "Remove GrPipeline from GrDrawOp."" This reverts commit c48af934608bbb65650641f66adb51f2102d4274. Change-Id: I4ba78fd7e5a7d406b88223ca6f7245c029b60f76 Reviewed-on: https://skia-review.googlesource.com/9981 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
c48af934608bbb65650641f66adb51f2102d4274 |
|
16-Mar-2017 |
Brian Salomon <bsalomon@google.com> |
Revert "Remove GrPipeline from GrDrawOp." This reverts commit 2bf4b3a97b770811d9e0558dbbfbdb57cfafbdb7. Reason for revert: nanobench assertion Original change's description: > Remove GrPipeline from GrDrawOp. > > GrDrawOp subclasses are now free to construct their pipelines at flush time and now in theory could use multiple GrPipelines for multipass rendering. > > GrProcessorSet may be used to retain the processors from a GrPaint with "pending execution" style refs. > > NVPR and Instanced rendering are updated to create their pipelines at flush time without a GrPipelineBuilder. > > The monolithic pipeline creation/management that was on GrDrawOp is moved to GrMeshDrawOp. However, this is temporary and will be removed in coming changes. > > Change-Id: I124282e3cea5d070970b5460c8a679fcaf7a8eff > Reviewed-on: https://skia-review.googlesource.com/7279 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,csmartdalton@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I1bc64f6cbbd5f482417637a034342c2b5371dc5c Reviewed-on: https://skia-review.googlesource.com/9817 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
2bf4b3a97b770811d9e0558dbbfbdb57cfafbdb7 |
|
16-Mar-2017 |
Brian Salomon <bsalomon@google.com> |
Remove GrPipeline from GrDrawOp. GrDrawOp subclasses are now free to construct their pipelines at flush time and now in theory could use multiple GrPipelines for multipass rendering. GrProcessorSet may be used to retain the processors from a GrPaint with "pending execution" style refs. NVPR and Instanced rendering are updated to create their pipelines at flush time without a GrPipelineBuilder. The monolithic pipeline creation/management that was on GrDrawOp is moved to GrMeshDrawOp. However, this is temporary and will be removed in coming changes. Change-Id: I124282e3cea5d070970b5460c8a679fcaf7a8eff Reviewed-on: https://skia-review.googlesource.com/7279 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
d543e0a835002cc423de0d09c86eea99a0c0a2ba |
|
06-Mar-2017 |
Brian Salomon <bsalomon@google.com> |
Add GrOp::wasRecorded and use in instanced rendering for tracking. BUG=skia: Change-Id: I4c5cdf47d42b7adae3649c7f96caabe68f45acbf Reviewed-on: https://skia-review.googlesource.com/9308 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
9e50f7b11e9a9d3dc23c924bbb0f0b85c6f1d6cb |
|
06-Mar-2017 |
Brian Salomon <bsalomon@google.com> |
Store clipped bounds on GrOp rather than in parallel in GrRenderTargetOpList. When the op is recorded we update its bounds to incorporate both clipping and aa bloat. Change-Id: Ia205e058ebeda5fcdb2cd5e9b8a30a4972672b14 Reviewed-on: https://skia-review.googlesource.com/9233 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
af9847ee11ae92dbb369cdca3e6d6ae69a62b973 |
|
01-Mar-2017 |
Brian Salomon <bsalomon@google.com> |
Use GrAAType in instanced rendering. Change-Id: Ifb5a33f908de618d66fcb0dd329f064c1ecfcd63 Reviewed-on: https://skia-review.googlesource.com/9082 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
5298dc8bf30f580f551d130346c007efaf4b2098 |
|
22-Feb-2017 |
Brian Salomon <bsalomon@google.com> |
Make GrPipelineAnalysis a nested class of GrProcessorSet. It is renamed to FragmentProcessorAnalysis since it represents the outputs of the final FPs. It now stores the analysis results that are subsequently needed rather than exposing GrProcOptInfo. GrProcOptInfo is now only used on color FPs (not coverage). Miscellaneous related renamings. Change-Id: I95c518a7a76df6dc294a9fa67c611f8f653247bc Reviewed-on: https://skia-review.googlesource.com/8534 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
f8334781914363caf537f22f012fcd5c03c60dad |
|
03-Jan-2017 |
Brian Salomon <bsalomon@google.com> |
Remove ref counting from GrOp. Instead use std::unique_ptr to manage GrOp lifetime. Change-Id: Ic1dc1e0ffd7254c3994221f498677af5bbf66a71 Reviewed-on: https://skia-review.googlesource.com/6479 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
bde428513ff3bd98a3d4f1c66ac779411233f817 |
|
21-Dec-2016 |
Brian Salomon <bsalomon@google.com> |
Rename GrOp::draw to GrOp::execute Change-Id: I36b8532c57d0b6004a5fd283e30a506df89a4fa6 Reviewed-on: https://skia-review.googlesource.com/6387 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
92aee3d6857386f2b5b8e1148e680a7b58e9b1fc |
|
21-Dec-2016 |
Brian Salomon <bsalomon@google.com> |
This renames methods and classes that relate to static analysis of combinations of GrDrawOps and GrPipelines. Change-Id: I737b901a19d3c67d2ff7f95802fb4df35656beb2 Reviewed-on: https://skia-review.googlesource.com/6199 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
895274391db8df7357334aec260edca2e1735626 |
|
16-Dec-2016 |
Brian Salomon <bsalomon@google.com> |
move src/gpu/batches -> src/gpu/ops Change-Id: I6410eae41f051ce38bef6f38d670924c3483c325 Reviewed-on: https://skia-review.googlesource.com/6163 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
99ad164886ba39f688ebabecd5fe20dd5d923ba0 |
|
16-Dec-2016 |
Brian Salomon <bsalomon@google.com> |
Rename batch->op and sk_sp in instanced rendering Change-Id: I9df450f2bce51d4f803d419bef863ca3a3314f09 Reviewed-on: https://skia-review.googlesource.com/6162 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
0e8fc8b9e6a138cf4a66b421fb824679df717329 |
|
09-Dec-2016 |
Brian Salomon <bsalomon@google.com> |
Relandx2 "Remove antialiasing control from GrPaint." Fixes a bad merge. This reverts commit 073285c0595d46205d1482cc19af2d7d891bfeae. Change-Id: I5e92339d9b33d3a6dc58b9fcd2a1b3a5684e8f8a Reviewed-on: https://skia-review.googlesource.com/5774 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
073285c0595d46205d1482cc19af2d7d891bfeae |
|
09-Dec-2016 |
Brian Salomon <bsalomon@google.com> |
Revert "Reland "Remove antialiasing control from GrPaint."" This reverts commit 3944484020d98ff8f386378296106c321279482b. Reason for revert: Merges badly with a recent change. Will rebase and reland. Original change's description: > Reland "Remove antialiasing control from GrPaint." > > This contains fixes for GLPrograms test and mixed samples rendering. > > This reverts commit 419d81eed4a010e6080db199795117cbedf9e6e4. > > BUG=skia: > > Change-Id: If8f002fbfaaaab6d1607403f2b15ccc7f1e17e87 > Reviewed-on: https://skia-review.googlesource.com/5763 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org BUG=skia: NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Iff9657041e28604a845bc5a9acec7c9b248c53bd Reviewed-on: https://skia-review.googlesource.com/5772 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
3944484020d98ff8f386378296106c321279482b |
|
09-Dec-2016 |
Brian Salomon <bsalomon@google.com> |
Reland "Remove antialiasing control from GrPaint." This contains fixes for GLPrograms test and mixed samples rendering. This reverts commit 419d81eed4a010e6080db199795117cbedf9e6e4. BUG=skia: Change-Id: If8f002fbfaaaab6d1607403f2b15ccc7f1e17e87 Reviewed-on: https://skia-review.googlesource.com/5763 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
419d81eed4a010e6080db199795117cbedf9e6e4 |
|
08-Dec-2016 |
Brian Salomon <bsalomon@google.com> |
Revert "Remove antialiasing control from GrPaint." This reverts commit 9f549358b3ac9f61e78b194e39d6ac6eb322e35e. Reason for revert: hitting asserts Change-Id: I542d34edc05ecf72b7646263f25736a0950c78e7 Reviewed-on: https://skia-review.googlesource.com/5707 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
9f549358b3ac9f61e78b194e39d6ac6eb322e35e |
|
08-Dec-2016 |
Brian Salomon <bsalomon@google.com> |
Remove antialiasing control from GrPaint. This adds an additional param (of new enum type GrAA) to draws that can antialias and a new enum GrAAType to indicate the AA technique (none, fragment shader computed coverage, msaa). Some GMs change due to this: 1) In some places we weren't disabling MSAA when the draw was supposed to be unantialiased. 2) Some bounding rect draws that use GrFragmentProcessors were unnecessarily turning on antialiasing, by disabling it a very small number of pixel LSBs change. Change-Id: I7d8d8793dda70bcd373d09055beb9949c1a8a4d0 Reviewed-on: https://skia-review.googlesource.com/5608 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
742e31de1599f3902810aecdf2e2e3eed3b40a09 |
|
07-Dec-2016 |
Brian Salomon <bsalomon@google.com> |
Rename GrBatchFlushState to GrOpFlushState Change-Id: I1a8052c61d7624929caf45ba44e2a465cd0dc1c2 Reviewed-on: https://skia-review.googlesource.com/5649 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
9afd371a8a66f992f98eb2a3fc75ae64bddc730b |
|
01-Dec-2016 |
Brian Salomon <bsalomon@google.com> |
Rename GrDrawBatch->GrDrawOp Change-Id: I18f520924b8a2548566fd61dbea4e3e12bd253dd Reviewed-on: https://skia-review.googlesource.com/5411 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
25a880960a9a689a745a01071ecba3fe494b5940 |
|
01-Dec-2016 |
Brian Salomon <bsalomon@google.com> |
Rename GrBatch to GrOp Change-Id: I27b6324f8040899fafeda23ca524bc54a4dbf090 Reviewed-on: https://skia-review.googlesource.com/5392 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
7c3e7180948766321c51d165737555e78910de51 |
|
01-Dec-2016 |
Brian Salomon <bsalomon@google.com> |
Remove pipeline info dump from GrDrawBatch Also adds more overrides of GrBatch::dumpInfo. This removes a use case of the GrPipeline member of GrDrawBatch. Change-Id: I93f5f2993be41ffa290122f12a683d2bac453e1d Reviewed-on: https://skia-review.googlesource.com/5354 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
e4cd00699167cefde9abedbd49ede64f82d552c7 |
|
29-Nov-2016 |
dskiba <dskiba@chromium.org> |
Make GrMemoryPool play nice with bucketing allocators. Some memory allocators have very coarse size buckets, so for example on Android (jemalloc) an attempt to allocate 32 KiB + 1 byte will end up allocating 40 KiB, wasting 8 KiB. GrMemoryPool ctor takes two arguments that specify prealloc / block sizes, and then inflates them to accommodate some bookkeeping structures. Since most places create GrMemoryPools with pow2 numbers (which have buckets in most allocators) the inflation causes allocator to select next size bucket, wasting memory. This CL makes GrMemoryPool to stop inflating sizes it was created with, and allocate specified amounts exactly. Part of allocated memory is then used for bookkeeping structures. Additionally, GrObjectMemoryPool template is provided, which takes prealloc / block object counts (instead of sizes) and guarantees that specified number of objects will fit in prealloc / block spaces. BUG=651872 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2525773002 Review-Url: https://codereview.chromium.org/2525773002
/external/skia/src/gpu/instanced/InstancedRendering.h
|
144caf55ffc692bcda77703a73bb9a894f7d024f |
|
07-Nov-2016 |
Hal Canary <halcanary@google.com> |
src/gpu: s/SkAutoTUnref/sk_sp/g GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4527 Change-Id: I23f0548f98e7c355da05e143e8baa330d4bc04cc Reviewed-on: https://skia-review.googlesource.com/4527 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
77b53f66bacd9a1d1c9df7d879a419b2abe069ba |
|
18-Oct-2016 |
Greg Daniel <egdaniel@google.com> |
Support inline uploads in Vulkan BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3586 Change-Id: I5913c336aa33851d6d2e80d9638df2efa8ac0400 Reviewed-on: https://skia-review.googlesource.com/3586 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
36a77ee494791989548b717515e3621b9c4ffe4e |
|
18-Oct-2016 |
Greg Daniel <egdaniel@google.com> |
Refactor GrVkGpuCommandBuffer to handle multiple GrVkCommandBuffers. This CL is a pre CL to fix some issues where we will need a GpuCB to internally have multiple commandbuffers that it submits. Because of this, I need to move the bounds calculations down into the VkGpuCB since we need to know the bounds for each sub commandbuffer and not just entire set of commands. In part this is good since GL actually never needed the calculations so it saves some work there. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3142 Change-Id: Ied918765da3630aa6d87e29ccce6c883b96c4ead Reviewed-on: https://skia-review.googlesource.com/3142 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
/external/skia/src/gpu/instanced/InstancedRendering.h
|
e0d362929d6569e8737d80dead791c640390e819 |
|
29-Jul-2016 |
csmartdalton <csmartdalton@google.com> |
Add test configs for instanced rendering Adds the following configs and enables them on select bots: glinst, glinst4, glinstdit4, glinst16, glinstdit16, esinst, esinst4, esinstdit4 Makes general changes to GrContextOptions, GrCaps, etc. to facilitate this. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2182783004 Review-Url: https://codereview.chromium.org/2182783004
/external/skia/src/gpu/instanced/InstancedRendering.h
|
a7f29640f6ab4eb50962a9d9f12d01ac2ce8b471 |
|
07-Jul-2016 |
csmartdalton <csmartdalton@google.com> |
Begin instanced rendering for simple shapes Adds a module that performs instanced rendering and starts using it for a select subset of draws on Mac GL platforms. The instance processor can currently handle rects, ovals, round rects, and double round rects. It can generalize shapes as round rects in order to improve batching. The instance processor also employs new drawing algorithms, irrespective of instanced rendering, that improve GPU-side performance (e.g. sample mask, different triangle layouts, etc.). This change only scratches the surface of instanced rendering. The majority of draws still only have one instance. Future work may include: * Passing coord transforms through the texel buffer. * Sending FP uniforms through instanced vertex attribs. * Using instanced rendering for more draws (stencil writes, drawAtlas, etc.). * Adding more shapes to the instance processor’s repertoire. * Batching draws that have mismatched scissors (analyzing draw bounds, inserting clip planes, etc.). * Bindless textures. * Uber shaders. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2066993003 Committed: https://skia.googlesource.com/skia/+/42eafa4bc00354b132ad114d22ed6b95d8849891 Review-Url: https://codereview.chromium.org/2066993003
/external/skia/src/gpu/instanced/InstancedRendering.h
|
ec7f2ac7285ad9b1ea84e7aa68a741ae2a07a777 |
|
05-Jul-2016 |
ksakamoto <ksakamoto@chromium.org> |
Revert of Begin instanced rendering for simple shapes (patchset #20 id:380001 of https://codereview.chromium.org/2066993003/ ) Reason for revert: This caused static initializer regressions in Chromium (crbug.com/625728). Relevant build logs here: Linux: https://build.chromium.org/p/chromium/builders/Linux%20x64/builds/21849 Mac: https://build.chromium.org/p/chromium/builders/Mac/builds/17350 Relevant lines from the error log: Linux: # InstanceProcessor.cpp GrUniqueKey::GenerateDomain() # InstanceProcessor.cpp gr_instanced::kShapeBufferDomain FAILED linux-release-64/sizes/nacl_helper-si/initializers: actual 8, expected 7, better lower FAILED linux-release-64/sizes/chrome-si/initializers: actual 8, expected 7, better lower Mac: FAILED mac-release/sizes/chrome-si/initializers: actual 2, expected 0, better lower Original issue's description: > Begin instanced rendering for simple shapes > > Adds a module that performs instanced rendering and starts using it > for a select subset of draws on Mac GL platforms. The instance > processor can currently handle rects, ovals, round rects, and double > round rects. It can generalize shapes as round rects in order to > improve batching. The instance processor also employs new drawing > algorithms, irrespective of instanced rendering, that improve GPU-side > performance (e.g. sample mask, different triangle layouts, etc.). > > This change only scratches the surface of instanced rendering. The > majority of draws still only have one instance. Future work may > include: > > * Passing coord transforms through the texel buffer. > * Sending FP uniforms through instanced vertex attribs. > * Using instanced rendering for more draws (stencil writes, > drawAtlas, etc.). > * Adding more shapes to the instance processor’s repertoire. > * Batching draws that have mismatched scissors (analyzing draw > bounds, inserting clip planes, etc.). > * Bindless textures. > * Uber shaders. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2066993003 > > Committed: https://skia.googlesource.com/skia/+/42eafa4bc00354b132ad114d22ed6b95d8849891 NOTREECHECKS=true TBR=bsalomon@google.com,egdaniel@google.com,robertphillips@google.com,csmartdalton@google.com # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=skia: Review-Url: https://codereview.chromium.org/2123693002
/external/skia/src/gpu/instanced/InstancedRendering.h
|
42eafa4bc00354b132ad114d22ed6b95d8849891 |
|
30-Jun-2016 |
csmartdalton <csmartdalton@google.com> |
Begin instanced rendering for simple shapes Adds a module that performs instanced rendering and starts using it for a select subset of draws on Mac GL platforms. The instance processor can currently handle rects, ovals, round rects, and double round rects. It can generalize shapes as round rects in order to improve batching. The instance processor also employs new drawing algorithms, irrespective of instanced rendering, that improve GPU-side performance (e.g. sample mask, different triangle layouts, etc.). This change only scratches the surface of instanced rendering. The majority of draws still only have one instance. Future work may include: * Passing coord transforms through the texel buffer. * Sending FP uniforms through instanced vertex attribs. * Using instanced rendering for more draws (stencil writes, drawAtlas, etc.). * Adding more shapes to the instance processor’s repertoire. * Batching draws that have mismatched scissors (analyzing draw bounds, inserting clip planes, etc.). * Bindless textures. * Uber shaders. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2066993003 Review-Url: https://codereview.chromium.org/2066993003
/external/skia/src/gpu/instanced/InstancedRendering.h
|