Index: third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp |
diff --git a/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp b/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp |
index f77eba72feb7a75104d9911d9fa369fad71493af..dfeb5bd1cbbb4f08fd12e844b9ada59ebd54b460 100644 |
--- a/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp |
+++ b/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp |
@@ -2412,7 +2412,8 @@ void WebGL2RenderingContextBase::uniform1fv( |
1, srcOffset, srcLength)) |
return; |
- contextGL()->Uniform1fv(location->location(), v.length(), |
+ contextGL()->Uniform1fv(location->location(), |
+ srcLength ? srcLength : (v.length() - srcOffset), |
v.dataMaybeOnStack() + srcOffset); |
} |
@@ -2426,7 +2427,9 @@ void WebGL2RenderingContextBase::uniform1fv( |
srcOffset, srcLength)) |
return; |
- contextGL()->Uniform1fv(location->location(), v.size(), v.data() + srcOffset); |
+ contextGL()->Uniform1fv(location->location(), |
+ srcLength ? srcLength : (v.size() - srcOffset), |
+ v.data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniform2fv( |
@@ -2439,8 +2442,10 @@ void WebGL2RenderingContextBase::uniform2fv( |
2, srcOffset, srcLength)) |
return; |
- contextGL()->Uniform2fv(location->location(), v.length() >> 1, |
- v.dataMaybeOnStack() + srcOffset); |
+ contextGL()->Uniform2fv( |
+ location->location(), |
+ (srcLength ? srcLength : (v.length() - srcOffset)) >> 1, |
+ v.dataMaybeOnStack() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniform2fv( |
@@ -2453,7 +2458,8 @@ void WebGL2RenderingContextBase::uniform2fv( |
srcOffset, srcLength)) |
return; |
- contextGL()->Uniform2fv(location->location(), v.size() >> 1, |
+ contextGL()->Uniform2fv(location->location(), |
+ (srcLength ? srcLength : (v.size() - srcOffset)) >> 1, |
v.data() + srcOffset); |
} |
@@ -2467,8 +2473,10 @@ void WebGL2RenderingContextBase::uniform3fv( |
3, srcOffset, srcLength)) |
return; |
- contextGL()->Uniform3fv(location->location(), v.length() / 3, |
- v.dataMaybeOnStack() + srcOffset); |
+ contextGL()->Uniform3fv( |
+ location->location(), |
+ (srcLength ? srcLength : (v.length() - srcOffset)) / 3, |
+ v.dataMaybeOnStack() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniform3fv( |
@@ -2481,7 +2489,8 @@ void WebGL2RenderingContextBase::uniform3fv( |
srcOffset, srcLength)) |
return; |
- contextGL()->Uniform3fv(location->location(), v.size() / 3, |
+ contextGL()->Uniform3fv(location->location(), |
+ (srcLength ? srcLength : (v.size() - srcOffset)) / 3, |
v.data() + srcOffset); |
} |
@@ -2495,8 +2504,10 @@ void WebGL2RenderingContextBase::uniform4fv( |
4, srcOffset, srcLength)) |
return; |
- contextGL()->Uniform4fv(location->location(), v.length() >> 2, |
- v.dataMaybeOnStack() + srcOffset); |
+ contextGL()->Uniform4fv( |
+ location->location(), |
+ (srcLength ? srcLength : (v.length() - srcOffset)) >> 2, |
+ v.dataMaybeOnStack() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniform4fv( |
@@ -2509,7 +2520,8 @@ void WebGL2RenderingContextBase::uniform4fv( |
srcOffset, srcLength)) |
return; |
- contextGL()->Uniform4fv(location->location(), v.size() >> 2, |
+ contextGL()->Uniform4fv(location->location(), |
+ (srcLength ? srcLength : (v.size() - srcOffset)) >> 2, |
v.data() + srcOffset); |
} |
@@ -2523,7 +2535,8 @@ void WebGL2RenderingContextBase::uniform1iv( |
srcOffset, srcLength)) |
return; |
- contextGL()->Uniform1iv(location->location(), v.length(), |
+ contextGL()->Uniform1iv(location->location(), |
+ srcLength ? srcLength : (v.length() - srcOffset), |
v.dataMaybeOnStack() + srcOffset); |
} |
@@ -2537,7 +2550,9 @@ void WebGL2RenderingContextBase::uniform1iv( |
srcOffset, srcLength)) |
return; |
- contextGL()->Uniform1iv(location->location(), v.size(), v.data() + srcOffset); |
+ contextGL()->Uniform1iv(location->location(), |
+ srcLength ? srcLength : (v.size() - srcOffset), |
+ v.data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniform2iv( |
@@ -2550,8 +2565,10 @@ void WebGL2RenderingContextBase::uniform2iv( |
srcOffset, srcLength)) |
return; |
- contextGL()->Uniform2iv(location->location(), v.length() >> 1, |
- v.dataMaybeOnStack() + srcOffset); |
+ contextGL()->Uniform2iv( |
+ location->location(), |
+ (srcLength ? srcLength : (v.length() - srcOffset)) >> 1, |
+ v.dataMaybeOnStack() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniform2iv( |
@@ -2564,7 +2581,8 @@ void WebGL2RenderingContextBase::uniform2iv( |
srcOffset, srcLength)) |
return; |
- contextGL()->Uniform2iv(location->location(), v.size() >> 1, |
+ contextGL()->Uniform2iv(location->location(), |
+ (srcLength ? srcLength : (v.size() - srcOffset)) >> 1, |
v.data() + srcOffset); |
} |
@@ -2578,8 +2596,10 @@ void WebGL2RenderingContextBase::uniform3iv( |
srcOffset, srcLength)) |
return; |
- contextGL()->Uniform3iv(location->location(), v.length() / 3, |
- v.dataMaybeOnStack() + srcOffset); |
+ contextGL()->Uniform3iv( |
+ location->location(), |
+ (srcLength ? srcLength : (v.length() - srcOffset)) / 3, |
+ v.dataMaybeOnStack() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniform3iv( |
@@ -2592,7 +2612,8 @@ void WebGL2RenderingContextBase::uniform3iv( |
srcOffset, srcLength)) |
return; |
- contextGL()->Uniform3iv(location->location(), v.size() / 3, |
+ contextGL()->Uniform3iv(location->location(), |
+ (srcLength ? srcLength : (v.size() - srcOffset)) / 3, |
v.data() + srcOffset); |
} |
@@ -2606,8 +2627,10 @@ void WebGL2RenderingContextBase::uniform4iv( |
srcOffset, srcLength)) |
return; |
- contextGL()->Uniform4iv(location->location(), v.length() >> 2, |
- v.dataMaybeOnStack() + srcOffset); |
+ contextGL()->Uniform4iv( |
+ location->location(), |
+ (srcLength ? srcLength : (v.length() - srcOffset)) >> 2, |
+ v.dataMaybeOnStack() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniform4iv( |
@@ -2620,7 +2643,8 @@ void WebGL2RenderingContextBase::uniform4iv( |
srcOffset, srcLength)) |
return; |
- contextGL()->Uniform4iv(location->location(), v.size() >> 2, |
+ contextGL()->Uniform4iv(location->location(), |
+ (srcLength ? srcLength : (v.size() - srcOffset)) >> 2, |
v.data() + srcOffset); |
} |
@@ -2634,7 +2658,8 @@ void WebGL2RenderingContextBase::uniform1uiv( |
1, srcOffset, srcLength)) |
return; |
- contextGL()->Uniform1uiv(location->location(), v.length(), |
+ contextGL()->Uniform1uiv(location->location(), |
+ srcLength ? srcLength : (v.length() - srcOffset), |
v.dataMaybeOnStack() + srcOffset); |
} |
@@ -2648,7 +2673,8 @@ void WebGL2RenderingContextBase::uniform1uiv( |
value.size(), 1, srcOffset, srcLength)) |
return; |
- contextGL()->Uniform1uiv(location->location(), value.size(), |
+ contextGL()->Uniform1uiv(location->location(), |
+ srcLength ? srcLength : (value.size() - srcOffset), |
value.data() + srcOffset); |
} |
@@ -2662,8 +2688,10 @@ void WebGL2RenderingContextBase::uniform2uiv( |
2, srcOffset, srcLength)) |
return; |
- contextGL()->Uniform2uiv(location->location(), v.length() >> 1, |
- v.dataMaybeOnStack() + srcOffset); |
+ contextGL()->Uniform2uiv( |
+ location->location(), |
+ (srcLength ? srcLength : (v.length() - srcOffset)) >> 1, |
+ v.dataMaybeOnStack() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniform2uiv( |
@@ -2676,8 +2704,10 @@ void WebGL2RenderingContextBase::uniform2uiv( |
value.size(), 2, srcOffset, srcLength)) |
return; |
- contextGL()->Uniform2uiv(location->location(), value.size() / 2, |
- value.data() + srcOffset); |
+ contextGL()->Uniform2uiv( |
+ location->location(), |
+ (srcLength ? srcLength : (value.size() - srcOffset)) >> 1, |
+ value.data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniform3uiv( |
@@ -2690,8 +2720,10 @@ void WebGL2RenderingContextBase::uniform3uiv( |
3, srcOffset, srcLength)) |
return; |
- contextGL()->Uniform3uiv(location->location(), v.length() / 3, |
- v.dataMaybeOnStack() + srcOffset); |
+ contextGL()->Uniform3uiv( |
+ location->location(), |
+ (srcLength ? srcLength : (v.length() - srcOffset)) / 3, |
+ v.dataMaybeOnStack() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniform3uiv( |
@@ -2704,8 +2736,10 @@ void WebGL2RenderingContextBase::uniform3uiv( |
value.size(), 3, srcOffset, srcLength)) |
return; |
- contextGL()->Uniform3uiv(location->location(), value.size() / 3, |
- value.data() + srcOffset); |
+ contextGL()->Uniform3uiv( |
+ location->location(), |
+ (srcLength ? srcLength : (value.size() - srcOffset)) / 3, |
+ value.data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniform4uiv( |
@@ -2718,8 +2752,10 @@ void WebGL2RenderingContextBase::uniform4uiv( |
4, srcOffset, srcLength)) |
return; |
- contextGL()->Uniform4uiv(location->location(), v.length() >> 2, |
- v.dataMaybeOnStack() + srcOffset); |
+ contextGL()->Uniform4uiv( |
+ location->location(), |
+ (srcLength ? srcLength : (v.length() - srcOffset)) >> 2, |
+ v.dataMaybeOnStack() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniform4uiv( |
@@ -2732,8 +2768,10 @@ void WebGL2RenderingContextBase::uniform4uiv( |
value.size(), 4, srcOffset, srcLength)) |
return; |
- contextGL()->Uniform4uiv(location->location(), value.size() / 4, |
- value.data() + srcOffset); |
+ contextGL()->Uniform4uiv( |
+ location->location(), |
+ (srcLength ? srcLength : (value.size() - srcOffset)) >> 2, |
+ value.data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix2fv( |
@@ -2746,8 +2784,10 @@ void WebGL2RenderingContextBase::uniformMatrix2fv( |
!validateUniformMatrixParameters("uniformMatrix2fv", location, transpose, |
v, 4, srcOffset, srcLength)) |
return; |
- contextGL()->UniformMatrix2fv(location->location(), v->length() >> 2, |
- transpose, v->data() + srcOffset); |
+ contextGL()->UniformMatrix2fv( |
+ location->location(), |
+ (srcLength ? srcLength : (v->length() - srcOffset)) >> 2, transpose, |
+ v->data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix2fv( |
@@ -2761,8 +2801,10 @@ void WebGL2RenderingContextBase::uniformMatrix2fv( |
v.data(), v.size(), 4, srcOffset, |
srcLength)) |
return; |
- contextGL()->UniformMatrix2fv(location->location(), v.size() >> 2, transpose, |
- v.data() + srcOffset); |
+ contextGL()->UniformMatrix2fv( |
+ location->location(), |
+ (srcLength ? srcLength : (v.size() - srcOffset)) >> 2, transpose, |
+ v.data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix3fv( |
@@ -2775,8 +2817,10 @@ void WebGL2RenderingContextBase::uniformMatrix3fv( |
!validateUniformMatrixParameters("uniformMatrix3fv", location, transpose, |
v, 9, srcOffset, srcLength)) |
return; |
- contextGL()->UniformMatrix3fv(location->location(), v->length() / 9, |
- transpose, v->data() + srcOffset); |
+ contextGL()->UniformMatrix3fv( |
+ location->location(), |
+ (srcLength ? srcLength : (v->length() - srcOffset)) / 9, transpose, |
+ v->data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix3fv( |
@@ -2790,8 +2834,10 @@ void WebGL2RenderingContextBase::uniformMatrix3fv( |
v.data(), v.size(), 9, srcOffset, |
srcLength)) |
return; |
- contextGL()->UniformMatrix3fv(location->location(), v.size() / 9, transpose, |
- v.data() + srcOffset); |
+ contextGL()->UniformMatrix3fv( |
+ location->location(), |
+ (srcLength ? srcLength : (v.size() - srcOffset)) / 9, transpose, |
+ v.data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix4fv( |
@@ -2804,8 +2850,10 @@ void WebGL2RenderingContextBase::uniformMatrix4fv( |
!validateUniformMatrixParameters("uniformMatrix4fv", location, transpose, |
v, 16, srcOffset, srcLength)) |
return; |
- contextGL()->UniformMatrix4fv(location->location(), v->length() >> 4, |
- transpose, v->data() + srcOffset); |
+ contextGL()->UniformMatrix4fv( |
+ location->location(), |
+ (srcLength ? srcLength : (v->length() - srcOffset)) >> 4, transpose, |
+ v->data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix4fv( |
@@ -2819,8 +2867,10 @@ void WebGL2RenderingContextBase::uniformMatrix4fv( |
v.data(), v.size(), 16, srcOffset, |
srcLength)) |
return; |
- contextGL()->UniformMatrix4fv(location->location(), v.size() >> 4, transpose, |
- v.data() + srcOffset); |
+ contextGL()->UniformMatrix4fv( |
+ location->location(), |
+ (srcLength ? srcLength : (v.size() - srcOffset)) >> 4, transpose, |
+ v.data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix2x3fv( |
@@ -2834,8 +2884,10 @@ void WebGL2RenderingContextBase::uniformMatrix2x3fv( |
transpose, value, 6, srcOffset, |
srcLength)) |
return; |
- contextGL()->UniformMatrix2x3fv(location->location(), value->length() / 6, |
- transpose, value->data() + srcOffset); |
+ contextGL()->UniformMatrix2x3fv( |
+ location->location(), |
+ (srcLength ? srcLength : (value->length() - srcOffset)) / 6, transpose, |
+ value->data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix2x3fv( |
@@ -2849,8 +2901,10 @@ void WebGL2RenderingContextBase::uniformMatrix2x3fv( |
transpose, value.data(), value.size(), 6, |
srcOffset, srcLength)) |
return; |
- contextGL()->UniformMatrix2x3fv(location->location(), value.size() / 6, |
- transpose, value.data() + srcOffset); |
+ contextGL()->UniformMatrix2x3fv( |
+ location->location(), |
+ (srcLength ? srcLength : (value.size() - srcOffset)) / 6, transpose, |
+ value.data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix3x2fv( |
@@ -2864,8 +2918,10 @@ void WebGL2RenderingContextBase::uniformMatrix3x2fv( |
transpose, value, 6, srcOffset, |
srcLength)) |
return; |
- contextGL()->UniformMatrix3x2fv(location->location(), value->length() / 6, |
- transpose, value->data() + srcOffset); |
+ contextGL()->UniformMatrix3x2fv( |
+ location->location(), |
+ (srcLength ? srcLength : (value->length() - srcOffset)) / 6, transpose, |
+ value->data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix3x2fv( |
@@ -2879,8 +2935,10 @@ void WebGL2RenderingContextBase::uniformMatrix3x2fv( |
transpose, value.data(), value.size(), 6, |
srcOffset, srcLength)) |
return; |
- contextGL()->UniformMatrix3x2fv(location->location(), value.size() / 6, |
- transpose, value.data() + srcOffset); |
+ contextGL()->UniformMatrix3x2fv( |
+ location->location(), |
+ (srcLength ? srcLength : (value.size() - srcOffset)) / 6, transpose, |
+ value.data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix2x4fv( |
@@ -2894,8 +2952,10 @@ void WebGL2RenderingContextBase::uniformMatrix2x4fv( |
transpose, value, 8, srcOffset, |
srcLength)) |
return; |
- contextGL()->UniformMatrix2x4fv(location->location(), value->length() / 8, |
- transpose, value->data() + srcOffset); |
+ contextGL()->UniformMatrix2x4fv( |
+ location->location(), |
+ (srcLength ? srcLength : (value->length() - srcOffset)) >> 3, transpose, |
+ value->data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix2x4fv( |
@@ -2909,8 +2969,10 @@ void WebGL2RenderingContextBase::uniformMatrix2x4fv( |
transpose, value.data(), value.size(), 8, |
srcOffset, srcLength)) |
return; |
- contextGL()->UniformMatrix2x4fv(location->location(), value.size() / 8, |
- transpose, value.data() + srcOffset); |
+ contextGL()->UniformMatrix2x4fv( |
+ location->location(), |
+ (srcLength ? srcLength : (value.size() - srcOffset)) >> 3, transpose, |
+ value.data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix4x2fv( |
@@ -2924,8 +2986,10 @@ void WebGL2RenderingContextBase::uniformMatrix4x2fv( |
transpose, value, 8, srcOffset, |
srcLength)) |
return; |
- contextGL()->UniformMatrix4x2fv(location->location(), value->length() / 8, |
- transpose, value->data() + srcOffset); |
+ contextGL()->UniformMatrix4x2fv( |
+ location->location(), |
+ (srcLength ? srcLength : (value->length() - srcOffset)) >> 3, transpose, |
+ value->data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix4x2fv( |
@@ -2939,8 +3003,10 @@ void WebGL2RenderingContextBase::uniformMatrix4x2fv( |
transpose, value.data(), value.size(), 8, |
srcOffset, srcLength)) |
return; |
- contextGL()->UniformMatrix4x2fv(location->location(), value.size() / 8, |
- transpose, value.data() + srcOffset); |
+ contextGL()->UniformMatrix4x2fv( |
+ location->location(), |
+ (srcLength ? srcLength : (value.size() - srcOffset)) >> 3, transpose, |
+ value.data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix3x4fv( |
@@ -2954,8 +3020,10 @@ void WebGL2RenderingContextBase::uniformMatrix3x4fv( |
transpose, value, 12, srcOffset, |
srcLength)) |
return; |
- contextGL()->UniformMatrix3x4fv(location->location(), value->length() / 12, |
- transpose, value->data() + srcOffset); |
+ contextGL()->UniformMatrix3x4fv( |
+ location->location(), |
+ (srcLength ? srcLength : (value->length() - srcOffset)) / 12, transpose, |
+ value->data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix3x4fv( |
@@ -2969,8 +3037,10 @@ void WebGL2RenderingContextBase::uniformMatrix3x4fv( |
transpose, value.data(), value.size(), |
12, srcOffset, srcLength)) |
return; |
- contextGL()->UniformMatrix3x4fv(location->location(), value.size() / 12, |
- transpose, value.data() + srcOffset); |
+ contextGL()->UniformMatrix3x4fv( |
+ location->location(), |
+ (srcLength ? srcLength : (value.size() - srcOffset)) / 12, transpose, |
+ value.data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix4x3fv( |
@@ -2984,8 +3054,10 @@ void WebGL2RenderingContextBase::uniformMatrix4x3fv( |
transpose, value, 12, srcOffset, |
srcLength)) |
return; |
- contextGL()->UniformMatrix4x3fv(location->location(), value->length() / 12, |
- transpose, value->data() + srcOffset); |
+ contextGL()->UniformMatrix4x3fv( |
+ location->location(), |
+ (srcLength ? srcLength : (value->length() - srcOffset)) / 12, transpose, |
+ value->data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniformMatrix4x3fv( |
@@ -2999,8 +3071,10 @@ void WebGL2RenderingContextBase::uniformMatrix4x3fv( |
transpose, value.data(), value.size(), |
12, srcOffset, srcLength)) |
return; |
- contextGL()->UniformMatrix4x3fv(location->location(), value.size() / 12, |
- transpose, value.data() + srcOffset); |
+ contextGL()->UniformMatrix4x3fv( |
+ location->location(), |
+ (srcLength ? srcLength : (value.size() - srcOffset)) / 12, transpose, |
+ value.data() + srcOffset); |
} |
void WebGL2RenderingContextBase::uniform1fv( |