Make InstancedRendering more opList-splitting friendly
authorRobert Phillips <robertphillips@google.com>
Mon, 24 Apr 2017 11:31:02 +0000 (07:31 -0400)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Mon, 24 Apr 2017 12:13:16 +0000 (12:13 +0000)
commite3302dfb81865051ad19cd1c91e2ec3a27df3417
tree61d6c53ce21f75f6f5f46e24f160760985366e10
parent96a533051fc71b5ba8ddfaf01498894feed29847
Make InstancedRendering more opList-splitting friendly

This CL splits the InstancedRendering class into an allocator and a per-opList op tracker. This was done because we need to allocate the InstancedRendering ops before we know the final destination opList. The InstancedRendering ops are now still all allocated from the same pool but the tracking and execution is done per opList.

Change-Id: Ieddabb6f85f8f187c5e7373f7f6cb155d69a9685
Reviewed-on: https://skia-review.googlesource.com/13860
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
17 files changed:
gn/gpu.gni
src/gpu/GrDrawingManager.cpp
src/gpu/GrDrawingManager.h
src/gpu/GrGpu.cpp
src/gpu/GrGpu.h
src/gpu/GrRenderTargetContext.cpp
src/gpu/GrRenderTargetOpList.cpp
src/gpu/gl/GrGLGpu.cpp
src/gpu/gl/GrGLGpu.h
src/gpu/instanced/GLInstancedRendering.cpp
src/gpu/instanced/GLInstancedRendering.h
src/gpu/instanced/InstanceProcessor.h
src/gpu/instanced/InstancedOp.cpp [new file with mode: 0644]
src/gpu/instanced/InstancedOp.h [new file with mode: 0644]
src/gpu/instanced/InstancedRendering.cpp
src/gpu/instanced/InstancedRendering.h
src/gpu/ops/GrOp.h