Cleanup of shader building system
this is a huge refactor and cleanup of the gl shader building system in
Skia. The entire shader building pipeline is now part of
GrGLProgramCreator, which takes a gp, and some fps, and creates a
program. I added some subclasses of GrGLProgram to handle the
eccentricities of Nvpr/Nvpres. Outside of the builders folder
and GrGLPrograms, this change is basically just a rename
solo gp
BUG=skia:
Review URL: https://codereview.chromium.org/611653002
diff --git a/tests/GLProgramsTest.cpp b/tests/GLProgramsTest.cpp
index d8ce3fd..c31aa1e 100644
--- a/tests/GLProgramsTest.cpp
+++ b/tests/GLProgramsTest.cpp
@@ -16,6 +16,7 @@
#include "GrContextFactory.h"
#include "GrOptDrawState.h"
#include "effects/GrConfigConversionEffect.h"
+#include "gl/builders/GrGLProgramBuilder.h"
#include "gl/GrGLPathRendering.h"
#include "gl/GrGpuGL.h"
#include "SkChecksum.h"
@@ -24,7 +25,7 @@
static void get_stage_stats(const GrFragmentStage stage, bool* readsDst,
bool* readsFragPosition, bool* requiresVertexShader) {
- if (stage.getFragmentProcessor()->willReadDstColor()) {
+ if (stage.getProcessor()->willReadDstColor()) {
*readsDst = true;
}
if (stage.getProcessor()->willReadFragmentPosition()) {
@@ -335,12 +336,14 @@
SkAutoTUnref<GrOptDrawState> optState(GrOptDrawState::Create(this->getDrawState(),
*this->caps(),
drawType));
- SkAutoTUnref<GrGLProgram> program(GrGLProgram::Create(this,
- *optState.get(),
- pdesc,
- geometryProcessor.get(),
- stages,
- stages + numColorStages));
+ SkAutoTUnref<GrGLProgram> program(
+ GrGLProgramBuilder::CreateProgram(*optState,
+ pdesc,
+ drawType,
+ geometryProcessor,
+ stages,
+ stages + numColorStages,
+ this));
for (int s = 0; s < numStages; ++s) {
SkDELETE(stages[s]);
}