--- qtwebkit-opensource-src-5.4.0/Source/WebCore/platform/graphics/ANGLEWebKitBridge.h.orig 2014-12-29 22:48:34.532357391 +0100 +++ qtwebkit-opensource-src-5.4.0/Source/WebCore/platform/graphics/ANGLEWebKitBridge.h 2014-12-29 23:01:26.254334924 +0100 @@ -34,14 +34,15 @@ #elif PLATFORM(WIN) #include "GLSLANG/ShaderLang.h" #else -#include "ShaderLang.h" +#include "GLSLANG/ShaderLang.h" +#include "angle_gl.h" #endif namespace WebCore { enum ANGLEShaderType { - SHADER_TYPE_VERTEX = SH_VERTEX_SHADER, - SHADER_TYPE_FRAGMENT = SH_FRAGMENT_SHADER, + SHADER_TYPE_VERTEX = GL_VERTEX_SHADER, + SHADER_TYPE_FRAGMENT = GL_FRAGMENT_SHADER, }; enum ANGLEShaderSymbolType { @@ -53,17 +54,17 @@ ANGLEShaderSymbolType symbolType; String name; String mappedName; - ShDataType dataType; + sh::GLenum dataType; int size; bool isArray; bool isSampler() const { return symbolType == SHADER_SYMBOL_TYPE_UNIFORM - && (dataType == SH_SAMPLER_2D - || dataType == SH_SAMPLER_CUBE - || dataType == SH_SAMPLER_2D_RECT_ARB - || dataType == SH_SAMPLER_EXTERNAL_OES); + && (dataType == GL_SAMPLER_2D + || dataType == GL_SAMPLER_CUBE + || dataType == GL_SAMPLER_2D_RECT_ARB + || dataType == GL_SAMPLER_EXTERNAL_OES); } }; --- qtwebkit-opensource-src-5.4.0/Source/WebCore/platform/graphics/ANGLEWebKitBridge.cpp.orig 2014-12-29 23:37:30.636783007 +0100 +++ qtwebkit-opensource-src-5.4.0/Source/WebCore/platform/graphics/ANGLEWebKitBridge.cpp 2014-12-30 12:00:39.524299653 +0100 @@ -42,7 +42,7 @@ inline static ANGLEGetInfoType getValidationResultValue(const ShHandle compiler, ShShaderInfo shaderInfo) { ANGLEGetInfoType value = 0; - ShGetInfo(compiler, shaderInfo, &value); + ShGetInfo(compiler, (ShShaderInfo) shaderInfo, &value); return value; } @@ -51,11 +51,11 @@ ShShaderInfo symbolMaxNameLengthType; switch (symbolType) { - case SH_ACTIVE_ATTRIBUTES: - symbolMaxNameLengthType = SH_ACTIVE_ATTRIBUTE_MAX_LENGTH; + case GL_ACTIVE_ATTRIBUTES: + symbolMaxNameLengthType = (ShShaderInfo) GL_ACTIVE_ATTRIBUTE_MAX_LENGTH; break; - case SH_ACTIVE_UNIFORMS: - symbolMaxNameLengthType = SH_ACTIVE_UNIFORM_MAX_LENGTH; + case GL_ACTIVE_UNIFORMS: + symbolMaxNameLengthType = (ShShaderInfo) GL_ACTIVE_UNIFORM_MAX_LENGTH; break; default: ASSERT_NOT_REACHED(); @@ -79,14 +79,16 @@ for (ANGLEGetInfoType i = 0; i < numSymbols; ++i) { ANGLEShaderSymbol symbol; ANGLEGetInfoType nameLength = 0; + ShPrecisionType precision = SH_PRECISION_UNDEFINED; + int staticUse = 0; switch (symbolType) { - case SH_ACTIVE_ATTRIBUTES: + case GL_ACTIVE_ATTRIBUTES: symbol.symbolType = SHADER_SYMBOL_TYPE_ATTRIBUTE; - ShGetActiveAttrib(compiler, i, &nameLength, &symbol.size, &symbol.dataType, nameBuffer.data(), mappedNameBuffer.data()); + ShGetVariableInfo(compiler, SH_ACTIVE_ATTRIBUTES, i, &nameLength, &symbol.size, &symbol.dataType, &precision, &staticUse, nameBuffer.data(), mappedNameBuffer.data()); break; - case SH_ACTIVE_UNIFORMS: + case GL_ACTIVE_UNIFORMS: symbol.symbolType = SHADER_SYMBOL_TYPE_UNIFORM; - ShGetActiveUniform(compiler, i, &nameLength, &symbol.size, &symbol.dataType, nameBuffer.data(), mappedNameBuffer.data()); + ShGetVariableInfo(compiler, SH_ACTIVE_UNIFORMS, i, &nameLength, &symbol.size, &symbol.dataType, &precision, &staticUse, nameBuffer.data(), mappedNameBuffer.data()); break; default: ASSERT_NOT_REACHED(); @@ -170,8 +172,8 @@ bool ANGLEWebKitBridge::compileShaderSource(const char* shaderSource, ANGLEShaderType shaderType, String& translatedShaderSource, String& shaderValidationLog, Vector& symbols, int extraCompileOptions) { if (!builtCompilers) { - m_fragmentCompiler = ShConstructCompiler(SH_FRAGMENT_SHADER, m_shaderSpec, m_shaderOutput, &m_resources); - m_vertexCompiler = ShConstructCompiler(SH_VERTEX_SHADER, m_shaderSpec, m_shaderOutput, &m_resources); + m_fragmentCompiler = ShConstructCompiler(GL_FRAGMENT_SHADER, m_shaderSpec, m_shaderOutput, &m_resources); + m_vertexCompiler = ShConstructCompiler(GL_VERTEX_SHADER, m_shaderSpec, m_shaderOutput, &m_resources); if (!m_fragmentCompiler || !m_vertexCompiler) { cleanupCompilers(); return false; @@ -189,7 +191,7 @@ const char* const shaderSourceStrings[] = { shaderSource }; - bool validateSuccess = ShCompile(compiler, shaderSourceStrings, 1, SH_OBJECT_CODE | SH_ATTRIBUTES_UNIFORMS | extraCompileOptions); + bool validateSuccess = ShCompile(compiler, shaderSourceStrings, 1, SH_OBJECT_CODE | SH_VARIABLES | extraCompileOptions); if (!validateSuccess) { int logSize = getValidationResultValue(compiler, SH_INFO_LOG_LENGTH); if (logSize > 1) { @@ -211,9 +213,9 @@ translatedShaderSource = translationBuffer.get(); } - if (!getSymbolInfo(compiler, SH_ACTIVE_ATTRIBUTES, symbols)) + if (!getSymbolInfo(compiler, (ShShaderInfo) GL_ACTIVE_ATTRIBUTES, symbols)) return false; - if (!getSymbolInfo(compiler, SH_ACTIVE_UNIFORMS, symbols)) + if (!getSymbolInfo(compiler, (ShShaderInfo) GL_ACTIVE_UNIFORMS, symbols)) return false; return true; --- qtwebkit-opensource-src-5.4.0/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp.orig 2014-12-30 12:11:43.450097601 +0100 +++ qtwebkit-opensource-src-5.4.0/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLCommon.cpp 2014-12-30 12:13:46.812361166 +0100 @@ -172,7 +172,7 @@ String translatedShaderSource; String shaderInfoLog; - int extraCompileOptions = SH_MAP_LONG_VARIABLE_NAMES | SH_CLAMP_INDIRECT_ARRAY_BOUNDS; + int extraCompileOptions = SH_CLAMP_INDIRECT_ARRAY_BOUNDS; if (m_requiresBuiltInFunctionEmulation) extraCompileOptions |= SH_EMULATE_BUILT_IN_FUNCTIONS;