diff options
author | Brian Salomon <bsalomon@google.com> | 2018-06-08 18:05:20 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-06-08 22:32:02 +0000 |
commit | 802cb318f695d5c3ade20b6424c97ea548a929b2 (patch) | |
tree | 964cb86d42d1d3e0e2ffb970364622b902733a44 /src/gpu/ccpr/GrCCCoverageProcessor_VSImpl.cpp | |
parent | 65b7bfcf61c5d925bf0066a2b40dd6ef7cf82595 (diff) |
Stop passing GrPrimitiveProcessor to GrMesh::sendToGpu.
It is currently used in GrGLGpu::setupGeometry. Instead:
1) Make GrMesh track whether primitive restart should be enabled.
2) Make GrGLProgram track program attributes.
Change-Id: Ice411a495961fcbc3cedc81e8ae0583537f42153
Reviewed-on: https://skia-review.googlesource.com/132267
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Diffstat (limited to 'src/gpu/ccpr/GrCCCoverageProcessor_VSImpl.cpp')
-rw-r--r-- | src/gpu/ccpr/GrCCCoverageProcessor_VSImpl.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gpu/ccpr/GrCCCoverageProcessor_VSImpl.cpp b/src/gpu/ccpr/GrCCCoverageProcessor_VSImpl.cpp index ef2bcd36cb..3c9fe89fbc 100644 --- a/src/gpu/ccpr/GrCCCoverageProcessor_VSImpl.cpp +++ b/src/gpu/ccpr/GrCCCoverageProcessor_VSImpl.cpp @@ -522,7 +522,6 @@ void GrCCCoverageProcessor::initVS(GrResourceProvider* rp) { SkASSERT(sizeof(int32_t) == this->getVertexStride()); if (caps.usePrimitiveRestart()) { - this->setWillUsePrimitiveRestart(); fVSTriangleType = GrPrimitiveType::kTriangleStrip; } else { fVSTriangleType = GrPrimitiveType::kTriangles; @@ -533,8 +532,9 @@ void GrCCCoverageProcessor::appendVSMesh(GrBuffer* instanceBuffer, int instanceC int baseInstance, SkTArray<GrMesh>* out) const { SkASSERT(Impl::kVertexShader == fImpl); GrMesh& mesh = out->emplace_back(fVSTriangleType); + auto primitiveRestart = GrPrimitiveRestart(GrPrimitiveType::kTriangleStrip == fVSTriangleType); mesh.setIndexedInstanced(fVSIndexBuffer.get(), fVSNumIndicesPerInstance, instanceBuffer, - instanceCount, baseInstance); + instanceCount, baseInstance, primitiveRestart); mesh.setVertexData(fVSVertexBuffer.get(), 0); } |