DescriptionThe great shader refactor: Move all programs to a common cache
The various programs stored in GLRenderer are 5-dimensional arrays,
and adding color conversion to them would require adding a 6th
dimension.
Create a ProgramKey structure that uniquely identifies a program, and
create a single unordered_map to cache programs.
Gut all off the GLRenderer::Get*Program* functions, to just call a
common GLRenderer::GetProgram function, which takes this key.
Adding color conversion will now just consist of adding a new field to
the ProgramKey structure. Before we do that, we'll remove all of the
(now-stub) GLRenderer::Get*Program* functions, and have the callers
all call GLRenderer::GetProgram.
BUG=667966
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
Review-Url: https://codereview.chromium.org/2613903002
Cr-Commit-Position: refs/heads/master@{#443362}
Committed: https://chromium.googlesource.com/chromium/src/+/4183067b5afba105939fef7dbd4082295ad2791f
Patch Set 1 #
Total comments: 6
Patch Set 2 : Delete vars #
Total comments: 1
Patch Set 3 : Rebase #
Total comments: 2
Patch Set 4 : Incorporate review feedback #
Dependent Patchsets: Messages
Total messages: 23 (15 generated)
|