Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(31)

Issue 1806983002: Update how we send draws to gpu backend to reduce state setting. (Closed)

Created:
4 years, 9 months ago by egdaniel
Modified:
4 years, 9 months ago
CC:
reviews_skia.org
Base URL:
https://skia.googlesource.com/skia.git@master
Target Ref:
refs/heads/master
Project:
skia
Visibility:
Public.

Description

Update how we send draws to gpu backend to reduce state setting. The main change here is that we pull primitive type off of the vertices, we set the gpu state on gpu once per pipeline/prim proc draw batch, and we create the ProgramDescriptor only for the Cache/ProgramBuilder. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1806983002 Committed: https://skia.googlesource.com/skia/+/0e1853c89615d14d0d03c87c7e0c604e5285cc54

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : rebase #

Total comments: 10

Patch Set 4 : Change GrVertices to GrMesh #

Patch Set 5 : nits #

Patch Set 6 : nit #

Unified diffs Side-by-side diffs Delta from patch set Stats (+470 lines, -547 lines) Patch
M gyp/gpu.gypi View 1 2 3 2 chunks +1 line, -1 line 0 comments Download
M src/gpu/GrBatchFlushState.h View 1 2 3 1 chunk +3 lines, -3 lines 0 comments Download
M src/gpu/GrGpu.h View 1 2 3 4 5 chunks +12 lines, -22 lines 0 comments Download
M src/gpu/GrGpu.cpp View 1 2 3 3 chunks +7 lines, -12 lines 0 comments Download
A + src/gpu/GrMesh.h View 1 2 3 4 chunks +29 lines, -29 lines 0 comments Download
M src/gpu/GrOvalRenderer.cpp View 1 2 3 5 chunks +5 lines, -5 lines 0 comments Download
M src/gpu/GrPathRendering.h View 2 chunks +33 lines, -26 lines 0 comments Download
M src/gpu/GrTest.cpp View 1 2 3 2 chunks +4 lines, -4 lines 0 comments Download
M src/gpu/GrVertices.h View 1 2 3 1 chunk +0 lines, -179 lines 0 comments Download
M src/gpu/batches/GrAAConvexPathRenderer.cpp View 1 2 3 4 chunks +9 lines, -9 lines 0 comments Download
M src/gpu/batches/GrAADistanceFieldPathRenderer.cpp View 1 2 3 3 chunks +5 lines, -5 lines 0 comments Download
M src/gpu/batches/GrAAHairLinePathRenderer.cpp View 1 2 3 3 chunks +18 lines, -18 lines 0 comments Download
M src/gpu/batches/GrAALinearizingConvexPathRenderer.cpp View 1 2 3 3 chunks +5 lines, -5 lines 0 comments Download
M src/gpu/batches/GrAAStrokeRectBatch.cpp View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M src/gpu/batches/GrAtlasTextBatch.cpp View 1 2 3 3 chunks +8 lines, -8 lines 0 comments Download
M src/gpu/batches/GrDefaultPathRenderer.cpp View 1 2 3 3 chunks +7 lines, -7 lines 0 comments Download
M src/gpu/batches/GrDrawAtlasBatch.cpp View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/gpu/batches/GrDrawPathBatch.cpp View 3 chunks +16 lines, -13 lines 0 comments Download
M src/gpu/batches/GrDrawVerticesBatch.cpp View 1 2 3 2 chunks +6 lines, -6 lines 0 comments Download
M src/gpu/batches/GrNinePatch.cpp View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/gpu/batches/GrNonAAStrokeRectBatch.cpp View 1 2 3 3 chunks +5 lines, -5 lines 0 comments Download
M src/gpu/batches/GrPLSPathRenderer.cpp View 1 2 3 4 chunks +13 lines, -13 lines 0 comments Download
M src/gpu/batches/GrTInstanceBatch.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/gpu/batches/GrTessellatingPathRenderer.cpp View 1 2 3 2 chunks +6 lines, -5 lines 0 comments Download
M src/gpu/batches/GrTestBatch.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/gpu/batches/GrVertexBatch.h View 1 2 3 3 chunks +3 lines, -3 lines 0 comments Download
M src/gpu/batches/GrVertexBatch.cpp View 1 2 3 2 chunks +7 lines, -12 lines 0 comments Download
M src/gpu/effects/GrDashingEffect.cpp View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/gpu/gl/GrGLGpu.h View 1 2 3 6 chunks +9 lines, -10 lines 0 comments Download
M src/gpu/gl/GrGLGpu.cpp View 1 2 3 4 5 9 chunks +51 lines, -48 lines 0 comments Download
M src/gpu/gl/GrGLGpuProgramCache.cpp View 1 2 chunks +14 lines, -5 lines 0 comments Download
M src/gpu/gl/GrGLPathRendering.h View 1 chunk +13 lines, -3 lines 0 comments Download
M src/gpu/gl/GrGLPathRendering.cpp View 2 chunks +11 lines, -6 lines 0 comments Download
M src/gpu/gl/GrGLVaryingHandler.cpp View 1 chunk +3 lines, -3 lines 0 comments Download
M src/gpu/gl/builders/GrGLProgramBuilder.h View 1 2 3 chunks +7 lines, -2 lines 0 comments Download
M src/gpu/gl/builders/GrGLProgramBuilder.cpp View 1 2 3 chunks +11 lines, -4 lines 0 comments Download
M src/gpu/glsl/GrGLSLProgramBuilder.h View 1 2 3 4 chunks +10 lines, -7 lines 0 comments Download
M src/gpu/glsl/GrGLSLProgramBuilder.cpp View 1 2 1 chunk +6 lines, -2 lines 0 comments Download
M src/gpu/vk/GrVkGpu.h View 1 2 3 4 chunks +12 lines, -6 lines 0 comments Download
M src/gpu/vk/GrVkGpu.cpp View 1 2 3 4 7 chunks +92 lines, -38 lines 0 comments Download
M src/gpu/vk/GrVkProgramBuilder.h View 1 2 3 4 chunks +9 lines, -7 lines 0 comments Download
M src/gpu/vk/GrVkProgramBuilder.cpp View 1 2 4 chunks +13 lines, -9 lines 0 comments Download

Messages

Total messages: 13 (6 generated)
egdaniel
https://codereview.chromium.org/1806983002/diff/40001/src/gpu/gl/GrGLGpu.cpp File src/gpu/gl/GrGLGpu.cpp (right): https://codereview.chromium.org/1806983002/diff/40001/src/gpu/gl/GrGLGpu.cpp#newcode2932 src/gpu/gl/GrGLGpu.cpp:2932: if (!fHWPLSEnabled && plsState != Ethan do you know ...
4 years, 9 months ago (2016-03-16 19:55:35 UTC) #5
bsalomon
https://codereview.chromium.org/1806983002/diff/40001/src/gpu/GrGpu.h File src/gpu/GrGpu.h (right): https://codereview.chromium.org/1806983002/diff/40001/src/gpu/GrGpu.h#newcode381 src/gpu/GrGpu.h:381: struct DrawArgs { Delete this? https://codereview.chromium.org/1806983002/diff/40001/src/gpu/GrGpu.h#newcode402 src/gpu/GrGpu.h:402: int drawCount); ...
4 years, 9 months ago (2016-03-16 20:07:23 UTC) #6
ethannicholas
https://codereview.chromium.org/1806983002/diff/40001/src/gpu/gl/GrGLGpu.cpp File src/gpu/gl/GrGLGpu.cpp (right): https://codereview.chromium.org/1806983002/diff/40001/src/gpu/gl/GrGLGpu.cpp#newcode2932 src/gpu/gl/GrGLGpu.cpp:2932: if (!fHWPLSEnabled && plsState != On 2016/03/16 20:07:22, bsalomon ...
4 years, 9 months ago (2016-03-16 21:14:19 UTC) #7
egdaniel
Updated to change GrVertices to GrMesh and put primitive type back on that object https://codereview.chromium.org/1806983002/diff/40001/src/gpu/GrGpu.h ...
4 years, 9 months ago (2016-03-17 15:09:36 UTC) #8
bsalomon
lgtm
4 years, 9 months ago (2016-03-17 15:32:59 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1806983002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1806983002/100001
4 years, 9 months ago (2016-03-17 18:12:38 UTC) #11
commit-bot: I haz the power
4 years, 9 months ago (2016-03-17 18:35:53 UTC) #13
Message was sent while issue was closed.
Committed patchset #6 (id:100001) as
https://skia.googlesource.com/skia/+/0e1853c89615d14d0d03c87c7e0c604e5285cc54

Powered by Google App Engine
This is Rietveld 408576698