b=589011; always check if webgl shader validator is enabled; r=joe, a=blocking

This commit is contained in:
Vladimir Vukicevic
2010-08-19 19:50:38 -07:00
parent 34fe12b45d
commit 1942bfc84b
2 changed files with 11 additions and 17 deletions

View File

@@ -447,26 +447,21 @@ WebGLContext::InitAndValidateGL()
gl->fEnable(LOCAL_GL_VERTEX_PROGRAM_POINT_SIZE);
}
static bool didTranslatorCheck = false;
if (!didTranslatorCheck) {
// Check the shader validator pref
nsCOMPtr<nsIPrefBranch> prefService = do_GetService(NS_PREFSERVICE_CONTRACTID);
NS_ENSURE_TRUE(prefService != nsnull, NS_ERROR_FAILURE);
// Check the shader validator pref
nsCOMPtr<nsIPrefBranch> prefService = do_GetService(NS_PREFSERVICE_CONTRACTID);
NS_ENSURE_TRUE(prefService != nsnull, NS_ERROR_FAILURE);
prefService->GetBoolPref("webgl.shader_validator", &mShaderValidation);
prefService->GetBoolPref("webgl.shader_validator", &mShaderValidation);
#if defined(USE_ANGLE)
// initialize shader translator
if (mShaderValidation) {
if (!ShInitialize()) {
LogMessage("GLSL translator initialization failed!");
return PR_FALSE;
}
// initialize shader translator
if (mShaderValidation) {
if (!ShInitialize()) {
LogMessage("GLSL translator initialization failed!");
return PR_FALSE;
}
#endif
didTranslatorCheck = true;
}
#endif
return PR_TRUE;
}