diff -urNp chromium-27.0.1423.0/gpu/command_buffer/client/gles2_c_lib_autogen.h chromium-27.0.1423.0-patched/gpu/command_buffer/client/gles2_c_lib_autogen.h --- chromium-27.0.1423.0/gpu/command_buffer/client/gles2_c_lib_autogen.h 2013-02-26 21:13:32.000000000 +0100 +++ chromium-27.0.1423.0-patched/gpu/command_buffer/client/gles2_c_lib_autogen.h 2013-03-01 09:51:17.618990998 +0100 @@ -355,7 +355,7 @@ void GLES2ShaderBinary( n, shaders, binaryformat, binary, length); } void GLES2ShaderSource( - GLuint shader, GLsizei count, const char** str, const GLint* length) { + GLuint shader, GLsizei count, const GLchar* const* str, const GLint* length) { gles2::GetGLContext()->ShaderSource(shader, count, str, length); } void GLES2StencilFunc(GLenum func, GLint ref, GLuint mask) { diff -urNp chromium-27.0.1423.0/gpu/command_buffer/client/gles2_implementation.cc chromium-27.0.1423.0-patched/gpu/command_buffer/client/gles2_implementation.cc --- chromium-27.0.1423.0/gpu/command_buffer/client/gles2_implementation.cc 2013-02-26 21:13:32.000000000 +0100 +++ chromium-27.0.1423.0-patched/gpu/command_buffer/client/gles2_implementation.cc 2013-03-01 10:13:31.736252009 +0100 @@ -1173,7 +1173,7 @@ void GLES2Implementation::VertexAttribDi } void GLES2Implementation::ShaderSource( - GLuint shader, GLsizei count, const char** source, const GLint* length) { + GLuint shader, GLsizei count, const GLchar* const* source, const GLint* length) { GPU_CLIENT_SINGLE_THREAD_CHECK(); GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glShaderSource(" << shader << ", " << count << ", " diff -urNp chromium-27.0.1423.0/gpu/command_buffer/client/gles2_implementation_autogen.h chromium-27.0.1423.0-patched/gpu/command_buffer/client/gles2_implementation_autogen.h --- chromium-27.0.1423.0/gpu/command_buffer/client/gles2_implementation_autogen.h 2013-02-26 21:13:32.000000000 +0100 +++ chromium-27.0.1423.0-patched/gpu/command_buffer/client/gles2_implementation_autogen.h 2013-03-01 09:51:54.063009066 +0100 @@ -253,7 +253,7 @@ virtual void ShaderBinary( GLsizei length) OVERRIDE; virtual void ShaderSource( - GLuint shader, GLsizei count, const char** str, + GLuint shader, GLsizei count, const GLchar* const* str, const GLint* length) OVERRIDE; virtual void StencilFunc(GLenum func, GLint ref, GLuint mask) OVERRIDE; diff -urNp chromium-27.0.1423.0/gpu/command_buffer/client/gles2_interface_autogen.h chromium-27.0.1423.0-patched/gpu/command_buffer/client/gles2_interface_autogen.h --- chromium-27.0.1423.0/gpu/command_buffer/client/gles2_interface_autogen.h 2013-02-26 21:13:32.000000000 +0100 +++ chromium-27.0.1423.0-patched/gpu/command_buffer/client/gles2_interface_autogen.h 2013-03-01 09:52:30.427026835 +0100 @@ -152,7 +152,7 @@ virtual void ShaderBinary( GLsizei n, const GLuint* shaders, GLenum binaryformat, const void* binary, GLsizei length) = 0; virtual void ShaderSource( - GLuint shader, GLsizei count, const char** str, const GLint* length) = 0; + GLuint shader, GLsizei count, const GLchar* const* str, const GLint* length) = 0; virtual void StencilFunc(GLenum func, GLint ref, GLuint mask) = 0; virtual void StencilFuncSeparate( GLenum face, GLenum func, GLint ref, GLuint mask) = 0; diff -urNp chromium-27.0.1423.0/gpu/command_buffer/client/gles2_interface_stub_autogen.h chromium-27.0.1423.0-patched/gpu/command_buffer/client/gles2_interface_stub_autogen.h --- chromium-27.0.1423.0/gpu/command_buffer/client/gles2_interface_stub_autogen.h 2013-02-26 21:13:32.000000000 +0100 +++ chromium-27.0.1423.0-patched/gpu/command_buffer/client/gles2_interface_stub_autogen.h 2013-03-01 09:52:47.335035412 +0100 @@ -163,7 +163,7 @@ virtual void ShaderBinary( GLsizei n, const GLuint* shaders, GLenum binaryformat, const void* binary, GLsizei length) OVERRIDE; virtual void ShaderSource( - GLuint shader, GLsizei count, const char** str, + GLuint shader, GLsizei count, const GLchar* const* str, const GLint* length) OVERRIDE; virtual void StencilFunc(GLenum func, GLint ref, GLuint mask) OVERRIDE; virtual void StencilFuncSeparate( diff -urNp chromium-27.0.1423.0/gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h chromium-27.0.1423.0-patched/gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h --- chromium-27.0.1423.0/gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h 2013-02-26 21:13:32.000000000 +0100 +++ chromium-27.0.1423.0-patched/gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h 2013-03-01 09:53:14.119048893 +0100 @@ -310,7 +310,7 @@ void GLES2InterfaceStub::ShaderBinary( const void* /* binary */, GLsizei /* length */) { } void GLES2InterfaceStub::ShaderSource( - GLuint /* shader */, GLsizei /* count */, const char** /* str */, + GLuint /* shader */, GLsizei /* count */, const GLchar* const* /* str */, const GLint* /* length */) { } void GLES2InterfaceStub::StencilFunc( diff -urNp chromium-27.0.1423.0/gpu/command_buffer/client/gles2_trace_implementation_autogen.h chromium-27.0.1423.0-patched/gpu/command_buffer/client/gles2_trace_implementation_autogen.h --- chromium-27.0.1423.0/gpu/command_buffer/client/gles2_trace_implementation_autogen.h 2013-02-26 21:13:32.000000000 +0100 +++ chromium-27.0.1423.0-patched/gpu/command_buffer/client/gles2_trace_implementation_autogen.h 2013-03-01 09:53:33.023058324 +0100 @@ -163,7 +163,7 @@ virtual void ShaderBinary( GLsizei n, const GLuint* shaders, GLenum binaryformat, const void* binary, GLsizei length) OVERRIDE; virtual void ShaderSource( - GLuint shader, GLsizei count, const char** str, + GLuint shader, GLsizei count, const GLchar* const* str, const GLint* length) OVERRIDE; virtual void StencilFunc(GLenum func, GLint ref, GLuint mask) OVERRIDE; virtual void StencilFuncSeparate( diff -urNp chromium-27.0.1423.0/gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h chromium-27.0.1423.0-patched/gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h --- chromium-27.0.1423.0/gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h 2013-02-26 21:13:32.000000000 +0100 +++ chromium-27.0.1423.0-patched/gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h 2013-03-01 09:53:52.039067741 +0100 @@ -570,7 +570,7 @@ void GLES2TraceImplementation::ShaderBin } void GLES2TraceImplementation::ShaderSource( - GLuint shader, GLsizei count, const char** str, const GLint* length) { + GLuint shader, GLsizei count, const GLchar* const* str, const GLint* length) { TRACE_EVENT_BINARY_EFFICIENT0("gpu", "GLES2Trace::ShaderSource"); gl_->ShaderSource(shader, count, str, length); } diff -urNp chromium-27.0.1423.0/third_party/khronos/GLES2/gl2.h chromium-27.0.1423.0-patched/third_party/khronos/GLES2/gl2.h --- chromium-27.0.1423.0/third_party/khronos/GLES2/gl2.h 2013-02-26 21:14:05.000000000 +0100 +++ chromium-27.0.1423.0-patched/third_party/khronos/GLES2/gl2.h 2013-03-01 10:40:44.721631940 +0100 @@ -570,7 +570,7 @@ GL_APICALL void GL_APIENTRY glRe GL_APICALL void GL_APIENTRY glSampleCoverage (GLclampf value, GLboolean invert); GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height); GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length); -GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar** string, const GLint* length); +GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length); GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask); GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask); GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask); diff -urNp chromium-27.0.1423.0/third_party/skia/include/gpu/gl/GrGLFunctions.h chromium-27.0.1423.0-patched/third_party/skia/include/gpu/gl/GrGLFunctions.h --- chromium-27.0.1423.0/third_party/skia/include/gpu/gl/GrGLFunctions.h 2013-02-26 21:16:11.000000000 +0100 +++ chromium-27.0.1423.0-patched/third_party/skia/include/gpu/gl/GrGLFunctions.h 2013-03-01 11:14:10.200835091 +0100 @@ -122,11 +122,11 @@ extern "C" { typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLRenderbufferStorageMultisampleCoverageProc)(GrGLenum target, GrGLsizei coverageSamples, GrGLsizei colorSamples, GrGLenum internalformat, GrGLsizei width, GrGLsizei height); typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLResolveMultisampleFramebufferProc)(); typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLScissorProc)(GrGLint x, GrGLint y, GrGLsizei width, GrGLsizei height); -#if GR_USE_NEW_GL_SHADER_SOURCE_SIGNATURE + //#if GR_USE_NEW_GL_SHADER_SOURCE_SIGNATURE typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLShaderSourceProc)(GrGLuint shader, GrGLsizei count, const char* const * str, const GrGLint* length); -#else - typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLShaderSourceProc)(GrGLuint shader, GrGLsizei count, const char** str, const GrGLint* length); -#endif + //#else + //typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLShaderSourceProc)(GrGLuint shader, GrGLsizei count, const char** str, const GrGLint* length); + //#endif typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLStencilFuncProc)(GrGLenum func, GrGLint ref, GrGLuint mask); typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLStencilFuncSeparateProc)(GrGLenum face, GrGLenum func, GrGLint ref, GrGLuint mask); typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLStencilMaskProc)(GrGLuint mask); diff -urNp chromium-27.0.1423.0/ui/gl/generate_bindings.py chromium-27.0.1423.0-patched/ui/gl/generate_bindings.py --- chromium-27.0.1423.0/ui/gl/generate_bindings.py 2013-02-26 21:15:07.000000000 +0100 +++ chromium-27.0.1423.0-patched/ui/gl/generate_bindings.py 2013-03-01 13:42:21.501462253 +0100 @@ -482,7 +482,7 @@ GL_FUNCTIONS = [ { 'return_type': 'void', 'names': ['glShaderSource'], 'arguments': - 'GLuint shader, GLsizei count, const char** str, const GLint* length', + 'GLuint shader, GLsizei count, const GLchar* const* str, const GLint* length', 'logging_code': """ GL_SERVICE_LOG_CODE_BLOCK({ for (GLsizei ii = 0; ii < count; ++ii) { @@ -1421,9 +1421,9 @@ namespace gfx { file.write('static %s GL_BINDING_CALL Debug_%s(%s) {\n' % (return_type, names[0], arguments)) argument_names = re.sub( - r'(const )?[a-zA-Z0-9_]+\** ([a-zA-Z0-9_]+)', r'\2', arguments) + r'(const )?[a-zA-Z0-9_]+\**( const\*)? ([a-zA-Z0-9_]+)', r'\3', arguments) argument_names = re.sub( - r'(const )?[a-zA-Z0-9_]+\** ([a-zA-Z0-9_]+)', r'\2', argument_names) + r'(const )?[a-zA-Z0-9_]+\**( const\*)? ([a-zA-Z0-9_]+)', r'\3', argument_names) log_argument_names = re.sub( r'const char\* ([a-zA-Z0-9_]+)', r'CONSTCHAR_\1', arguments) log_argument_names = re.sub( @@ -1434,10 +1434,10 @@ namespace gfx { log_argument_names = re.sub( r'(?