134 lines
6.0 KiB
Diff
134 lines
6.0 KiB
Diff
--- 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
|
|
@@ -35,13 +35,14 @@
|
|
#include "GLSLANG/ShaderLang.h"
|
|
#else
|
|
#include "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<ANGLEShaderSymbol>& 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;
|