Backed out changeset 472a419a8d65 (bug 1371190) for build bustage, at least on Windows Static. r=backout on a CLOSED TREE

This commit is contained in:
Sebastian Hengst 2017-10-06 15:30:44 +02:00
parent 4204ccc788
commit b4bb2df7c7
4 changed files with 39 additions and 28 deletions

View File

@ -691,7 +691,7 @@ WebGLContext::InitAndValidateGL(FailureReason* const out_failReason)
mBypassShaderValidation = gfxPrefs::WebGLBypassShaderValidator();
// initialize shader translator
if (!sh::Initialize()) {
if (!ShInitialize()) {
*out_failReason = { "FEATURE_FAILURE_WEBGL_GLSL",
"GLSL translator initialization failed!" };
return false;

View File

@ -137,7 +137,7 @@ WebGLContext::CreateShaderValidator(GLenum shaderType) const
ShBuiltInResources resources;
memset(&resources, 0, sizeof(resources));
sh::InitBuiltInResources(&resources);
ShInitBuiltInResources(&resources);
resources.HashFunction = webgl::IdentifierHashFunc;
@ -193,7 +193,7 @@ ShaderValidator::Create(GLenum shaderType, ShShaderSpec spec,
const ShBuiltInResources& resources,
ShCompileOptions compileOptions)
{
ShHandle handle = sh::ConstructCompiler(shaderType, spec, outputLanguage, &resources);
ShHandle handle = ShConstructCompiler(shaderType, spec, outputLanguage, &resources);
if (!handle)
return nullptr;
@ -202,7 +202,7 @@ ShaderValidator::Create(GLenum shaderType, ShShaderSpec spec,
ShaderValidator::~ShaderValidator()
{
sh::Destruct(mHandle);
ShDestruct(mHandle);
}
bool
@ -214,7 +214,7 @@ ShaderValidator::ValidateAndTranslate(const char* source)
const char* const parts[] = {
source
};
return sh::Compile(mHandle, parts, ArrayLength(parts), mCompileOptions);
return ShCompile(mHandle, parts, ArrayLength(parts), mCompileOptions);
}
void
@ -222,7 +222,7 @@ ShaderValidator::GetInfoLog(nsACString* out) const
{
MOZ_ASSERT(mHasRun);
const std::string &log = sh::GetInfoLog(mHandle);
const std::string &log = ShGetInfoLog(mHandle);
out->Assign(log.data(), log.length());
}
@ -231,7 +231,7 @@ ShaderValidator::GetOutput(nsACString* out) const
{
MOZ_ASSERT(mHasRun);
const std::string &output = sh::GetObjectCode(mHandle);
const std::string &output = ShGetObjectCode(mHandle);
out->Assign(output.data(), output.length());
}
@ -251,19 +251,19 @@ ShaderValidator::CanLinkTo(const ShaderValidator* prev, nsCString* const out_log
return false;
}
const auto shaderVersion = sh::GetShaderVersion(mHandle);
if (sh::GetShaderVersion(prev->mHandle) != shaderVersion) {
const auto shaderVersion = ShGetShaderVersion(mHandle);
if (ShGetShaderVersion(prev->mHandle) != shaderVersion) {
nsPrintfCString error("Vertex shader version %d does not match"
" fragment shader version %d.",
sh::GetShaderVersion(prev->mHandle),
sh::GetShaderVersion(mHandle));
ShGetShaderVersion(prev->mHandle),
ShGetShaderVersion(mHandle));
*out_log = error;
return false;
}
{
const std::vector<sh::Uniform>* vertPtr = sh::GetUniforms(prev->mHandle);
const std::vector<sh::Uniform>* fragPtr = sh::GetUniforms(mHandle);
const std::vector<sh::Uniform>* vertPtr = ShGetUniforms(prev->mHandle);
const std::vector<sh::Uniform>* fragPtr = ShGetUniforms(mHandle);
if (!vertPtr || !fragPtr) {
nsPrintfCString error("Could not create uniform list.");
*out_log = error;
@ -314,8 +314,8 @@ ShaderValidator::CanLinkTo(const ShaderValidator* prev, nsCString* const out_log
}
}
const auto& vertVaryings = sh::GetVaryings(prev->mHandle);
const auto& fragVaryings = sh::GetVaryings(mHandle);
const auto& vertVaryings = ShGetVaryings(prev->mHandle);
const auto& fragVaryings = ShGetVaryings(mHandle);
if (!vertVaryings || !fragVaryings) {
nsPrintfCString error("Could not create varying list.");
*out_log = error;
@ -367,7 +367,7 @@ ShaderValidator::CanLinkTo(const ShaderValidator* prev, nsCString* const out_log
}
}
if (!sh::CheckVariablesWithinPackingLimits(mMaxVaryingVectors,
if (!ShCheckVariablesWithinPackingLimits(mMaxVaryingVectors,
staticUseVaryingList))
{
*out_log = "Statically used varyings do not fit within packing limits. (see"
@ -429,7 +429,7 @@ ShaderValidator::CalcNumSamplerUniforms() const
{
size_t accum = 0;
const std::vector<sh::Uniform>& uniforms = *sh::GetUniforms(mHandle);
const std::vector<sh::Uniform>& uniforms = *ShGetUniforms(mHandle);
for (auto itr = uniforms.begin(); itr != uniforms.end(); ++itr) {
GLenum type = itr->type;
@ -446,7 +446,7 @@ ShaderValidator::CalcNumSamplerUniforms() const
size_t
ShaderValidator::NumAttributes() const
{
return sh::GetAttributes(mHandle)->size();
return ShGetAttributes(mHandle)->size();
}
// Attribs cannot be structs or arrays, and neither can vertex inputs in ES3.
@ -455,7 +455,7 @@ bool
ShaderValidator::FindAttribUserNameByMappedName(const std::string& mappedName,
const std::string** const out_userName) const
{
const std::vector<sh::Attribute>& attribs = *sh::GetAttributes(mHandle);
const std::vector<sh::Attribute>& attribs = *ShGetAttributes(mHandle);
for (auto itr = attribs.begin(); itr != attribs.end(); ++itr) {
if (itr->mappedName == mappedName) {
*out_userName = &(itr->name);
@ -470,7 +470,7 @@ bool
ShaderValidator::FindAttribMappedNameByUserName(const std::string& userName,
const std::string** const out_mappedName) const
{
const std::vector<sh::Attribute>& attribs = *sh::GetAttributes(mHandle);
const std::vector<sh::Attribute>& attribs = *ShGetAttributes(mHandle);
for (auto itr = attribs.begin(); itr != attribs.end(); ++itr) {
if (itr->name == userName) {
*out_mappedName = &(itr->mappedName);
@ -486,7 +486,7 @@ ShaderValidator::FindVaryingByMappedName(const std::string& mappedName,
std::string* const out_userName,
bool* const out_isArray) const
{
const std::vector<sh::Varying>& varyings = *sh::GetVaryings(mHandle);
const std::vector<sh::Varying>& varyings = *ShGetVaryings(mHandle);
for (auto itr = varyings.begin(); itr != varyings.end(); ++itr) {
const sh::ShaderVariable* found;
if (!itr->findInfoByMappedName(mappedName, &found, out_userName))
@ -503,7 +503,7 @@ bool
ShaderValidator::FindVaryingMappedNameByUserName(const std::string& userName,
const std::string** const out_mappedName) const
{
const std::vector<sh::Varying>& attribs = *sh::GetVaryings(mHandle);
const std::vector<sh::Varying>& attribs = *ShGetVaryings(mHandle);
for (auto itr = attribs.begin(); itr != attribs.end(); ++itr) {
if (itr->name == userName) {
*out_mappedName = &(itr->mappedName);
@ -519,7 +519,7 @@ ShaderValidator::FindUniformByMappedName(const std::string& mappedName,
std::string* const out_userName,
bool* const out_isArray) const
{
const std::vector<sh::Uniform>& uniforms = *sh::GetUniforms(mHandle);
const std::vector<sh::Uniform>& uniforms = *ShGetUniforms(mHandle);
for (auto itr = uniforms.begin(); itr != uniforms.end(); ++itr) {
const sh::ShaderVariable* found;
if (!itr->findInfoByMappedName(mappedName, &found, out_userName))
@ -531,7 +531,7 @@ ShaderValidator::FindUniformByMappedName(const std::string& mappedName,
const size_t dotPos = mappedName.find(".");
const std::vector<sh::InterfaceBlock>& interfaces = *sh::GetInterfaceBlocks(mHandle);
const std::vector<sh::InterfaceBlock>& interfaces = *ShGetInterfaceBlocks(mHandle);
for (const auto& interface : interfaces) {
std::string mappedFieldName;
@ -579,7 +579,7 @@ bool
ShaderValidator::UnmapUniformBlockName(const nsACString& baseMappedName,
nsCString* const out_baseUserName) const
{
const std::vector<sh::InterfaceBlock>& interfaces = *sh::GetInterfaceBlocks(mHandle);
const std::vector<sh::InterfaceBlock>& interfaces = *ShGetInterfaceBlocks(mHandle);
for (const auto& interface : interfaces) {
const nsDependentCString interfaceMappedName(interface.mappedName.data(),
interface.mappedName.size());
@ -595,7 +595,7 @@ ShaderValidator::UnmapUniformBlockName(const nsACString& baseMappedName,
void
ShaderValidator::EnumerateFragOutputs(std::map<nsCString, const nsCString> &out_FragOutputs) const
{
const auto* fragOutputs = sh::GetOutputVariables(mHandle);
const auto* fragOutputs = ShGetOutputVariables(mHandle);
if (fragOutputs) {
for (const auto& fragOutput : *fragOutputs) {

View File

@ -188,7 +188,7 @@ GetAndInitDisplay(GLLibraryEGL& egl, void* displayType)
return display;
}
class AngleErrorReporting {
class AngleErrorReporting: public angle::Platform {
public:
AngleErrorReporting()
{
@ -200,7 +200,7 @@ public:
mFailureId = aFailureId;
}
void logError(const char *errorMessage)
void logError(const char *errorMessage) override
{
if (!mFailureId) {
return;
@ -254,6 +254,7 @@ GetAndInitDisplayForAccelANGLE(GLLibraryEGL& egl, nsACString* const out_failureI
d3d11ANGLE.UserForceEnable("User force-enabled D3D11 ANGLE on disabled hardware");
gAngleErrorReporter.SetFailureId(out_failureId);
egl.fANGLEPlatformInitialize(&gAngleErrorReporter);
auto guardShutdown = mozilla::MakeScopeExit([&] {
gAngleErrorReporter.SetFailureId(nullptr);
@ -455,6 +456,8 @@ GLLibraryEGL::EnsureInitialized(bool forceAccel, nsACString* const out_failureId
if (mIsANGLE) {
MOZ_ASSERT(IsExtensionSupported(ANGLE_platform_angle_d3d));
const GLLibraryLoader::SymLoadStruct angleSymbols[] = {
{ (PRFuncPtr*)&mSymbols.fANGLEPlatformInitialize, { "ANGLEPlatformInitialize", nullptr } },
{ (PRFuncPtr*)&mSymbols.fANGLEPlatformShutdown, { "ANGLEPlatformShutdown", nullptr } },
SYMBOL(GetPlatformDisplayEXT),
END_OF_SYMBOLS
};

View File

@ -334,6 +334,12 @@ public:
EGLBoolean fReleaseDeviceANGLE(EGLDeviceEXT device)
WRAP( fReleaseDeviceANGLE(device) )
void fANGLEPlatformInitialize(angle::Platform* platform) const
VOID_WRAP( fANGLEPlatformInitialize(platform) )
void fANGLEPlatformShutdown() const
VOID_WRAP( fANGLEPlatformShutdown() )
#undef WRAP
#undef VOID_WRAP
#undef PROFILE_CALL
@ -495,6 +501,8 @@ private:
const EGLAttrib* attrib_list);
EGLBoolean (GLAPIENTRY * fReleaseDeviceANGLE) (EGLDeviceEXT device);
void (GLAPIENTRY * fANGLEPlatformInitialize)(angle::Platform* platform);
void (GLAPIENTRY * fANGLEPlatformShutdown)();
} mSymbols;
private: