|
Rex Dieter |
41a11e7 |
Index: trunk/Source/WebCore/platform/graphics/ANGLEWebKitBridge.cpp
|
|
Rex Dieter |
41a11e7 |
===================================================================
|
|
Rex Dieter |
41a11e7 |
--- trunk/Source/WebCore/platform/graphics/ANGLEWebKitBridge.cpp (revision 136430)
|
|
Rex Dieter |
41a11e7 |
+++ trunk/Source/WebCore/platform/graphics/ANGLEWebKitBridge.cpp (revision 142567)
|
|
Rex Dieter |
41a11e7 |
@@ -33,7 +33,14 @@
|
|
Rex Dieter |
41a11e7 |
namespace WebCore {
|
|
Rex Dieter |
41a11e7 |
|
|
Rex Dieter |
41a11e7 |
-inline static int getValidationResultValue(const ShHandle compiler, ShShaderInfo shaderInfo)
|
|
Rex Dieter |
41a11e7 |
-{
|
|
Rex Dieter |
41a11e7 |
- int value = -1;
|
|
Rex Dieter |
41a11e7 |
+// Temporary typedef to support an incompatible change in the ANGLE API.
|
|
Rex Dieter |
41a11e7 |
+#if !defined(ANGLE_SH_VERSION) || ANGLE_SH_VERSION < 108
|
|
Rex Dieter |
41a11e7 |
+typedef int ANGLEGetInfoType;
|
|
Rex Dieter |
41a11e7 |
+#else
|
|
Rex Dieter |
41a11e7 |
+typedef size_t ANGLEGetInfoType;
|
|
Rex Dieter |
41a11e7 |
+#endif
|
|
Rex Dieter |
41a11e7 |
+
|
|
Rex Dieter |
41a11e7 |
+inline static ANGLEGetInfoType getValidationResultValue(const ShHandle compiler, ShShaderInfo shaderInfo)
|
|
Rex Dieter |
41a11e7 |
+{
|
|
Rex Dieter |
41a11e7 |
+ ANGLEGetInfoType value = 0;
|
|
Rex Dieter |
41a11e7 |
ShGetInfo(compiler, shaderInfo, &value);
|
|
Rex Dieter |
41a11e7 |
return value;
|
|
Rex Dieter |
41a11e7 |
@@ -56,13 +63,11 @@
|
|
Rex Dieter |
41a11e7 |
}
|
|
Rex Dieter |
41a11e7 |
|
|
Rex Dieter |
41a11e7 |
- int numSymbols = getValidationResultValue(compiler, symbolType);
|
|
Rex Dieter |
41a11e7 |
- if (numSymbols < 0)
|
|
Rex Dieter |
41a11e7 |
- return false;
|
|
Rex Dieter |
41a11e7 |
-
|
|
Rex Dieter |
41a11e7 |
- int maxNameLength = getValidationResultValue(compiler, symbolMaxNameLengthType);
|
|
Rex Dieter |
41a11e7 |
+ ANGLEGetInfoType numSymbols = getValidationResultValue(compiler, symbolType);
|
|
Rex Dieter |
41a11e7 |
+
|
|
Rex Dieter |
41a11e7 |
+ ANGLEGetInfoType maxNameLength = getValidationResultValue(compiler, symbolMaxNameLengthType);
|
|
Rex Dieter |
41a11e7 |
if (maxNameLength <= 1)
|
|
Rex Dieter |
41a11e7 |
return false;
|
|
Rex Dieter |
41a11e7 |
|
|
Rex Dieter |
41a11e7 |
- int maxMappedNameLength = getValidationResultValue(compiler, SH_MAPPED_NAME_MAX_LENGTH);
|
|
Rex Dieter |
41a11e7 |
+ ANGLEGetInfoType maxMappedNameLength = getValidationResultValue(compiler, SH_MAPPED_NAME_MAX_LENGTH);
|
|
Rex Dieter |
41a11e7 |
if (maxMappedNameLength <= 1)
|
|
Rex Dieter |
41a11e7 |
return false;
|
|
Rex Dieter |
41a11e7 |
@@ -72,7 +77,7 @@
|
|
Rex Dieter |
41a11e7 |
Vector<char, 256> mappedNameBuffer(maxMappedNameLength);
|
|
Rex Dieter |
41a11e7 |
|
|
Rex Dieter |
41a11e7 |
- for (int i = 0; i < numSymbols; ++i) {
|
|
Rex Dieter |
41a11e7 |
+ for (ANGLEGetInfoType i = 0; i < numSymbols; ++i) {
|
|
Rex Dieter |
41a11e7 |
ANGLEShaderSymbol symbol;
|
|
Rex Dieter |
41a11e7 |
- int nameLength = -1;
|
|
Rex Dieter |
41a11e7 |
+ ANGLEGetInfoType nameLength = 0;
|
|
Rex Dieter |
41a11e7 |
switch (symbolType) {
|
|
Rex Dieter |
41a11e7 |
case SH_ACTIVE_ATTRIBUTES:
|
|
Rex Dieter |
41a11e7 |
@@ -88,5 +93,5 @@
|
|
Rex Dieter |
41a11e7 |
return false;
|
|
Rex Dieter |
41a11e7 |
}
|
|
Rex Dieter |
41a11e7 |
- if (nameLength <= 0)
|
|
Rex Dieter |
41a11e7 |
+ if (!nameLength)
|
|
Rex Dieter |
41a11e7 |
return false;
|
|
Rex Dieter |
41a11e7 |
|