зеркало из https://github.com/mozilla/moz-skia.git
Pass the GrCustomStage and key to GrGLProgramStage emitCode.
The key computation may encode some analysis that emitCode may be able to skip by examining the key. Review URL: https://codereview.appspot.com/6709075 git-svn-id: http://skia.googlecode.com/svn/trunk@6075 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
Родитель
985fa79141
Коммит
96182216f1
|
@ -955,7 +955,13 @@ GrGLProgramStage* GrGLProgram::GenStageCode(const GrCustomStage* stage,
|
||||||
// Enclose custom code in a block to avoid namespace conflicts
|
// Enclose custom code in a block to avoid namespace conflicts
|
||||||
builder->fVSCode.appendf("\t{ // %s\n", glStage->name());
|
builder->fVSCode.appendf("\t{ // %s\n", glStage->name());
|
||||||
builder->fFSCode.appendf("\t{ // %s \n", glStage->name());
|
builder->fFSCode.appendf("\t{ // %s \n", glStage->name());
|
||||||
glStage->emitCode(builder, varyingVSName, fsOutColor, fsInColor, textureSamplers);
|
glStage->emitCode(builder,
|
||||||
|
*stage,
|
||||||
|
desc.fCustomStageKey,
|
||||||
|
varyingVSName,
|
||||||
|
fsOutColor,
|
||||||
|
fsInColor,
|
||||||
|
textureSamplers);
|
||||||
builder->fVSCode.appendf("\t}\n");
|
builder->fVSCode.appendf("\t}\n");
|
||||||
builder->fFSCode.appendf("\t}\n");
|
builder->fFSCode.appendf("\t}\n");
|
||||||
|
|
||||||
|
|
|
@ -50,6 +50,9 @@ public:
|
||||||
stages.
|
stages.
|
||||||
|
|
||||||
@param builder Interface used to emit code in the shaders.
|
@param builder Interface used to emit code in the shaders.
|
||||||
|
@param stage The custom stage that generated this program stage.
|
||||||
|
@param key The key that was computed by StageKey() from the generating
|
||||||
|
GrCustomStage.
|
||||||
@param vertexCoords A vec2 of texture coordinates in the VS, which may be altered. This will
|
@param vertexCoords A vec2 of texture coordinates in the VS, which may be altered. This will
|
||||||
be removed soon and stages will be responsible for computing their own
|
be removed soon and stages will be responsible for computing their own
|
||||||
coords.
|
coords.
|
||||||
|
@ -66,6 +69,8 @@ public:
|
||||||
reads in the generated code.
|
reads in the generated code.
|
||||||
*/
|
*/
|
||||||
virtual void emitCode(GrGLShaderBuilder* builder,
|
virtual void emitCode(GrGLShaderBuilder* builder,
|
||||||
|
const GrCustomStage& stage,
|
||||||
|
StageKey key,
|
||||||
const char* vertexCoords,
|
const char* vertexCoords,
|
||||||
const char* outputColor,
|
const char* outputColor,
|
||||||
const char* inputColor,
|
const char* inputColor,
|
||||||
|
@ -103,6 +108,8 @@ public:
|
||||||
const TextureSamplerArray&) = 0;
|
const TextureSamplerArray&) = 0;
|
||||||
|
|
||||||
virtual void emitCode(GrGLShaderBuilder* builder,
|
virtual void emitCode(GrGLShaderBuilder* builder,
|
||||||
|
const GrCustomStage&,
|
||||||
|
StageKey,
|
||||||
const char* vertexCoords,
|
const char* vertexCoords,
|
||||||
const char* outputColor,
|
const char* outputColor,
|
||||||
const char* inputColor,
|
const char* inputColor,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче