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

Issue 1186113007: Refactor separable varying location info to be stored in GrGLProgram subclass (Closed)

Created:
5 years, 6 months ago by Kimmo Kinnunen
Modified:
5 years, 5 months ago
Reviewers:
joshualitt
CC:
reviews_skia.org
Base URL:
https://skia.googlesource.com/skia.git@master
Target Ref:
refs/heads/master
Project:
skia
Visibility:
Public.

Description

Refactor separable varying location info to be stored in GrGLProgram subclass Refactor separable varying location info to be stored in GrGLProgram subclass GrGLProgram instead of storing it in GrGLPathProcessor. Separable varyings are exactly analoguous to uniforms: they are inputs to the shader program. Shader compile-time information about uniforms is gathered to GrGLProgramBuilder. This information is the converted to link-time information, uniform locations, when constructing the program. Separable varyings need to have same lifetime model. This is needed in the future to support path rendering in Chromium. The Chromium pseudo-extension will expose program fragment input binding function similar to uniform binding function. Thus the separable varying locations need to be decided and bound before link, e.g. before GrGLProgram is created. This will be achieved in further patches by overloading GrGLProgramBuilder::bindProgramResourceLocations() in GrGLNvprProgramBuilder. BUG=chromium:344330 Committed: https://skia.googlesource.com/skia/+/7aedda57f84f942b5f0ba6c1b6e7ba329e6b18f1

Patch Set 1 #

Patch Set 2 : rename NvprProgram to PathProgram #

Patch Set 3 : #

Total comments: 6

Patch Set 4 : address review comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+380 lines, -163 lines) Patch
M gyp/gpu.gypi View 1 2 3 2 chunks +6 lines, -0 lines 0 comments Download
M src/gpu/gl/GrGLPathProcessor.h View 1 3 chunks +4 lines, -12 lines 0 comments Download
M src/gpu/gl/GrGLPathProcessor.cpp View 1 3 chunks +6 lines, -30 lines 0 comments Download
A src/gpu/gl/GrGLPathProgram.h View 1 2 3 1 chunk +49 lines, -0 lines 0 comments Download
A src/gpu/gl/GrGLPathProgram.cpp View 1 2 3 1 chunk +52 lines, -0 lines 0 comments Download
A src/gpu/gl/GrGLPathProgramDataManager.h View 1 2 3 1 chunk +75 lines, -0 lines 0 comments Download
A src/gpu/gl/GrGLPathProgramDataManager.cpp View 1 1 chunk +48 lines, -0 lines 0 comments Download
M src/gpu/gl/GrGLPrimitiveProcessor.h View 1 2 3 3 chunks +6 lines, -0 lines 0 comments Download
M src/gpu/gl/GrGLProgram.h View 1 2 3 1 chunk +0 lines, -32 lines 0 comments Download
M src/gpu/gl/GrGLProgram.cpp View 1 2 3 1 chunk +0 lines, -40 lines 0 comments Download
M src/gpu/gl/GrGLProgramDataManager.cpp View 1 chunk +1 line, -1 line 0 comments Download
A src/gpu/gl/builders/GrGLPathProgramBuilder.h View 1 1 chunk +31 lines, -0 lines 0 comments Download
A src/gpu/gl/builders/GrGLPathProgramBuilder.cpp View 1 2 3 1 chunk +50 lines, -0 lines 0 comments Download
M src/gpu/gl/builders/GrGLProgramBuilder.h View 1 2 3 5 chunks +15 lines, -2 lines 0 comments Download
M src/gpu/gl/builders/GrGLProgramBuilder.cpp View 1 2 3 7 chunks +36 lines, -46 lines 0 comments Download
M src/gpu/gl/builders/GrGLShaderBuilder.h View 1 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 10 (2 generated)
Kimmo Kinnunen
Joshua, sending this to you due to you doing the related refactorings which moved separable ...
5 years, 6 months ago (2015-06-18 11:02:29 UTC) #2
joshualitt
sorry for the late review. Just some nits. https://codereview.chromium.org/1186113007/diff/40001/src/gpu/gl/GrGLPrimitiveProcessor.h File src/gpu/gl/GrGLPrimitiveProcessor.h (right): https://codereview.chromium.org/1186113007/diff/40001/src/gpu/gl/GrGLPrimitiveProcessor.h#newcode92 src/gpu/gl/GrGLPrimitiveProcessor.h:92: return ...
5 years, 6 months ago (2015-06-23 14:07:24 UTC) #3
Kimmo Kinnunen
Thanks. New one, PTAL https://codereview.chromium.org/1186113007/diff/40001/src/gpu/gl/GrGLPrimitiveProcessor.h File src/gpu/gl/GrGLPrimitiveProcessor.h (right): https://codereview.chromium.org/1186113007/diff/40001/src/gpu/gl/GrGLPrimitiveProcessor.h#newcode92 src/gpu/gl/GrGLPrimitiveProcessor.h:92: return GrGLPathProgramDataManager::SeparableVaryingHandle::CreateFromSeparableVaryingIndex(fHandle); On 2015/06/23 14:07:24, ...
5 years, 6 months ago (2015-06-25 12:38:11 UTC) #4
joshualitt
On 2015/06/25 12:38:11, Kimmo Kinnunen wrote: > Thanks. New one, PTAL > > https://codereview.chromium.org/1186113007/diff/40001/src/gpu/gl/GrGLPrimitiveProcessor.h > ...
5 years, 6 months ago (2015-06-25 15:09:57 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1186113007/60001
5 years, 5 months ago (2015-06-30 05:54:25 UTC) #7
commit-bot: I haz the power
The author kkinnunen@nvidia.com has not signed Google Contributor License Agreement. Please visit https://cla.developers.google.com to sign ...
5 years, 5 months ago (2015-06-30 05:54:26 UTC) #8
commit-bot: I haz the power
The author kkinnunen@nvidia.com has not signed Google Contributor License Agreement. Please visit https://cla.developers.google.com to sign ...
5 years, 5 months ago (2015-06-30 06:01:12 UTC) #9
commit-bot: I haz the power
5 years, 5 months ago (2015-06-30 06:01:31 UTC) #10
Message was sent while issue was closed.
Committed patchset #4 (id:60001) as
https://skia.googlesource.com/skia/+/7aedda57f84f942b5f0ba6c1b6e7ba329e6b18f1

Powered by Google App Engine
This is Rietveld 408576698