Diff
Modified: trunk/Source/WebCore/ChangeLog (221970 => 221971)
--- trunk/Source/WebCore/ChangeLog 2017-09-13 15:48:20 UTC (rev 221970)
+++ trunk/Source/WebCore/ChangeLog 2017-09-13 16:03:10 UTC (rev 221971)
@@ -1,3 +1,34 @@
+2017-09-13 Ms2ger <[email protected]>
+
+ Make WebGLRenderingContextBase::TypedList::data() const-correct.
+ https://bugs.webkit.org/show_bug.cgi?id=176833
+
+ Reviewed by Sam Weinig.
+
+ No change of behavior.
+
+ * html/canvas/WebGLRenderingContextBase.cpp:
+ (WebCore::WebGLRenderingContextBase::validateUniformMatrixParameters):
+ * html/canvas/WebGLRenderingContextBase.h:
+ (WebCore::WebGLRenderingContextBase::TypedList::data const):
+ * platform/graphics/GraphicsContext3D.h:
+ * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
+ (WebCore::GraphicsContext3D::uniform1fv):
+ (WebCore::GraphicsContext3D::uniform2fv):
+ (WebCore::GraphicsContext3D::uniform3fv):
+ (WebCore::GraphicsContext3D::uniform4fv):
+ (WebCore::GraphicsContext3D::uniform1iv):
+ (WebCore::GraphicsContext3D::uniform2iv):
+ (WebCore::GraphicsContext3D::uniform3iv):
+ (WebCore::GraphicsContext3D::uniform4iv):
+ (WebCore::GraphicsContext3D::uniformMatrix2fv):
+ (WebCore::GraphicsContext3D::uniformMatrix3fv):
+ (WebCore::GraphicsContext3D::uniformMatrix4fv):
+ (WebCore::GraphicsContext3D::vertexAttrib1fv):
+ (WebCore::GraphicsContext3D::vertexAttrib2fv):
+ (WebCore::GraphicsContext3D::vertexAttrib3fv):
+ (WebCore::GraphicsContext3D::vertexAttrib4fv):
+
2017-09-13 Sam Weinig <[email protected]>
Remove CanvasRenderingContext2D.commit(), it is a no-op and not part the standard
Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp (221970 => 221971)
--- trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp 2017-09-13 15:48:20 UTC (rev 221970)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp 2017-09-13 16:03:10 UTC (rev 221971)
@@ -5323,7 +5323,7 @@
return validateUniformMatrixParameters(functionName, location, transpose, v.data(), v.length(), requiredMinSize);
}
-bool WebGLRenderingContextBase::validateUniformMatrixParameters(const char* functionName, const WebGLUniformLocation* location, GC3Dboolean transpose, void* v, GC3Dsizei size, GC3Dsizei requiredMinSize)
+bool WebGLRenderingContextBase::validateUniformMatrixParameters(const char* functionName, const WebGLUniformLocation* location, GC3Dboolean transpose, const void* v, GC3Dsizei size, GC3Dsizei requiredMinSize)
{
if (!location)
return false;
Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.h (221970 => 221971)
--- trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.h 2017-09-13 15:48:20 UTC (rev 221970)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.h 2017-09-13 16:03:10 UTC (rev 221971)
@@ -270,11 +270,11 @@
{
}
- DataType* data() const
+ const DataType* data() const
{
return WTF::switchOn(m_variant,
- [] (const RefPtr<TypedArray>& typedArray) -> DataType* { return typedArray->data(); },
- [] (const Vector<DataType>& vector) -> DataType* { return const_cast<Vector<DataType>&>(vector).data(); }
+ [] (const RefPtr<TypedArray>& typedArray) -> const DataType* { return typedArray->data(); },
+ [] (const Vector<DataType>& vector) -> const DataType* { return vector.data(); }
);
}
@@ -780,7 +780,7 @@
bool validateUniformParameters(const char* functionName, const WebGLUniformLocation*, const Int32List&, GC3Dsizei mod);
bool validateUniformParameters(const char* functionName, const WebGLUniformLocation*, void*, GC3Dsizei, GC3Dsizei mod);
bool validateUniformMatrixParameters(const char* functionName, const WebGLUniformLocation*, GC3Dboolean transpose, const Float32List&, GC3Dsizei mod);
- bool validateUniformMatrixParameters(const char* functionName, const WebGLUniformLocation*, GC3Dboolean transpose, void*, GC3Dsizei, GC3Dsizei mod);
+ bool validateUniformMatrixParameters(const char* functionName, const WebGLUniformLocation*, GC3Dboolean transpose, const void*, GC3Dsizei, GC3Dsizei mod);
// Helper function to validate parameters for bufferData.
// Return the current bound buffer to target, or 0 if parameters are invalid.
Modified: trunk/Source/WebCore/platform/graphics/GraphicsContext3D.h (221970 => 221971)
--- trunk/Source/WebCore/platform/graphics/GraphicsContext3D.h 2017-09-13 15:48:20 UTC (rev 221970)
+++ trunk/Source/WebCore/platform/graphics/GraphicsContext3D.h 2017-09-13 16:03:10 UTC (rev 221971)
@@ -1078,24 +1078,24 @@
void texSubImage2D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dsizei width, GC3Dsizei height, GC3Denum format, GC3Denum type, const void* pixels);
void uniform1f(GC3Dint location, GC3Dfloat x);
- void uniform1fv(GC3Dint location, GC3Dsizei, GC3Dfloat* v);
+ void uniform1fv(GC3Dint location, GC3Dsizei, const GC3Dfloat* v);
void uniform1i(GC3Dint location, GC3Dint x);
- void uniform1iv(GC3Dint location, GC3Dsizei, GC3Dint* v);
+ void uniform1iv(GC3Dint location, GC3Dsizei, const GC3Dint* v);
void uniform2f(GC3Dint location, GC3Dfloat x, GC3Dfloat y);
- void uniform2fv(GC3Dint location, GC3Dsizei, GC3Dfloat* v);
+ void uniform2fv(GC3Dint location, GC3Dsizei, const GC3Dfloat* v);
void uniform2i(GC3Dint location, GC3Dint x, GC3Dint y);
- void uniform2iv(GC3Dint location, GC3Dsizei, GC3Dint* v);
+ void uniform2iv(GC3Dint location, GC3Dsizei, const GC3Dint* v);
void uniform3f(GC3Dint location, GC3Dfloat x, GC3Dfloat y, GC3Dfloat z);
- void uniform3fv(GC3Dint location, GC3Dsizei, GC3Dfloat* v);
+ void uniform3fv(GC3Dint location, GC3Dsizei, const GC3Dfloat* v);
void uniform3i(GC3Dint location, GC3Dint x, GC3Dint y, GC3Dint z);
- void uniform3iv(GC3Dint location, GC3Dsizei, GC3Dint* v);
+ void uniform3iv(GC3Dint location, GC3Dsizei, const GC3Dint* v);
void uniform4f(GC3Dint location, GC3Dfloat x, GC3Dfloat y, GC3Dfloat z, GC3Dfloat w);
- void uniform4fv(GC3Dint location, GC3Dsizei, GC3Dfloat* v);
+ void uniform4fv(GC3Dint location, GC3Dsizei, const GC3Dfloat* v);
void uniform4i(GC3Dint location, GC3Dint x, GC3Dint y, GC3Dint z, GC3Dint w);
- void uniform4iv(GC3Dint location, GC3Dsizei, GC3Dint* v);
- void uniformMatrix2fv(GC3Dint location, GC3Dsizei, GC3Dboolean transpose, GC3Dfloat* value);
- void uniformMatrix3fv(GC3Dint location, GC3Dsizei, GC3Dboolean transpose, GC3Dfloat* value);
- void uniformMatrix4fv(GC3Dint location, GC3Dsizei, GC3Dboolean transpose, GC3Dfloat* value);
+ void uniform4iv(GC3Dint location, GC3Dsizei, const GC3Dint* v);
+ void uniformMatrix2fv(GC3Dint location, GC3Dsizei, GC3Dboolean transpose, const GC3Dfloat* value);
+ void uniformMatrix3fv(GC3Dint location, GC3Dsizei, GC3Dboolean transpose, const GC3Dfloat* value);
+ void uniformMatrix4fv(GC3Dint location, GC3Dsizei, GC3Dboolean transpose, const GC3Dfloat* value);
void useProgram(Platform3DObject);
void validateProgram(Platform3DObject);
@@ -1103,13 +1103,13 @@
bool precisionsMatch(Platform3DObject vertexShader, Platform3DObject fragmentShader) const;
void vertexAttrib1f(GC3Duint index, GC3Dfloat x);
- void vertexAttrib1fv(GC3Duint index, GC3Dfloat* values);
+ void vertexAttrib1fv(GC3Duint index, const GC3Dfloat* values);
void vertexAttrib2f(GC3Duint index, GC3Dfloat x, GC3Dfloat y);
- void vertexAttrib2fv(GC3Duint index, GC3Dfloat* values);
+ void vertexAttrib2fv(GC3Duint index, const GC3Dfloat* values);
void vertexAttrib3f(GC3Duint index, GC3Dfloat x, GC3Dfloat y, GC3Dfloat z);
- void vertexAttrib3fv(GC3Duint index, GC3Dfloat* values);
+ void vertexAttrib3fv(GC3Duint index, const GC3Dfloat* values);
void vertexAttrib4f(GC3Duint index, GC3Dfloat x, GC3Dfloat y, GC3Dfloat z, GC3Dfloat w);
- void vertexAttrib4fv(GC3Duint index, GC3Dfloat* values);
+ void vertexAttrib4fv(GC3Duint index, const GC3Dfloat* values);
void vertexAttribPointer(GC3Duint index, GC3Dint size, GC3Denum type, GC3Dboolean normalized,
GC3Dsizei stride, GC3Dintptr offset);
Modified: trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp (221970 => 221971)
--- trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp 2017-09-13 15:48:20 UTC (rev 221970)
+++ trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp 2017-09-13 16:03:10 UTC (rev 221971)
@@ -1335,7 +1335,7 @@
::glUniform1f(location, v0);
}
-void GraphicsContext3D::uniform1fv(GC3Dint location, GC3Dsizei size, GC3Dfloat* array)
+void GraphicsContext3D::uniform1fv(GC3Dint location, GC3Dsizei size, const GC3Dfloat* array)
{
makeContextCurrent();
::glUniform1fv(location, size, array);
@@ -1347,7 +1347,7 @@
::glUniform2f(location, v0, v1);
}
-void GraphicsContext3D::uniform2fv(GC3Dint location, GC3Dsizei size, GC3Dfloat* array)
+void GraphicsContext3D::uniform2fv(GC3Dint location, GC3Dsizei size, const GC3Dfloat* array)
{
// FIXME: length needs to be a multiple of 2.
makeContextCurrent();
@@ -1360,7 +1360,7 @@
::glUniform3f(location, v0, v1, v2);
}
-void GraphicsContext3D::uniform3fv(GC3Dint location, GC3Dsizei size, GC3Dfloat* array)
+void GraphicsContext3D::uniform3fv(GC3Dint location, GC3Dsizei size, const GC3Dfloat* array)
{
// FIXME: length needs to be a multiple of 3.
makeContextCurrent();
@@ -1373,7 +1373,7 @@
::glUniform4f(location, v0, v1, v2, v3);
}
-void GraphicsContext3D::uniform4fv(GC3Dint location, GC3Dsizei size, GC3Dfloat* array)
+void GraphicsContext3D::uniform4fv(GC3Dint location, GC3Dsizei size, const GC3Dfloat* array)
{
// FIXME: length needs to be a multiple of 4.
makeContextCurrent();
@@ -1386,7 +1386,7 @@
::glUniform1i(location, v0);
}
-void GraphicsContext3D::uniform1iv(GC3Dint location, GC3Dsizei size, GC3Dint* array)
+void GraphicsContext3D::uniform1iv(GC3Dint location, GC3Dsizei size, const GC3Dint* array)
{
makeContextCurrent();
::glUniform1iv(location, size, array);
@@ -1398,7 +1398,7 @@
::glUniform2i(location, v0, v1);
}
-void GraphicsContext3D::uniform2iv(GC3Dint location, GC3Dsizei size, GC3Dint* array)
+void GraphicsContext3D::uniform2iv(GC3Dint location, GC3Dsizei size, const GC3Dint* array)
{
// FIXME: length needs to be a multiple of 2.
makeContextCurrent();
@@ -1411,7 +1411,7 @@
::glUniform3i(location, v0, v1, v2);
}
-void GraphicsContext3D::uniform3iv(GC3Dint location, GC3Dsizei size, GC3Dint* array)
+void GraphicsContext3D::uniform3iv(GC3Dint location, GC3Dsizei size, const GC3Dint* array)
{
// FIXME: length needs to be a multiple of 3.
makeContextCurrent();
@@ -1424,7 +1424,7 @@
::glUniform4i(location, v0, v1, v2, v3);
}
-void GraphicsContext3D::uniform4iv(GC3Dint location, GC3Dsizei size, GC3Dint* array)
+void GraphicsContext3D::uniform4iv(GC3Dint location, GC3Dsizei size, const GC3Dint* array)
{
// FIXME: length needs to be a multiple of 4.
makeContextCurrent();
@@ -1431,7 +1431,7 @@
::glUniform4iv(location, size, array);
}
-void GraphicsContext3D::uniformMatrix2fv(GC3Dint location, GC3Dsizei size, GC3Dboolean transpose, GC3Dfloat* array)
+void GraphicsContext3D::uniformMatrix2fv(GC3Dint location, GC3Dsizei size, GC3Dboolean transpose, const GC3Dfloat* array)
{
// FIXME: length needs to be a multiple of 4.
makeContextCurrent();
@@ -1438,7 +1438,7 @@
::glUniformMatrix2fv(location, size, transpose, array);
}
-void GraphicsContext3D::uniformMatrix3fv(GC3Dint location, GC3Dsizei size, GC3Dboolean transpose, GC3Dfloat* array)
+void GraphicsContext3D::uniformMatrix3fv(GC3Dint location, GC3Dsizei size, GC3Dboolean transpose, const GC3Dfloat* array)
{
// FIXME: length needs to be a multiple of 9.
makeContextCurrent();
@@ -1445,7 +1445,7 @@
::glUniformMatrix3fv(location, size, transpose, array);
}
-void GraphicsContext3D::uniformMatrix4fv(GC3Dint location, GC3Dsizei size, GC3Dboolean transpose, GC3Dfloat* array)
+void GraphicsContext3D::uniformMatrix4fv(GC3Dint location, GC3Dsizei size, GC3Dboolean transpose, const GC3Dfloat* array)
{
// FIXME: length needs to be a multiple of 16.
makeContextCurrent();
@@ -1472,7 +1472,7 @@
::glVertexAttrib1f(index, v0);
}
-void GraphicsContext3D::vertexAttrib1fv(GC3Duint index, GC3Dfloat* array)
+void GraphicsContext3D::vertexAttrib1fv(GC3Duint index, const GC3Dfloat* array)
{
makeContextCurrent();
::glVertexAttrib1fv(index, array);
@@ -1484,7 +1484,7 @@
::glVertexAttrib2f(index, v0, v1);
}
-void GraphicsContext3D::vertexAttrib2fv(GC3Duint index, GC3Dfloat* array)
+void GraphicsContext3D::vertexAttrib2fv(GC3Duint index, const GC3Dfloat* array)
{
makeContextCurrent();
::glVertexAttrib2fv(index, array);
@@ -1496,7 +1496,7 @@
::glVertexAttrib3f(index, v0, v1, v2);
}
-void GraphicsContext3D::vertexAttrib3fv(GC3Duint index, GC3Dfloat* array)
+void GraphicsContext3D::vertexAttrib3fv(GC3Duint index, const GC3Dfloat* array)
{
makeContextCurrent();
::glVertexAttrib3fv(index, array);
@@ -1508,7 +1508,7 @@
::glVertexAttrib4f(index, v0, v1, v2, v3);
}
-void GraphicsContext3D::vertexAttrib4fv(GC3Duint index, GC3Dfloat* array)
+void GraphicsContext3D::vertexAttrib4fv(GC3Duint index, const GC3Dfloat* array)
{
makeContextCurrent();
::glVertexAttrib4fv(index, array);