Bug 774552 - Draw GraphicBuffer directly. r=roc,BenWa

This commit is contained in:
Kan-Ru Chen
2012-07-17 10:12:58 +08:00
parent a3b31d18c5
commit 495d867d3a
8 changed files with 293 additions and 40 deletions

View File

@@ -104,6 +104,21 @@ ProgramProfileOGL::GetProfileFor(gl::ShaderProgramType aType,
AddCommonTextureArgs(result);
result.mTextureCount = 1;
break;
case gl::RGBAExternalLayerProgramType:
if (aMask == Mask3d) {
result.mVertexShaderString = sLayerMask3DVS;
result.mFragmentShaderString = sRGBAExternalTextureLayerMask3DFS;
} else if (aMask == Mask2d) {
result.mVertexShaderString = sLayerMaskVS;
result.mFragmentShaderString = sRGBAExternalTextureLayerMaskFS;
} else {
result.mVertexShaderString = sLayerVS;
result.mFragmentShaderString = sRGBAExternalTextureLayerFS;
}
AddCommonArgs(result);
AddCommonTextureArgs(result);
result.mTextureCount = 1;
break;
case gl::ColorLayerProgramType:
if (aMask == Mask2d) {
result.mVertexShaderString = sLayerMaskVS;
@@ -327,7 +342,7 @@ ShaderProgramOGL::CreateProgram(const char *aVertexShaderString,
mProgram = result;
return true;
}
bool
ShaderProgramOGL::LoadMask(Layer* aMaskLayer)
{