1 in PLD Linux, windows includes are not packaged
2 http://lists.pld-linux.org/mailman/pipermail/pld-devel-en/2013-February/023459.html
4 also, load in patch from gentoo: files/chromium-mesa-r0.patch
5 --- chromium-browser-26.0.1410.12/ui/gl/generate_bindings.py~ 2013-02-21 12:18:08.000000000 +0200
6 +++ chromium-browser-26.0.1410.12/ui/gl/generate_bindings.py 2013-02-28 11:54:36.763395432 +0200
8 'EGL_ANGLE_surface_d3d_texture_2d_share_handle',
11 - [WGL_FUNCTIONS, 'wgl', ['GL/wglext.h'], []],
12 + #[WGL_FUNCTIONS, 'wgl', ['GL/wglext.h'], []],
13 [GLX_FUNCTIONS, 'glx', ['GL/glx.h', 'GL/glxext.h'], []],
16 Index: gpu/command_buffer/client/gles2_c_lib_autogen.h
17 diff --git a/gpu/command_buffer/client/gles2_c_lib_autogen.h b/gpu/command_buffer/client/gles2_c_lib_autogen.h
18 index 80a4d230ad4b82abbaa82f2c328286b9d89da329..d56df6fdb0d851125148a1aac0bedbc487320682 100644
19 --- a/gpu/command_buffer/client/gles2_c_lib_autogen.h
20 +++ b/gpu/command_buffer/client/gles2_c_lib_autogen.h
21 @@ -355,7 +355,8 @@ void GLES2ShaderBinary(
22 n, shaders, binaryformat, binary, length);
24 void GLES2ShaderSource(
25 - GLuint shader, GLsizei count, const char** str, const GLint* length) {
26 + GLuint shader, GLsizei count, const GLchar* const* str,
27 + const GLint* length) {
28 gles2::GetGLContext()->ShaderSource(shader, count, str, length);
30 void GLES2StencilFunc(GLenum func, GLint ref, GLuint mask) {
31 Index: gpu/command_buffer/client/gles2_implementation.cc
32 diff --git a/gpu/command_buffer/client/gles2_implementation.cc b/gpu/command_buffer/client/gles2_implementation.cc
33 index b6c354819ce5d556ff91f7b5273875c3cec83f7a..600c02f3751a2ab72eed498be7ee0f02e628130d 100644
34 --- a/gpu/command_buffer/client/gles2_implementation.cc
35 +++ b/gpu/command_buffer/client/gles2_implementation.cc
36 @@ -1173,7 +1173,7 @@ void GLES2Implementation::VertexAttribDivisorANGLE(
39 void GLES2Implementation::ShaderSource(
40 - GLuint shader, GLsizei count, const char** source, const GLint* length) {
41 + GLuint shader, GLsizei count, const GLchar* const* source, const GLint* length) {
42 GPU_CLIENT_SINGLE_THREAD_CHECK();
43 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glShaderSource("
44 << shader << ", " << count << ", "
45 Index: gpu/command_buffer/client/gles2_implementation_autogen.h
46 diff --git a/gpu/command_buffer/client/gles2_implementation_autogen.h b/gpu/command_buffer/client/gles2_implementation_autogen.h
47 index febcaf45bb5446393c7785196c9ef4a329438d0f..e4a63822ae6b3b9c950b7f9b05f173ce1ecfdb87 100644
48 --- a/gpu/command_buffer/client/gles2_implementation_autogen.h
49 +++ b/gpu/command_buffer/client/gles2_implementation_autogen.h
50 @@ -253,7 +253,7 @@ virtual void ShaderBinary(
51 GLsizei length) OVERRIDE;
53 virtual void ShaderSource(
54 - GLuint shader, GLsizei count, const char** str,
55 + GLuint shader, GLsizei count, const GLchar* const* str,
56 const GLint* length) OVERRIDE;
58 virtual void StencilFunc(GLenum func, GLint ref, GLuint mask) OVERRIDE;
59 Index: gpu/command_buffer/client/gles2_interface_autogen.h
60 diff --git a/gpu/command_buffer/client/gles2_interface_autogen.h b/gpu/command_buffer/client/gles2_interface_autogen.h
61 index b84dd71bd9139ac487a40847ddb746f839cf3593..8aafc7fd45891be4e2aa61f5825c20d0ccd1dc76 100644
62 --- a/gpu/command_buffer/client/gles2_interface_autogen.h
63 +++ b/gpu/command_buffer/client/gles2_interface_autogen.h
64 @@ -152,7 +152,8 @@ virtual void ShaderBinary(
65 GLsizei n, const GLuint* shaders, GLenum binaryformat, const void* binary,
67 virtual void ShaderSource(
68 - GLuint shader, GLsizei count, const char** str, const GLint* length) = 0;
69 + GLuint shader, GLsizei count, const GLchar* const* str,
70 + const GLint* length) = 0;
71 virtual void StencilFunc(GLenum func, GLint ref, GLuint mask) = 0;
72 virtual void StencilFuncSeparate(
73 GLenum face, GLenum func, GLint ref, GLuint mask) = 0;
74 Index: gpu/command_buffer/client/gles2_interface_stub_autogen.h
75 diff --git a/gpu/command_buffer/client/gles2_interface_stub_autogen.h b/gpu/command_buffer/client/gles2_interface_stub_autogen.h
76 index 3c1c6696b08923142c879aa591b3902339e5874c..80e6c1003ae1be90fcd1a2871ffdde58f7237bff 100644
77 --- a/gpu/command_buffer/client/gles2_interface_stub_autogen.h
78 +++ b/gpu/command_buffer/client/gles2_interface_stub_autogen.h
79 @@ -163,7 +163,7 @@ virtual void ShaderBinary(
80 GLsizei n, const GLuint* shaders, GLenum binaryformat, const void* binary,
81 GLsizei length) OVERRIDE;
82 virtual void ShaderSource(
83 - GLuint shader, GLsizei count, const char** str,
84 + GLuint shader, GLsizei count, const GLchar* const* str,
85 const GLint* length) OVERRIDE;
86 virtual void StencilFunc(GLenum func, GLint ref, GLuint mask) OVERRIDE;
87 virtual void StencilFuncSeparate(
88 Index: gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h
89 diff --git a/gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h b/gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h
90 index dce39c0def3ec52499c712afe1f792809c00db28..f097e8cba8e4d13af9027122a36b93f2ec28ae46 100644
91 --- a/gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h
92 +++ b/gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h
93 @@ -310,7 +310,7 @@ void GLES2InterfaceStub::ShaderBinary(
94 const void* /* binary */, GLsizei /* length */) {
96 void GLES2InterfaceStub::ShaderSource(
97 - GLuint /* shader */, GLsizei /* count */, const char** /* str */,
98 + GLuint /* shader */, GLsizei /* count */, const GLchar* const* /* str */,
99 const GLint* /* length */) {
101 void GLES2InterfaceStub::StencilFunc(
102 Index: gpu/command_buffer/client/gles2_trace_implementation_autogen.h
103 diff --git a/gpu/command_buffer/client/gles2_trace_implementation_autogen.h b/gpu/command_buffer/client/gles2_trace_implementation_autogen.h
104 index 46cbdccccd0e3e4074b1fd919fc6b91d95fe04a5..da02881f9d180bd26f5a2bad2d4e814a9ca085b3 100644
105 --- a/gpu/command_buffer/client/gles2_trace_implementation_autogen.h
106 +++ b/gpu/command_buffer/client/gles2_trace_implementation_autogen.h
107 @@ -163,7 +163,7 @@ virtual void ShaderBinary(
108 GLsizei n, const GLuint* shaders, GLenum binaryformat, const void* binary,
109 GLsizei length) OVERRIDE;
110 virtual void ShaderSource(
111 - GLuint shader, GLsizei count, const char** str,
112 + GLuint shader, GLsizei count, const GLchar* const* str,
113 const GLint* length) OVERRIDE;
114 virtual void StencilFunc(GLenum func, GLint ref, GLuint mask) OVERRIDE;
115 virtual void StencilFuncSeparate(
116 Index: gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h
117 diff --git a/gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h b/gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h
118 index 8aff42a6711c38b76e8767057b41fa31fe89f168..8f87a40da0f26f0dd71772e5fbcf519c8b02ad12 100644
119 --- a/gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h
120 +++ b/gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h
121 @@ -570,7 +570,8 @@ void GLES2TraceImplementation::ShaderBinary(
124 void GLES2TraceImplementation::ShaderSource(
125 - GLuint shader, GLsizei count, const char** str, const GLint* length) {
126 + GLuint shader, GLsizei count, const GLchar* const* str,
127 + const GLint* length) {
128 TRACE_EVENT0("gpu", "GLES2Trace::ShaderSource");
129 gl_->ShaderSource(shader, count, str, length);
131 Index: gpu/command_buffer/cmd_buffer_functions.txt
132 diff --git a/gpu/command_buffer/cmd_buffer_functions.txt b/gpu/command_buffer/cmd_buffer_functions.txt
133 index 2ad875a4aeaf86566c5f0334090f6583468c4781..08d33d963e3450d6fe442b333fb88089b184d86b 100644
134 --- a/gpu/command_buffer/cmd_buffer_functions.txt
135 +++ b/gpu/command_buffer/cmd_buffer_functions.txt
136 @@ -103,7 +103,7 @@ GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenumRenderBufferTar
137 GL_APICALL void GL_APIENTRY glSampleCoverage (GLclampf value, GLboolean invert);
138 GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
139 GL_APICALL void GL_APIENTRY glShaderBinary (GLsizeiNotNegative n, const GLuint* shaders, GLenumShaderBinaryFormat binaryformat, const void* binary, GLsizeiNotNegative length);
140 -GL_APICALL void GL_APIENTRY glShaderSource (GLidShader shader, GLsizeiNotNegative count, const char** str, const GLint* length);
141 +GL_APICALL void GL_APIENTRY glShaderSource (GLidShader shader, GLsizeiNotNegative count, const GLchar* const* str, const GLint* length);
142 GL_APICALL void GL_APIENTRY glStencilFunc (GLenumCmpFunction func, GLint ref, GLuint mask);
143 GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenumFaceType face, GLenumCmpFunction func, GLint ref, GLuint mask);
144 GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask);
145 Index: third_party/khronos/GLES2/gl2.h
146 diff --git a/third_party/khronos/GLES2/gl2.h b/third_party/khronos/GLES2/gl2.h
147 index edebb8b23a56f6a67bb1ecfe5304bb5b372745e6..7aef573b6af7f4e3c76bdfb741374521b2f1eca4 100644
148 --- a/third_party/khronos/GLES2/gl2.h
149 +++ b/third_party/khronos/GLES2/gl2.h
150 @@ -160,7 +160,6 @@ typedef khronos_ssize_t GLsizeiptr;
151 #define GL_INVALID_VALUE 0x0501
152 #define GL_INVALID_OPERATION 0x0502
153 #define GL_OUT_OF_MEMORY 0x0505
154 -#define GL_CONTEXT_LOST 0x300E // TODO(gman): What value?
156 /* FrontFaceDirection */
158 @@ -529,7 +528,7 @@ GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint* textures);
159 GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
160 GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
161 GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders);
162 -GL_APICALL int GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar* name);
163 +GL_APICALL GLint GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar* name);
164 GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean* params);
165 GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint* params);
166 GL_APICALL GLenum GL_APIENTRY glGetError (void);
167 @@ -548,7 +547,7 @@ GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum p
168 GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint* params);
169 GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat* params);
170 GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint* params);
171 -GL_APICALL int GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar* name);
172 +GL_APICALL GLint GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar* name);
173 GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat* params);
174 GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint* params);
175 GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid** pointer);
176 @@ -570,7 +569,7 @@ GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum
177 GL_APICALL void GL_APIENTRY glSampleCoverage (GLclampf value, GLboolean invert);
178 GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
179 GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length);
180 -GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar** string, const GLint* length);
181 +GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length);
182 GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
183 GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
184 GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask);
185 Index: third_party/khronos/README.chromium
186 diff --git a/third_party/khronos/README.chromium b/third_party/khronos/README.chromium
187 index b47cb038c3cc5b51181194a55869842118bf7a56..da2e6c511e33767a458da1a17bd1b78e87779439 100644
188 --- a/third_party/khronos/README.chromium
189 +++ b/third_party/khronos/README.chromium
190 @@ -20,7 +20,6 @@ NOTE: Please add Chromium-specific declarations to files in gpu/{GL,EGL,GLES2}
194 - - Added GL_CONTEXT_LOST constant.
195 - Added include of gl2chromium.h
197 - Added Chromium and Angle extensions.
198 Index: ui/gl/generate_bindings.py
199 diff --git a/ui/gl/generate_bindings.py b/ui/gl/generate_bindings.py
200 index 16f89984bc3d1dc967d6ea3d2c4c1ed799716f8e..8422bbc8baf049f6431cea602a179296698f12b3 100755
201 --- a/ui/gl/generate_bindings.py
202 +++ b/ui/gl/generate_bindings.py
203 @@ -482,7 +482,7 @@ GL_FUNCTIONS = [
204 { 'return_type': 'void',
205 'names': ['glShaderSource'],
207 - 'GLuint shader, GLsizei count, const char** str, const GLint* length',
208 + 'GLuint shader, GLsizei count, const char* const* str, const GLint* length',
210 GL_SERVICE_LOG_CODE_BLOCK({
211 for (GLsizei ii = 0; ii < count; ++ii) {
212 @@ -1584,7 +1584,7 @@ namespace gfx {
214 file.write('%s GL_BINDING_CALL Mock_%s(%s) {\n' %
215 (func['return_type'], func['names'][0], func['arguments']))
216 - argument_names = re.sub(r'(const )?[a-zA-Z0-9]+\** ([a-zA-Z0-9]+)', r'\2',
217 + argument_names = re.sub(r'(const )?[a-zA-Z0-9]+((\s*const\s*)?\*)* ([a-zA-Z0-9]+)', r'\4',
219 if argument_names == 'void':
221 Index: ui/gl/gl_bindings_skia_in_process.cc
222 diff --git a/ui/gl/gl_bindings_skia_in_process.cc b/ui/gl/gl_bindings_skia_in_process.cc
223 index f45626616ed6ff8e8de0c59b25165e6b51f3668d..115eac8d8a57e7abc000935e20c8eb311cd404e8 100644
224 --- a/ui/gl/gl_bindings_skia_in_process.cc
225 +++ b/ui/gl/gl_bindings_skia_in_process.cc
226 @@ -365,7 +365,7 @@ GLvoid StubGLScissor(GLint x, GLint y, GLsizei width, GLsizei height) {
227 glScissor(x, y, width, height);
230 -GLvoid StubGLShaderSource(GLuint shader, GLsizei count, const char** str,
231 +GLvoid StubGLShaderSource(GLuint shader, GLsizei count, const char* const* str,
232 const GLint* length) {
233 glShaderSource(shader, count, str, length);
235 Index: third_party/skia/include/gpu/gl/GrGLConfig_chrome.h
236 ===================================================================
237 --- a/third_party/skia/include/gpu/gl/GrGLConfig_chrome.h (revision 7840)
238 +++ b/third_party/skia/include/gpu/gl/GrGLConfig_chrome.h (working copy)
240 // Non-VBO vertices and indices are not allowed in Chromium.
241 #define GR_GL_MUST_USE_VBO 1
243 +// Use updated Khronos signature for glShaderSource
244 +// (const char* const instead of char**).
245 +#define GR_USE_NEW_GL_SHADER_SOURCE_SIGNATURE 1